Fix bugs in the Tree Recruitment Scheme with seedling dynamics#1572
Open
r-ward wants to merge 19 commits into
Open
Fix bugs in the Tree Recruitment Scheme with seedling dynamics#1572r-ward wants to merge 19 commits into
r-ward wants to merge 19 commits into
Conversation
Changesd par_high_frac and par_low_frac to normalize total_canopy_area by area (m2). Previously, using absolute area produced negative values, causing NaNs in seedling light calculations (negative raised to a fractional power).
… (mdd). Host model soil matric potential spikes (~negative billions) on day 1. This spike is remembered by running means. When an inflated mdd is passed to the quadratic function to calculate mortality rate from moisture stress, mortality rates > 100%.
…egative? Check by printing from SeedDecay, SeedGerm, PreDisturbanceIntegrateLiter, and recruitment subroutines
…l day to avoid host model spike in smp at initialization
…d_germ_in from exceeding available seed after accounting for inputs and decay
Remove diagnostic blocks from EDPhysiologyMod and FatesInterfaceMod that were added during degubbing of TRS.
seedling_emerg_rate is now calculated and then capped, consistent with the capping of seedling_h2o_mort_rate in SeedDecay
… seed_germ pool Prevent the TRS transition rate factor (seedling_light_rec_a * sdling2sap_par^seedling_light_rec_b) from exceeding 1. A transition rate factor >1 would allow mass_avail to exceed the seed_germ pool, driving seed_germ negative.
Four TRS rates are capped at 1 (seedling_h2o_mort_rate, total_seedling_mort_rate, seedling_emerg_rate, sdlng2sap_rate) to prevent the TRS construction pool (seed_germ) from going negative. When rates exceed 1, the cap is still enforced but the uncapped value is written to the log
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description:
Fixes several bugs that cause the model to crash when running FATES with the Tree Recruitment Scheme (TRS; namelist option
fates_regeneration_model = 'trs').Bug fixes:
#1499 - Fix PAR fraction calculations (normalization by patch area was previously missing, causing NaN errors)
#1500 - Skip updating seedling layer SMP running mean on first model day (host model SMP spike leads to 100% seedling mortality; the host model spike itself is a separate issue: ESCOMP/CTSM#3584 (comment))
#1501 - Fix initial value for
sdlng_mort_par(was set totemp_init_veg, should beinit_seedling_par)#1504 - Add rate caps for TRS seedling emergence and decay rates so that they cannot exceed 1; rates > 1 unrealistically drive the TRS seedling pool negative, eventually crashing the model
Collaborators:
@rgknox @glemieux
Expectation of Answer Changes:
Results using other regeneration models (
default,trs_no_seed_dyn) are unchanged, results will differ when usingfates_regeneration_model='trs'(model previously crashed)Description of generative AI usage (as necessary)
None
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
If satellite phenology regressions are not b4b, please hold merge and notify the FATES development team.
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: