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

Add some PREVAH functionalities to H-Land #67

Closed
tyralla opened this issue Apr 15, 2021 · 7 comments
Closed

Add some PREVAH functionalities to H-Land #67

tyralla opened this issue Apr 15, 2021 · 7 comments

Comments

@tyralla
Copy link
Member

tyralla commented Apr 15, 2021

So far (HydPy-Version 4.0), we derived only a single application model from the H-Land model family. H-Land Version 1 is a very close emulation of the HBV96 model. We now start to implement some additional application models, which rely on concepts of other HBV clones.

We first focus on PREVAH. Our goal is to implement a new application model that mostly works like H-Land Version 1 but replaces the HBV96-like upper and the lower zone layer with the corresponding PREVAH concepts.

This issue serves as a notebook to record our design decisions and open questions.

@tyralla
Copy link
Member Author

tyralla commented Apr 15, 2021

I cannot find any hints in the literature, how PREVAH represents water bodies. For now, I assume they are "internal lakes", which are strongly connected to groundwater (as in HBV96). Hence, I add their precipitation to and remove their evaporation from the slow response groundwater reservoir. Thereby, I assume that the same areal fraction (1/9 vs 8/9) holds. Regarding negative groundwater stages due to intense evaporation, I tend to allow it similarly like in H-Land Version 1.

@tyralla
Copy link
Member Author

tyralla commented Apr 15, 2021

HBV96 and PREVAH both differentiate a subbasin into hydrological response units. However, HBV96 does this only for the interception and the soil module. The upper and the lower soil storage are scalar values that apply to the whole subbasin. The reasoning is that we can assume one homogeneous groundwater aquifer for a whole subbasin (more precisely: one aquifer for the upper and one for the lower groundwater). On the other hand, PREVAH applies the HRU concept also "below" the soil.

For now, I tend to the following compromise: I define the upper zone reservoir and the fast response reservoir on the HRU level but both slow response reservoirs on the subbasin level. In this way, we can keep the differences in the nonlinear soil water dynamics intended by PREVAH. And we have one connected deep groundwater aquifer (or actually two of them), allowing for the HBV96-like representation of internal lakes (discussed above).

I think defining subbasin-wide slow response reservoirs does not imply great differences to PREVAH because they are implemented as simple linear storages. However, I am still not familiar with all details, so maybe I miss something.

@tyralla tyralla closed this as completed Apr 15, 2021
@tyralla
Copy link
Member Author

tyralla commented Apr 15, 2021

If I understand correctly, PREVAH always uses "1h" as its internal simulation time step. HBV96 instead has a more variable time step mechanism, but this only concerns the upper zone storage and not, for example, the interception storage.

For now, I ignore this issue and assume all PREVAH equations also work well for other time steps. We should discuss this later.

@tyralla
Copy link
Member Author

tyralla commented Apr 15, 2021

The PREVAH documentation says that surface flow and interflow calculate as follows:

RS = (SUZ_1-SGR) * (1-exp(-1/K0))
RI = SUZ_1 * (1-exp(-1/K1))

But then, updating SUZ could theoretically result in negative values:

SUZ_2 = SUZ_1 + (RS + RI)

Possible solutions:

  1. Apply the equations sequentially
  2. Correct SUZ afterwards, when necessary
  3. RI = min(SUZ_1, SGR) * (1-exp(-1/K1))
  4. Trim K0 and K1, so that (1-exp(-1/K0)) + (1-exp(-1/K1)) < 1

Solution 4 seems to be the most elegant one. For complete safety, we could combine it with solution 2.

@tyralla
Copy link
Member Author

tyralla commented Apr 15, 2021

Regarding groundwater storage and the generation of base flow, the text and the equations of the PREVAH documentation seem to be not in sync (section 4.5.2). I think the equations are more up-to-date, so I prefer to follow them.

Also, the documentation states that "SG1Max is not exceeded (by SG1) during the time step". However, the given equation does not strictly ensure this (for unrealistically low values of K2):

GR1 = min[DP, (SGLMax - SG1)/K2]

Possible solutions:

  1. correct SG1 afterwards when necessary
  2. use an implicit instead of the explicit approach
  3. ensure that K2 > 1

I go with a combination of solution 1 and 3. The smoother solution 2 would only be reasonable when addressing an expected model behaviour.

@tyralla
Copy link
Member Author

tyralla commented Apr 15, 2021

The suspect PREVAH does not use the groundwater discharge differential equations mentioned in its documentation directly (e.g. RG1 = SG1/K2). I instead implement the given analytical solutions for the evolution of the storage content (e.g. SG1(1)=SG(0) * exp(-1/K2) + (1- exp(-1/K2)) * GR1(0->1) * K2) and use their results to infer the correct discharge (RG1(0->1) = SG1(0) + GR1(0->1) - SG1(1)).

@tyralla tyralla reopened this Apr 15, 2021
@tyralla
Copy link
Member Author

tyralla commented Apr 16, 2021

HBV96 allows for a capillary rise from the upper groundwater (UZ) to the soil (SM). L-Land implements the capillary rise process in method Calc_CF_SM_V1; L-Land Version 1 and Version 2 make use of it. I am not aware that PREVAH models the capillary rise too. Hence, I will not include it in the "HBV96-PREVAH application model" for now. Technically, this should not be too hard. But if I understand the documentation of PREVAH correctly, SUZ (which corresponds to HBV96's UZ) represents the water moveable by gravitation temporarily stored within the soil ("SUZ contains ... the fraction the soil moisture content which exceeds the field capacity and contributes to runoff generation"). So, conceptually, adding a flux from SUZ to SM named CF would be wrong.

tyralla added a commit that referenced this issue Apr 16, 2021
…work in progress)

We still need to:
 * discuss some variable names
 * add some `trim` methods
 * check/write the documentation
 * add a figure

`hland_v3` combines concepts from HB96 and PREVAH.
tyralla added a commit that referenced this issue Apr 21, 2021
…epts from HB96 and PREVAH (closes #67). (work in progress)

We still need to:
 * write the documentation of the application model
 * add a figure

This commit also tidies up the general documentation on `hland`, trying to keep everything consistent.
tyralla added a commit that referenced this issue Apr 21, 2021
…epts from HB96 and PREVAH (closes #67). (work in progress)

We still need to:
 * write the documentation of the application model
 * add a figure

This commit also tidies up the general documentation on `hland`, trying to keep everything consistent.
tyralla added a commit that referenced this issue Apr 26, 2021
…epts from HB96 and PREVAH (closes #67). (work in progress)

We still need to:
 * write the documentation of the application model
 * add a figure

This commit also tidies up the general documentation on `hland`, trying to keep everything consistent.
tyralla added a commit that referenced this issue May 11, 2021
…epts from HB96 and PREVAH (closes #67). (work in progress)

We still need to:
 * write the documentation of the application model
 * add a figure

This commit also tidies up the general documentation on `hland`, trying to keep everything consistent.
tyralla added a commit that referenced this issue May 11, 2021
…epts from HB96 and PREVAH (closes #67). (work in progress)

We still need to:
 * write the documentation of the application model
 * add a figure

This commit also tidies up the general documentation on `hland`, trying to keep everything consistent.
tyralla added a commit that referenced this issue May 17, 2021
…epts from HB96 and PREVAH (closes #67). (work in progress)

We still need to:
 * write the documentation of the application model
 * add a figure

This commit also tidies up the general documentation on `hland`, trying to keep everything consistent.
tyralla added a commit that referenced this issue May 21, 2021
…epts from HB96 and PREVAH (closes #67). (work in progress)

We still need to:
 * write the documentation of the application model
 * add a figure

This commit also tidies up the general documentation on `hland`, trying to keep everything consistent.
@tyralla tyralla closed this as completed in be472fb Aug 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant