Closed ckoven closed 1 week ago
This may or may not fit into this PR @ckoven, but I did want to point out that we have another carbon flux that is triggered daily. When the nutrient model is active, if carbon is not the limiting resource, any carbon that was available for growth but was not allocated to tissues and storage will be respired off. The variable is cohort%resp_excess, and it is resolved at the end of the calls to growth, here:
https://github.com/NGEET/fates/blob/main/main/EDMainMod.F90#L595
Ideally, the plant's dynamic root allocation schemes should nudge the plant's resource allocation balance so that it is not wasting resources, but nonetheless this is a term that should be accounted for if anyone is tracking NEE or other carbon flux balancing while the nutrient model is active.
Results from a global nocomp simulation with the default parameter file. Growth respiration decreased by about 10% with this change. This is just the mean over a 10 year simulation from bare ground so definitely not spun up yet.
@JessicaNeedham , that 10% decrease seems about what I would had expected, do you see it the same way?
@JessicaNeedham , that 10% decrease seems about what I would had expected, do you see it the same way?
I think so
I believe this PR is content complete and has had a thorough examination.
Initial regression testing underway on derecho.
Testing on derecho against fates-sci.1.79.2_api.36.1.0-ctsm5.3.008
shows no unexpected test failures. As expected all fates test mods result in DIFFs.
Spot checking the FatesColdAllVars
differences shows what I believe is expected behavior with the following variables being the only differences in the first fates dynamics timestep (i.e. t_index = 2
):
FATES_AUTORESP
FATES_AUTORESP_CANOPY
FATES_GROWTH_RESP
FATES_MAINT_RESP_UNREDUCED
FATES_NEP
FATES_NPP
FATES_NPP_AP
FATES_GROWAR_CANOPY_SZ
FATES_AUTORESP_SZPF
FATES_GROWAR_SZPF
Beyond this timestep, more differences show up in additional variables. The differences for the variables above are on the order of E-09
.
Results: /glade/u/home/glemieux/scratch/ctsm-tests/tests_pr1197
Checking the FatesColdSatPhen
tests, the only diffs I'm seeing are with FATES_MAINT_RESP_UNREDUCED
which are around E-08
.
This PR moves the calculation of growth respiration (GR) to the daily timestep, as a tax on daily integrated
max(0,(GPP - MR))
, instead of half-hourlymax(0,(GPP-MR))
. This will lead to a decrease in growth respiration because it includes the nighttime respiration in the loss term.Description:
By moving the GR to daily, it means that NPP is also only defined at the daily timestep as well. With one exception, I moved all history variables that depend on growth respiration to also be daily. The one exception was I kept NEP as a high frequency output for the case where a user wants to compare directly to NEE data; however this requires (1) making the assumption that GR is constant on timescales less than a day, and (2) using a given cohort's GR from the prior day (which thus introduces some slight error since cohort n will have changed since the GR was actually applied).
fixes #1194 potentially: fixes #1229
Collaborators:
Discussed on 4/29 FATES SW call, and further discussions with @JessicaNeedham and @rgknox.
Expectation of Answer Changes:
This will be answer-changing.
Checklist
If this is your first time contributing, please read the CONTRIBUTING document.
All checklist items must be checked to enable merging this pull request:
Contributor
Integrator
Documentation
Test Results:
CTSM (or) E3SM (specify which) test hash-tag:
CTSM (or) E3SM (specify which) baseline hash-tag:
FATES baseline hash-tag:
Test Output: