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-08-28T17:12:45.258
└   estimated_finish_date = 2025-08-28T17:12:45.258
┌ 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-08-28T17:12:56.940
└   estimated_finish_date = 2025-08-28T17:12:56.940
[ 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 = "23 milliseconds, 383 microseconds"
│   wall_time_total = "13 minutes, 41 seconds"
│   wall_time_remaining = "12 minutes, 31 seconds"
│   wall_time_spent = "1 minute, 10 seconds"
│   percent_complete = "8.5%"
│   estimated_sypd = "105.378"
│   date_now = 2025-08-28T17:13:32.290
└   estimated_finish_date = 2025-08-28T17:26:04.290
┌ Info: Progress
│   simulation_time = "5 weeks, 6 days"
│   n_steps_completed = 4000
│   wall_time_per_step = "20 milliseconds, 687 microseconds"
│   wall_time_total = "12 minutes, 6 seconds"
│   wall_time_remaining = "10 minutes, 44 seconds"
│   wall_time_spent = "1 minute, 22 seconds"
│   percent_complete = "11.4%"
│   estimated_sypd = "119.107"
│   date_now = 2025-08-28T17:13:44.617
└   estimated_finish_date = 2025-08-28T17:24:29.617
┌ Info: Progress
│   simulation_time = "7 weeks, 3 days"
│   n_steps_completed = 5000
│   wall_time_per_step = "19 milliseconds, 37 microseconds"
│   wall_time_total = "11 minutes, 8 seconds"
│   wall_time_remaining = "9 minutes, 33 seconds"
│   wall_time_spent = "1 minute, 35 seconds"
│   percent_complete = "14.2%"
│   estimated_sypd = "129.435"
│   date_now = 2025-08-28T17:13:57.050
└   estimated_finish_date = 2025-08-28T17:23:31.050
[ 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 = "18 milliseconds, 67 microseconds"
│   wall_time_total = "10 minutes, 34 seconds"
│   wall_time_remaining = "8 minutes, 46 seconds"
│   wall_time_spent = "1 minute, 48 seconds"
│   percent_complete = "17.1%"
│   estimated_sypd = "136.38"
│   date_now = 2025-08-28T17:14:10.271
└   estimated_finish_date = 2025-08-28T17:22:57.271
┌ Info: Progress
│   simulation_time = "10 weeks, 2 days"
│   n_steps_completed = 7000
│   wall_time_per_step = "17 milliseconds, 314 microseconds"
│   wall_time_total = "10 minutes, 8 seconds"
│   wall_time_remaining = "8 minutes, 7 seconds"
│   wall_time_spent = "2 minutes, 1 second"
│   percent_complete = "19.9%"
│   estimated_sypd = "142.314"
│   date_now = 2025-08-28T17:14:23.066
└   estimated_finish_date = 2025-08-28T17:22:31.066
┌ Info: Progress
│   simulation_time = "11 weeks, 6 days"
│   n_steps_completed = 8000
│   wall_time_per_step = "16 milliseconds, 746 microseconds"
│   wall_time_total = "9 minutes, 48 seconds"
│   wall_time_remaining = "7 minutes, 34 seconds"
│   wall_time_spent = "2 minutes, 13 seconds"
│   percent_complete = "22.8%"
│   estimated_sypd = "147.143"
│   date_now = 2025-08-28T17:14:35.834
└   estimated_finish_date = 2025-08-28T17:22:10.834
[ 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, 299 microseconds"
│   wall_time_total = "9 minutes, 32 seconds"
│   wall_time_remaining = "7 minutes, 5 seconds"
│   wall_time_spent = "2 minutes, 26 seconds"
│   percent_complete = "25.6%"
│   estimated_sypd = "151.176"
│   date_now = 2025-08-28T17:14:48.559
└   estimated_finish_date = 2025-08-28T17:21:54.559
┌ Info: Progress
│   simulation_time = "14 weeks, 6 days"
│   n_steps_completed = 10000
│   wall_time_per_step = "15 milliseconds, 975 microseconds"
│   wall_time_total = "9 minutes, 21 seconds"
│   wall_time_remaining = "6 minutes, 41 seconds"
│   wall_time_spent = "2 minutes, 39 seconds"
│   percent_complete = "28.5%"
│   estimated_sypd = "154.236"
│   date_now = 2025-08-28T17:15:01.624
└   estimated_finish_date = 2025-08-28T17:21:43.624
┌ Info: Progress
│   simulation_time = "16 weeks, 2 days"
│   n_steps_completed = 11000
│   wall_time_per_step = "15 milliseconds, 729 microseconds"
│   wall_time_total = "9 minutes, 12 seconds"
│   wall_time_remaining = "6 minutes, 19 seconds"
│   wall_time_spent = "2 minutes, 53 seconds"
│   percent_complete = "31.3%"
│   estimated_sypd = "156.651"
│   date_now = 2025-08-28T17:15:14.891
└   estimated_finish_date = 2025-08-28T17:21:34.891
[ 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, 528 microseconds"
│   wall_time_total = "9 minutes, 5 seconds"
│   wall_time_remaining = "5 minutes, 59 seconds"
│   wall_time_spent = "3 minutes, 6 seconds"
│   percent_complete = "34.2%"
│   estimated_sypd = "158.685"
│   date_now = 2025-08-28T17:15:28.201
└   estimated_finish_date = 2025-08-28T17:21:28.201
┌ Info: Progress
│   simulation_time = "19 weeks, 2 days"
│   n_steps_completed = 13000
│   wall_time_per_step = "15 milliseconds, 384 microseconds"
│   wall_time_total = "9 minutes, 563 milliseconds"
│   wall_time_remaining = "5 minutes, 40 seconds"
│   wall_time_spent = "3 minutes, 20 seconds"
│   percent_complete = "37.0%"
│   estimated_sypd = "160.161"
│   date_now = 2025-08-28T17:15:41.869
└   estimated_finish_date = 2025-08-28T17:21:22.869
┌ Info: Progress
│   simulation_time = "20 weeks, 5 days"
│   n_steps_completed = 14000
│   wall_time_per_step = "15 milliseconds, 275 microseconds"
│   wall_time_total = "8 minutes, 56 seconds"
│   wall_time_remaining = "5 minutes, 22 seconds"
│   wall_time_spent = "3 minutes, 33 seconds"
│   percent_complete = "39.8%"
│   estimated_sypd = "161.312"
│   date_now = 2025-08-28T17:15:55.717
└   estimated_finish_date = 2025-08-28T17:21:18.717
[ 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, 182 microseconds"
│   wall_time_total = "8 minutes, 53 seconds"
│   wall_time_remaining = "5 minutes, 5 seconds"
│   wall_time_spent = "3 minutes, 47 seconds"
│   percent_complete = "42.7%"
│   estimated_sypd = "162.293"
│   date_now = 2025-08-28T17:16:09.607
└   estimated_finish_date = 2025-08-28T17:21:15.607
┌ Info: Progress
│   simulation_time = "23 weeks, 5 days"
│   n_steps_completed = 16000
│   wall_time_per_step = "15 milliseconds, 85 microseconds"
│   wall_time_total = "8 minutes, 50 seconds"
│   wall_time_remaining = "4 minutes, 48 seconds"
│   wall_time_spent = "4 minutes, 1 second"
│   percent_complete = "45.5%"
│   estimated_sypd = "163.342"
│   date_now = 2025-08-28T17:16:23.230
└   estimated_finish_date = 2025-08-28T17:21:12.230
┌ Info: Progress
│   simulation_time = "25 weeks, 2 days"
│   n_steps_completed = 17000
│   wall_time_per_step = "15 milliseconds, 2 microseconds"
│   wall_time_total = "8 minutes, 47 seconds"
│   wall_time_remaining = "4 minutes, 32 seconds"
│   wall_time_spent = "4 minutes, 15 seconds"
│   percent_complete = "48.4%"
│   estimated_sypd = "164.246"
│   date_now = 2025-08-28T17:16:36.903
└   estimated_finish_date = 2025-08-28T17:21:09.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 = "26 weeks, 5 days"
│   n_steps_completed = 18000
│   wall_time_per_step = "14 milliseconds, 929 microseconds"
│   wall_time_total = "8 minutes, 44 seconds"
│   wall_time_remaining = "4 minutes, 15 seconds"
│   wall_time_spent = "4 minutes, 28 seconds"
│   percent_complete = "51.2%"
│   estimated_sypd = "165.043"
│   date_now = 2025-08-28T17:16:50.603
└   estimated_finish_date = 2025-08-28T17:21:06.602
┌ Info: Progress
│   simulation_time = "28 weeks, 1 day"
│   n_steps_completed = 19000
│   wall_time_per_step = "14 milliseconds, 852 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.904"
│   date_now = 2025-08-28T17:17:04.060
└   estimated_finish_date = 2025-08-28T17:21:04.060
┌ Info: Progress
│   simulation_time = "29 weeks, 5 days"
│   n_steps_completed = 20000
│   wall_time_per_step = "14 milliseconds, 791 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.591"
│   date_now = 2025-08-28T17:17:17.687
└   estimated_finish_date = 2025-08-28T17:21:01.687
[ 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, 738 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.188"
│   date_now = 2025-08-28T17:17:31.369
└   estimated_finish_date = 2025-08-28T17:21:00.369
┌ Info: Progress
│   simulation_time = "32 weeks, 5 days"
│   n_steps_completed = 22000
│   wall_time_per_step = "14 milliseconds, 702 microseconds"
│   wall_time_total = "8 minutes, 36 seconds"
│   wall_time_remaining = "3 minutes, 13 seconds"
│   wall_time_spent = "5 minutes, 23 seconds"
│   percent_complete = "62.6%"
│   estimated_sypd = "167.6"
│   date_now = 2025-08-28T17:17:45.310
└   estimated_finish_date = 2025-08-28T17:20:59.310
┌ Info: Progress
│   simulation_time = "34 weeks, 1 day"
│   n_steps_completed = 23000
│   wall_time_per_step = "14 milliseconds, 657 microseconds"
│   wall_time_total = "8 minutes, 35 seconds"
│   wall_time_remaining = "2 minutes, 57 seconds"
│   wall_time_spent = "5 minutes, 37 seconds"
│   percent_complete = "65.5%"
│   estimated_sypd = "168.107"
│   date_now = 2025-08-28T17:17:58.992
└   estimated_finish_date = 2025-08-28T17:20:56.992
[ 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, 603 microseconds"
│   wall_time_total = "8 minutes, 33 seconds"
│   wall_time_remaining = "2 minutes, 42 seconds"
│   wall_time_spent = "5 minutes, 50 seconds"
│   percent_complete = "68.3%"
│   estimated_sypd = "168.728"
│   date_now = 2025-08-28T17:18:12.355
└   estimated_finish_date = 2025-08-28T17:20:55.355
┌ Info: Progress
│   simulation_time = "37 weeks, 1 day"
│   n_steps_completed = 25000
│   wall_time_per_step = "14 milliseconds, 553 microseconds"
│   wall_time_total = "8 minutes, 31 seconds"
│   wall_time_remaining = "2 minutes, 27 seconds"
│   wall_time_spent = "6 minutes, 3 seconds"
│   percent_complete = "71.2%"
│   estimated_sypd = "169.317"
│   date_now = 2025-08-28T17:18:25.691
└   estimated_finish_date = 2025-08-28T17:20:53.690
┌ Info: Progress
│   simulation_time = "38 weeks, 4 days"
│   n_steps_completed = 26000
│   wall_time_per_step = "14 milliseconds, 484 microseconds"
│   wall_time_total = "8 minutes, 28 seconds"
│   wall_time_remaining = "2 minutes, 12 seconds"
│   wall_time_spent = "6 minutes, 16 seconds"
│   percent_complete = "74.0%"
│   estimated_sypd = "170.117"
│   date_now = 2025-08-28T17:18:38.464
└   estimated_finish_date = 2025-08-28T17:20:51.464
[ 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, 413 microseconds"
│   wall_time_total = "8 minutes, 26 seconds"
│   wall_time_remaining = "1 minute, 57 seconds"
│   wall_time_spent = "6 minutes, 29 seconds"
│   percent_complete = "76.8%"
│   estimated_sypd = "170.957"
│   date_now = 2025-08-28T17:18:51.025
└   estimated_finish_date = 2025-08-28T17:20:49.025
┌ Info: Progress
│   simulation_time = "41 weeks, 4 days"
│   n_steps_completed = 28000
│   wall_time_per_step = "14 milliseconds, 352 microseconds"
│   wall_time_total = "8 minutes, 24 seconds"
│   wall_time_remaining = "1 minute, 42 seconds"
│   wall_time_spent = "6 minutes, 41 seconds"
│   percent_complete = "79.7%"
│   estimated_sypd = "171.686"
│   date_now = 2025-08-28T17:19:03.725
└   estimated_finish_date = 2025-08-28T17:20:46.725
┌ Info: Progress
│   simulation_time = "43 weeks, 1 day"
│   n_steps_completed = 29000
│   wall_time_per_step = "14 milliseconds, 274 microseconds"
│   wall_time_total = "8 minutes, 21 seconds"
│   wall_time_remaining = "1 minute, 27 seconds"
│   wall_time_spent = "6 minutes, 53 seconds"
│   percent_complete = "82.5%"
│   estimated_sypd = "172.618"
│   date_now = 2025-08-28T17:19:15.830
└   estimated_finish_date = 2025-08-28T17:20:43.830
[ 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, 227 microseconds"
│   wall_time_total = "8 minutes, 19 seconds"
│   wall_time_remaining = "1 minute, 13 seconds"
│   wall_time_spent = "7 minutes, 6 seconds"
│   percent_complete = "85.4%"
│   estimated_sypd = "173.189"
│   date_now = 2025-08-28T17:19:28.694
└   estimated_finish_date = 2025-08-28T17:20:42.694
┌ Info: Progress
│   simulation_time = "46 weeks, 22 hours"
│   n_steps_completed = 31000
│   wall_time_per_step = "14 milliseconds, 173 microseconds"
│   wall_time_total = "8 minutes, 18 seconds"
│   wall_time_remaining = "58 seconds, 621 milliseconds"
│   wall_time_spent = "7 minutes, 19 seconds"
│   percent_complete = "88.2%"
│   estimated_sypd = "173.85"
│   date_now = 2025-08-28T17:19:41.245
└   estimated_finish_date = 2025-08-28T17:20:40.245
┌ Info: Progress
│   simulation_time = "47 weeks, 4 days"
│   n_steps_completed = 32000
│   wall_time_per_step = "14 milliseconds, 117 microseconds"
│   wall_time_total = "8 minutes, 16 seconds"
│   wall_time_remaining = "44 seconds, 273 milliseconds"
│   wall_time_spent = "7 minutes, 31 seconds"
│   percent_complete = "91.1%"
│   estimated_sypd = "174.534"
│   date_now = 2025-08-28T17:19:53.639
└   estimated_finish_date = 2025-08-28T17:20:38.639
[ 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, 59 microseconds"
│   wall_time_total = "8 minutes, 13 seconds"
│   wall_time_remaining = "30 seconds, 30 milliseconds"
│   wall_time_spent = "7 minutes, 43 seconds"
│   percent_complete = "93.9%"
│   estimated_sypd = "175.265"
│   date_now = 2025-08-28T17:20:05.815
└   estimated_finish_date = 2025-08-28T17:20:36.815
┌ Info: Progress
│   simulation_time = "50 weeks, 4 days"
│   n_steps_completed = 34000
│   wall_time_per_step = "14 milliseconds, 13 microseconds"
│   wall_time_total = "8 minutes, 12 seconds"
│   wall_time_remaining = "15 seconds, 919 milliseconds"
│   wall_time_spent = "7 minutes, 56 seconds"
│   percent_complete = "96.8%"
│   estimated_sypd = "175.831"
│   date_now = 2025-08-28T17:20:18.335
└   estimated_finish_date = 2025-08-28T17:20:34.335
┌ Info: Progress
│   simulation_time = "52 weeks, 14 hours"
│   n_steps_completed = 35000
│   wall_time_per_step = "13 milliseconds, 967 microseconds"
│   wall_time_total = "8 minutes, 10 seconds"
│   wall_time_remaining = "1 second, 899 milliseconds"
│   wall_time_spent = "8 minutes, 8 seconds"
│   percent_complete = "99.6%"
│   estimated_sypd = "176.41"
│   date_now = 2025-08-28T17:20:30.741
└   estimated_finish_date = 2025-08-28T17:20:32.741
[ 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.