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

Reservoir level simulation #2

Open
casadoj opened this issue Apr 30, 2024 · 1 comment
Open

Reservoir level simulation #2

casadoj opened this issue Apr 30, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@casadoj
Copy link
Owner

casadoj commented Apr 30, 2024

Add to the class Reservoir a method that estimates reservoir level from storage as used in Shrestha et al. (2024).

The interest would be to compare the results against observations taken either from in situ instruments (level is easier to obtain than volume) or satellite altimetry.

To estimate reservoir level from the simulated volume we can approximate the reservoir shape to a triangular pyramid (Liebe 2005) as done by Shrestha (2024), Sadki (2023), Shin (2019). Under this assumption, there is a shape coefficient $\alpha$ that represents at the same time a relation between the current reservoir depth and its maximum depth, and the current reservoir storage and its total capacity:

$$\alpha = \frac{h}{Height} = \left( \frac{v}{Capacity} \right)^{1/3}$$

where $h$ is the estimated water depth and $v$ the model reservoir storage. From that equation we can estimate the current water depth $h$ (the only unknown) and use it to estimate the current reservoir level ($l$):

$$h = Height \cdot \alpha = Height \cdot \left( \frac{v}{Capacity} \right)^{1/3}$$

$$l = h + Z$$

Therefore, we need three attributes that can be extracted from GRanD:

  • Dam height (DAM_HGT_M)
  • Reservoir capacity (CAP_MCM)
  • Altitude (ELEV_MASL). If the altitude corresponds to the river bed, the equation above applies. If it refers to the dam crest, the equation would be:
    $$l = Z - (Height - h)$$
@casadoj casadoj changed the title Do we want to put out reservoir level in LISFLOOD? Reservoir level simulation Aug 2, 2024
@casadoj casadoj added the enhancement New feature or request label Aug 2, 2024
@casadoj
Copy link
Owner Author

casadoj commented Aug 2, 2024

I've created the method estimate_level() in the class Basemodel.

Another option would have been to define two new attributes of the Basemodel ("elev_masl" and "height_m") and compute the level in the timestep() or simulate() methods.

@casadoj casadoj closed this as completed Aug 2, 2024
@casadoj casadoj reopened this Aug 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant