Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option for CRUJRA2024 add some compsets for Clm60 for it as well as a corresponding compset for Clm5 #2956

Merged
merged 40 commits into from
Mar 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
9079fc0
Update README
slevis-lmwg Feb 6, 2025
748f3cc
Update files in /bld
slevis-lmwg Feb 6, 2025
d9bac05
Update files in /cime_config
slevis-lmwg Feb 6, 2025
df8342b
Add TODO in subset_data.py
slevis-lmwg Feb 6, 2025
8b8f4b1
Update (correction?) to init_interp_attributes in namelist_defaults_ctsm
slevis-lmwg Feb 6, 2025
fc2bca5
Rm potentially confusing DATM%CRU_CLM60 compset (left in earlier CLMs)
slevis-lmwg Feb 7, 2025
fca4696
Added placeholder for clm5_0_CRUJRA2024 closest_tuning in buildnml
slevis-lmwg Feb 7, 2025
4d51e4d
Add clm5 compsets with explicit use of the Crujra datm inputs
slevis-lmwg Feb 8, 2025
49d39ce
Revisions part 1 from Erik's review
slevis-lmwg Feb 11, 2025
2fa3039
Revisions part 2 from Erik's review
slevis-lmwg Feb 11, 2025
2574252
Revisions part 3 from Erik's review
slevis-lmwg Feb 12, 2025
dd32dd2
Merge tag 'ctsm5.3.024' into mk_crujra_default
slevis-lmwg Feb 12, 2025
b6acc83
Update to share1.1.8 to avoid shr_sys_abort inconsistency
slevis-lmwg Feb 12, 2025
fbfe553
Updated subset_data: hardwired default datm_crujra, available datm_gswp3
slevis-lmwg Feb 14, 2025
ee875a0
Fix FUNIT test that started failing with share1.1.08
slevis-lmwg Feb 14, 2025
c1362c9
Update TODO comment in subset_data
slevis-lmwg Feb 14, 2025
ef8f3bd
Draft ChangeLog/ChangeSum
slevis-lmwg Feb 14, 2025
6b73ea2
Merge tag 'ctsm5.3.029' into mk_crujra_default
slevis-lmwg Mar 5, 2025
d54a247
Revert cmip compsets to gswp3 for b4b and add explicit crujra ones
slevis-lmwg Mar 5, 2025
1b62923
Change path to the CRUJRA2024 data for consistency with other datasets
slevis-lmwg Mar 7, 2025
cc5a640
Merge remote-tracking branch 'escomp/master' into mk_crujra_default
slevis-lmwg Mar 7, 2025
80d7deb
Correct compset typo for test to work
slevis-lmwg Mar 7, 2025
ce70c5b
Update to cdeps1.0.68 (identical to my cdeps mk_crujra_default branch)
slevis-lmwg Mar 10, 2025
3f229ca
Update ChangeLog/ChangeSum
slevis-lmwg Mar 10, 2025
b84d542
Update comments in subset_data.py and ChangeLog
slevis-lmwg Mar 10, 2025
24aa947
Update testlist_clm according to Erik's review
slevis-lmwg Mar 10, 2025
f82311a
Minor corrections to testlist_clm
slevis-lmwg Mar 10, 2025
13f2f46
More corrections to testlist_clm
slevis-lmwg Mar 11, 2025
3061876
Make compset aliases compatible with changes to tests
slevis-lmwg Mar 11, 2025
2271ccd
Update to latest CRUJRA2024 data path
slevis-lmwg Mar 11, 2025
9402dcc
Update to cdeps1.0.70
slevis-lmwg Mar 12, 2025
dd7d845
Update ChangeLog/Sum
slevis-lmwg Mar 12, 2025
4dcd7ec
Change comment in cime_config/config_component.xml
slevis-lmwg Mar 13, 2025
00ce0ce
Change list order in comment in cime_config/config_component.xml
slevis-lmwg Mar 13, 2025
8d7185d
Add exceptions to the comment describing lnd_tuning_mode
slevis-lmwg Mar 13, 2025
c608286
Change list order in comment in namelist_definition_ctsm.xml
slevis-lmwg Mar 13, 2025
3e6945f
Remove large number of Crujra compsets/tests deemed not necessary
slevis-lmwg Mar 13, 2025
58966dd
Merge remote-tracking branch 'escomp/master' into mk_crujra_default
slevis-lmwg Mar 14, 2025
e7707c3
Bug-fix of mistake in 3e6945f that caused tests to fail
slevis-lmwg Mar 14, 2025
5465422
Updated ChangeLog/Sum
slevis-lmwg Mar 17, 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: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -92,15 +92,15 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git
[submodule "cdeps"]
path = components/cdeps
url = https://github.com/ESCOMP/CDEPS.git
fxtag = cdeps1.0.61
fxtag = cdeps1.0.70
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git

[submodule "share"]
path = share
url = https://github.com/ESCOMP/CESM_share
fxtag = share1.1.7
fxtag = share1.1.8
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 README
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ $CTSMROOT/README 09/05/2024

Community Terrestrial Systems Model (CTSM) science version 5.3 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 CRU NCEP or GSWP3 forcing data in
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.

CMEPS is the Community Mediator for Earth Prediction Systems. And CDEPS is the
Expand Down
11 changes: 8 additions & 3 deletions bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case).

<lnd_tuning_mode phys="clm4_5" >clm4_5_CRUv7</lnd_tuning_mode>
<lnd_tuning_mode phys="clm5_0" >clm5_0_cam6.0</lnd_tuning_mode>
<lnd_tuning_mode phys="clm6_0" >clm6_0_GSWP3v1</lnd_tuning_mode>
<lnd_tuning_mode phys="clm6_0" >clm6_0_CRUJRA2024</lnd_tuning_mode>

<!-- Component name for output files (could depdend on the physics version) -->
<compname >clm2</compname>
Expand Down Expand Up @@ -848,8 +848,11 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
</init_interp_attributes>

<!-- 1850 for CLM6.0 -->
<init_interp_attributes sim_year="1850" use_cndv=".false." use_fates=".false." lnd_tuning_mode="clm6_0_GSWP3v1"
>hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.false. glc_nex=10 do_transient_pfts=.false. phys=clm6_0 use_excess_ice=.true.
</init_interp_attributes>
<init_interp_attributes sim_year="1850" use_cndv=".false." use_fates=".false." phys="clm6_0"
>hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.false. glc_nex=10 do_transient_pfts=.false. lnd_tuning_mode=clm6_0_GSWP3v1 use_excess_ice=.true.
>hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.false. glc_nex=10 do_transient_pfts=.false. lnd_tuning_mode=clm6_0_CRUJRA2024 use_excess_ice=.true.
</init_interp_attributes>

<init_interp_attributes sim_year="1850" use_cndv=".false." use_fates=".false." phys="clm6_0"
Expand Down Expand Up @@ -1267,7 +1270,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
>lnd/clm2/initdata_map/clmi.I1850Clm50SpCru.1706-01-01.0.9x1.25_gx1v7_simyr1850_c200806.nc
</finidat>

<!-- CTSM6_0 - use clm6_0_GSWP3v1 BgcCrop at f09 for all clm6_0 options -->
<!-- CTSM6_0 - use clm6_0_CRUJRA2024 BgcCrop at f09 for all clm6_0 options -->
<finidat hgrid="0.9x1.25" mask="gx1v7" use_cn=".true." use_cndv=".false." use_fates=".false."
ic_ymd="18500101" sim_year="1850" do_transient_pfts=".false." use_excess_ice=".true."
ic_tod="0" glc_nec="10" use_crop=".true." irrigate=".false."
Expand Down Expand Up @@ -2363,6 +2366,8 @@ lnd/clm2/surfdata_esmf/NEON/ctsm5.3.0/surfdata_1x1_NEON_TOOL_hist_2000_78pfts_c2
>lnd/clm2/dustemisdata/dst_source2x2tunedcam6-2x2-forCLM_cdf5_c230312.nc</stream_fldfilename_zendersoilerod>
<stream_fldfilename_zendersoilerod dust_emis_method="Zender_2003" zender_soil_erod_source="lnd" lnd_tuning_mode="clm6_0_GSWP3v1"
>lnd/clm2/dustemisdata/dst_source2x2tunedcam6-2x2-forCLM_cdf5_c230312.nc</stream_fldfilename_zendersoilerod>
<stream_fldfilename_zendersoilerod dust_emis_method="Zender_2003" zender_soil_erod_source="lnd" lnd_tuning_mode="clm6_0_CRUJRA2024"
>lnd/clm2/dustemisdata/dst_source2x2tunedcam6-2x2-forCLM_cdf5_c230312.nc</stream_fldfilename_zendersoilerod>

<stream_meshfile_zendersoilerod dust_emis_method="Zender_2003" zender_soil_erod_source="lnd"
>lnd/clm2/dustemisdata/dust_2x2_ESMFmesh_cdf5_c230730.nc</stream_meshfile_zendersoilerod>
Expand Down
6 changes: 3 additions & 3 deletions bld/namelist_files/namelist_definition_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ li2014qianfrc: Reference paper Li, et. al.(2014) tuned with QIAN atmospheric for
li2016crufrc: Reference paper Li, et. al.(2016) tuned with CRU-NCEP atmospheric forcing
li2021gswpfrc: No reference paper yet, tuned with GSWP3 atmospheric forcing
li2024gswpfrc: No reference paper yet, tuned with GSWP3 atmospheric forcing
li2024crujra: No reference paper yet, tuned with CRU-JRA forcing
li2024crujra: No reference paper yet, tuned with CRU-JRA forcing (CRUJRA2024)
</entry>

<entry id="pot_hmn_ign_counts_alpha" type="real" category="clm_physics"
Expand Down Expand Up @@ -2278,10 +2278,10 @@ hist means do NOT use a future scenario, just use historical data.
Land mask description
</entry>

<!-- lnd_tuning_mode, there needs to be a setting for: CRUv7, GSWP3v1, cam6.0, and cam7.0 for each valid physics option -->
<!-- lnd_tuning_mode, there needs to be a setting for: CRUJRA2024, CRUv7, GSWP3v1, cam6.0, and cam7.0 for each valid physics option; exceptions include clm4_5_CRUJRA2024 and clm6_0_CRUv7 -->
<entry id="lnd_tuning_mode" type="char*20" category="default_settings"
group="default_settings"
valid_values="clm4_5_CRUv7,clm4_5_GSWP3v1,clm4_5_cam7.0,clm4_5_cam6.0,clm4_5_cam5.0,clm4_5_cam4.0,clm5_0_cam7.0,clm5_0_cam6.0,clm5_0_cam5.0,clm5_0_cam4.0,clm5_0_CRUv7,clm5_0_GSWP3v1,clm6_0_GSWP3v1,clm6_0_cam7.0,clm6_0_cam6.0,clm6_0_cam5.0,clm6_0_cam4.0">
valid_values="clm4_5_CRUv7,clm4_5_GSWP3v1,clm4_5_cam7.0,clm4_5_cam6.0,clm4_5_cam5.0,clm4_5_cam4.0,clm5_0_cam7.0,clm5_0_cam6.0,clm5_0_cam5.0,clm5_0_cam4.0,clm5_0_CRUv7,clm5_0_GSWP3v1,clm5_0_CRUJRA2024,clm6_0_GSWP3v1,clm6_0_CRUJRA2024,clm6_0_cam7.0,clm6_0_cam6.0,clm6_0_cam5.0,clm6_0_cam4.0">
General configuration of model version and atmospheric forcing to tune the model to run under.
This sets the model to run with constants and initial conditions that were set to run well under
the configuration of model version and atmospheric forcing. To run well constants would need to be changed
Expand Down
5 changes: 3 additions & 2 deletions bld/unit_testers/build-namelist_test.pl
Original file line number Diff line number Diff line change
Expand Up @@ -1980,11 +1980,12 @@ sub cat_and_create_namelistinfile {
my $mode = "-phys $phys";
&make_config_cache($phys);
my @forclist = ();
@forclist = ( "CRUv7", "GSWP3v1", "cam7.0", "cam6.0", "cam5.0", "cam4.0" );
@forclist = ( "CRUJRA2024", "CRUv7", "GSWP3v1", "cam7.0", "cam6.0", "cam5.0", "cam4.0" );
foreach my $forc ( @forclist ) {
foreach my $bgc ( "sp", "bgc" ) {
my $lndtuningmode = "${phys}_${forc}";
if ( $lndtuningmode eq "clm6_0_CRUv7" ) {
if ( $lndtuningmode eq "clm6_0_CRUv7" or
$lndtuningmode eq "clm4_5_CRUJRA2024") {
next;
}
my $clmoptions = "-res $res -mask $mask -sim_year $simyr -envxml_dir . -lnd_tuning_mod $lndtuningmode -bgc $bgc";
Expand Down
1 change: 1 addition & 0 deletions cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ def buildnml(case, caseroot, compname):
"clm5_0_QIAN": "clm5_0_GSWP3v1",
"clm5_0_NLDAS2": "clm5_0_GSWP3v1",
"clm5_0_ERA5": "clm5_0_GSWP3v1",
"clm5_0_CRUJRA2024": "clm5_0_GSWP3v1",
"clm6_0_1PT": "clm6_0_GSWP3v1",
"clm6_0_QIAN": "clm6_0_GSWP3v1",
"clm6_0_NLDAS2": "clm6_0_GSWP3v1",
Expand Down
12 changes: 6 additions & 6 deletions cime_config/config_component.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
Options for all combinations of CLM physics and atm forcing are given. The buildnml and namelist_defaults will narrow it down to the ones
that have been tuned. The buildnml will also warn you if a tuning combination is based on another set.
Atm forcing options:
CRUJRA2024
CRUv7
GSWP3
CAM4.0
Expand All @@ -76,14 +77,13 @@
Other atm forcing options are invalid to run CLM and will result in an error.
</desc>
<default_value>UNSET</default_value>
<!-- 10 forcing options for each CLM physics option: CRUv7, GSWP3, cam7.0, cam6.0, cam5.0, cam4.0, QIAN, 1PT, NLDAS2, ERA5 -->
<valid_values>clm5_0_cam6.0,clm5_0_cam7.0,clm5_0_cam5.0,clm5_0_cam4.0,clm5_0_GSWP3v1,clm5_0_CRUv7,clm5_0_QIAN,clm5_0_1PT,clm5_0_NLDAS2,clm5_0_ERA5,clm4_5_CRUv7,clm4_5_GSWP3v1,clm4_5_QIAN,clm4_5_cam6.0,clm4_5_cam7.0,clm4_5_cam5.0,clm4_5_cam4.0,clm4_5_1PT,clm4_5_NLDAS2,clm4_5_ERA5,clm6_0_CRUv7,clm6_0_GSWP3v1,clm6_0_cam6.0,clm6_0_cam7.0,clm6_0_cam5.0,clm6_0_cam4.0,clm6_0_QIAN,clm6_0_1PT,clm6_0_NLDAS2,clm6_0_ERA5</valid_values>
<!-- List of forcing options for each CLM physics option: CRUJRA2024, CRUv7, GSWP3, cam7.0, cam6.0, cam5.0, cam4.0, QIAN, 1PT, NLDAS2, ERA5 -->
<valid_values>clm5_0_cam6.0,clm5_0_cam7.0,clm5_0_cam5.0,clm5_0_cam4.0,clm5_0_GSWP3v1,clm5_0_CRUJRA2024,clm5_0_CRUv7,clm5_0_QIAN,clm5_0_1PT,clm5_0_NLDAS2,clm5_0_ERA5,clm4_5_CRUv7,clm4_5_GSWP3v1,clm4_5_QIAN,clm4_5_cam6.0,clm4_5_cam7.0,clm4_5_cam5.0,clm4_5_cam4.0,clm4_5_1PT,clm4_5_NLDAS2,clm4_5_ERA5,clm6_0_CRUv7,clm6_0_GSWP3v1,clm6_0_CRUJRA2024,clm6_0_cam6.0,clm6_0_cam7.0,clm6_0_cam5.0,clm6_0_cam4.0,clm6_0_QIAN,clm6_0_1PT,clm6_0_NLDAS2,clm6_0_ERA5</valid_values>
<values match="last">
<!-- Options for atm forcing are: CRU, CRUv7, GSWP3, cam6.0 (also used for DATM%CPLHIST), cam5.0, cam4.0, QIAN, WISOQIA, 1PT, NLDAS2, and ERA5) -->
<!-- Options for atm forcing are: CRUJRA2024, CRUv7, GSWP3, cam6.0 (also used for DATM%CPLHIST), cam5.0, cam4.0, QIAN, WISOQIA, 1PT, NLDAS2, and ERA5) -->
<!-- All the clm4_5 physics options -->
<value compset="SATM_CLM45" >clm4_5_CRUv7</value>
<value compset="DATM%CRUv7_CLM45" >clm4_5_CRUv7</value>
<value compset="DATM%CRU_CLM45" >clm4_5_CRUv7</value>
<value compset="DATM%GSWP3v1_CLM45">clm4_5_GSWP3v1</value>
<value compset="CAM[^_]+_CLM45" >clm4_5_cam6.0</value>
<value compset="CAM40[^_]*_CLM45" >clm4_5_cam4.0</value>
Expand All @@ -97,8 +97,8 @@
<value compset="DATM%NLDAS2_CLM45" >clm4_5_NLDAS2</value>
<value compset="DATM%ERA5_CLM45" >clm4_5_ERA5</value>
<!-- All the clm5_0 physics options -->
<value compset="DATM%CRUJRA2024_CLM50">clm5_0_CRUJRA2024</value>
<value compset="DATM%CRUv7_CLM50" >clm5_0_CRUv7</value>
<value compset="DATM%CRU_CLM50" >clm5_0_CRUv7</value>
<value compset="SATM_CLM50" >clm5_0_GSWP3v1</value>
<value compset="DATM%GSWP3v1_CLM50">clm5_0_GSWP3v1</value>
<value compset="CAM[^_]+_CLM50" >clm5_0_cam6.0</value>
Expand All @@ -113,8 +113,8 @@
<value compset="DATM%NLDAS2_CLM50" >clm5_0_NLDAS2</value>
<value compset="DATM%ERA5_CLM50" >clm5_0_ERA5</value>
<!-- All the clm6_0 physics options -->
<value compset="DATM%CRUJRA2024_CLM60">clm6_0_CRUJRA2024</value>
<value compset="DATM%CRUv7_CLM60" >clm6_0_CRUv7</value>
<value compset="DATM%CRU_CLM60" >clm6_0_CRUv7</value>
<value compset="SATM_CLM60" >clm6_0_GSWP3v1</value>
<value compset="DATM%GSWP3v1_CLM60">clm6_0_GSWP3v1</value>
<value compset="CAM[^_]+_CLM60" >clm6_0_cam6.0</value>
Expand Down
Loading