-
Notifications
You must be signed in to change notification settings - Fork 92
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
Conversation
…rgknox-fix-10day-phen
…hing for dynamics diagnostics
… C parameter for the GDD threshold equation
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 |
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. |
… does not trip immediately after
… related to how status flags were defined
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:
Also, for reference, here is the GDD threshold that GDD is compared against: |
…growing degrees zeroer
…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
…leaf drop on drought deciduous to 1 month
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small typo review
There was a problem hiding this 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.
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)
…nts to status flags.
testing: /gpfs/fs1/scratch/rgknox/clmed-tests/phentests-0519-v3-C27cdc37-Fe1d278f.fates.cheyenne.intel |
resolving merge conflict, last test is now outdated, will also run a 50 year f10 smoke test |
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. |
multi-decade tests pass, running FATES test suite. @glemieux are there any changes left on resolved in your review? |
This looks all good. Approving the changes. |
Expected tests PASS: |
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:
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: