Global bucket run

The code sets up and runs the bucket model on a spherical domain, using ERA5 data.

First we import a lot of packages:

import ClimaComms
using ClimaCore
using ClimaUtilities
import Interpolations
import ClimaUtilities.TimeVaryingInputs:
    TimeVaryingInput, LinearInterpolation, PeriodicCalendar
ClimaComms.@import_required_backends
import ClimaTimeSteppers as CTS
import ClimaParams as CP
using ClimaLand.Bucket:
    BucketModel, BucketModelParameters, PrescribedBaregroundAlbedo
import ClimaLand
import ClimaLand.Parameters as LP
import ClimaLand.Simulations: LandSimulation, solve!
using Dates
using CairoMakie, ClimaAnalysis, GeoMakie, Printf, StatsBase
import ClimaLand.LandSimVis as LandSimVis;

Set the simulation float type, determine the context (MPI or on a single node), and device type. Create a default output directory for diagnostics.

const FT = Float64;
context = ClimaComms.context()
ClimaComms.init(context)
device = ClimaComms.device()
device_suffix = device isa ClimaComms.CPUSingleThreaded ? "cpu" : "gpu"
root_path = "bucket_longrun_$(device_suffix)"
diagnostics_outdir = joinpath(root_path, "global_diagnostics")
outdir =
    ClimaUtilities.OutputPathGenerator.generate_output_path(diagnostics_outdir);

Set timestep, startdate, stopdate:

Δt = 900.0
start_date = DateTime(2008)
stop_date = DateTime(2009);

Create the domain - this is intentionally low resolution, about 4.5 degrees x 4.5 degrees, to run quickly when making the documentation on CPU.

nelements = (20, 7)
depth = FT(3.5)
dz_tuple = FT.((1.0, 0.05))
domain =
    ClimaLand.Domains.global_domain(FT; context, nelements, depth, dz_tuple);

Parameters:

earth_param_set = LP.LandParameters(FT)
α_snow = FT(0.8)
albedo = PrescribedBaregroundAlbedo{FT}(α_snow, domain.space.surface)
bucket_parameters = BucketModelParameters(
    FT;
    albedo,
    σS_c = FT(0.2),
    W_f = FT(0.2),
    z_0m = FT(1e-3),
    z_0b = FT(1e-3),
    κ_soil = FT(1.5),
    ρc_soil = FT(2e6),
    τc = FT(float(Δt)),
);

Low-resolution forcing data from ERA5 is used here, but high-resolution should be used for production runs.

era5_ncdata_path = ClimaLand.Artifacts.era5_land_forcing_data2008_path(;
    context,
    lowres = true,
)
atmos, radiation = ClimaLand.prescribed_forcing_era5(
    era5_ncdata_path,
    domain.space.surface,
    start_date,
    earth_param_set,
    FT;
    max_wind_speed = 25.0,
    time_interpolation_method = LinearInterpolation(PeriodicCalendar()),
    regridder_type = :InterpolationsRegridder,
);

Make the model:

bucket = BucketModel(
    parameters = bucket_parameters,
    domain = domain,
    atmosphere = atmos,
    radiation = radiation,
);

Create a function which sets the initial conditions. This should have the argument structure (Y,p,t, model) in order to be used by the LandSimulation struct, below:

function set_ic!(Y, p, t, bucket)
    coords = ClimaCore.Fields.coordinate_field(Y.bucket.T)
    T_sfc_0 = 271.0
    @. Y.bucket.T = T_sfc_0 + 40 * cosd(coords.lat)^4
    Y.bucket.W .= 0.15
    Y.bucket.Ws .= 0.0
    Y.bucket.σS .= 0.0
end
set_ic! (generic function with 1 method)

Define timestepper and ODE algorithm

timestepper = CTS.RK4()
timestepper = CTS.ExplicitAlgorithm(timestepper);

Create the simulation and solve it:

simulation = LandSimulation(
    start_date,
    stop_date,
    Δt,
    bucket;
    set_ic!,
    timestepper,
    outdir,
);

solve!(simulation);
┌ Info: Progress
│   simulation_time = "1 week, 3 days"
│   n_steps_completed = 1000
│   wall_time_per_step = "0 seconds"
│   wall_time_total = "0 seconds"
│   wall_time_remaining = "0 seconds"
│   wall_time_spent = "0 seconds"
│   percent_complete = "2.8%"
│   estimated_sypd = "Inf"
│   date_now = 2025-09-13T03:07:40.779
└   estimated_finish_date = 2025-09-13T03:07:40.779
┌ Info: Progress
│   simulation_time = "2 weeks, 6 days"
│   n_steps_completed = 2000
│   wall_time_per_step = "0 seconds"
│   wall_time_total = "0 seconds"
│   wall_time_remaining = "0 seconds"
│   wall_time_spent = "0 seconds"
│   percent_complete = "5.7%"
│   estimated_sypd = "Inf"
│   date_now = 2025-09-13T03:07:52.496
└   estimated_finish_date = 2025-09-13T03:07:52.496
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "4 weeks, 3 days"
│   n_steps_completed = 3000
│   wall_time_per_step = "22 milliseconds, 971 microseconds"
│   wall_time_total = "13 minutes, 27 seconds"
│   wall_time_remaining = "12 minutes, 18 seconds"
│   wall_time_spent = "1 minute, 8 seconds"
│   percent_complete = "8.5%"
│   estimated_sypd = "107.265"
│   date_now = 2025-09-13T03:08:27.217
└   estimated_finish_date = 2025-09-13T03:20:46.217
┌ Info: Progress
│   simulation_time = "5 weeks, 6 days"
│   n_steps_completed = 4000
│   wall_time_per_step = "20 milliseconds, 323 microseconds"
│   wall_time_total = "11 minutes, 54 seconds"
│   wall_time_remaining = "10 minutes, 32 seconds"
│   wall_time_spent = "1 minute, 21 seconds"
│   percent_complete = "11.4%"
│   estimated_sypd = "121.242"
│   date_now = 2025-09-13T03:08:39.333
└   estimated_finish_date = 2025-09-13T03:19:12.333
┌ Info: Progress
│   simulation_time = "7 weeks, 3 days"
│   n_steps_completed = 5000
│   wall_time_per_step = "18 milliseconds, 709 microseconds"
│   wall_time_total = "10 minutes, 57 seconds"
│   wall_time_remaining = "9 minutes, 23 seconds"
│   wall_time_spent = "1 minute, 33 seconds"
│   percent_complete = "14.2%"
│   estimated_sypd = "131.699"
│   date_now = 2025-09-13T03:08:51.588
└   estimated_finish_date = 2025-09-13T03:18:15.588
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "8 weeks, 6 days"
│   n_steps_completed = 6000
│   wall_time_per_step = "17 milliseconds, 784 microseconds"
│   wall_time_total = "10 minutes, 24 seconds"
│   wall_time_remaining = "8 minutes, 38 seconds"
│   wall_time_spent = "1 minute, 46 seconds"
│   percent_complete = "17.1%"
│   estimated_sypd = "138.551"
│   date_now = 2025-09-13T03:09:04.746
└   estimated_finish_date = 2025-09-13T03:17:43.746
┌ Info: Progress
│   simulation_time = "10 weeks, 2 days"
│   n_steps_completed = 7000
│   wall_time_per_step = "17 milliseconds, 102 microseconds"
│   wall_time_total = "10 minutes, 906 milliseconds"
│   wall_time_remaining = "8 minutes, 1 second"
│   wall_time_spent = "1 minute, 59 seconds"
│   percent_complete = "19.9%"
│   estimated_sypd = "144.078"
│   date_now = 2025-09-13T03:09:17.755
└   estimated_finish_date = 2025-09-13T03:17:19.755
┌ Info: Progress
│   simulation_time = "11 weeks, 6 days"
│   n_steps_completed = 8000
│   wall_time_per_step = "16 milliseconds, 612 microseconds"
│   wall_time_total = "9 minutes, 43 seconds"
│   wall_time_remaining = "7 minutes, 30 seconds"
│   wall_time_spent = "2 minutes, 12 seconds"
│   percent_complete = "22.8%"
│   estimated_sypd = "148.33"
│   date_now = 2025-09-13T03:09:30.935
└   estimated_finish_date = 2025-09-13T03:17:01.935
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "13 weeks, 2 days"
│   n_steps_completed = 9000
│   wall_time_per_step = "16 milliseconds, 168 microseconds"
│   wall_time_total = "9 minutes, 28 seconds"
│   wall_time_remaining = "7 minutes, 2 seconds"
│   wall_time_spent = "2 minutes, 25 seconds"
│   percent_complete = "25.6%"
│   estimated_sypd = "152.401"
│   date_now = 2025-09-13T03:09:43.554
└   estimated_finish_date = 2025-09-13T03:16:46.554
┌ Info: Progress
│   simulation_time = "14 weeks, 6 days"
│   n_steps_completed = 10000
│   wall_time_per_step = "15 milliseconds, 821 microseconds"
│   wall_time_total = "9 minutes, 15 seconds"
│   wall_time_remaining = "6 minutes, 37 seconds"
│   wall_time_spent = "2 minutes, 38 seconds"
│   percent_complete = "28.5%"
│   estimated_sypd = "155.737"
│   date_now = 2025-09-13T03:09:56.259
└   estimated_finish_date = 2025-09-13T03:16:34.259
┌ Info: Progress
│   simulation_time = "16 weeks, 2 days"
│   n_steps_completed = 11000
│   wall_time_per_step = "15 milliseconds, 593 microseconds"
│   wall_time_total = "9 minutes, 7 seconds"
│   wall_time_remaining = "6 minutes, 16 seconds"
│   wall_time_spent = "2 minutes, 51 seconds"
│   percent_complete = "31.3%"
│   estimated_sypd = "158.015"
│   date_now = 2025-09-13T03:10:09.572
└   estimated_finish_date = 2025-09-13T03:16:26.572
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "17 weeks, 6 days"
│   n_steps_completed = 12000
│   wall_time_per_step = "15 milliseconds, 429 microseconds"
│   wall_time_total = "9 minutes, 2 seconds"
│   wall_time_remaining = "5 minutes, 56 seconds"
│   wall_time_spent = "3 minutes, 5 seconds"
│   percent_complete = "34.2%"
│   estimated_sypd = "159.698"
│   date_now = 2025-09-13T03:10:23.194
└   estimated_finish_date = 2025-09-13T03:16:20.194
┌ Info: Progress
│   simulation_time = "19 weeks, 2 days"
│   n_steps_completed = 13000
│   wall_time_per_step = "15 milliseconds, 303 microseconds"
│   wall_time_total = "8 minutes, 57 seconds"
│   wall_time_remaining = "5 minutes, 38 seconds"
│   wall_time_spent = "3 minutes, 18 seconds"
│   percent_complete = "37.0%"
│   estimated_sypd = "161.01"
│   date_now = 2025-09-13T03:10:36.988
└   estimated_finish_date = 2025-09-13T03:16:15.988
┌ Info: Progress
│   simulation_time = "20 weeks, 5 days"
│   n_steps_completed = 14000
│   wall_time_per_step = "15 milliseconds, 214 microseconds"
│   wall_time_total = "8 minutes, 54 seconds"
│   wall_time_remaining = "5 minutes, 21 seconds"
│   wall_time_spent = "3 minutes, 33 seconds"
│   percent_complete = "39.8%"
│   estimated_sypd = "161.955"
│   date_now = 2025-09-13T03:10:51.042
└   estimated_finish_date = 2025-09-13T03:16:13.042
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "22 weeks, 2 days"
│   n_steps_completed = 15000
│   wall_time_per_step = "15 milliseconds, 128 microseconds"
│   wall_time_total = "8 minutes, 51 seconds"
│   wall_time_remaining = "5 minutes, 4 seconds"
│   wall_time_spent = "3 minutes, 46 seconds"
│   percent_complete = "42.7%"
│   estimated_sypd = "162.875"
│   date_now = 2025-09-13T03:11:04.968
└   estimated_finish_date = 2025-09-13T03:16:09.968
┌ Info: Progress
│   simulation_time = "23 weeks, 5 days"
│   n_steps_completed = 16000
│   wall_time_per_step = "15 milliseconds, 48 microseconds"
│   wall_time_total = "8 minutes, 48 seconds"
│   wall_time_remaining = "4 minutes, 47 seconds"
│   wall_time_spent = "4 minutes, 769 milliseconds"
│   percent_complete = "45.5%"
│   estimated_sypd = "163.746"
│   date_now = 2025-09-13T03:11:18.809
└   estimated_finish_date = 2025-09-13T03:16:06.809
┌ Info: Progress
│   simulation_time = "25 weeks, 2 days"
│   n_steps_completed = 17000
│   wall_time_per_step = "14 milliseconds, 970 microseconds"
│   wall_time_total = "8 minutes, 46 seconds"
│   wall_time_remaining = "4 minutes, 31 seconds"
│   wall_time_spent = "4 minutes, 14 seconds"
│   percent_complete = "48.4%"
│   estimated_sypd = "164.594"
│   date_now = 2025-09-13T03:11:32.538
└   estimated_finish_date = 2025-09-13T03:16:04.538
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "26 weeks, 5 days"
│   n_steps_completed = 18000
│   wall_time_per_step = "14 milliseconds, 905 microseconds"
│   wall_time_total = "8 minutes, 43 seconds"
│   wall_time_remaining = "4 minutes, 15 seconds"
│   wall_time_spent = "4 minutes, 28 seconds"
│   percent_complete = "51.2%"
│   estimated_sypd = "165.311"
│   date_now = 2025-09-13T03:11:46.341
└   estimated_finish_date = 2025-09-13T03:16:02.340
┌ Info: Progress
│   simulation_time = "28 weeks, 1 day"
│   n_steps_completed = 19000
│   wall_time_per_step = "14 milliseconds, 844 microseconds"
│   wall_time_total = "8 minutes, 41 seconds"
│   wall_time_remaining = "3 minutes, 59 seconds"
│   wall_time_spent = "4 minutes, 42 seconds"
│   percent_complete = "54.1%"
│   estimated_sypd = "165.997"
│   date_now = 2025-09-13T03:12:00.075
└   estimated_finish_date = 2025-09-13T03:16:00.075
┌ Info: Progress
│   simulation_time = "29 weeks, 5 days"
│   n_steps_completed = 20000
│   wall_time_per_step = "14 milliseconds, 777 microseconds"
│   wall_time_total = "8 minutes, 39 seconds"
│   wall_time_remaining = "3 minutes, 43 seconds"
│   wall_time_spent = "4 minutes, 55 seconds"
│   percent_complete = "56.9%"
│   estimated_sypd = "166.746"
│   date_now = 2025-09-13T03:12:13.586
└   estimated_finish_date = 2025-09-13T03:15:57.586
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "31 weeks, 1 day"
│   n_steps_completed = 21000
│   wall_time_per_step = "14 milliseconds, 725 microseconds"
│   wall_time_total = "8 minutes, 37 seconds"
│   wall_time_remaining = "3 minutes, 28 seconds"
│   wall_time_spent = "5 minutes, 9 seconds"
│   percent_complete = "59.8%"
│   estimated_sypd = "167.328"
│   date_now = 2025-09-13T03:12:27.284
└   estimated_finish_date = 2025-09-13T03:15:56.284
┌ Info: Progress
│   simulation_time = "32 weeks, 5 days"
│   n_steps_completed = 22000
│   wall_time_per_step = "14 milliseconds, 683 microseconds"
│   wall_time_total = "8 minutes, 35 seconds"
│   wall_time_remaining = "3 minutes, 12 seconds"
│   wall_time_spent = "5 minutes, 23 seconds"
│   percent_complete = "62.6%"
│   estimated_sypd = "167.811"
│   date_now = 2025-09-13T03:12:41.078
└   estimated_finish_date = 2025-09-13T03:15:54.078
┌ Info: Progress
│   simulation_time = "34 weeks, 1 day"
│   n_steps_completed = 23000
│   wall_time_per_step = "14 milliseconds, 631 microseconds"
│   wall_time_total = "8 minutes, 34 seconds"
│   wall_time_remaining = "2 minutes, 57 seconds"
│   wall_time_spent = "5 minutes, 36 seconds"
│   percent_complete = "65.5%"
│   estimated_sypd = "168.413"
│   date_now = 2025-09-13T03:12:54.554
└   estimated_finish_date = 2025-09-13T03:15:52.554
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "35 weeks, 5 days"
│   n_steps_completed = 24000
│   wall_time_per_step = "14 milliseconds, 590 microseconds"
│   wall_time_total = "8 minutes, 32 seconds"
│   wall_time_remaining = "2 minutes, 42 seconds"
│   wall_time_spent = "5 minutes, 50 seconds"
│   percent_complete = "68.3%"
│   estimated_sypd = "168.881"
│   date_now = 2025-09-13T03:13:08.212
└   estimated_finish_date = 2025-09-13T03:15:51.212
┌ Info: Progress
│   simulation_time = "37 weeks, 1 day"
│   n_steps_completed = 25000
│   wall_time_per_step = "14 milliseconds, 542 microseconds"
│   wall_time_total = "8 minutes, 30 seconds"
│   wall_time_remaining = "2 minutes, 27 seconds"
│   wall_time_spent = "6 minutes, 3 seconds"
│   percent_complete = "71.2%"
│   estimated_sypd = "169.434"
│   date_now = 2025-09-13T03:13:21.612
└   estimated_finish_date = 2025-09-13T03:15:49.612
┌ Info: Progress
│   simulation_time = "38 weeks, 4 days"
│   n_steps_completed = 26000
│   wall_time_per_step = "14 milliseconds, 500 microseconds"
│   wall_time_total = "8 minutes, 29 seconds"
│   wall_time_remaining = "2 minutes, 12 seconds"
│   wall_time_spent = "6 minutes, 17 seconds"
│   percent_complete = "74.0%"
│   estimated_sypd = "169.935"
│   date_now = 2025-09-13T03:13:35.040
└   estimated_finish_date = 2025-09-13T03:15:48.040
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "40 weeks, 1 day"
│   n_steps_completed = 27000
│   wall_time_per_step = "14 milliseconds, 432 microseconds"
│   wall_time_total = "8 minutes, 27 seconds"
│   wall_time_remaining = "1 minute, 57 seconds"
│   wall_time_spent = "6 minutes, 29 seconds"
│   percent_complete = "76.8%"
│   estimated_sypd = "170.732"
│   date_now = 2025-09-13T03:13:47.713
└   estimated_finish_date = 2025-09-13T03:15:45.713
┌ Info: Progress
│   simulation_time = "41 weeks, 4 days"
│   n_steps_completed = 28000
│   wall_time_per_step = "14 milliseconds, 368 microseconds"
│   wall_time_total = "8 minutes, 24 seconds"
│   wall_time_remaining = "1 minute, 42 seconds"
│   wall_time_spent = "6 minutes, 42 seconds"
│   percent_complete = "79.7%"
│   estimated_sypd = "171.495"
│   date_now = 2025-09-13T03:14:00.347
└   estimated_finish_date = 2025-09-13T03:15:43.347
┌ Info: Progress
│   simulation_time = "43 weeks, 1 day"
│   n_steps_completed = 29000
│   wall_time_per_step = "14 milliseconds, 290 microseconds"
│   wall_time_total = "8 minutes, 22 seconds"
│   wall_time_remaining = "1 minute, 27 seconds"
│   wall_time_spent = "6 minutes, 54 seconds"
│   percent_complete = "82.5%"
│   estimated_sypd = "172.423"
│   date_now = 2025-09-13T03:14:12.474
└   estimated_finish_date = 2025-09-13T03:15:40.474
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "44 weeks, 4 days"
│   n_steps_completed = 30000
│   wall_time_per_step = "14 milliseconds, 232 microseconds"
│   wall_time_total = "8 minutes, 20 seconds"
│   wall_time_remaining = "1 minute, 13 seconds"
│   wall_time_spent = "7 minutes, 6 seconds"
│   percent_complete = "85.4%"
│   estimated_sypd = "173.133"
│   date_now = 2025-09-13T03:14:25.005
└   estimated_finish_date = 2025-09-13T03:15:39.005
┌ Info: Progress
│   simulation_time = "46 weeks, 22 hours"
│   n_steps_completed = 31000
│   wall_time_per_step = "14 milliseconds, 170 microseconds"
│   wall_time_total = "8 minutes, 17 seconds"
│   wall_time_remaining = "58 seconds, 607 milliseconds"
│   wall_time_spent = "7 minutes, 19 seconds"
│   percent_complete = "88.2%"
│   estimated_sypd = "173.892"
│   date_now = 2025-09-13T03:14:37.313
└   estimated_finish_date = 2025-09-13T03:15:36.313
┌ Info: Progress
│   simulation_time = "47 weeks, 4 days"
│   n_steps_completed = 32000
│   wall_time_per_step = "14 milliseconds, 102 microseconds"
│   wall_time_total = "8 minutes, 15 seconds"
│   wall_time_remaining = "44 seconds, 225 milliseconds"
│   wall_time_spent = "7 minutes, 31 seconds"
│   percent_complete = "91.1%"
│   estimated_sypd = "174.724"
│   date_now = 2025-09-13T03:14:49.322
└   estimated_finish_date = 2025-09-13T03:15:34.322
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS
┌ Info: Progress
│   simulation_time = "49 weeks, 18 hours"
│   n_steps_completed = 33000
│   wall_time_per_step = "14 milliseconds, 45 microseconds"
│   wall_time_total = "8 minutes, 13 seconds"
│   wall_time_remaining = "30 seconds, 270 microseconds"
│   wall_time_spent = "7 minutes, 43 seconds"
│   percent_complete = "93.9%"
│   estimated_sypd = "175.44"
│   date_now = 2025-09-13T03:15:01.527
└   estimated_finish_date = 2025-09-13T03:15:32.527
┌ Info: Progress
│   simulation_time = "50 weeks, 4 days"
│   n_steps_completed = 34000
│   wall_time_per_step = "13 milliseconds, 989 microseconds"
│   wall_time_total = "8 minutes, 11 seconds"
│   wall_time_remaining = "15 seconds, 891 milliseconds"
│   wall_time_spent = "7 minutes, 55 seconds"
│   percent_complete = "96.8%"
│   estimated_sypd = "176.143"
│   date_now = 2025-09-13T03:15:13.666
└   estimated_finish_date = 2025-09-13T03:15:29.666
┌ Info: Progress
│   simulation_time = "52 weeks, 14 hours"
│   n_steps_completed = 35000
│   wall_time_per_step = "13 milliseconds, 936 microseconds"
│   wall_time_total = "8 minutes, 9 seconds"
│   wall_time_remaining = "1 second, 895 milliseconds"
│   wall_time_spent = "8 minutes, 7 seconds"
│   percent_complete = "99.6%"
│   estimated_sypd = "176.808"
│   date_now = 2025-09-13T03:15:25.813
└   estimated_finish_date = 2025-09-13T03:15:27.813
[ Info: Checking NaNs in bucket
[ Info: Checking NaNs in W
[ Info: Checking NaNs in T
[ Info: Checking NaNs in Ws
[ Info: Checking NaNs in σS

Make some plots:

short_names = ["lhf", "shf", "wsoil"]

LandSimVis.make_annual_timeseries(
    simulation;
    savedir = ".",
    short_names,
    plot_stem_name = "bucket_annual_timeseries",
)

LandSimVis.make_heatmaps(
    simulation;
    savedir = ".",
    short_names,
    date = stop_date,
    plot_stem_name = "bucket_heatmap",
)


This page was generated using Literate.jl.