-
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
Variable VAI bin widths #752
Conversation
Since we plan on adding a Leaf photosynthetic temperature acclimation timescale parameter as well, it would be nice if these parameter file additions are all grouped together. Makes it easier on existing users to update their files.. |
@@ -795,7 +799,16 @@ subroutine SetFatesGlobalElements(use_fates) | |||
max_comp_per_site = 1 | |||
end if | |||
|
|||
! calculate the bin edges for radiative transfer calculations |
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.
@ckoven , while I feel this is as good a place as any, why did you decide to fill these arrays here? (maybe the answer is, "its as good a place as any...")
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.
Because I couldn't think of a better place to do it?
@ckoven @rosiealice I see that these methods update currentPatch%elai_profile(L,ft,iv) and the like, which are the key arrays that drive the radiative transfer model. It seems, at a glance at least, that the radiative transfer model should be able to handle variable bin widths. Is this a definite, a probably, or something we should test further? I note that in the default parameter file, we maintain constant bin widths which seems like a good place to start. |
This tag is a bug fix. Changes prevented a logic check on hlm_pft_map from being applied when biogeography was not active
Note: the ctsm-side update to remove the |
All expected tests PASS initial fates suite regression tests. There are four cases with DIFFs when compared against the baseline (all others are b4b):
The hydro run is resulting in only very small Results can be found here: |
Updating this to note that I've compared the model dynamics with this and the current main branch and, while not bit-for-bit, the differences appear to be roundoff-level, since the new parameters that control for bin spacing are the same as in the old code. If I update the code to decrease the bin spacing, then differences do emerge as expected. So I think we should integrate this now, which would then allow us to explore the costs and benefits of different bin spacings as a future step. |
I am getting to the point where integrating this would be useful, fwiw... |
This set of changes adds capabilities to track running means (both fixed window and ema) in fates. This requires some information on the model timestep from the HLM, and is thus an API change. This also allows for the fusing and copying of these means at the cohort or patch level.
This PR now corresponds with ctsm PR ESCOMP/CTSM#1562. As a reminder, the original ctsm-side changes where brought in via ESCOMP/CTSM#1540. |
Update: I've retested this after merging ctsm master into ESCOMP/CTSM#1562. The same subset of regression test are not b4b and have similar results as discussed in #752 (comment). Results can be found here: As such, I think we will be good to integrate this once the |
Exact restart fix for fates satellite phenology mode
Final re-test after merging #821 into this PR: Izumi: Cheyenne: |
This code allows for an exponential spacing to bin widths in the VAI (LAI+SAI) calculations. This should allow for higher resolution of the radiative transfer code at the top of the canopy where light levels are higher, but wider bins at the bottom of the canopy where light levels are lower. In principle this should do a few different things:
In discussions with @walkeranthonyp @rgknox @rosiealice we were looking at some different layering options in MAAT. @walkeranthonyp did some initial analyses in MAAT, and more needs to be done on that front to find a good layering that balances cost and accuracy, and to ensure that the same dynamics are at work in FATES.
In the current code, the number of leaf layers is hard-coded in the fortran, but the width of the top VAI bin, as well as the amount by which each subsequent bin is wider than the previous are both moved to the parameter file in order to facilitate experiments to determine what works best. The current default values basically keep the old layering scheme, by setting the width of the top bin width to 1 VAI unit and no change in bin thickness with depth.
fixes #492, since we've decided that a vertically-varying leaf layering system is preferable to a dynamic leaf-layering system.
This has some necessary but minimal HLM-side changes. Currently the CTSM branch is https://github.com/ESCOMP/CTSM/compare/master...ckoven:variable_dinc_2?expand=1 and it mainly adds the VAI bin edges to the history file metadata.
Will update this PR to include CTSM and ELM PRs once it is tested and gets closer to readiness.
Description:
Collaborators:
Expectation of Answer Changes:
Checklist:
Test Results:
CTSM (or) E3SM (specify which) test hash-tag:
CTSM (or) E3SM (specify which) baseline hash-tag:
FATES baseline hash-tag:
Test Output: