Skip to content

Commit 76bb364

Browse files
committed
Merge branch 'CUPiD' of github.com:ESCOMP/CTSM into CUPiD
2 parents e6c38c2 + 256a8d4 commit 76bb364

File tree

5 files changed

+158
-11
lines changed

5 files changed

+158
-11
lines changed

bld/namelist_files/namelist_defaults_ctsm.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
622622
<!-- The default filenames are given relative to the root directory
623623
for the CLM2 data in the CESM distribution -->
624624
<!-- Plant function types (relative to {csmdata}) -->
625-
<paramfile phys="clm6_0" >lnd/clm2/paramdata/ctsm60_params.c251211.nc</paramfile>
625+
<paramfile phys="clm6_0" >lnd/clm2/paramdata/ctsm60_params.c260108.nc</paramfile>
626626
<paramfile phys="clm5_0" >lnd/clm2/paramdata/clm50_params.c250311.nc</paramfile>
627627
<paramfile phys="clm4_5" >lnd/clm2/paramdata/clm45_params.c250311.nc</paramfile>
628628

doc/.ChangeLog_template

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,12 @@ Changes answers relative to baseline:
146146
only by roundoff level (because order of operation changes for example). Roundoff
147147
changes to state fields usually grow to greater than roundoff as the simulation progresses.
148148

149-
If this tag changes climate describe the run(s) done to evaluate the new
150-
climate (put details of the simulations in the experiment database)
151-
- casename:
152-
153-
URL for LMWG diagnostics output used to validate new climate:
154-
149+
If this tag changes climate list the run(s) done to evaluate the new
150+
climate (from https://github.com/NCAR/LMWG_dev)
151+
- issue number:
155152

153+
URL for LDF diagnostics output used to validate new climate:
154+
-
156155
Other details
157156
-------------
158157
[Remove any lines that don't apply. Remove entire section if nothing applies.]

doc/ChangeLog

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,145 @@
11
===============================================================
2+
Tag name: ctsm5.4.008
3+
Originator(s): swensosc (Sean Swenson)
4+
Date: Mon Jan 12 11:19:38 PM MST 2026
5+
One-line Summary: Add a correction for oversaturated soil layers in SoilWaterMovement
6+
7+
Purpose and description of changes
8+
----------------------------------
9+
10+
Add a correction for oversaturated soil layers immediately after the soil water flux calculation in SoilWaterMovementMod.
11+
12+
Significant changes to scientifically-supported configurations
13+
--------------------------------------------------------------
14+
15+
Does this tag change answers significantly for any of the following physics configurations?
16+
(Details of any changes will be given in the "Answer changes" section below.)
17+
18+
[Put an [X] in the box for any configuration with significant answer changes.]
19+
20+
[ ] clm6_0
21+
22+
[ ] clm5_0
23+
24+
[ ] ctsm5_0-nwp
25+
26+
[ ] clm4_5
27+
28+
29+
Bugs fixed
30+
----------
31+
32+
List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
33+
Second checkbox in #3879 -- placeholder issue soil water movement
34+
35+
Notes of particular relevance for users
36+
---------------------------------------
37+
38+
Notes of particular relevance for developers:
39+
---------------------------------------------
40+
41+
Caveats for developers (e.g., code that is duplicated that requires double maintenance):
42+
43+
44+
Testing summary: regular
45+
----------------
46+
[PASS means all tests PASS; OK means tests PASS other than expected fails.]
47+
48+
regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
49+
50+
derecho ----- OK
51+
izumi ------- OK
52+
53+
If the tag used for baseline comparisons was NOT the previous tag, note that here:
54+
55+
Answer changes
56+
--------------
57+
58+
Changes answers relative to baseline: Yes! Changes in most fields
59+
60+
Summarize any changes to answers, i.e.,
61+
- what code configurations: All
62+
- what platforms/compilers: All
63+
- nature of change (larger than roundoff/same climate)
64+
65+
If this tag changes climate list the run(s) done to evaluate the new
66+
climate (from https://github.com/NCAR/LMWG_dev)
67+
- issue number: 132
68+
69+
URL for LMWG diagnostics output used to validate new climate:
70+
- https://webext.cgd.ucar.edu/I20TR/ctsm5.4.004_bgc_f09_131_HIST/lnd/ctsm5.4.004_bgc_f09_Oversaturation_131b_HIST_1994_2023_vs_ctsm5.4.004_bgc_f09_131_HIST_1994_2023/website/
71+
72+
73+
Other details
74+
-------------
75+
76+
Pull Requests that document the changes (include PR ids):
77+
(https://github.com/ESCOMP/ctsm/pull)
78+
#3683 -- Oversaturation
79+
80+
===============================================================
81+
===============================================================
82+
Tag name: ctsm5.4.007
83+
Originator(s): samrabin (Sam Rabin, UCAR/TSS)
84+
Date: Fri Jan 9 11:53:19 MST 2026
85+
One-line Summary: Update (irrigated_)rice grnfill and lfemerg
86+
87+
Purpose and description of changes
88+
----------------------------------
89+
90+
This brings the parameter file in line with what I used for my AGU 2025 simulations.
91+
- Increases grnfill from ~0.4 to 0.6.
92+
- Increases lfemerg from ~0.01 to 0.05.
93+
94+
These changes should decrease rice yields.
95+
96+
Significant changes to scientifically-supported configurations
97+
--------------------------------------------------------------
98+
99+
Does this tag change answers significantly for any of the following physics configurations?
100+
(Details of any changes will be given in the "Answer changes" section below.)
101+
102+
[X] clm6_0
103+
104+
[ ] clm5_0
105+
106+
[ ] ctsm5_0-nwp
107+
108+
[ ] clm4_5
109+
110+
111+
Notes of particular relevance for users
112+
---------------------------------------
113+
114+
Changes made to namelist defaults (e.g., changed parameter values):
115+
- New clm6_0 paramfile: ctsm60_params.c260108.nc
116+
117+
118+
Testing summary:
119+
----------------
120+
121+
regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
122+
123+
derecho ----- OK
124+
izumi ------- OK
125+
126+
127+
Answer changes
128+
--------------
129+
130+
Summarize any changes to answers, i.e.,
131+
- what code configurations: Clm60 compsets
132+
- what platforms/compilers: All
133+
- nature of change (roundoff; larger than roundoff/same climate; new climate): At least larger than roundoff
134+
135+
Other details
136+
-------------
137+
138+
Pull Requests that document the changes:
139+
- [ESCOMP/CTSM Pull Request #3686: ctsm5.4.007: Update (irrigated_)rice grnfill and lfemerg](https://github.com/ESCOMP/CTSM/pull/3686)
140+
141+
===============================================================
142+
===============================================================
2143
Tag name: ctsm5.4.006
3144
Originator(s): erik (Erik Kluzek)
4145
Date: Wed Jan 7 02:49:18 PM MST 2026

doc/ChangeSum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
Tag Who Date Summary
22
============================================================================================================================
3+
ctsm5.4.008 swensosc 01/12/2026 Add a correction for oversaturated soil layers in SoilWaterMovement (erik)
4+
ctsm5.4.007 samrabin 01/09/2026 Update (irrigated_)rice grnfill and lfemerg
35
ctsm5.4.006 erik 01/07/2026 Merge b4b-dev to master
46
ctsm5.4.005 rgknox 12/19/2025 FATES JSON parameter files
57
ctsm5.4.004 samrabin 12/12/2025 Update crop parameters and maturity requirements

src/biogeophys/SoilWaterMovementMod.F90

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1147,8 +1147,7 @@ subroutine soilwater_moisture_form(bounds, num_hydrologyc, &
11471147
real(r8) :: vLiqIter(bounds%begc:bounds%endc,1:nlevsoi) ! iteration increment for the volumetric liquid water content (v/v)
11481148
real(r8) :: vLiqRes(bounds%begc:bounds%endc,1:nlevsoi) ! residual for the volumetric liquid water content (v/v)
11491149

1150-
real(r8) :: dwat_temp
1151-
real(r8) :: over_saturation
1150+
real(r8) :: over_saturation ! Amount of water that over saturates this soil layer [kg/m2]
11521151
!-----------------------------------------------------------------------
11531152

11541153
associate(&
@@ -1163,6 +1162,7 @@ subroutine soilwater_moisture_form(bounds, num_hydrologyc, &
11631162
zwt => soilhydrology_inst%zwt_col , & ! Input: [real(r8) (:) ] water table depth (m)
11641163
qout_col => soilhydrology_inst%qout_col , & ! Output: [real(r8) (:,:) ] soil water out of the bottom, mm h2o/s
11651164
qin_col => soilhydrology_inst%qin_col , & ! Output: [real(r8) (:,:) ] soil water into the bottom, mm h2o/s
1165+
eff_porosity => soilstate_inst%eff_porosity_col , & ! Input: [real(r8) (:,:) ] effective porosity = porosity - vol_ice
11661166
watsat => soilstate_inst%watsat_col , & ! Input: [real(r8) (:,:) ] volumetric soil water at saturation (porosity)
11671167
smp_l => soilstate_inst%smp_l_col , & ! Input: [real(r8) (:,:) ] soil matrix potential [mm]
11681168
hk_l => soilstate_inst%hk_l_col , & ! Input: [real(r8) (:,:) ] hydraulic conductivity (mm/s)
@@ -1183,8 +1183,6 @@ subroutine soilwater_moisture_form(bounds, num_hydrologyc, &
11831183
! set number of layers over which to solve soilwater movement
11841184
nlayers = nbedrock(c)
11851185

1186-
dwat_temp = 0.
1187-
11881186
! initialize the number of substeps
11891187
nsubstep=0
11901188

@@ -1403,6 +1401,13 @@ subroutine soilwater_moisture_form(bounds, num_hydrologyc, &
14031401
! save number of adaptive substeps used during time step
14041402
nsubsteps(c) = nsubstep
14051403

1404+
! check for over-saturated layers and move excess upward
1405+
do j = nlayers,2,-1
1406+
over_saturation = max(h2osoi_liq(c,j)-(eff_porosity(c,j)*m_to_mm*dz(c,j)),0._r8)
1407+
h2osoi_liq(c,j) = min(eff_porosity(c,j)*m_to_mm*dz(c,j), h2osoi_liq(c,j))
1408+
h2osoi_liq(c,j-1) = h2osoi_liq(c,j-1) + over_saturation
1409+
end do
1410+
14061411
! check for negative moisture values
14071412
do j = 2, nlayers
14081413
if(h2osoi_liq(c,j) < -1e-6_r8) then

0 commit comments

Comments
 (0)