Skip to content

Conversation

@sharma-bharat
Copy link
Contributor

@sharma-bharat sharma-bharat commented Mar 7, 2025

Vegetation decline in CNP spinups: Is resetting of L2FR value after senescence a probable reason?

Description:

We see that the GPP, NPP, and LAI were declining rapidly during the AD Spinups during the RD and ECA runs both for evergreen needleleaf and cold-deciduous plant functional type but not for Carbon only runs (see Fig 1).

Increasing the initial period of supplemental N supported vegetation productivity but the decline in productivity happens when supplemental N is stopped.

Partial improvement was seen by commenting the call to dynamic L2FR for initial few decades. We see an increase in vegetation productivity but it was low. Commenting the call to dynamic L2FR throughout the AD spinup lead to increase in GPP but it was still much lower than expected (Fig 2).

We think that Fineroot biomass (FR) is dropping to near zero during the winter in the CNP simulations, especially in deciduous PFT when leaf-off is triggered (Fig 3). Near-zero winter FR might be preventing uptake of available N during periods of no leaves (or close enough). The big increase in FR each year will add a significant amount of real N demand (i.e. what's required for growth), contributing to the rapid depletion of the store.

We also noticed that the L2FR was resetting to default parameter L2FR after every senescence event. Thus, L2FR value of previous timestep was not used in resource allocation (as intended by subroutine CNPAdjustFrootTargets) in following timestep.

In summary,

call get_curr_date(yr, mon, day, sec)                                       
if (spinup_state == 1 .and. yr .gt. nyears_ad_carbon_only) then             
    call this%CNPAdjustFRootTargets(target_c,target_dcdd)                   
else if (spinup_state /= 1) then                                                                                                                                                                                   
    call this%CNPAdjustFRootTargets(target_c,target_dcdd)                   
end if 

Code 2:

l2fr = currentCohort%l2fr

Figures
image
Fig 1: GPP, NPP, and AR in ad spins for cold deciduousPFT during Carbon only (top) and RD run (bottom). Similar plots are for needleleaf evergreen PFT.

image

Fig 2: GPP, NPP, AR in ad spins for cold-deciduous PFT during RD Run with dynamic L2FR (default) and without dynamic L2FR.

image

Fig 3: Leaf, Fineroot, and Store Carbon during the first 30 years of ad spinups for Carbon only (top), RD (middle), and ECA (bottom) runs for cold-deciduous PFT.

image

Fig 4: GPP, NPP, and AR in ad spins for RD using cold deciduous PFT (top) and needleleaf evergreen PFT (bottom). Similar plots are for ECA.

Collaborators:

Anthony Walker, ORNL (@walkeranthonyp)
Daniel Ricciuto, ORNL (@dmricciuto)

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
  • 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: v2.1.0-13087-ge9afb7cb13

FATES baseline hash-tag: sci.1.68.2_api.31.0.0

Test Output:

@glemieux glemieux added science: allometry science: nutrients science: bug Bugs that are specific to the implementation of a scientific model labels Mar 8, 2025
@glemieux glemieux added software: bug Bug that is specific to software spinup and removed science: bug Bugs that are specific to the implementation of a scientific model labels Mar 10, 2025
@rgknox
Copy link
Contributor

rgknox commented Mar 11, 2025

I think these changes make a lot of sense @sharma-bharat . Both of them. Very excited to see this implemented!!! My CNP work used evergreens, so this never came up in my simulations or testing.

Since FATES code needs to be host agnostic, it can't directly reference ELM data structures. @glemieux and I can work with you to update the code so that we pass the spin-up state and timing information from the host (ELM/CLM) to FATES as an argument.

@sharma-bharat
Copy link
Contributor Author

sharma-bharat commented Mar 11, 2025 via email

@sharma-bharat sharma-bharat changed the title PR for dynamic L2FR Deciduous vegetation declines due to reset in L2FR during leaf-off. Mar 11, 2025
@glemieux glemieux moved this to Finding Reviewers in FATES Pull Request Planning and Status Mar 17, 2025
@glemieux glemieux self-assigned this Mar 17, 2025
@glemieux glemieux moved this from Finding Reviewers to Under Review in FATES Pull Request Planning and Status Mar 24, 2025
use EDPftvarcon, only : EDPftvarcon_inst
use FatesInterfaceTypesMod, only : hlm_regeneration_model

use elm_varctl , only : nyears_ad_carbon_only, spinup_state
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will need to be made agnostic to host land model. Since the different host land models handle the spin up a little differently, I'm going to generate an e3sm PR to add a fates global variable in the interface module to be passed to fates to check here.

Copy link
Contributor Author

@sharma-bharat sharma-bharat Mar 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Gregory for working on it!

Since you are taking a lead on the next step, do need to take any further action on this PR? I do see an option for Resolve conflicts.

@glemieux
Copy link
Contributor

glemieux commented Apr 4, 2025

Status update: This needs testing once sharma-bharat#1 has been merged, which itself needs e3sm to be brought up to date with API39.

@glemieux glemieux moved this from Under Review to Stuck in FATES Pull Request Planning and Status Apr 4, 2025
@sharma-bharat
Copy link
Contributor Author

sharma-bharat commented Apr 4, 2025 via email

stem_drop_fraction = prt_params%phen_stem_drop_fraction(ipft)
l2fr = prt_params%allom_l2fr(ipft)
l2fr = currentCohort%l2fr ! Reading the L2FR from current cohort rather than parameter file
!l2fr = prt_params%allom_l2fr(ipft)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can clean up and remove these comments

@glemieux glemieux moved this from Stuck to Final Testing in FATES Pull Request Planning and Status Apr 23, 2025
@glemieux glemieux moved this from Final Testing to Hold in FATES Pull Request Planning and Status Apr 23, 2025
@glemieux
Copy link
Contributor

glemieux commented May 5, 2025

Status update: This needs testing once sharma-bharat#1 has been merged, which itself needs e3sm to be brought up to date with API39.

@sharma-bharat e3sm is up to date with API 39 now (i.e. E3SM-Project/E3SM#6918 has been merged into e3sm master). I've updated the e3sm pull request that should be used in conjunction with your changes here and the ones @rgknox and I proposed in sharma-bharat#1. Would you test run your branch with sharma-bharat#1 merged in using the e3sm branch in E3SM-Project/E3SM#7182?

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants