Skip to content

Sodemann et al. (2008) moisture uptake method#59

Open
zhx215 wants to merge 1 commit into
mscross:masterfrom
zhx215:master
Open

Sodemann et al. (2008) moisture uptake method#59
zhx215 wants to merge 1 commit into
mscross:masterfrom
zhx215:master

Conversation

@zhx215
Copy link
Copy Markdown

@zhx215 zhx215 commented Jun 8, 2019

In Sodemann et al. (2008), they did not discount previous dq at h = 0 (see table 1), but in the current code it did get discounted. If the current code was applied to data shown in table 1 of that publication, then dq values at -18h, -36h, and -48h, would be discounted by precipitation at 0h. Then the dq values will change from 0.3, 1.380, 0.736 to 0.242, 1.115, 0.594. This commit will keep dq discounting procedure strictly as same as Sodemann et al. (2008).

However, the reason why Sodemann did not include precipitation discounting for dq at 0h is unknown. Discounting or not at 0h is not important, and does make too much difference in results.

In Sodemann et al. (2008), they did not discount previous dq at h = 0 (see table 1), but in the current code it did get discounted. If the current code was applied to data shown in table 1 of that publication, then dq values at -18h, -36h, and -48h, would be discounted by precipitation at 0h. Then the dq values will change from 0.3, 1.380, 0.736 to 0.242, 1.115, 0.594. This commit will keep dq discounting procedure strictly as same as Sodemann et al. (2008).

However, the reason why Sodemann did not include precipitation discounting for dq at 0h is unknown. Discounting or not at 0h is not important, and does make too much difference in results.
@mscross
Copy link
Copy Markdown
Owner

mscross commented Jun 11, 2019

Thanks for bringing this to my attention, I never noticed that Sodemann et al. didn't discount previous dq when t=0. That kind of seems like an oversight to me. If t=0 has dq_initial > evaporation, do Sodemann et al adjust the previous 'above' and 'below' fractions like PySPLIT does in lines 386-390 or do they skip that too?

I think it would be valuable to keep the original behavior as well as allow for following the Sodemann et al procedure exactly. It would be easy to do by introducing a new kwarg, something like adjustdq_iftime0, where True is the original PySPLIT behavior and False is the Sodemann behavior; and adding an or clause to your if statement:

if self.uptake.loc[w, 'Timestep'] != 0 or adjustdq_ift0:

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.

2 participants