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.0117d00 0.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_deck run_component_ctsm env_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 #2619 This failure relates to the following REP failure. - + FAIL #2619 This 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)