Skip to content

Commit 1f03ac2

Browse files
committed
Merge branch 'master' into merge-b4bdev-20250206
2 parents c2a0780 + 930b3eb commit 1f03ac2

File tree

11 files changed

+132
-134
lines changed

11 files changed

+132
-134
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
[submodule "fates"]
2929
path = src/fates
3030
url = https://github.com/NGEET/fates
31-
fxtag = sci.1.80.4_api.37.0.0
31+
fxtag = sci.1.80.11_api.37.0.0
3232
fxrequired = AlwaysRequired
3333
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
3434
fxDONOTUSEurl = https://github.com/NCAR/fates-release

CODE_OF_CONDUCT.md

Lines changed: 0 additions & 107 deletions
This file was deleted.

bld/CLMBuildNamelist.pm

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2118,17 +2118,21 @@ sub setup_logic_roughness_methods {
21182118
my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
21192119

21202120
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'z0param_method',
2121-
'phys'=>$nl_flags->{'phys'} );
2121+
'phys'=>$nl_flags->{'phys'} , 'use_fates'=>$nl_flags->{'use_fates'});
21222122

21232123
my $var = remove_leading_and_trailing_quotes( $nl->get_value("z0param_method") );
21242124
if ( $var ne "Meier2022" && $var ne "ZengWang2007" ) {
21252125
$log->fatal_error("$var is incorrect entry for the namelist variable z0param_method; expected Meier2022 or ZengWang2007");
21262126
}
21272127
my $phys = $physv->as_string();
2128-
if ( $phys eq "clm4_5" || $phys eq "clm5_0" ) {
2129-
if ( $var eq "Meier2022" ) {
2128+
if ( $var eq "Meier2022" ) {
2129+
if ( $phys eq "clm4_5" || $phys eq "clm5_0" ) {
21302130
$log->fatal_error("z0param_method = $var and phys = $phys, but this method has been tested only with clm6_0 and later versions; to use with earlier versions, disable this error, and add Meier2022 parameters to the corresponding params file");
21312131
}
2132+
# Make sure that fates and meier2022 are not both active due to issue #2932
2133+
if ( &value_is_true($nl_flags->{'use_fates'}) ) {
2134+
$log->fatal_error("z0param_method = $var and use_fates currently are not compatible. Please update the z0param_method to ZengWang2007. See issue #2932 for more information.")
2135+
}
21322136
}
21332137
}
21342138
#-------------------------------------------------------------------------------

bld/namelist_files/namelist_defaults_ctsm.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -540,7 +540,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
540540
<!-- ================================================================== -->
541541

542542
<z0param_method>ZengWang2007</z0param_method>
543-
<z0param_method phys="clm6_0">Meier2022</z0param_method>
543+
<z0param_method use_fates=".false." phys="clm6_0" >Meier2022</z0param_method>
544544

545545
<use_z0m_snowmelt z0param_method="Meier2022" >.true.</use_z0m_snowmelt>
546546
<use_z0m_snowmelt >.false.</use_z0m_snowmelt>

bld/unit_testers/build-namelist_test.pl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@ sub cat_and_create_namelistinfile {
163163
#
164164
# Figure out number of tests that will run
165165
#
166-
my $ntests = 3263;
166+
my $ntests = 3264;
167167

168168
if ( defined($opts{'compare'}) ) {
169-
$ntests += 1979;
169+
$ntests += 1980;
170170
}
171171
plan( tests=>$ntests );
172172

@@ -1185,6 +1185,10 @@ sub cat_and_create_namelistinfile {
11851185
namelst=>"use_hydrstress=.true.",
11861186
phys=>"clm5_0",
11871187
},
1188+
"useMeierwithFATES" =>{ options=>"-bgc fates -envxml_dir . -no-megan",
1189+
namelst=>"z0param_method=Meier2022",
1190+
phys=>"clm5_0",
1191+
},
11881192
"noanthro_w_crop" =>{ options=>"-envxml_dir . -res 0.9x1.25 -bgc bgc -crop -use_case 1850_noanthro_control",
11891193
namelst=>"",
11901194
phys=>"clm5_0",

cime_config/testdefs/testmods_dirs/clm/FatesColdAllVars/user_nl_clm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use_fates_tree_damage = .true.
88
hist_ndens = 1
99
hist_fincl1 = 'FATES_TLONGTERM',
1010
'FATES_TGROWTH','FATES_SEEDS_IN_GRIDCELL_PF','FATES_SEEDS_OUT_GRIDCELL_PF','FATES_NCL_AP',
11-
'FATES_NPATCH_AP','FATES_VEGC_AP','FATES_SECONDAREA_ANTHRODIST_AP','FATES_SECONDAREA_DIST_AP',
11+
'FATES_NPATCH_AP','FATES_VEGC_AP','FATES_SECONDARY_ANTHRODISTAGE_AP','FATES_SECONDARY_AREA_AP',
1212
'FATES_FUEL_AMOUNT_APFC','FATES_STOREC_TF_USTORY_SZPF','FATES_STOREC_TF_CANOPY_SZPF',
1313
'FATES_CROWNAREA_CLLL','FATES_ABOVEGROUND_MORT_SZPF',
1414
'FATES_ABOVEGROUND_PROD_SZPF','FATES_NPLANT_SZAP','FATES_NPLANT_CANOPY_SZAP',
@@ -56,4 +56,5 @@ hist_fincl1 = 'FATES_TLONGTERM',
5656
'FATES_PARSUN_CL','FATES_PARSHA_CL','FATES_LAISUN_CLLL','FATES_LAISHA_CLLL','FATES_LAISUN_CLLLPF',
5757
'FATES_LAISHA_CLLLPF','FATES_PARPROF_DIR_CLLLPF','FATES_PARPROF_DIF_CLLLPF','FATES_LAISUN_CL','FATES_LAISHA_CL',
5858
'FATES_PARPROF_DIR_CLLL','FATES_PARPROF_DIF_CLLL','FATES_NET_C_UPTAKE_CLLL','FATES_CROWNFRAC_CLLLPF',
59-
'FATES_LBLAYER_COND_AP','FATES_STOMATAL_COND_AP'
59+
'FATES_LBLAYER_COND_AP','FATES_STOMATAL_COND_AP','FATES_TLONGTERM','FATES_PRIMARY_AREA_AP','FATES_NPP_LU',
60+
'FATES_GPP_LU'

doc/ChangeLog

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,90 @@
11
===============================================================
2+
Tag name: ctsm5.3.022
3+
Originator(s): glemieux (Gregory Lemieux, LBNL, [email protected])
4+
Date: Thu Feb 6 11:22:48 MST 2025
5+
One-line Summary: Update FATES namelist build to avoid Meier2022
6+
7+
Purpose and description of changes
8+
----------------------------------
9+
10+
This tag brings in three updates, the primary of which is an update to the namelist
11+
build to avoid running FATES with roughness method Meier2022 in light of recently
12+
discovered incompatibility between FATES and this method. FATES will now used
13+
ZengWang2007 for all run mode.
14+
15+
The other two updates are fairly minor changes. One is a B4B change to the order in
16+
which the use_fates_luh flag is passed to FATES. The other is an update to history
17+
outputs for the FatesColdAllVars testmod per a recent FATES-side update.
18+
19+
20+
Significant changes to scientifically-supported configurations
21+
--------------------------------------------------------------
22+
23+
Does this tag change answers significantly for any of the following physics configurations?
24+
(Details of any changes will be given in the "Answer changes" section below.)
25+
26+
[Put an [X] in the box for any configuration with significant answer changes.]
27+
28+
[ ] clm6_0
29+
30+
[ ] clm5_0
31+
32+
[ ] ctsm5_0-nwp
33+
34+
[ ] clm4_5
35+
36+
37+
Bugs fixed
38+
----------
39+
40+
#2932 - 'Meier 2022' z0 parameterization causes errors with FATES
41+
42+
Testing summary:
43+
----------------
44+
45+
[PASS means all tests PASS; OK means tests PASS other than expected fails.]
46+
47+
build-namelist tests (if CLMBuildNamelist.pm has changed):
48+
49+
derecho - PASS
50+
51+
regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
52+
53+
derecho ----- OK
54+
izumi ------- OK
55+
56+
fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates-<FATES TAG>-<CTSM TAG>)
57+
derecho ----- OK
58+
izumi ------- OK
59+
60+
If the tag used for baseline comparisons was NOT the previous tag, note that here:
61+
62+
fates suite tested against fates-sci.1.80.10_api.37.0.0-ctsm5.3.021
63+
64+
Answer changes
65+
--------------
66+
67+
Changes answers relative to baseline: Yes, only some FATES tests
68+
69+
The FATES tag has been updated from sci.1.80.4_api.37.0.0 to sci.1.80.11_api.37.0.0,
70+
which includes a number of bug fixes some of which result in changes to some baselines.
71+
Additional, all tests using Clm60Fates based compsets have DIFFs due to the roughness
72+
method update.
73+
74+
Other details
75+
-------------
76+
List any git submodules updated (cime, rtm, mosart, cism, fates, etc.):
77+
fates: sci.1.80.4_api.37.0.0 -> sci.1.80.11_api.37.0.0
78+
79+
Pull Requests that document the changes (include PR ids):
80+
(https://github.com/ESCOMP/ctsm/pull)
81+
https://github.com/ESCOMP/CTSM/pull/2934
82+
https://github.com/ESCOMP/CTSM/pull/2936
83+
https://github.com/ESCOMP/CTSM/pull/2898
84+
https://github.com/NGEET/FATES/pull/1273
85+
86+
===============================================================
87+
===============================================================
288
Tag name: ctsm5.3.021
389
Originator(s): samrabin (Sam Rabin, UCAR/TSS)
490
Date: Wed 29 Jan 2025 04:21:40 PM MST

doc/ChangeSum

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
Tag Who Date Summary
22
============================================================================================================================
3+
ctsm5.3.022 glemieux 02/06/2025 Update FATES namelist build to avoid Meier2022
34
ctsm5.3.021 samrabin 01/29/2025 Standardize time metadata (release tag for ctsm5.3)
45
ctsm5.3.020 samrabin 01/17/2025 Merge b4b-dev
56
ctsm5.3.019 olyson 01/14/2025 Stop running 0th time step

src/main/controlMod.F90

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,11 @@ subroutine control_init(dtime)
518518
errMsg(sourcefile, __LINE__))
519519
end if
520520

521+
if (z0param_method == 'Meier2022') then
522+
call endrun(msg=' ERROR: Surface roughness parameterization Meier2022 is not compatible with FATES.'//&
523+
errMsg(sourcefile, __LINE__))
524+
end if
525+
521526
else
522527

523528
! These do default to false anyway, but this emphasizes they

0 commit comments

Comments
 (0)