There is a newer version of the record available.

Published October 16, 2025 | Version v1.0.0

CliMA/ClimaLand.jl: v1.0.0

Description

ClimaLand v1.0.0

Diff since v0.20.1

Version 1.0.0 corresponds to the version of the code used in Deck et al., 2025 "ClimaLand: A Land Surface Model Designed to Enable Data-Driven Parameterizations"

Breaking changes:

  • Move the area indices and rooting depth to the biomass component PR#1388
  • Model constructors should use toml dict PR#1385
  • All callbacks are now constructed with IntervalBasedCallback, which uses ClimaDiagnostics for scheduling. PR#1380
    • FrequencyBasedCallback renamed to IntervalBasedCallback

    • NonInterpSavingCallback can no longer be constructed with a vector of times to save at. Instead, the callback can be constructed with one of the following methods

      # recommended constructors
      saving_cb = NonInterpSavingCallback(start_date, stop_date, callback_period)
      # OR
      saving_cb = NonInterpSavingCallback(t0, tf, callback_period)
      saved_values = saving_cb.affect!.saved_values # saved_values NamedTuple automatically constructed
      
    • DriverUpdateCallback can no longer be constructed with a vector of update times. Instead, it can now be constructed with DriverUpdateCallback(updatefunc, update_period, t0).

    • The LandSimulation construtor now expects updateat to be the update period instead of a vector of times.

    • CheckpointCallback signature is changed to CheckpointCallback(checkpoint_period, output_dir, t0; model, dt = nothing)

    • NaNCheckCallback signature changed to NaNCheckCallback(nancheck_period, t0; dt = nothing, mask = nothing)

    • The ReportCallback constructor no longer accepts the number of steps between reports as an argument. The function signature is now ReportCallback(period, t0; dt = nothing)

πŸ“’ API Changes:

  • Tr/diag schedule cbs (#1380) (@imreddyTeja)
  • More usage of ClimaParams (#1385) (@ph-kev)
  • Move LAI, SAI, RAI, rooting depth to new biomass component (#1388) (@kmdeck)

πŸš€ Features

  • Shared parameters (#153)
  • Docs overhaul! (#240)
  • make docs strict (#357)
  • store drivers as struct, enforce float type (#502)
  • Canopy Biomass model (#600)
  • Check consistency of parameters for integrated models (#611)
  • Moisture factor (#655)
  • output SYPD of global runs (#818)
  • add remaining parameters to ClimaParams.jl (#1258)
  • combine ozark_conservation.jl and ozark_conservation_setup.jl (#1299)
  • expose diagnostics reductions in default_diagnostics (#1409)
  • change matric potential to soil moisture in PrescribedGroundConditions (#1412)
  • moisture stress docs follow-up (#1414)
  • use linear interpolation for high res forcing data, canopy parameters (#1440)

πŸ“‘ Documentation

  • Docs overhaul! (#240)
  • make docs strict (#357)
  • Documentation for tagged version is not produced/saved (#499)
  • Some equations in the Timestepping docs do not render as intended (#1202)
  • Tutorials generated by Literate formatted incorrectly (#1418)
  • Fix warning with missing docs (#1469)
  • Some of the API docs are too large (#1472)
  • Reduce generated tutorial markdown sizes (#1470) (@imreddyTeja)

πŸ› Fixes

  • PrescribedAtmosphere allows Nothing entries (#461)
  • Documentation for tagged version is not produced/saved (#499)
  • Rerunning simulations leads to a lot of warnings about diagnostics (#955)
  • Make sure earth_param_set being passed correctly in EnergyHydrology constructor (#1270)
  • Fix links in docs (#1345)
  • Move pmodel parameters to toml (#1374)
  • compute wind speed diagnostic from atmos.u in coupled case (#1422)
  • LinearInterpolation identifier conflicts (#1430)
  • forcing periodic calendar (#1489) (@kmdeck)

Files

CliMA/ClimaLand.jl-v1.0.0.zip

Files (972.0 kB)

Name Size Download all
md5:58a672c0565e112b9c42cbf6ace40b21
972.0 kB Preview Download

Additional details

Related works