diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm
index 3b169159b8..6c06a46cea 100755
--- a/bld/CLMBuildNamelist.pm
+++ b/bld/CLMBuildNamelist.pm
@@ -747,14 +747,13 @@ sub setup_cmdl_fates_mode {
# want to set a catch to fail and warn users if they explicitly set incompatible user namelist
# options
-# my $var = "use_somevar";
-# $val = $nl_flags->{$var};
-# if ( defined($nl->get_value($var)) ) {
-# if ( &value_is_true($nl->get_value($var)) ) {
-# $log->fatal_error("$var was set to .true., which is incompatible when -bgc fates option is used.");
-# }
-# }
-
+ my $var = "use_crop";
+ $val = $nl_flags->{$var};
+ if ( defined($nl->get_value($var)) ) {
+ if ( &value_is_true($nl->get_value($var)) ) {
+ $log->fatal_error("$var was set to .true., which is incompatible when -bgc fates option is used.");
+ }
+ }
# 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
@@ -870,12 +869,13 @@ sub setup_cmdl_bgc {
my $var = "soil_decomp_method";
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
'phys'=>$nl_flags->{'phys'}, 'use_cn'=>$nl_flags->{'use_cn'}, 'use_fates'=>$nl_flags->{'use_fates'} );
+ my $soil_decomp_method = remove_leading_and_trailing_quotes( $nl->get_value( $var ) );
if ( &value_is_true($nl_flags->{'use_cn'}) || &value_is_true($nl_flags->{'use_fates'})) {
- if ( remove_leading_and_trailing_quotes( $nl->get_value($var)) eq "None" ) {
+ if ( $soil_decomp_method eq "None" ) {
$log->fatal_error("$var must NOT be None if use_cn or use_fates are on");
}
- } elsif ( remove_leading_and_trailing_quotes($nl->get_value($var)) ne "None" ) {
+ } elsif ( $soil_decomp_method ne "None" ) {
$log->fatal_error("$var must be None if use_cn or use_fates are not");
}
#
@@ -885,13 +885,13 @@ sub setup_cmdl_bgc {
my %settings = ( 'bgc_mode'=>$nl_flags->{'bgc_mode'} );
foreach my $var ( @list ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
- 'phys'=>$nl_flags->{'phys'}, 'use_cn'=>$nl_flags->{'use_cn'}, 'use_fates'=>$nl_flags->{'use_fates'} );
+ 'phys'=>$nl_flags->{'phys'}, 'soil_decomp_method'=>$soil_decomp_method );
$nl_flags->{$var} = $nl->get_value($var);
}
- if ( remove_leading_and_trailing_quotes( $nl->get_value($var)) eq "None" ) {
+ if ( $soil_decomp_method eq "None" ) {
foreach my $var ( @list ) {
if ( &value_is_true($nl_flags->{$var}) ) {
- $log->fatal_error("When soil_decomp_method is NONE $var can NOT be TRUE");
+ $log->fatal_error("When soil_decomp_method is None $var can NOT be TRUE");
}
}
} else {
@@ -1304,9 +1304,10 @@ sub setup_cmdl_vichydro {
$var = "use_vichydro";
$val = $nl->get_value($var);
+ my $set = undef;
if ($nl_flags->{'vichydro'} eq 1) {
my $group = $definition->get_group_name($var);
- my $set = ".true.";
+ $set = ".true.";
if ( defined($val) && $set ne $val ) {
$log->fatal_error("$var contradicts the command-line -vichydro option" );
}
@@ -1315,7 +1316,10 @@ sub setup_cmdl_vichydro {
my @valid_values = $definition->get_valid_values( $var );
$log->fatal_error("$var has a value ($val) that is NOT valid. Valid values are: @valid_values");
}
+ } else {
+ $set = ".false.";
}
+ $nl_flags->{$var} = $set;
}
@@ -2165,6 +2169,7 @@ sub setup_logic_demand {
$settings{'hgrid'} = $nl_flags->{'res'};
$settings{'sim_year'} = $nl_flags->{'sim_year'};
$settings{'sim_year_range'} = $nl_flags->{'sim_year_range'};
+ $settings{'use_vichydro'} = $nl_flags->{'use_vichydro'};
$settings{'mask'} = $nl_flags->{'mask'};
$settings{'crop'} = $nl_flags->{'crop'};
$settings{'ssp_rcp'} = $nl_flags->{'ssp_rcp'};
@@ -2202,7 +2207,22 @@ sub setup_logic_demand {
if ( $item eq "finidat" ) {
$log->fatal_error( "Do NOT put findat in the clm_demand list, set the clm_start_type=startup so initial conditions are required");
}
+ # For landuse.timeseries try with crop and irrigate on first, if found use it, otherwise try with exact settings
+ # Logic for this is identical for fsurdat
+ if ( $item eq "flanduse_timeseries" ) {
+ $settings{'irrigate'} = ".true.";
+ $settings{'use_crop'} = ".true.";
+ $settings{'nofail'} = 1;
+ }
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $item, %settings );
+ if ( $item eq "flanduse_timeseries" ) {
+ $settings{'nofail'} = 0;
+ $settings{'irrigate'} = $nl_flags->{'irrigate'};
+ $settings{'use_crop'} = $nl_flags->{'use_crop'};
+ if ( ! defined($nl->get_value( $item )) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $item, %settings );
+ }
+ }
}
}
@@ -2231,10 +2251,27 @@ sub setup_logic_surface_dataset {
if ($flanduse_timeseries ne "null" && &value_is_true($nl_flags->{'use_cndv'}) ) {
$log->fatal_error( "dynamic PFT's (setting flanduse_timeseries) are incompatible with dynamic vegetation (use_cndv=.true)." );
}
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fsurdat',
- 'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'},
- 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>$nl_flags->{'irrigate'},
- 'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'});
+ #
+ # Always get the crop version of the datasets now and let the code turn it into the form desired
+ # Provided this isn't with FATES on
+ #
+ my $var = "fsurdat";
+ if ( ! &value_is_true($nl_flags->{'use_fates'}) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'},
+ 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>".true.", 'use_vichydro'=>$nl_flags->{'use_vichydro'},
+ 'use_crop'=>".true.", 'glc_nec'=>$nl_flags->{'glc_nec'}, 'nofail'=>1);
+ }
+ # If didn't find the crop version check for the exact match
+ if ( ! defined($nl->get_value($var) ) ) {
+ if ( ! &value_is_true($nl_flags->{'use_fates'}) ) {
+ $log->verbose_message( "Crop version of $var NOT found, searching for an exact match" );
+ }
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'use_vichydro'=>$nl_flags->{'use_vichydro'},
+ 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>$nl_flags->{'irrigate'},
+ 'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'});
+ }
}
#-------------------------------------------------------------------------------
@@ -2919,7 +2956,7 @@ sub setup_logic_hydrology_switches {
}
# Test bad configurations
my $lower = $nl->get_value( 'lower_boundary_condition' );
- my $use_vic = $nl->get_value( 'use_vichydro' );
+ my $use_vic = $nl_flags->{'use_vichydro'};
my $use_bed = $nl->get_value( 'use_bedrock' );
my $soilmtd = $nl->get_value( 'soilwater_movement_method' );
if ( defined($soilmtd) && defined($lower) && $soilmtd == 0 && $lower != 4 ) {
diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml
index 02e6860bc8..8a10a96ebf 100644
--- a/bld/namelist_files/namelist_defaults_ctsm.xml
+++ b/bld/namelist_files/namelist_defaults_ctsm.xml
@@ -101,11 +101,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.false.
-Medlyn2011
-Ball-Berry1987
-Medlyn2011
-Ball-Berry1987
-Ball-Berry1987
+Medlyn2011
+Medlyn2011
+Ball-Berry1987lnd/clm2/isotopes/atm_delta_C13_CMIP6_1850-2015_yearly_v2.0_c190528.nc
@@ -483,7 +481,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
-lnd/clm2/paramdata/ctsm51_params.c210803.nc
+lnd/clm2/paramdata/ctsm51_params.c210923.nclnd/clm2/paramdata/clm50_params.c210803.nclnd/clm2/paramdata/clm45_params.c210803.nc
@@ -1043,13 +1041,19 @@ p
lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_48x96_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
-
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr2000_c190304.nc
+
lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr2000_c190304.nc
lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_4x5_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
-
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
+
lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
@@ -1080,13 +1084,13 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C96_hist_78pfts_CMIP6_simyr2000
lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C48_hist_78pfts_CMIP6_simyr2000_c200317.nc
lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C24_hist_78pfts_CMIP6_simyr2000_c200317.nc
-
+
lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr2000_c190214.nc
-
+
lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1.9x2.5_hist_78pfts_CMIP6_simyr2000_c190304.nc
lnd/clm2/surfdata_map/release-clm5.0.24/surfdata_0.125x0.125_hist_78pfts_CMIP6_simyr2005_c190624.nc
-
+
lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_78pfts_CMIP6_simyr2000_c190214.nc
lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_4x5_hist_78pfts_CMIP6_simyr2000_c190214.nc
@@ -1198,11 +1202,17 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
+lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
+lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
+lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nclnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
@@ -1219,11 +1229,11 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_78pfts_CMIP6_simyr1850-2015_c170824.nclnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
@@ -2527,15 +2537,14 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts
-.false.
-.true.
-.false.CENTURYKoven2013CENTURYKoven2013None
-.false.
-.true.
-.false.
+
+.false.
+.true.
+.false.
+.true.0
diff --git a/bld/namelist_files/use_cases/1850_noanthro_control.xml b/bld/namelist_files/use_cases/1850_noanthro_control.xml
index 59d06b83b5..636164a729 100644
--- a/bld/namelist_files/use_cases/1850_noanthro_control.xml
+++ b/bld/namelist_files/use_cases/1850_noanthro_control.xml
@@ -54,7 +54,7 @@
.false.
-0.0
-0.0
+0.0
+0.0
diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl
index 21b7ccf4af..cfcd0abe5d 100755
--- a/bld/unit_testers/build-namelist_test.pl
+++ b/bld/unit_testers/build-namelist_test.pl
@@ -163,9 +163,9 @@ sub cat_and_create_namelistinfile {
#
# Figure out number of tests that will run
#
-my $ntests = 1839;
+my $ntests = 1843;
if ( defined($opts{'compare'}) ) {
- $ntests += 1251;
+ $ntests += 1254;
}
plan( tests=>$ntests );
@@ -462,6 +462,7 @@ sub cat_and_create_namelistinfile {
"-bgc sp -use_case 2000_control -res 0.9x1.25 -namelist '&a use_soil_moisture_streams = T/'",
"-bgc bgc -use_case 1850-2100_SSP5-8.5_transient -namelist '&a start_ymd=19101023/'",
"-bgc bgc -use_case 2000_control -namelist \"&a fire_method='nofire'/\" -crop",
+ "-res 0.9x1.25 -bgc sp -use_case 1850_noanthro_control -drydep -fire_emis",
"-res 0.9x1.25 -bgc bgc -use_case 1850_noanthro_control -drydep -fire_emis -light_res 360x720",
) {
my $file = $startfile;
@@ -638,12 +639,6 @@ sub cat_and_create_namelistinfile {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- # This one should fail now, because we don't have non irrigated non-crop datasets
- "-irrigate=F without -crop" =>{ options=>"-bgc bgc -no-crop -envxml_dir .",
- namelst=>"irrigate=.false.",
- GLC_TWO_WAY_COUPLING=>"FALSE",
- phys=>"clm4_5",
- },
"grainproductWOcrop" =>{ options=>"-bgc bgc -no-crop -envxml_dir .",
namelst=>"use_grainproduct=.true.",
GLC_TWO_WAY_COUPLING=>"FALSE",
@@ -944,6 +939,11 @@ sub cat_and_create_namelistinfile {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
+ "useFATESWcrop" =>{ options=>"-bgc fates -envxml_dir . -no-megan -crop",
+ namelst=>"",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
"useFATESWcreatecrop" =>{ options=>"-bgc fates -envxml_dir . -no-megan",
namelst=>"create_crop_landunit=.true.",
GLC_TWO_WAY_COUPLING=>"FALSE",
diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml
index 3630c098a1..342329a329 100644
--- a/cime_config/testdefs/testlist_clm.xml
+++ b/cime_config/testdefs/testlist_clm.xml
@@ -614,7 +614,7 @@
-
+
diff --git a/cime_config/testdefs/testmods_dirs/clm/smallville_dynlakes_monthly/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/smallville_dynlakes_monthly/user_nl_clm
index fea34bced5..923abcdaec 100644
--- a/cime_config/testdefs/testmods_dirs/clm/smallville_dynlakes_monthly/user_nl_clm
+++ b/cime_config/testdefs/testmods_dirs/clm/smallville_dynlakes_monthly/user_nl_clm
@@ -6,9 +6,3 @@ do_transient_lakes = .true.
! PCT_CROP is also changed so that PCT_LAKE + PCT_CROP <= 100. (Here, PCT_CROP increases and decreases at the same time as PCT_LAKE in order to exercise the simultaneous increase or decrease of two landunits, but that isn't a critical part of this test.)
! Note that the use of this file means that this testmod can only be used with the 1x1_smallvilleIA grid.
flanduse_timeseries = '$DIN_LOC_ROOT/lnd/clm2/surfdata_map/landuse.timeseries_1x1_smallvilleIA_hist_78pfts_simyr1850-1855_dynLakes_c200928.nc'
-
-! BUG(wjs, 2020-09-25, ESCOMP/CTSM#43) Dynamic lakes don't work when methane is active,
-! so for now disable methane for this test.
-! This also requires use_nitrif_denitrif to be off as well
-use_lch4 = .false.
-use_nitrif_denitrif = .true.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 691a4b908e..b1fb1aaf5d 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,4 +1,129 @@
===============================================================
+Tag name: ctsm5.1.dev058
+Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326)
+Date: Thu Oct 7 20:47:14 MDT 2021
+One-line Summary: Some miscellaneous small answer changes
+
+Purpose and description of changes
+----------------------------------
+
+Change ceta from 450 to 358 for CTSM5.1 See Leo VanKamenhout's work on this in
+https://github.com/ESCOMP/CTSM/pull/250. Note, this is used in the PPE work.
+See van Kampenhout et al. (2017). Turn Medlyn on for PHS off for clm51 and clm50.
+Make max CO2 partial pressure consistent in Photosynthesis.
+Change surface datasets to only use 78PFT versions
+Fix GSSUN and GSSHA history variables so now not just writing missing values.
+Changes FATES to run with use_nitrif_dentrif=T by default. Change dynlakes test
+to methane/use_nitrif_=T.
+
+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.]
+
+[x] clm5_1
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Bugs fixed or introduced
+------------------------
+Issues fixed (include CTSM Issue #):
+ Fixes #1504 -- Transient Sp cases fail when using mismatched crop surface/landuse-timeseries datasets #1504
+ Fixes #1503 -- VIC cases can't use crop surface datasets because of missing vic data #1503
+ Fixes #1462 -- GSSUN and GSSHA are not set on history files #1462
+ Fixes #1394 -- Max partial pressure of CO2 be should be 1.e-6 rather than 10.e-6 which it is for ci_func_PHS #1394
+ Fixes #1460 -- Initialize t_soisno to 272K instead of 274K to avoid deep soil carbon in permafrost regions #1460
+ Fixes #1465 -- Change FATES to run with use_nitrif_dentrif TRUE #1465
+ Worked on #1356 -- Remove the CN (non CENTURY) version of Carbon-Nitrogen soil biogeochemistry code and its testing #1356
+ Fixes #1496 -- SP NoAnthro case fails... #1496
+
+Notes of particular relevance for users
+---------------------------------------
+
+Changes made to namelist defaults (e.g., changed parameter values):
+ stomatalcond_method is now Medlyn2011 for clm5_0 and clm5_1
+ use_nitrif_denitrif is now TRUE when using FATES
+
+Changes to the datasets (e.g., parameter, surface or initial files):
+ New parameter file for clm5_1 (changes ceta)
+
+Notes of particular relevance for developers:
+---------------------------------------------
+
+Caveats for developers (e.g., code that is duplicated that requires double maintenance):
+ Surface datasets are now labeled with use_vichydro=TRUE in the xml. This also means that some files
+ listed in the XML are listed twice for VIC both on and off (that's important for FATES since it still
+ requires non-crop datasets (see #1505)
+
+ Also the logic for finding both fsurdat and flanduse_timeseries files needs to be the same in first
+ asking for a crop version and then an exact match if it isn't found (unless it's FATES and then you just
+ do the exact match).
+
+Changes to tests or testing:
+ Dynamic lakes test now has methane on, which works because we turn off methane conservation check after restart
+ See #43 for more information on this.
+
+
+Testing summary: regular
+----------------
+ [PASS means all tests PASS; OK means tests PASS other than expected fails.]
+
+ build-namelist tests (if CLMBuildNamelist.pm has changed):
+
+ cheyenne - OK (306 tests different than baseline)
+
+ python testing (if python code has changed; see instructions in python/README.md; document testing done):
+
+ cheyenne - PASS
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ cheyenne ---- OK
+ izumi ------- PASS
+
+If the tag used for baseline comparisons was NOT the previous tag, note that here: previous
+
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: Yes
+
+ Summarize any changes to answers, i.e.,
+ - what code configurations: Most
+ - what platforms/compilers: all
+ - nature of change:
+ similar climate most changes are near roundoff level
+
+ All clm5_1 physics change answers because of change in ceta parameter.
+ When PHS off for clm5_1 and clm5_0 changes answers because of Medlyn photosynthesis over Ball-Berry.
+ Photosynthesis potentially changes all the time because a maximum parameter was off.
+ Answer should be close to roundoff for Sp and Bgc cases without Crop because we now use crop surface datasets.
+ FATES changes answers since user_nitrif_dentrif is now on by default
+ COLDSTART BGC cases will change answers because of a change in initial soil temperature
+ clm4_5 and clm5_0 vichydro results are identical
+ clm4_5 and clm5_0 single point urban tests are identical
+ Some tests are still identical mostly crop-cases non-cold-start
+ In some cases GSSUN and GSSHA will be different.
+
+Other details
+-------------
+
+Pull Requests that document the changes (include PR ids):
+(https://github.com/ESCOMP/ctsm/pull)
+
+ #1497 -- Miscellaneous small answer changes
+
+===============================================================
+===============================================================
Tag name: ctsm5.1.dev057
Originator(s): Sam Rabin
Date: Mon Sep 20 10:07:26 MDT 2021
diff --git a/doc/ChangeSum b/doc/ChangeSum
index eb50772bc5..6c2d4103f7 100644
--- a/doc/ChangeSum
+++ b/doc/ChangeSum
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
+ ctsm5.1.dev058 erik 10/07/2021 Some miscellaneous small answer changes
ctsm5.1.dev057 samrabin 09/20/2021 Consolidate duplicated crop phenology code
ctsm5.1.dev056 glemieux 09/17/2021 FATES Satellite Phenology mode implemented
ctsm5.1.dev055 slevis 09/10/2021 Updates to master_list_file.rst
diff --git a/src/biogeophys/PhotosynthesisMod.F90 b/src/biogeophys/PhotosynthesisMod.F90
index f57dee019a..5b2c68a0fb 100644
--- a/src/biogeophys/PhotosynthesisMod.F90
+++ b/src/biogeophys/PhotosynthesisMod.F90
@@ -1898,17 +1898,13 @@ subroutine Photosynthesis ( bounds, fn, filterp, &
end if
!
- ! Turn this off right now as it causes an apparant change in
- ! answers (See ESCOMP/#CTSM/1446) for history variables
! This sets the variables GSSUN and GSSHA
!
- if ( .false. )then
- ! Write stomatal conductance to the appropriate phase
- if (phase=='sun') then
- gs_mol_sun(p,iv) = gs_mol(p,iv)
- else if (phase=='sha') then
- gs_mol_sha(p,iv) = gs_mol(p,iv)
- end if
+ ! Write stomatal conductance to the appropriate phase
+ if (phase=='sun') then
+ gs_mol_sun(p,iv) = gs_mol(p,iv)
+ else if (phase=='sha') then
+ gs_mol_sha(p,iv) = gs_mol(p,iv)
end if
! Use time period 1 hour before and 1 hour after local noon inclusive (11AM-1PM)
@@ -4245,7 +4241,6 @@ subroutine ci_func_PHS(x,cisun, cisha, fvalsun, fvalsha, p, iv, c, bsun, bsha, b
real(r8) :: aquad, bquad, cquad ! terms for quadratic equations
real(r8) :: r1, r2 ! roots of quadratic equation
real(r8) :: term ! intermediate in Medlyn stomatal model
- real(r8), parameter :: max_cs = 10.e-06_r8 ! Max CO2 partial pressure at leaf surface (Pa) for PHS
!
!------------------------------------------------------------------------------
diff --git a/src/biogeophys/TemperatureType.F90 b/src/biogeophys/TemperatureType.F90
index f3a940dcb9..f2d9317f82 100644
--- a/src/biogeophys/TemperatureType.F90
+++ b/src/biogeophys/TemperatureType.F90
@@ -732,7 +732,7 @@ subroutine InitCold(this, bounds, &
end if
else
if (col%itype(c) == icol_road_perv .or. col%itype(c) == icol_road_imperv) then
- this%t_soisno_col(c,1:nlevgrnd) = 274._r8
+ this%t_soisno_col(c,1:nlevgrnd) = 272._r8
else if (col%itype(c) == icol_sunwall .or. col%itype(c) == icol_shadewall &
.or. col%itype(c) == icol_roof) then
! Set sunwall, shadewall, roof to fairly high temperature to avoid initialization