diff --git a/Externals.cfg b/Externals.cfg
index 723e6d98fd..ae541c324f 100644
--- a/Externals.cfg
+++ b/Externals.cfg
@@ -23,14 +23,14 @@ required = True
local_path = components/mosart
protocol = git
repo_url = https://github.com/ESCOMP/mosart
-tag = release-cesm2.0.00
+tag = nldas-grid.n01_mosart1_0_31
required = True
[cime]
local_path = cime
protocol = git
repo_url = https://github.com/ESMCI/cime
-tag = ctsm/ctsm1.0/cime5.7.9/n01
+tag = ctsm/ctsm1.0/cime5.7.9/n05
required = True
[externals_description]
diff --git a/README b/README
index b0833e346d..76c0a04982 100644
--- a/README
+++ b/README
@@ -32,6 +32,7 @@ test -------------- CLM Testing scripts for CLM offline tools.
tools ------------- CLM Offline tools to prepare input datasets and process output.
cime_config ------- Configuration files of cime for compsets and CLM settings
manage_externals -- Script to manage the external source directories
+python ------------ Some python modules mostly for use by run_sys_tests (but could be used elsewhere)
Directory structure only for a CTSM checkout:
@@ -61,10 +62,17 @@ README.rst --------------- File that displays under the project in github
README_EXTERNALS.rst ----- Information on how to work with subversion externals for clm
CODE_OF_CONDUCT.md ------- Code of Conduct for how to work with each other on the CTSM project
Copyright ---------------- CESM Copyright file
-doc/UpdateChangeLog.pl ------- Script to add documentation on a tag to the
+doc/UpdateChangeLog.pl --- Script to add documentation on a tag to the
ChangeLog/ChangeSum files
-doc/ChangeLog ---------------- Documents different CLM versions
-doc/ChangeSum ---------------- Summary documentation of different CLM versions
+doc/ChangeLog ------------ Documents different CLM versions
+doc/ChangeSum ------------ Summary documentation of different CLM versions
+
+doc/design --------------- Software Engineering and code design document files
+
+Checklists for standard Software Engineering tasks
+
+./doc/README.CHECKLIST.master_tags
+./bld/namelist_files/README.CHECKLIST.interpolating_initial_conditions.md
Documentation of Namelist Items: (view the following in a web browser)
@@ -77,7 +85,13 @@ Important files in main directories (under $CTSMROOT):
Externals.cfg --------------- File for management of the main high level externals
Externals_CLM.cfg ----------- File for management of the CLM specific externals (i.e. FATES)
+
+run_sys_tests --------------- Python script to send the standard CTSM testing off (submits
+ the create_test test suite for several different compilers on the
+ machines we do standard CTSM testing on).
+
parse_cime.cs.status -------- Script to parse test status files cs.status.* created by create_test
+ (can be used along with run_sys_tests)
doc/Quickstart.GUIDE -------- Quick guide to using cpl7 scripts.
doc/IMPORTANT_NOTES --------- Some important notes about this version of
clm, configuration modes and namelist items
@@ -87,7 +101,7 @@ doc/ChangeSum --------------- Summary one-line list of changes for each
model version.
doc/README ------------------ Documentation similar to this file
doc/UsersGuide -------------- CLM Users Guide
-doc/CodeReference ----------- CLM Code Reference Guide
+doc/IMPORTANT_NOTES --------- Some important notes on caveats for some configurations/namelist items
bld/README ------------------ Description of how to use the configure and
build-namelist scripts.
diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm
index 9f69ae72ff..42e0b35b92 100755
--- a/bld/CLMBuildNamelist.pm
+++ b/bld/CLMBuildNamelist.pm
@@ -62,6 +62,9 @@ REQUIRED OPTIONS
-cimeroot "directory" Path to cime directory
-config "filepath" Read the given CLM configuration cache file.
Default: "config_cache.xml".
+ -configuration "cfg" The overall configuration being used [ clm | nwp ]
+ clm = Climate configuration
+ nwp = Numerical Weather Prediction configuration
-d "directory" Directory where output namelist file will be written
Default: current working directory.
-envxml_dir "directory" Directory name of env_*.xml case files to read in.
@@ -78,6 +81,7 @@ REQUIRED OPTIONS
(i.e. 1850, 2000, 1850-2000, 1850-2100)
"-sim_year list" to list valid simulation years
(default 2000)
+ -structure "structure" The overall structure being used [ standard | fast ]
OPTIONS
-bgc "value" Build CLM with BGC package [ sp | cn | bgc | fates ]
(default is sp).
@@ -240,6 +244,7 @@ sub process_commandline {
my %opts = ( cimeroot => undef,
config => "config_cache.xml",
+ configuration => undef,
csmdata => undef,
clm_usr_name => undef,
co2_type => undef,
@@ -254,6 +259,7 @@ sub process_commandline {
dir => "$cwd",
rcp => "default",
sim_year => "default",
+ structure => undef,
clm_accelerated_spinup=> "default",
chk_res => undef,
note => undef,
@@ -280,6 +286,7 @@ sub process_commandline {
"co2_ppmv=f" => \$opts{'co2_ppmv'},
"co2_type=s" => \$opts{'co2_type'},
"config=s" => \$opts{'config'},
+ "configuration=s" => \$opts{'configuration'},
"csmdata=s" => \$opts{'csmdata'},
"clm_usr_name=s" => \$opts{'clm_usr_name'},
"envxml_dir=s" => \$opts{'envxml_dir'},
@@ -306,6 +313,7 @@ sub process_commandline {
"rcp=s" => \$opts{'rcp'},
"s|silent" => \$opts{'silent'},
"sim_year=s" => \$opts{'sim_year'},
+ "structure=s" => \$opts{'structure'},
"output_reals=s" => \$opts{'output_reals_filename'},
"clm_accelerated_spinup=s" => \$opts{'clm_accelerated_spinup'},
"clm_start_type=s" => \$opts{'clm_start_type'},
@@ -621,6 +629,7 @@ sub process_namelist_commandline_options {
setup_cmdl_chk_res($opts, $defaults);
setup_cmdl_resolution($opts, $nl_flags, $definition, $defaults);
setup_cmdl_mask($opts, $nl_flags, $definition, $defaults, $nl);
+ setup_cmdl_configuration_and_structure($opts, $nl_flags, $definition, $defaults, $nl);
setup_cmdl_bgc($opts, $nl_flags, $definition, $defaults, $nl);
setup_cmdl_fire_light_res($opts, $nl_flags, $definition, $defaults, $nl);
setup_cmdl_spinup($opts, $nl_flags, $definition, $defaults, $nl);
@@ -768,6 +777,31 @@ sub setup_cmdl_fates_mode {
}
}
+#-------------------------------------------------------------------------------
+sub setup_cmdl_configuration_and_structure {
+ # Error-check and set the 'configuration' and 'structure' namelist flags
+
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
+
+ my $val;
+
+ my $var = "configuration";
+ $val = $opts->{$var};
+ if (defined($val) && ($val eq "clm" || $val eq "nwp")) {
+ $nl_flags->{$var} = $val;
+ } else {
+ $log->fatal_error("$var has a value (".$val.") that is NOT valid. Valid values are: clm, nwp.");
+ }
+
+ $var = "structure";
+ $val = $opts->{$var};
+ if (defined($val) && ($val eq "standard" || $val eq "fast")) {
+ $nl_flags->{$var} = $val;
+ } else {
+ $log->fatal_error("$var has a value (".$val.") that is NOT valid. Valid values are: standard, fast.");
+ }
+}
+
#-------------------------------------------------------------------------------
sub setup_cmdl_bgc {
# BGC - alias for group of biogeochemistry related use_XXX namelists
@@ -1936,9 +1970,12 @@ sub setup_logic_subgrid {
my $var = 'run_zero_weight_urban';
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var);
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'collapse_urban');
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_dom_landunits');
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_dom_pfts');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'collapse_urban',
+ 'structure'=>$nl_flags->{'structure'});
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_dom_landunits',
+ 'structure'=>$nl_flags->{'structure'});
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_dom_pfts',
+ 'structure'=>$nl_flags->{'structure'});
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'toosmall_soil');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'toosmall_crop');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'toosmall_glacier');
@@ -2052,7 +2089,8 @@ sub setup_logic_soilstate {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'organic_frac_squared' );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'soil_layerstruct' );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'soil_layerstruct',
+ 'structure'=>$nl_flags->{'structure'});
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_bedrock',
'use_fates'=>$nl_flags->{'use_fates'}, 'vichydro'=>$nl_flags->{'vichydro'} );
}
@@ -2893,7 +2931,7 @@ sub setup_logic_hydrstress {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_hydrstress',
- 'use_fates'=>$nl_flags->{'use_fates'} );
+ 'configuration'=>$nl_flags->{'configuration'}, 'use_fates'=>$nl_flags->{'use_fates'} );
$nl_flags->{'use_hydrstress'} = $nl->get_value('use_hydrstress');
if ( &value_is_true( $nl_flags->{'use_fates'} ) && &value_is_true( $nl_flags->{'use_hydrstress'} ) ) {
$log->fatal_error("Cannot turn use_hydrstress on when use_fates is on" );
@@ -3281,8 +3319,9 @@ sub setup_logic_megan {
my $var = "megan";
if ( $opts->{$var} eq "default" ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
-'megan', clm_accelerated_spinup=>$nl_flags->{'clm_accelerated_spinup'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'megan',
+ 'clm_accelerated_spinup'=>$nl_flags->{'clm_accelerated_spinup'},
+ 'configuration'=>$nl_flags->{'configuration'} );
$nl_flags->{$var} = $nl->get_value($var);
} else {
$nl_flags->{$var} = $opts->{$var};
@@ -3432,6 +3471,8 @@ sub setup_logic_canopyfluxes {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_undercanopy_stability' );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'itmax_canopy_fluxes',
+ 'structure'=>$nl_flags->{'structure'});
}
#-------------------------------------------------------------------------------
@@ -3453,8 +3494,10 @@ sub setup_logic_snowpack {
#
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'nlevsno');
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'h2osno_max');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'nlevsno',
+ 'structure'=>$nl_flags->{'structure'});
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'h2osno_max',
+ 'structure'=>$nl_flags->{'structure'});
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'int_snow_max');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_melt_glcmec');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'wind_dependent_snow_density');
diff --git a/bld/namelist_files/checkmapfiles.ncl b/bld/namelist_files/checkmapfiles.ncl
index 6302615d1c..c0751adcb0 100644
--- a/bld/namelist_files/checkmapfiles.ncl
+++ b/bld/namelist_files/checkmapfiles.ncl
@@ -9,7 +9,7 @@
;
print( "Check that datm mapping files are consistent" );
- resolutions = (/ "128x256", "64x128", "48x96", "32x64", "8x16", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "5x5_amazon", "1x1_camdenNJ", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /);
+ resolutions = (/ "128x256", "64x128", "48x96", "32x64", "8x16", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "0.125nldas2", "5x5_amazon", "1x1_camdenNJ", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /);
space = " ";
badres = 0
diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml
index 32a1f152cd..45cad259ad 100644
--- a/bld/namelist_files/namelist_defaults_ctsm.xml
+++ b/bld/namelist_files/namelist_defaults_ctsm.xml
@@ -96,8 +96,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.false.
+1
0
-1
+0
NONE
@@ -124,8 +125,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.true.
.false.
-20SL_8.5m
-10SL_3.5m
+5SL_3m
+20SL_8.5m
+10SL_3.5m
.false.
.false.
@@ -232,6 +234,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.false.
.true.
+40
+3
+
.true.
1.0
@@ -283,10 +288,15 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.true.
-12
-5
-10000.0
-1000.0
+12
+5
+5
+
+10000.0
+5000.0
+1000.0
2000.
@@ -446,9 +456,8 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
-6.d+1
-.false.
-.false.
-.true.
+.false.
+.true.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+