Skip to content

Commit

Permalink
Merge tag 'ctsm5.3.004' into dustemis_tune4cesm3
Browse files Browse the repository at this point in the history
Move hillslope data off surface datasets
  • Loading branch information
ekluzek committed Oct 8, 2024
2 parents 4c9631b + c98600b commit ac2aec1
Show file tree
Hide file tree
Showing 22 changed files with 339 additions and 125 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
[submodule "fates"]
path = src/fates
url = https://github.com/NGEET/fates
fxtag = sci.1.78.2_api.36.0.0
fxtag = sci.1.78.3_api.36.1.0
fxrequired = AlwaysRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/NCAR/fates-release
Expand Down
7 changes: 5 additions & 2 deletions bld/CLMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -2759,8 +2759,7 @@ SIMYR: foreach my $sim_yr ( @sim_years ) {

# this check has to be here and not earlier since use_init_interp is set here and hillslope is already set above in setup_logic_hillslope
if ( &value_is_true($nl->get_value($useinitvar)) && value_is_true($nl->get_value("use_hillslope")) ) {
$log->warning("WARNING: You have set use_hillslope while $useinitvar is TRUE.\n This means all hillslope columns in a gridcell will read identical values" .
" from initial conditions. If you are sure you want this behaviour:")
$log->warning("WARNING: You have set use_hillslope while $useinitvar is TRUE.\n This means all hillslope columns in a gridcell will read identical values from initial conditions, even if the initial conditions (finidat) file has hillslope information. If you are sure you want this behaviour, add -ignore_warnings to CLM_BLDNML_OPTS.")
}

} # end initial conditions
Expand Down Expand Up @@ -3637,6 +3636,10 @@ sub setup_logic_hillslope {
if ( (! &value_is_true($use_hillslope)) && &value_is_true($use_hillslope_routing) ) {
$log->fatal_error("Cannot turn on use_hillslope_routing when use_hillslope is off\n" );
}
my $hillslope_file = $nl->get_value('hillslope_file');
if ( &value_is_true($use_hillslope) && ( ! defined($hillslope_file) ) ) {
$log->fatal_error("You must provide hillslope_file if use_hillslope is .true.\n" );
}
}

#-------------------------------------------------------------------------------
Expand Down
3 changes: 2 additions & 1 deletion bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,8 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<!-- FATES default parameter file -->
<!-- ================================================================== -->

<fates_paramfile>lnd/clm2/paramdata/fates_params_api.36.0.0_12pft_c240517.nc</fates_paramfile>
<fates_paramfile>lnd/clm2/paramdata/fates_params_api.36.1.0_14pft_c241003.nc</fates_paramfile>


<!-- ================================================================== -->
<!-- Default surface roughness parameterization -->
Expand Down
5 changes: 5 additions & 0 deletions bld/namelist_files/namelist_definition_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -962,6 +962,11 @@ Full pathname datafile with fates parameters
Full pathname of surface data file.
</entry>

<entry id="hillslope_file" type="char*256" category="datasets"
input_pathname="abs" group="clm_inparm" valid_values="" >
Full pathname of hillslope data file.
</entry>

<entry id="fsnowoptics" type="char*256" category="datasets"
input_pathname="abs" group="clm_inparm" valid_values="" >
SNICAR (SNow, ICe, and Aerosol Radiative model) optical data file name
Expand Down
14 changes: 7 additions & 7 deletions cime_config/testdefs/ExpectedTestFails.xml
Original file line number Diff line number Diff line change
Expand Up @@ -245,13 +245,6 @@
</phase>
</test>

<test name="SMS_D_Ld5.5x5_amazon.I1850Clm51Bgc.derecho_gnu.clm-HillslopeC">
<phase name="RUN">
<status>FAIL</status>
<issue>#2423</issue>
</phase>
</test>

<test name="ERS_D_Ld15.f45_f45_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesColdTwoStream">
<phase name="COMPARE_base_rest">
<status>FAIL</status>
Expand Down Expand Up @@ -280,6 +273,13 @@
</phase>
</test>

<test name="ERS_D_Ld30.f45_f45_mg37.I2000Clm50FatesCruRsGs.derecho_intel.clm-FatesColdLandUse">
<phase name="SHAREDLIB_BUILD">
<status>FAIL</status>
<issue>#2810</issue>
</phase>
</test>

<!-- Other submodule test list failures (MOSART, RTM, etc. -->

<test name="SMS_Lh3.f10_f10_mg37.I2000Clm51Sp.derecho_intel.mosart-clmAccelSpinupIgnoreWarn">
Expand Down
11 changes: 6 additions & 5 deletions cime_config/testdefs/testlist_clm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1773,7 +1773,7 @@
<machine name="derecho" compiler="intel" category="aux_clm"/>
</machines>
<options>
<option name="wallclock">01:40:00</option>
<option name="wallclock">02:30:00</option>
<option name="comment" >Repeat ERS_Ly5_P128x1...cropMonthOutput test with matrixcnOn</option>
</options>
</test>
Expand Down Expand Up @@ -3511,23 +3511,24 @@
</options>
</test>

<test name="SMS_D_Mmpi-serial_Ld5" grid="5x5_amazon" compset="I1850Clm60Bgc" testmods="clm/HillslopeC">
<test name="SMS_D_Mmpi-serial_Ld5" grid="5x5_amazon" compset="I2000Clm60Bgc" testmods="clm/HillslopeC">
<machines>
<machine name="derecho" compiler="gnu" category="aux_clm"/>
<machine name="derecho" compiler="gnu" category="hillslope"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment">Serial test of 5x5_amazon hillslopes</option>
</options>
</test>

<test name="SMS_D_Ld5" grid="5x5_amazon" compset="I1850Clm60Bgc" testmods="clm/HillslopeC">
<test name="SMS_D_Ld5" grid="5x5_amazon" compset="I2000Clm60Bgc" testmods="clm/HillslopeC">
<machines>
<machine name="derecho" compiler="gnu" category="aux_clm"/>
<machine name="derecho" compiler="gnu" category="hillslope"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment">Add a non-FATES test to aux_clm for 5x5_amazon that fails because of the ccs_config issue, can remove once this passes</option>
<option name="comment">Parallel test of 5x5_amazon hillslopes</option>
</options>
</test>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
SRCDIR=`./xmlquery SRCROOT --value`
CASEDIR=`./xmlquery CASEROOT --value`
FATESDIR=$SRCDIR/src/fates
FATESPARAMFILE=$CASEDIR/fates_params_hydrograsstempfix.nc

ncgen -o $FATESPARAMFILE $FATESDIR/parameter_files/fates_params_default.cdl

$FATESDIR/tools/modify_fates_paramfile.py --O --fin $FATESPARAMFILE --fout $FATESPARAMFILE --var fates_allom_smode --val 1 --allpfts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ hist_mfilt = 365
hist_nhtfrq = -24
hist_empty_htapes = .true.
use_fates_planthydro= .true.
fates_paramfile = '$CASEROOT/fates_params_hydrograsstempfix.nc'
hist_fincl1 = 'FATES_ERRH2O_SZPF', 'FATES_TRAN_SZPF',
'FATES_SAPFLOW_SZPF', 'FATES_ITERH1_SZPF','FATES_ABSROOT_H2O_SZPF',
'FATES_TRANSROOT_H2O_SZPF','FATES_STEM_H2O_SZPF','FATES_LEAF_H2O_SZPF',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

./xmlchange CLM_BLDNML_OPTS="-i-clm_demand -flanduse_timeseries" --append
./xmlchange CLM_BLDNML_OPTS="-clm_demand flanduse_timeseries" --append
16 changes: 14 additions & 2 deletions cime_config/testdefs/testmods_dirs/clm/Hillslope/shell_commands
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
./xmlchange CLM_BLDNML_OPTS="-bgc sp"
DIN_LOC_ROOT=$(./xmlquery --value DIN_LOC_ROOT)
meshfile=$DIN_LOC_ROOT/lnd/clm2/testdata/ESMFmesh_10x15_synthetic_cosphill_1.0.nc
./xmlchange ATM_DOMAIN_MESH=${meshfile},LND_DOMAIN_MESH=${meshfile}

# Set hillslope_file. Needed for any grids without default hillslope_file already set by CTSM.
lnd_grid=$(./xmlquery --value LND_GRID)
if [[ ${lnd_grid} == "10x15" ]]; then
# Synthetic data
hillslope_file='$DIN_LOC_ROOT/lnd/clm2/testdata/surfdata_10x15_hist_1850_78pfts_c240216.synth_hillslopes_241001.nc'
elif [[ ${lnd_grid} == "5x5_amazon" ]]; then
# Real data
hillslope_file='/glade/derecho/scratch/samrabin/hillslopes_5x5_amazon/hand_analysis_global/combined/hilldata_5x5_amazon_hist_2000_78pfts_c240216.nc'
else
echo "ERROR: Hillslope file not found for LND_GRID=${lnd_grid}" >&2
exit 1
fi
echo -e "hillslope_file = '${hillslope_file}'\n" >> user_nl_clm

# -ignore_warnings is needed as long as we don't allow use_hillslope and use_init_interp together
./xmlchange --append CLM_BLDNML_OPTS=-ignore_warnings
2 changes: 0 additions & 2 deletions cime_config/testdefs/testmods_dirs/clm/Hillslope/user_nl_clm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,4 @@ hillslope_transmissivity_method = 'LayerSum'
hillslope_pft_distribution_method = 'PftLowlandUpland'
hillslope_soil_profile_method = 'Uniform'

fsurdat = '$DIN_LOC_ROOT/lnd/clm2/surfdata_esmf/ctsm5.3.0/synthetic/surfdata_10x15_hist_2000_78pfts_c240905.synthetic_hillslopes3.nc'

use_ssre = .false.
140 changes: 140 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,144 @@
===============================================================
Tag name: ctsm5.3.004
Originator(s): samrabin (Sam Rabin)
Date: Mon Oct 7 21:25:20 MDT 2024
One-line Summary: Move hillslope data off surface datasets

Purpose and description of changes
----------------------------------

Moves hillslope data off surface datasets onto its own separate hillslope_file. This makes it so we don't need to generate new surface datasets specifically for hillslope testing whenever the surface datasets are updated.


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.]

[ ] clm6_0

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Testing summary:
----------------

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK


Answer changes
--------------

Changes answers relative to baseline: Not in real runs, only our testing.


Other details
-------------

Pull Requests that document the changes (include PR ids):
- ESCOMP/CTSM#2434 (https://github.com/ESCOMP/CTSM/pull/2434)

===============================================================
===============================================================
Tag name: ctsm5.3.003
Originator(s): rgknox (Ryan Knox, LBNL, [email protected])
glemieux (Gregory Lemieux, LBNL, [email protected])
Date: Mon Oct 07 10:33:14 AM MDT 2024
One-line Summary: FATES default parameter file update

Purpose and description of changes
----------------------------------

This tag updates the default parameter file for FATES bringing in a number of updates:
- adds two new arctic shrub pfts
- updates the default sapwood allometry mode for grass pfts
- updates understory leaf turnover specifications for longer turnover rates
- changes the default behavior of nutrient uptake

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.]

[ ] clm6_0

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed
----------
List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
Fixes #2783 -- Error in FatescoldLandUse testmod
Fixes FATES#1211 -- Switching the default fates_cnp_prescribed_* parameters from 1 to 0

Notes of particular relevance for developers:
---------------------------------------------
Changes to tests or testing:
FatesColdLandUse build has been added to the list of expected failures due to #2810

Testing summary:
----------------

[PASS means all tests PASS; OK means tests PASS other than expected fails.]

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK

fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates-<FATES TAG>-<CTSM TAG>)
derecho ----- OK
izumi ------- OK

Answer changes
--------------

Changes answers relative to baseline:

Summarize any changes to answers, i.e.,
- what code configurations: FATES mode
- what platforms/compilers: ALL
- nature of change (roundoff; larger than roundoff/same climate; new climate): larger than roundoff

Other details
-------------
List any git submodules updated (cime, rtm, mosart, cism, fates, etc.):
fates: sci.1.78.2_api.36.0.0 -> sci.1.78.3_api.36.1.0

Pull Requests that document the changes (include PR ids):
https://github.com/ESCOMP/CTSM/pull/2700
https://github.com/NGEET/fates/pull/1255

===============================================================
===============================================================
Tag name: ctsm5.3.002
Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310)
Date: Thu 26 Sep 2024 03:10:40 PM MDT
One-line Summary: Duplicate tag of ctsm5.3.001

===============================================================
===============================================================
Tag name: ctsm5.3.001
Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310)
Date: Thu 26 Sep 2024 03:10:40 PM MDT
Expand Down
3 changes: 3 additions & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
Tag Who Date Summary
============================================================================================================================
ctsm5.3.004 samrabin 10/07/2024 Move hillslope data off surface datasets
ctsm5.3.003 multiple 10/07/2024 FATES default parameter file update
ctsm5.3.002 multiple 09/26/2024 Duplicate tag (same as 5.3.001)
ctsm5.3.001 multiple 09/26/2024 Merge b4b-dev
ctsm5.3.0 multiple 09/24/2024 Update surface datasets, CN Matrix, CLM60: excess ice on, explicit A/C on, crop calendars, Sturm snow, Leung dust emissions, prigent roughness data
ctsm5.2.029 multiple 09/24/2024 New surface datasets: double tag of ctsm5.3.0
Expand Down
Loading

0 comments on commit ac2aec1

Please sign in to comment.