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

phenology status timers #468

Merged
merged 32 commits into from
May 6, 2019
Merged

Conversation

rgknox
Copy link
Contributor

@rgknox rgknox commented Jan 27, 2019

Description:

This changeset contains refactors to the phenology timing routine, additions to the restart for counting cold days, and new history diagnostics to help track site level status for both cold and drought phenology. The vector contiaining the last 10 days of vegetation temperature was given a more discriptive name.

Additionally, since status diagnostics are relevant only to FATES columns, averaging that would ignore non-fates land columns instead of treating them as zeros was desired. This can be achieved by simply using the clm_spval as the flushval.

Specifics on phenology timing:

For both cold and drought deciduous status timers, the "date of leaves on" and "date of leaves off" is set by the integer model day, and thus the time elapsed since those days is the difference between the model day and the saved values.

For cold phenology:

The GDD counting was correctly calculating GDD days, however we were not zero-ing the GDD counter after leaves had flushed, and thus Northern Hemisphere sites would have ever-increasing GDDs late into the the year, and would immediately re-flush in the fall immediately after they dropped their leaves.

The "C" parameter for the GDD threshold was changed to -0.01 to match the Botta et al. 2000 paper.

An additional state of "0" was added, to accompany 1 (leaves off) and 2 (leaves on). 0 status indicates the plants are in a "leaf off" status due to time exceedance without a cold-day. Functionally, a 0 status site operates the same as a 1-status site, but the differentiation is to help identify those sites that have leaves off because they are cold and those sites that have leaves off because they are not classified as cold.

For drought phenology:

The drought phenology algorithm is more or less unchanged in terms of how the algorithm works, the timers have been refactored to use absolute counting days instead of the day-of-year for simplicity, but the results should be the same.

Collaborators:

@jkshuman , @ckoven, Bill Riley

Expectation of Answer Changes:

See above, cold deciduous should be affected, drought deciduous should not. Not B4B with base.

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:

TBD

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

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

FATES baseline hash-tag:

Test Output:

@rgknox rgknox added the status: Not Ready The author is signaling that this PR is a work in progress and not ready for integration. label Jan 27, 2019
@rgknox
Copy link
Contributor Author

rgknox commented Jan 27, 2019

Here is a video that shows the daily progression of the cold-deciduous flags over the course of 2 years. Note that the first 300+ days were removed because the first year has some expectedly strange behavior due to fact that the time-since-last leaf drop or leaf flush has no precedent.

https://drive.google.com/file/d/13zB1LMJOe0W1G8be9p4w9IRVMnOa1KiO/view?usp=sharing

@jkshuman
Copy link
Contributor

The video is great. Thanks for including that. @rgknox I am happy to look the code over, but will take me a bit to find time.

@rgknox
Copy link
Contributor Author

rgknox commented Feb 12, 2019

I've made some updates. And a new video here: https://drive.google.com/file/d/1gRqFRlUS1kCZ55E6hubZEQMrLhBxAP1q/view?usp=sharing

A note about the status flags:

cold status          ! are leaves in this pixel on or off for cold deciduous
                           ! 0 = this site has not experienced a cold period over at least
                           !       400 days, leaves are dropped and flagged as non-cold region
                           ! 1 = this site is in a cold-state where leaves should have fallen
                           ! 2 = this site is in a warm-state where leaves are allowed to flush

drought status    ! are leaves in this pixel on or off for drought decid
                           ! 0 = leaves off due to time exceedance
                           ! 1 = leaves off due to moisture avail
                           ! 2 = leaves on due to moisture avail
                           ! 3 = leaves on due to time exceedance

Also, for reference, here is the GDD threshold that GDD is compared against:
https://drive.google.com/file/d/1YdNz_TOXss788Kuf6cKQE3zQSO3oVq1V/view?usp=sharing

…ead of the model day. Added protections that prevent leaf-flushing on drought decid trees from occuring within x (default=70) days from a forced leaf drop
@rgknox rgknox removed the status: Not Ready The author is signaling that this PR is a work in progress and not ready for integration. label Feb 21, 2019
@rgknox rgknox requested a review from rosiealice February 21, 2019 20:57
@rgknox
Copy link
Contributor Author

rgknox commented Mar 1, 2019

FYI: I'm holding on this integration until I can perform long-term global tests with the default 14 pft testing file. Bug fixing related to issue #494 is required before I can do this.

…nd tracking number of chilling and number of cold days
@rgknox rgknox requested a review from glemieux April 12, 2019 18:59
Copy link
Contributor

@glemieux glemieux left a comment

Choose a reason for hiding this comment

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

Small typo review

biogeochem/EDPhysiologyMod.F90 Outdated Show resolved Hide resolved
Copy link
Contributor

@glemieux glemieux left a comment

Choose a reason for hiding this comment

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

Noted a small typo to correct and asked a couple questions about changes made.

main/EDTypesMod.F90 Outdated Show resolved Hide resolved
biogeochem/EDPhysiologyMod.F90 Outdated Show resolved Hide resolved
biogeochem/EDPhysiologyMod.F90 Outdated Show resolved Hide resolved
biogeochem/EDPhysiologyMod.F90 Outdated Show resolved Hide resolved
biogeochem/EDPhysiologyMod.F90 Outdated Show resolved Hide resolved
main/EDInitMod.F90 Outdated Show resolved Hide resolved
main/FatesHistoryInterfaceMod.F90 Outdated Show resolved Hide resolved
Fixed a few typos and some artifacts where `itrue` was changed to 1.  Refactored the `cstatus` and `dstatus` checks to use any for a few cases.  There might be more we can change.

Fixes: PR NGEET#468

User interface changes?: No

Code review: Ryan Knox

Testing: none, not expected to compile
Updates to PR NGEET#468 (phenology status timers)
@rgknox
Copy link
Contributor Author

rgknox commented Apr 30, 2019

testing: /gpfs/fs1/scratch/rgknox/clmed-tests/phentests-0519-v3-C27cdc37-Fe1d278f.fates.cheyenne.intel

@rgknox
Copy link
Contributor Author

rgknox commented Apr 30, 2019

resolving merge conflict, last test is now outdated, will also run a 50 year f10 smoke test

@rgknox
Copy link
Contributor Author

rgknox commented May 2, 2019

I think this one is pretty close to being ready. I ran a multi-decade test, but then accidentally over-wrote everything with another test (which I forgot to re-name), but that simulation was well beyond 30 years at that point (on the f10 grid). Hopefully the new simulations will be done by tomorrow.

@rgknox
Copy link
Contributor Author

rgknox commented May 3, 2019

multi-decade tests pass, running FATES test suite. @glemieux are there any changes left on resolved in your review?

@glemieux
Copy link
Contributor

glemieux commented May 3, 2019

This looks all good. Approving the changes.

@rgknox
Copy link
Contributor Author

rgknox commented May 3, 2019

Expected tests PASS:
/gpfs/fs1/scratch/rgknox/clmed-tests/phentests-0519-v4-C27cdc37-F4b7293d.fates.cheyenne.intel

@glemieux glemieux merged commit d2f0907 into NGEET:master May 6, 2019
@rgknox rgknox deleted the rgknox-fix-10day-phen branch October 31, 2023 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants