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

Draft
wants to merge 17 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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 @@ -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.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 @@ -843,8 +843,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 @@ -1262,7 +1265,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 @@ -2357,6 +2360,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 @@ -2220,10 +2220,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 -->
<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,clm6_0_GSWP3v1,clm5_0_CRUJRA2024,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>
<!-- 10 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_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,clm5_0_CRUJRA2024,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