SIP182c Update Effects of CN and Tillage on Heterotrophic Respiration#214
SIP182c Update Effects of CN and Tillage on Heterotrophic Respiration#214
Conversation
…nd-soil-org-N-fluxes
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
This looks good, and aligns with docs and you've done a good job of both implementing the equations and answering many of my questions (like where is this or that) in the comments 🌟.
Approved, but please review and consider suggested changes before merging.
| * Moisture dependency term is used in soil respiration, litter | ||
| * breakdown, and nitrogen volatilization. |
There was a problem hiding this comment.
CH4 and N volatilization should use the D_water,O2 function.
| * Moisture dependency term is used in soil respiration, litter | |
| * breakdown, and nitrogen volatilization. | |
| * Moisture dependency term for aerobic metabolism is used | |
| * in soil respiration and litter breakdown. |
Out of scope for this PR but the moistEffect (as well as D_water,O2 in docs) are ambiguously named because there will be two moisture effects - one on aerobic (RH, litter breakdown) and the other on anaerobic metabolism (CH4, N volatilization).
To disambiguate we could name these AnaerobicMoistEffect, calcAnaerobicMoistEffect().
There was a problem hiding this comment.
I noticed that overlap! Thanks for clarifying.
There was a problem hiding this comment.
Wait, we are using the same moistEffect for all three of those calcs - is that a problem?
The overlap I was thinking of was the two D_temp's we have for potPsn vs. resp/breakdown calcs
There was a problem hiding this comment.
I'm going to push this to a later fix - let's chat later.
| @@ -395,6 +395,7 @@ void readParamData(ModelParams **modelParamsPtr, const char *paramFile) { | |||
| initializeOneModelParam(modelParams, "leafCN", &(params.leafCN), ctx.nitrogenCycle); | |||
| initializeOneModelParam(modelParams, "woodCN", &(params.woodCN), ctx.nitrogenCycle); | |||
| initializeOneModelParam(modelParams, "rootCN", &(params.rootCN), ctx.nitrogenCycle); | |||
There was a problem hiding this comment.
@Alomir sorry this isn't part of the PR, but is this coarse or fine root? parameters.md says "coarserootCN = woodCN"
There was a problem hiding this comment.
It's fine root, and I will change to match.
| | --- | ------------------------- | ------ | -------------------------------------- | ----- | ------------------------------------------------ | | ||
| | | $CN_{\textrm{wood}}$ | woodCN | Carbon to Nitrogen ratio of wood | | $CN_{\textrm{coarse root}} = CN_{\textrm{wood}}$ | | ||
| | | $CN_{\textrm{leaf}}$ | leafCN | Carbon to Nitrogen ratio of leaves | | | | ||
| | | $CN_{\textrm{fine root}}$ | rootCN | Carbon to Nitrogen ratio of fine roots | | | |
There was a problem hiding this comment.
@Alomir also check here - does rootCN refer to fine root?
There was a problem hiding this comment.
Yes it does...why on earth did I name it that??
Co-authored-by: David LeBauer <dlebauer@gmail.com>
…PecanProject#214) * Add org N handling for fert * Adds fields for org N handling * Adds organic N pools and params, with output * Updates for fert org N * Updates cols list for niwot * Updates for initial org N implementation * Updates to eqs 13 and 14 * Adds litter pool req for nitrogen cycle * Initial implementation for organic N pools plus fert updates * Updates to fert for org N pools * Updates for org N pools * Reorg and updates for org N pools * Adds CN ration params * Tweak output spacing for readability * Fix broken link * Fix merge errors * Allow russell ranch link * Brings russell_1 params up to date * Updates for organic N calcs * Removes 'frak' font from some implemented sections * Updates for nitrogen cycle additions to date * Interim commit, heterotrophic resp updates * Removes unused include * Tests calcXYZEffect dependency functions * Adds testDependencyFunctions * Tweaks error msg * Adds CN dep function, updates soil and litter resp * Adds kCN param * Updates for soil/litter resp tweaks * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Updates for CN implementation * C:N impl * Function rename * Updates to min N pool * Updates for mineral N pool update * Updates for CN impl * Attempts to fix broken link * added code symbols to stoichiometry param definitions * Update docs/README.md Co-authored-by: David LeBauer <dlebauer@gmail.com> * Renames param rootCN to fineRootCN --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: David LeBauer <dlebauer@gmail.com>
Summary
Motivation: This is the final piece of #182
What:
Here is the smoke test comparison result - note that soil and litter C and N do not decrease as much, which I think is to be expected since D_CN reduces the respiration/decomposition.
NOTE: after updating the mineral N pool to add in mineralization from soil and litter, there are other differences:
Related issues
Checklist
docs/CHANGELOG.mdupdated with noteworthy changesclang-format(rungit clang-formatif needed)For model structure changes:
\frakturfont formatting fromdocs/model-structure.mdfor implemented features