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

handle case where LAI+SAI exceeds array by clipping instead of crashing #1269

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ckoven
Copy link
Contributor

@ckoven ckoven commented Oct 23, 2024

There has for a long time (always?) been an issue where certain leaf and lai parameters can generate absurdly large LAI values within the crown of a plant (where plant-level LAI equals leaf area / crown area), and which can crash the model, e.g. as per #1190. Now that our default crown area and leaf area allometric exponents are different, this can happen mid-run, as the plants start to get larger. And I am finding that in rare edge cases in a global run, this does in fact happen.

We've discussed for a long time just putting an upper limit to how large LAI can get, in order to allow the model to keep going rather than crash. The argument being that for these plants, their lowermost leaf area is in the dark and so not going to be doing a lot of photosynthesizing, so it should in principle be self-correcting. This code does that: it just says, basically, that beyond a certain point, a plant can put on more leaf biomass, but it won't have any effect on the LAI.

I've only tested it to the extent that I can confirm it prevents the model from crashing under whatever the edge case that I had run into that was previously causing the model to crash. Further investigation is needed to assess the effect of this on simulations.

fixes #1190.

Description:

Collaborators:

Expectation of Answer Changes:

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

Integrator

  • FATES PASS/FAIL regression tests were run
  • Evaluation of test results for answer changes was performed and results provided

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:

@rgknox
Copy link
Contributor

rgknox commented Oct 28, 2024

Notes from SE Meeting:

  1. add a wrapper to update tree lai and tree sai in the cohort module
  2. try to see if we can update this in one location
  3. add a constant that we can compare the maximum value of the lai+sai binning vector too, if is less than that constant we fail gracefully during initialization

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

3 participants