diff --git a/bld/namelist_files/README.CHECKLIST.interpolating_initial_conditions.md b/bld/namelist_files/README.CHECKLIST.interpolating_initial_conditions.md
new file mode 100644
index 0000000000..463c3ffd65
--- /dev/null
+++ b/bld/namelist_files/README.CHECKLIST.interpolating_initial_conditions.md
@@ -0,0 +1,58 @@
+# Steps for interpolating out-of-the-box initial conditions
+
+These are the steps that should be taken when interpolating (via
+`init_interp`) out-of-the-box initial conditions files. This is often done
+so that we'll have out-of-the-box initial conditions files that are
+compatible with the current memory allocation, etc. (thus not requiring
+`init_interp` to be run all the time).
+
+Do the following for each initial conditions file you want to
+interpolate:
+
+1. From the latest master tag, create and run a test using the
+ appropriate compset and resolution for this initial conditions
+ file. Note that there may be other options (like carbon isotopes)
+ that also need to be turned on. While doing this, generate
+ baselines. e.g., run
+ `SMS_Ld1.f09_g17.I1850Clm50Sp.cheyenne_intel.clm-default` or
+ `SMS_Ld1.f09_g17.I1850Clm50BgcCrop.cheyenne_intel.clm-ciso`, with
+ baseline generation.
+
+ - Confirm that the test points to the desired, original finidat file,
+ and that `use_init_interp` is .true. by default.
+
+2. Rename the `finidat_interp_dest.nc` file that was generated by this
+ test, giving it a name that matches the original initial conditions
+ file, but with a new date stamp. Move this file into place
+ (`$CESMDATAROOT/inputdata/lnd/clm2/initdata_map/`).
+
+3. Add global metadata to the new file, mentioning the original file,
+ the test used to generate this new file, the tag used to run this
+ test, and a summary of what is different on this new version. For
+ example:
+
+ ```
+ ncatted -h -a Notes_190111,global,c,c,'Interpolated from clmi.I1850Clm50BgcCrop.1366-01-01.0.9x1.25_gx1v6_simyr1850_c171213.nc. This is the finidat_interp_dest.nc file from SMS_Ln1.f09_g17.I1850Clm50BgcCrop.cheyenne_intel, run from ctsm1.0.dev022. Updates from the previous file are: (1) uses gx1v7 rather than gx1v6; (2) many inactive points are absent.'
+ ```
+
+4. Using `ncdump -h`, diff the headers of the new and old files, and
+ make sure that there are no unexpected differences. Especially look
+ for missing fields on the new file, which could indicate, for
+ example, that carbon isotopes were turned on in the original run but
+ not in your new run.
+
+5. Update `namelist_defaults_ctsm.xml` to point to the new file.
+
+ - Be sure to change any attributes in both the `finidat` entry and
+ the `init_interp_attributes` entry for this file. In particular, if
+ the old file had the attribute `use_init_interp=".true."`, this
+ should now be removed.
+
+6. Rerun the one-day test for which you generated baselines, comparing
+ against these baselines. Check the following:
+
+ - `use_init_interp` should be .false.
+
+ - The test should use the new `finidat` file
+
+ - The test should pass and be bit-for-bit with the baseline
diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml
index 9fae55df72..21b8bcf41a 100644
--- a/bld/namelist_files/namelist_defaults_ctsm.xml
+++ b/bld/namelist_files/namelist_defaults_ctsm.xml
@@ -474,11 +474,11 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
Or one specific file will be chosen over another.
-->
hgrid=0.9x1.25 maxpft=17 mask=gx1v6 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.false. irrigate=.false. glc_nec=10
+>hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.false. irrigate=.true. glc_nec=10
hgrid=0.9x1.25 maxpft=17 mask=gx1v6 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.false. irrigate=.false. glc_nec=10
+>hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.false. irrigate=.true. glc_nec=10
hgrid=0.9x1.25 maxpft=17 mask=gx1v6 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10
+>hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10
hgrid=0.9x1.25 maxpft=79 mask=gx1v6 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.false. glc_nec=10
+>hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.false. glc_nec=10
hgrid=0.9x1.25 maxpft=79 mask=gx1v6 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.false. glc_nec=10
+>hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.false. glc_nec=10
hgrid=0.9x1.25 maxpft=17 mask=gx1v6 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10
+>hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10
-lnd/clm2/initdata_map/clmi.I1850Clm45BgcGs.0901-01-01.0.9x1.25_gx1v6_simyr1850_c180204.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm45BgcGs.0901-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
-lnd/clm2/initdata_map/clmi.I1850Clm45BgcCruGs.1101-01-01.0.9x1.25_gx1v6_simyr1850_c180204.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm45BgcCruGs.1101-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
lnd/clm2/initdata_map/clmi.B1850.0161-01-01.0.9x1.25_gx1v7_simyr1850_c180130.nc
+>lnd/clm2/initdata_map/clmi.B1850.0161-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
-lnd/clm2/initdata_map/clmi.I1850Clm50Sp.0181-01-01.0.9x1.25_gx1v6_simyr1850_c171214.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm50Sp.0181-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
-lnd/clm2/initdata_map/clmi.I1850Clm50BgcCrop.1366-01-01.0.9x1.25_gx1v6_simyr1850_c171213.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm50BgcCrop-ciso.1366-01-01.0.9x1.25_gx1v7_simyr1850_c190116.nc
-lnd/clm2/initdata_map/clmi.I1850Clm50BgcCropCru.1526-01-01.0.9x1.25_gx1v6_simyr1850_c180109b.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm50BgcCropCru-ciso.1526-01-01.0.9x1.25_gx1v7_simyr1850_c190116.nc
lnd/clm2/initdata_map/clmi.B1850.0161-01-01.0.9x1.25_gx1v7_simyr1850_c180130.nc
+>lnd/clm2/initdata_map/clmi.B1850.0161-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
-lnd/clm2/initdata_map/clmi.I1850Clm50SpCru.1706-01-01.0.9x1.25_gx1v6_simyr1850_c180110.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm50SpCru.1706-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml
index 50f51d5a39..8b01e6e5a2 100644
--- a/cime_config/testdefs/testlist_clm.xml
+++ b/cime_config/testdefs/testlist_clm.xml
@@ -16,12 +16,13 @@
-
+
+
@@ -49,20 +50,22 @@
-
+
+
-
+
+
@@ -70,7 +73,7 @@
-
+
@@ -86,10 +89,10 @@
-
+
-
+
@@ -105,15 +108,7 @@
-
-
-
-
-
-
-
-
-
+
@@ -204,14 +199,6 @@
-
-
-
-
-
-
-
-
@@ -261,12 +248,13 @@
-
+
-
+
+
@@ -451,12 +439,19 @@
-
+
+
+
+
+
+
+
+
@@ -515,7 +510,7 @@
-
+
@@ -575,13 +570,21 @@
-
+
+
+
+
+
+
+
+
+
@@ -750,7 +753,7 @@
-
+
@@ -794,9 +797,9 @@
-
+
-
+
@@ -949,14 +952,6 @@
-
-
-
-
-
-
-
-
@@ -1020,13 +1015,13 @@
-
+
-
+
@@ -1091,7 +1086,7 @@
-
+
@@ -1245,22 +1240,13 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -1358,13 +1344,13 @@
-
+
-
+
@@ -1383,14 +1369,6 @@
-
-
-
-
-
-
-
-
@@ -1495,14 +1473,6 @@
-
-
-
-
-
-
-
-
@@ -1512,12 +1482,13 @@
-
+
+
@@ -1526,7 +1497,7 @@
-
+
diff --git a/cime_config/testdefs/testmods_dirs/clm/basic_interp/README b/cime_config/testdefs/testmods_dirs/clm/basic_interp/README
new file mode 100644
index 0000000000..7aecd6e723
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/basic_interp/README
@@ -0,0 +1,2 @@
+This testmod directory is for tests that want to use the 'basic'
+testmod, but also need use_init_interp = .true.
diff --git a/cime_config/testdefs/testmods_dirs/clm/basic_interp/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/basic_interp/include_user_mods
new file mode 100644
index 0000000000..068a5b784e
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/basic_interp/include_user_mods
@@ -0,0 +1 @@
+../basic
diff --git a/cime_config/testdefs/testmods_dirs/clm/basic_interp/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/basic_interp/user_nl_clm
new file mode 100644
index 0000000000..05c8a39983
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/basic_interp/user_nl_clm
@@ -0,0 +1 @@
+use_init_interp = .true.
diff --git a/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963/shell_commands b/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963/shell_commands
deleted file mode 100755
index fdc79af2de..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963/shell_commands
+++ /dev/null
@@ -1 +0,0 @@
-./xmlchange RUN_STARTDATE=1963-01-01
diff --git a/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963/user_nl_clm
deleted file mode 100644
index 37b7c1ac3d..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963/user_nl_clm
+++ /dev/null
@@ -1,6 +0,0 @@
-use_c14_bombspike=.true.
-use_c13_timeseries = .true.
-
-! This testmod is used in a long test, so change output frequency
-hist_nhtfrq = 0,-240
-hist_mfilt = 1,1
diff --git a/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963DecStart/include_user_mods
similarity index 100%
rename from cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963/include_user_mods
rename to cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963DecStart/include_user_mods
diff --git a/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963DecStart/shell_commands b/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963DecStart/shell_commands
new file mode 100755
index 0000000000..19c5e78e3a
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963DecStart/shell_commands
@@ -0,0 +1,4 @@
+./xmlchange RUN_STARTDATE=1963-12-30
+
+# This is done for the decStart testmod, so doing it here, too
+./xmlchange CLM_BLDNML_OPTS=-ignore_warnings --append
diff --git a/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963DecStart/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963DecStart/user_nl_clm
new file mode 100644
index 0000000000..d0d9106e48
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/ciso_bombspike1963DecStart/user_nl_clm
@@ -0,0 +1,2 @@
+use_c14_bombspike=.true.
+use_c13_timeseries = .true.
diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50KSinkMOut/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/clm50KSinkMOut/include_user_mods
deleted file mode 100644
index 0a64f1e6cc..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/clm50KSinkMOut/include_user_mods
+++ /dev/null
@@ -1 +0,0 @@
-../clm50KitchenSink
diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50KSinkMOut/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/clm50KSinkMOut/user_nl_clm
deleted file mode 100644
index 3c3d59e9c3..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/clm50KSinkMOut/user_nl_clm
+++ /dev/null
@@ -1,3 +0,0 @@
- hist_nhtfrq = 0,-240
- hist_mfilt = 1,1
- calc_human_stress_indices = 'ALL'
diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50KitchenSink/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/clm50KitchenSink/user_nl_clm
deleted file mode 100644
index f587667b57..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/clm50KitchenSink/user_nl_clm
+++ /dev/null
@@ -1,7 +0,0 @@
-limit_irrigation_if_rof_enabled = .false.
-leaf_mr_vcm = 0.015d00
-use_bedrock = .true.
-use_luna = .true.
-use_flexibleCN = .true.
-use_fun = .true.
-calc_human_stress_indices = 'ALL'
diff --git a/cime_config/testdefs/testmods_dirs/clm/compatible_finidat_f09/README b/cime_config/testdefs/testmods_dirs/clm/compatible_finidat_f09/README
deleted file mode 100644
index 566826ac8e..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/compatible_finidat_f09/README
+++ /dev/null
@@ -1,23 +0,0 @@
-This testmod provides an finidat file compatible with the current model
-configuration, at f09 resolution.
-
-This testmods directory is for running LII tests which compare the answers for a case where
-initial condition interpolation is on (use_init_interp=T) to a case with it's off and ensures
-they are exact. For the interpolated result to match uninterpolation, it needs to be a case that
-essentially needs no interpolation so it's at the same resolution as the initial condition
-file (finidat file). When surface datasets are changed, or the land-mask is changed, or an
-important change is made to model physics (for example where new fields are added to the restart
-file) -- you'll need to update the initial conditions file in this test (finidat file in
-the user_nl_clm file).
-
-To update the initial conditions (finidat) file for this test:
-
-(1) Run the LII test; the 'base' case should run to completion even if the
-no_interp test fails.
-
-(2) Copy the finidat_interp_dest.nc file from the 'base' case to the inputdata
-space. Rename this to be similar to the name of the file pointed to in this
-test's user_nl_clm file, but with a new creation date.
-
-(3) Update this the user_nl_clm file in this directory to point to the new
-finidat file.
diff --git a/cime_config/testdefs/testmods_dirs/clm/compatible_finidat_f09/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/compatible_finidat_f09/include_user_mods
deleted file mode 100644
index fe0e18cf88..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/compatible_finidat_f09/include_user_mods
+++ /dev/null
@@ -1 +0,0 @@
-../default
diff --git a/cime_config/testdefs/testmods_dirs/clm/compatible_finidat_f09/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/compatible_finidat_f09/user_nl_clm
deleted file mode 100644
index dc3dedf6c4..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/compatible_finidat_f09/user_nl_clm
+++ /dev/null
@@ -1 +0,0 @@
-finidat = '$DIN_LOC_ROOT/lnd/clm2/initdata_map/clmi.I1850Clm50BgcCrop.1366-01-01.0.9x1.25_gx1v6_simyr1850_c180424.nc'
diff --git a/cime_config/testdefs/testmods_dirs/clm/extra_outputs/README b/cime_config/testdefs/testmods_dirs/clm/extra_outputs/README
new file mode 100644
index 0000000000..83fad7964a
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/extra_outputs/README
@@ -0,0 +1 @@
+This test mod turns on extra diagnostic fields
diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50KitchenSink/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/extra_outputs/include_user_mods
similarity index 100%
rename from cime_config/testdefs/testmods_dirs/clm/clm50KitchenSink/include_user_mods
rename to cime_config/testdefs/testmods_dirs/clm/extra_outputs/include_user_mods
diff --git a/cime_config/testdefs/testmods_dirs/clm/extra_outputs/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/extra_outputs/user_nl_clm
new file mode 100644
index 0000000000..512a426909
--- /dev/null
+++ b/cime_config/testdefs/testmods_dirs/clm/extra_outputs/user_nl_clm
@@ -0,0 +1 @@
+calc_human_stress_indices = 'ALL'
diff --git a/cime_config/testdefs/testmods_dirs/clm/waccmx_offline/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/waccmx_offline/user_nl_clm
index 2822111c11..2da32e0ad6 100644
--- a/cime_config/testdefs/testmods_dirs/clm/waccmx_offline/user_nl_clm
+++ b/cime_config/testdefs/testmods_dirs/clm/waccmx_offline/user_nl_clm
@@ -1,5 +1,5 @@
! Add in an initial condition file that isn't in equilibrium and will need to be brought into equilibrium.
! We purposely want to add a shock to ensure the model can properly respond to it, skipping balance checks
! at the beginning and then coming into balance after enough time.
- finidat = '$DIN_LOC_ROOT/lnd/clm2/initdata_map/clmi.I1850Clm45BgcGs.0901-01-01.0.9x1.25_gx1v6_simyr1850_c180204.nc'
+ finidat = '$DIN_LOC_ROOT/lnd/clm2/initdata_map/clmi.I1850Clm45BgcGs.0901-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc'
use_init_interp = .true.
diff --git a/doc/.ChangeLog_template b/doc/.ChangeLog_template
index 3f6717a297..6b7fdb673f 100644
--- a/doc/.ChangeLog_template
+++ b/doc/.ChangeLog_template
@@ -48,7 +48,7 @@ Substantial timing or memory changes: [For timing changes, can check PFS test(s)
Notes of particular relevance for developers: (including Code reviews and testing)
---------------------------------------------
-NOTE: Be sure to review the steps in ../CTSMMasterChecklist as well as the coding style in the Developers Guide
+NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide
Caveats for developers (e.g., code that is duplicated that requires double maintenance):
diff --git a/doc/ChangeLog b/doc/ChangeLog
index d0eea65daf..7e8e85a62f 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -107,6 +107,205 @@ List any externals directories updated (cime, rtm, mosart, cism, fates, etc.):
Pull Requests that document the changes (include PR ids):
https://github.com/ESCOMP/ctsm/pull/639
+===============================================================
+===============================================================
+Tag name: ctsm1.0.dev028
+Originator(s): sacks (Bill Sacks)
+Date: Tue Feb 26 14:35:01 MST 2019
+One-line Summary: Interpolate out-of-the-box initial conditions and remove expensive tests
+
+Purpose of changes
+------------------
+
+Two main changes (plus some small additional changes):
+
+1. Removed / reworked some expensive tests
+
+2. Interpolated all out-of-the-box initial conditions, so that the
+ out-of-the-box version is now compatible with our current
+ configuration. The changes from before were (a) our standard
+ configuration now uses the gx1v7 rather than gx1v6 land mask; (b)
+ many inactive points are now absent in memory.
+
+See https://github.com/ESCOMP/ctsm/pull/622 for details.
+
+
+Bugs fixed or introduced
+------------------------
+
+Issues fixed (include CTSM Issue #):
+- Resolves ESCOMP/ctsm#312
+- Partially addresses ESCOMP/ctsm#275 (just a bit)
+
+
+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.]
+
+[ ] clm5_0
+
+[ ] clm4_5
+
+Notes of particular relevance for users
+---------------------------------------
+
+Caveats for users (e.g., need to interpolate initial conditions): none
+
+Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none
+
+Changes made to namelist defaults (e.g., changed parameter values): none
+
+Changes to the datasets (e.g., parameter, surface or initial files):
+- New finidat files
+
+Substantial timing or memory changes:
+- Faster initialization times for cases that no longer need to interpolate initial conditions
+
+Notes of particular relevance for developers: (including Code reviews and testing)
+---------------------------------------------
+NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide
+
+Caveats for developers (e.g., code that is duplicated that requires double maintenance): none
+
+Changes to tests or testing:
+- Removed or reworked expensive tests: see details in https://github.com/ESCOMP/ctsm/pull/622
+
+Code reviewed by: Erik Kluzek
+
+
+CTSM testing:
+
+ [PASS means all tests PASS and OK means tests PASS other than expected fails.]
+
+ build-namelist tests:
+
+ cheyenne - not run
+
+ tools-tests (test/tools):
+
+ cheyenne - not run
+
+ PTCLM testing (tools/shared/PTCLM/test):
+
+ cheyenne - not run
+
+ regular tests (aux_clm):
+
+ cheyenne ---- ok
+ hobart ------ ok
+
+ ok: tests pass, baselines fail as expected
+
+CTSM tag used for the baseline comparisons: ctsm1.0.dev027
+
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: YES
+
+ If a tag changes answers relative to baseline comparison the
+ following should be filled in (otherwise remove this section):
+
+ Summarize any changes to answers, i.e.,
+ - what code configurations: all configurations that still need use_init_interp = .true.
+ - what platforms/compilers: all
+ - nature of change (roundoff; larger than roundoff/same climate; new climate):
+ Not investigated carefully, but expected to be larger than roundoff/same climate
+
+ Answers change for cases that still need to do interpolation from
+ these out-of-the-box finidat files.
+
+ I first confirmed that the new finidat files are good via:
+
+ - Compared `ncdump -h` of old vs. new initial conditions files
+
+ - Ran the following tests, with comparison against master; verified that
+ these all pass and are bit-for-bit, that they use the new initial
+ conditions files, and that they now have `use_init_interp` unset
+ (whereas they used to have `use_init_interp` set to `.true.`); note
+ that these cover 6 of the 7 new initial conditions files:
+
+ ```
+ SMS_Ld1.f09_g17.I1850Clm45BgcGs.cheyenne_intel.clm-default
+ SMS_Ld1.f09_g17.I1850Clm45BgcCruGs.cheyenne_intel.clm-default
+ SMS_Ld1.f09_g17.I1850Clm50Sp.cheyenne_intel.clm-default
+ SMS_Ld1.f09_g17.I1850Clm50BgcCrop.cheyenne_intel.clm-ciso
+ SMS_Ld1.f09_g17.I1850Clm50BgcCropCru.cheyenne_intel.clm-ciso
+ SMS_Ld1.f09_g17.I1850Clm50SpCru.cheyenne_intel.clm-default
+ ```
+
+ - To cover the last new initial conditions file, ran the following test
+ (with the same checks as above: passes and bit-for-bit, checked
+ finidat, and checked `use_init_interp`), with `./xmlchange
+ LND_TUNING_MODE=clm5_0_cam6.0` (for the baseline for this test, I set
+ `init_interp_method = 'use_finidat_areas'`, which I also used in
+ interpolating this initial conditions file):
+
+ ```
+ SMS_Ld1.f09_g17.I1850Clm50BgcCrop.cheyenne_intel
+ ```
+
+ Details on answer changes:
+
+ As noted above, these changes are bit-for-bit for configurations
+ that can now use the out-of-the-box initial conditions without
+ interpolation. However, answers change for configurations that still
+ require interpolation of the out-of-the-box initial conditions
+ (e.g., because they are at a different resolution than the finidat
+ file).
+
+ I expected these answer changes around the Caspian Sea, due to the
+ fact that we are now effectively interpolating twice from the
+ original file: once to produce the new out-of-the-box file (which
+ includes an interpolation from `gx1v6` to `gx1v7`, and so
+ interpolates onto the Caspian Sea region) and once to go from
+ `f09_g17` to the target resolution (rather than interpolating
+ directly from `f09_g16` to the target resolution).
+
+ However, when I ran a test with comparison to baselines -
+ `ERP_Ld5.f19_g17.I1850Clm50Bgc.cheyenne_intel.clm-default` - I saw
+ changes in regions further afield than simply around the Caspian
+ Sea. See images in https://github.com/ESCOMP/ctsm/pull/622 for
+ details. It's possible that the other differences are also due to
+ the Caspian Sea change, but it's also possible that there is some
+ other cause here that I don't understand. But Erik Kluzek and I
+ agreed that it isn't worth trying to understand these other
+ (isolated) differences.
+
+ Also note: While most f09_g17 tests are bit-for-bit with the earlier
+ tag (because now use_init_interp is .false. for those tests),
+ `SMS_Ld2_D.f09_g17.I1850Clm50BgcCropCmip6.cheyenne_intel.clm-basic_interp`
+ differs in some glc forcing fields for a few grid cells in
+ Antarctica. This is perhaps not surprising, since this test needs to
+ use interpolation to get fields for the Antarctica virtual columns;
+ so, while I don't completely understand the cause of these answer
+ changes, I suspect the root cause is similar to the isolated answer
+ changes I saw sprinkled around the world for
+ `ERP_Ld5.f19_g17.I1850Clm50Bgc.cheyenne_intel.clm-default`.
+
+ If bitwise differences were observed, how did you show they were no worse
+ than roundoff? N/A
+
+ If this tag changes climate describe the run(s) done to evaluate the new
+ climate (put details of the simulations in the experiment database)
+ - casename: N/A
+
+ URL for LMWG diagnostics output used to validate new climate: N/A
+
+
+Detailed list of changes
+------------------------
+
+List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none
+
+Pull Requests that document the changes (include PR ids):
+- https://github.com/ESCOMP/ctsm/pull/622
+
===============================================================
===============================================================
Tag name: ctsm1.0.dev027
diff --git a/doc/ChangeSum b/doc/ChangeSum
index 641f14486b..210ec1adfa 100644
--- a/doc/ChangeSum
+++ b/doc/ChangeSum
@@ -1,6 +1,7 @@
Tag Who Date Summary
============================================================================================================================
ctsm1.0.dev029 slevis 02/26/2019 Collapse landunits to the N most dominant
+ ctsm1.0.dev028 sacks 02/26/2019 Interpolate out-of-the-box initial conditions and remove expensive tests
ctsm1.0.dev027 negins 02/19/2019 non-constant time init for soil hydrology types are moved to SoilHydrologyType.F90
ctsm1.0.dev026 slevis 02/05/2019 Collapse unmanaged PFTs to the N most dominant
ctsm1.0.dev025 sacks 01/23/2019 History fields for vertically-resolved sums of soil C and N, and minor fixes
diff --git a/CTSMMasterChecklist b/doc/README.CHECKLIST.master_tags
similarity index 93%
rename from CTSMMasterChecklist
rename to doc/README.CHECKLIST.master_tags
index 793146c2a1..18b2390625 100644
--- a/CTSMMasterChecklist
+++ b/doc/README.CHECKLIST.master_tags
@@ -64,6 +64,12 @@ This should show no diffs
(10) Push master and tag to ESCOMP/ctsm
+(11) Update the CTSM upcoming tags project, if necessary
+ (https://github.com/ESCOMP/ctsm/projects/6)
+
+(12) Add tag to the CESM test database
+ (https://csegweb.cgd.ucar.edu/testdb)
+
---- NOTES ----
(3) -- Always test on your fork with a feature-branch so that we can change tag order if needed. Put
diff --git a/doc/design/directory_organization.rst b/doc/design/directory_organization.rst
new file mode 100644
index 0000000000..eee5db90ae
--- /dev/null
+++ b/doc/design/directory_organization.rst
@@ -0,0 +1,18 @@
+.. sectnum::
+
+.. contents::
+
+=====================================================
+ General notes about file and directory organization
+=====================================================
+
+- Various checklists (useful for developers) are scattered throughout the repository, in
+ the location that is most closely related to the given process. To aid discovery of
+ these checklists, these have the naming convention ``README.CHECKLIST.*``.
+
+- Unit tests are stored in the ``test`` subdirectory of each ``src`` directory. For
+ example, unit tests of biogeophysics modules reside in
+ ``src/biogeophysics/test``. Within each test subdirectory, there are further
+ subdirectories for each set of unit tests. These typically correspond to a single module
+ (e.g., ``src/biogeophysics/test/Irrigation_test`` contains tests of
+ ``src/biogeophysics/IrrigationMod.F90``), but that is not a strict requirement.
diff --git a/python/ctsm/run_sys_tests.py b/python/ctsm/run_sys_tests.py
index 11f751d1f9..7d4433dd43 100644
--- a/python/ctsm/run_sys_tests.py
+++ b/python/ctsm/run_sys_tests.py
@@ -12,6 +12,7 @@
from ctsm.machine import create_machine
from ctsm.machine_defaults import MACHINE_DEFAULTS
from ctsm.path_utils import path_to_ctsm_root
+from ctsm.joblauncher.job_launcher_factory import JOB_LAUNCHER_NOBATCH
from CIME.test_utils import get_tests_from_xml # pylint: disable=import-error
from CIME.cs_status_creator import create_cs_status # pylint: disable=import-error
@@ -44,7 +45,12 @@ def main(cime_path):
args = _commandline_args()
process_logging_args(args)
logger.info('Running on machine: %s', args.machine_name)
+ if args.job_launcher_nobatch:
+ job_launcher_type = JOB_LAUNCHER_NOBATCH
+ else:
+ job_launcher_type = None
machine = create_machine(machine_name=args.machine_name,
+ job_launcher_type=job_launcher_type,
defaults=MACHINE_DEFAULTS,
account=args.account,
job_launcher_queue=args.job_launcher_queue,
@@ -269,6 +275,10 @@ def _commandline_args():
'(To allow the argument parsing to accept this, enclose the string\n'
'in quotes, with a leading space, as in " --my-arg foo".)')
+ parser.add_argument('--job-launcher-nobatch', action='store_true',
+ help='Run create_test on the login node, even if this machine\n'
+ 'is set up to submit create_test to a compute node by default.')
+
parser.add_argument('--job-launcher-queue',
help='Queue to which the create_test command is submitted.\n'
'Only applies on machines for which we submit the create_test command\n'
diff --git a/src/main/glc2lndMod.F90 b/src/main/glc2lndMod.F90
index c7e4402ac9..5fe1dac966 100644
--- a/src/main/glc2lndMod.F90
+++ b/src/main/glc2lndMod.F90
@@ -48,7 +48,7 @@ module glc2lndMod
real(r8), pointer, private :: topo_grc (:,:) => null()
real(r8), pointer, private :: hflx_grc (:,:) => null()
- ! Area in which GLC model can accept surface mass balance, received from glc (0-1)
+ ! Area in which values from GLC are valid, received from GLC (0-1)
real(r8), pointer, private :: icemask_grc (:) => null()
! icemask_coupled_fluxes_grc is like icemask_grc, but the mask only contains icesheet