ESCOMP/CTSM: CTSM5.4: CMIP7 Datasets. CRUJRA2024 forcing, Namelist default changes for clm6_0 physics (original) (raw)

Published December 12, 2025 | Version ctsm5.4.002

Software Open

Description

What's new in CTSM 5.4 (tag ctsm5.4.002)

Purpose and description of changes since CTSM 5.3 (tag ctsm5.3.021)

New features

Answer changes

Changes to defaults for `clm6` physics:

Changes for all physics versions:

Heads up

Additional detail

(Note 1: The same information in this section applies to MOSART and RTM.
Note 2: The gist of the information in this section also appears in the CTSM User's Guide).

Following ctsm5.3.018 "Change history time to be the middle of the time bounds" and keeping CLM history consistent with CAM history, the CTSM5.4 change intends to prevent confusion associated with the time corresponding to instantaneous history fields by putting them on separate files than non-instantaneous fields.

The now separate instantaneous history files represent the exact time step when they were written and do not include a time_bounds variable. Conversely, non-instantaneous history files represent the period of their time_bounds variable. As a result, time data on non-instantaneous history files are now read correctly during post processing (e.g. by xarray). Special handling may still be needed for instantaneous history files, whose timestamps represent the date and time at the END of the history timestep. So, e.g., an instantaneous variable saved at the end of year 2023 will get the timestamp 2024-01-01 00:00:00.

Users will now see:

  1. Two history files per clm, mosart, and rtm history tape:
    tape h0 becomes h0a and h0i
    tape h1 becomes h1a and h1i
    ...
    tape hX becomes hXa and hXi

  2. Two history-restart files per history restart tape:
    rh0 becomes rh0a and rh0i
    rh1 becomes rh1a and rh1i
    ...
    rhX becomes rhXa and rhXi

The CLM handles empty history (and corresponding history-restart) files by not generating them, while rtm and mosart give an error. Instead of refactoring rtm and mosart to behave like the clm (considered out of scope), we have introduced one active instantaneous field in mosart and one in rtm to bypass the "empty file" error.

New surface datasets and landuse timeseries files (https://github.com/ESCOMP/CTSM/pull/3482)

Changes to FATES and the FATES parameter file

New ctsm_pylib conda environment

If you have a ctsm_pylib conda environment installed from before ctsm5.3.040, you may want to keep that under a different name. We suggest the following command for doing this in a local copy of ctsm5.3.040 or later:

./py_env_create -r ctsm_pylib_old

This first renames your existing ctsm_pylib to ctsm_pylib_old and then installs the Python 3.13.2 version as ctsm_pylib. If you are unsure whether you already have ctsm_pylib installed, use the same command regardless, as it will skip the renaming step if necessary.

Information about additional py_env_create options — including how to install a fresh copy of the old conda environment — is available as follows:

./py_env_create --help

Potentially time-evolving `leafcn_target` replaces time-constant `leafcn`

The former is calculated as a function of the latter and can be time-evolving depending on new paramfile parameter `leafcn_co2_slope` https://github.com/ESCOMP/ctsm/pull/1654\. The time-evolving effect defaults to off with `leafcn_co2_slope` = 0 on the parameter file.

Simulations supporting this release by providing initial conditions

Files

ESCOMP/CTSM-ctsm5.4.002.zip

Files (5.5 MB)

Additional details