Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIMICS into vertically resolved CTSM #1318

Merged
merged 80 commits into from
Feb 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
9985a65
First commit of MIMICS in CTSM
slevis-lmwg Mar 27, 2021
131147e
Introduce MIMICS using SoilBiogeochemDecompCascadeBGCMod.F90 as template
slevis-lmwg Mar 31, 2021
d963ada
Updating SoilBiogeochemDecompCascadeMIMICSMod.F90 based on code review
slevis-lmwg Apr 2, 2021
5dd9ff2
Updating SoilBiogeochemDecompCascadeMIMICSMod.F90 based on meeting
slevis-lmwg Apr 3, 2021
8601f6e
Mainly changed "rate constants" to "rates" in the comments
slevis-lmwg Apr 13, 2021
0141a3e
Merge tag 'ctsm5.1.dev033' into vert_res_in_mimics
slevis-lmwg Apr 13, 2021
5995cc0
Add new and remove old TODO BFB refactor comments
slevis-lmwg Apr 14, 2021
e6833ea
Remove old TODO BFB refactor comment
slevis-lmwg Apr 14, 2021
446b587
Minor mods to ...DecompCascadeMIMICSMod based on refactor branch
slevis-lmwg Apr 18, 2021
32222a9
Merge tag 'ctsm5.1.dev043' into vert_res_in_mimics
slevis-lmwg Jun 4, 2021
2f67c21
Making ...CascadeMIMICSMod.F90 consistent w pre-MIMICS refactor
slevis-lmwg Jun 5, 2021
e962b0e
Ongoing work in SoilBiogeochemDecompCascadeMIMICSMod.F90
slevis-lmwg Jun 11, 2021
cda5d14
Merge tag 'ctsm5.1.dev048' into vert_res_in_mimics
slevis-lmwg Jul 11, 2021
487f5b3
Updates to MIMICSMod.F90 for consistency w corresponding BGC refactors
slevis-lmwg Jul 12, 2021
65d47da
Working on the tau calculations
slevis-lmwg Jul 12, 2021
39d51b6
Comment updates...
slevis-lmwg Jul 12, 2021
7662239
Updates from today's code review with @wwieder
slevis-lmwg Jul 14, 2021
0fde398
Updates based on new comments from @wwieder
slevis-lmwg Jul 15, 2021
030e9c5
Updates addressing comments in the PR
slevis-lmwg Jul 17, 2021
17fa68f
Minor updates
slevis-lmwg Jul 17, 2021
0860aa4
Rm unnecessary associate assignments as I look through the whole model
slevis-lmwg Jul 19, 2021
8715ec5
First draft of the ligninNratioAvg calculation
slevis-lmwg Jul 19, 2021
3ba4ad3
Made parameters of some two unit conversions
slevis-lmwg Jul 19, 2021
5222227
Working on the calculation of ligninNratioAve
slevis-lmwg Jul 22, 2021
ae3b11b
Closer to completing calculation of ligninNratioAve
slevis-lmwg Jul 23, 2021
d5d83e4
Some clean-up and corrections before starting on the nitrogen
slevis-lmwg Jul 23, 2021
0b91a02
Negligible changes but pushing to have access to latest during downtime
slevis-lmwg Jul 25, 2021
63cfa3d
Mods originally from @wwieder for the MIMICS nitrogen hooks
slevis-lmwg Aug 1, 2021
bf87bd3
Variable declarations and other loose ends from prev commit
slevis-lmwg Aug 5, 2021
3cf47eb
Adding use_mimics_decomp where needed in the fortran
slevis-lmwg Aug 6, 2021
043d8bc
Corrections and minor cleanup
slevis-lmwg Aug 7, 2021
ed35311
Code corrections from attempting to build (part 1)
slevis-lmwg Aug 9, 2021
fc2c33c
Merge tag 'ctsm5.1.dev051' into vert_res_in_mimics
slevis-lmwg Aug 9, 2021
ebadca9
Adding history variables for use with Newton-Krylov
slevis-lmwg Aug 9, 2021
5236864
Adding pathfrac_decomp_cascade to ctsm history
slevis-lmwg Aug 10, 2021
724cb82
Change to variable description as per code review suggestion
slevis-lmwg Aug 11, 2021
1f13e65
Code corrections from attempting to build (part 2)
slevis-lmwg Aug 12, 2021
dcf7689
Code corrections from attempting to build (part 3)
slevis-lmwg Aug 16, 2021
731475e
Merge branch 'hist_vars_for_newton_krylov' into vert_res_in_mimics
slevis-lmwg Aug 17, 2021
fefccc9
Code corrections from attempting to build (part 4)
slevis-lmwg Aug 18, 2021
dfe0688
Code corrections from attempting to build (part 5)
slevis-lmwg Aug 19, 2021
4e22c91
Adding rf_decomp_cascade to history
slevis-lmwg Aug 19, 2021
695f85c
Merge tag 'ctsm5.1.dev053' into hist_vars_for_newton_krylov
slevis-lmwg Aug 19, 2021
07c641b
user_nl_clm and shell_commands files for Newton-Krylov testing
slevis-lmwg Aug 21, 2021
2687cf1
Typo correction...
slevis-lmwg Aug 21, 2021
bae1162
Merge tag 'ctsm5.1.dev053' into vert_res_in_mimics
slevis-lmwg Aug 23, 2021
3033578
Merge branch 'hist_vars_for_newton_krylov' into vert_res_in_mimics
slevis-lmwg Aug 24, 2021
1c1a945
Made params consistent w current params file ctsm51_params.c210528.nc
slevis-lmwg Aug 25, 2021
ecadf73
Added use_mimics_decomp to the namelist
slevis-lmwg Aug 30, 2021
66d7b92
Introduced MIMICS test mod directory
slevis-lmwg Aug 31, 2021
3ff27f3
Debugging while running with use_mimics_decomp = .true.
slevis-lmwg Sep 4, 2021
ee6c401
Corrections to unit conversions based on meeting with @wwieder
slevis-lmwg Sep 13, 2021
680512e
C balance error seems resolved and replaced with N balance error
slevis-lmwg Sep 23, 2021
c522916
Now past the big N balance error but still getting small one
slevis-lmwg Sep 23, 2021
3ce2163
Small changes that seem necessary for N balance though still looking...
slevis-lmwg Oct 13, 2021
e037adf
Adding totmicn to the N balance; still not fixed though
slevis-lmwg Oct 19, 2021
e6d365c
Dimension p_decomp_cn_gain by pools instead of transitions
slevis-lmwg Oct 22, 2021
f3f7d0a
Eliminate max from a line and correct NaNs that resulted
slevis-lmwg Oct 25, 2021
80c0c2f
Updates discussed with @wwieder
slevis-lmwg Oct 25, 2021
520f4f9
The model now runs without balance or other errors
slevis-lmwg Oct 27, 2021
1faa673
Code simplification for improved clarity
slevis-lmwg Oct 27, 2021
e30d41e
Merge tag 'ctsm5.1.dev061' into vert_res_in_mimics
slevis-lmwg Nov 4, 2021
3b2073b
Minor corrections of mistakes that snuck through the dev061 merge
slevis-lmwg Nov 4, 2021
a399480
Change use_mimics_decomp -> mimics_decomp and coordinate w decomp_method
slevis-lmwg Nov 5, 2021
8166fd0
Updated params files and respective code
slevis-lmwg Nov 8, 2021
4eb3372
Add mimics tests, one to cheyenne and one to izumi test suites
slevis-lmwg Nov 8, 2021
019fe54
Update params files (var names/values), clean up various TODOs
slevis-lmwg Nov 15, 2021
3b94597
Revisions in response to Erik's code review and 1 or 2 remaining TODOs
slevis-lmwg Nov 16, 2021
3211e89
I should have removed this comment in the previous commit
slevis-lmwg Nov 16, 2021
e5f3ffd
Revert unnecessary changes in bld/listDefaultNamelist.pl
slevis-lmwg Nov 16, 2021
f6b3bf9
Correct the clay units by converting from % to fraction in MIMICS
slevis-lmwg Nov 18, 2021
2b071a3
Merge tag 'ctsm5.1.dev066' into vert_res_in_mimics
slevis-lmwg Dec 10, 2021
6205b30
First draft of updated ChangeLog
slevis-lmwg Dec 11, 2021
b69a4e7
Merge remote-tracking branch 'escomp/master' into vert_res_in_mimics
slevis-lmwg Jan 27, 2022
ab17157
Minor merge conflict caught by test-suite
slevis-lmwg Jan 27, 2022
c2a21bf
Update ChangeLog + add comment in SoilBiogeochemDecompCascadeMIMICSMod
slevis-lmwg Jan 28, 2022
99c3c30
Committing the three new timing calls that I added to time MIMICS
slevis-lmwg Jan 28, 2022
5451493
Updated ChangeLog/ChangeSum
slevis-lmwg Jan 29, 2022
eba8244
Added newton_krylov_spinup testmod and corresponding new test
slevis-lmwg Feb 2, 2022
be14cd1
Update changelog, tweak a few things, make sure issues mentioned have…
ekluzek Feb 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions bld/CLMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ OPTIONS
sp = Satellite Phenology (SP)
This toggles off the namelist variable: use_cn
bgc = Carbon Nitrogen with methane, nitrification, vertical soil C,
CENTURY decomposition
CENTURY or MIMICS decomposition
This toggles on the namelist variables:
use_cn, use_lch4, use_nitrif_denitrif
fates = FATES/Ecosystem Demography with below ground BGC
Expand Down Expand Up @@ -852,7 +852,6 @@ sub setup_cmdl_bgc {
$log->fatal_error("The namelist variable use_fates is inconsistent with the -bgc option");
}


# Now set use_cn and use_fates
foreach $var ( "use_cn", "use_fates" ) {
$val = $nl_flags->{$var};
Expand All @@ -876,7 +875,7 @@ sub setup_cmdl_bgc {
$log->fatal_error("$var must NOT be None if use_cn or use_fates are on");
}
} elsif ( $soil_decomp_method ne "None" ) {
$log->fatal_error("$var must be None if use_cn or use_fates are not");
$log->fatal_error("$var must be None if use_cn and use_fates are off");
}
#
# Soil decomposition control variables, methane and Nitrification-Denitrification
Expand Down Expand Up @@ -2825,7 +2824,6 @@ sub setup_logic_bgc_shared {
if ( $nl_flags->{'bgc_mode'} ne "sp" ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'constrain_stress_deciduous_onset', 'phys'=>$physv->as_string() );
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'decomp_depth_efolding', 'phys'=>$physv->as_string() );
}

#-------------------------------------------------------------------------------
Expand Down
13 changes: 4 additions & 9 deletions bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -481,9 +481,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<!-- The default filenames are given relative to the root directory
for the CLM2 data in the CESM distribution -->
<!-- Plant function types (relative to {csmdata}) -->
<paramfile phys="clm5_1" >lnd/clm2/paramdata/ctsm51_params.c210923.nc</paramfile>
<paramfile phys="clm5_0" >lnd/clm2/paramdata/clm50_params.c210803.nc</paramfile>
<paramfile phys="clm4_5" >lnd/clm2/paramdata/clm45_params.c210803.nc</paramfile>
<paramfile phys="clm5_1" >lnd/clm2/paramdata/ctsm51_params.c211112.nc</paramfile>
<paramfile phys="clm5_0" >lnd/clm2/paramdata/clm50_params.c211112.nc</paramfile>
<paramfile phys="clm4_5" >lnd/clm2/paramdata/clm45_params.c211112.nc</paramfile>

<!-- ================================================================== -->
<!-- FATES default parameter file -->
Expand Down Expand Up @@ -566,11 +566,6 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<onset_thresh_depends_on_veg >.false.</onset_thresh_depends_on_veg>
<min_critical_dayl_method >Constant</min_critical_dayl_method>

<!-- turnover time modifications -->
<decomp_depth_efolding phys="clm4_5" >0.5</decomp_depth_efolding>
<decomp_depth_efolding phys="clm5_0" >10.0</decomp_depth_efolding>
<decomp_depth_efolding phys="clm5_1" >10.0</decomp_depth_efolding>

<!-- use additional stress deciduous onset trigger -->
<constrain_stress_deciduous_onset phys="clm4_5" >.false.</constrain_stress_deciduous_onset>
<constrain_stress_deciduous_onset phys="clm5_0" >.true.</constrain_stress_deciduous_onset>
Expand Down Expand Up @@ -2535,7 +2530,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts
>lnd/clm2/paramdata/finundated_inversiondata_0.9x1_ESMFmesh_cdf5_130621.nc</stream_meshfile_ch4finundated>

<!-- ========================================= -->
<!-- Defaults for different BGC modes -->
<!-- Defaults for different BGC/decomp modes -->
<!-- ========================================= -->

<soil_decomp_method use_cn=".true." >CENTURYKoven2013</soil_decomp_method>
Expand Down
9 changes: 2 additions & 7 deletions bld/namelist_files/namelist_definition_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2127,12 +2127,6 @@ Base advective flux (downwards) for SOM.
Maximum depth to mix soils to by croturbation, in permafrost soils.
</entry>

<!-- turnover time modifications -->
<entry id="decomp_depth_efolding" type="real" category="clm_vertcn"
group="bgc_shared" valid_values="" >
E-folding depth over which decomposition is slowed with depth in all soils.
</entry>

<entry id="anoxia" type="logical" category="clm_vertcn"
group="clm_inparm" valid_values="" >
If TRUE, reduce heterotrophic respiration according to available oxygen predicted by CH4 submodel.
Expand Down Expand Up @@ -2169,10 +2163,11 @@ Number of days over which to use exponential relaxation of NPP in N fixation cal

<!-- Soil decomposition options -->
<entry id="soil_decomp_method" type="char*20" category="clm_physics"
group="soilbgc_decomp" valid_values="None,CENTURYKoven2013" >
group="soilbgc_decomp" valid_values="None,CENTURYKoven2013,MIMICSWieder2015" >
Soil decomposition method
None -- No soil decomposition is done
CENTURYKoven2013 -- CENTURY model in CTSM from Koven et. al. 2013
MIMICSWieder2015 -- MIMICS model in CTSM from Wieder et. al. 2015

An active soil decomposition method requires the BGC or FATES model to work
And both BGC and FATES models require an active soil decomposition model
Expand Down
27 changes: 27 additions & 0 deletions cime_config/testdefs/testlist_clm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -522,6 +522,33 @@
<option name="wallclock">00:20:00</option>
</options>
</test>
<test name="ERP_D_P36x2_Ld3" grid="f10_f10_mg37" compset="I1850Clm51BgcCrop" testmods="clm/mimics">
ekluzek marked this conversation as resolved.
Show resolved Hide resolved
<machines>
<machine name="cheyenne" compiler="gnu" category="aux_clm"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Test soil_decomp_method = 'MIMICSWieder2015'</option>
</options>
</test>
<test name="SMS_Ld5_Mmpi-serial" grid="1x1_brazil" compset="IHistClm50BgcQianRs" testmods="clm/mimics">
<machines>
<machine name="izumi" compiler="gnu" category="aux_clm"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Test soil_decomp_method = 'MIMICSWieder2015'</option>
</options>
</test>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to add a test for the new newton_krylov testmod.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ekluzek do you mean a test for what's in this directory:
cime_config/usermods_dirs/newton_krylov_spinup?
...otherwise, I haven't created a newton_krylov testmod. Should I? I think I should wait for @wwieder and Keith Lindsay to make progress because I don't know if the N-K solution will work for sure. What do you think @wwieder ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm optimistic that the N-K will work, but it's vapor ware right now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I linked #1457 to this conversation to avoid forgetting...

Copy link
Collaborator

@ekluzek ekluzek Feb 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Add a test for 1x1_brazil for the newton_krylov_spinup to run say 1 year.

<test name="SMS_Ly5_Mmpi-serial" grid="1x1_brazil" compset="IHistClm50BgcQianRs" testmods="clm/newton_krylov_spinup">
<machines>
<machine name="cheyenne" compiler="intel" category="aux_clm"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Test soil_decomp_method = 'MIMICSWieder2015'</option>
</options>
</test>
<test name="ERP_D_P36x2_Ld3" grid="f10_f10_mg37" compset="I2000Clm50BgcCru" testmods="clm/flexCN_FUN">
<machines>
<machine name="cheyenne" compiler="intel" category="aux_clm"/>
Expand Down
2 changes: 1 addition & 1 deletion cime_config/testdefs/testmods_dirs/clm/ciso_cwd_hr/README
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This points to an alternate params file with
rf_cwdl2_bgc = 0.5
rf_cwdl2 = 0.5
rf_cwdl3_bgc = 0.5
while by default these parameters equal zero.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
paramfile = '/glade/p/cesm/cseg/inputdata/lnd/clm2/paramdata/ctsm51_params.c210827.nc'
paramfile = '/glade/p/cesm/cseg/inputdata/lnd/clm2/paramdata/ctsm51_ciso_cwd_hr_params.c211112.nc'
hist_fincl1 = 'CWDC_HR','C13_CWDC_HR','C14_CWDC_HR','CWD_HR_L2','CWD_HR_L2_vr','CWD_HR_L3','CWD_HR_L3_vr'
6 changes: 6 additions & 0 deletions cime_config/testdefs/testmods_dirs/clm/mimics/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
This test mod turns on the MIMICS instead of the CENTURY below-ground
biogeochemistry.

As of 2021/11/15 this test inherits mods from the ../coldStart directory;
however the plan is to change that to ../default when we have an acceptable
spun up finidat file to initialize MIMICS with.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
../coldStart
ekluzek marked this conversation as resolved.
Show resolved Hide resolved
1 change: 1 addition & 0 deletions cime_config/testdefs/testmods_dirs/clm/mimics/user_nl_clm
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
soil_decomp_method = 'MIMICSWieder2015'
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
slevis 2022/2/1:
This testmod tests the newton_krylov_spinup usermod found in
cime_config/usermods_dirs/newton_krylov_spinup
combined with the mimics testmod.

By default this usermod runs for 20 yrs and writes a history file at that
time. To save time running the test-suite, we're changing
hist_nhtfrq = 0,-43800 (from 0,-175200)
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
../mimics
../../../../usermods_dirs/newton_krylov_spinup
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
hist_nhtfrq = 0,-43800
4 changes: 4 additions & 0 deletions cime_config/usermods_dirs/newton_krylov_spinup/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
user_nl_clm contains this line:
hist_nhtfrq = 0,-175200
0 means monthly history frequency and
-175200 means 20 years history frequency (indicated in hours)
3 changes: 3 additions & 0 deletions cime_config/usermods_dirs/newton_krylov_spinup/shell_commands
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash
./xmlchange CLM_FORCE_COLDSTART="on"

15 changes: 15 additions & 0 deletions cime_config/usermods_dirs/newton_krylov_spinup/user_nl_clm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
hist_dov2xy = .true.,.false.
ekluzek marked this conversation as resolved.
Show resolved Hide resolved
hist_nhtfrq = 0,-175200
hist_mfilt = 1,1
hist_fincl2 = 'FPI_vr', 'K_PAS_SOM', 'K_SLO_SOM', 'K_ACT_SOM',
'K_CWD', 'K_CEL_LIT', 'K_LIG_LIT', 'K_MET_LIT',
'CWD_PATHFRAC_L2_vr', 'CWD_RESP_FRAC_L2_vr',
'CWD_PATHFRAC_L3_vr', 'CWD_RESP_FRAC_L3_vr',
'L1_PATHFRAC_S1_vr', 'L1_RESP_FRAC_S1_vr',
'L2_PATHFRAC_S1_vr', 'L2_RESP_FRAC_S1_vr',
'L3_PATHFRAC_S2_vr', 'L3_RESP_FRAC_S2_vr',
'S1_PATHFRAC_S2_vr', 'S1_RESP_FRAC_S2_vr'
'S1_PATHFRAC_S3_vr', 'S1_RESP_FRAC_S3_vr'
'S2_PATHFRAC_S1_vr', 'S2_RESP_FRAC_S1_vr'
'S2_PATHFRAC_S3_vr', 'S2_RESP_FRAC_S3_vr'
'S3_PATHFRAC_S1_vr', 'S3_RESP_FRAC_S1_vr'
114 changes: 114 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,118 @@
===============================================================
Tag name: ctsm5.1.dev074
Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310)
Date: Wed Feb 2 00:44:27 MST 2022
One-line Summary: Introduce vert. resolved MIMICS as new method to solve below ground decomp.

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

Introducing new option to solve below ground decomposition: MIMICSWieder2015.
The old option (CENTURYKoven2013) remains available. User will select one or
the other via the namelist variable soil_decomp_method.

Elin's MIMICS+ github issue relates: #1260.
MIMICS spinup issues relate and are listed in caveats for users.


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

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed or introduced
------------------------
Issues fixed (include CTSM Issue #):
#1473 : decomp_depth_efolding appears (with the same value) in the namelist
and the params files; the model ends up using the one from the namelist


Notes of particular relevance for users
---------------------------------------
Caveats for users (e.g., need to interpolate initial conditions):
MIMICS spinup method is in development
Issues related to spinup
#1451 -- MIMICS spinup
#1455 -- Additional history output for Newton-Krylov spinup
#1457 -- Adding history variables for Newton-Krylov spinup

Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables):
New option MIMICSWieder2015 for use with namelist variable soil_decomp_method
decomp_depth_efolding removed as values on param files was already being used

Changes to the datasets (e.g., parameter, surface or initial files):
CLM parameter files now include new MIMICS-related parameters prefixed with
mimics_. Existing CENTURYKoven-specific parameters were renamed to include the
prefix bgc_. Parameters used by both CENTURYKoven2013 and MIMICSWieder2015 have
neither prefix.

Substantial timing or memory changes:
Timing comparison between CENTURYKoven (BGC for short) and MIMICSWieder:
In a 1x1_brazil test writing annual output and restarts every 10 yrs,
BGC took ~2.8 hrs/100 yrs, MIMICS took ~3.6 hrs/100 yrs.

More timing comparisons shown here:
https://github.com/ESCOMP/CTSM/pull/1318#issuecomment-1008211485

Notes of particular relevance for developers:
---------------------------------------------
Changes to tests or testing:
New test-suite tests:
ERP_D_P36x2_Ld3.f10_f10_mg37.I1850Clm51BgcCrop.cheyenne_gnu.clm-mimics
SMS_Ld5_Mmpi-serial.1x1_brazil.IHistClm50BgcQianRs.izumi_gnu.clm-mimics
SMS_Ly5_Mmpi-serial.1x1_brazil.IHistClm50BgcQianRs.cheyenne_intel.clm-newton_krylov_spinup

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

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

build-namelist tests (if CLMBuildNamelist.pm has changed):

cheyenne - PASS (831 tests are different from baseline because of new param files)

python testing (if python code has changed; see instructions in python/README.md; document testing done):

cheyenne ---- OK (black test fails)

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

cheyenne ---- PASS
izumi ------- OK (see one answer change below)


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

Changes answers relative to baseline: NO (almost)

One test in the izumi test-suite fails
SMS_Vmct.f10_f10_mg37.I2000Clm50BgcCrop.izumi_pgi.clm-crop
and this is due to diffs from baseline (dev073).
cprnc.out shows diffs only in one variable:
RMS TOTECOSYSC 1.9853E-12 NORMALIZED 6.5087E-17


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

Pull Requests that document the changes (include PR ids):
https://github.com/ESCOMP/ctsm/pull/1318 -- MIMICS into vertically resolved CTSM

===============================================================
===============================================================
Tag name: ctsm5.1.dev073
Originator(s): sacks (Bill Sacks)
Date: Tue Jan 25 16:33:06 MST 2022
Expand Down
1 change: 1 addition & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
ctsm5.1.dev074 slevis 02/02/2022 Introduce vert. resolved MIMICS as new method to solve below ground decomp.
ctsm5.1.dev073 sacks 01/25/2022 Some fixes for Gregorian calendar
ctsm5.1.dev072 negins 01/17/2022 mksurfdat toolchain part 1: gen_mksurf_namelist
ctsm5.1.dev071 glemieux 01/16/2022 Small changes to enable new fates dimension and update fates tag
Expand Down
4 changes: 2 additions & 2 deletions src/biogeochem/CNBalanceCheckMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ subroutine CBalanceCheck(this, bounds, num_soilc, filter_soilc, &
do g = bounds%begg, bounds%endg
! calculate gridcell-level carbon storage for mass conservation check
! Notes:
! totgrcc = totcolc = totc_p2c_col(c) + soilbiogeochem_cwdc_col(c) + soilbiogeochem_totlitc_col(c) + soilbiogeochem_totsomc_col(c) + soilbiogeochem_ctrunc_col(c)
! totgrcc = totcolc = totc_p2c_col(c) + soilbiogeochem_cwdc_col(c) + soilbiogeochem_totlitc_col(c) + soilbiogeochem_totmicc_col(c) + soilbiogeochem_totsomc_col(c) + soilbiogeochem_ctrunc_col(c)
! totc_p2c_col = totc_patch = totvegc_patch(p) + xsmrpool_patch(p) + ctrunc_patch(p) + cropseedc_deficit_patch(p)
! Not including seedc_grc in grc_begcb and grc_endcb because
! seedc_grc forms out of thin air, for now, and equals
Expand Down Expand Up @@ -540,7 +540,7 @@ subroutine NBalanceCheck(this, bounds, num_soilc, filter_soilc, &
write(iulog,*)'output mass = ',col_noutputs(c)*dt
write(iulog,*)'net flux = ',(col_ninputs(c)-col_noutputs(c))*dt
write(iulog,*)'inputs,ffix,nfix,ndep = ',ffix_to_sminn(c)*dt,nfix_to_sminn(c)*dt,ndep_to_sminn(c)*dt
write(iulog,*)'outputs,ffix,nfix,ndep = ',smin_no3_leached(c)*dt, smin_no3_runoff(c)*dt,f_n2o_nit(c)*dt
write(iulog,*)'outputs,lch,roff,dnit = ',smin_no3_leached(c)*dt, smin_no3_runoff(c)*dt,f_n2o_nit(c)*dt
call endrun(subgrid_index=c, subgrid_level=subgrid_level_column, msg=errMsg(sourcefile, __LINE__))
end if

Expand Down
Loading