diff --git a/SVN_EXTERNAL_DIRECTORIES b/SVN_EXTERNAL_DIRECTORIES
index 40ac793f7f..06d710da44 100644
--- a/SVN_EXTERNAL_DIRECTORIES
+++ b/SVN_EXTERNAL_DIRECTORIES
@@ -1,2 +1,2 @@
-src/fates https://github.com/NCAR/fates-release/tags/fates_s1.3.0_a1.0.0_rev3
+src/fates https://github.com/NCAR/fates-release/tags/fates_s1.4.1_a3.0.0_rev2
tools/PTCLM https://github.com/ESCOMP/ptclm/tags/PTCLM2_171216c
diff --git a/SVN_EXTERNAL_DIRECTORIES.standalone b/SVN_EXTERNAL_DIRECTORIES.standalone
index d27f56de83..dc37d702cc 100644
--- a/SVN_EXTERNAL_DIRECTORIES.standalone
+++ b/SVN_EXTERNAL_DIRECTORIES.standalone
@@ -1,4 +1,4 @@
cime https://github.com/CESM-Development/cime/tags/clm4518/n02/cime5.4.0-alpha.03
components/cism https://svn-ccsm-models.cgd.ucar.edu/glc/trunk_tags/cism2_1_40
-components/rtm https://github.com/ESCOMP/rtm/tags/rtm1_0_64
-components/mosart https://github.com/ESCOMP/mosart/tags/mosart1_0_29
+components/rtm https://github.com/ESCOMP/rtm/tags/rtm1_0_65
+components/mosart https://github.com/ESCOMP/mosart/tags/mosart1_0_30
diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm
index 01118dab67..4c0d7df810 100755
--- a/bld/CLMBuildNamelist.pm
+++ b/bld/CLMBuildNamelist.pm
@@ -741,7 +741,7 @@ sub setup_cmdl_fates_mode {
# The following variables may be set by the user and are compatible with use_fates
# no need to set defaults, covered in a different routine
- my @list = ( "use_fates_spitfire", "use_vertsoilc", "use_century_decomp", "use_lch4" );
+ my @list = ( "use_vertsoilc", "use_century_decomp", "use_lch4" );
foreach my $var ( @list ) {
if ( defined($nl->get_value($var)) ) {
$nl_flags->{$var} = $nl->get_value($var);
@@ -754,15 +754,14 @@ sub setup_cmdl_fates_mode {
}
}
}
-
-# add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_vertsoilc', 'use_fates'=>$nl_flags->{'use_fates'} );
-
-
} else {
- # we only dis-allow fates_spit_fire with non-fates runs
- $var = "use_fates_spitfire";
- if ( defined($nl->get_value($var)) ) {
- $log->fatal_error("$var is being set, but can ONLY be set when -bgc fates option is used.");
+ # dis-allow fates specific namelist items with non-fates runs
+ my @list = ( "use_fates_spitfire", "use_fates_planthydro", "use_fates_ed_st3", "use_fates_ed_prescribed_phys",
+ "use_fates_inventory_init", "fates_inventory_ctrl_filename","use_fates_logging" );
+ foreach my $var ( @list ) {
+ if ( defined($nl->get_value($var)) ) {
+ $log->fatal_error("$var is being set, but can ONLY be set when -bgc fates option is used.\n");
+ }
}
}
}
@@ -1244,14 +1243,14 @@ sub setup_cmdl_run_type {
if (defined $opts->{$var}) {
if ($opts->{$var} eq "default" ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
- 'use_cndv'=>$nl_flags->{'use_cndv'} );
+ 'use_cndv'=>$nl_flags->{'use_cndv'}, 'use_fates'=>$nl_flags->{'use_fates'} );
} else {
my $group = $definition->get_group_name($var);
$nl->set_variable_value($group, $var, quote_string( $opts->{$var} ) );
}
} else {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
- 'use_cndv'=>$nl_flags->{'use_cndv'} );
+ 'use_cndv'=>$nl_flags->{'use_cndv'}, 'use_fates'=>$nl_flags->{'use_fates'} );
}
$nl_flags->{'clm_start_type'} = $nl->get_value($var);
}
@@ -2339,7 +2338,7 @@ sub setup_logic_initial_conditions {
}
} else {
foreach my $item ( "mask", "maxpft", "irrigate", "glc_nec", "use_crop", "use_cn", "use_cndv",
- "use_nitrif_denitrif", "use_vertsoilc", "use_century_decomp"
+ "use_nitrif_denitrif", "use_vertsoilc", "use_century_decomp", "use_fates"
) {
$settings{$item} = $nl_flags->{$item};
}
@@ -2381,7 +2380,8 @@ sub setup_logic_initial_conditions {
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $useinitvar,
'use_cndv'=>$nl_flags->{'use_cndv'}, 'phys'=>$physv->as_string(),
- 'sim_year'=>$settings{'sim_year'}, 'nofail'=>1 );
+ 'sim_year'=>$settings{'sim_year'}, 'nofail'=>1,
+ 'use_fates'=>$nl_flags->{'use_fates'} );
$settings{$useinitvar} = $nl->get_value($useinitvar);
if ( $try > 1 ) {
my $group = $definition->get_group_name($useinitvar);
@@ -2390,7 +2390,8 @@ sub setup_logic_initial_conditions {
if ( &value_is_true($nl->get_value($useinitvar) ) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, "init_interp_attributes",
- 'sim_year'=>$settings{'sim_year'}, 'use_cndv'=>$nl_flags->{'use_cndv'},
+ 'sim_year'=>$settings{'sim_year'}, 'use_cndv'=>$nl_flags->{'use_cndv'},
+ 'glc_nec'=>$nl_flags->{'glc_nec'}, 'use_fates'=>$nl_flags->{'use_fates'},
'use_cn'=>$nl_flags->{'use_cn'}, 'nofail'=>1 );
my $attributes_string = remove_leading_and_trailing_quotes($nl->get_value("init_interp_attributes"));
foreach my $pair ( split( /\s/, $attributes_string) ) {
@@ -3679,8 +3680,23 @@ sub setup_logic_fates {
my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
if ($physv->as_long() >= $physv->as_long("clm4_5") && &value_is_true( $nl_flags->{'use_fates'}) ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_fates_spitfire', 'use_fates'=>$nl_flags->{'use_fates'} );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fates_paramfile', 'phys'=>$nl_flags->{'phys'});
+ my @list = ( "use_fates_spitfire", "use_fates_planthydro", "use_fates_ed_st3", "use_fates_ed_prescribed_phys",
+ "use_fates_inventory_init", "use_fates_logging" );
+ foreach my $var ( @list ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, 'use_fates'=>$nl_flags->{'use_fates'} );
+ }
+ my $var = "use_fates_inventory_init";
+ if ( defined($nl->get_value($var)) ) {
+ if ( &value_is_true($nl->get_value($var)) ) {
+ $var = "fates_inventory_ctrl_filename";
+ if ( ! defined($nl->get_value($var)) ) {
+ $log->fatal_error("$var is required when use_fates_inventory_init is set" );
+ } elsif ( ! -f "$nl->get_value($var)" ) {
+ $log->fatal_error("$var does NOT point to a valid filename" );
+ }
+ }
+ }
}
}
diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml
index 9cc36f3857..d9a498adb4 100644
--- a/bld/namelist_files/namelist_defaults_clm4_5.xml
+++ b/bld/namelist_files/namelist_defaults_clm4_5.xml
@@ -347,8 +347,11 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
lnd/clm2/paramdata/clm5_params.c171117.nc
lnd/clm2/paramdata/clm_params.c170913.nc
-lnd/clm2/paramdata/fates_params.c170331.nc
+
+
+
+lnd/clm2/paramdata/fates_params_2troppftclones.c171018.nc
@@ -449,9 +452,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
1850,2000
-.true.
-.true.
-.false.
+.true.
+.true.
+.false.
-hgrid=1.9x2.5 maxpft=79 mask=gx1v6 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.false. glc_nec=10
-hgrid=1.9x2.5 maxpft=79 mask=gx1v6 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10
@@ -472,7 +475,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
-->
-lnd/clm2/initdata_map/clmi.IGM1850GSWCLM50BGCCROP.0481-01-01.1.9x2.5_gx1v6_gl5_simyr1850_c170419.nc
@@ -483,12 +486,26 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
-->
-lnd/clm2/initdata_map/clmi.IGM2000GSWP3CLM50BGCCROPIRR.2011-01-01.1.9x2.5_gx1v6_gl5_simyr2000_c170419.nc
+
+lnd/clm2/initdata_map/clmi.I2000Clm45Fates.0121-01-01.4x5_mgx3v7_simyr2000_c180122.nc
+
+
+lnd/clm2/initdata_map/clmi.I2000Clm45Fates.0101-01-01.1x1_brazil_simyr2000_c180120.nc
+
+
+
lnd/clm2/surfdata_map/surfdata_360x720cru_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
@@ -1004,6 +1021,7 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc.true.
.false.
+
@@ -2299,6 +2317,12 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc.false.
.false.
-.false.
+
+.false.
+.false.
+.false.
+.false.
+.false.
+.false.
diff --git a/bld/namelist_files/namelist_defaults_overall.xml b/bld/namelist_files/namelist_defaults_overall.xml
index a21a0c006e..20158c7dd4 100644
--- a/bld/namelist_files/namelist_defaults_overall.xml
+++ b/bld/namelist_files/namelist_defaults_overall.xml
@@ -13,12 +13,14 @@ determine default values for namelists.
-->
-startup
-startup
-arb_ic
-arb_ic
-arb_ic
-cold
+startup
+startup
+arb_ic
+arb_ic
+arb_ic
+arb_ic
+arb_ic
+cold
/fs/cgd/csm/inputdata
diff --git a/bld/namelist_files/namelist_definition_clm4_5.xml b/bld/namelist_files/namelist_definition_clm4_5.xml
index e8318d60c1..ea00f3babe 100644
--- a/bld/namelist_files/namelist_definition_clm4_5.xml
+++ b/bld/namelist_files/namelist_definition_clm4_5.xml
@@ -582,15 +582,48 @@ set to 3 meaning branch.
-Toggle to turn on the ED
-(ED = 'on' is EXPERIMENTAL NOT SUPPORTED!)
+Toggle to turn on the FATES model
+(use_fates= '.true.' is EXPERIMENTAL NOT SUPPORTED!)
-Toggle to turn on spit fire (only relevant if ED is being used).
+Toggle to turn on spitfire module for modeling fire (only relevant if FATES is being used).
+
+Toggle to turn on the logging module (only relevant if FATES is being used).
+
+
+
+Toggle to turn on plant hydraulics (only relevant if FATES is on).
+(use_fates_planthydro=".true." is EXPERIMENTAL NOT SUPPORTED! Nor is it Tested!)
+
+
+
+Toggle to turn on Static Stand Structure Mode (only relevant if FATES is being used).
+(use_fates_ed_st3=".true." is EXPERIMENTAL NOT SUPPORTED! Nor is it Tested!)
+
+
+
+Toggle to turn on prescribed physiology (only relevant if FATES is being used).
+
+
+
+Toggle to turn on inventory initialization to startup FATES (only relevant if FATES is being used).
+(use_fates_inventory_init=".true." is EXPERIMENTAL NOT SUPPORTED! Nor is it Tested!)
+
+
+
+Full pathname to the inventory initialization control file.
+(Required, if use_fates_inventory_init=T)
+
@@ -871,13 +904,13 @@ Maximum nitrification rate constant (1/s)
Turn on vertical soil carbon.
-Requires the CN or ED model to work (either CN or CNDV).
+Requires the CN or FATES model to work (either CN or CNDV).
Use parameters for decomposition from the CENTURY Carbon model
-Requires the CN or ED model to work (either CN or CNDV).
+Requires the CN or FATES model to work (either CN or CNDV).