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

Multiple updates to drought deciduous phenology #801

Closed
wants to merge 21 commits into from

Conversation

mpaiao
Copy link
Contributor

@mpaiao mpaiao commented Oct 30, 2021

Added new options and controls for drought deciduous phenology

Description:

First set of changes in the drought deciduous phenology to improve its predictability.

  1. Implemented option to drive leaves on / leaves off using soil matric potential instead of soil water content, which is more intuitive for setting up thresholds. The choice is controlled by fates_phen_drought_threshold: when it is positive, it continues to use the soil volumetric water content (m3/m3), and when it is negative, it uses soil matric potential (in mm).
  2. When drought-deciduous leaves are off, the plant now stops allocating carbon to fine roots to reduce carbon losses when carbon balance is necessarily non-positive.
  3. Revised variable sapw_memory and struct_memory. The name referred to the target value, but the variable was storing the losses, and thus inconsistent with leafmemory (formerly laimemory, see Replaced variable laimemory with leafmemory #865). All of these, along with the new fnrtmemory now store the carbon pool prior to leaf shedding.
  4. The drought-deciduous status is still done at the site level but now it is PFT-dependent because the root distribution is PFT dependent. This required turning a few site-level variables into site x PFT.
  5. Sub-routine phenology_leafonoff (EDPhysiologyMod.F90) was rewritten to reduce duplicated code. Most of the steps for cold deciduous and drought deciduous were the same. The revised routine first checks whether or not it is time o flush or shed leaves, then it uses a common set of commands.

Collaborators:

Discussions with @rgknox @ckoven @rosiealice @jkshuman @XiulinGao

Expectation of Answer Changes:

These changes should affect the code when running with drought deciduous phenology. The code now uses a different approach to find moisture threshold (rooting zone and optionally, matric potential), and the carbon allocation strategies changed during the leaf-off periods.

Checklist:

  • My change requires a change to the documentation.
  • I have updated the in-code documentation .AND. (the technical note .OR. the wiki) accordingly.
  • I have read the CONTRIBUTING document.
  • FATES PASS/FAIL regression tests were run
  • If answers were expected to change, evaluation was performed and provided

Test Results:

CTSM (or) E3SM (specify which) test hash-tag:

CTSM (or) E3SM (specify which) baseline hash-tag:

FATES baseline hash-tag:

Test Output:

mpaiao added 18 commits August 12, 2021 23:17
1. Bug fix in DailyPRTAllometricCarbon (parteh/PRTAllometricCarbonMod.F90). When
   allocating to different tissues, the code was subtracting allocation of tissues before
   calculating the amount for the next tissue, potentially under-allocating carbon to fine
   roots.
2. Renamed variable laimemory with leafmemory. We were never tracking the LAI, but leaf
   carbon, and thus the name is dangerously misleading.
3. Implemented an option carbon allocation routine (DailyPRTAllometricCarbonSimpler in
   parteh/PRTAllometricCarbonMod.F90).  In this routine, I applied much simpler rules for
   maintenance allocation: it simply checks how much each pool is in deficit, and allocates
   carbon (storage + carbon_balance) to the pools according to the debt. If there is any
   carbon left, then the plant finishes filling the storage pool and then allocates to
   growth.
…s predictability.

1. Implemented option to drive leaves on / leaves off using soil matric potential instead
   of soil water content, which is more intuitive for setting up thresholds.  The choice
   is controlled by fates_phen_drought_threshold: when it is positive, it continues to use
   the soil volumetric water content (m3/m3), and when it is negative, it uses soil matric
   potential (in mm).
2. When drought-deciduous leaves are off, the plant now stops allocating carbon to any
   living tissue, to reduce carbon losses when carbon balance is necessarily non-positive.
3. The drought-deciduous status is still done at the site level but now it is
   PFT-dependent because the root distribution is PFT dependent. This required turning
   5 site-level variables into site x PFT.
4. Sub-routine phenology_leafonoff (EDPhysiologyMod.F90) was rewritten to reduce duplicated
   code. Most of the steps for cold deciduous and drought deciduous were the same.  The
   revised routine first checks whether or not it is time o flush or shed leaves, then it
   uses a common set of commands.
…efinitions of

sapwood and structural memory.
…f with end select).

And now all tests for hlm_parteh_mode use select case, which is safer for options in any
case.
I updated the soil moisture / soil matric potential variable to skip the topmost
layer. I did not change the rooting depth profile, instead I simply ignored the
contribution of the top most layer. This layer dries out rather quickly and experience
very negative values, which ultimately keeps plants under "leaves off" state for too long.


! Parameter of drought decid leaf loss in mm in top layer...FIX(RF,032414)
! Parameter of drought decid leaf loss in mm in top layer...FIX(RF,032414)
Copy link
Contributor

Choose a reason for hiding this comment

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

I believe that this might indeed be the fix to this, a mere 8 years later...



! Parameter of drought decid leaf loss in mm in top layer...FIX(RF,032414)
! Parameter of drought decid leaf loss in mm in top layer...FIX(RF,032414)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
! Parameter of drought decid leaf loss in mm in top layer...FIX(RF,032414)
! Parameter of drought decid leaf loss in mm in top layer...FIX(RF,032414)

Comment on lines 951 to 958
! Why don't the drought deciduous trees grow in the North?
! Is cold decidousness maybe even the same as drought deciduosness there (and so does this
! distinction actually matter??)....
! MLO. They are probably not the same: unlike cold deciduous temperatures are high when
! drought deciduous leaves are off, which means that their maintenance respiration is high
! during the leaf-off season. For them to be viable, we may need different allocation
! strategies so they don't exhaust their storage to maintain fine roots and sapwood.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
! Why don't the drought deciduous trees grow in the North?
! Is cold decidousness maybe even the same as drought deciduosness there (and so does this
! distinction actually matter??)....
! MLO. They are probably not the same: unlike cold deciduous temperatures are high when
! drought deciduous leaves are off, which means that their maintenance respiration is high
! during the leaf-off season. For them to be viable, we may need different allocation
! strategies so they don't exhaust their storage to maintain fine roots and sapwood.
! Why don't the drought deciduous trees grow in the North?
! Is cold decidousness maybe even the same as drought deciduosness there (and so does this
! distinction actually matter??)....
! MLO. They are probably not the same: unlike cold deciduous temperatures are high when
! drought deciduous leaves are off, which means that their maintenance respiration is high
! during the leaf-off season. For them to be viable, we may need different allocation
! strategies so they don't exhaust their storage to maintain fine roots and sapwood.

@glemieux glemieux added the PR status: Not Ready The author is signaling that this PR is a work in progress and not ready for integration. label Nov 15, 2021
Comment on lines 951 to 958
! Why don't the drought deciduous trees grow in the North?
! Is cold decidousness maybe even the same as drought deciduosness there (and so does this
! distinction actually matter??)....
! MLO. They are probably not the same: unlike cold deciduous temperatures are high when
! drought deciduous leaves are off, which means that their maintenance respiration is high
! during the leaf-off season. For them to be viable, we may need different allocation
! strategies so they don't exhaust their storage to maintain fine roots and sapwood.

Copy link
Contributor

Choose a reason for hiding this comment

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

Can probably delete this musing...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

agree

! Compare the moisture with the threshold.
if ( ED_val_phen_drought_threshold >= 0. ) then
! Liquid volume in reference layer (m3/m3)
smoist_below_threshold = mean_10day_liqvol < ED_val_phen_drought_threshold
Copy link
Contributor

Choose a reason for hiding this comment

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

how does Fortran parse the < as different from a - ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I set this to be a logical variable, so it's smoist_below_threshold = .true. when the 10-day average is less the threshold.

! the end of its useful life. A*, E*
! i.e. Are the leaves rouhgly at the end of their lives?
! LEAF OFF: DROUGHT DECIDUOUS LIFESPAN - if the leaf gets to
! the end of its useful life. A*, E*
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
! the end of its useful life. A*, E*
! the end of its useful life.


elseif (prt_params%stress_decid(ipft) == itrue ) then ! Drought deciduous
! A. Is this the time for DROUGHT LEAVES to switch to ON?
is_flushing_time = ( currentSite%dstatus(ipft) == phen_dstat_moiston .or. & ! Conditions are sufficiently moist
Copy link
Contributor

Choose a reason for hiding this comment

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

While this is being overhauled, is there an argument for making leaves come on over some period of time rather than just on one day? Not that it's 100% necessary, just thought I'd mention it...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think this will be one of the options I am going to try (along with other approaches to decide abscission and flushing times). One way of doing it would be similar to ED-2.2, where we have two moisture thresholds. The maximum leaf biomass goes from zero at the lower threshold to one at the upper threshold.

…eciduous phenology.

A few new settings were included in fates_params_default.cdl to account for deciduousness:
1. The drought deciduous model is set by fates_phen_drought_model:
   0 - FATES uses the default approach.
   1 - FATES uses the semi-deciduous approach.
2. If fates_phen_drought_model = 1, the deciduousness will be defined by two soil moisture (or soil matric potential) thresholds.
   fates_phen_drought_threshold - Lower threshold, below which plants will be completely leafless.
   fates_phen_moist_threshold - Upper threshold, above which plants will have fully flushed canopy.
3. Regardless of the drought deciduous model, a new variable fates_phen_fnrt_drop_fraction was included to allow drought-deciduous plants to actively "shed" fine roots.
   0 - Fine roots will not be shed (though the code will stop allocating to fine roots if plants are shedding leaves).
   1 - Fine roots will be shed at the same rate as leaves.
   Values between 0 and 1 are accepted and will allow for slower shedding of fine roots.

This option allows for partial leaf abscission and flushing. Complete loss of leaf canopy
will occur when soil moisture/matric potent
mpaiao added a commit to mpaiao/fates that referenced this pull request Apr 6, 2022
The target leaf carbon should be zero when leaves are off.  This was accidentally removed when deleting some code that should be incorporated when pull request NGEET#801 (Multiple updates to drought deciduous phenology) is incorporated.
@glemieux glemieux linked an issue Jul 28, 2022 that may be closed by this pull request
@mpaiao mpaiao mentioned this pull request Aug 4, 2022
4 tasks
@glemieux glemieux linked an issue Nov 17, 2022 that may be closed by this pull request
@mpaiao mpaiao closed this Dec 4, 2022
@mpaiao mpaiao deleted the drgt-decid branch December 4, 2022 18:03
@glemieux
Copy link
Contributor

glemieux commented Dec 5, 2022

@mpaiao are you going to open up a new version of this?

@mpaiao
Copy link
Contributor Author

mpaiao commented Dec 5, 2022

@glemieux Ops, I didn't notice that my branch clean up deleted the branch and closed the PR. But yes, I re-implemented my drought deciduous changes on a separate branch, in a way that it should be easier to merge into the mainline.

I think this new branch still needs some testing, and I will probably make some additional edits (a few global parameters should become PFT-specific), but let me create a new PR using that branch instead, so the transition is documented.

@mpaiao mpaiao mentioned this pull request Dec 5, 2022
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement PR status: Not Ready The author is signaling that this PR is a work in progress and not ready for integration.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Drought deciduous trees and changing soil moisture initialization
3 participants