diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index fca4a8315b..c02e20b678 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -27,6 +27,7 @@ d866510188d26d51bcd6d37239283db690af7e82
e096358c832ab292ddfd22dd5878826c7c788968
475831f0fb0e31e97f630eac4e078c886558b61c
fd5f177131d63d39e79a13918390bdfb642d781e
+a51816e0de380300b69db9fc3e2c7fa83b267b64
# Ran SystemTests and python/ctsm through black python formatter
5364ad66eaceb55dde2d3d598fe4ce37ac83a93c
8056ae649c1b37f5e10aaaac79005d6e3a8b2380
@@ -52,3 +53,4 @@ aa04d1f7d86cc2503b98b7e2b2d84dbfff6c316b
045d90f1d80f713eb3ae0ac58f6c2352937f1eb0
753fda3ff0147837231a73c9c728dd9ce47b5997
f112ba0bbf96a61d5a4d354dc0dcbd8b0c68145c
+bd535c710db78420b8e8b9d71d88d8339e899c59
diff --git a/.gitmodules b/.gitmodules
index 87676223a0..bc66fe1682 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -28,7 +28,7 @@
[submodule "fates"]
path = src/fates
url = https://github.com/NGEET/fates
-fxtag = sci.1.79.3_api.37.0.0
+fxtag = sci.1.80.4_api.37.0.0
fxrequired = AlwaysRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/NCAR/fates-release
@@ -44,7 +44,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CISM-wrapper
[submodule "rtm"]
path = components/rtm
url = https://github.com/ESCOMP/RTM
-fxtag = rtm1_0_80
+fxtag = rtm1_0_84
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESCOMP/RTM
@@ -52,7 +52,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/RTM
[submodule "mosart"]
path = components/mosart
url = https://github.com/ESCOMP/MOSART
-fxtag = mosart1.1.02
+fxtag = mosart1.1.06
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESCOMP/MOSART
@@ -76,7 +76,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git
[submodule "cime"]
path = cime
url = https://github.com/ESMCI/cime
-fxtag = cime6.1.37
+fxtag = cime6.1.49
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESMCI/cime
@@ -84,7 +84,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/cime
[submodule "cmeps"]
path = components/cmeps
url = https://github.com/ESCOMP/CMEPS.git
-fxtag = cmeps1.0.16
+fxtag = cmeps1.0.32
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git
@@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git
[submodule "cdeps"]
path = components/cdeps
url = https://github.com/ESCOMP/CDEPS.git
-fxtag = cdeps1.0.53
+fxtag = cdeps1.0.61
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
@@ -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.2
+fxtag = share1.1.6
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
diff --git a/README b/README
index c5c06daae7..af8f2cbaaa 100644
--- a/README
+++ b/README
@@ -126,9 +126,9 @@ cime_config/config_tests.xml ----- Define CTSM specific tests
cime_config/config_pes.xml ------- Define Processor layouts for various CTSM grids and compsets
cime_config/testdefs ------------- Directory for specification of CTSM testing
cime_config/testdefs/ExpectedTestFails.xml -- List of tests that are expected to fail
-cime_config/usermods_dirs -------- Directories of sets of user-modification subdirs
+cime_config/usermods_dirs/clm ---- Directories of sets of user-modification subdirs
(These are directories that add specific user modifications to
- simulations created using "cime/scripts/create_newcase --user-mods-dir".)
+ simulations created using "cime/scripts/create_newcase --user-mods-dir clm/*)
tools/mksurfdata_esmf --------- Directory to build program to create surface dataset
at any resolution.
diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm
index 8783829970..e846c23d9e 100755
--- a/bld/CLMBuildNamelist.pm
+++ b/bld/CLMBuildNamelist.pm
@@ -3399,7 +3399,7 @@ sub setup_logic_mineral_nitrogen_dynamics {
#
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- my @vars = ( "freelivfix_slope_wet", "freelivfix_intercept" );
+ my @vars = ( "freelivfix_slope_wet", "freelivfix_intercept", "nfix_method" );
if ( &value_is_true($nl_flags->{'use_cn'}) && &value_is_true($nl->get_value('use_fun')) ) {
foreach my $var ( @vars ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
@@ -3412,6 +3412,7 @@ sub setup_logic_mineral_nitrogen_dynamics {
}
}
}
+
}
@@ -5216,6 +5217,7 @@ sub write_output_files {
}
push @groups, "clm_humanindex_inparm";
push @groups, "cnmresp_inparm";
+ push @groups, "cnfun_inparm";
push @groups, "photosyns_inparm";
push @groups, "cnfire_inparm";
push @groups, "cn_general";
diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml
index 64b190c6f9..e6aaa53b62 100644
--- a/bld/namelist_files/namelist_defaults_ctsm.xml
+++ b/bld/namelist_files/namelist_defaults_ctsm.xml
@@ -524,10 +524,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
-lnd/clm2/paramdata/ctsm60_params.c241017.nc
-lnd/clm2/paramdata/ctsm51_params.c241017.nc
-lnd/clm2/paramdata/clm50_params.c241017.nc
-lnd/clm2/paramdata/clm45_params.c241017.nc
+lnd/clm2/paramdata/ctsm60_params.c241119.nc
+lnd/clm2/paramdata/clm50_params.c241119.nc
+lnd/clm2/paramdata/clm45_params.c241119.nc
@@ -1894,6 +1893,8 @@ lnd/clm2/surfdata_esmf/NEON/ctsm5.3.0/surfdata_1x1_NEON_TOOL_hist_2000_78pfts_c2
0.0117d000.0006d00
+Houlton
+
0.83d-06
diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml
index 86127e5a6c..e70d991a83 100644
--- a/bld/namelist_files/namelist_definition_ctsm.xml
+++ b/bld/namelist_files/namelist_definition_ctsm.xml
@@ -388,6 +388,11 @@ Slope of free living Nitrogen fixation with annual ET
Intercept of free living Nitrogen fixation with zero annual ET
+
+Choice of nfix parameterization
+
+
If TRUE use the undercanopy stability term used with CLM4.5 (Sakaguchi&Zeng, 2008)
diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl
index 9959632470..d42487cfdb 100755
--- a/bld/unit_testers/build-namelist_test.pl
+++ b/bld/unit_testers/build-namelist_test.pl
@@ -368,7 +368,7 @@ sub cat_and_create_namelistinfile {
my $phys = "clm6_0";
$mode = "-phys $phys";
&make_config_cache($phys);
-my $neondir = "../../cime_config/usermods_dirs/NEON";
+my $neondir = "../../cime_config/usermods_dirs/clm/NEON";
foreach my $site ( "ABBY", "BLAN", "CPER", "DEJU", "GRSM", "HEAL", "KONA", "LENO", "NIWO",
"ONAQ", "PUUM", "SERC", "SRER", "TALL", "TREE", "WOOD", "BARR", "BONA",
"DCFS", "DELA", "GUAN", "JERC", "KONZ", "MLBS", "NOGP", "ORNL", "RMNP",
@@ -421,7 +421,7 @@ sub cat_and_create_namelistinfile {
my $phys = "clm6_0";
$mode = "-phys $phys";
&make_config_cache($phys);
-my $plumdir = "../../cime_config/usermods_dirs/PLUMBER2";
+my $plumdir = "../../cime_config/usermods_dirs/clm/PLUMBER2";
foreach my $site (
"AR-SLu", "AU-Emr", "AU-TTE", "CA-NS1", "CA-SF3", "CN-HaM", "DE-Obe", "ES-ES1", "FR-Gri", "IE-Dri", "IT-LMa", "IT-SRo", "RU-Fyo", "US-Aud", "US-Ho1", "US-Ne2", "US-Syv", "ZM-Mon",
"AT-Neu", "AU-Gin", "AU-Tum", "CA-NS2", "CH-Cha", "CN-Qia", "DE-Seh", "ES-ES2", "FR-Hes", "IT-Amp", "IT-Mal", "JP-SMF", "RU-Zot", "US-Bar", "US-KS2", "US-Ne3", "US-Ton",
diff --git a/cime b/cime
index a8a04e2d9d..b2f271b174 160000
--- a/cime
+++ b/cime
@@ -1 +1 @@
-Subproject commit a8a04e2d9deac572e6f2222b4f893a575308db99
+Subproject commit b2f271b1742533715a05701b1bdd80a24bb2ad77
diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml
index e7a644f7e2..55ca78f1f4 100644
--- a/cime_config/config_component.xml
+++ b/cime_config/config_component.xml
@@ -355,15 +355,15 @@
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/fates_sp
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_deck
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_nociso_deck
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_waccm_deck
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_waccm_nociso_deck
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_deck
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_nociso_deck
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_waccm_deck
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_waccm_nociso_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/clm/fates_sp
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/clm/cmip6_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/clm/cmip6_nociso_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/clm/cmip6_waccm_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/clm/cmip6_waccm_nociso_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/clm/cmip6_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/clm/cmip6_nociso_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/clm/cmip6_waccm_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/clm/cmip6_waccm_nociso_deckrun_component_ctsmenv_case.xml
diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml
index f718582b60..79ead77c74 100644
--- a/cime_config/testdefs/ExpectedTestFails.xml
+++ b/cime_config/testdefs/ExpectedTestFails.xml
@@ -84,21 +84,21 @@
-
+ FAIL#2619This failure relates to the following REP failure.
-
+ FAIL#2619This failure relates to the preceding ERP failure.
-
+ FAIL#2619
@@ -114,7 +114,7 @@
-
+ FAIL#1733
@@ -127,6 +127,27 @@
+
+
+ FAIL
+ #2914
+
+
+
+
+
+ FAIL
+ #2914
+
+
+
+
+
+ FAIL
+ #2905
+
+
+
FAIL
@@ -138,6 +159,34 @@
+
+
+ FAIL
+ #2913
+
+
+
+
+
+ FAIL
+ #2913
+
+
+
+
+
+ FAIL
+ #2913
+
+
+
+
+
+ FAIL
+ #2913
+
+
+
FAIL
@@ -156,6 +205,194 @@
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
+
+ FAIL
+ #2916
+
+
+
+
+
FAIL
@@ -319,6 +556,13 @@
+
+
+ FAIL
+ #2919
+
+
+
diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml
index bb9af4b06a..200468cf53 100644
--- a/cime_config/testdefs/testlist_clm.xml
+++ b/cime_config/testdefs/testlist_clm.xml
@@ -1317,6 +1317,15 @@
+
+
+
+
+
+
+
+
+
@@ -1524,7 +1533,7 @@
-
+
@@ -2412,7 +2421,7 @@
-
+
@@ -2487,7 +2496,7 @@
-
+
diff --git a/cime_config/testdefs/testmods_dirs/clm/ExcessIceStartup_output_sp_exice/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/ExcessIceStartup_output_sp_exice/include_user_mods
index 6d8de3732a..142522f5b3 100644
--- a/cime_config/testdefs/testmods_dirs/clm/ExcessIceStartup_output_sp_exice/include_user_mods
+++ b/cime_config/testdefs/testmods_dirs/clm/ExcessIceStartup_output_sp_exice/include_user_mods
@@ -1,2 +1,2 @@
../monthly
-../../../../usermods_dirs/output_sp_exice
+../../../../usermods_dirs/clm/output_sp_exice
diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesColdHydro/shell_commands b/cime_config/testdefs/testmods_dirs/clm/FatesColdHydro/shell_commands
deleted file mode 100644
index e629e7ca34..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/FatesColdHydro/shell_commands
+++ /dev/null
@@ -1,8 +0,0 @@
-SRCDIR=`./xmlquery SRCROOT --value`
-CASEDIR=`./xmlquery CASEROOT --value`
-FATESDIR=$SRCDIR/src/fates
-FATESPARAMFILE=$CASEDIR/fates_params_hydrograsstempfix.nc
-
-ncgen -o $FATESPARAMFILE $FATESDIR/parameter_files/fates_params_default.cdl
-
-$FATESDIR/tools/modify_fates_paramfile.py --O --fin $FATESPARAMFILE --fout $FATESPARAMFILE --var fates_allom_smode --val 1 --allpfts
diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesColdHydro/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/FatesColdHydro/user_nl_clm
index 318a34dfec..f0bdb388eb 100644
--- a/cime_config/testdefs/testmods_dirs/clm/FatesColdHydro/user_nl_clm
+++ b/cime_config/testdefs/testmods_dirs/clm/FatesColdHydro/user_nl_clm
@@ -2,7 +2,6 @@ hist_mfilt = 365
hist_nhtfrq = -24
hist_empty_htapes = .true.
use_fates_planthydro= .true.
-fates_paramfile = '$CASEROOT/fates_params_hydrograsstempfix.nc'
hist_fincl1 = 'FATES_ERRH2O_SZPF', 'FATES_TRAN_SZPF',
'FATES_SAPFLOW_SZPF', 'FATES_ITERH1_SZPF','FATES_ABSROOT_H2O_SZPF',
'FATES_TRANSROOT_H2O_SZPF','FATES_STEM_H2O_SZPF','FATES_LEAF_H2O_SZPF',
diff --git a/cime_config/testdefs/testmods_dirs/clm/ciso_cwd_hr/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/ciso_cwd_hr/user_nl_clm
index edeb0fce21..8a1e5bb216 100644
--- a/cime_config/testdefs/testmods_dirs/clm/ciso_cwd_hr/user_nl_clm
+++ b/cime_config/testdefs/testmods_dirs/clm/ciso_cwd_hr/user_nl_clm
@@ -1,2 +1,2 @@
-paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm51_ciso_cwd_hr_params.c241017.nc'
+paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm60_ciso_cwd_hr_params.c241119.nc'
hist_fincl1 = 'CWDC_HR','C13_CWDC_HR','C14_CWDC_HR','CWD_HR_L2','CWD_HR_L2_vr','CWD_HR_L3','CWD_HR_L3_vr'
diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50cam7LndTuningMode/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/clm50cam7LndTuningMode/user_nl_datm
new file mode 100644
index 0000000000..c35d3fd9d4
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/clm50cam7LndTuningMode/user_nl_datm
@@ -0,0 +1,2 @@
+iradsw = -1
+nextsw_cday_calc = "cam7"
diff --git a/cime_config/testdefs/testmods_dirs/clm/clm60_monthly_matrixcn_soilCN30/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/clm60_monthly_matrixcn_soilCN30/user_nl_clm
index b1d856797d..d982aea0f0 100644
--- a/cime_config/testdefs/testmods_dirs/clm/clm60_monthly_matrixcn_soilCN30/user_nl_clm
+++ b/cime_config/testdefs/testmods_dirs/clm/clm60_monthly_matrixcn_soilCN30/user_nl_clm
@@ -1,2 +1,2 @@
use_soil_matrixcn = .true.
-paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm60_params_cn30.c241017.nc'
+paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm60_params_cn30.c241119.nc'
diff --git a/cime_config/testdefs/testmods_dirs/clm/clm60cam7LndTuningMode/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/clm60cam7LndTuningMode/user_nl_datm
new file mode 100644
index 0000000000..c35d3fd9d4
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/clm60cam7LndTuningMode/user_nl_datm
@@ -0,0 +1,2 @@
+iradsw = -1
+nextsw_cday_calc = "cam7"
diff --git a/cime_config/testdefs/testmods_dirs/clm/cmip6_deck/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/cmip6_deck/include_user_mods
index 45859d47f6..0f34cfe5cd 100644
--- a/cime_config/testdefs/testmods_dirs/clm/cmip6_deck/include_user_mods
+++ b/cime_config/testdefs/testmods_dirs/clm/cmip6_deck/include_user_mods
@@ -1 +1 @@
-../../../../usermods_dirs/cmip6_deck
+../../../../usermods_dirs/clm/cmip6_deck
diff --git a/cime_config/testdefs/testmods_dirs/clm/flexCN_FUN_BNF/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/flexCN_FUN_BNF/include_user_mods
new file mode 100644
index 0000000000..4fbf11b334
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/flexCN_FUN_BNF/include_user_mods
@@ -0,0 +1 @@
+../flexCN_FUN
diff --git a/cime_config/testdefs/testmods_dirs/clm/flexCN_FUN_BNF/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/flexCN_FUN_BNF/user_nl_clm
new file mode 100644
index 0000000000..8084f982e1
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/flexCN_FUN_BNF/user_nl_clm
@@ -0,0 +1,2 @@
+ nfix_method = 'Bytnerowicz'
+
diff --git a/cime_config/testdefs/testmods_dirs/clm/lilac/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/lilac/include_user_mods
index 7b5f17cf20..6e978f6389 100644
--- a/cime_config/testdefs/testmods_dirs/clm/lilac/include_user_mods
+++ b/cime_config/testdefs/testmods_dirs/clm/lilac/include_user_mods
@@ -1 +1 @@
-../../../../usermods_dirs/lilac
+../../../../usermods_dirs/clm/lilac
diff --git a/cime_config/testdefs/testmods_dirs/clm/newton_krylov_spinup/README b/cime_config/testdefs/testmods_dirs/clm/newton_krylov_spinup/README
index 1363ea696b..4c18c9d65a 100644
--- a/cime_config/testdefs/testmods_dirs/clm/newton_krylov_spinup/README
+++ b/cime_config/testdefs/testmods_dirs/clm/newton_krylov_spinup/README
@@ -1,6 +1,6 @@
slevis 2022/2/1:
This testmod tests the newton_krylov_spinup usermod found in
-cime_config/usermods_dirs/newton_krylov_spinup
+cime_config/usermods_dirs/clm/newton_krylov_spinup
combined with the mimics testmod.
By default this usermod runs for 20 yrs and writes a history file at that
diff --git a/cime_config/testdefs/testmods_dirs/clm/newton_krylov_spinup/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/newton_krylov_spinup/include_user_mods
index 192aa023a8..148f615059 100644
--- a/cime_config/testdefs/testmods_dirs/clm/newton_krylov_spinup/include_user_mods
+++ b/cime_config/testdefs/testmods_dirs/clm/newton_krylov_spinup/include_user_mods
@@ -1,2 +1,2 @@
../mimics
-../../../../usermods_dirs/newton_krylov_spinup
+../../../../usermods_dirs/clm/newton_krylov_spinup
diff --git a/cime_config/testdefs/testmods_dirs/clm/output_bgc_highfreq/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/output_bgc_highfreq/include_user_mods
index de8b9039c8..0336470fa8 100644
--- a/cime_config/testdefs/testmods_dirs/clm/output_bgc_highfreq/include_user_mods
+++ b/cime_config/testdefs/testmods_dirs/clm/output_bgc_highfreq/include_user_mods
@@ -1,2 +1,2 @@
-../../../../usermods_dirs/output_bgc_highfreq
+../../../../usermods_dirs/clm/output_bgc_highfreq
../basic
diff --git a/cime_config/testdefs/testmods_dirs/clm/output_crop_highfreq/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/output_crop_highfreq/include_user_mods
index 770abf5cf9..bd3d4850fa 100644
--- a/cime_config/testdefs/testmods_dirs/clm/output_crop_highfreq/include_user_mods
+++ b/cime_config/testdefs/testmods_dirs/clm/output_crop_highfreq/include_user_mods
@@ -1,2 +1,2 @@
-../../../../usermods_dirs/output_crop_highfreq
+../../../../usermods_dirs/clm/output_crop_highfreq
../basic
diff --git a/cime_config/testdefs/testmods_dirs/clm/output_sp_highfreq/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/output_sp_highfreq/include_user_mods
index 2df730d2d0..81287ac4c4 100644
--- a/cime_config/testdefs/testmods_dirs/clm/output_sp_highfreq/include_user_mods
+++ b/cime_config/testdefs/testmods_dirs/clm/output_sp_highfreq/include_user_mods
@@ -1,3 +1,3 @@
../CLM1PTStartDate
-../../../../usermods_dirs/output_sp_highfreq
+../../../../usermods_dirs/clm/output_sp_highfreq
../basic
diff --git a/cime_config/usermods_dirs/NEON/ABBY/include_user_mods b/cime_config/usermods_dirs/clm/NEON/ABBY/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/ABBY/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/ABBY/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/ABBY/shell_commands b/cime_config/usermods_dirs/clm/NEON/ABBY/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/ABBY/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/ABBY/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/BARR/include_user_mods b/cime_config/usermods_dirs/clm/NEON/BARR/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/BARR/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/BARR/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/BARR/shell_commands b/cime_config/usermods_dirs/clm/NEON/BARR/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/BARR/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/BARR/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/BART/include_user_mods b/cime_config/usermods_dirs/clm/NEON/BART/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/BART/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/BART/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/BART/shell_commands b/cime_config/usermods_dirs/clm/NEON/BART/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/BART/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/BART/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/BLAN/include_user_mods b/cime_config/usermods_dirs/clm/NEON/BLAN/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/BLAN/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/BLAN/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/BLAN/shell_commands b/cime_config/usermods_dirs/clm/NEON/BLAN/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/BLAN/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/BLAN/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/BONA/include_user_mods b/cime_config/usermods_dirs/clm/NEON/BONA/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/BONA/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/BONA/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/BONA/shell_commands b/cime_config/usermods_dirs/clm/NEON/BONA/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/BONA/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/BONA/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/CLBJ/include_user_mods b/cime_config/usermods_dirs/clm/NEON/CLBJ/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/CLBJ/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/CLBJ/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/CLBJ/shell_commands b/cime_config/usermods_dirs/clm/NEON/CLBJ/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/CLBJ/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/CLBJ/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/CPER/include_user_mods b/cime_config/usermods_dirs/clm/NEON/CPER/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/CPER/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/CPER/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/CPER/shell_commands b/cime_config/usermods_dirs/clm/NEON/CPER/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/CPER/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/CPER/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/DCFS/include_user_mods b/cime_config/usermods_dirs/clm/NEON/DCFS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/DCFS/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/DCFS/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/DCFS/shell_commands b/cime_config/usermods_dirs/clm/NEON/DCFS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/DCFS/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/DCFS/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/DEJU/include_user_mods b/cime_config/usermods_dirs/clm/NEON/DEJU/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/DEJU/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/DEJU/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/DEJU/shell_commands b/cime_config/usermods_dirs/clm/NEON/DEJU/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/DEJU/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/DEJU/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/DELA/include_user_mods b/cime_config/usermods_dirs/clm/NEON/DELA/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/DELA/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/DELA/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/DELA/shell_commands b/cime_config/usermods_dirs/clm/NEON/DELA/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/DELA/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/DELA/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/DSNY/include_user_mods b/cime_config/usermods_dirs/clm/NEON/DSNY/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/DSNY/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/DSNY/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/DSNY/shell_commands b/cime_config/usermods_dirs/clm/NEON/DSNY/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/DSNY/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/DSNY/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/ABBY/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/ABBY/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/ABBY/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/ABBY/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/ABBY/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/ABBY/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/ABBY/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/ABBY/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/BARR/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/BARR/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/BARR/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/BARR/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/BARR/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/BARR/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/BARR/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/BARR/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/BART/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/BART/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/BART/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/BART/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/BART/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/BART/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/BART/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/BART/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/BLAN/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/BLAN/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/BLAN/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/BLAN/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/BLAN/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/BLAN/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/BONA/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/BONA/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/BONA/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/BONA/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/BONA/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/BONA/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/BONA/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/BONA/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/CLBJ/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/CLBJ/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/CLBJ/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/CLBJ/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/CLBJ/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/CLBJ/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/CLBJ/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/CLBJ/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/CPER/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/CPER/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/CPER/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/CPER/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/CPER/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/CPER/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/CPER/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/CPER/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/DCFS/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/DCFS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/DCFS/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/DCFS/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/DCFS/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/DCFS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/DCFS/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/DCFS/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/DEJU/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/DEJU/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/DEJU/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/DEJU/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/DEJU/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/DEJU/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/DEJU/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/DEJU/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/DELA/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/DELA/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/DELA/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/DELA/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/DELA/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/DELA/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/DELA/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/DELA/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/DSNY/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/DSNY/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/DSNY/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/DSNY/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/DSNY/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/DSNY/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/DSNY/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/DSNY/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/GRSM/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/GRSM/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/GRSM/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/GRSM/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/GRSM/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/GRSM/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/GRSM/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/GRSM/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/GUAN/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/GUAN/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/GUAN/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/GUAN/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/GUAN/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/GUAN/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/GUAN/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/GUAN/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/HARV/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/HARV/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/HARV/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/HARV/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/HARV/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/HARV/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/HARV/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/HARV/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/HEAL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/HEAL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/HEAL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/HEAL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/HEAL/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/HEAL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/HEAL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/HEAL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/JERC/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/JERC/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/JERC/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/JERC/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/JERC/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/JERC/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/JERC/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/JERC/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/JORN/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/JORN/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/JORN/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/JORN/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/JORN/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/JORN/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/JORN/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/JORN/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/KONZ/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/KONZ/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/KONZ/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/KONZ/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/KONZ/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/KONZ/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/KONZ/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/KONZ/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/LAJA/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/LAJA/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/LAJA/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/LAJA/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/LAJA/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/LAJA/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/LAJA/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/LAJA/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/LENO/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/LENO/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/LENO/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/LENO/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/LENO/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/LENO/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/LENO/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/LENO/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/MLBS/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/MLBS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/MLBS/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/MLBS/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/MLBS/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/MLBS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/MLBS/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/MLBS/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/MOAB/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/MOAB/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/MOAB/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/MOAB/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/MOAB/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/MOAB/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/MOAB/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/MOAB/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/NIWO/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/NIWO/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/NIWO/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/NIWO/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/NIWO/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/NIWO/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/NIWO/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/NIWO/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/NOGP/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/NOGP/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/NOGP/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/NOGP/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/NOGP/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/NOGP/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/NOGP/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/NOGP/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/OAES/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/OAES/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/OAES/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/OAES/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/OAES/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/OAES/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/OAES/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/OAES/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/ONAQ/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/ONAQ/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/ONAQ/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/ONAQ/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/ONAQ/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/ONAQ/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/ORNL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/ORNL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/ORNL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/ORNL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/ORNL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/ORNL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/OSBS/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/OSBS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/OSBS/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/OSBS/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/OSBS/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/OSBS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/OSBS/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/OSBS/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/PUUM/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/PUUM/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/PUUM/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/PUUM/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/PUUM/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/PUUM/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/PUUM/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/PUUM/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/README.md b/cime_config/usermods_dirs/clm/NEON/FATES/README.md
similarity index 75%
rename from cime_config/usermods_dirs/NEON/FATES/README.md
rename to cime_config/usermods_dirs/clm/NEON/FATES/README.md
index 49cd2fc767..2d099771aa 100644
--- a/cime_config/usermods_dirs/NEON/FATES/README.md
+++ b/cime_config/usermods_dirs/clm/NEON/FATES/README.md
@@ -2,7 +2,7 @@
Use these user mods as you would any other user_mods, e.g.:
-`./create_newcase --case FATES_ABBY_test --res CLM_USRDAT --compset I1PtClm60Fates --run-unsupported --user-mods-dir /glade/work/$user/CTSM/cime_config/usermods_dirs/NEON/FATES/ABBY`
+`./create_newcase --case FATES_ABBY_test --res CLM_USRDAT --compset I1PtClm60Fates --run-unsupported --user-mods-dir clm/NEON/FATES/ABBY`
## Note on crop sites KONA and STER
diff --git a/cime_config/usermods_dirs/NEON/FATES/RMNP/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/RMNP/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/RMNP/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/RMNP/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/RMNP/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/RMNP/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/RMNP/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/RMNP/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/SCBI/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/SCBI/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SCBI/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/SCBI/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/SCBI/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/SCBI/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SCBI/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/SCBI/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/SERC/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/SERC/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SERC/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/SERC/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/SERC/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/SERC/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SERC/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/SERC/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/SJER/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/SJER/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SJER/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/SJER/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/SJER/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/SJER/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SJER/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/SJER/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/SOAP/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/SOAP/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SOAP/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/SOAP/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/SOAP/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/SOAP/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SOAP/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/SOAP/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/SRER/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/SRER/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SRER/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/SRER/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/SRER/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/SRER/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/SRER/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/SRER/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/STEI/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/STEI/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/STEI/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/STEI/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/STEI/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/STEI/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/STEI/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/STEI/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/TALL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/TALL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/TALL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/TALL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/TALL/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/TALL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/TALL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/TALL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/TEAK/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/TEAK/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/TEAK/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/TEAK/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/TEAK/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/TEAK/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/TEAK/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/TEAK/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/TOOL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/TOOL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/TOOL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/TOOL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/TOOL/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/TOOL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/TOOL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/TOOL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/TREE/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/TREE/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/TREE/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/TREE/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/TREE/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/TREE/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/TREE/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/TREE/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/UKFS/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/UKFS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/UKFS/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/UKFS/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/UKFS/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/UKFS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/UKFS/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/UKFS/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/UNDE/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/UNDE/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/UNDE/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/UNDE/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/UNDE/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/UNDE/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/WOOD/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/WOOD/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/WOOD/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/WOOD/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/WOOD/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/WOOD/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/WOOD/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/WOOD/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/WREF/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/WREF/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/WREF/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/WREF/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/WREF/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/WREF/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/WREF/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/WREF/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/YELL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/FATES/YELL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/YELL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/FATES/YELL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/FATES/YELL/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/YELL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/YELL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/YELL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/shell_commands b/cime_config/usermods_dirs/clm/NEON/FATES/defaults/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/defaults/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/FATES/defaults/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm b/cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm
rename to cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_clm
diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_cpl b/cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_cpl
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_cpl
rename to cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_cpl
diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_datm_streams b/cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_datm_streams
similarity index 100%
rename from cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_datm_streams
rename to cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_datm_streams
diff --git a/cime_config/usermods_dirs/NEON/GRSM/include_user_mods b/cime_config/usermods_dirs/clm/NEON/GRSM/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/GRSM/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/GRSM/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/GRSM/shell_commands b/cime_config/usermods_dirs/clm/NEON/GRSM/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/GRSM/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/GRSM/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/GUAN/include_user_mods b/cime_config/usermods_dirs/clm/NEON/GUAN/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/GUAN/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/GUAN/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/GUAN/shell_commands b/cime_config/usermods_dirs/clm/NEON/GUAN/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/GUAN/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/GUAN/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/HARV/include_user_mods b/cime_config/usermods_dirs/clm/NEON/HARV/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/HARV/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/HARV/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/HARV/shell_commands b/cime_config/usermods_dirs/clm/NEON/HARV/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/HARV/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/HARV/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/HEAL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/HEAL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/HEAL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/HEAL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/HEAL/shell_commands b/cime_config/usermods_dirs/clm/NEON/HEAL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/HEAL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/HEAL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/JERC/include_user_mods b/cime_config/usermods_dirs/clm/NEON/JERC/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/JERC/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/JERC/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/JERC/shell_commands b/cime_config/usermods_dirs/clm/NEON/JERC/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/JERC/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/JERC/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/JORN/include_user_mods b/cime_config/usermods_dirs/clm/NEON/JORN/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/JORN/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/JORN/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/JORN/shell_commands b/cime_config/usermods_dirs/clm/NEON/JORN/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/JORN/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/JORN/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/KONA/include_user_mods b/cime_config/usermods_dirs/clm/NEON/KONA/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/KONA/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/KONA/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/KONA/shell_commands b/cime_config/usermods_dirs/clm/NEON/KONA/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/KONA/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/KONA/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/KONZ/include_user_mods b/cime_config/usermods_dirs/clm/NEON/KONZ/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/KONZ/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/KONZ/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/KONZ/shell_commands b/cime_config/usermods_dirs/clm/NEON/KONZ/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/KONZ/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/KONZ/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/LAJA/include_user_mods b/cime_config/usermods_dirs/clm/NEON/LAJA/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/LAJA/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/LAJA/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/LAJA/shell_commands b/cime_config/usermods_dirs/clm/NEON/LAJA/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/LAJA/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/LAJA/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/LENO/include_user_mods b/cime_config/usermods_dirs/clm/NEON/LENO/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/LENO/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/LENO/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/LENO/shell_commands b/cime_config/usermods_dirs/clm/NEON/LENO/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/LENO/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/LENO/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/MLBS/include_user_mods b/cime_config/usermods_dirs/clm/NEON/MLBS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/MLBS/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/MLBS/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/MLBS/shell_commands b/cime_config/usermods_dirs/clm/NEON/MLBS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/MLBS/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/MLBS/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/MOAB/include_user_mods b/cime_config/usermods_dirs/clm/NEON/MOAB/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/MOAB/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/MOAB/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/MOAB/shell_commands b/cime_config/usermods_dirs/clm/NEON/MOAB/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/MOAB/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/MOAB/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/NIWO/include_user_mods b/cime_config/usermods_dirs/clm/NEON/NIWO/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/NIWO/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/NIWO/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/NIWO/shell_commands b/cime_config/usermods_dirs/clm/NEON/NIWO/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/NIWO/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/NIWO/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/NOGP/include_user_mods b/cime_config/usermods_dirs/clm/NEON/NOGP/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/NOGP/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/NOGP/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/NOGP/shell_commands b/cime_config/usermods_dirs/clm/NEON/NOGP/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/NOGP/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/NOGP/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/OAES/include_user_mods b/cime_config/usermods_dirs/clm/NEON/OAES/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/OAES/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/OAES/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/OAES/shell_commands b/cime_config/usermods_dirs/clm/NEON/OAES/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/OAES/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/OAES/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/ONAQ/include_user_mods b/cime_config/usermods_dirs/clm/NEON/ONAQ/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/ONAQ/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/ONAQ/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/ONAQ/shell_commands b/cime_config/usermods_dirs/clm/NEON/ONAQ/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/ONAQ/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/ONAQ/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/ORNL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/ORNL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/ORNL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/ORNL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/ORNL/shell_commands b/cime_config/usermods_dirs/clm/NEON/ORNL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/ORNL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/ORNL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/OSBS/include_user_mods b/cime_config/usermods_dirs/clm/NEON/OSBS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/OSBS/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/OSBS/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/OSBS/shell_commands b/cime_config/usermods_dirs/clm/NEON/OSBS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/OSBS/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/OSBS/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/PUUM/include_user_mods b/cime_config/usermods_dirs/clm/NEON/PUUM/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/PUUM/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/PUUM/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/PUUM/shell_commands b/cime_config/usermods_dirs/clm/NEON/PUUM/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/PUUM/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/PUUM/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/RMNP/include_user_mods b/cime_config/usermods_dirs/clm/NEON/RMNP/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/RMNP/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/RMNP/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/RMNP/shell_commands b/cime_config/usermods_dirs/clm/NEON/RMNP/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/RMNP/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/RMNP/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/SCBI/include_user_mods b/cime_config/usermods_dirs/clm/NEON/SCBI/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SCBI/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/SCBI/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/SCBI/shell_commands b/cime_config/usermods_dirs/clm/NEON/SCBI/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SCBI/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/SCBI/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/SERC/include_user_mods b/cime_config/usermods_dirs/clm/NEON/SERC/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SERC/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/SERC/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/SERC/shell_commands b/cime_config/usermods_dirs/clm/NEON/SERC/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SERC/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/SERC/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/SJER/include_user_mods b/cime_config/usermods_dirs/clm/NEON/SJER/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SJER/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/SJER/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/SJER/shell_commands b/cime_config/usermods_dirs/clm/NEON/SJER/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SJER/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/SJER/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/SOAP/include_user_mods b/cime_config/usermods_dirs/clm/NEON/SOAP/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SOAP/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/SOAP/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/SOAP/shell_commands b/cime_config/usermods_dirs/clm/NEON/SOAP/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SOAP/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/SOAP/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/SRER/include_user_mods b/cime_config/usermods_dirs/clm/NEON/SRER/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SRER/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/SRER/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/SRER/shell_commands b/cime_config/usermods_dirs/clm/NEON/SRER/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/SRER/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/SRER/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/STEI/include_user_mods b/cime_config/usermods_dirs/clm/NEON/STEI/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/STEI/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/STEI/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/STEI/shell_commands b/cime_config/usermods_dirs/clm/NEON/STEI/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/STEI/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/STEI/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/STER/include_user_mods b/cime_config/usermods_dirs/clm/NEON/STER/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/STER/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/STER/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/STER/shell_commands b/cime_config/usermods_dirs/clm/NEON/STER/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/STER/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/STER/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/TALL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/TALL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/TALL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/TALL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/TALL/shell_commands b/cime_config/usermods_dirs/clm/NEON/TALL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/TALL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/TALL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/TEAK/include_user_mods b/cime_config/usermods_dirs/clm/NEON/TEAK/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/TEAK/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/TEAK/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/TEAK/shell_commands b/cime_config/usermods_dirs/clm/NEON/TEAK/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/TEAK/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/TEAK/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/TOOL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/TOOL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/TOOL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/TOOL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/TOOL/shell_commands b/cime_config/usermods_dirs/clm/NEON/TOOL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/TOOL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/TOOL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/TREE/include_user_mods b/cime_config/usermods_dirs/clm/NEON/TREE/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/TREE/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/TREE/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/TREE/shell_commands b/cime_config/usermods_dirs/clm/NEON/TREE/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/TREE/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/TREE/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/UKFS/include_user_mods b/cime_config/usermods_dirs/clm/NEON/UKFS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/UKFS/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/UKFS/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/UKFS/shell_commands b/cime_config/usermods_dirs/clm/NEON/UKFS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/UKFS/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/UKFS/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/UNDE/include_user_mods b/cime_config/usermods_dirs/clm/NEON/UNDE/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/UNDE/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/UNDE/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/UNDE/shell_commands b/cime_config/usermods_dirs/clm/NEON/UNDE/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/UNDE/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/UNDE/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/WOOD/include_user_mods b/cime_config/usermods_dirs/clm/NEON/WOOD/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/WOOD/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/WOOD/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/WOOD/shell_commands b/cime_config/usermods_dirs/clm/NEON/WOOD/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/WOOD/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/WOOD/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/WREF/include_user_mods b/cime_config/usermods_dirs/clm/NEON/WREF/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/WREF/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/WREF/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/WREF/shell_commands b/cime_config/usermods_dirs/clm/NEON/WREF/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/WREF/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/WREF/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/YELL/include_user_mods b/cime_config/usermods_dirs/clm/NEON/YELL/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/NEON/YELL/include_user_mods
rename to cime_config/usermods_dirs/clm/NEON/YELL/include_user_mods
diff --git a/cime_config/usermods_dirs/NEON/YELL/shell_commands b/cime_config/usermods_dirs/clm/NEON/YELL/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/YELL/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/YELL/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/defaults/shell_commands b/cime_config/usermods_dirs/clm/NEON/defaults/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/NEON/defaults/shell_commands
rename to cime_config/usermods_dirs/clm/NEON/defaults/shell_commands
diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/clm/NEON/defaults/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/NEON/defaults/user_nl_clm
rename to cime_config/usermods_dirs/clm/NEON/defaults/user_nl_clm
diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_cpl b/cime_config/usermods_dirs/clm/NEON/defaults/user_nl_cpl
similarity index 100%
rename from cime_config/usermods_dirs/NEON/defaults/user_nl_cpl
rename to cime_config/usermods_dirs/clm/NEON/defaults/user_nl_cpl
diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_datm_streams b/cime_config/usermods_dirs/clm/NEON/defaults/user_nl_datm_streams
similarity index 100%
rename from cime_config/usermods_dirs/NEON/defaults/user_nl_datm_streams
rename to cime_config/usermods_dirs/clm/NEON/defaults/user_nl_datm_streams
diff --git a/cime_config/usermods_dirs/PLUMBER2/AR-SLu/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AR-SLu/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AR-SLu/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AR-SLu/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AR-SLu/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AR-SLu/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AR-SLu/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AR-SLu/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AT-Neu/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AT-Neu/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AT-Neu/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AT-Neu/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AT-Neu/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AT-Neu/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AT-Neu/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AT-Neu/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-ASM/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-ASM/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-ASM/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-ASM/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-ASM/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-ASM/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-ASM/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-ASM/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Cow/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Cow/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Cow/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Cow/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Cow/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Cow/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Cow/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Cow/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Cpr/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Cpr/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Cpr/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Cpr/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Cpr/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Cpr/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Cpr/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Cpr/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Ctr/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Ctr/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Ctr/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Ctr/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Ctr/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Ctr/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Ctr/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Ctr/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Cum/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Cum/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Cum/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Cum/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Cum/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Cum/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Cum/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Cum/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-DaP/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-DaP/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-DaP/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-DaP/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-DaP/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-DaP/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-DaP/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-DaP/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-DaS/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-DaS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-DaS/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-DaS/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-DaS/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-DaS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-DaS/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-DaS/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Dry/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Dry/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Dry/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Dry/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Dry/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Dry/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Dry/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Dry/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Emr/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Emr/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Emr/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Emr/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Emr/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Emr/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Emr/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Emr/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-GWW/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-GWW/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-GWW/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-GWW/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-GWW/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-GWW/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-GWW/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-GWW/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Gin/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Gin/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Gin/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Gin/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Gin/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Gin/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Gin/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Gin/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-How/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-How/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-How/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-How/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-How/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-How/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-How/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-How/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Lit/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Lit/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Lit/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Lit/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Lit/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Lit/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Lit/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Lit/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Otw/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Otw/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Otw/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Otw/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Otw/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Otw/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Otw/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Otw/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Rig/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Rig/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Rig/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Rig/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Rig/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Rig/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Rig/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Rig/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Rob/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Rob/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Rob/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Rob/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Rob/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Rob/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Rob/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Rob/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Sam/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Sam/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Sam/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Sam/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Sam/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Sam/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Sam/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Sam/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Stp/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Stp/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Stp/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Stp/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Stp/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Stp/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Stp/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Stp/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-TTE/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-TTE/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-TTE/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-TTE/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-TTE/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-TTE/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-TTE/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-TTE/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Tum/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Tum/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Tum/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Tum/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Tum/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Tum/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Tum/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Tum/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Whr/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Whr/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Whr/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Whr/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Whr/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Whr/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Whr/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Whr/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Wrr/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Wrr/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Wrr/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Wrr/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Wrr/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Wrr/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Wrr/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Wrr/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Ync/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Ync/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Ync/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Ync/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/AU-Ync/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/AU-Ync/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/AU-Ync/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/AU-Ync/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/BE-Bra/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/BE-Bra/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BE-Bra/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/BE-Bra/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/BE-Bra/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/BE-Bra/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BE-Bra/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/BE-Bra/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/BE-Lon/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/BE-Lon/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BE-Lon/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/BE-Lon/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/BE-Lon/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/BE-Lon/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BE-Lon/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/BE-Lon/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/BE-Vie/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/BE-Vie/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BE-Vie/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/BE-Vie/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/BE-Vie/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/BE-Vie/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BE-Vie/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/BE-Vie/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/BR-Sa3/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/BR-Sa3/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BR-Sa3/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/BR-Sa3/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/BR-Sa3/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/BR-Sa3/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BR-Sa3/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/BR-Sa3/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/BW-Ma1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/BW-Ma1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BW-Ma1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/BW-Ma1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/BW-Ma1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/BW-Ma1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/BW-Ma1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/BW-Ma1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS4/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS4/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS4/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS4/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS4/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS4/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS4/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS4/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS5/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS5/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS5/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS5/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS5/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS5/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS5/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS5/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS6/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS6/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS6/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS6/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS6/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS6/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS6/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS6/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS7/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS7/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS7/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS7/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-NS7/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-NS7/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-NS7/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-NS7/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-Qcu/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-Qcu/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-Qcu/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-Qcu/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-Qcu/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-Qcu/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-Qcu/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-Qcu/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-Qfo/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-Qfo/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-Qfo/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-Qfo/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-Qfo/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-Qfo/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-Qfo/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-Qfo/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-SF1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-SF1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-SF1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-SF1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-SF1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-SF1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-SF1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-SF1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-SF2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-SF2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-SF2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-SF2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-SF2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-SF2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-SF2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-SF2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-SF3/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CA-SF3/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-SF3/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-SF3/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CA-SF3/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CA-SF3/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CA-SF3/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CA-SF3/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CH-Cha/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CH-Cha/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CH-Cha/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CH-Cha/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CH-Cha/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CH-Cha/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CH-Cha/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CH-Cha/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CH-Dav/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CH-Dav/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CH-Dav/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CH-Dav/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CH-Dav/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CH-Dav/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CH-Dav/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CH-Dav/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CH-Fru/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CH-Fru/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CH-Fru/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CH-Fru/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CH-Fru/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CH-Fru/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CH-Fru/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CH-Fru/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CH-Oe1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CH-Oe1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CH-Oe1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CH-Oe1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CH-Oe1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CH-Oe1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CH-Oe1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CH-Oe1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Cha/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Cha/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Cha/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Cha/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Cha/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Cha/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Cha/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Cha/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Cng/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Cng/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Cng/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Cng/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Cng/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Cng/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Cng/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Cng/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Dan/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Dan/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Dan/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Dan/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Dan/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Dan/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Dan/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Dan/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Din/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Din/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Din/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Din/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Din/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Din/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Din/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Din/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Du2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Du2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Du2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Du2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Du2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Du2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Du2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Du2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-HaM/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CN-HaM/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-HaM/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-HaM/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-HaM/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CN-HaM/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-HaM/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-HaM/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Qia/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Qia/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Qia/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Qia/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CN-Qia/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CN-Qia/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CN-Qia/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CN-Qia/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/CZ-wet/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/CZ-wet/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CZ-wet/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/CZ-wet/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/CZ-wet/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/CZ-wet/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/CZ-wet/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/CZ-wet/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Bay/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Bay/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Bay/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Bay/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Bay/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Bay/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Bay/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Bay/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Geb/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Geb/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Geb/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Geb/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Geb/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Geb/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Geb/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Geb/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Gri/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Gri/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Gri/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Gri/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Gri/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Gri/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Gri/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Gri/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Hai/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Hai/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Hai/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Hai/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Hai/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Hai/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Hai/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Hai/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Kli/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Kli/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Kli/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Kli/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Kli/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Kli/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Kli/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Kli/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Meh/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Meh/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Meh/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Meh/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Meh/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Meh/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Meh/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Meh/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Obe/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Obe/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Obe/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Obe/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Obe/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Obe/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Obe/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Obe/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Seh/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Seh/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Seh/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Seh/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Seh/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Seh/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Seh/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Seh/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-SfN/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-SfN/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-SfN/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-SfN/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-SfN/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-SfN/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-SfN/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-SfN/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Tha/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Tha/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Tha/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Tha/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Tha/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Tha/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Tha/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Tha/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Wet/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Wet/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Wet/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Wet/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DE-Wet/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DE-Wet/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DE-Wet/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DE-Wet/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-Fou/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DK-Fou/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-Fou/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-Fou/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-Fou/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DK-Fou/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-Fou/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-Fou/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-Lva/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DK-Lva/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-Lva/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-Lva/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-Lva/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DK-Lva/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-Lva/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-Lva/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-Ris/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DK-Ris/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-Ris/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-Ris/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-Ris/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DK-Ris/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-Ris/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-Ris/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-Sor/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DK-Sor/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-Sor/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-Sor/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-Sor/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DK-Sor/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-Sor/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-Sor/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-ZaH/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/DK-ZaH/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-ZaH/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-ZaH/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/DK-ZaH/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/DK-ZaH/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/DK-ZaH/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/DK-ZaH/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-ES1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/ES-ES1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-ES1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-ES1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-ES1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/ES-ES1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-ES1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-ES1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-ES2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/ES-ES2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-ES2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-ES2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-ES2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/ES-ES2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-ES2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-ES2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-LMa/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/ES-LMa/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-LMa/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-LMa/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-LMa/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/ES-LMa/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-LMa/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-LMa/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-LgS/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/ES-LgS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-LgS/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-LgS/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-LgS/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/ES-LgS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-LgS/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-LgS/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-VDA/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/ES-VDA/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-VDA/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-VDA/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/ES-VDA/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/ES-VDA/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ES-VDA/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/ES-VDA/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FI-Hyy/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FI-Hyy/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FI-Hyy/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FI-Hyy/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FI-Hyy/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FI-Hyy/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FI-Hyy/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FI-Hyy/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FI-Kaa/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FI-Kaa/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FI-Kaa/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FI-Kaa/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FI-Kaa/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FI-Kaa/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FI-Kaa/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FI-Kaa/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FI-Lom/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FI-Lom/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FI-Lom/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FI-Lom/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FI-Lom/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FI-Lom/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FI-Lom/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FI-Lom/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FI-Sod/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FI-Sod/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FI-Sod/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FI-Sod/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FI-Sod/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FI-Sod/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FI-Sod/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FI-Sod/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Fon/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Fon/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Fon/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Fon/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Fon/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Fon/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Fon/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Fon/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Gri/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Gri/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Gri/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Gri/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Gri/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Gri/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Gri/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Gri/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Hes/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Hes/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Hes/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Hes/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Hes/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Hes/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Hes/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Hes/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-LBr/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FR-LBr/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-LBr/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-LBr/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-LBr/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FR-LBr/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-LBr/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-LBr/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Lq1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Lq1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Lq1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Lq1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Lq1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Lq1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Lq1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Lq1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Lq2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Lq2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Lq2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Lq2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Lq2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Lq2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Lq2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Lq2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Pue/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Pue/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Pue/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Pue/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/FR-Pue/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/FR-Pue/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/FR-Pue/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/FR-Pue/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/GF-Guy/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/GF-Guy/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/GF-Guy/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/GF-Guy/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/GF-Guy/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/GF-Guy/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/GF-Guy/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/GF-Guy/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/HU-Bug/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/HU-Bug/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/HU-Bug/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/HU-Bug/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/HU-Bug/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/HU-Bug/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/HU-Bug/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/HU-Bug/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/ID-Pag/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/ID-Pag/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ID-Pag/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/ID-Pag/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/ID-Pag/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/ID-Pag/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ID-Pag/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/ID-Pag/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IE-Ca1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IE-Ca1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IE-Ca1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IE-Ca1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IE-Ca1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IE-Ca1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IE-Ca1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IE-Ca1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IE-Dri/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IE-Dri/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IE-Dri/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IE-Dri/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IE-Dri/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IE-Dri/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IE-Dri/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IE-Dri/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Amp/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Amp/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Amp/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Amp/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Amp/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Amp/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Amp/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Amp/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-BCi/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-BCi/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-BCi/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-BCi/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-BCi/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-BCi/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-BCi/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-BCi/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-CA1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-CA1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-CA1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-CA1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-CA1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-CA1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-CA1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-CA1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-CA2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-CA2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-CA2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-CA2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-CA2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-CA2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-CA2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-CA2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-CA3/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-CA3/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-CA3/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-CA3/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-CA3/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-CA3/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-CA3/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-CA3/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Col/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Col/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Col/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Col/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Col/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Col/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Col/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Col/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Cpz/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Cpz/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Cpz/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Cpz/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Cpz/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Cpz/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Cpz/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Cpz/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Isp/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Isp/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Isp/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Isp/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Isp/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Isp/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Isp/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Isp/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-LMa/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-LMa/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-LMa/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-LMa/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-LMa/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-LMa/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-LMa/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-LMa/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Lav/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Lav/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Lav/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Lav/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Lav/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Lav/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Lav/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Lav/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-MBo/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-MBo/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-MBo/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-MBo/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-MBo/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-MBo/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-MBo/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-MBo/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Mal/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Mal/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Mal/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Mal/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Mal/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Mal/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Mal/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Mal/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Noe/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Noe/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Noe/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Noe/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Noe/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Noe/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Noe/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Noe/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Non/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Non/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Non/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Non/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Non/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Non/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Non/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Non/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-PT1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-PT1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-PT1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-PT1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-PT1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-PT1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-PT1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-PT1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Ren/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Ren/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Ren/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Ren/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Ren/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Ren/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Ren/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Ren/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Ro1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Ro1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Ro1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Ro1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Ro1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Ro1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Ro1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Ro1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Ro2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Ro2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Ro2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Ro2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-Ro2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-Ro2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-Ro2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-Ro2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-SR2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-SR2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-SR2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-SR2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-SR2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-SR2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-SR2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-SR2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-SRo/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/IT-SRo/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-SRo/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-SRo/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/IT-SRo/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/IT-SRo/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/IT-SRo/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/IT-SRo/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/JP-SMF/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/JP-SMF/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/JP-SMF/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/JP-SMF/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/JP-SMF/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/JP-SMF/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/JP-SMF/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/JP-SMF/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/NL-Ca1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/NL-Ca1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/NL-Ca1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/NL-Ca1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/NL-Ca1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/NL-Ca1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/NL-Ca1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/NL-Ca1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/NL-Hor/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/NL-Hor/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/NL-Hor/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/NL-Hor/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/NL-Hor/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/NL-Hor/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/NL-Hor/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/NL-Hor/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/NL-Loo/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/NL-Loo/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/NL-Loo/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/NL-Loo/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/NL-Loo/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/NL-Loo/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/NL-Loo/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/NL-Loo/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/PL-wet/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/PL-wet/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/PL-wet/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/PL-wet/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/PL-wet/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/PL-wet/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/PL-wet/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/PL-wet/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/PT-Esp/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/PT-Esp/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/PT-Esp/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/PT-Esp/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/PT-Esp/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/PT-Esp/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/PT-Esp/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/PT-Esp/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/PT-Mi1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/PT-Mi1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/PT-Mi1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/PT-Mi1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/PT-Mi1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/PT-Mi1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/PT-Mi1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/PT-Mi1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/PT-Mi2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/PT-Mi2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/PT-Mi2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/PT-Mi2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/PT-Mi2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/PT-Mi2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/PT-Mi2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/PT-Mi2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/RU-Che/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/RU-Che/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/RU-Che/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/RU-Che/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/RU-Che/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/RU-Che/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/RU-Che/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/RU-Che/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/RU-Fyo/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/RU-Fyo/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/RU-Fyo/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/RU-Fyo/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/RU-Fyo/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/RU-Fyo/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/RU-Fyo/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/RU-Fyo/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/RU-Zot/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/RU-Zot/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/RU-Zot/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/RU-Zot/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/RU-Zot/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/RU-Zot/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/RU-Zot/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/RU-Zot/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/SD-Dem/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/SD-Dem/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/SD-Dem/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/SD-Dem/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/SD-Dem/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/SD-Dem/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/SD-Dem/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/SD-Dem/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/SE-Deg/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/SE-Deg/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/SE-Deg/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/SE-Deg/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/SE-Deg/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/SE-Deg/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/SE-Deg/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/SE-Deg/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/UK-Gri/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/UK-Gri/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/UK-Gri/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/UK-Gri/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/UK-Gri/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/UK-Gri/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/UK-Gri/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/UK-Gri/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/UK-Ham/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/UK-Ham/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/UK-Ham/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/UK-Ham/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/UK-Ham/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/UK-Ham/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/UK-Ham/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/UK-Ham/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/UK-PL3/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/UK-PL3/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/UK-PL3/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/UK-PL3/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/UK-PL3/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/UK-PL3/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/UK-PL3/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/UK-PL3/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-AR1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-AR1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-AR1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-AR1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-AR1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-AR1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-AR1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-AR1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-AR2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-AR2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-AR2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-AR2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-AR2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-AR2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-AR2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-AR2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-ARM/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-ARM/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-ARM/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-ARM/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-ARM/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-ARM/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-ARM/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-ARM/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Aud/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Aud/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Aud/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Aud/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Aud/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Aud/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Aud/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Aud/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Bar/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Bar/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Bar/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Bar/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Bar/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Bar/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Bar/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Bar/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Bkg/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Bkg/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Bkg/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Bkg/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Bkg/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Bkg/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Bkg/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Bkg/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Blo/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Blo/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Blo/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Blo/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Blo/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Blo/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Blo/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Blo/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Bo1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Bo1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Bo1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Bo1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Bo1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Bo1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Bo1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Bo1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Cop/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Cop/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Cop/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Cop/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Cop/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Cop/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Cop/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Cop/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-FPe/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-FPe/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-FPe/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-FPe/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-FPe/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-FPe/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-FPe/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-FPe/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-GLE/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-GLE/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-GLE/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-GLE/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-GLE/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-GLE/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-GLE/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-GLE/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Goo/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Goo/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Goo/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Goo/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Goo/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Goo/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Goo/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Goo/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ha1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ha1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ha1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ha1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ha1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ha1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ha1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ha1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ho1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ho1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ho1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ho1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ho1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ho1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ho1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ho1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-KS2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-KS2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-KS2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-KS2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-KS2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-KS2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-KS2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-KS2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Los/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Los/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Los/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Los/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Los/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Los/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Los/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Los/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-MMS/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-MMS/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-MMS/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-MMS/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-MMS/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-MMS/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-MMS/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-MMS/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-MOz/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-MOz/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-MOz/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-MOz/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-MOz/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-MOz/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-MOz/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-MOz/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Me2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Me2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Me2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Me2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Me2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Me2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Me2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Me2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Me4/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Me4/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Me4/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Me4/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Me4/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Me4/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Me4/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Me4/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Me6/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Me6/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Me6/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Me6/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Me6/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Me6/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Me6/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Me6/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Myb/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Myb/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Myb/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Myb/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Myb/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Myb/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Myb/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Myb/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-NR1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-NR1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-NR1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-NR1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-NR1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-NR1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-NR1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-NR1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ne1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ne1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ne1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ne1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ne1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ne1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ne1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ne1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ne2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ne2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ne2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ne2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ne2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ne2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ne2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ne2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ne3/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ne3/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ne3/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ne3/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ne3/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ne3/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ne3/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ne3/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-PFa/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-PFa/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-PFa/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-PFa/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-PFa/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-PFa/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-PFa/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-PFa/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Prr/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Prr/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Prr/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Prr/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Prr/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Prr/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Prr/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Prr/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SP1/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-SP1/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SP1/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SP1/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SP1/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-SP1/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SP1/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SP1/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SP2/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-SP2/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SP2/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SP2/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SP2/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-SP2/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SP2/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SP2/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SP3/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-SP3/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SP3/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SP3/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SP3/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-SP3/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SP3/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SP3/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SRG/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-SRG/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SRG/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SRG/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SRG/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-SRG/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SRG/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SRG/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SRM/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-SRM/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SRM/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SRM/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-SRM/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-SRM/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-SRM/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-SRM/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Syv/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Syv/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Syv/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Syv/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Syv/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Syv/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Syv/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Syv/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ton/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ton/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ton/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ton/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Ton/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Ton/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Ton/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Ton/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Tw4/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Tw4/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Tw4/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Tw4/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Tw4/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Tw4/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Tw4/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Tw4/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Twt/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Twt/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Twt/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Twt/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Twt/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Twt/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Twt/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Twt/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-UMB/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-UMB/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-UMB/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-UMB/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-UMB/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-UMB/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-UMB/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-UMB/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Var/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Var/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Var/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Var/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Var/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Var/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Var/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Var/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-WCr/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-WCr/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-WCr/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-WCr/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-WCr/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-WCr/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-WCr/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-WCr/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Whs/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Whs/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Whs/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Whs/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Whs/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Whs/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Whs/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Whs/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Wkg/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/US-Wkg/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Wkg/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Wkg/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/US-Wkg/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/US-Wkg/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/US-Wkg/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/US-Wkg/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/ZA-Kru/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/ZA-Kru/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ZA-Kru/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/ZA-Kru/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/ZA-Kru/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/ZA-Kru/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ZA-Kru/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/ZA-Kru/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/ZM-Mon/include_user_mods b/cime_config/usermods_dirs/clm/PLUMBER2/ZM-Mon/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ZM-Mon/include_user_mods
rename to cime_config/usermods_dirs/clm/PLUMBER2/ZM-Mon/include_user_mods
diff --git a/cime_config/usermods_dirs/PLUMBER2/ZM-Mon/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/ZM-Mon/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/ZM-Mon/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/ZM-Mon/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/defaults/shell_commands b/cime_config/usermods_dirs/clm/PLUMBER2/defaults/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/defaults/shell_commands
rename to cime_config/usermods_dirs/clm/PLUMBER2/defaults/shell_commands
diff --git a/cime_config/usermods_dirs/PLUMBER2/defaults/user_nl_clm b/cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/defaults/user_nl_clm
rename to cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_clm
diff --git a/cime_config/usermods_dirs/PLUMBER2/defaults/user_nl_cpl b/cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_cpl
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/defaults/user_nl_cpl
rename to cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_cpl
diff --git a/cime_config/usermods_dirs/PLUMBER2/defaults/user_nl_datm_streams b/cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_datm_streams
similarity index 100%
rename from cime_config/usermods_dirs/PLUMBER2/defaults/user_nl_datm_streams
rename to cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_datm_streams
diff --git a/cime_config/usermods_dirs/_includes/README b/cime_config/usermods_dirs/clm/_includes/README
similarity index 100%
rename from cime_config/usermods_dirs/_includes/README
rename to cime_config/usermods_dirs/clm/_includes/README
diff --git a/cime_config/usermods_dirs/_includes/cmip6_carbon_isotopes/user_nl_clm b/cime_config/usermods_dirs/clm/_includes/cmip6_carbon_isotopes/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/_includes/cmip6_carbon_isotopes/user_nl_clm
rename to cime_config/usermods_dirs/clm/_includes/cmip6_carbon_isotopes/user_nl_clm
diff --git a/cime_config/usermods_dirs/_includes/cmip6_glaciers_cplhist/user_nl_cpl b/cime_config/usermods_dirs/clm/_includes/cmip6_glaciers_cplhist/user_nl_cpl
similarity index 100%
rename from cime_config/usermods_dirs/_includes/cmip6_glaciers_cplhist/user_nl_cpl
rename to cime_config/usermods_dirs/clm/_includes/cmip6_glaciers_cplhist/user_nl_cpl
diff --git a/cime_config/usermods_dirs/_includes/cmip6_glaciers_virtual_antarctica/user_nl_clm b/cime_config/usermods_dirs/clm/_includes/cmip6_glaciers_virtual_antarctica/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/_includes/cmip6_glaciers_virtual_antarctica/user_nl_clm
rename to cime_config/usermods_dirs/clm/_includes/cmip6_glaciers_virtual_antarctica/user_nl_clm
diff --git a/cime_config/usermods_dirs/_includes/output_base/README b/cime_config/usermods_dirs/clm/_includes/output_base/README
similarity index 100%
rename from cime_config/usermods_dirs/_includes/output_base/README
rename to cime_config/usermods_dirs/clm/_includes/output_base/README
diff --git a/cime_config/usermods_dirs/_includes/output_base/user_nl_clm b/cime_config/usermods_dirs/clm/_includes/output_base/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/_includes/output_base/user_nl_clm
rename to cime_config/usermods_dirs/clm/_includes/output_base/user_nl_clm
diff --git a/cime_config/usermods_dirs/_includes/output_base_highfreq/README b/cime_config/usermods_dirs/clm/_includes/output_base_highfreq/README
similarity index 100%
rename from cime_config/usermods_dirs/_includes/output_base_highfreq/README
rename to cime_config/usermods_dirs/clm/_includes/output_base_highfreq/README
diff --git a/cime_config/usermods_dirs/_includes/output_base_highfreq/include_user_mods b/cime_config/usermods_dirs/clm/_includes/output_base_highfreq/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/_includes/output_base_highfreq/include_user_mods
rename to cime_config/usermods_dirs/clm/_includes/output_base_highfreq/include_user_mods
diff --git a/cime_config/usermods_dirs/_includes/output_base_highfreq/user_nl_clm b/cime_config/usermods_dirs/clm/_includes/output_base_highfreq/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/_includes/output_base_highfreq/user_nl_clm
rename to cime_config/usermods_dirs/clm/_includes/output_base_highfreq/user_nl_clm
diff --git a/cime_config/usermods_dirs/cmip6_deck/include_user_mods b/cime_config/usermods_dirs/clm/cmip6_deck/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/cmip6_deck/include_user_mods
rename to cime_config/usermods_dirs/clm/cmip6_deck/include_user_mods
diff --git a/cime_config/usermods_dirs/cmip6_evolving_icesheet/include_user_mods b/cime_config/usermods_dirs/clm/cmip6_evolving_icesheet/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/cmip6_evolving_icesheet/include_user_mods
rename to cime_config/usermods_dirs/clm/cmip6_evolving_icesheet/include_user_mods
diff --git a/cime_config/usermods_dirs/cmip6_evolving_icesheet/user_nl_clm b/cime_config/usermods_dirs/clm/cmip6_evolving_icesheet/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/cmip6_evolving_icesheet/user_nl_clm
rename to cime_config/usermods_dirs/clm/cmip6_evolving_icesheet/user_nl_clm
diff --git a/cime_config/usermods_dirs/cmip6_waccm_deck/README b/cime_config/usermods_dirs/clm/cmip6_waccm_deck/README
similarity index 100%
rename from cime_config/usermods_dirs/cmip6_waccm_deck/README
rename to cime_config/usermods_dirs/clm/cmip6_waccm_deck/README
diff --git a/cime_config/usermods_dirs/cmip6_waccm_deck/include_user_mods b/cime_config/usermods_dirs/clm/cmip6_waccm_deck/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/cmip6_waccm_deck/include_user_mods
rename to cime_config/usermods_dirs/clm/cmip6_waccm_deck/include_user_mods
diff --git a/cime_config/usermods_dirs/cmip6_waccm_deck/shell_commands b/cime_config/usermods_dirs/clm/cmip6_waccm_deck/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/cmip6_waccm_deck/shell_commands
rename to cime_config/usermods_dirs/clm/cmip6_waccm_deck/shell_commands
diff --git a/cime_config/usermods_dirs/cmip6_waccm_nociso_deck/README b/cime_config/usermods_dirs/clm/cmip6_waccm_nociso_deck/README
similarity index 100%
rename from cime_config/usermods_dirs/cmip6_waccm_nociso_deck/README
rename to cime_config/usermods_dirs/clm/cmip6_waccm_nociso_deck/README
diff --git a/cime_config/usermods_dirs/cmip6_waccm_nociso_deck/include_user_mods b/cime_config/usermods_dirs/clm/cmip6_waccm_nociso_deck/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/cmip6_waccm_nociso_deck/include_user_mods
rename to cime_config/usermods_dirs/clm/cmip6_waccm_nociso_deck/include_user_mods
diff --git a/cime_config/usermods_dirs/f09_37x288pt_PanBoreal/shell_commands b/cime_config/usermods_dirs/clm/f09_37x288pt_PanBoreal/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/f09_37x288pt_PanBoreal/shell_commands
rename to cime_config/usermods_dirs/clm/f09_37x288pt_PanBoreal/shell_commands
diff --git a/cime_config/usermods_dirs/f09_37x288pt_PanBoreal/user_nl_clm b/cime_config/usermods_dirs/clm/f09_37x288pt_PanBoreal/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/f09_37x288pt_PanBoreal/user_nl_clm
rename to cime_config/usermods_dirs/clm/f09_37x288pt_PanBoreal/user_nl_clm
diff --git a/cime_config/usermods_dirs/fates_sp/user_nl_clm b/cime_config/usermods_dirs/clm/fates_sp/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/fates_sp/user_nl_clm
rename to cime_config/usermods_dirs/clm/fates_sp/user_nl_clm
diff --git a/cime_config/usermods_dirs/lilac/README b/cime_config/usermods_dirs/clm/lilac/README
similarity index 100%
rename from cime_config/usermods_dirs/lilac/README
rename to cime_config/usermods_dirs/clm/lilac/README
diff --git a/cime_config/usermods_dirs/lilac/user_nl_ctsm b/cime_config/usermods_dirs/clm/lilac/user_nl_ctsm
similarity index 100%
rename from cime_config/usermods_dirs/lilac/user_nl_ctsm
rename to cime_config/usermods_dirs/clm/lilac/user_nl_ctsm
diff --git a/cime_config/usermods_dirs/newton_krylov_spinup/README b/cime_config/usermods_dirs/clm/newton_krylov_spinup/README
similarity index 100%
rename from cime_config/usermods_dirs/newton_krylov_spinup/README
rename to cime_config/usermods_dirs/clm/newton_krylov_spinup/README
diff --git a/cime_config/usermods_dirs/newton_krylov_spinup/shell_commands b/cime_config/usermods_dirs/clm/newton_krylov_spinup/shell_commands
similarity index 100%
rename from cime_config/usermods_dirs/newton_krylov_spinup/shell_commands
rename to cime_config/usermods_dirs/clm/newton_krylov_spinup/shell_commands
diff --git a/cime_config/usermods_dirs/newton_krylov_spinup/user_nl_clm b/cime_config/usermods_dirs/clm/newton_krylov_spinup/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/newton_krylov_spinup/user_nl_clm
rename to cime_config/usermods_dirs/clm/newton_krylov_spinup/user_nl_clm
diff --git a/cime_config/usermods_dirs/output_bgc/include_user_mods b/cime_config/usermods_dirs/clm/output_bgc/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/output_bgc/include_user_mods
rename to cime_config/usermods_dirs/clm/output_bgc/include_user_mods
diff --git a/cime_config/usermods_dirs/output_bgc/user_nl_clm b/cime_config/usermods_dirs/clm/output_bgc/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/output_bgc/user_nl_clm
rename to cime_config/usermods_dirs/clm/output_bgc/user_nl_clm
diff --git a/cime_config/usermods_dirs/output_bgc_highfreq/include_user_mods b/cime_config/usermods_dirs/clm/output_bgc_highfreq/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/output_bgc_highfreq/include_user_mods
rename to cime_config/usermods_dirs/clm/output_bgc_highfreq/include_user_mods
diff --git a/cime_config/usermods_dirs/output_bgc_highfreq/user_nl_clm b/cime_config/usermods_dirs/clm/output_bgc_highfreq/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/output_bgc_highfreq/user_nl_clm
rename to cime_config/usermods_dirs/clm/output_bgc_highfreq/user_nl_clm
diff --git a/cime_config/usermods_dirs/output_crop/include_user_mods b/cime_config/usermods_dirs/clm/output_crop/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/output_crop/include_user_mods
rename to cime_config/usermods_dirs/clm/output_crop/include_user_mods
diff --git a/cime_config/usermods_dirs/output_crop/user_nl_clm b/cime_config/usermods_dirs/clm/output_crop/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/output_crop/user_nl_clm
rename to cime_config/usermods_dirs/clm/output_crop/user_nl_clm
diff --git a/cime_config/usermods_dirs/output_crop_highfreq/include_user_mods b/cime_config/usermods_dirs/clm/output_crop_highfreq/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/output_crop_highfreq/include_user_mods
rename to cime_config/usermods_dirs/clm/output_crop_highfreq/include_user_mods
diff --git a/cime_config/usermods_dirs/output_sp/include_user_mods b/cime_config/usermods_dirs/clm/output_sp/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/output_sp/include_user_mods
rename to cime_config/usermods_dirs/clm/output_sp/include_user_mods
diff --git a/cime_config/usermods_dirs/output_sp/user_nl_clm b/cime_config/usermods_dirs/clm/output_sp/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/output_sp/user_nl_clm
rename to cime_config/usermods_dirs/clm/output_sp/user_nl_clm
diff --git a/cime_config/usermods_dirs/output_sp_exice/include_user_mods b/cime_config/usermods_dirs/clm/output_sp_exice/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/output_sp_exice/include_user_mods
rename to cime_config/usermods_dirs/clm/output_sp_exice/include_user_mods
diff --git a/cime_config/usermods_dirs/output_sp_exice/user_nl_clm b/cime_config/usermods_dirs/clm/output_sp_exice/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/output_sp_exice/user_nl_clm
rename to cime_config/usermods_dirs/clm/output_sp_exice/user_nl_clm
diff --git a/cime_config/usermods_dirs/output_sp_highfreq/include_user_mods b/cime_config/usermods_dirs/clm/output_sp_highfreq/include_user_mods
similarity index 100%
rename from cime_config/usermods_dirs/output_sp_highfreq/include_user_mods
rename to cime_config/usermods_dirs/clm/output_sp_highfreq/include_user_mods
diff --git a/cime_config/usermods_dirs/output_sp_highfreq/user_nl_clm b/cime_config/usermods_dirs/clm/output_sp_highfreq/user_nl_clm
similarity index 100%
rename from cime_config/usermods_dirs/output_sp_highfreq/user_nl_clm
rename to cime_config/usermods_dirs/clm/output_sp_highfreq/user_nl_clm
diff --git a/components/cdeps b/components/cdeps
index f6bc97483a..0750c91753 160000
--- a/components/cdeps
+++ b/components/cdeps
@@ -1 +1 @@
-Subproject commit f6bc97483a1bfb7352c6c5610a13ed898a86990b
+Subproject commit 0750c9175395d3ba3bf8eba65703dee230d08572
diff --git a/components/cmeps b/components/cmeps
index 5b7d76978e..a91cedfe58 160000
--- a/components/cmeps
+++ b/components/cmeps
@@ -1 +1 @@
-Subproject commit 5b7d76978e2fdc661ec2de4ba9834b985decadc6
+Subproject commit a91cedfe58658a9fc391195481137a2d83372c25
diff --git a/components/mosart b/components/mosart
index e2ffe00004..a246344e9b 160000
--- a/components/mosart
+++ b/components/mosart
@@ -1 +1 @@
-Subproject commit e2ffe00004cc416cfc8bcfae2a949474075c1d1f
+Subproject commit a246344e9b28e4bb42313749094fa20d45e2b212
diff --git a/components/rtm b/components/rtm
index b3dfcfbba5..6899b55816 160000
--- a/components/rtm
+++ b/components/rtm
@@ -1 +1 @@
-Subproject commit b3dfcfbba58c151ac5a6ab513b3515ef3deff798
+Subproject commit 6899b55816ee4d9b7cf983d74ba2997b97a13c4d
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 5c0c6ba058..f1cf556e41 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,4 +1,747 @@
===============================================================
+Tag name: ctsm5.3.019
+Originator(s): olyson (Keith Oleson, UCAR/TSS)
+Date: Tue 14 Jan 2025 02:46:11 PM MST
+One-line Summary: Stop running 0th time step
+
+Purpose and description of changes
+----------------------------------
+ As with the last tag, this is also for consistency with CAM.
+
+Contributors
+------------
+ Bill Sacks. In the final steps, also slevis.
+
+Significant changes to scientifically-supported configurations
+--------------------------------------------------------------
+
+Does this tag change answers significantly for any of the following physics configurations?
+(Details of any changes will be given in the "Answer changes" section below.)
+
+ [Put an [X] in the box for any configuration with significant answer changes.]
+
+[ ] clm6_0
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Bugs fixed
+----------
+List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
+ Fixes #925
+
+Notes of particular relevance for developers:
+---------------------------------------------
+Caveats for developers (e.g., code that is duplicated that requires double maintenance):
+ Same or similar changes needed separately in clm, in mosart, and in rtm.
+
+Changes to tests or testing:
+ FAIL RXCROPMATURITYSKIPGEN_Ld1097.f10_f10_mg37.IHistClm60BgcCrop.derecho_intel.clm-cropMonthOutput RUN
+ I did not label this failure EXPECTED because the fix is planned for the next tag, ctsm5.3.020.
+
+ I resolved the izumi nag tests that failed to build (due to a bug in rtm and mosart) by introducing the bug-fix manually, as explained here:
+https://github.com/ESCOMP/CTSM/pull/2084#issuecomment-2584164690
+ In ctsm5.3.020 we plan to update to the rtm/mosart tags that include the fix.
+
+Testing summary:
+----------------
+
+ [PASS means all tests PASS; OK means tests PASS other than expected fails.]
+
+ build-namelist tests (if CLMBuildNamelist.pm has changed):
+
+ derecho - PASS
+
+ python testing (if python code has changed; see instructions in python/README.md; document testing done):
+
+ derecho - PASS
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ derecho ----- OK
+ izumi ------- OK
+
+ mosart
+ derecho ----- OK
+ izumi ------- OK
+
+ rtm
+ derecho ----- OK
+
+If the tag used for baseline comparisons was NOT the previous tag, note that here:
+ I repeated the rtm & mosart test-suites with mosart1.1.04 instead of 06 and rtm1_0_82 instead of 84 (all else the same) and compared against the new baselines mosart1.1.06-ctsm5.3.019 and rtm1_0_84-ctsm5.3.019. These gave b4b identical answers.
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: Yes
+
+ Summarize any changes to answers, i.e.,
+ - what code configurations: All
+ - what platforms/compilers: All
+ - nature of change: larger than roundoff/same climate
+
+ Caveat: We see diffs in mosart and cpl output that will be eliminated in ctsm5.3.020. They are discussed here:
+https://github.com/ESCOMP/CTSM/pull/2838#issuecomment-2477608383
+https://github.com/ESCOMP/MOSART/issues/103#issuecomment-2479679014
+
+Other details
+-------------
+List any git submodules updated (cime, rtm, mosart, cism, fates, etc.):
+ rtm and mosart were already updated in the previous tag (ctsm5.3.018) to include the corresponding rtm and mosart tags
+
+Pull Requests that document the changes (include PR ids):
+ https://github.com/ESCOMP/ctsm/pull/2084
+ https://github.com/ESCOMP/MOSART/pull/67
+ https://github.com/ESCOMP/RTM/pull/37
+
+===============================================================
+===============================================================
+Tag name: ctsm5.3.018
+Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310)
+Date: Fri 10 Jan 2025 05:37:08 PM MST
+One-line Summary: Change history time to be the middle of the time bounds
+
+Purpose and description of changes
+----------------------------------
+ Making the change to be consistent with CAM and to make history output more intuitive.
+
+Significant changes to scientifically-supported configurations
+--------------------------------------------------------------
+
+Does this tag change answers significantly for any of the following physics configurations?
+(Details of any changes will be given in the "Answer changes" section below.)
+
+ [Put an [X] in the box for any configuration with significant answer changes.]
+
+[ ] clm6_0
+
+[ ] clm5_1
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Bugs fixed
+----------
+List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
+ Partly addresses issue #1059
+
+Notes of particular relevance for users
+---------------------------------------
+Caveats for users (e.g., need to interpolate initial conditions):
+ The history time variable now equals the middle of the time bounds.
+ Instantaneous history tapes now do not include time bounds.
+ Mixed history tapes do not change the treatment of instantaneous fields or move them to separate tapes, yet.
+
+Notes of particular relevance for developers:
+---------------------------------------------
+Caveats for developers (e.g., code that is duplicated that requires double maintenance):
+ Same changes are needed separately in clm, in mosart, and in rtm.
+
+Changes to tests or testing:
+ This tag introduces changes to the mosart/rtm testlists.
+
+ FAIL RXCROPMATURITYSKIPGEN_Ld1097.f10_f10_mg37.IHistClm60BgcCrop.derecho_intel.clm-cropMonthOutput RUN
+ I did not label this failure EXPECTED because the fix comes in later in this series of "history" tags, in particular ctsm5.3.020.
+
+ I resolved the izumi nag tests that failed to build (due to a bug in rtm and mosart) by introducing the bug-fix manually, as explained here:
+https://github.com/ESCOMP/CTSM/pull/2084#issuecomment-2584164690
+ In the next tag we expect to update to the rtm/mosart tags that include the fix.
+
+Testing summary:
+----------------
+
+ [PASS means all tests PASS; OK means tests PASS other than expected fails.]
+
+ build-namelist tests
+
+ derecho - PASS
+
+ python testing (if python code has changed; see instructions in python/README.md; document testing done):
+
+ derecho - PASS
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ derecho ----- OK
+ izumi ------- OK
+
+ mosart
+ derecho ----- OK
+ izumi ------- OK
+
+ rtm
+ derecho ----- OK
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: Only time variable, plus read caveat
+
+ Summarize any changes to answers, i.e.,
+ - what code configurations: all
+ - what platforms/compilers: all
+ - nature of change: only the time variable
+
+ Caveat: We see diffs in mosart and cpl output that will be eliminated later in this series of "history" tags, in particular ctsm5.3.020. They are discussed here:
+https://github.com/ESCOMP/CTSM/pull/2838#issuecomment-2477608383
+https://github.com/ESCOMP/MOSART/issues/103#issuecomment-2479679014
+
+Other details
+-------------
+List any git submodules updated (cime, rtm, mosart, cism, fates, etc.):
+ rtm, mosart (see related note in ctsm5.3.019)
+
+Pull Requests that document the changes (include PR ids):
+ https://github.com/ESCOMP/ctsm/pull/2838
+ https://github.com/ESCOMP/MOSART/pull/70
+ https://github.com/ESCOMP/RTM/issues/54
+ https://github.com/ESCOMP/MOSART/pull/106
+ https://github.com/ESCOMP/RTM/pull/39
+
+===============================================================
+===============================================================
+Tag name: ctsm5.3.017
+Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310)
+Date: Thu 09 Jan 2025 11:56:43 AM MST
+One-line Summary: Merge tmp-241219 branch to master
+
+Purpose and description of changes
+----------------------------------
+
+Includes three tmp-241219 tags:
+ tmp-241219.n01.ctsm5.3.016 Merge b4b-dev:
+ nfix_method options Houlton (default), Bytnerowicz (option)
+ tmp-241219.n02.ctsm5.3.016 FATES hydro test update
+ tmp-241219.n03.ctsm5.3.016 Bug fix for izumi nag tests to pass (b4b unless using Bytnerowicz)
+
+Significant changes to scientifically-supported configurations
+--------------------------------------------------------------
+
+Does this tag change answers significantly for any of the following physics configurations?
+(Details of any changes will be given in the "Answer changes" section below.)
+
+ [Put an [X] in the box for any configuration with significant answer changes.]
+
+[ ] clm6_0
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Bugs fixed
+----------
+List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
+ Each separate tag documents this information below.
+
+Notes of particular relevance for users
+---------------------------------------
+Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables):
+ nfix_method as explained in tmp-241219.n01.ctsm5.3.016 tag below.
+
+Notes of particular relevance for developers:
+---------------------------------------------
+Changes to tests or testing:
+ New tests as documented in tmp-241219.n03.ctsm5.3.016 tag below.
+
+Testing summary:
+----------------
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ derecho ----- OK (baseline linked to tmp-241219.n03.ctsm5.3.016)
+ izumi ------- OK (baseline linked to tmp-241219.n03.ctsm5.3.016)
+
+ fates tests:
+ derecho ----- No new testing; last baseline is fates-sci.1.80.4_api.37.0.0-tmp-241219.n02.ctsm5.3.016
+ izumi ------- No new testing; see tmp-241219.n02.ctsm5.3.016 tag below
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: Yes, only for aux_clm fates testmods
+
+ Same comment as in tmp-241219.n02.ctsm5.3.016 tag:
+ The FATES tag update includes a number of science and bug fix updates since the
+ last fates tag update, which results in non-B4B changes. These have been reviewed
+ and differ as expected.
+
+ Also, see caveat in Answer changes for tag tmp-241219.n01.ctsm5.3.016.
+
+Other details
+-------------
+List any git submodules updated (cime, rtm, mosart, cism, fates, etc.):
+ fates updated to sci.1.80.4_api.37.0.0
+
+Pull Requests that document the changes (include PR ids):
+ https://github.com/ESCOMP/ctsm/pull/2928
+
+===============================================================
+===============================================================
+Tag name: tmp-241219.n03.ctsm5.3.016
+Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310)
+Date: Thu 09 Jan 2025 11:39:37 AM MST
+One-line Summary: Bug fix for izumi nag tests to pass
+
+Purpose and description of changes
+----------------------------------
+ Allocation statements should have been (0:mxpft) instead of (mxpft).
+ I introduced the bug in a small refactor requested in #2917.
+
+Significant changes to scientifically-supported configurations
+--------------------------------------------------------------
+
+Does this tag change answers significantly for any of the following physics configurations?
+(Details of any changes will be given in the "Answer changes" section below.)
+
+ [Put an [X] in the box for any configuration with significant answer changes.]
+
+[ ] clm6_0
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Bugs fixed
+----------
+List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
+ Fixes #2924
+
+Notes of particular relevance for developers:
+---------------------------------------------
+Changes to tests or testing:
+ Added tests that I should have added in the tmp-241219.n01.ctsm5.3.016 tag:
+ ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-flexCN_FUN_BNF
+ ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.derecho_intel.clm-flexCN_FUN_BNF
+
+Testing summary:
+----------------
+ [PASS means all tests PASS; OK means tests PASS other than expected fails.]
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ derecho ----- OK
+ izumi ------- OK
+
+If the tag used for baseline comparisons was NOT the previous tag, note that here:
+ derecho used tmp-241219.n02.ctsm5.3.016 (i.e. the previous tag)
+ izumi used ctsm5.3.016 because it was the best available baseline
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: No but read caveat.
+
+ Summarize any changes to answers, i.e.,
+ - what code configurations: a few Fates cases
+ - what platforms/compilers: izumi; only because I compared to ctsm5.3.016
+ - nature of change: same as in the tmp-241219.n02.ctsm5.3.016 tag
+
+ Note: Also on izumi I see the following failure in all the tests that 'failed to initialize'
+ that I had to go back to build and run, whether with ./case.build or ./create_test. For example:
+ FAIL ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-noFUN_flexCN BASELINE ctsm5.3.016: ERROR CPRNC failed to open files
+ I am aware that others have also seen this behavior.
+
+Other details
+-------------
+Pull Requests that document the changes (include PR ids):
+ https://github.com/ESCOMP/ctsm/pull/2925
+
+===============================================================
+===============================================================
+Tag name: tmp-241219.n02.ctsm5.3.016
+Originator(s): glemieux (Gregory Lemieux, LBNL, glemieux@lbl.gov)
+Date: Wed 08 Jan 2025 10:52:49 AM MST
+One-line Summary: FATES hydro test update
+
+Purpose and description of changes
+----------------------------------
+
+This minor update reverts a temporary work around for FATES hydro system tests.
+The FATES tag is updated to capture the FATES-side fix to the issue that predicated
+the temporary testing workaround.
+
+Significant changes to scientifically-supported configurations
+--------------------------------------------------------------
+
+Does this tag change answers significantly for any of the following physics configurations?
+(Details of any changes will be given in the "Answer changes" section below.)
+
+ [Put an [X] in the box for any configuration with significant answer changes.]
+
+[ ] clm6_0
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Bugs fixed
+----------
+List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
+
+ #2878 - Remove fates_allom_smode shell_command update in FatesColdHydro testmod
+
+Notes of particular relevance for developers:
+---------------------------------------------
+Changes to tests or testing:
+ FATES hydro tests will no long build a custom parameter file on the fly
+ The one FATES PVT test has been added to expected failure per #2919
+
+Testing summary: regular + fates
+----------------
+ [PASS means all tests PASS; OK means tests PASS other than expected fails.]
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ derecho ----- OK
+ izumi ------- OK (see #2924)
+
+ fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--)
+ derecho ----- OK
+ izumi ------- OK
+
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: Yes, but only for aux_clm fates testmods
+
+ The FATES tag update includes a number of science and bug fix updates since the
+ last fates tag update, which results in non-B4B changes. These have been reviewed
+ and differ as expected.
+
+Other details
+-------------
+List any git submodules updated (cime, rtm, mosart, cism, fates, etc.):
+ fates: sci.1.79.3_api.37.0.0 -> sci.1.80.4_api.37.0.0
+
+Pull Requests that document the changes (include PR ids):
+(https://github.com/ESCOMP/ctsm/pull)
+ https://github.com/ESCOMP/CTSM/pull/2882
+
+===============================================================
+===============================================================
+Tag name: tmp-241219.n01.ctsm5.3.016
+Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310)
+Date: Tue 24 Dec 2024 03:43:01 PM MST
+One-line Summary: Merge b4b-dev
+
+Purpose and description of changes
+----------------------------------
+
+ #2869 Update temperature cost function for symbiotic Nfix in FUN
+
+
+Significant changes to scientifically-supported configurations
+--------------------------------------------------------------
+
+Does this tag change answers significantly for any of the following physics configurations?
+(Details of any changes will be given in the "Answer changes" section below.)
+
+ [Put an [X] in the box for any configuration with significant answer changes.]
+
+[ ] clm6_0
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Bugs fixed
+----------
+List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
+ Resolves #2869
+
+Notes of particular relevance for users
+---------------------------------------
+Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables):
+ New namelist variable: nfix_method
+
+Changes made to namelist defaults (e.g., changed parameter values):
+ nfix_method default: Houlton
+ other available option: Bytnerowicz
+
+
+Testing summary:
+----------------
+
+ [PASS means all tests PASS; OK means tests PASS other than expected fails.]
+
+ build-namelist tests (if CLMBuildNamelist.pm has changed):
+
+ derecho - PASS
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ derecho ----- OK
+ izumi ------- machine seems problematic at the moment
+
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: No, but read caveat.
+
+ Summarize any changes to answers, i.e.,
+ - what code configurations: tests with ciso_cwd_hr testmods
+ - what platforms/compilers: all
+ - nature of change: irrelevant
+
+ Explanation:
+ "diff ctsm60_ciso_cwd_hr_params.c241119.asc ctsm60_params.c241119.asc"
+ differ ONLY in the value of ceta. The previous paramfile for ciso_cwd_hr
+ showed additional diffs, likely due to problems that we have seen before
+ when generating new paramfiles. The ciso_cwd_hr tests would not have shown
+ diffs had the previous paramfile been correct, so I only mention the diffs
+ here for the record.
+
+
+Other details
+-------------
+Pull Requests that document the changes (include PR ids):
+ https://github.com/ESCOMP/ctsm/pull/2869
+
+===============================================================
+===============================================================
+Tag name: ctsm5.3.016
+Originator(s): jedwards and erik (Erik Kluzek,UCAR/TSS,303-497-1326)
+Date: Thu 19 Dec 2024 04:23:39 PM MST
+One-line Summary: Rpointer files for restart now have the simulation timestamp in the filename
+
+Purpose and description of changes
+----------------------------------
+
+Add the simulation timestamp to the rpointer files. Also update submodules with this change
+in CMEPS and CDEPS as well as updated cime to handle it. See the notes below for an explaination
+about this.
+
+Add a "clm" level directory under usermods_dirs so that the component where user-mods reside
+is declared and to make them function the same as test-mods.
+
+
+Significant changes to scientifically-supported configurations
+--------------------------------------------------------------
+
+Does this tag change answers significantly for any of the following physics configurations?
+(Details of any changes will be given in the "Answer changes" section below.)
+
+ [Put an [X] in the box for any configuration with significant answer changes.]
+
+[ ] clm6_0
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Notes of particular relevance for users
+---------------------------------------
+
+Caveats for users (e.g., need to interpolate initial conditions):
+ There are text files that CESM uses to keep track of how far simulations
+ have progressed. They are simple text files that point to the filename of the latest
+ restart file for that component. There is such a file for each component. So for CTSM I cases
+ that's: lnd, cpl, and atm (and rof if it's active). Normally for just extending the length
+ of a simulations -- the user doesn't have to worry about these files.
+
+ However, if there was a problem when a simulation shut down, it's possible that
+ different components will have mismatched restarts and rpointer files. In the past this
+ meant figuring out what restart file should be pointed to in each component rpointer file
+ and correcting it by hand in an editor. There was only the final set of rpointer files that
+ was kept for a case.
+
+ Now, with this update the lnd, cpl, and atm rpointer files have the simulation date in the filenames.
+ So it's easy to spot if the restarts are mismatched for one of the components. Also since
+ there are matching rpointer files for each time restarts are created it's now easier to make
+ sure restarts and rpointer files are all correctly matched. And for a user to take a set of restarts
+ and matching rpointer files to start up from for any part of an existing simulation to start from.
+ This means you don't have to hand edit the rpointer files and make sure you don't make a mistake
+ when you do.
+
+ Old rpointer filenames:
+ rpointer.atm
+ rpointer.cpl
+ rpointer.lnd
+
+ New names:
+ rpointer.atm.YYYY-MM-DD-SSSSS
+ rpointer.cpl.YYYY-MM-DD-SSSSS
+ rpointer.lnd.YYYY-MM-DD-SSSSS
+
+ Where YYYY-MM-DD-SSSSS is the year month day and seconds into the day for the simulation timestamp
+ For example rpointer.lnd.2000-01-01-00000 for a rpointer file for starting at Jan/1st/2000 at midnight
+
+
+ NOTE: BACKWARDS COMPATIBLE
+ For all the components you can use both the new format or old format for the rpointer filenames.
+ So if you are restarting from an existing case before ctsm5.3.016 you CAN use those rpointer filenames
+ that don't have the timestamps in the name.
+
+Notes of particular relevance for developers:
+---------------------------------------------
+
+Caveats for developers (e.g., code that is duplicated that requires double maintenance):
+ There's a lot of testing that failed with this tag, that we'll need to fix soonish.
+ There are issues on the problems and they are marked as expected fails
+
+ On Izumi I had to rebuild a bunch of tests as they failed with run_sys_tests submitted under ctsm_pylib.
+
+ Note, also that MOSART and RTM were NOT updated to use the new format.
+
+Testing summary: regular
+----------------
+ [PASS means all tests PASS; OK means tests PASS other than expected fails.]
+
+ build-namelist tests (if CLMBuildNamelist.pm has changed):
+
+ derecho - PASS (inventoryfileDNE fails as expected)
+
+ python testing (if python code has changed; see instructions in python/README.md; document testing done):
+
+ derecho - PASS
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ derecho ----- OK
+ izumi ------- OK
+
+If the tag used for baseline comparisons was NOT the previous tag, note that here:
+
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: No bit-for-bit
+
+Other details
+-------------
+
+List any git submodules updated (cime, rtm, mosart, cism, fates, etc.): cime, cmeps, cdeps
+ cime to cime6.1.49
+ cmeps to cmeps1.0.32
+ cdeps to cdeps1.0.61
+
+Pull Requests that document the changes (include PR ids):
+(https://github.com/ESCOMP/ctsm/pull)
+ #2757 -- add timestamp to rpointer file
+
+===============================================================
+===============================================================
+Tag name: ctsm5.3.015
+Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326)
+Date: Wed 18 Dec 2024 02:09:40 PM MST
+One-line Summary: Update cdeps with cam7 nextsw cday changes
+
+Purpose and description of changes
+----------------------------------
+
+Update CDEPS with changes for CAM7 nextsw_cday handling. This changes answers
+for CPLHIST cases. We also changed the cam7LndTuningMode tests to turn this on
+for DATM to more closely match what CAM7 does.
+
+Significant changes to scientifically-supported configurations
+--------------------------------------------------------------
+
+Does this tag change answers significantly for any of the following physics configurations?
+(Details of any changes will be given in the "Answer changes" section below.)
+
+ [Put an [X] in the box for any configuration with significant answer changes.]
+
+[ ] clm6_0
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Bugs fixed
+----------
+
+List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
+ Fixes: #2897 Update CDEPS to bring in DATM change regarding nextsw_cday changing answers in CPLHIST cases
+
+Notes of particular relevance for users
+---------------------------------------
+
+Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables):
+ New namelist parameter for DATM: nextsw_cday_calc
+ defaults to cam6, set to cam7 for CPLHIST and specific tests
+ Only applies if iradsw is NOT 0 or 1
+
+ Here is the documention on this in the namelist_definitial XML for DATM:
++ For CPLHIST cases, this should agree with the version of CAM (or other atmosphere
++ model) used to generate the CPLHIST forcings; the valid values for this variable are
++ based on this: 'cam6' is appropriate for cases generated with the driver ordering in
++ CAM6 and earlier, and 'cam7' is appropriate for cases generated with the driver
++ ordering in CAM7 and later.
++
++ For 'cam6', the next radiation timestep is set to the present time plus 2 timesteps
++ when mod(tod+dtime,delta_radsw)==0. For 'cam7', the next radiation timestep is set
++ to the present time plus 1 timestep when mod(tod,delta_radsw)==0.
+
+Notes of particular relevance for developers:
+---------------------------------------------
+
+Changes to tests or testing:
+ cam7LndTuningMode testmods changed so that iradsw==-1 (hourly) , and nextsw_cday_calc='cam7'
+
+Testing summary: regular
+----------------
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ derecho ----- OK
+ izumi ------- OK
+
+If the tag used for baseline comparisons was NOT the previous tag, note that here:
+
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: Only for CPLHIST cases, otherwise bit-for-bit
+
+ Summarize any changes to answers, i.e.,
+ - what code configurations: Compsets with DATM^CPLHIST
+ - what platforms/compilers: All
+ - nature of change; larger than roundoff/same climate
+
+Other details
+-------------
+
+List any git submodules updated (cime, rtm, mosart, cism, fates, etc.): cdeps share
+ cdeps to cdeps1.0.57
+ share to share1.1.6
+
+Pull Requests that document the changes (include PR ids):
+(https://github.com/ESCOMP/ctsm/pull)
+ #2900 -- Update cdeps with cam7 nextsw cday changes
+
+===============================================================
+===============================================================
Tag name: ctsm5.3.014
Originator(s): multiple (see contributors below)
Date: Tue 03 Dec 2024 04:31:03 PM MST
diff --git a/doc/ChangeSum b/doc/ChangeSum
index 1ac751ea03..bf027e98fc 100644
--- a/doc/ChangeSum
+++ b/doc/ChangeSum
@@ -1,5 +1,13 @@
Tag Who Date Summary
============================================================================================================================
+ ctsm5.3.019 olyson 01/14/2025 Stop running 0th time step
+ ctsm5.3.018 slevis 01/10/2025 Change history time to be the middle of the time bounds
+ ctsm5.3.017 slevis 01/09/2025 Merge tmp-241219 branch to master
+tmp-241219.n03.ctsm5.3.016 01/09/2025 Bug fix for izumi nag tests to pass (slevis)
+tmp-241219.n02.ctsm5.3.016 01/08/2025 FATES hydro test update (glemieux)
+tmp-241219.n01.ctsm5.3.016 12/24/2024 Merge b4b-dev (slevis)
+ ctsm5.3.016 erik 12/19/2024 Rpointer files for restart now have the simulation date in the filename
+ ctsm5.3.015 erik 12/18/2024 Update cdeps with cam7 nextsw cday changes
ctsm5.3.014 erik 12/03/2024 Bring in several fixes for testing in the previous cesm3_0_beta03/04 tags
ctsm5.3.013 erik 11/26/2024 Merge b4b-dev
ctsm5.3.012 afoster 11/13/2024 update fates tag
diff --git a/python/ctsm/crop_calendars/cropcal_module.py b/python/ctsm/crop_calendars/cropcal_module.py
index 719d352665..3ea084e1d2 100644
--- a/python/ctsm/crop_calendars/cropcal_module.py
+++ b/python/ctsm/crop_calendars/cropcal_module.py
@@ -443,10 +443,7 @@ def import_output(
)
# Convert time axis to integer year, saving original as 'cftime'
- this_ds_gs = this_ds_gs.assign_coords(
- {"cftime": this_ds["time_bounds"].isel({"hist_interval": 0})}
- )
- this_ds_gs = this_ds_gs.assign_coords({"time": [t.year for t in this_ds_gs["cftime"].values]})
+ this_ds_gs = convert_time_to_int_year(filename, this_ds, this_ds_gs)
# Get number of harvests
this_ds_gs["NHARVESTS"] = (this_ds_gs["GDDHARV_PERHARV"] > 0).sum(dim="mxharvests")
@@ -458,6 +455,35 @@ def import_output(
return this_ds_gs, any_bad
+def convert_time_to_int_year(filename, this_ds, this_ds_gs):
+ """
+ Convert time axis to integer year, saving original as 'cftime'
+ """
+ if "time_bounds" in this_ds:
+ # Always true before PR #2838, when even files with all instantaneous variables got
+ # time_bounds saved. After that PR (and before the segregation of instantaneous and other
+ # variables onto separate files), files with an instantaneous variable first in their list
+ # do not get time_bounds saved.
+ this_ds_gs = this_ds_gs.assign_coords(
+ {"cftime": this_ds["time_bounds"].isel({"hist_interval": 0})}
+ )
+ this_ds_gs = this_ds_gs.assign_coords(
+ {"time": [t.year for t in this_ds_gs["cftime"].values]}
+ )
+ elif this_ds["time"].attrs["long_name"] == "time at end of time step":
+ # This is an "instantaneous file."
+ this_ds_gs = this_ds_gs.assign_coords({"cftime": this_ds["time"]})
+ this_ds_gs = this_ds_gs.assign_coords(
+ {"time": [t.year - 1 for t in this_ds_gs["cftime"].values]}
+ )
+ else:
+ raise RuntimeError(
+ f"{filename} is neither an instantaneous nor a combined/non-instantaneous file."
+ )
+
+ return this_ds_gs
+
+
def handle_zombie_crops(this_ds):
"""
When doing transient runs, it's somehow possible for crops in newly-active patches to be
diff --git a/python/ctsm/crop_calendars/generate_gdds_functions.py b/python/ctsm/crop_calendars/generate_gdds_functions.py
index 81c71e2a51..e83eb7bb50 100644
--- a/python/ctsm/crop_calendars/generate_gdds_functions.py
+++ b/python/ctsm/crop_calendars/generate_gdds_functions.py
@@ -60,6 +60,7 @@ def error(logger, string):
"""
Simultaneously print ERROR messages to console and to log file
"""
+ print(string)
logger.error(string)
raise RuntimeError(string)
@@ -271,7 +272,7 @@ def import_and_process_1yr(
else:
chunks = None
- # Get h2 file (list)
+ # Get h1 file (list)
h1_pattern = os.path.join(indir, "*h1.*.nc")
h1_filelist = glob.glob(h1_pattern)
if not h1_filelist:
@@ -551,13 +552,14 @@ def import_and_process_1yr(
log(logger, " Importing accumulated GDDs...")
clm_gdd_var = "GDDACCUM"
my_vars = [clm_gdd_var, "GDDHARV"]
- pattern = os.path.join(indir, f"*h2.{this_year-1}-01-01*.nc")
- h2_files = glob.glob(pattern)
- if not h2_files:
- pattern = os.path.join(indir, f"*h2.{this_year-1}-01-01*.nc.base")
+ patterns = [f"*h2.{this_year-1}-01*.nc", f"*h2.{this_year-1}-01*.nc.base"]
+ for p in patterns:
+ pattern = os.path.join(indir, p)
h2_files = glob.glob(pattern)
- if not h2_files:
- error(logger, f"No files found matching pattern '*h2.{this_year-1}-01-01*.nc(.base)'")
+ if h2_files:
+ break
+ if not h2_files:
+ error(logger, f"No files found matching patterns: {patterns}")
h2_ds = import_ds(
h2_files,
my_vars=my_vars,
diff --git a/python/ctsm/lilac_build_ctsm.py b/python/ctsm/lilac_build_ctsm.py
index d7b92517c5..c1350005a8 100644
--- a/python/ctsm/lilac_build_ctsm.py
+++ b/python/ctsm/lilac_build_ctsm.py
@@ -830,7 +830,7 @@ def _stage_runtime_inputs(build_dir, no_pnetcdf):
shutil.copyfile(
src=os.path.join(
- path_to_ctsm_root(), "cime_config", "usermods_dirs", "lilac", "user_nl_ctsm"
+ path_to_ctsm_root(), "cime_config", "usermods_dirs", "clm", "lilac", "user_nl_ctsm"
),
dst=os.path.join(build_dir, _RUNTIME_INPUTS_DIRNAME, "user_nl_ctsm"),
)
diff --git a/python/ctsm/site_and_regional/modify_singlept_site_neon.py b/python/ctsm/site_and_regional/modify_singlept_site_neon.py
index 5c28bd3582..d0a86a9e3c 100755
--- a/python/ctsm/site_and_regional/modify_singlept_site_neon.py
+++ b/python/ctsm/site_and_regional/modify_singlept_site_neon.py
@@ -60,7 +60,7 @@
# -- valid neon sites
valid = glob.glob(
- os.path.join(path_to_ctsm_root(), "cime_config", "usermods_dirs", "NEON", "[!d]*")
+ os.path.join(path_to_ctsm_root(), "cime_config", "usermods_dirs", "clm", "NEON", "[!d]*")
)
valid_neon_sites = [x[-4:] for x in valid] # last 4 letters in each string
diff --git a/python/ctsm/site_and_regional/neon_site.py b/python/ctsm/site_and_regional/neon_site.py
index 70414d9e5c..73264719ae 100755
--- a/python/ctsm/site_and_regional/neon_site.py
+++ b/python/ctsm/site_and_regional/neon_site.py
@@ -45,7 +45,9 @@ def build_base_case(
):
if user_mods_dirs is None:
user_mods_dirs = [
- os.path.join(self.cesmroot, "cime_config", "usermods_dirs", "NEON", self.name)
+ os.path.join(
+ self.cesmroot, "cime_config", "usermods_dirs", "clm", "NEON", self.name
+ )
]
case_path = super().build_base_case(cesmroot, output_root, res, compset, user_mods_dirs)
@@ -94,7 +96,7 @@ def run_case(
name of experiment, default False
"""
user_mods_dirs = [
- os.path.join(self.cesmroot, "cime_config", "usermods_dirs", "NEON", self.name)
+ os.path.join(self.cesmroot, "cime_config", "usermods_dirs", "clm", "NEON", self.name)
]
tower_type = "NEON"
diff --git a/python/ctsm/site_and_regional/plumber2_usermods.py b/python/ctsm/site_and_regional/plumber2_usermods.py
index d98899771b..aba6dfa336 100644
--- a/python/ctsm/site_and_regional/plumber2_usermods.py
+++ b/python/ctsm/site_and_regional/plumber2_usermods.py
@@ -24,7 +24,7 @@ def write_usermods(
Write information to be added to user mods
"""
- site_dir = os.path.join("../../cime_config/usermods_dirs/PLUMBER2/", site)
+ site_dir = os.path.join("../../cime_config/usermods_dirs/clm/PLUMBER2/", site)
if not os.path.isdir(site_dir):
os.makedirs(site_dir, exist_ok=True)
diff --git a/python/ctsm/site_and_regional/run_neon.py b/python/ctsm/site_and_regional/run_neon.py
index 3acbf435b1..ac72554d46 100755
--- a/python/ctsm/site_and_regional/run_neon.py
+++ b/python/ctsm/site_and_regional/run_neon.py
@@ -177,7 +177,7 @@ def main(description):
# The [!Fd]* portion means that we won't retrieve cases that start with:
# F (FATES) or d (default). We should be aware of adding cases that start with these.
valid_neon_sites = glob.glob(
- os.path.join(cesmroot, "cime_config", "usermods_dirs", "NEON", "[!Fd]*")
+ os.path.join(cesmroot, "cime_config", "usermods_dirs", "clm", "NEON", "[!Fd]*")
)
valid_neon_sites = sorted([v.split("/")[-1] for v in valid_neon_sites])
diff --git a/python/ctsm/site_and_regional/tower_site.py b/python/ctsm/site_and_regional/tower_site.py
index 31c959cac7..2ff8999408 100644
--- a/python/ctsm/site_and_regional/tower_site.py
+++ b/python/ctsm/site_and_regional/tower_site.py
@@ -79,21 +79,50 @@ def build_base_case(
Args:
self:
The NeonSite object
- base_root (str):
- root of the base_case CIME
+ cesmroot (str):
+ root of the CESM code to run
+ output_root (str):
+ root of the output directory to write to
res (str):
base_case resolution or gridname
compset (str):
base case compset
+ user_mods_dirs (str):
+ path to the user-mod-directory to use
overwrite (bool) :
Flag to overwrite the case if exists
+ setup_only (bool) :
+ Flag to only do the setup phase
"""
+ #
+ # Error checking on the input
+ #
+ if not os.path.isdir(cesmroot):
+ abort("Input cesmroot directory does NOT exist: " + str(cesmroot))
+ if not isinstance(res, str):
+ abort("Input res is NOT a string as expected: " + str(res))
+ if not isinstance(compset, str):
+ abort("Input compset is NOT a string as expected: " + str(compset))
+ if not isinstance(overwrite, bool):
+ abort("Input compset is NOT a boolean as expected: " + str(compset))
+ if not isinstance(setup_only, bool):
+ abort("Input setup_only is NOT a boolean as expected: " + str(setup_only))
+ if not isinstance(user_mods_dirs, list):
+ abort("Input user_mods_dirs is NOT a list as expected: " + str(user_mods_dirs))
+ for dir in user_mods_dirs:
+ if not os.path.isdir(dir):
+ abort("Input user_mods_dirs directory does NOT exist: " + str(dir))
+
print("---- building a base case -------")
# pylint: disable=attribute-defined-outside-init
self.base_case_root = output_root
# pylint: enable=attribute-defined-outside-init
if not output_root:
output_root = os.getcwd()
+
+ if not os.path.isdir(output_root):
+ abort("Input output_root directory does NOT exist: " + str(output_root))
+
case_path = os.path.join(output_root, self.name)
logger.info("base_case_name : %s", self.name)
diff --git a/python/ctsm/test/test_sys_modify_singlept_site_neon.py b/python/ctsm/test/test_sys_modify_singlept_site_neon.py
index 76a78c3db5..ed7e52ed38 100755
--- a/python/ctsm/test/test_sys_modify_singlept_site_neon.py
+++ b/python/ctsm/test/test_sys_modify_singlept_site_neon.py
@@ -55,7 +55,7 @@ def test_modify_site(self):
sys.argv = [
"modify_singlept_site_neon",
"--neon_site",
- path_to_ctsm_root() + "/ctsm/cime_config/usermods_dirs/NEON/ABBY",
+ path_to_ctsm_root() + "/ctsm/cime_config/usermods_dirs/clm/NEON/ABBY",
]
# TODO: the above requires a full path instead of site name
# because of how run_neon is configured.
diff --git a/python/ctsm/test/test_unit_neon_arg_parse.py b/python/ctsm/test/test_unit_neon_arg_parse.py
index 4a5b0b9e6c..141b41fbc7 100755
--- a/python/ctsm/test/test_unit_neon_arg_parse.py
+++ b/python/ctsm/test/test_unit_neon_arg_parse.py
@@ -60,7 +60,7 @@ def test_function(self):
description = ""
cesmroot = path_to_ctsm_root()
valid_neon_sites = glob.glob(
- os.path.join(cesmroot, "cime_config", "usermods_dirs", "NEON", "[!d]*")
+ os.path.join(cesmroot, "cime_config", "usermods_dirs", "clm", "NEON", "[!d]*")
)
valid_neon_sites = sorted([v.split("/")[-1] for v in valid_neon_sites])
parsed_arguments = get_parser(sys.argv, description, valid_neon_sites)
diff --git a/share b/share
index f6f31fd61c..a48ff8790a 160000
--- a/share
+++ b/share
@@ -1 +1 @@
-Subproject commit f6f31fd61cb8f80aee97311fcca64b3e26b0202c
+Subproject commit a48ff8790a21d3831873ed9f023a43c606a1ef03
diff --git a/src/biogeochem/CNFUNMod.F90 b/src/biogeochem/CNFUNMod.F90
index a6614fe4b9..0af5efe580 100644
--- a/src/biogeochem/CNFUNMod.F90
+++ b/src/biogeochem/CNFUNMod.F90
@@ -26,7 +26,7 @@ module CNFUNMod
use pftconMod , only : pftcon, npcropmin
use decompMod , only : bounds_type
use clm_varctl , only : use_nitrif_denitrif,use_flexiblecn
- use CNSharedParamsMod , only : use_matrixcn
+ use CNSharedParamsMod , only : use_matrixcn
use abortutils , only : endrun
use CNVegstateType , only : cnveg_state_type
use CNVegCarbonStateType , only : cnveg_carbonstate_type
@@ -48,12 +48,18 @@ module CNFUNMod
private
!
! !PUBLIC MEMBER FUNCTIONS:
+ public :: CNFUNReadNML ! Read in namelist variables
public:: readParams ! Read in parameters needed for FUN
public:: CNFUNInit ! FUN calculation initialization
public:: CNFUN ! Run FUN
+ character(len=25) :: nfix_method ! choice of nfix parameterization
+
type, private :: params_type
real(r8) :: ndays_off ! number of days to complete leaf offset
+ real(r8), allocatable :: nfix_tmin(:) ! A BNF parameter
+ real(r8), allocatable :: nfix_topt(:) ! A BNF parameter
+ real(r8), allocatable :: nfix_tmax(:) ! A BNF parameter
end type params_type
!
@@ -82,17 +88,73 @@ module CNFUNMod
contains
!--------------------------------------------------------------------
!---
+ subroutine CNFUNReadNML(NLFilename)
+ !
+ ! !DESCRIPTION:
+ ! Read in namelist variables
+ !
+ ! !USES:
+ use fileutils , only : getavu, relavu, opnfil
+ use shr_nl_mod , only : shr_nl_find_group_name
+ use spmdMod , only : masterproc, mpicom
+ use shr_mpi_mod, only : shr_mpi_bcast
+ use clm_varctl , only : iulog
+ use spmdMod , only : MPI_CHARACTER
+ !
+ ! !ARGUMENTS:
+ character(len=*), intent(in) :: NLFilename ! Namelist filename
+ !
+ ! !LOCAL VARIABLES:
+ integer :: ierr ! error code
+ integer :: unitn ! unit for namelist file
+
+ character(len=*), parameter :: nmlname = 'cnfun_inparm'
+ !-----------------------------------------------------------------------
+
+ namelist /cnfun_inparm/ nfix_method
+
+ ! Initialize options to default values, in case they are not specified in
+ ! the namelist
+
+ if (masterproc) then
+ unitn = getavu()
+ write(iulog,*) 'Read in '//nmlname//' namelist'
+ call opnfil (NLFilename, unitn, 'F')
+ call shr_nl_find_group_name(unitn, nmlname, status=ierr)
+ if (ierr == 0) then
+ read(unitn, nml=cnfun_inparm, iostat=ierr)
+ if (ierr /= 0) then
+ call endrun(msg="ERROR reading "//nmlname//"namelist"//errmsg(sourcefile, __LINE__))
+ end if
+ else
+ call endrun(msg="ERROR finding "//nmlname//"namelist"//errmsg(sourcefile, __LINE__))
+ end if
+ call relavu( unitn )
+ end if
+
+ call mpi_bcast (nfix_method, len(nfix_method), MPI_CHARACTER, 0, mpicom, ierr)
+
+ if (masterproc) then
+ write(iulog,*) ' '
+ write(iulog,*) nmlname//' settings:'
+ write(iulog,nml=cnfun_inparm)
+ write(iulog,*) ' '
+ end if
+
+ end subroutine CNFUNReadNML
+
+ !-----------------------------------------------------------------------
subroutine readParams ( ncid )
!
! !USES:
use ncdio_pio , only : file_desc_t,ncd_io
+ use clm_varpar, only : mxpft
! !ARGUMENTS:
implicit none
type(file_desc_t),intent(inout) :: ncid ! pio netCDF file id
!
! !LOCAL VARIABLES:
- character(len=32) :: subname = 'CNFUNParamsType'
character(len=100) :: errCode = '-Error reading in parameters file:'
logical :: readv ! has variable been read in or not
real(r8) :: tempr ! temporary to read in parameter
@@ -107,6 +169,20 @@ subroutine readParams ( ncid )
if ( .not. readv ) call endrun( msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__))
params_inst%ndays_off=tempr
+ allocate(params_inst%nfix_tmin(0:mxpft))
+ tString='nfix_tmin'
+ call ncd_io(trim(tString), params_inst%nfix_tmin(:), 'read', ncid, readvar=readv)
+ if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__))
+
+ allocate(params_inst%nfix_topt(0:mxpft))
+ tString='nfix_topt'
+ call ncd_io(trim(tString), params_inst%nfix_topt(:), 'read', ncid, readvar=readv)
+ if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__))
+
+ allocate(params_inst%nfix_tmax(0:mxpft))
+ tString='nfix_tmax'
+ call ncd_io(trim(tString), params_inst%nfix_tmax(:), 'read', ncid, readvar=readv)
+ if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__))
end subroutine readParams
@@ -135,7 +211,6 @@ subroutine CNFUNInit (bounds,cnveg_state_inst,cnveg_carbonstate_inst,cnveg_nitro
integer :: nstep ! time step number
integer :: nstep_fun ! Number of
! atmospheric timesteps between calls to FUN
- character(len=32) :: subname = 'CNFUNInit'
!--------------------------------------------------------------------
!---
@@ -290,7 +365,7 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp&
real(r8) :: litterfall_n(bounds%begp:bounds%endp) ! N loss based on the leafc to litter (gN/m2)
real(r8) :: litterfall_n_step(bounds%begp:bounds%endp,1:nstp) ! N loss based on the leafc to litter (gN/m2)
real(r8) :: litterfall_c_step(bounds%begp:bounds%endp,1:nstp) ! N loss based on the leafc to litter (gN/m2)
- real(r8) :: tc_soisno(bounds%begc:bounds%endc,1:nlevdecomp) ! Soil temperature (degrees Celsius)
+ real(r8) :: tc_soisno(bounds%begc:bounds%endc,1:nlevdecomp) ! Soil temperature (degrees Celsius)
real(r8) :: npp_remaining(bounds%begp:bounds%endp,1:nstp) ! A temporary variable for npp_remaining(gC/m2)
real(r8) :: n_passive_step(bounds%begp:bounds%endp,1:nstp) ! N taken up by transpiration at substep(gN/m2)
real(r8) :: n_passive_acc(bounds%begp:bounds%endp) ! N acquired by passive uptake (gN/m2)
@@ -460,14 +535,13 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp&
real(r8) :: total_N_resistance ! C to of N for whole soil -leaf
! pathway
real(r8) :: free_RT_frac=0.0_r8 !fraction of N retranslocation which is automatic/free.
- ! SHould be made into a PFT parameter.
+ ! Should be made into a PFT parameter.
real(r8) :: paid_for_n_retrans
real(r8) :: free_n_retrans
real(r8) :: total_c_spent_retrans
real(r8) :: total_c_accounted_retrans
-
!------end of not_use_nitrif_denitrif------!
!--------------------------------------------------------------------
!------------
@@ -495,9 +569,10 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp&
! fixers, 2 for non fixers. This will become redundant with the
! 'fixer' parameter if it works.
+ character(len=100) :: errCode
!--------------------------------------------------------------------
!---------------------------------
- associate(ivt => patch%itype , & ! Input: [integer (:) ] p
+ associate(ivt => patch%itype , & ! Input: [integer (:) ] p
leafcn => pftcon%leafcn , & ! Input: leaf C:N (gC/gN)
season_decid => pftcon%season_decid , & ! Input: binary flag for seasonal
! -deciduous leaf habit (0 or 1)
@@ -522,10 +597,10 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp&
perecm => pftcon%perecm , & ! Input: The fraction of ECM
! -associated PFT
grperc => pftcon%grperc , & ! Input: growth percentage
- fun_cn_flex_a => pftcon%fun_cn_flex_a , & ! Parameter a of FUN-flexcn link code (def 5)
- fun_cn_flex_b => pftcon%fun_cn_flex_b , & ! Parameter b of FUN-flexcn link code (def 200)
- fun_cn_flex_c => pftcon%fun_cn_flex_c , & ! Parameter b of FUN-flexcn link code (def 80)
- FUN_fracfixers => pftcon%FUN_fracfixers , & ! Fraction of C that can be used for fixation.
+ fun_cn_flex_a => pftcon%fun_cn_flex_a , & ! Parameter a of FUN-flexcn link code (def 5)
+ fun_cn_flex_b => pftcon%fun_cn_flex_b , & ! Parameter b of FUN-flexcn link code (def 200)
+ fun_cn_flex_c => pftcon%fun_cn_flex_c , & ! Parameter b of FUN-flexcn link code (def 80)
+ FUN_fracfixers => pftcon%FUN_fracfixers , & ! Fraction of C that can be used for fixation.
leafcn_offset => cnveg_state_inst%leafcn_offset_patch , & ! Output:
! [real(r8) (:)] Leaf C:N used by FUN
plantCN => cnveg_state_inst%plantCN_patch , & ! Output: [real(r8) (:)] Plant
@@ -1041,9 +1116,7 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp&
npp_to_nonmyc_nh4(:) = 0.0_r8
npp_to_fixation(:) = 0.0_r8
npp_to_retrans(:) = 0.0_r8
-
-
-
+
unmetDemand = .TRUE.
plant_ndemand_pool_step(p,istp) = plant_ndemand_pool(p) * permyc(p,istp)
npp_remaining(p,istp) = availc_pool(p) * permyc(p,istp)
@@ -1051,32 +1124,42 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp&
! if (plant_ndemand_pool_step(p,istp) .gt. 0._r8) then !
! plant_ndemand_pool_step > 0.0
-
+
do j = 1, nlevdecomp
tc_soisno(c,j) = t_soisno(c,j) - tfrz
+
if(pftcon%c3psn(patch%itype(p)).eq.1)then
fixer=1
else
fixer=0
endif
- costNit(j,icostFix) = fun_cost_fix(fixer,a_fix(ivt(p)),b_fix(ivt(p))&
- ,c_fix(ivt(p)) ,big_cost,crootfr(p,j),s_fix(ivt(p)),tc_soisno(c,j))
+
+ select case (nfix_method)
+ case ('Houlton')
+ costNit(j,icostFix) = fun_cost_fix(fixer, &
+ a_fix(ivt(p)), b_fix(ivt(p)), c_fix(ivt(p)), &
+ big_cost, crootfr(p,j), s_fix(ivt(p)), tc_soisno(c,j))
+ case ('Bytnerowicz') ! no acclimation calculation
+ costNit(j,icostFix) = fun_cost_fix_Bytnerowicz_noAcc(fixer, &
+ params_inst%nfix_tmin(ivt(p)), params_inst%nfix_topt(ivt(p)), params_inst%nfix_tmax(ivt(p)), &
+ big_cost,crootfr(p,j), s_fix(ivt(p)), tc_soisno(c,j))
+ case default
+ errCode = ' ERROR: unknown nfix_method value: ' // nfix_method
+ call endrun( msg=trim(errCode) // errMsg(sourcefile, __LINE__))
+ end select
+
end do
cost_fix(p,1:nlevdecomp) = costNit(:,icostFix)
!--------------------------------------------------------------------
- !------------
! If passive uptake is insufficient, consider fixation,
! mycorrhizal
! non-mycorrhizal, storage, and retranslocation.
!--------------------------------------------------------------------
- !------------
!--------------------------------------------------------------------
- !------------
! Costs of active uptake.
!--------------------------------------------------------------------
- !------------
!------Mycorrhizal Uptake Cost-----------------!
do j = 1,nlevdecomp
rootc_dens_step = rootc_dens(p,j) * permyc(p,istp)
@@ -1608,6 +1691,44 @@ real(r8) function fun_cost_fix(fixer,a_fix,b_fix,c_fix,big_cost,crootfr,s_fix, t
end if ! ends up with the fixer or non-fixer decision
end function fun_cost_fix
+
+
+!=========================================================================================
+ real(r8) function fun_cost_fix_Bytnerowicz_noAcc(fixer,nfix_tmin,nfix_topt,nfix_tmax,big_cost,crootfr,s_fix, tc_soisno)
+
+! Description:
+! Calculate the cost of fixing N by nodules.
+! Code Description:
+! This code is written to CTSM5.1 by Will Wieder 11/17/2022, modified for CLM6 11/01/2024
+
+ implicit none
+!--------------------------------------------------------------------------
+! Function result.
+!--------------------------------------------------------------------------
+! real(r8) , intent(out) :: cost_of_n !!! cost of fixing N (kgC/kgN)
+!--------------------------------------------------------------------------
+ integer, intent(in) :: fixer ! flag indicating if plant is a fixer
+ ! 1=yes, otherwise no.
+ real(r8), intent(in) :: nfix_tmin ! As in Bytnerowicz et al. (2022)
+ real(r8), intent(in) :: nfix_topt ! As in Bytnerowicz et al. (2022)
+ real(r8), intent(in) :: nfix_tmax ! As in Bytnerowicz et al. (2022)
+ real(r8), intent(in) :: big_cost ! an arbitrary large cost (gC/gN)
+ real(r8), intent(in) :: crootfr ! fraction of roots for carbon that are in this layer
+ real(r8), intent(in) :: s_fix ! Inverts the temperature function for a cost function
+ real(r8), intent(in) :: tc_soisno ! soil temperature (degrees Celsius)
+
+ if (fixer == 1 .and. crootfr > 1.e-6_r8 .and. tc_soisno > nfix_tmin .and. tc_soisno < nfix_tmax) then
+ fun_cost_fix_Bytnerowicz_noAcc = (-s_fix) / ( ((nfix_tmax-tc_soisno)/(nfix_tmax-nfix_topt))*&
+ ( ((tc_soisno-nfix_tmin)/(nfix_topt-nfix_tmin))**&
+ ((nfix_topt- nfix_tmin)/(nfix_tmax-nfix_topt)) ) )
+ fun_cost_fix_Bytnerowicz_noAcc = min(fun_cost_fix_Bytnerowicz_noAcc,big_cost)
+ else
+ fun_cost_fix_Bytnerowicz_noAcc = big_cost
+ end if ! ends up with the fixer or non-fixer decision
+
+ end function fun_cost_fix_Bytnerowicz_noAcc
+!=========================================================================================
+
!=========================================================================================
real(r8) function fun_cost_active(sminn_layer,big_cost,kc_active,kn_active,rootc_dens,crootfr,smallValue)
diff --git a/src/biogeochem/CNPhenologyMod.F90 b/src/biogeochem/CNPhenologyMod.F90
index 73eadbb1a9..5ad4fb1157 100644
--- a/src/biogeochem/CNPhenologyMod.F90
+++ b/src/biogeochem/CNPhenologyMod.F90
@@ -392,19 +392,7 @@ subroutine CNPhenology (bounds, num_soilc, filter_soilc, num_soilp, &
soilstate_inst, temperature_inst, atm2lnd_inst, wateratm2lndbulk_inst, cnveg_state_inst, &
cnveg_carbonstate_inst, cnveg_nitrogenstate_inst, cnveg_carbonflux_inst, cnveg_nitrogenflux_inst)
- ! BACKWARDS_COMPATIBILITY(wjs, 2022-02-03) Old restart files generated at the end
- ! of the year can indicate that a crop was panted on Jan 1, because that used to be
- ! the time given to the last time step of the year. This would cause problems if we
- ! ran CropPhenology in time step 0, because now time step 0 is labeled as Dec 31,
- ! so CropPhenology would see the crop as having been planted 364 days ago, and so
- ! would want to harvest this newly-planted crop. To avoid this situation, we avoid
- ! calling CropPhenology on time step 0.
- !
- ! This .not. is_first_step() condition can be removed either when we can rely on
- ! all restart files having been generated with
- ! https://github.com/ESCOMP/CTSM/issues/1623 resolved, or we stop having a time
- ! step 0 (https://github.com/ESCOMP/CTSM/issues/925).
- if (num_pcropp > 0 .and. .not. is_first_step()) then
+ if (num_pcropp > 0) then
call CropPhenology(num_pcropp, filter_pcropp, &
waterdiagnosticbulk_inst, temperature_inst, crop_inst, canopystate_inst, cnveg_state_inst, &
cnveg_carbonstate_inst, cnveg_nitrogenstate_inst, cnveg_carbonflux_inst, cnveg_nitrogenflux_inst, &
diff --git a/src/biogeochem/CNVegetationFacade.F90 b/src/biogeochem/CNVegetationFacade.F90
index 706d52da27..dd20ce50a2 100644
--- a/src/biogeochem/CNVegetationFacade.F90
+++ b/src/biogeochem/CNVegetationFacade.F90
@@ -1285,7 +1285,7 @@ subroutine EndOfTimeStepVegDynamics(this, bounds, num_natvegp, filter_natvegp, &
! Call dv (dynamic vegetation) at last time step of year
call t_startf('d2dgvm')
- if (is_end_curr_year() .and. .not. is_first_step()) then
+ if (is_end_curr_year()) then
! Get date info. kyr is used in lpj(). At end of first year, kyr = 2.
call get_curr_date(yr, mon, day, sec)
@@ -1337,7 +1337,7 @@ subroutine WriteHistory(this, bounds)
! Write to CNDV history buffer if appropriate
if (use_cndv) then
- if (is_end_curr_year() .and. .not. is_first_step()) then
+ if (is_end_curr_year()) then
call t_startf('clm_drv_io_hdgvm')
call CNDVHist( bounds, this%dgvs_inst )
if (masterproc) write(iulog,*) 'Annual CNDV calculations are complete'
diff --git a/src/biogeochem/CropType.F90 b/src/biogeochem/CropType.F90
index 0f650a4a9f..54395c4668 100644
--- a/src/biogeochem/CropType.F90
+++ b/src/biogeochem/CropType.F90
@@ -930,7 +930,7 @@ subroutine CropIncrementYear (this, num_pcropp, filter_pcropp)
! Update nyrs when it's the end of the year (unless it's the very start of the
! run). This assumes that, if this patch is active at the end of the year, then it was
! active for the whole year.
- if ((kmo == 1 .and. kda == 1 .and. mcsec == 0) .and. .not. is_first_step()) then
+ if ((kmo == 1 .and. kda == 1 .and. mcsec == 0)) then
do fp = 1, num_pcropp
p = filter_pcropp(fp)
diff --git a/src/biogeochem/dynCNDVMod.F90 b/src/biogeochem/dynCNDVMod.F90
index 76382d175b..d95313772a 100644
--- a/src/biogeochem/dynCNDVMod.F90
+++ b/src/biogeochem/dynCNDVMod.F90
@@ -99,7 +99,7 @@ subroutine dynCNDV_interp( bounds, dgvs_inst)
patch%wtcol(p) = dgvs_inst%fpcgrid_patch(p) + &
wt1 * (dgvs_inst%fpcgridold_patch(p) - dgvs_inst%fpcgrid_patch(p))
- if (mon==1 .and. day==1 .and. sec==dtime .and. nstep>0) then
+ if (mon==1 .and. day==1 .and. sec==dtime) then
dgvs_inst%fpcgridold_patch(p) = dgvs_inst%fpcgrid_patch(p)
end if
end if
diff --git a/src/cpl/lilac/lnd_comp_esmf.F90 b/src/cpl/lilac/lnd_comp_esmf.F90
index 6c8bb2a491..a2424a128f 100644
--- a/src/cpl/lilac/lnd_comp_esmf.F90
+++ b/src/cpl/lilac/lnd_comp_esmf.F90
@@ -559,7 +559,6 @@ subroutine lnd_run(gcomp, import_state, export_state, clock, rc)
integer :: nstep ! time step index
logical :: rstwr ! .true. ==> write restart file before returning
logical :: nlend ! .true. ==> last time-step
- logical :: dosend ! true => send data back to driver
logical :: doalb ! .true. ==> do albedo calculation on this time step
real(r8) :: nextsw_cday ! calday from clock of next radiation computation
real(r8) :: caldayp1 ! ctsm calday plus dtime offset
@@ -626,161 +625,146 @@ subroutine lnd_run(gcomp, import_state, export_state, clock, rc)
!--------------------------------
dtime = get_step_size()
- dosend = .false.
- do while(.not. dosend)
-
- ! We assume that the land model time step matches the coupling interval. However,
- ! we still need this while loop to handle the initial time step (time 0). We may
- ! want to get rid of this time step 0 in the lilac coupling, at which point we
- ! should be able to remove this while loop and dosend variable.
- !
- ! See also https://github.com/ESCOMP/CTSM/issues/925
- nstep = get_nstep()
- if (nstep > 0) then
- dosend = .true.
- end if
- !--------------------------------
- ! Determine calendar day info
- !--------------------------------
+ ! We assume that the land model time step matches the coupling interval.
+ nstep = get_nstep()
- calday = get_curr_calday(reuse_day_365_for_day_366=.true.)
- caldayp1 = get_curr_calday(offset=dtime, reuse_day_365_for_day_366=.true.)
+ !--------------------------------
+ ! Determine calendar day info
+ !--------------------------------
- !--------------------------------
- ! Get time of next atmospheric shortwave calculation
- !--------------------------------
+ calday = get_curr_calday(reuse_day_365_for_day_366=.true.)
+ caldayp1 = get_curr_calday(offset=dtime, reuse_day_365_for_day_366=.true.)
- ! TODO(NS): nextsw_cday should come directly from atmosphere!
- ! For now I am setting nextsw_cday to be the same caldayp1
- !
- ! See also https://github.com/ESCOMP/CTSM/issues/860
+ !--------------------------------
+ ! Get time of next atmospheric shortwave calculation
+ !--------------------------------
- nextsw_cday = calday
- if (masterproc) then
- write(iulog,*) trim(subname) // '... nextsw_cday is : ', nextsw_cday
- end if
+ ! TODO(NS): nextsw_cday should come directly from atmosphere!
+ ! For now I am setting nextsw_cday to be the same caldayp1
+ !
+ ! See also https://github.com/ESCOMP/CTSM/issues/860
- !--------------------------------
- ! Obtain orbital values
- !--------------------------------
-
- call shr_orb_decl( calday , eccen, mvelpp, lambm0, obliqr, declin , eccf )
- call shr_orb_decl( nextsw_cday, eccen, mvelpp, lambm0, obliqr, declinp1, eccf )
-
- if (masterproc) then
- write(iulog,*) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
- write(iulog,F02) 'nextsw_cday is : ', nextsw_cday
- write(iulog,F02) 'calday is : ', calday
- write(iulog,F02) 'eccen is : ', eccen
- write(iulog,F02) 'mvelpp is : ', mvelpp
- write(iulog,F02) 'lambm0 is : ', lambm0
- write(iulog,F02) 'obliqr is : ', obliqr
- write(iulog,F02) 'declin is : ', declin
- write(iulog,F02) 'declinp1 is : ', declinp1
- write(iulog,* ) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
- end if
+ nextsw_cday = calday
+ if (masterproc) then
+ write(iulog,*) trim(subname) // '... nextsw_cday is : ', nextsw_cday
+ end if
- !--------------------------------
- ! Determine doalb based on nextsw_cday sent from atm model
- !--------------------------------
-
- if (nstep == 0) then
- doalb = .false.
- nextsw_cday = caldayp1
- else if (nstep == 1) then
- !doalb = (abs(nextsw_cday- caldayp1) < 1.e-10_r8)
- doalb = .false.
- else
- doalb = (nextsw_cday >= -0.5_r8)
- end if
+ !--------------------------------
+ ! Obtain orbital values
+ !--------------------------------
- if (masterproc) then
- write(iulog,*) '------------ LILAC ----------------'
- write(iulog,*) 'nstep : ', nstep
- write(iulog,*) 'calday : ', calday
- write(iulog,*) 'caldayp1 : ', caldayp1
- write(iulog,*) 'nextsw_cday : ', nextsw_cday
- write(iulog,*) 'doalb : ', doalb
- write(iulog,*) '-------------------------------------'
- end if
+ call shr_orb_decl( calday , eccen, mvelpp, lambm0, obliqr, declin , eccf )
+ call shr_orb_decl( nextsw_cday, eccen, mvelpp, lambm0, obliqr, declinp1, eccf )
- call update_rad_dtime(doalb)
+ if (masterproc) then
+ write(iulog,*) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
+ write(iulog,F02) 'nextsw_cday is : ', nextsw_cday
+ write(iulog,F02) 'calday is : ', calday
+ write(iulog,F02) 'eccen is : ', eccen
+ write(iulog,F02) 'mvelpp is : ', mvelpp
+ write(iulog,F02) 'lambm0 is : ', lambm0
+ write(iulog,F02) 'obliqr is : ', obliqr
+ write(iulog,F02) 'declin is : ', declin
+ write(iulog,F02) 'declinp1 is : ', declinp1
+ write(iulog,* ) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
+ end if
- !--------------------------------
- ! Determine if time to write restart
- !--------------------------------
+ !--------------------------------
+ ! Determine doalb based on nextsw_cday sent from atm model
+ !--------------------------------
- call ESMF_ClockGetAlarm(clock, alarmname='lilac_restart_alarm', alarm=alarm, rc=rc)
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ if (nstep == 1) then
+ !doalb = (abs(nextsw_cday- caldayp1) < 1.e-10_r8)
+ doalb = .false.
+ else
+ doalb = (nextsw_cday >= -0.5_r8)
+ end if
- if (ESMF_AlarmIsRinging(alarm, rc=rc)) then
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- rstwr = .true.
- call ESMF_AlarmRingerOff( alarm, rc=rc )
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- else
- rstwr = .false.
- endif
- if (masterproc) then
- write(iulog,*)' restart alarm is ',rstwr
- end if
+ if (masterproc) then
+ write(iulog,*) '------------ LILAC ----------------'
+ write(iulog,*) 'nstep : ', nstep
+ write(iulog,*) 'calday : ', calday
+ write(iulog,*) 'caldayp1 : ', caldayp1
+ write(iulog,*) 'nextsw_cday : ', nextsw_cday
+ write(iulog,*) 'doalb : ', doalb
+ write(iulog,*) '-------------------------------------'
+ end if
- !--------------------------------
- ! Determine if time to stop
- !--------------------------------
+ call update_rad_dtime(doalb)
- call ESMF_ClockGetAlarm(clock, alarmname='lilac_stop_alarm', alarm=alarm, rc=rc)
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ !--------------------------------
+ ! Determine if time to write restart
+ !--------------------------------
- if (ESMF_AlarmIsRinging(alarm, rc=rc)) then
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- nlend = .true.
- call ESMF_AlarmRingerOff( alarm, rc=rc )
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- else
- nlend = .false.
- endif
- if (masterproc) then
- write(iulog,*)' stop alarm is ',nlend
- end if
+ call ESMF_ClockGetAlarm(clock, alarmname='lilac_restart_alarm', alarm=alarm, rc=rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
- !--------------------------------
- ! Run CTSM
- !--------------------------------
+ if (ESMF_AlarmIsRinging(alarm, rc=rc)) then
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ rstwr = .true.
+ call ESMF_AlarmRingerOff( alarm, rc=rc )
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ else
+ rstwr = .false.
+ endif
+ if (masterproc) then
+ write(iulog,*)' restart alarm is ',rstwr
+ end if
- call t_barrierf('sync_ctsm_run1', mpicom)
+ !--------------------------------
+ ! Determine if time to stop
+ !--------------------------------
- ! Restart File - use nexttimestr rather than currtimestr here since that is the time at the end of
- ! the timestep and is preferred for restart file names
- ! TODO: is this correct for lilac?
+ call ESMF_ClockGetAlarm(clock, alarmname='lilac_stop_alarm', alarm=alarm, rc=rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call ESMF_ClockGetNextTime(clock, nextTime=nextTime, rc=rc)
+ if (ESMF_AlarmIsRinging(alarm, rc=rc)) then
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call ESMF_TimeGet(nexttime, yy=yr_lilac, mm=mon_lilac, dd=day_lilac, s=tod_lilac, rc=rc)
+ nlend = .true.
+ call ESMF_AlarmRingerOff( alarm, rc=rc )
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- write(rdate,'(i4.4,"-",i2.2,"-",i2.2,"-",i5.5)') yr_lilac, mon_lilac, day_lilac, tod_lilac
+ else
+ nlend = .false.
+ endif
+ if (masterproc) then
+ write(iulog,*)' stop alarm is ',nlend
+ end if
- call t_startf ('ctsm_run')
- call clm_drv(doalb, nextsw_cday, declinp1, declin, rstwr, nlend, rdate, rof_prognostic=.false.)
- call t_stopf ('ctsm_run')
+ !--------------------------------
+ ! Run CTSM
+ !--------------------------------
- !--------------------------------
- ! Pack export state
- !--------------------------------
+ call t_barrierf('sync_ctsm_run1', mpicom)
- call t_startf ('lc_lnd_export')
- call export_fields(export_state, bounds, rc)
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call t_stopf ('lc_lnd_export')
+ ! Restart File - use nexttimestr rather than currtimestr here since that is the time at the end of
+ ! the timestep and is preferred for restart file names
+ ! TODO: is this correct for lilac?
- !--------------------------------
- ! Advance ctsm time step
- !--------------------------------
+ call ESMF_ClockGetNextTime(clock, nextTime=nextTime, rc=rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ call ESMF_TimeGet(nexttime, yy=yr_lilac, mm=mon_lilac, dd=day_lilac, s=tod_lilac, rc=rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ write(rdate,'(i4.4,"-",i2.2,"-",i2.2,"-",i5.5)') yr_lilac, mon_lilac, day_lilac, tod_lilac
- call advance_timestep()
+ call t_startf ('ctsm_run')
+ call clm_drv(doalb, nextsw_cday, declinp1, declin, rstwr, nlend, rdate, rof_prognostic=.false.)
+ call t_stopf ('ctsm_run')
- end do
+ !--------------------------------
+ ! Pack export state
+ !--------------------------------
+
+ call t_startf ('lc_lnd_export')
+ call export_fields(export_state, bounds, rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ call t_stopf ('lc_lnd_export')
+
+ !--------------------------------
+ ! Advance ctsm time step
+ !--------------------------------
+
+ call advance_timestep()
!--------------------------------
! Check that internal clock is in sync with lilac driver clock
diff --git a/src/cpl/nuopc/lnd_comp_nuopc.F90 b/src/cpl/nuopc/lnd_comp_nuopc.F90
index 9631e807cd..33fc8e6f54 100644
--- a/src/cpl/nuopc/lnd_comp_nuopc.F90
+++ b/src/cpl/nuopc/lnd_comp_nuopc.F90
@@ -655,7 +655,10 @@ subroutine InitializeRealize(gcomp, importState, exportState, clock, rc)
! ---------------------
! Finish initializing ctsm
! ---------------------
- call initialize2(ni, nj)
+ call ESMF_ClockGet(clock, currTime=currtime, rc=rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+
+ call initialize2(ni, nj, currtime)
!--------------------------------
! Create land export state
@@ -740,7 +743,6 @@ subroutine ModelAdvance(gcomp, rc)
integer :: localPeCount ! Number of local Processors
logical :: rstwr ! .true. ==> write restart file before returning
logical :: nlend ! .true. ==> last time-step
- logical :: dosend ! true => send data back to driver
logical :: doalb ! .true. ==> do albedo calculation on this time step
real(r8) :: nextsw_cday ! calday from clock of next radiation computation
real(r8) :: caldayp1 ! ctsm calday plus dtime offset
@@ -816,112 +818,104 @@ subroutine ModelAdvance(gcomp, rc)
!--------------------------------
dtime = get_step_size()
- dosend = .false.
- do while(.not. dosend)
-
- ! TODO: This is currently hard-wired - is there a better way for nuopc?
- ! Note that the model clock is updated at the end of the time step not at the beginning
- nstep = get_nstep()
- if (nstep > 0) then
- dosend = .true.
- end if
- !--------------------------------
- ! Determine doalb based on nextsw_cday sent from atm model
- !--------------------------------
-
- caldayp1 = get_curr_calday(offset=dtime, reuse_day_365_for_day_366=.true.)
-
- if (nstep == 0) then
- doalb = .false.
- else if (nstep == 1) then
- doalb = (abs(nextsw_cday- caldayp1) < 1.e-10_r8)
- else
- doalb = (nextsw_cday >= -0.5_r8)
- end if
- call update_rad_dtime(doalb)
+ ! TODO: This is currently hard-wired - is there a better way for nuopc?
+ ! Note that the model clock is updated at the end of the time step not at the beginning
+ nstep = get_nstep()
- !--------------------------------
- ! Determine if time to stop
- !--------------------------------
+ !--------------------------------
+ ! Determine doalb based on nextsw_cday sent from atm model
+ !--------------------------------
- call ESMF_ClockGetAlarm(clock, alarmname='alarm_stop', alarm=alarm, rc=rc)
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ caldayp1 = get_curr_calday(offset=dtime, reuse_day_365_for_day_366=.true.)
- if (ESMF_AlarmIsRinging(alarm, rc=rc)) then
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- nlend = .true.
- call ESMF_AlarmRingerOff( alarm, rc=rc )
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- else
- nlend = .false.
- endif
+ if (nstep == 1) then
+ doalb = (abs(nextsw_cday- caldayp1) < 1.e-10_r8)
+ else
+ doalb = (nextsw_cday >= -0.5_r8)
+ end if
- !--------------------------------
- ! Determine if time to write restart
- !--------------------------------
- rstwr = .false.
- if (nlend .and. write_restart_at_endofrun) then
- rstwr = .true.
- else
- call ESMF_ClockGetAlarm(clock, alarmname='alarm_restart', alarm=alarm, rc=rc)
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- if (ESMF_AlarmIsCreated(alarm, rc=rc)) then
- if (ESMF_AlarmIsRinging(alarm, rc=rc)) then
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- rstwr = .true.
- call ESMF_AlarmRingerOff( alarm, rc=rc )
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- endif
- endif
- end if
+ call update_rad_dtime(doalb)
- !--------------------------------
- ! Run CTSM
- !--------------------------------
+ !--------------------------------
+ ! Determine if time to stop
+ !--------------------------------
- ! call ESMF_VMBarrier(vm, rc=rc)
- ! if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ call ESMF_ClockGetAlarm(clock, alarmname='alarm_stop', alarm=alarm, rc=rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call t_startf ('shr_orb_decl')
- ! Note - the orbital inquiries set the values in clm_varorb via the module use statements
- call clm_orbital_update(clock, iulog, masterproc, eccen, obliqr, lambm0, mvelpp, rc)
+ if (ESMF_AlarmIsRinging(alarm, rc=rc)) then
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- calday = get_curr_calday(reuse_day_365_for_day_366=.true.)
- call shr_orb_decl( calday , eccen, mvelpp, lambm0, obliqr, declin , eccf )
- call shr_orb_decl( nextsw_cday, eccen, mvelpp, lambm0, obliqr, declinp1, eccf )
- call t_stopf ('shr_orb_decl')
-
- call t_startf ('ctsm_run')
- ! Restart File - use nexttimestr rather than currtimestr here since that is the time at the end of
- ! the timestep and is preferred for restart file names
- call ESMF_ClockGetNextTime(clock, nextTime=nextTime, rc=rc)
+ nlend = .true.
+ call ESMF_AlarmRingerOff( alarm, rc=rc )
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call ESMF_TimeGet(nexttime, yy=yr_sync, mm=mon_sync, dd=day_sync, s=tod_sync, rc=rc)
+ else
+ nlend = .false.
+ endif
+
+ !--------------------------------
+ ! Determine if time to write restart
+ !--------------------------------
+ rstwr = .false.
+ if (nlend .and. write_restart_at_endofrun) then
+ rstwr = .true.
+ else
+ call ESMF_ClockGetAlarm(clock, alarmname='alarm_restart', alarm=alarm, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- write(rdate,'(i4.4,"-",i2.2,"-",i2.2,"-",i5.5)') yr_sync, mon_sync, day_sync, tod_sync
- call clm_drv(doalb, nextsw_cday, declinp1, declin, rstwr, nlend, rdate, rof_prognostic)
- call t_stopf ('ctsm_run')
+ if (ESMF_AlarmIsCreated(alarm, rc=rc)) then
+ if (ESMF_AlarmIsRinging(alarm, rc=rc)) then
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ rstwr = .true.
+ call ESMF_AlarmRingerOff( alarm, rc=rc )
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ endif
+ endif
+ end if
- !--------------------------------
- ! Pack export state
- !--------------------------------
+ !--------------------------------
+ ! Run CTSM
+ !--------------------------------
- call t_startf ('lc_lnd_export')
- call export_fields(gcomp, bounds, glc_present, rof_prognostic, &
- water_inst%waterlnd2atmbulk_inst, lnd2atm_inst, lnd2glc_inst, rc)
- if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call t_stopf ('lc_lnd_export')
+ ! call ESMF_VMBarrier(vm, rc=rc)
+ ! if (ChkErr(rc,__LINE__,u_FILE_u)) return
- !--------------------------------
- ! Advance ctsm time step
- !--------------------------------
+ call t_startf ('shr_orb_decl')
+ ! Note - the orbital inquiries set the values in clm_varorb via the module use statements
+ call clm_orbital_update(clock, iulog, masterproc, eccen, obliqr, lambm0, mvelpp, rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ calday = get_curr_calday(reuse_day_365_for_day_366=.true.)
+ call shr_orb_decl( calday , eccen, mvelpp, lambm0, obliqr, declin , eccf )
+ call shr_orb_decl( nextsw_cday, eccen, mvelpp, lambm0, obliqr, declinp1, eccf )
+ call t_stopf ('shr_orb_decl')
+
+ call t_startf ('ctsm_run')
+ ! Restart File - use nexttimestr rather than currtimestr here since that is the time at the end of
+ ! the timestep and is preferred for restart file names
+ call ESMF_ClockGetNextTime(clock, nextTime=nextTime, rc=rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ call ESMF_TimeGet(nexttime, yy=yr_sync, mm=mon_sync, dd=day_sync, s=tod_sync, rc=rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ write(rdate,'(i4.4,"-",i2.2,"-",i2.2,"-",i5.5)') yr_sync, mon_sync, day_sync, tod_sync
+ call clm_drv(doalb, nextsw_cday, declinp1, declin, rstwr, nlend, rdate, rof_prognostic)
+ call t_stopf ('ctsm_run')
- call t_startf ('lc_ctsm2_adv_timestep')
- call advance_timestep()
- call t_stopf ('lc_ctsm2_adv_timestep')
+ !--------------------------------
+ ! Pack export state
+ !--------------------------------
- end do
+ call t_startf ('lc_lnd_export')
+ call export_fields(gcomp, bounds, glc_present, rof_prognostic, &
+ water_inst%waterlnd2atmbulk_inst, lnd2atm_inst, lnd2glc_inst, rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ call t_stopf ('lc_lnd_export')
+
+ !--------------------------------
+ ! Advance ctsm time step
+ !--------------------------------
+
+ call t_startf ('lc_ctsm2_adv_timestep')
+ call advance_timestep()
+ call t_stopf ('lc_ctsm2_adv_timestep')
! Check that internal clock is in sync with master clock
! Note that the driver clock has not been updated yet - so at this point
@@ -1038,53 +1032,54 @@ subroutine ModelSetRunClock(gcomp, rc)
call ESMF_LogWrite(subname//'setting alarms for ' // trim(name), ESMF_LOGMSG_INFO)
!----------------
- ! Restart alarm
+ ! Stop alarm
!----------------
- call NUOPC_CompAttributeGet(gcomp, name="restart_option", value=restart_option, rc=rc)
+ call NUOPC_CompAttributeGet(gcomp, name="stop_option", value=stop_option, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call NUOPC_CompAttributeGet(gcomp, name="restart_n", value=cvalue, rc=rc)
+ call NUOPC_CompAttributeGet(gcomp, name="stop_n", value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- read(cvalue,*) restart_n
+ read(cvalue,*) stop_n
- call NUOPC_CompAttributeGet(gcomp, name="restart_ymd", value=cvalue, rc=rc)
+ call NUOPC_CompAttributeGet(gcomp, name="stop_ymd", value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- read(cvalue,*) restart_ymd
+ read(cvalue,*) stop_ymd
- call alarmInit(mclock, restart_alarm, restart_option, &
- opt_n = restart_n, &
- opt_ymd = restart_ymd, &
+ call alarmInit(mclock, stop_alarm, stop_option, &
+ opt_n = stop_n, &
+ opt_ymd = stop_ymd, &
RefTime = mcurrTime, &
- alarmname = 'alarm_restart', rc=rc)
+ alarmname = 'alarm_stop', rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call ESMF_AlarmSet(restart_alarm, clock=mclock, rc=rc)
+ call ESMF_AlarmSet(stop_alarm, clock=mclock, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
!----------------
- ! Stop alarm
+ ! Restart alarm
!----------------
- call NUOPC_CompAttributeGet(gcomp, name="stop_option", value=stop_option, rc=rc)
+ call NUOPC_CompAttributeGet(gcomp, name="restart_option", value=restart_option, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call NUOPC_CompAttributeGet(gcomp, name="stop_n", value=cvalue, rc=rc)
+ call NUOPC_CompAttributeGet(gcomp, name="restart_n", value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- read(cvalue,*) stop_n
+ read(cvalue,*) restart_n
- call NUOPC_CompAttributeGet(gcomp, name="stop_ymd", value=cvalue, rc=rc)
+ call NUOPC_CompAttributeGet(gcomp, name="restart_ymd", value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- read(cvalue,*) stop_ymd
+ read(cvalue,*) restart_ymd
- call alarmInit(mclock, stop_alarm, stop_option, &
- opt_n = stop_n, &
- opt_ymd = stop_ymd, &
+ call alarmInit(mclock, restart_alarm, restart_option, &
+ opt_n = restart_n, &
+ opt_ymd = restart_ymd, &
RefTime = mcurrTime, &
- alarmname = 'alarm_stop', rc=rc)
+ alarmname = 'alarm_restart', rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call ESMF_AlarmSet(stop_alarm, clock=mclock, rc=rc)
+ call ESMF_AlarmSet(restart_alarm, clock=mclock, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
+
end if
!--------------------------------
diff --git a/src/fates b/src/fates
index e3e7d2cd86..296e1d6a45 160000
--- a/src/fates
+++ b/src/fates
@@ -1 +1 @@
-Subproject commit e3e7d2cd86a66f8ca0e8f6dc4a823246a2bdb95b
+Subproject commit 296e1d6a45f05a800073d376286d0537d2290e96
diff --git a/src/main/clm_driver.F90 b/src/main/clm_driver.F90
index 454ff87463..f93143d9e3 100644
--- a/src/main/clm_driver.F90
+++ b/src/main/clm_driver.F90
@@ -1368,41 +1368,39 @@ subroutine clm_drv(doalb, nextsw_cday, declinp1, declin, rstwr, nlend, rdate, ro
! FIX(SPM, 082814) - in the fates branch RF and I commented out the if(.not.
! use_fates) then statement ... double check if this is required and why
- if (nstep > 0) then
- call t_startf('accum')
+ call t_startf('accum')
- call atm2lnd_inst%UpdateAccVars(bounds_proc)
+ call atm2lnd_inst%UpdateAccVars(bounds_proc)
- call temperature_inst%UpdateAccVars(bounds_proc, crop_inst)
+ call temperature_inst%UpdateAccVars(bounds_proc, crop_inst)
- call canopystate_inst%UpdateAccVars(bounds_proc)
+ call canopystate_inst%UpdateAccVars(bounds_proc)
- call water_inst%UpdateAccVars(bounds_proc)
+ call water_inst%UpdateAccVars(bounds_proc)
- call energyflux_inst%UpdateAccVars(bounds_proc)
+ call energyflux_inst%UpdateAccVars(bounds_proc)
- ! COMPILER_BUG(wjs, 2014-11-30, pgi 14.7) For pgi 14.7 to be happy when
- ! compiling this threaded, I needed to change the dummy arguments to be
- ! pointers, and get rid of the explicit bounds in the subroutine call.
- ! call bgc_vegetation_inst%UpdateAccVars(bounds_proc, &
- ! t_a10_patch=temperature_inst%t_a10_patch(bounds_proc%begp:bounds_proc%endp), &
- ! t_ref2m_patch=temperature_inst%t_ref2m_patch(bounds_proc%begp:bounds_proc%endp))
- call bgc_vegetation_inst%UpdateAccVars(bounds_proc, &
- t_a10_patch=temperature_inst%t_a10_patch, &
- t_ref2m_patch=temperature_inst%t_ref2m_patch)
+ ! COMPILER_BUG(wjs, 2014-11-30, pgi 14.7) For pgi 14.7 to be happy when
+ ! compiling this threaded, I needed to change the dummy arguments to be
+ ! pointers, and get rid of the explicit bounds in the subroutine call.
+ ! call bgc_vegetation_inst%UpdateAccVars(bounds_proc, &
+ ! t_a10_patch=temperature_inst%t_a10_patch(bounds_proc%begp:bounds_proc%endp), &
+ ! t_ref2m_patch=temperature_inst%t_ref2m_patch(bounds_proc%begp:bounds_proc%endp))
+ call bgc_vegetation_inst%UpdateAccVars(bounds_proc, &
+ t_a10_patch=temperature_inst%t_a10_patch, &
+ t_ref2m_patch=temperature_inst%t_ref2m_patch)
- if (use_crop) then
- call crop_inst%CropUpdateAccVars(bounds_proc, &
- temperature_inst%t_ref2m_patch, temperature_inst%t_soisno_col)
- end if
-
- if(use_fates) then
- call clm_fates%UpdateAccVars(bounds_proc)
- end if
+ if (use_crop) then
+ call crop_inst%CropUpdateAccVars(bounds_proc, &
+ temperature_inst%t_ref2m_patch, temperature_inst%t_soisno_col)
+ end if
- call t_stopf('accum')
+ if(use_fates) then
+ call clm_fates%UpdateAccVars(bounds_proc)
end if
+ call t_stopf('accum')
+
! ============================================================================
! Update history buffer
! ============================================================================
diff --git a/src/main/clm_initializeMod.F90 b/src/main/clm_initializeMod.F90
index e3d9eeda06..46353539ce 100644
--- a/src/main/clm_initializeMod.F90
+++ b/src/main/clm_initializeMod.F90
@@ -125,12 +125,13 @@ subroutine initialize1(dtime)
end subroutine initialize1
!-----------------------------------------------------------------------
- subroutine initialize2(ni,nj)
+ subroutine initialize2(ni,nj, currtime)
!
! !DESCRIPTION:
! CLM initialization second phase
!
! !USES:
+ use ESMF , only : ESMF_Time
use clm_varcon , only : spval
use clm_varpar , only : natpft_lb, natpft_ub, cft_lb, cft_ub, maxpatch_glc
use clm_varpar , only : surfpft_lb, surfpft_ub
@@ -186,6 +187,7 @@ subroutine initialize2(ni,nj)
!
! !ARGUMENTS
integer, intent(in) :: ni, nj ! global grid sizes
+ type(ESMF_Time), intent(in) :: currtime
!
! !LOCAL VARIABLES:
integer :: c,g,i,j,k,l,n,p ! indices
@@ -345,10 +347,12 @@ subroutine initialize2(ni,nj)
source=create_nutrient_competition_method(bounds_proc))
call readParameters(photosyns_inst)
+
! Initialize time manager
if (nsrest == nsrStartup) then
call timemgr_init()
else
+ call timemgr_init(curr_date_in=currtime)
call restFile_getfile(file=fnamer, path=pnamer)
call restFile_open( flag='read', file=fnamer, ncid=ncid )
call timemgr_restart_io( ncid=ncid, flag='read' )
diff --git a/src/main/controlMod.F90 b/src/main/controlMod.F90
index 012b1aecc8..93d3d46b92 100644
--- a/src/main/controlMod.F90
+++ b/src/main/controlMod.F90
@@ -119,6 +119,7 @@ subroutine control_init(dtime)
!
! !USES:
use CNMRespMod , only : CNMRespReadNML
+ use CNFUNMod , only : CNFUNReadNML
use CNNDynamicsMod , only : CNNDynamicsReadNML
use CNPhenologyMod , only : CNPhenologyReadNML
use landunit_varcon , only : max_lunit
@@ -605,6 +606,7 @@ subroutine control_init(dtime)
if ( use_fun ) then
call CNMRespReadNML( NLFilename )
+ call CNFUNReadNML( NLFilename )
end if
call soilHydReadNML( NLFilename )
diff --git a/src/main/histFileMod.F90 b/src/main/histFileMod.F90
index 381e1f1170..da7fb67c5d 100644
--- a/src/main/histFileMod.F90
+++ b/src/main/histFileMod.F90
@@ -1172,6 +1172,7 @@ subroutine htape_addfld (t, f, avgflag)
integer :: beg1d,end1d ! beginning and ending indices for this field (assume already set)
integer :: num1d_out ! history output 1d size
type(bounds_type) :: bounds
+ character(len=avgflag_strlen) :: avgflag_temp ! local copy of hist_avgflag_pertape(t)
character(len=*),parameter :: subname = 'htape_addfld'
!-----------------------------------------------------------------------
@@ -1302,6 +1303,19 @@ subroutine htape_addfld (t, f, avgflag)
tape(t)%hlist(n)%avgflag = avgflag
end if
+ ! Override this tape's avgflag if nhtfrq == 1
+ if (tape(t)%nhtfrq == 1) then ! output is instantaneous
+ hist_avgflag_pertape(t) = 'I'
+ end if
+ ! Override this field's avgflag if the namelist or the previous line
+ ! has set this tape to
+ ! - instantaneous (I) or
+ ! - local time (L)
+ avgflag_temp = hist_avgflag_pertape(t)
+ if (avgflag_temp == 'I' .or. avgflag_temp(1:1) == 'L') then
+ tape(t)%hlist(n)%avgflag = avgflag_temp
+ end if
+
end subroutine htape_addfld
!-----------------------------------------------------------------------
@@ -2662,7 +2676,7 @@ subroutine htape_timeconst3D(t, &
! !DESCRIPTION:
! Write time constant 3D variables to history tapes.
! Only write out when this subroutine is called (normally only for
- ! primary history files at very first time-step, nstep=0).
+ ! primary history files at very first time-step, nstep=1).
! Issue the required netcdf wrapper calls to define the history file
! contents.
!
@@ -3098,6 +3112,7 @@ subroutine htape_timeconst(t, mode)
integer :: mcdate ! current date
integer :: yr,mon,day,nbsec ! year,month,day,seconds components of a date
integer :: hours,minutes,secs ! hours,minutes,seconds of hh:mm:ss
+ character(len= 12) :: step_or_bounds ! string used in long_name of several time variables
character(len= 10) :: basedate ! base date (yyyymmdd)
character(len= 8) :: basesec ! base seconds
character(len= 8) :: cdate ! system date
@@ -3357,8 +3372,18 @@ subroutine htape_timeconst(t, mode)
dim1id(1) = time_dimid
str = 'days since ' // basedate // " " // basesec
- call ncd_defvar(nfid(t), 'time', tape(t)%ncprec, 1, dim1id, varid, &
- long_name='time',units=str)
+ if (hist_avgflag_pertape(t) /= 'I') then ! NOT instantaneous fields tape
+ step_or_bounds = 'time_bounds'
+ long_name = 'time at exact middle of ' // step_or_bounds
+ call ncd_defvar(nfid(t), 'time', tape(t)%ncprec, 1, dim1id, varid, &
+ long_name=long_name, units=str)
+ call ncd_putatt(nfid(t), varid, 'bounds', 'time_bounds')
+ else ! instantaneous fields tape
+ step_or_bounds = 'time step'
+ long_name = 'time at end of ' // step_or_bounds
+ call ncd_defvar(nfid(t), 'time', tape(t)%ncprec, 1, dim1id, varid, &
+ long_name=long_name, units=str)
+ end if
cal = get_calendar()
if ( trim(cal) == NO_LEAP_C )then
caldesc = "noleap"
@@ -3366,11 +3391,11 @@ subroutine htape_timeconst(t, mode)
caldesc = "gregorian"
end if
call ncd_putatt(nfid(t), varid, 'calendar', caldesc)
- call ncd_putatt(nfid(t), varid, 'bounds', 'time_bounds')
dim1id(1) = time_dimid
+ long_name = 'current date (YYYYMMDD) at end of ' // step_or_bounds
call ncd_defvar(nfid(t) , 'mcdate', ncd_int, 1, dim1id , varid, &
- long_name = 'current date (YYYYMMDD)')
+ long_name = long_name)
!
! add global attribute time_period_freq
!
@@ -3397,18 +3422,23 @@ subroutine htape_timeconst(t, mode)
call ncd_putatt(nfid(t), ncd_global, 'time_period_freq', &
trim(time_period_freq))
+ long_name = 'current seconds of current date at end of ' // step_or_bounds
call ncd_defvar(nfid(t) , 'mcsec' , ncd_int, 1, dim1id , varid, &
- long_name = 'current seconds of current date', units='s')
+ long_name = long_name, units='s')
+ long_name = 'current day (from base day) at end of ' // step_or_bounds
call ncd_defvar(nfid(t) , 'mdcur' , ncd_int, 1, dim1id , varid, &
- long_name = 'current day (from base day)')
+ long_name = long_name)
+ long_name = 'current seconds of current day at end of ' // step_or_bounds
call ncd_defvar(nfid(t) , 'mscur' , ncd_int, 1, dim1id , varid, &
- long_name = 'current seconds of current day')
+ long_name = long_name)
call ncd_defvar(nfid(t) , 'nstep' , ncd_int, 1, dim1id , varid, &
long_name = 'time step')
dim2id(1) = hist_interval_dimid; dim2id(2) = time_dimid
- call ncd_defvar(nfid(t), 'time_bounds', ncd_double, 2, dim2id, varid, &
- long_name = 'history time interval endpoints')
+ if (hist_avgflag_pertape(t) /= 'I') then ! NOT instantaneous fields tape
+ call ncd_defvar(nfid(t), 'time_bounds', ncd_double, 2, dim2id, varid, &
+ long_name = 'history time interval endpoints')
+ end if
dim2id(1) = strlen_dimid; dim2id(2) = time_dimid
call ncd_defvar(nfid(t), 'date_written', ncd_char, 2, dim2id, varid)
@@ -3436,13 +3466,16 @@ subroutine htape_timeconst(t, mode)
call ncd_io('mscur' , mscur , 'write', nfid(t), nt=tape(t)%ntimes)
call ncd_io('nstep' , nstep , 'write', nfid(t), nt=tape(t)%ntimes)
- time = mdcur + mscur/secspday
+ timedata(1) = tape(t)%begtime ! beginning time
+ timedata(2) = mdcur + mscur/secspday ! end time
+ if (hist_avgflag_pertape(t) /= 'I') then ! NOT instantaneous fields tape
+ time = (timedata(1) + timedata(2)) * 0.5_r8
+ call ncd_io('time_bounds', timedata, 'write', nfid(t), nt=tape(t)%ntimes)
+ else
+ time = timedata(2)
+ end if
call ncd_io('time' , time , 'write', nfid(t), nt=tape(t)%ntimes)
- timedata(1) = tape(t)%begtime
- timedata(2) = time
- call ncd_io('time_bounds', timedata, 'write', nfid(t), nt=tape(t)%ntimes)
-
call getdatetime (cdate, ctime)
call ncd_io('date_written', cdate, 'write', nfid(t), nt=tape(t)%ntimes)
@@ -4137,12 +4170,6 @@ subroutine hist_htapes_wrapup( rstwr, nlend, bounds, &
cycle
end if
- ! Skip nstep=0 if monthly average
-
- if (nstep==0 .and. tape(t)%nhtfrq==0) then
- cycle
- end if
-
! Determine if end of history interval
tape(t)%is_endhist = .false.
if (tape(t)%nhtfrq==0) then !monthly average
diff --git a/src/main/restFileMod.F90 b/src/main/restFileMod.F90
index c7dbf0da72..d82505f4ff 100644
--- a/src/main/restFileMod.F90
+++ b/src/main/restFileMod.F90
@@ -6,13 +6,13 @@ module restFileMod
!
! !USES:
#include "shr_assert.h"
- use shr_kind_mod , only : r8 => shr_kind_r8
+ use shr_kind_mod , only : r8 => shr_kind_r8, CL=>shr_kind_CL
use decompMod , only : bounds_type, get_proc_clumps, get_clump_bounds
use decompMod , only : bounds_level_proc
use spmdMod , only : masterproc, mpicom
use abortutils , only : endrun
use shr_log_mod , only : errMsg => shr_log_errMsg
- use clm_time_manager , only : timemgr_restart_io, get_nstep
+ use clm_time_manager , only : timemgr_restart_io, get_nstep, get_curr_date
use subgridRestMod , only : subgridRestWrite, subgridRestRead, subgridRest_read_cleanup
use accumulMod , only : accumulRest
use clm_instMod , only : clm_instRest
@@ -340,6 +340,7 @@ subroutine restFile_read_pfile( pnamer )
! !USES:
use fileutils , only : opnfil, getavu, relavu
use clm_varctl, only : rpntfil, rpntdir, inst_suffix
+ use mpi, only : MPI_CHARACTER
!
! !ARGUMENTS:
character(len=*), intent(out) :: pnamer ! full path of restart file
@@ -347,8 +348,11 @@ subroutine restFile_read_pfile( pnamer )
! !LOCAL VARIABLES:
!EOP
integer :: i ! indices
+ integer :: yr, mon, day, tod
+ character(len=17) :: timestamp
integer :: nio ! restart unit
integer :: status ! substring check status
+ logical :: found
character(len=256) :: locfn ! Restart pointer file name
!-----------------------------------------------------------------------
@@ -359,17 +363,24 @@ subroutine restFile_read_pfile( pnamer )
! New history files are always created for branch runs.
if (masterproc) then
- write(iulog,*) 'Reading restart pointer file....'
+ nio = getavu()
+ call get_curr_date(yr, mon, day, tod)
+ write(timestamp,'(".",i4.4,"-",i2.2,"-",i2.2,"-",i5.5)') yr,mon,day,tod
+ locfn = trim(rpntdir) //'/'// trim(rpntfil)//trim(inst_suffix)//timestamp
+ inquire(file=trim(locfn), exist=found)
+ if(.not. found) then
+ locfn = trim(rpntdir) //'/'// trim(rpntfil)//trim(inst_suffix)
+ endif
+ write(iulog,*) 'Reading restart pointer file: ',trim(locfn)
+
+ call opnfil (locfn, nio, 'f')
+ read (nio,'(a256)') pnamer
+ call relavu (nio)
endif
-
- nio = getavu()
- locfn = trim(rpntdir) //'/'// trim(rpntfil)//trim(inst_suffix)
- call opnfil (locfn, nio, 'f')
- read (nio,'(a256)') pnamer
- call relavu (nio)
+ call mpi_bcast (pnamer, CL, MPI_CHARACTER, 0, mpicom, status)
if (masterproc) then
- write(iulog,*) 'Reading restart data.....'
+ write(iulog,*) 'Reading restart data: ',trim(pnamer)
write(iulog,'(72a1)') ("-",i=1,60)
end if
@@ -422,12 +433,16 @@ subroutine restFile_write_pfile( fnamer )
! !LOCAL VARIABLES:
integer :: m ! index
integer :: nio ! restart pointer file
+ integer :: yr, mon, day, tod
+ character(len=17) :: timestamp
character(len=256) :: filename ! local file name
!-----------------------------------------------------------------------
if (masterproc) then
+ call get_curr_date(yr, mon, day, tod)
+ write(timestamp,'(".",i4.4,"-",i2.2,"-",i2.2,"-",i5.5)') yr, mon, day, tod
nio = getavu()
- filename= trim(rpntdir) //'/'// trim(rpntfil)//trim(inst_suffix)
+ filename= trim(rpntdir) //'/'// trim(rpntfil)//trim(inst_suffix)//timestamp
call opnfil( filename, nio, 'f' )
write(nio,'(a)') fnamer
@@ -466,7 +481,7 @@ subroutine restFile_open( flag, file, ncid )
! Open netcdf restart file
if (masterproc) then
- write(iulog,*) 'Reading restart dataset'
+ write(iulog,*) 'Reading restart dataset: ', trim(file)
end if
call ncd_pio_openfile (ncid, trim(file), 0)
diff --git a/src/unit_test_shr/unittestTimeManagerMod.F90 b/src/unit_test_shr/unittestTimeManagerMod.F90
index 44109d5b86..8e1cdb3f36 100644
--- a/src/unit_test_shr/unittestTimeManagerMod.F90
+++ b/src/unit_test_shr/unittestTimeManagerMod.F90
@@ -177,9 +177,6 @@ subroutine unittest_timemgr_set_nstep(nstep)
! !DESCRIPTION:
! Set the time step number
!
- ! Note that the starting time step number is 0, so calling this with nstep = 1
- ! advances the time step beyond the starting time step.
- !
! !USES:
use clm_time_manager, only : advance_timestep
!
@@ -192,7 +189,7 @@ subroutine unittest_timemgr_set_nstep(nstep)
character(len=*), parameter :: subname = 'unittest_timemgr_set_nstep'
!-----------------------------------------------------------------------
- do n = 1, nstep
+ do n = 2, nstep
call advance_timestep()
end do
diff --git a/src/utils/AnnualFluxDribbler.F90 b/src/utils/AnnualFluxDribbler.F90
index c7a3b792fe..8ea854b904 100644
--- a/src/utils/AnnualFluxDribbler.F90
+++ b/src/utils/AnnualFluxDribbler.F90
@@ -258,7 +258,8 @@ subroutine set_curr_delta(this, bounds, delta)
do i = beg_index, end_index
this%amount_from_this_timestep(i) = delta(i)
end do
- if (.not. this%allows_non_annual_delta .and. .not. is_first_step()) then
+ ! is_first_step check no longer necessary since there is no nstep=0
+ if (.not. this%allows_non_annual_delta) then
do i = beg_index, end_index
if (this%amount_from_this_timestep(i) /= 0._r8) then
write(iulog,*) subname//' ERROR: found unexpected non-zero delta mid-year'
diff --git a/src/utils/clm_time_manager.F90 b/src/utils/clm_time_manager.F90
index 955d98057a..3e3d1a8c45 100644
--- a/src/utils/clm_time_manager.F90
+++ b/src/utils/clm_time_manager.F90
@@ -177,7 +177,11 @@ end subroutine set_timemgr_init
!=========================================================================================
- subroutine timemgr_init( )
+ subroutine timemgr_init(curr_date_in )
+
+ use clm_varctl, only : nsrest, nsrContinue, nsrBranch
+
+ type(ESMF_Time), intent(in), optional :: curr_date_in
!---------------------------------------------------------------------------------
! Initialize the ESMF time manager from the sync clock
@@ -187,8 +191,8 @@ subroutine timemgr_init( )
character(len=*), parameter :: sub = 'clm::timemgr_init'
integer :: rc ! return code
type(ESMF_Time) :: start_date ! start date for run
- type(ESMF_Time) :: curr_date ! temporary date used in logic
type(ESMF_Time) :: ref_date ! reference date for time coordinate
+ type(ESMF_Time) :: curr_date ! temporary date used in logic
type(ESMF_TimeInterval) :: day_step_size ! day step size
type(ESMF_TimeInterval) :: step_size ! timestep size
!---------------------------------------------------------------------------------
@@ -211,8 +215,11 @@ subroutine timemgr_init( )
start_date = TimeSetymd( start_ymd, start_tod, "start_date" )
! Initialize current date
-
- curr_date = start_date
+ if(present(curr_date_in)) then
+ curr_date = curr_date_in
+ else
+ curr_date = start_date
+ endif
call ESMF_TimeIntervalSet( step_size, s=dtime, rc=rc )
call chkrc(rc, sub//': error return from ESMF_TimeIntervalSet: setting step_size')
@@ -238,6 +245,11 @@ subroutine timemgr_init( )
tm_perp_date = TimeSetymd( perpetual_ymd, 0, "tm_perp_date" )
end if
+ ! Advance time step to start at nstep=1
+ if (nsrest /= nsrContinue .and. nsrest /= nsrBranch) then
+ call advance_timestep()
+ end if
+
! Print configuration summary to log file (stdout).
if (masterproc) call timemgr_print()
@@ -253,7 +265,7 @@ subroutine init_clock( start_date, ref_date, curr_date )
!---------------------------------------------------------------------------------
! Purpose: Initialize the clock based on the start_date, ref_date and curr_date
!
- use ESMF , only : ESMF_ClockCreate, ESMF_ClockAdvance
+ use ESMF , only : ESMF_ClockCreate, ESMF_ClockAdvance, esmf_clockiscreated
type(ESMF_Time), intent(in) :: start_date ! start date for run
type(ESMF_Time), intent(in) :: ref_date ! reference date for time coordinate
@@ -277,6 +289,7 @@ subroutine init_clock( start_date, ref_date, curr_date )
! manager included in cime appears to require stopTime.
call ESMF_TimeSet(stop_date, yy=really_big_year, mm=12, dd=31, s=0, &
calendar=tm_cal, rc=rc)
+ call chkrc(rc, sub//': error return from ESMF_TimeIntervalSet: setting step_size')
! Error check
@@ -299,9 +312,10 @@ subroutine init_clock( start_date, ref_date, curr_date )
! Initialize the clock
+
tm_clock = ESMF_ClockCreate(name="CLM Time-manager clock", timeStep=step_size, startTime=start_date, &
stopTime=stop_date, refTime=ref_date, rc=rc)
- call chkrc(rc, sub//': error return from ESMF_ClockSetup')
+ call chkrc(rc, sub//': error return from ESMF_ClockCreate')
! Advance clock to the current time (in case of a restart)
@@ -496,11 +510,12 @@ end subroutine timemgr_restart_io
!=========================================================================================
- subroutine timemgr_restart( )
+ subroutine timemgr_restart()
!---------------------------------------------------------------------------------
! Restart the ESMF time manager using the synclock for ending date.
!
+
character(len=*), parameter :: sub = 'clm::timemgr_restart'
integer :: rc ! return code
integer :: yr, mon, day, tod ! Year, month, day, and second as integers
@@ -520,16 +535,15 @@ subroutine timemgr_restart( )
dtime = rst_step_sec
- ! Initialize start date from restart info
-
- start_date = TimeSetymd( rst_start_ymd, rst_start_tod, "start_date" )
-
- ! Initialize current date from restart info
+ ! Check start date from restart info
- curr_date = TimeSetymd( rst_curr_ymd, rst_curr_tod, "curr_date" )
+ if (rst_start_ymd .ne. start_ymd .or. rst_start_tod .ne. start_tod) then
+ call shr_sys_abort(sub//'ERROR: mismatch in start date with restart file')
+ endif
- call ESMF_TimeIntervalSet( step_size, s=dtime, rc=rc )
- call chkrc(rc, sub//': error return from ESMF_TimeIntervalSet: setting step_size')
+ if (rst_ref_ymd .ne. ref_ymd .or. rst_ref_tod .ne. ref_tod) then
+ call shr_sys_abort(sub//'ERROR: mismatch in reference date with restart file')
+ endif
call ESMF_TimeIntervalSet( day_step_size, d=1, rc=rc )
call chkrc(rc, sub//': error return from ESMF_TimeIntervalSet: setting day_step_size')
@@ -540,12 +554,6 @@ subroutine timemgr_restart( )
! Initialize ref date from restart info
- ref_date = TimeSetymd( rst_ref_ymd, rst_ref_tod, "ref_date" )
-
- ! Initialize clock
-
- call init_clock( start_date, ref_date, curr_date)
-
! Advance the timestep.
! Data from the restart file corresponds to the last timestep of the previous run.
@@ -1731,7 +1739,7 @@ end function is_end_curr_year
logical function is_first_step()
!---------------------------------------------------------------------------------
- ! Return true on first step of initial run only.
+ ! Return true on first step of startup and hybrid runs.
! Local variables
character(len=*), parameter :: sub = 'clm::is_first_step'
@@ -1745,7 +1753,7 @@ logical function is_first_step()
call ESMF_ClockGet( tm_clock, advanceCount=step_no, rc=rc )
call chkrc(rc, sub//': error return from ESMF_ClockGet')
nstep = step_no
- is_first_step = (nstep == 0)
+ is_first_step = (nstep == 1)
end function is_first_step
!=========================================================================================
diff --git a/src/utils/test/clm_time_manager_test/test_clm_time_manager.pf b/src/utils/test/clm_time_manager_test/test_clm_time_manager.pf
index df8a59de4b..d2f984aa5b 100644
--- a/src/utils/test/clm_time_manager_test/test_clm_time_manager.pf
+++ b/src/utils/test/clm_time_manager_test/test_clm_time_manager.pf
@@ -276,7 +276,7 @@ contains
end subroutine getPrevYearfrac_leapYearAtYearBoundary_returnsCorrectValue
@Test
- subroutine getNstep_step0(this)
+ subroutine getNstep_step1(this)
class(TestTimeManager), intent(inout) :: this
integer :: nstep
@@ -284,8 +284,8 @@ contains
nstep = get_nstep()
- @assertEqual(0, nstep)
- end subroutine getNstep_step0
+ @assertEqual(1, nstep)
+ end subroutine getNstep_step1
@Test
subroutine getNstep_step3(this)
@@ -377,7 +377,7 @@ contains
call unittest_timemgr_setup(dtime=dtime_int)
- call set_nstep(1)
+ call set_nstep(2)
is_first = is_first_step()
diff --git a/tools/site_and_regional/neon_gcs_upload b/tools/site_and_regional/neon_gcs_upload
index 40afef8e74..1c931e3b8d 100755
--- a/tools/site_and_regional/neon_gcs_upload
+++ b/tools/site_and_regional/neon_gcs_upload
@@ -126,7 +126,7 @@ def main(description):
#os.path.join(os.environ["HOME"],"gcwriter")
# Get the list of supported neon sites from usermods
- valid_neon_sites = glob.glob(os.path.join(cesmroot,"cime_config","usermods_dirs","NEON","[!d]*"))
+ valid_neon_sites = glob.glob(os.path.join(cesmroot,"cime_config","usermods_dirs","clm","NEON","[!d]*"))
valid_neon_sites = [v.split('/')[-1] for v in valid_neon_sites]
filedatestamp = datetime.datetime.now().date()
site_list, output_root, file_date, upload_finidat, upload_history = get_parser(sys.argv, description, valid_neon_sites)