Skip to content

Fix bugs in the Tree Recruitment Scheme with seedling dynamics#1572

Open
r-ward wants to merge 19 commits into
NGEET:mainfrom
r-ward:trs_debug
Open

Fix bugs in the Tree Recruitment Scheme with seedling dynamics#1572
r-ward wants to merge 19 commits into
NGEET:mainfrom
r-ward:trs_debug

Conversation

@r-ward

@r-ward r-ward commented May 27, 2026

Copy link
Copy Markdown

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 to temp_init_veg, should be init_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 using fates_regeneration_model='trs' (model previously crashed)

image

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

  • The in-code documentation has been updated with descriptive comments
  • The documentation has been assessed to determine if updates are necessary
  • Describe use of generative AI (if necessary)

Integrator

  • FATES PASS/FAIL regression tests were run
  • Evaluation of test results for answer changes was performed and results provided
  • FATES-CLM6 Code Freeze: satellite phenology regression tests are b4b

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:

Rachel Ward and others added 19 commits October 27, 2025 14:07
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Finding Reviewers

Development

Successfully merging this pull request may close these issues.

2 participants