Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
187 commits
Select commit Hold shift + click to select a range
a999afb
big commit
lifang0209 May 30, 2025
88a32eb
Include abm = 13 values when determining dominant abm in mksurfdata_esmf
slevis-lmwg Jun 4, 2025
7477372
Change unsetmon from 13 to 14
slevis-lmwg Jun 4, 2025
16a1921
Adding comments explaining some of mkagfirepkmonthMod.F90
slevis-lmwg Jun 4, 2025
7d7a49e
mkagfirepkmonthMod: Add some TODOs.
samsrabin Jun 5, 2025
7f28c6f
Remove unsetmon as recommended in the code review
slevis-lmwg Jun 5, 2025
1469512
Document more variables as recommended in the code review
slevis-lmwg Jun 5, 2025
f70e958
Merge tag 'ctsm5.3.055' into abm_dominant_in_mksurfdata_esmf
slevis-lmwg Jun 5, 2025
27259b1
Update paths in gen_mksurfdata_namelist.xml and get mods from #3224
slevis-lmwg Jun 6, 2025
b9feb79
Merge remote-tracking branch 'escomp/alpha-ctsm5.4.CMIP7' into abm_do…
slevis-lmwg Jun 13, 2025
ff3bc9e
Correct a message to the user in gen_mksurfdata_jobscript_*.py files
slevis-lmwg Jun 13, 2025
bd3ce96
Corrections to messages to the user
slevis-lmwg Jun 13, 2025
5d426ba
Refine message to the user
slevis-lmwg Jun 13, 2025
bd0c628
Bring back unsetmon but equal to 14 for ocean to not skew the regridding
slevis-lmwg Jun 17, 2025
9e5c37b
Merge branch 'abm_dominant_in_mksurfdata_esmf' into mk_ctsm54_datasets
slevis-lmwg Jun 17, 2025
fd503dc
Merge remote-tracking branch 'samsrabin/subset_data-lon-fixes' into m…
slevis-lmwg Jun 17, 2025
f84e650
Update Makefile and .cfg file to accommodate changes in subset_data
slevis-lmwg Jun 18, 2025
7fc50e4
Merge pull request #3224 from slevis-lmwg/abm_dominant_in_mksurfdata_…
slevis-lmwg Jun 18, 2025
c106c33
Correct inadvertent conflict that crept in with one of the merges
slevis-lmwg Jun 18, 2025
f6a903e
Update to new abm raw dataset provided today by Fang Li
slevis-lmwg Jul 15, 2025
4f71910
Merge tag 'ctsm5.3.063' into alpha-ctsm5.4.CMIP7
slevis-lmwg Jul 22, 2025
b38e5f8
Merge pull request #3344 from slevis-lmwg/merge_master_to_alpha
slevis-lmwg Jul 22, 2025
9790364
Merge tag 'ctsm5.3.063' into mk_ctsm54_datasets
slevis-lmwg Jul 22, 2025
d3cf177
Update default popdens stream file
slevis-lmwg Jul 22, 2025
bf0cb1c
Merge tag 'alpha-ctsm5.4.CMIP7.03.ctsm5.3.063' into mk_ctsm54_datasets
slevis-lmwg Jul 23, 2025
fd3c96b
Merge pull request #3233 from slevis-lmwg/mk_ctsm54_datasets
slevis-lmwg Jul 23, 2025
a945178
Urban mesh was pointing to a 3x3min instead of a 0.25x0.25 file
slevis-lmwg Jul 23, 2025
d10ee57
Merge pull request #3347 from slevis-lmwg/urban_mesh_correction
slevis-lmwg Jul 23, 2025
473db81
Add ctsm54 ne30, f09, f19 fsurdat/landuse files to namelist defaults
slevis-lmwg Jul 24, 2025
2b9a05b
Merge pull request #3349 from slevis-lmwg/upd_nml_default_fsurdat_lan…
slevis-lmwg Jul 24, 2025
d6f97ff
New hdm stream file should be used only with clm6 by default
slevis-lmwg Jul 25, 2025
1f19dbb
Merge pull request #3361 from slevis-lmwg/new_hdm_clm6_only
slevis-lmwg Jul 25, 2025
66b83d1
Remove 64bitoffset suffix from finidat to use the unmodified files
slevis-lmwg Jul 25, 2025
204198a
Remove LII2 tests from expected fails
slevis-lmwg Jul 25, 2025
1483483
Merge pull request #3362 from slevis-lmwg/fix_failing_LII2_tests
slevis-lmwg Jul 25, 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
16e5391
Merge pull request #3406 from slevis-lmwg/megan_use_gamma_sm_false
slevis-lmwg Aug 11, 2025
d67ed0c
Merge remote-tracking branch 'escomp/alpha-ctsm5.4.CMIP7' into ctsm6_…
samsrabin Aug 12, 2025
5cc650a
defo_fire_precip_thresh_bet now 3.0 for li2024crujra.
samsrabin Aug 12, 2025
b1a9acd
cropfire_a1 now 0.32 for li2024crujra.
samsrabin Aug 12, 2025
dec8131
CNFireLi2024Mod: Improve comments.
samsrabin Aug 12, 2025
cfb4648
cli_scale updated for li2024* fire methods.
samsrabin Aug 12, 2025
8fa0747
Set init_interp_fill_missing_urban_with_HD = .true. always
slevis-lmwg Aug 15, 2025
0991175
Merge pull request #3419 from slevis-lmwg/init_interp_fill_missing_ur…
slevis-lmwg Aug 16, 2025
1fec91a
Merge remote-tracking branch 'samsrabin/b4b-dev-merge-20250822' into …
samsrabin Aug 22, 2025
57c4a15
Update clm6_0 paramfile with Fang's fire changes.
samsrabin Aug 22, 2025
baa7660
CNFireLi2024Mod: Delete ">10% crop" condition.
samsrabin Aug 22, 2025
71f9680
li2024crujra cropfire_a1: was 0.32, now 0.34.
samsrabin Aug 22, 2025
365e10b
Merge tag 'alpha-ctsm5.4.CMIP7.09.ctsm5.3.068' into ctsm6_li2024
samsrabin Aug 22, 2025
9c59d7e
namelist_defaults_ctsm.xml: Group stream_fldfilename_cultivar_gdds li…
samsrabin Aug 25, 2025
f4694d7
Update default stream_fldfilename_cultivar_gdds.
samsrabin Aug 25, 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
bfd9e64
Merge tag 'ctsm5.3.071' into ctsm5.4_update5.3.071
ekluzek Aug 30, 2025
d526c5a
Merge pull request #3464 from ekluzek/ctsm5.4_update5.3.071
slevis-lmwg Sep 8, 2025
3123c32
Merge tag 'alpha-ctsm5.4.CMIP7.09.ctsm5.3.071' into ctsm6_li2024
samsrabin Sep 9, 2025
6c08359
Add LII2FINIDATAREAS tests to expected fails.
samsrabin Sep 9, 2025
ab03812
Add ISSP test to expected fails.
samsrabin Sep 9, 2025
1b214aa
Merge tag 'alpha-ctsm5.4.CMIP7.09.ctsm5.3.071' into make_ctsm54_datasets
slevis-lmwg Sep 9, 2025
32a4310
Merge pull request #3204 from lifang0209/ctsm6_li2024
samsrabin Sep 9, 2025
30006c4
Merge tag 'alpha-ctsm5.4.CMIP7.10.ctsm5.3.071' into crujra-crop-inputs
samsrabin Sep 9, 2025
77f0580
Failed attempt to fix stream_fldfilename_cultivar_gdds logic.
samsrabin Sep 10, 2025
f28f74c
Fix stream_fldfilename_cultivar_gdds logic.
samsrabin Sep 10, 2025
70e89cc
Fix stream_fldfilename_cultivar_gdds logic???
samsrabin Sep 10, 2025
5e41f47
Revert failed attempts to fix stream_fldfilename_cultivar_gdds logic.
samsrabin Sep 10, 2025
e7fa6e5
cropcals_rx_adapt fallback to correct stream_fldfilename_cultivar_gdds.
samsrabin Sep 10, 2025
e69570a
Update Makefile/_multi.py to accommodate new fsurdat/landuse needs
slevis-lmwg Sep 10, 2025
86331ef
ClmBuildNamelist: Add lnd_tuning_mode to stream_fldfilename_cultivar_…
samsrabin Sep 10, 2025
4faa434
Merge tag 'alpha-ctsm5.4.CMIP7.10.ctsm5.3.071' into make_ctsm54_datasets
slevis-lmwg Sep 10, 2025
7d2e398
Merge pull request #3474 from samsrabin/crujra-crop-inputs
samsrabin Sep 11, 2025
0247d55
Update Makefile/_multi.py for fsurdat/landuse updates in ctsm54 (part 2)
slevis-lmwg Sep 12, 2025
ffede38
Rm unnecessary 400pt_sparse grid from gen_mksurfdata_jobscript_multi.py
slevis-lmwg Sep 15, 2025
7b6a268
Makefile corrections after first test of `make all` (part 1)
slevis-lmwg Sep 15, 2025
98ee059
Makefile / _multi.py updates after first test of 'make all' (part 2)
slevis-lmwg Sep 17, 2025
60e1907
Makefile / _multi.py updates after first test of 'make all' (part 3)
slevis-lmwg Sep 17, 2025
8c7a0de
Add input_pftdata_filename variable to landuse.timeseries files
slevis-lmwg Sep 17, 2025
883012b
Update README.md with how to turn on DEBUG in mksurfdata_esmf
slevis-lmwg Sep 17, 2025
889bb38
Merge tag 'alpha-ctsm5.4.CMIP7.11.ctsm5.3.071' into make_ctsm54_datasets
slevis-lmwg Sep 17, 2025
136c42a
Merge tag 'ctsm5.3.075' into upd_54branch_to_075
slevis-lmwg Sep 18, 2025
14cab8a
Add new expected failure for issue #3495
slevis-lmwg Sep 19, 2025
ffbdcb4
Merge pull request #3493 from slevis-lmwg/upd_54branch_to_075
slevis-lmwg Sep 19, 2025
70e778b
Merge tag 'alpha-ctsm5.4.CMIP7.11.ctsm5.3.075' into make_ctsm54_datasets
slevis-lmwg Sep 19, 2025
e66386b
Introduce cmip_era flag (= cmip6 or cmip7) to namelist_defaults
slevis-lmwg Sep 24, 2025
0f4808c
Introduce CLM_CMIP_ERA flag to env_run.xml (= cmip6 or cmip7)
slevis-lmwg Sep 24, 2025
a30efab
Remove newly introduced namelist_defaults_cmip_era.xml
slevis-lmwg Sep 26, 2025
f408835
Add cmip7 flag also for historical landuse files (f09, f19, ne30)
slevis-lmwg Sep 26, 2025
0cf3e80
Add the cmip_era flag to all fsurdat/landuse add_default calls
slevis-lmwg Sep 26, 2025
6101487
Rm previously expected failures requiring finidat with c13/c14 to PASS
slevis-lmwg Sep 30, 2025
3a0870f
Rm another expected failure that required finidat with c13/c14 to PASS
slevis-lmwg Sep 30, 2025
db3540d
Mention CLM_CMIP_ERA in namelist error message for easier debugging
slevis-lmwg Oct 1, 2025
3b15fbc
namelist_defaults updates for better error catching
slevis-lmwg Oct 1, 2025
1283fb7
Remove another expected failure documented in issue #1733
slevis-lmwg Oct 1, 2025
14f647d
Remove expected failure in MODEL_BUILD documented in issue #3182
slevis-lmwg Oct 1, 2025
6c8128a
Add details to CLM_CMIP_ERA documentation in env_run.xml
slevis-lmwg Oct 2, 2025
a812454
Add back the cmip6 flanduse defaults for f09, f19, ne30
slevis-lmwg Oct 2, 2025
968eb7b
Add back the cmip6 fsurdat default for f09 2000
slevis-lmwg Oct 2, 2025
d4af81e
Add another detail to the CLM_CMIP_ERA documentation in env_run.xml
slevis-lmwg Oct 2, 2025
7bf8c5b
Add same details to the cmip_era documentation in namelist_definition
slevis-lmwg Oct 2, 2025
edf26a7
Put back use_init_interp that I removed in 71f2db2
slevis-lmwg Oct 2, 2025
26d8088
Remove SSP test from expected fails
slevis-lmwg Oct 2, 2025
c429f5f
Changing build-namelist_test.pl; corresponding bug-fix in nml defaults
slevis-lmwg Oct 8, 2025
db26aaa
Fix 2 build-namelist tests that started failing in ctsm5.3.032
slevis-lmwg Oct 9, 2025
f16276d
Rename 2nd inventoryfileDNE test to useFATESLUH2fileDNE
slevis-lmwg Oct 9, 2025
8100fa8
Resolve build-namelist tests, though not all, yet
slevis-lmwg Oct 9, 2025
3beef40
Resolved remaining fails (except 2 expected ones) in build-namelist
slevis-lmwg Oct 9, 2025
807040d
Change from "if a equals b" to "if a contains b" where b are SSP cases
slevis-lmwg Oct 13, 2025
826cee4
Add LAI streams test to expected fails for now
slevis-lmwg Oct 13, 2025
2e271ca
Remove unnecessary change to namelist_definition_ctsm.xml
slevis-lmwg Oct 13, 2025
92dd6d5
Add comment explaining why I split hist-ne3 into three separate jobs
slevis-lmwg Oct 14, 2025
c3e1ca1
Point to corrected raw lai file and correspondng soil color file
slevis-lmwg Oct 14, 2025
5a09596
Added back 1x1_brazil_transient to the mksurfdata_esmf Makefile
slevis-lmwg Oct 14, 2025
2ea100a
Revert c3e1ca1 "Point to corrected raw lai file and corresp. soil color"
slevis-lmwg Oct 14, 2025
4ff9e68
New and updated comments pertaining to CLM_CMIP_ERA
slevis-lmwg Oct 14, 2025
e19a51e
Merge pull request #3501 from slevis-lmwg/cmip_era_support
slevis-lmwg Oct 14, 2025
11235f4
Merge remote-tracking branch 'escomp/alpha-ctsm5.4.CMIP7' into make_c…
slevis-lmwg Oct 14, 2025
21c9a87
Merge tag 'ctsm5.3.079' into make_ctsm54_datasets
slevis-lmwg Oct 14, 2025
92ee1a1
Point to corrected raw lai file and corresp. soil color file
slevis-lmwg Oct 15, 2025
f1ea888
Correction to soilcolor file name
slevis-lmwg Oct 15, 2025
e64f426
Upd. to latest 1700-2023 & noanthro landuse files
slevis-lmwg Oct 16, 2025
bbc9e40
Add test back to expected failures (issue #1733)
slevis-lmwg Oct 16, 2025
6a5ecfe
Merge tag 'ctsm5.3.079' into upd_alpha54_to_079
slevis-lmwg Oct 16, 2025
37ae51e
Stop NOANTHRO from defaulting to cmip_era cmip6
slevis-lmwg Oct 17, 2025
f4f59ca
Merge branch 'make_ctsm54_datasets' into new_raw_lai_and_soilcolor
slevis-lmwg Oct 17, 2025
2cca29a
Merge pull request #3554 from slevis-lmwg/upd_alpha54_to_079
slevis-lmwg Oct 17, 2025
157d3ae
Merge branch 'alpha-ctsm5.4.CMIP7' into make_ctsm54_datasets
slevis-lmwg Oct 17, 2025
b9b9c73
Merge pull request #3482 from slevis-lmwg/make_ctsm54_datasets
slevis-lmwg Oct 17, 2025
eb4c385
Merge branch 'alpha-ctsm5.4.CMIP7' into new_raw_lai_and_soilcolor
slevis-lmwg Oct 17, 2025
5399e09
Change VR and ne120 year range from 1979-2030 to 1979-2023
slevis-lmwg Oct 17, 2025
ad3b2c9
Upd. to ccs_config_cesm1.0.61_add_domain_ne3np4.pg2_1 to gen. datasets
slevis-lmwg Oct 20, 2025
fb4306b
Add comments as recommended in code review
slevis-lmwg Oct 21, 2025
7e9c184
Merge pull request #3555 from slevis-lmwg/new_raw_lai_and_soilcolor
slevis-lmwg Oct 22, 2025
6c1cc2d
CTSM5.4 updates to default_data_[1850,2000].cfg & modify_smallville.sh
slevis-lmwg Oct 23, 2025
637c86b
Merge pull request #3562 from slevis-lmwg/make_all_subset
slevis-lmwg Oct 23, 2025
1a3fe3f
Merge tag 'ctsm5.3.082' into upd_alpha54_to_082
slevis-lmwg Oct 27, 2025
8e669a4
Merge pull request #3569 from slevis-lmwg/upd_alpha54_to_082
slevis-lmwg Oct 28, 2025
05baeec
Prevent IHist ne0np4 from ending up with SSP designation
slevis-lmwg Oct 28, 2025
a94b45f
Update fsurdat/landuse paths in namelist_defaults (WIP)
slevis-lmwg Oct 28, 2025
7fa5d7a
Merge tag 'alpha-ctsm5.4.CMIP7.15.ctsm5.3.082' into upd_nml_defaults_…
slevis-lmwg Oct 28, 2025
8325e76
Add/remove fsurdat/landuse paths according to the grids spreadsheet
slevis-lmwg Oct 29, 2025
a41b9c5
CTSM5.4 updates to finidata (not all tests pass so troubleshooting)
slevis-lmwg Oct 30, 2025
ad7251d
hgrid="10x15" needed cmip6/cmip7 distinction for tests to pass
slevis-lmwg Oct 30, 2025
9104e37
Add back use_init_interp for failing f09 test, ne30 test
slevis-lmwg Oct 31, 2025
db6c43f
Additions in prep for the next PR where we add tests for new grids
slevis-lmwg Oct 31, 2025
2f70dc3
Merge pull request #3576 from slevis-lmwg/upd_nml_defaults_ctsm54
slevis-lmwg Nov 6, 2025
a11cede
Add ctsm_sci tests for new grids (ctsm5.4)
slevis-lmwg Nov 6, 2025
6d702a2
namelist_defaults updates for ne120pg3 to pick up correct finidat
slevis-lmwg Nov 7, 2025
cc4ba82
Add IHist test for the new ne3pg2 grid
slevis-lmwg Nov 10, 2025
69453b7
finidat update from code review, plus a typo correction
slevis-lmwg Nov 14, 2025
ff015ae
Merge pull request #3587 from slevis-lmwg/ctsm_sci_tests_for_new_grids
slevis-lmwg Nov 14, 2025
aae49a0
fsurdat validation tool
slevis-lmwg Nov 14, 2025
eca1eb0
Revised validation tool based on Erik's code review
slevis-lmwg Nov 18, 2025
a5b18cc
Merge pull request #3612 from slevis-lmwg/fsurdat_validation_tool
slevis-lmwg Nov 18, 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
5372e5c
First draft ChangeLog/ChangeSum
slevis-lmwg Dec 4, 2025
13e09b3
Updated ChangeLog/ChangeSum
slevis-lmwg Dec 5, 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
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/mizuRoute
[submodule "ccs_config"]
path = ccs_config
url = https://github.com/ESMCI/ccs_config_cesm.git
fxtag = ccs_config_cesm1.0.61
fxtag = ccs_config_cesm1.0.61_add_domain_ne3np4.pg2_1
Comment thread
ekluzek marked this conversation as resolved.
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git
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

19 changes: 17 additions & 2 deletions bld/CLMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -735,6 +735,14 @@ sub setup_cmdl_resolution {
$log->verbose_message( "This is NOT a NEON site" );
}

#
# To determine CMIP era
# TODO slevis: Ideally this line would occupy a new subroutine, e.g.
# subr. process_envxml_flags that would get called from
# process_namelist_user_input. This would allow other such
# XML variables to be set in the same place in the future (issue #3547).
$nl_flags->{'cmip_era'} = $envxml_ref->{'CLM_CMIP_ERA'};

}

#-------------------------------------------------------------------------------
Expand Down Expand Up @@ -2367,6 +2375,7 @@ sub setup_logic_urban {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'urban_hac');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'urban_explicit_ac');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'urban_traffic');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'init_interp_fill_missing_urban_with_HD');
}

#-------------------------------------------------------------------------------
Expand Down Expand Up @@ -2513,11 +2522,13 @@ sub setup_logic_demand {
# For landuse.timeseries try with crop on first eise try with exact settings
# Logic for this is identical for fsurdat
if ( $item eq "flanduse_timeseries" ) {
$settings{'cmip_era'} = $nl_flags->{'cmip_era'};
$settings{'use_crop'} = ".true.";
$settings{'nofail'} = 1;
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $item, %settings );
if ( $item eq "flanduse_timeseries" ) {
$settings{'cmip_era'} = $nl_flags->{'cmip_era'};
$settings{'nofail'} = 0;
$settings{'use_crop'} = $nl_flags->{'use_crop'};
if ( ! defined($nl->get_value( $item )) ) {
Expand Down Expand Up @@ -2567,6 +2578,7 @@ sub setup_logic_surface_dataset {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'},
'neon'=>$nl_flags->{'neon'}, 'neonsite'=>$nl_flags->{'neonsite'},
'cmip_era'=>$nl_flags->{'cmip_era'},
'sim_year'=>$nl_flags->{'sim_year'}, 'use_vichydro'=>$nl_flags->{'use_vichydro'},
'use_crop'=>".true.", 'use_fates'=>$nl_flags->{'use_fates'}, 'nofail'=>1);
}
Expand All @@ -2580,6 +2592,7 @@ sub setup_logic_surface_dataset {
'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'use_vichydro'=>$nl_flags->{'use_vichydro'},
'sim_year'=>$nl_flags->{'sim_year'}, 'use_fates'=>$nl_flags->{'use_fates'},
'neon'=>$nl_flags->{'neon'}, 'neonsite'=>$nl_flags->{'neonsite'},
'cmip_era'=>$nl_flags->{'cmip_era'},
'use_crop'=>$nl_flags->{'use_crop'} );
}
#
Expand Down Expand Up @@ -4430,7 +4443,9 @@ sub setup_logic_cropcal_streams {
if ( &value_is_true($cropcals_rx) or &value_is_true($cropcals_rx_adapt) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldFileName_swindow_start');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldFileName_swindow_end');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_cultivar_gdds');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_cultivar_gdds',
'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'}
);
if ( &value_is_true($cropcals_rx_adapt) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldFileName_gdd20_baseline', 'stream_gdd20_seasons'=>$stream_gdd20_seasons);
}
Expand Down Expand Up @@ -5495,7 +5510,7 @@ sub add_default {
" Are defaults provided for this resolution and land mask?" );
} else {
$log->fatal_error("No default value found for $var.\n" .
" Are defaults provided for this resolution and land mask?");
" Are defaults provided in namelist_defaults for this resolution, land mask, and CLM_CMIP_ERA (set in env_run.xml)?");
}
}
else {
Expand Down
Loading
Loading