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-03T19:04:06.642
└   estimated_finish_date = 2025-09-03T19:04:06.642
┌ 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-03T19:04:18.634
└   estimated_finish_date = 2025-09-03T19:04:18.634
[ 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 = "25 milliseconds, 354 microseconds"
│   wall_time_total = "14 minutes, 50 seconds"
│   wall_time_remaining = "13 minutes, 34 seconds"
│   wall_time_spent = "1 minute, 16 seconds"
│   percent_complete = "8.5%"
│   estimated_sypd = "97.184"
│   date_now = 2025-09-03T19:04:56.938
└   estimated_finish_date = 2025-09-03T19:18:31.938
┌ Info: Progress
│   simulation_time = "5 weeks, 6 days"
│   n_steps_completed = 4000
│   wall_time_per_step = "22 milliseconds, 255 microseconds"
│   wall_time_total = "13 minutes, 1 second"
│   wall_time_remaining = "11 minutes, 32 seconds"
│   wall_time_spent = "1 minute, 29 seconds"
│   percent_complete = "11.4%"
│   estimated_sypd = "110.719"
│   date_now = 2025-09-03T19:05:09.623
└   estimated_finish_date = 2025-09-03T19:16:42.623
┌ Info: Progress
│   simulation_time = "7 weeks, 3 days"
│   n_steps_completed = 5000
│   wall_time_per_step = "20 milliseconds, 341 microseconds"
│   wall_time_total = "11 minutes, 54 seconds"
│   wall_time_remaining = "10 minutes, 13 seconds"
│   wall_time_spent = "1 minute, 41 seconds"
│   percent_complete = "14.2%"
│   estimated_sypd = "121.137"
│   date_now = 2025-09-03T19:05:22.308
└   estimated_finish_date = 2025-09-03T19:15:36.308
[ 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 = "19 milliseconds, 148 microseconds"
│   wall_time_total = "11 minutes, 12 seconds"
│   wall_time_remaining = "9 minutes, 17 seconds"
│   wall_time_spent = "1 minute, 54 seconds"
│   percent_complete = "17.1%"
│   estimated_sypd = "128.681"
│   date_now = 2025-09-03T19:05:35.494
└   estimated_finish_date = 2025-09-03T19:14:53.494
┌ Info: Progress
│   simulation_time = "10 weeks, 2 days"
│   n_steps_completed = 7000
│   wall_time_per_step = "18 milliseconds, 205 microseconds"
│   wall_time_total = "10 minutes, 39 seconds"
│   wall_time_remaining = "8 minutes, 32 seconds"
│   wall_time_spent = "2 minutes, 7 seconds"
│   percent_complete = "19.9%"
│   estimated_sypd = "135.349"
│   date_now = 2025-09-03T19:05:48.039
└   estimated_finish_date = 2025-09-03T19:14:21.039
┌ Info: Progress
│   simulation_time = "11 weeks, 6 days"
│   n_steps_completed = 8000
│   wall_time_per_step = "17 milliseconds, 537 microseconds"
│   wall_time_total = "10 minutes, 16 seconds"
│   wall_time_remaining = "7 minutes, 55 seconds"
│   wall_time_spent = "2 minutes, 20 seconds"
│   percent_complete = "22.8%"
│   estimated_sypd = "140.502"
│   date_now = 2025-09-03T19:06:00.903
└   estimated_finish_date = 2025-09-03T19:13:56.903
[ 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 = "17 milliseconds, 16 microseconds"
│   wall_time_total = "9 minutes, 57 seconds"
│   wall_time_remaining = "7 minutes, 24 seconds"
│   wall_time_spent = "2 minutes, 33 seconds"
│   percent_complete = "25.6%"
│   estimated_sypd = "144.803"
│   date_now = 2025-09-03T19:06:13.753
└   estimated_finish_date = 2025-09-03T19:13:38.753
┌ Info: Progress
│   simulation_time = "14 weeks, 6 days"
│   n_steps_completed = 10000
│   wall_time_per_step = "16 milliseconds, 623 microseconds"
│   wall_time_total = "9 minutes, 44 seconds"
│   wall_time_remaining = "6 minutes, 57 seconds"
│   wall_time_spent = "2 minutes, 46 seconds"
│   percent_complete = "28.5%"
│   estimated_sypd = "148.23"
│   date_now = 2025-09-03T19:06:26.835
└   estimated_finish_date = 2025-09-03T19:13:24.835
┌ Info: Progress
│   simulation_time = "16 weeks, 2 days"
│   n_steps_completed = 11000
│   wall_time_per_step = "16 milliseconds, 311 microseconds"
│   wall_time_total = "9 minutes, 33 seconds"
│   wall_time_remaining = "6 minutes, 33 seconds"
│   wall_time_spent = "2 minutes, 59 seconds"
│   percent_complete = "31.3%"
│   estimated_sypd = "151.064"
│   date_now = 2025-09-03T19:06:40.028
└   estimated_finish_date = 2025-09-03T19:13:14.028
[ 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 = "16 milliseconds, 55 microseconds"
│   wall_time_total = "9 minutes, 24 seconds"
│   wall_time_remaining = "6 minutes, 11 seconds"
│   wall_time_spent = "3 minutes, 12 seconds"
│   percent_complete = "34.2%"
│   estimated_sypd = "153.468"
│   date_now = 2025-09-03T19:06:53.273
└   estimated_finish_date = 2025-09-03T19:13:05.273
┌ Info: Progress
│   simulation_time = "19 weeks, 2 days"
│   n_steps_completed = 13000
│   wall_time_per_step = "15 milliseconds, 847 microseconds"
│   wall_time_total = "9 minutes, 16 seconds"
│   wall_time_remaining = "5 minutes, 50 seconds"
│   wall_time_spent = "3 minutes, 26 seconds"
│   percent_complete = "37.0%"
│   estimated_sypd = "155.488"
│   date_now = 2025-09-03T19:07:06.618
└   estimated_finish_date = 2025-09-03T19:12:57.618
┌ Info: Progress
│   simulation_time = "20 weeks, 5 days"
│   n_steps_completed = 14000
│   wall_time_per_step = "15 milliseconds, 675 microseconds"
│   wall_time_total = "9 minutes, 10 seconds"
│   wall_time_remaining = "5 minutes, 31 seconds"
│   wall_time_spent = "3 minutes, 39 seconds"
│   percent_complete = "39.8%"
│   estimated_sypd = "157.19"
│   date_now = 2025-09-03T19:07:20.063
└   estimated_finish_date = 2025-09-03T19:12:52.062
[ 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, 528 microseconds"
│   wall_time_total = "9 minutes, 5 seconds"
│   wall_time_remaining = "5 minutes, 12 seconds"
│   wall_time_spent = "3 minutes, 52 seconds"
│   percent_complete = "42.7%"
│   estimated_sypd = "158.681"
│   date_now = 2025-09-03T19:07:33.528
└   estimated_finish_date = 2025-09-03T19:12:46.528
┌ Info: Progress
│   simulation_time = "23 weeks, 5 days"
│   n_steps_completed = 16000
│   wall_time_per_step = "15 milliseconds, 399 microseconds"
│   wall_time_total = "9 minutes, 1 second"
│   wall_time_remaining = "4 minutes, 54 seconds"
│   wall_time_spent = "4 minutes, 6 seconds"
│   percent_complete = "45.5%"
│   estimated_sypd = "160.011"
│   date_now = 2025-09-03T19:07:46.992
└   estimated_finish_date = 2025-09-03T19:12:41.992
┌ Info: Progress
│   simulation_time = "25 weeks, 2 days"
│   n_steps_completed = 17000
│   wall_time_per_step = "15 milliseconds, 294 microseconds"
│   wall_time_total = "8 minutes, 57 seconds"
│   wall_time_remaining = "4 minutes, 37 seconds"
│   wall_time_spent = "4 minutes, 20 seconds"
│   percent_complete = "48.4%"
│   estimated_sypd = "161.104"
│   date_now = 2025-09-03T19:08:00.614
└   estimated_finish_date = 2025-09-03T19:12:38.614
[ 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 = "15 milliseconds, 216 microseconds"
│   wall_time_total = "8 minutes, 54 seconds"
│   wall_time_remaining = "4 minutes, 20 seconds"
│   wall_time_spent = "4 minutes, 33 seconds"
│   percent_complete = "51.2%"
│   estimated_sypd = "161.929"
│   date_now = 2025-09-03T19:08:14.507
└   estimated_finish_date = 2025-09-03T19:12:35.507
┌ Info: Progress
│   simulation_time = "28 weeks, 1 day"
│   n_steps_completed = 19000
│   wall_time_per_step = "15 milliseconds, 143 microseconds"
│   wall_time_total = "8 minutes, 52 seconds"
│   wall_time_remaining = "4 minutes, 4 seconds"
│   wall_time_spent = "4 minutes, 47 seconds"
│   percent_complete = "54.1%"
│   estimated_sypd = "162.718"
│   date_now = 2025-09-03T19:08:28.323
└   estimated_finish_date = 2025-09-03T19:12:33.323
┌ Info: Progress
│   simulation_time = "29 weeks, 5 days"
│   n_steps_completed = 20000
│   wall_time_per_step = "15 milliseconds, 51 microseconds"
│   wall_time_total = "8 minutes, 48 seconds"
│   wall_time_remaining = "3 minutes, 47 seconds"
│   wall_time_spent = "5 minutes, 1 second"
│   percent_complete = "56.9%"
│   estimated_sypd = "163.711"
│   date_now = 2025-09-03T19:08:41.628
└   estimated_finish_date = 2025-09-03T19:12:29.628
[ 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, 976 microseconds"
│   wall_time_total = "8 minutes, 46 seconds"
│   wall_time_remaining = "3 minutes, 31 seconds"
│   wall_time_spent = "5 minutes, 14 seconds"
│   percent_complete = "59.8%"
│   estimated_sypd = "164.531"
│   date_now = 2025-09-03T19:08:55.105
└   estimated_finish_date = 2025-09-03T19:12:27.105
┌ Info: Progress
│   simulation_time = "32 weeks, 5 days"
│   n_steps_completed = 22000
│   wall_time_per_step = "14 milliseconds, 916 microseconds"
│   wall_time_total = "8 minutes, 44 seconds"
│   wall_time_remaining = "3 minutes, 15 seconds"
│   wall_time_spent = "5 minutes, 28 seconds"
│   percent_complete = "62.6%"
│   estimated_sypd = "165.191"
│   date_now = 2025-09-03T19:09:08.764
└   estimated_finish_date = 2025-09-03T19:12:24.764
┌ Info: Progress
│   simulation_time = "34 weeks, 1 day"
│   n_steps_completed = 23000
│   wall_time_per_step = "14 milliseconds, 854 microseconds"
│   wall_time_total = "8 minutes, 41 seconds"
│   wall_time_remaining = "3 minutes, 278 milliseconds"
│   wall_time_spent = "5 minutes, 41 seconds"
│   percent_complete = "65.5%"
│   estimated_sypd = "165.876"
│   date_now = 2025-09-03T19:09:22.264
└   estimated_finish_date = 2025-09-03T19:12:23.264
[ 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, 791 microseconds"
│   wall_time_total = "8 minutes, 39 seconds"
│   wall_time_remaining = "2 minutes, 44 seconds"
│   wall_time_spent = "5 minutes, 54 seconds"
│   percent_complete = "68.3%"
│   estimated_sypd = "166.588"
│   date_now = 2025-09-03T19:09:35.594
└   estimated_finish_date = 2025-09-03T19:12:20.594
┌ Info: Progress
│   simulation_time = "37 weeks, 1 day"
│   n_steps_completed = 25000
│   wall_time_per_step = "14 milliseconds, 722 microseconds"
│   wall_time_total = "8 minutes, 37 seconds"
│   wall_time_remaining = "2 minutes, 29 seconds"
│   wall_time_spent = "6 minutes, 8 seconds"
│   percent_complete = "71.2%"
│   estimated_sypd = "167.371"
│   date_now = 2025-09-03T19:09:48.656
└   estimated_finish_date = 2025-09-03T19:12:18.656
┌ Info: Progress
│   simulation_time = "38 weeks, 4 days"
│   n_steps_completed = 26000
│   wall_time_per_step = "14 milliseconds, 662 microseconds"
│   wall_time_total = "8 minutes, 35 seconds"
│   wall_time_remaining = "2 minutes, 13 seconds"
│   wall_time_spent = "6 minutes, 21 seconds"
│   percent_complete = "74.0%"
│   estimated_sypd = "168.053"
│   date_now = 2025-09-03T19:10:01.827
└   estimated_finish_date = 2025-09-03T19:12:15.827
[ 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, 577 microseconds"
│   wall_time_total = "8 minutes, 32 seconds"
│   wall_time_remaining = "1 minute, 58 seconds"
│   wall_time_spent = "6 minutes, 33 seconds"
│   percent_complete = "76.8%"
│   estimated_sypd = "169.03"
│   date_now = 2025-09-03T19:10:14.201
└   estimated_finish_date = 2025-09-03T19:12:13.201
┌ Info: Progress
│   simulation_time = "41 weeks, 4 days"
│   n_steps_completed = 28000
│   wall_time_per_step = "14 milliseconds, 501 microseconds"
│   wall_time_total = "8 minutes, 29 seconds"
│   wall_time_remaining = "1 minute, 43 seconds"
│   wall_time_spent = "6 minutes, 46 seconds"
│   percent_complete = "79.7%"
│   estimated_sypd = "169.914"
│   date_now = 2025-09-03T19:10:26.654
└   estimated_finish_date = 2025-09-03T19:12:10.654
┌ Info: Progress
│   simulation_time = "43 weeks, 1 day"
│   n_steps_completed = 29000
│   wall_time_per_step = "14 milliseconds, 426 microseconds"
│   wall_time_total = "8 minutes, 26 seconds"
│   wall_time_remaining = "1 minute, 28 seconds"
│   wall_time_spent = "6 minutes, 58 seconds"
│   percent_complete = "82.5%"
│   estimated_sypd = "170.801"
│   date_now = 2025-09-03T19:10:38.973
└   estimated_finish_date = 2025-09-03T19:12:07.973
[ 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, 357 microseconds"
│   wall_time_total = "8 minutes, 24 seconds"
│   wall_time_remaining = "1 minute, 13 seconds"
│   wall_time_spent = "7 minutes, 10 seconds"
│   percent_complete = "85.4%"
│   estimated_sypd = "171.626"
│   date_now = 2025-09-03T19:10:51.318
└   estimated_finish_date = 2025-09-03T19:12:05.318
┌ Info: Progress
│   simulation_time = "46 weeks, 22 hours"
│   n_steps_completed = 31000
│   wall_time_per_step = "14 milliseconds, 292 microseconds"
│   wall_time_total = "8 minutes, 22 seconds"
│   wall_time_remaining = "59 seconds, 114 milliseconds"
│   wall_time_spent = "7 minutes, 23 seconds"
│   percent_complete = "88.2%"
│   estimated_sypd = "172.401"
│   date_now = 2025-09-03T19:11:03.675
└   estimated_finish_date = 2025-09-03T19:12:03.675
┌ Info: Progress
│   simulation_time = "47 weeks, 4 days"
│   n_steps_completed = 32000
│   wall_time_per_step = "14 milliseconds, 215 microseconds"
│   wall_time_total = "8 minutes, 19 seconds"
│   wall_time_remaining = "44 seconds, 581 milliseconds"
│   wall_time_spent = "7 minutes, 34 seconds"
│   percent_complete = "91.1%"
│   estimated_sypd = "173.331"
│   date_now = 2025-09-03T19:11:15.512
└   estimated_finish_date = 2025-09-03T19:12:00.512
[ 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, 151 microseconds"
│   wall_time_total = "8 minutes, 17 seconds"
│   wall_time_remaining = "30 seconds, 228 milliseconds"
│   wall_time_spent = "7 minutes, 47 seconds"
│   percent_complete = "93.9%"
│   estimated_sypd = "174.116"
│   date_now = 2025-09-03T19:11:27.613
└   estimated_finish_date = 2025-09-03T19:11:58.613
┌ Info: Progress
│   simulation_time = "50 weeks, 4 days"
│   n_steps_completed = 34000
│   wall_time_per_step = "14 milliseconds, 98 microseconds"
│   wall_time_total = "8 minutes, 15 seconds"
│   wall_time_remaining = "16 seconds, 16 milliseconds"
│   wall_time_spent = "7 minutes, 59 seconds"
│   percent_complete = "96.8%"
│   estimated_sypd = "174.772"
│   date_now = 2025-09-03T19:11:39.958
└   estimated_finish_date = 2025-09-03T19:11:56.958
┌ Info: Progress
│   simulation_time = "52 weeks, 14 hours"
│   n_steps_completed = 35000
│   wall_time_per_step = "14 milliseconds, 39 microseconds"
│   wall_time_total = "8 minutes, 13 seconds"
│   wall_time_remaining = "1 second, 909 milliseconds"
│   wall_time_spent = "8 minutes, 11 seconds"
│   percent_complete = "99.6%"
│   estimated_sypd = "175.51"
│   date_now = 2025-09-03T19:11:51.985
└   estimated_finish_date = 2025-09-03T19:11:53.985
[ 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.