-
Notifications
You must be signed in to change notification settings - Fork 10
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
extraction fix #758
extraction fix #758
Conversation
7cbc3fb
to
9158f92
Compare
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.
Awesome!! This looks great, I just had a couple comments :)
Yeah, I agree...it would entail changing the PrescribedSoil struct to include a function for K_soil(psi) as well, or a timeseries of Ksoil(t) which is consistent with psi_soil(t), which would be made up at this point. We dont really have a use case for it yet. |
Agree. If it is not too difficult, maybe we can change the standalone as well? If it is a bit of work, we can leave it for now since we're focusing on canopy+soil development, which is more aligned to OKRs. |
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.
It looks good to me. Left a few comments.
I think it makes sense to keep PrescribedSoil as-is for now, until we do have a use case that necessitates this change |
Thanks guys! I updated an old issue to have this included: #159 |
@braghiere @juliasloan25 I will extend the run to 365 days (or document why we cant and open an issue, I forget why it didnt run before). would this be ready to merge then? If so, if you approve it now Ill merge it after the last fix to set tf=365 days. I would really like to rethink aspects of our plant hydraulics model thoroughly #159 , but for now want to move forward with what we have |
Yeah, looks good to me! |
4ed399d
to
8208c89
Compare
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.
Looks good. Thanks!
Purpose
Update root extraction so that it tends to zero as the soil dries or freezes.
We have the Darcy flux:
Flux = -K_eff [(psi_canopy - psi_soil)/(z_canopy -z_soil) + 1]
Previously: K_eff = [K_canopy(psi_soil) + K_canopy(psi_canopy)]/2.
Two things have changed: we now use the harmonic mean, and we replace K_canopy(psi_soil) with K_soil(psi_soil). Note that K_soil() and K_canopy() are two different functions.
Currently: K_eff = K_soil(psi_soil) * K_canopy(psi_canopy)/ [K_soil(psi_soil) + K_canopy(psi_canopy)]
So, if K_soil(psi_soil) -> 0, then K_eff -> 0, and the root extraction goes to zero consistently. Although as psi_soil ->0, K_canopy(psi_soil) ->0, it may not drop to zero quickly enough due to the differing functional forms.
Please see CLM:
which is different in that it uses conductances and has canopy -> root, but see Equation 11.16 (harmonic mean) and Equation 11.18 (K_soil in soil layer, i.e. K_soil(psi_soil))
Effect on NaNs:
Global run after soil evaporation fix (very similar to current main):
Global run after these changes:
To-do
Review
Content