Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
bcfaa79
added supplementation arguments to nutrient unpack routine
rgknox Jul 24, 2025
4ece46d
set phosphorus supplementation status to true regarding fates
rgknox Jul 24, 2025
8cd660c
fixed typos and carbon_only ref was changed to the getter function
rgknox Jul 24, 2025
2e5e87c
For ctsm5.4 replace WhatsNewInCTSM5.3.md with WhatsNewInCTSM5.4.md
slevis-lmwg Jul 25, 2025
eadb1f7
Draft WhatNewinCTSM54_release_notes (mostly deletes, some additions)
slevis-lmwg Jul 29, 2025
50c7143
Draft WhatsNewInCTSM5.4.md with ChangeLog info from ctsm5.3.022 to .065
slevis-lmwg Jul 29, 2025
5510a7e
Bring back WhatsNewInCTSM5.3.md but in the /doc directory
slevis-lmwg Aug 27, 2025
224cf73
An update to WhatsNewInCTSM5.4.md about changes in ctsm5.3.040
slevis-lmwg Aug 27, 2025
a8d4c2c
Merge tag 'ctsm5.3.080' into merge-master-20251016
samsrabin Oct 17, 2025
23f7dd4
Merge pull request #3556 from samsrabin/merge-master-20251016
samsrabin Oct 17, 2025
f322bf6
docs-build-and-deploy: Only run on upstream.
samsrabin Oct 17, 2025
37661b7
Merge pull request #3557 from samsrabin/only-deploy-docs-on-upstream
samsrabin Oct 17, 2025
9b54d65
Initial add of general structure for a CDEPS streams base class to us…
ekluzek Oct 17, 2025
1ec43f9
Add contents of the Advance, add some error checking, store some data…
ekluzek Oct 20, 2025
c9e24bc
Merge branch 'carbon_isotopes_in_streams' of github.com:ekluzek/CTSM …
ekluzek Oct 20, 2025
5f51958
Merge branch 'master' into fates-l2fr-supp-merge
rgknox Oct 21, 2025
20d6279
set_paramfile: Can now set all values of a parameter to same.
samsrabin Oct 21, 2025
396490c
Update set_paramfile doc to show new capability.
samsrabin Oct 21, 2025
adc13e1
Delete new test that's duplicative.
samsrabin Oct 21, 2025
01e2228
Initial commit of streams for delta_C13 and delta_C14 that extend the…
ekluzek Oct 21, 2025
cc8a0b0
Correct the interface
ekluzek Oct 21, 2025
1ca79d1
Changes so there is a final method that the compiler can call to remo…
ekluzek Oct 21, 2025
7acfbc9
Add contents of the Interp methods for c13/c14, change Init streambas…
ekluzek Oct 22, 2025
52b238b
Hardcode namelist items and add calls to CTSM Streams Init subroutine…
ekluzek Oct 22, 2025
d8e2100
Correct varnames on the carbon isotope stream files
ekluzek Oct 22, 2025
a23c8f8
Fix the C14 isotope read, it needs to NOT have a mesh file, and the f…
ekluzek Oct 22, 2025
0043306
Merge remote-tracking branch 'escomp/b4b-dev' into carbon_isotopes_in…
ekluzek Oct 22, 2025
61dd157
Change c13/c14 timeseries to put the data on begg:endg array, that ca…
ekluzek Oct 24, 2025
492d6e9
Remove a trailing whitespace
ekluzek Oct 26, 2025
d5bc5a5
Merge branch 'master' into fates-l2fr-supp
rgknox Oct 27, 2025
3d73bb3
Updated fates pointer to match fates branch fates-l2fr-conly
rgknox Oct 27, 2025
e296b2e
set fleximod pointer to fatest testing branch
rgknox Oct 27, 2025
425e254
removed n/p spec argument to fates
rgknox Oct 27, 2025
9c63fe2
Merge pull request #3560 from samsrabin/ndims-error-in-set_paramfile
samsrabin Oct 27, 2025
6fd895e
paramfile utils: Add failing tests for pft order obedience.
samsrabin Oct 27, 2025
62812ec
paramfile utils: Fix PFT order obedience.
samsrabin Oct 27, 2025
c5c8b56
get_selected_pft_indices(): Test for ValueError when selecting PFT no…
samsrabin Oct 27, 2025
c021623
Make any of the C13/C14 isotope constants that can be private to be p…
ekluzek Oct 28, 2025
33c0518
Move references of the Carbon isotope datasets to inside of the times…
ekluzek Oct 28, 2025
5a01fff
changed cnallocate_carbon_only() routines to be CN agnostic
rgknox Oct 28, 2025
2a89883
Update src/utils/clmfates_interfaceMod.F90
rgknox Oct 28, 2025
dd891e6
uppdated some text
rgknox Oct 28, 2025
bb679d1
Apply suggestion from @ekluzek
ekluzek Oct 28, 2025
4c1c4d5
More changes to remove the CN prefix to CNAllocate_Carbon_Only getter
ekluzek Oct 29, 2025
2b46ae5
updated fleximod and file pointer to fates api42
rgknox Oct 29, 2025
7786e26
added tag
rgknox Oct 29, 2025
065a220
Add the expected fail for #3500 on Izumi commented out, the compset l…
ekluzek Oct 29, 2025
9a7f022
Changes needed for unit testing to work on my Mac
billsacks Oct 29, 2025
6ec762b
update change logs
rgknox Oct 29, 2025
761f128
Merge remote-tracking branch 'refs/remotes/rgknox_repo/fates-l2fr-sup…
rgknox Oct 29, 2025
f4b5699
Merge pull request #3348 from rgknox/fates-l2fr-supp
ekluzek Oct 29, 2025
3e80bc8
Merge pull request #3577 from billsacks/update_cmake_min
ekluzek Oct 29, 2025
9114c6f
If C13/C14 is on, call the time-series initialize no matter if consta…
ekluzek Oct 30, 2025
a9baf0b
Get the fixed C13/C14 option working with some testing around it
ekluzek Oct 30, 2025
fa93899
Merge remote-tracking branch 'escomp/b4b-dev' into ciso_to_model_grid
ekluzek Oct 30, 2025
75d936f
Merge branch 'b4b-dev' into fix-set_paramfile-pft-order
ekluzek Oct 30, 2025
df3654d
Merge pull request #3572 from samsrabin/fix-set_paramfile-pft-order
ekluzek Oct 30, 2025
5e23770
Merge tag 'ctsm5.3.083' into merge-b4bdev-20251030
ekluzek Oct 30, 2025
8d2d0aa
Start adding change files
ekluzek Oct 30, 2025
cb82554
Remove the SHR_ASSERT tests as they were failing with threaded cases,…
ekluzek Oct 30, 2025
8d08ed6
Remove unused references to c13 and c14 as they are unused in the act…
ekluzek Oct 30, 2025
0b2b48d
Remove forc_c13o2 as it's now unused
ekluzek Oct 30, 2025
c1c71df
Add a note that this duplicates the partial pressure calculation in l…
ekluzek Oct 30, 2025
5547131
Merge branch 'b4b-dev' into ciso_to_model_grid
ekluzek Oct 30, 2025
f18ebd6
Merge branch 'b4b-dev' into carbon_isotopes_in_streams
ekluzek Oct 30, 2025
817afc9
Update to final Change files
ekluzek Oct 31, 2025
2c44dbe
Merge pull request #3578 from ekluzek/merge-b4bdev-20251030
ekluzek Oct 31, 2025
489e118
Merge tag 'ctsm5.3.084' into b4b-dev
ekluzek Oct 31, 2025
fd07ba2
Merge pull request #3579 from ekluzek/merge-master-20251031
ekluzek Oct 31, 2025
b5ff151
Merge remote-tracking branch 'escomp/b4b-dev' into ciso_to_model_grid
ekluzek Oct 31, 2025
a6025ab
Merge branch 'ciso_to_model_grid' of github.com:ekluzek/CTSM into cis…
ekluzek Oct 31, 2025
7ab0439
Merge pull request #3566 from ekluzek/ciso_to_model_grid
ekluzek Oct 31, 2025
dd1237f
Remove meshfile which isn't needed
ekluzek Oct 31, 2025
d7d7c34
Add some tests to ensure that ig and g are identical
ekluzek Oct 31, 2025
a127eb6
Merge branch 'b4b-dev' into carbon_isotopes_in_streams
ekluzek Oct 31, 2025
cbfe303
Make isotope data protected so can view it, but not change it
ekluzek Nov 3, 2025
03d0813
Add some shr_assert calls to ensure the difference between the new an…
ekluzek Nov 3, 2025
6ef8762
Differences between new CMIP7 streams and CMIP6 old method is too lar…
ekluzek Nov 3, 2025
2cfa8fb
Add protected to the streams datatype so can't be changed outside of …
ekluzek Nov 4, 2025
508c7e8
Merge branch 'carbon_isotopes_in_streams' of github.com:ekluzek/CTSM …
ekluzek Nov 4, 2025
dd5176b
Generalize some paths so unit testing works in a CESM checkout
billsacks Nov 4, 2025
c39b56e
Add new namelist items for carbon isotope streams and six failure tes…
ekluzek Nov 5, 2025
c94e68d
Uncomment the error checks and fix a bug so that the new tests all wo…
ekluzek Nov 5, 2025
3697d1e
Output the carbon_isotope_streams namelist when CN is on
ekluzek Nov 6, 2025
1669810
Add a CIsoReadNML subroutine to set carbon isotope streams settings
ekluzek Nov 6, 2025
dede571
Call the CIsoAtmReadNML here
ekluzek Nov 6, 2025
42fca56
Fix some problems that the NAG compiler on Izumi found
ekluzek Nov 6, 2025
96f8f4c
Add a private subroutine to do checking of the Ciso namelist inputs
ekluzek Nov 6, 2025
246826a
Have either old format C14/C13 CMIP6 datafile format read in or new s…
ekluzek Nov 6, 2025
5f3a896
All both stream/cmip6 options for C13/C14 timeseries to be off, so th…
ekluzek Nov 6, 2025
94d1bd6
Add file and line to shr_sys_abort calls as per #1452
ekluzek Nov 7, 2025
a469536
Add private subroutines to set and log information on the control log…
ekluzek Nov 9, 2025
82878c9
Make some subroutines public so they can be unit tested
ekluzek Nov 9, 2025
c55449e
Start adding a unit tester for the CIsoAtmTimeSeries logic
ekluzek Nov 9, 2025
09e4ca9
Move getptr part from AtmCarbonIsotopeStreamType to the base class, t…
ekluzek Nov 9, 2025
e18d35c
Move getptr part from AtmCarbonIsotopeStreamType to the base class, t…
ekluzek Nov 9, 2025
e45601e
Merge branch 'carbon_isotopes_in_streams' of github.com:ekluzek/CTSM …
ekluzek Nov 9, 2025
fbdd596
Get the new unit test working
ekluzek Nov 9, 2025
51f5680
Add CIsoSetNMLInputs for unit testing, and add unit tests for all the…
ekluzek Nov 9, 2025
1e2e4ca
Clarify one error statement
ekluzek Nov 9, 2025
65e257f
Add 10 new abort on error tests for all the combinations I could thin…
ekluzek Nov 9, 2025
bebcf4a
Make sure use_c13/c14_streams is set correctly at initialization, rem…
ekluzek Nov 11, 2025
24407f0
Update so that the unit tests all work now
ekluzek Nov 11, 2025
5b95a90
Point to share branch update
ekluzek Nov 11, 2025
9c59a55
Move the setting of SRCROOT up higher so can be used to set the paths…
ekluzek Nov 11, 2025
9eb606b
Merge commit '9c59a5547' into fix_unit_tests_cesm
ekluzek Nov 11, 2025
618c2a5
Add the FUNITCTSM test to the prealpha testlist
ekluzek Nov 11, 2025
2348ba0
Merge pull request #3581 from billsacks/fix_unit_tests_cesm
ekluzek Nov 11, 2025
6c2ead1
Merge branch 'b4b-dev' into carbon_isotopes_in_streams
ekluzek Nov 12, 2025
fffa959
Update share to tagged one with the change I put in
ekluzek Nov 12, 2025
07a7349
Need another query of use_c13_timeseries after it's set by add_default
ekluzek Nov 12, 2025
2e8be57
Do the same for use_c14_bombspike, so that namelists aren't different…
ekluzek Nov 12, 2025
dc4355c
Add testmods to compare the Carbon isotope cmip6 and cmip7 data
ekluzek Nov 12, 2025
f68556b
Add tests for carbon isotope datasets
ekluzek Nov 12, 2025
c1fc041
Add descriptions and formatting of the base class
ekluzek Nov 13, 2025
d42e5ec
Add the stream_ prefix to the model_alignt_year for atm_c13/c14
ekluzek Nov 13, 2025
9d05b80
Add code comments and description
ekluzek Nov 13, 2025
87f44dc
Move the stream base stub to the location it should be under share_esmf
ekluzek Nov 13, 2025
2602df9
Merge pull request #3561 from ekluzek/carbon_isotopes_in_streams
ekluzek Nov 13, 2025
18982cc
Update ChangeLog/Sum
slevis-lmwg Nov 13, 2025
290c38d
Final ChangeLog/Sum
slevis-lmwg Nov 14, 2025
fde1fc6
Merge pull request #3609 from slevis-lmwg/merge-b4bdev-20251113
slevis-lmwg Nov 14, 2025
9f1fb9f
Merge tag 'alpha-ctsm5.4.CMIP7.18.ctsm5.3.082' into WhatsNewinCTSM54_…
slevis-lmwg Nov 18, 2025
1d8b770
Change namelist_defaults so lii2 tests pick up correct finidats
slevis-lmwg Nov 19, 2025
e684a9b
Remove VEGWP[LN,PD] from restarts for lii2 tests to pass
slevis-lmwg Nov 19, 2025
aaf6f82
Put VEGWP[LN,PD] back on restart (= revert e684a9b) + rm from history
slevis-lmwg Nov 20, 2025
8db2e53
Rm use_init_interp=.T. from files clmi.f09_interp... & clmi.f19_twice...
slevis-lmwg Nov 21, 2025
a5136fc
File path and name updated to ctsm5.4 values for unit test to PASS
slevis-lmwg Nov 22, 2025
f4f35f9
Update to ctsm5.3.085
ekluzek Nov 24, 2025
560ad74
User's Guide updates about splitting hX to hXa and hXi files
slevis-lmwg Nov 24, 2025
cd6a6c2
Merge pull request #3613 from slevis-lmwg/fix_lii2_tests
slevis-lmwg Nov 24, 2025
93b0dd4
Additional User's Guide updates about splitting hX to hXa and hXi files
slevis-lmwg Nov 24, 2025
b883127
Updated WhatsNewInCTSM54
slevis-lmwg Nov 24, 2025
a8b1afe
Minor improvements to documentation
slevis-lmwg Nov 25, 2025
060bd7c
Update README and default_data*.cfg files to refer to 5.4, not 5.3
slevis-lmwg Nov 25, 2025
addc86e
Corrections to the WhatsNew markdown file
slevis-lmwg Nov 25, 2025
cd3558f
More corrections to the WhatsNew file
slevis-lmwg Nov 25, 2025
b5fa1cf
More corrections to the WhatsNew file
slevis-lmwg Nov 25, 2025
54d76b8
Merge remote-tracking branch 'escomp/alpha-ctsm5.4.CMIP7' into update…
ekluzek Nov 25, 2025
7d56d4b
Small corrections to README and CONTRIBUTING.md
slevis-lmwg Nov 26, 2025
90a165f
Revert updates to two default_data*cfg files to avoid testing in this PR
slevis-lmwg Nov 26, 2025
74ed7a5
Update tools in /contrib to make h0a the default option (instead of h0)
slevis-lmwg Nov 26, 2025
ebef613
Merge branch 'master' into update_ctsm54_to_5385
ekluzek Nov 27, 2025
3cfe210
Merge pull request #3625 from ekluzek/update_ctsm54_to_5385
ekluzek Nov 27, 2025
c24c69b
Merge branch 'alpha-ctsm5.4.CMIP7' into WhatsNewinCTSM54_release_notes
slevis-lmwg Nov 27, 2025
f84ee6d
Merge tag 'alpha-ctsm5.4.CMIP7.19.ctsm5.3.085' into WhatsNewinCTSM54_…
slevis-lmwg Nov 27, 2025
83f35cb
Three user_nl_clm and two .cfg files with ctsm5.4 updates
slevis-lmwg Nov 27, 2025
5e692a5
Merge pull request #3364 from slevis-lmwg/WhatsNewinCTSM54_release_notes
slevis-lmwg Dec 1, 2025
f3f42b8
Merge tag 'alpha-ctsm5.4.CMIP7.20.ctsm5.3.085' into ctsm54_test_updates
slevis-lmwg Dec 1, 2025
8b49fe3
Update ExpectedTestFails.xml according to Erik's comments
slevis-lmwg Dec 1, 2025
2dbc28d
Remove one more previously-expected failure from ExpectedTestFails.xml
slevis-lmwg Dec 2, 2025
89a4cae
Add H2OSNO to default hist_fincl1 for clm_accelerated_spinup ON or SASU
slevis-lmwg Dec 2, 2025
673574b
Merge pull request #3637 from slevis-lmwg/ctsm54_test_updates
slevis-lmwg Dec 2, 2025
3e5bcb0
Merge tag 'alpha-ctsm5.4.CMIP7.21.ctsm5.3.085' into merge-alpha5.4-21…
samsrabin Dec 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/docs-build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ concurrency:
jobs:

build-and-deploy:

# Only run on upstream repository
if: ${{ github.repository == 'ESCOMP/CTSM' }}

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
Expand Down
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
[submodule "fates"]
path = src/fates
url = https://github.com/NGEET/fates
fxtag = sci.1.87.2_api.41.0.0
fxtag = sci.1.88.0_api.42.0.0
fxrequired = AlwaysRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/NGEET/fates
Expand Down Expand Up @@ -100,7 +100,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git
[submodule "share"]
path = share
url = https://github.com/ESCOMP/CESM_share
fxtag = share1.1.9
fxtag = share1.1.15
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESCOMP/CESM_share
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ Code conventions: https://github.com/ESCOMP/ctsm/wiki/CTSM-coding-guidelines

#### Code of Conduct:

See the `CODE_OF_CONDUCT.md` file for expectations of how to work in the community.
See https://github.com/ESCOMP/CTSM?tab=coc-ov-file for expectations of how to work in the community.
13 changes: 8 additions & 5 deletions README
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
$CTSMROOT/README 09/05/2024
$CTSMROOT/README 11/24/2025

Community Terrestrial Systems Model (CTSM) science version 5.3 series -- source code, tools,
Community Terrestrial Systems Model (CTSM) science version 5.4 series -- source code, tools,
offline-build and test scripts. This gives you everything you need
to run CTSM with CESM with the CMEPS driver and CDEPS data models to provide CRUJRA or GSWP3 forcing data (some older options also available) in
place of a modeled atmosphere.
Expand All @@ -15,6 +15,10 @@ For lists of current bugs (issues) and current development see the CTSM GitHub p

https://github.com/ESCOMP/CTSM

For Code of Conduct (how to work with each other on the CTSM project):

https://github.com/ESCOMP/CTSM?tab=coc-ov-file

INFORMATION ON THE CMEPS DRIVER:

https://escomp.github.io/CMEPS
Expand Down Expand Up @@ -76,8 +80,7 @@ README ------------------- This file
README.md ---------------- File that displays on github under https::/github.com/ESCOMP/CTSM.git
README.rst --------------- File that displays under the project in github
README_GITFLEXIMOD.rst --- Information on how to work with git-fleximod for CTSM
WhatsNewInCTSM5.3.md ----- Overview document of the changes between ctsm5.2.0 and ctsm5.3.0
CODE_OF_CONDUCT.md ------- Code of Conduct for how to work with each other on the CTSM project
WhatsNewInCTSM5.4.md ----- Overview document of the changes between ctsm5.3 and ctsm5.4
Copyright ---------------- CESM Copyright file
doc/UpdateChangeLog.pl --- Script to add documentation on a tag to the
ChangeLog/ChangeSum files
Expand Down Expand Up @@ -168,7 +171,7 @@ src/unit_test_stubs Unit test stubs that replicate CTSM code simpler

cd $CIMEROOT/scripts
./create_newcase # get help on how to run create_newcase
./create_newcase --case testI --res f19_g17_gl4 --compset I2000Clm60BgcCrop
./create_newcase --case testI --res f09_t232 --compset I2000Clm60BgcCrop
# create new "I" case for default machine at 1.9x2.5_gx1v7
# "I2000Clm60BgcCrop" case is clm6_0 physics, CDEPS, and inactive ice/ocn/glc
# and MOSART for river-routing
Expand Down
150 changes: 150 additions & 0 deletions WhatsNewInCTSM5.4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# What's new in CTSM 5.4 (tag `ctsm5.4.0xx`)

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

## New features

* New surface datasets from CMIP7 data including PFT and urban distributions, land use transitions, population density, and atmospheric C isotopes. These data are only available through the historical record (1850-2023), and
* are not available for future periods (presently known as SSP),
* for future periods and N deposition we continue to use CMIP6 data from CESM2.
* Option to use CRUJRA2024 atmospheric driver data with clm6 and clm5 physics options ([PR #2956](https://github.com/ESCOMP/ctsm/pull/2956)), this is the default data-atmosphere (DATM) for clm6. This CRUJRA dataset covers 1901-2023, whereas previous GSWP3 only covers 1901-2014.
* Capability to run single-point PLUMBER tower sites, similar to the NEON tower capability ([issue #1487](https://github.com/ESCOMP/CTSM/issues/1487)). Initial conditions are not provided for PLUMBER sites.
* New CLM\_CMIP\_ERA flag in env\_run.xml. Valid options are cmip7 and cmip6. Defaults to cmip7 except in compsets containing SSP for which it defaults to cmip6 because there are no future-period datasets yet available for CMIP7.
* Automatic, more flexible use of anomaly forcings for CMIP6 ISSP cases, which also use the cmip6 CLM\_CMIP\_ERA flag: [Documentation](https://escomp.github.io/CTSM/users_guide/running-special-cases/Running-with-anomaly-forcing.html)

* Unsupported script that checks for spinup equilibrium in `tools/contrib/` for spectral element grids ([PR #2991](https://github.com/ESCOMP/ctsm/pull/2991)).
* New paramfile tools that allow users to query and modify CLM parameter files ([documentation](https://escomp.github.io/CTSM/users_guide/using-clm-tools/paramfile-tools.html))
* Optional time-evolving \`leafcn\_target\`. More under “Additional detail” below.
* New vertical movement scheme for soil nitrate, which is off by default (PR [#2992](https://github.com/ESCOMP/CTSM/pull/2992)).
* Documentation improvements and new URL: https://escomp.github.io/CTSM/index.html.
* FATES:
* Grazing ([sci.1.81.0\_api.37.1.0](https://github.com/NGEET/fates/releases/tag/sci.1.81.0_api.37.1.0)).
* Johnson and Berry 2021 electron transport model ([sci.1.85.0\_api.40.0.0](https://github.com/NGEET/fates/releases/tag/sci.1.85.0_api.40.0.0)).
* Managed Fire ([sci.1.87.0\_api.41.0.0](https://github.com/NGEET/fates/releases/tag/sci.1.87.0_api.41.0.0)).

## Answer changes

Changes to defaults for \`clm6\` physics:

* New CMIP7 surface and landuse timeseries datasets (see in Additional Details below).
* New namelist variables \`snow\_thermal\_cond\_glc\_method\` and \`snow\_thermal\_cond\_lake\_method\` ([PR #3072](https://github.com/ESCOMP/CTSM/pull/3072)). Snow thermal conductivity uses Jordan1991 over glaciers to reduce Greenland melt rates by default and Sturm over land and lake land units.
* Bytnerowicz is now the default nfix\_method for clm6 (https://github.com/ESCOMP/ctsm/pull/2972) which revises the temperature function for nitrogen fixation, replacing the Houlton *et al.* function.
* Updates to MEGAN for BVOCs (https://github.com/ESCOMP/CTSM/pull/3065 https://github.com/ESCOMP/CTSM/pull/3309). Removes dependence on soil moisture from clm6 physics.
* New model parameter values that were calibrated to improve carbon cycle representation with CRUJRA.
* New model parameter values that were calibrated to improve the fire model. Now using li2024 fire code.
* New initial conditions files for f09 ("1-degree" 1850, 2000), f19 (“2-degree” 1850), and ne30 (1850, 1979, 2000\) resolutions.
* Change default for glcmec\_downscale\_longwave to FALSE for clm6 physics as turning off the LW downscaling improves the melt and runoff biases.
* See “Changes to FATES and the FATES parameter file” below.
* Namelist defaults change so that
* use\_c13/use\_c14 are on only for HistClm60Bgc compsets with CRUJRA2024 or CAM7 forcing; examples of when use\_c13/use\_c14 are now off include SSP and single-point compsets, as well as cases using older forcings, such as CAM6, GSWP3v1, Qian, and CRUv7
* when use\_c13 or use\_c14 is on, turn on the corresponding time series file
* irrigation is on for transient cases (1850-2000, 1850-2100, but not for clm4\_5).

Changes for all physics versions:

* Parameters updated: Added MIMICS parameter \`mimics\_fi\` (fraction of litter inputs that bypass litter pools, directly contributing to SOM) and updated other MIMICS parameters (https://github.com/ESCOMP/CTSM/pull/2365) to remove NPP control on turnover, fix density dependent control on turnover, add litterfall fluxes that bypass litter pools and contribute directly to soil organic matter.
* FATES parameter file updated: ([PR \#2965](https://github.com/ESCOMP/CTSM/pull/2965), [PR \#2904](https://github.com/ESCOMP/CTSM/pull/2904), [PR \#1344](https://github.com/NGEET/fates/pull/1344), [PR \#3087](https://github.com/ESCOMP/CTSM/pull/3087)). See “FATES parameter file” section below for details.
* New surface datasets and landuse timeseries files (see “surface datasets” section below).

## Heads up

* History tapes now split into two files from hX to hXi and hXa, where X is the tape number (e.g. h0i/h0a) and where "i" stands for history file containing instantaneous fields, while "a" stands for history file containing non-instantaneous fields. Details in the “history files” section below and in the PRs https://github.com/ESCOMP/ctsm/pull/2445 https://github.com/ESCOMP/MOSART/pull/117 https://github.com/ESCOMP/RTM/pull/61 and the corresponding issues.
* Adding time to 1d weighting fields in transient simulations PR https://github.com/ESCOMP/CTSM/pull/3328
* Regarding CMIP7 vs. CMIP6 inputs:
* We supply only CMIP7 C13/C14 isotope datasets, so these get used regardless of CLM\_CMIP\_ERA setting.
* We supply only CMIP7 population density with clm6 physics in non-SSP cases, because the fire model is calibrated to that; conversely, we supply only CMIP6 population density for pre-clm6 physics and for SSP cases.
* We supply only CESM2 nitrogen deposition (ndep), so this gets used regardless of CLM\_CMIP\_ERA setting.
* For DATM we supply only CMIP6 aerosols.
* For DATM we supply only CMIP6 CO2.
* Issue with DOUT\_S\_SAVE\_INTERIM\_REST [https://github.com/ESCOMP/CTSM/issues/3351](https://github.com/ESCOMP/CTSM/issues/3351) was fixed.
* As of ctsm5.3.040, the new ctsm\_pylib conda environment is incompatible with our tools from before ctsm5.3.040 and vice versa. More under “Additional detail” below.

# Additional detail

## Changes related to history files

(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](https://escomp.github.io/CTSM/users_guide/setting-up-and-running-a-case/customizing-the-clm-namelist.html#various-ways-to-change-history-output-averaging-flags)).

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)

* Transient landuse timeseries files going back to 1700 made for f09 and 360x720 grids.
* New resolutions now supported: ne3np4.pg3, mpasa30, ne0np4.NATL.ne30x8 (https://github.com/ESCOMP/CTSM/pull/3482)
* Updates to input datasets (also referred to as raw datasets):
* PFT/LAI/soil-color raw datasets; now from the CMIP7 timeseries that ends in 2023 (Issue [\#2851](https://github.com/ESCOMP/CTSM/issues/2851)).
* Two fire datasets: crop fire peak month and population density (https://github.com/ESCOMP/CTSM/issues/2701 https://github.com/ESCOMP/CTSM/issues/3302).
* Transient (historical) urban datasets are now based on CMIP7 urban data, partitioned into TBD, HD, and MD classes in proportion to GaoOneill present day classification.

## Changes to FATES and the FATES parameter file

* See [HLM-FATES compatibility table](https://fates-users-guide.readthedocs.io/en/latest/user/release-tags-compat-table.html) in the FATES user’s guide for all FATES tags associated with CTSM tag updates
* FATES answer changing updates
* The default hydro solver is updated to 2D Picard from 1D Taylor ([ctsm5.3.027](https://github.com/ESCOMP/CTSM/releases/tag/ctsm5.3.027))
* Simplified leaf sun-shade fraction for two-stream radiation ([sci.1.83.0\_api.39.0.0](https://github.com/NGEET/fates/releases/tag/sci.1.83.0_api.39.0.0))
* Default maximum canopy layer updated from 2 to 3 ([sci.1.87.1\_api.41.0.0](https://github.com/NGEET/fates/releases/tag/sci.1.87.1_api.41.0.0))
* Various bug fixes (see compatibility table)
* FATES Parameter File Updates
* ctsm5.3.025 (API 37\)
* Adds pft-dependent btran model switches
* Adds parameters for land use grazing
* Updates the FATES z0mr turbulence parameters for consistency with CLM
* ctsm5.3.027 (API 38\)
* Migrates a number of global parameter file variables to the namelist
* Adds \`fates\_leaf\_fnps\` parameter for the electron transport model
* \`fates\_leaf\_theta\_cj\_c3\` and \`fates\_leaf\_theta\_cj\_c4\` depricated
* ctsm5.3.045 (API 40\)
* Changes to the default competitive exclusion parameter from probabilistic to rank-ordered sorting of cohorts by default
* Sets the logging default to clear cut
* Refactors the pft-specific phenology habit selection into a single parameter
* ctsm5.3.070 (API 41\)
* Add parameters for the managed fire feature addition
* Corrects the fates landuse crop pft to c3 cool grass

## 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:

```shell
./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:

```shell
./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

* f19 \`Clm60BgcCruJra\` 16pft: https://github.com/NCAR/LMWG_dev/issues/125
* f09 with \`Clm60BgcCropCruJra\`: https://github.com/NCAR/LMWG_dev/issues/124
* ne30 with \`Clm60BgcCropCruJra\`: https://github.com/NCAR/LMWG_dev/issues/123 (123\_HIST\_popDens)
* ne30 SP https://github.com/NCAR/LMWG_dev/issues/126
* f09 SP https://github.com/NCAR/LMWG_dev/issues/127

Loading
Loading