From c3aea993e9492f78e1c110e41f93a2198e0b4b99 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 20 Sep 2021 16:22:58 -0600 Subject: [PATCH 01/21] Fix #1462 so that GSSHA and GSSUN are actually set for history files with values not just identical to missing value --- src/biogeophys/PhotosynthesisMod.F90 | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/biogeophys/PhotosynthesisMod.F90 b/src/biogeophys/PhotosynthesisMod.F90 index f57dee019a..c90bed9761 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) From ebcd92da4bd701f07bb4ac035922fa646bd64a0e Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 20 Sep 2021 16:26:16 -0600 Subject: [PATCH 02/21] Remove local version of max_cs so that the global one will be used fixing #1394 --- src/biogeophys/PhotosynthesisMod.F90 | 1 - 1 file changed, 1 deletion(-) diff --git a/src/biogeophys/PhotosynthesisMod.F90 b/src/biogeophys/PhotosynthesisMod.F90 index c90bed9761..5b2c68a0fb 100644 --- a/src/biogeophys/PhotosynthesisMod.F90 +++ b/src/biogeophys/PhotosynthesisMod.F90 @@ -4241,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 ! !------------------------------------------------------------------------------ From b02907c4e4c1f509b921cc7dce402907e551e9ae Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 20 Sep 2021 16:29:06 -0600 Subject: [PATCH 03/21] Change initialization of this%t_soisno_col(c,1:nlevgrnd) from 274 to 272 to avoid deep soil caron in permafrost regions fixing #1460 --- src/biogeophys/TemperatureType.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 1e2729fd9c7d18ed1ca6dc330a2ac406cac50373 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 20 Sep 2021 17:43:43 -0600 Subject: [PATCH 04/21] Change defaults for use_lch4 and use_nitrif_denitrif to be false if soil_decomp_method is None, and otherwise TRUE which means it will normally be true when FATES is on fixing #1465 --- bld/CLMBuildNamelist.pm | 11 ++++++----- bld/namelist_files/namelist_defaults_ctsm.xml | 11 +++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index 3b169159b8..faeb107e76 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -870,12 +870,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 +886,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 { diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 02e6860bc8..af08046656 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -2527,15 +2527,14 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts -.false. -.true. -.false. CENTURYKoven2013 CENTURYKoven2013 None -.false. -.true. -.false. + +.false. +.true. +.false. +.true. 0 From dbc806682775daa918cd592d507f863678c871ae Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 20 Sep 2021 17:47:51 -0600 Subject: [PATCH 05/21] allow methane to be on for dynamic lake test, this is addressed in #43, we currently just allow it to be true even through the conservation check for methane fails at the first time step of each year --- .../clm/smallville_dynlakes_monthly/user_nl_clm | 6 ------ 1 file changed, 6 deletions(-) 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. From 16187e9951507009056eef8b04aa99d75ee0a081 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 20 Sep 2021 18:00:49 -0600 Subject: [PATCH 06/21] Make Medlyn2011 the default for both clm5_0 and clm5_1 physics regardless if PHS is on or off --- bld/namelist_files/namelist_defaults_ctsm.xml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index af08046656..ff390d1844 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-Berry1987 lnd/clm2/isotopes/atm_delta_C13_CMIP6_1850-2015_yearly_v2.0_c190528.nc From 536c6e54ce403f5263b26b062e7d4e9a260079fc Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 22 Sep 2021 13:40:58 -0600 Subject: [PATCH 07/21] Add a sp no-anthro test that fails (because of #1496) --- bld/unit_testers/build-namelist_test.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 21b7ccf4af..7712d53cd0 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -163,7 +163,7 @@ 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; } @@ -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; From 688494b597e071612d3263ec287482f416d15ba6 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 22 Sep 2021 13:51:26 -0600 Subject: [PATCH 08/21] Increase compare tests --- bld/unit_testers/build-namelist_test.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 7712d53cd0..48fd9ef93b 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -165,7 +165,7 @@ sub cat_and_create_namelistinfile { # my $ntests = 1843; if ( defined($opts{'compare'}) ) { - $ntests += 1251; + $ntests += 1254; } plan( tests=>$ntests ); From f1e9f8b76628d848ce8d28b5340f4e9259a3d2cb Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 22 Sep 2021 13:59:19 -0600 Subject: [PATCH 09/21] Fix #1496 so SP and no-anthro works --- bld/namelist_files/use_cases/1850_noanthro_control.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From a79e8408e9653c97ed2c952228f92077e2b37d6a Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 22 Sep 2021 21:35:22 -0600 Subject: [PATCH 10/21] For fsurdat search for irrigated crop files first and if not found search for an exact match, this allows non irrigated to always be an option so the test for it can be removed --- bld/CLMBuildNamelist.pm | 16 +++++++++++++--- bld/unit_testers/build-namelist_test.pl | 8 +------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index faeb107e76..b8a11e33f4 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -2232,10 +2232,20 @@ 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', + # Always get the crop version of the datasets now and let the code turn it into the form desired + my $var = "fsurdat"; + 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'=>$nl_flags->{'irrigate'}, - 'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'}); + 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>".true.", + '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) ) ) { + $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'}, + 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>$nl_flags->{'irrigate'}, + 'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'}); + } } #------------------------------------------------------------------------------- diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 48fd9ef93b..7a697ffa57 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -163,7 +163,7 @@ sub cat_and_create_namelistinfile { # # Figure out number of tests that will run # -my $ntests = 1843; +my $ntests = 1842; if ( defined($opts{'compare'}) ) { $ntests += 1254; } @@ -639,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", From 96d6865e7e692bb3a2adcb1d3afe3a2895b4ede8 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 23 Sep 2021 17:05:17 -0600 Subject: [PATCH 11/21] Update paramfile with ceta as per Van Kampenhour et al. 2017 --- bld/namelist_files/namelist_defaults_ctsm.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index ff390d1844..2f7abd70d4 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -481,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.nc lnd/clm2/paramdata/clm50_params.c210803.nc lnd/clm2/paramdata/clm45_params.c210803.nc From 20d8a267206ce8b2ccd943f00ebaa889ab13d8dc Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 28 Sep 2021 19:41:32 -0600 Subject: [PATCH 12/21] Need to add check on vichydro for fsurdat this fixe #1503 --- bld/CLMBuildNamelist.pm | 5 +++-- bld/namelist_files/namelist_defaults_ctsm.xml | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index b8a11e33f4..901c75ee51 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -2234,15 +2234,16 @@ sub setup_logic_surface_dataset { } # Always get the crop version of the datasets now and let the code turn it into the form desired my $var = "fsurdat"; + my $use_vic = $nl->get_value( 'use_vichydro' ); 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.", + 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>".true.", 'use_vichydro'=>$use_vic, '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) ) ) { $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'}, + 'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'use_vichydro'=>$use_vic, 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>$nl_flags->{'irrigate'}, 'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'}); } diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 2f7abd70d4..1c30b471a9 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -1041,13 +1041,13 @@ 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_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 @@ -1078,13 +1078,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 From 1ebd96c055be287a1ad2d50b0e90ad7eb4ad17b6 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 28 Sep 2021 19:42:01 -0600 Subject: [PATCH 13/21] Lengthen wallclock for test --- cime_config/testdefs/testlist_clm.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 @@ - + From 9d7a45048137808391fd79eb1e71b051e7240a1d Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 29 Sep 2021 22:49:28 -0600 Subject: [PATCH 14/21] Add specital logic for handling flanduse.timeseries in clm_demand trying first for nofail with crop and irrigation true, and if didn't find it try again with the exact match --- bld/CLMBuildNamelist.pm | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index 901c75ee51..2e72bdfa0b 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -1305,9 +1305,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" ); } @@ -1316,7 +1317,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; } @@ -2166,6 +2170,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'}; @@ -2203,7 +2208,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 ); + } + } } } @@ -2234,16 +2254,15 @@ sub setup_logic_surface_dataset { } # Always get the crop version of the datasets now and let the code turn it into the form desired my $var = "fsurdat"; - my $use_vic = $nl->get_value( 'use_vichydro' ); 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'=>$use_vic, + '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) ) ) { $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'=>$use_vic, + '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'}); } @@ -2931,7 +2950,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 ) { From 1448fbfa46201bce342a27ee67438fc5151124f7 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 29 Sep 2021 23:10:53 -0600 Subject: [PATCH 15/21] Correct flanduse_timeseries name and set use_vichydro to true for the SP datasets, while setting it to false for the crop datasets for landuse timeseries --- bld/CLMBuildNamelist.pm | 4 ++-- bld/namelist_files/namelist_defaults_ctsm.xml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index 2e72bdfa0b..bfc068c58b 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -2210,13 +2210,13 @@ sub setup_logic_demand { } # 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" ) { + 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" ) { + if ( $item eq "flanduse_timeseries" ) { $settings{'nofail'} = 0; $settings{'irrigate'} = $nl_flags->{'irrigate'}; $settings{'use_crop'} = $nl_flags->{'use_crop'}; diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 1c30b471a9..36d2ecbcd3 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -1196,11 +1196,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_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_4x5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc @@ -1217,11 +1217,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.nc lnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc From 4756060e0e7f5e9b4f07ee30edb1cba2a44fd3fb Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 5 Oct 2021 20:50:36 -0600 Subject: [PATCH 16/21] Add a failing test that to check that crop and FATES can't be on together --- bld/unit_testers/build-namelist_test.pl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 7a697ffa57..cfcd0abe5d 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -163,7 +163,7 @@ sub cat_and_create_namelistinfile { # # Figure out number of tests that will run # -my $ntests = 1842; +my $ntests = 1843; if ( defined($opts{'compare'}) ) { $ntests += 1254; } @@ -939,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", From 1dc07fca6b7ab308c7fb42ca101061b4a055bb1e Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 5 Oct 2021 23:26:08 -0600 Subject: [PATCH 17/21] Make sure FATES does not run with crop on, when finding fsurdat for FATES don't check for crop datasets first, add non vichydro datasets (pointing to the same file) for fsurdat and flanduse_timeseries so that FATES can use those datasets --- bld/CLMBuildNamelist.pm | 32 +++++++++++-------- bld/namelist_files/namelist_defaults_ctsm.xml | 12 +++++++ 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index bfc068c58b..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 @@ -2252,15 +2251,22 @@ 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)." ); } + # # 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"; - 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 ( ! &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) ) ) { - $log->verbose_message( "Crop version of $var NOT found, searching for an exact match" ); + 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'}, diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 36d2ecbcd3..8a10a96ebf 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -1043,12 +1043,18 @@ lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_48x96_hist_16pfts_Irrig_CMIP6_s 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 lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_ne30np4_hist_16pfts_Irrig_CMIP6_simyr2000_c190303.nc @@ -1198,10 +1204,16 @@ 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.nc lnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc Date: Thu, 7 Oct 2021 15:57:21 -0600 Subject: [PATCH 18/21] Initial update of change files --- doc/ChangeLog | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/ChangeSum | 1 + 2 files changed, 111 insertions(+) diff --git a/doc/ChangeLog b/doc/ChangeLog index 691a4b908e..ade0c58d71 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,4 +1,114 @@ =============================================================== +Tag name: ctsm5.1.dev058 +Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) +Date: Thu Oct 7 15:24:12 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. +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 + Fixes #1503 + Fixes #1462 + Fixes #1394 + Fixes #1460 + Fixes #1465 + Fixes #1356 + Fixes #1496 + +Notes of particular relevance for users +--------------------------------------- + +Caveats for users (e.g., need to interpolate initial conditions): + +Changes made to namelist defaults (e.g., changed parameter values): + +Changes to the datasets (e.g., parameter, surface or initial files): New parameter file for clm5_1 + +Notes of particular relevance for developers: +--------------------------------------------- + +Caveats for developers (e.g., code that is duplicated that requires double maintenance): + +Changes to tests or testing: + + +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 parameter was off. + Answer should be close to roundoff for Sp and Bgc cases without Crop because we now use crop surface datasets. + GSSUN anmd GSSHA now have values. + FATES changes answers since user_nitrif_dentrif is now on by default + vichydro results are identical + +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 From 1ab1bc0049d7ca194e60e072418737bf255cc2e4 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 7 Oct 2021 17:06:25 -0600 Subject: [PATCH 19/21] Finish changelog file --- doc/ChangeLog | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index ade0c58d71..0b5dae241e 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -34,30 +34,36 @@ Does this tag change answers significantly for any of the following physics conf Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): - Fixes #1504 - Fixes #1503 - Fixes #1462 - Fixes #1394 - Fixes #1460 - Fixes #1465 - Fixes #1356 - Fixes #1496 + 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 --------------------------------------- -Caveats for users (e.g., need to interpolate initial conditions): - 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 to the datasets (e.g., parameter, surface or initial files): + New parameter file for clm5_1 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) Changes to tests or testing: + Dynamic lakes test now has methane on, which works because we turn off methane conservation check after restar + See #43 for more information on this. Testing summary: regular @@ -93,10 +99,11 @@ Changes answers relative to baseline: Yes 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 parameter was off. + 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. GSSUN anmd GSSHA now have values. 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 vichydro results are identical Other details From 5b4bfebba02b18c6d7e8e2592212cfcd36a124a9 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 7 Oct 2021 17:06:48 -0600 Subject: [PATCH 20/21] Update date --- doc/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 0b5dae241e..9742cd7f29 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,7 +1,7 @@ =============================================================== Tag name: ctsm5.1.dev058 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) -Date: Thu Oct 7 15:24:12 MDT 2021 +Date: Thu Oct 7 17:06:29 MDT 2021 One-line Summary: Some miscellaneous small answer changes Purpose and description of changes From 12f8b82886cf8a45dc079fa66d233f5d014d81b7 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 7 Oct 2021 20:47:32 -0600 Subject: [PATCH 21/21] More update on changelog --- doc/ChangeLog | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 9742cd7f29..b1fb1aaf5d 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,18 +1,20 @@ =============================================================== Tag name: ctsm5.1.dev058 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) -Date: Thu Oct 7 17:06:29 MDT 2021 +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. +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. +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 -------------------------------------------------------------- @@ -51,7 +53,7 @@ Changes made to namelist defaults (e.g., changed parameter values): 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 + New parameter file for clm5_1 (changes ceta) Notes of particular relevance for developers: --------------------------------------------- @@ -61,8 +63,12 @@ Caveats for developers (e.g., code that is duplicated that requires double maint 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 restar + 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. @@ -101,10 +107,12 @@ Changes answers relative to baseline: Yes 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. - GSSUN anmd GSSHA now have values. 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 - vichydro results are identical + 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 -------------