dam_v002

Version 2 of HydPy-Dam.

Application model dam_v002 is a simplification of dam_v001. While most functionlities are identical, dam_v002 does not calculate RequiredRemoteRelease on its own, but picks this information from the simulation results of another model.

The following explanations focus on this difference. For further information on the usage of dam_v002 please read the documentation on model dam_v001.

Integration tests

Note

When new to HydPy, consider reading section How to understand integration tests? first.

Each of the following examples is a repetition of an example performed to demonstrate the functionality of model dam_v001. To achieve comparability, identical parameter values and initial conditions are set. Additionally, the values of sequence RequiredRemoteRelease calculated by dam_v001 in the respective example are used as input data of dam_v002 via the node object remote. (Note that this nodes handles variable D). Due to the limit precision of the copy-pasted RequiredRemoteRelease values, there are some tiny deviations between the results of both models.

Recalculation of example 7

The general time- and space-related set up is identical, except that no other models need to bee included to construct meaningful examples:

>>> from hydpy import pub
>>> pub.timegrids = "01.01.2000", "21.01.2000",  "1d"
>>> from hydpy import Node
>>> input_ = Node("input_")
>>> output = Node("output")
>>> remote = Node("remote", variable="D")
>>> from hydpy import Element
>>> dam = Element("dam", inlets=input_, outlets=output, receivers=remote)
>>> from hydpy.models.dam_v002 import *
>>> parameterstep("1d")
>>> dam.model = model

Next, all initial conditions and the external input time series data are defined. Note that the first value of RequiredRemoteRelease calculated by model dam_v001 is inserted as an initial condition via the test object and all other values are passed to the series object of node remote:

>>> from hydpy import IntegrationTest
>>> IntegrationTest.plotting_options.activated = (
...     fluxes.inflow, fluxes.outflow)
>>> test = IntegrationTest(
...     dam,
...     inits=((states.watervolume, 0.0),
...            (logs.loggedrequiredremoterelease, 0.005)))
>>> test.dateformat = "%d.%m."
>>> input_.sequences.sim.series = 1.0
>>> remote.sequences.sim.series = [
...     0.008588, 0.010053, 0.013858, 0.027322, 0.064075,
...     0.235523, 0.470414, 0.735001, 0.891263, 0.696325,
...     0.349797, 0.105231, 0.111928, 0.240436, 0.229369,
...     0.058622, 0.016958, 0.008447, 0.004155, 0.0]

Except that dam_v002 implements less parameters than dam_v001, all parameter settings are identical:

>>> watervolume2waterlevel(
...     weights_input=1.0, weights_output=0.25,
...     intercepts_hidden=0.0, intercepts_output=0.0,
...     activation=0)
>>> waterlevel2flooddischarge(ann(
...     weights_input=0.0, weights_output=0.0,
...     intercepts_hidden=0.0, intercepts_output=0.0))
>>> catchmentarea(86.4)
>>> neardischargeminimumthreshold(0.2)
>>> neardischargeminimumtolerance(0.2)
>>> waterlevelminimumthreshold(0.0)
>>> waterlevelminimumtolerance(0.0)
>>> restricttargetedrelease(True)
>>> parameters.update()

The following test results confirm that both models behave identical under low flow conditions both when there is a “near” and/or a “remote” need for water supply:

>>> test("dam_v002_ex7")
|   date | inflow | requiredremoterelease | requiredrelease | targetedrelease | actualrelease | flooddischarge |  outflow | watervolume | input_ |   output |   remote |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 01.01. |    1.0 |                 0.005 |        0.210526 |        0.210526 |      0.201754 |            0.0 | 0.201754 |    0.068968 |    1.0 | 0.201754 | 0.008588 |
| 02.01. |    1.0 |              0.008588 |         0.21092 |         0.21092 |       0.21092 |            0.0 |  0.21092 |    0.137145 |    1.0 |  0.21092 | 0.010053 |
| 03.01. |    1.0 |              0.010053 |        0.211084 |        0.211084 |      0.211084 |            0.0 | 0.211084 |    0.205307 |    1.0 | 0.211084 | 0.013858 |
| 04.01. |    1.0 |              0.013858 |        0.211523 |        0.211523 |      0.211523 |            0.0 | 0.211523 |    0.273432 |    1.0 | 0.211523 | 0.027322 |
| 05.01. |    1.0 |              0.027322 |        0.213209 |        0.213209 |      0.213209 |            0.0 | 0.213209 |     0.34141 |    1.0 | 0.213209 | 0.064075 |
| 06.01. |    1.0 |              0.064075 |        0.219043 |        0.219043 |      0.219043 |            0.0 | 0.219043 |    0.408885 |    1.0 | 0.219043 | 0.235523 |
| 07.01. |    1.0 |              0.235523 |        0.283419 |        0.283419 |      0.283419 |            0.0 | 0.283419 |    0.470798 |    1.0 | 0.283419 | 0.470414 |
| 08.01. |    1.0 |              0.470414 |        0.475211 |        0.475211 |      0.475211 |            0.0 | 0.475211 |    0.516139 |    1.0 | 0.475211 | 0.735001 |
| 09.01. |    1.0 |              0.735001 |         0.73528 |         0.73528 |       0.73528 |            0.0 |  0.73528 |    0.539011 |    1.0 |  0.73528 | 0.891263 |
| 10.01. |    1.0 |              0.891263 |        0.891314 |        0.891314 |      0.891314 |            0.0 | 0.891314 |    0.548402 |    1.0 | 0.891314 | 0.696325 |
| 11.01. |    1.0 |              0.696325 |         0.69675 |         0.69675 |       0.69675 |            0.0 |  0.69675 |    0.574602 |    1.0 |  0.69675 | 0.349797 |
| 12.01. |    1.0 |              0.349797 |        0.366407 |        0.366407 |      0.366407 |            0.0 | 0.366407 |    0.629345 |    1.0 | 0.366407 | 0.105231 |
| 13.01. |    1.0 |              0.105231 |        0.228241 |        0.228241 |      0.228241 |            0.0 | 0.228241 |    0.696025 |    1.0 | 0.228241 | 0.111928 |
| 14.01. |    1.0 |              0.111928 |        0.230054 |        0.230054 |      0.230054 |            0.0 | 0.230054 |    0.762548 |    1.0 | 0.230054 | 0.240436 |
| 15.01. |    1.0 |              0.240436 |        0.286374 |        0.286374 |      0.286374 |            0.0 | 0.286374 |    0.824205 |    1.0 | 0.286374 | 0.229369 |
| 16.01. |    1.0 |              0.229369 |        0.279807 |        0.279807 |      0.279807 |            0.0 | 0.279807 |     0.88643 |    1.0 | 0.279807 | 0.058622 |
| 17.01. |    1.0 |              0.058622 |         0.21805 |         0.21805 |       0.21805 |            0.0 |  0.21805 |    0.953991 |    1.0 |  0.21805 | 0.016958 |
| 18.01. |    1.0 |              0.016958 |        0.211893 |        0.211893 |      0.211893 |            0.0 | 0.211893 |    1.022083 |    1.0 | 0.211893 | 0.008447 |
| 19.01. |    1.0 |              0.008447 |        0.210904 |        0.210904 |      0.210904 |            0.0 | 0.210904 |    1.090261 |    1.0 | 0.210904 | 0.004155 |
| 20.01. |    1.0 |              0.004155 |        0.210435 |        0.210435 |      0.210435 |            0.0 | 0.210435 |    1.158479 |    1.0 | 0.210435 |      0.0 |
Click here to see the graph

Recalculation of example 8.1

The next recalculation confirms that the restriction on releasing water when there is little inflow works as explained for model dam_v001:

>>> input_.sequences.sim.series[10:] = 0.1
>>> remote.sequences.sim.series = [
...     0.008746, 0.010632, 0.015099, 0.03006, 0.068641,
...     0.242578, 0.474285, 0.784512, 0.95036, 0.35,
...     0.034564, 0.299482, 0.585979, 0.557422, 0.229369,
...     0.142578, 0.068641, 0.029844, 0.012348, 0.0]
>>> neardischargeminimumtolerance(0.0)
>>> test("dam_v002_ex8_1")
|   date | inflow | requiredremoterelease | requiredrelease | targetedrelease | actualrelease | flooddischarge |  outflow | watervolume | input_ |   output |   remote |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 01.01. |    1.0 |                 0.005 |             0.2 |             0.2 |      0.191667 |            0.0 | 0.191667 |     0.06984 |    1.0 | 0.191667 | 0.008746 |
| 02.01. |    1.0 |              0.008746 |             0.2 |             0.2 |           0.2 |            0.0 |      0.2 |     0.13896 |    1.0 |      0.2 | 0.010632 |
| 03.01. |    1.0 |              0.010632 |             0.2 |             0.2 |           0.2 |            0.0 |      0.2 |     0.20808 |    1.0 |      0.2 | 0.015099 |
| 04.01. |    1.0 |              0.015099 |             0.2 |             0.2 |           0.2 |            0.0 |      0.2 |      0.2772 |    1.0 |      0.2 |  0.03006 |
| 05.01. |    1.0 |               0.03006 |             0.2 |             0.2 |           0.2 |            0.0 |      0.2 |     0.34632 |    1.0 |      0.2 | 0.068641 |
| 06.01. |    1.0 |              0.068641 |             0.2 |             0.2 |           0.2 |            0.0 |      0.2 |     0.41544 |    1.0 |      0.2 | 0.242578 |
| 07.01. |    1.0 |              0.242578 |        0.242578 |        0.242578 |      0.242578 |            0.0 | 0.242578 |    0.480881 |    1.0 | 0.242578 | 0.474285 |
| 08.01. |    1.0 |              0.474285 |        0.474285 |        0.474285 |      0.474285 |            0.0 | 0.474285 |    0.526303 |    1.0 | 0.474285 | 0.784512 |
| 09.01. |    1.0 |              0.784512 |        0.784512 |        0.784512 |      0.784512 |            0.0 | 0.784512 |    0.544921 |    1.0 | 0.784512 |  0.95036 |
| 10.01. |    1.0 |               0.95036 |         0.95036 |         0.95036 |       0.95036 |            0.0 |  0.95036 |     0.54921 |    1.0 |  0.95036 |     0.35 |
| 11.01. |    0.1 |                  0.35 |            0.35 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 | 0.034564 |
| 12.01. |    0.1 |              0.034564 |             0.2 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 | 0.299482 |
| 13.01. |    0.1 |              0.299482 |        0.299482 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 | 0.585979 |
| 14.01. |    0.1 |              0.585979 |        0.585979 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 | 0.557422 |
| 15.01. |    0.1 |              0.557422 |        0.557422 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 | 0.229369 |
| 16.01. |    0.1 |              0.229369 |        0.229369 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 | 0.142578 |
| 17.01. |    0.1 |              0.142578 |             0.2 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 | 0.068641 |
| 18.01. |    0.1 |              0.068641 |             0.2 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 | 0.029844 |
| 19.01. |    0.1 |              0.029844 |             0.2 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 | 0.012348 |
| 20.01. |    0.1 |              0.012348 |             0.2 |             0.1 |           0.1 |            0.0 |      0.1 |     0.54921 |    0.1 |      0.1 |      0.0 |
Click here to see the graph

Recalculation of example 10

The last recalculation for low flow conditions deals with a case where the available water storage is too limited to supply enough discharge:

>>> input_.sequences.sim.series = numpy.linspace(0.2, 0.0, 20)
>>> neardischargeminimumthreshold(0.0)
>>> waterlevelminimumtolerance(0.01)
>>> waterlevelminimumthreshold(0.005)
>>> remote.sequences.sim.series = [
...     0.01232, 0.029323, 0.064084, 0.120198, 0.247367,
...     0.45567, 0.608464, 0.537314, 0.629775, 0.744091,
...     0.82219, 0.841916, 0.701812, 0.533258, 0.351863,
...     0.185207, 0.107697, 0.055458, 0.025948, 0.0]
>>> test("dam_v008_ex10")
|   date |   inflow | requiredremoterelease | requiredrelease | targetedrelease | actualrelease | flooddischarge |  outflow | watervolume |   input_ |   output |   remote |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 01.01. |      0.2 |                 0.005 |           0.005 |           0.005 |      0.001282 |            0.0 | 0.001282 |    0.017169 |      0.2 | 0.001282 |  0.01232 |
| 02.01. | 0.189474 |               0.01232 |         0.01232 |         0.01232 |      0.007624 |            0.0 | 0.007624 |    0.032881 | 0.189474 | 0.007624 | 0.029323 |
| 03.01. | 0.178947 |              0.029323 |        0.029323 |        0.029323 |      0.025921 |            0.0 | 0.025921 |    0.046103 | 0.178947 | 0.025921 | 0.064084 |
| 04.01. | 0.168421 |              0.064084 |        0.064084 |        0.064084 |      0.062021 |            0.0 | 0.062021 |    0.055296 | 0.168421 | 0.062021 | 0.120198 |
| 05.01. | 0.157895 |              0.120198 |        0.120198 |        0.120198 |      0.118479 |            0.0 | 0.118479 |    0.058701 | 0.157895 | 0.118479 | 0.247367 |
| 06.01. | 0.147368 |              0.247367 |        0.247367 |        0.247367 |      0.242243 |            0.0 | 0.242243 |    0.050504 | 0.147368 | 0.242243 |  0.45567 |
| 07.01. | 0.136842 |               0.45567 |         0.45567 |         0.45567 |      0.397328 |            0.0 | 0.397328 |    0.027998 | 0.136842 | 0.397328 | 0.608464 |
| 08.01. | 0.126316 |              0.608464 |        0.608464 |        0.608464 |      0.290762 |            0.0 | 0.290762 |     0.01379 | 0.126316 | 0.290762 | 0.537314 |
| 09.01. | 0.115789 |              0.537314 |        0.537314 |        0.537314 |      0.154283 |            0.0 | 0.154283 |    0.010464 | 0.115789 | 0.154283 | 0.629775 |
| 10.01. | 0.105263 |              0.629775 |        0.629775 |        0.629775 |      0.138519 |            0.0 | 0.138519 |    0.007591 | 0.105263 | 0.138519 | 0.744091 |
| 11.01. | 0.094737 |              0.744091 |        0.744091 |        0.744091 |      0.126207 |            0.0 | 0.126207 |    0.004871 | 0.094737 | 0.126207 |  0.82219 |
| 12.01. | 0.084211 |               0.82219 |         0.82219 |         0.82219 |      0.109723 |            0.0 | 0.109723 |    0.002667 | 0.084211 | 0.109723 | 0.841916 |
| 13.01. | 0.073684 |              0.841916 |        0.841916 |        0.841916 |      0.092645 |            0.0 | 0.092645 |    0.001029 | 0.073684 | 0.092645 | 0.701812 |
| 14.01. | 0.063158 |              0.701812 |        0.701812 |        0.701812 |      0.068806 |            0.0 | 0.068806 |    0.000541 | 0.063158 | 0.068806 | 0.533258 |
| 15.01. | 0.052632 |              0.533258 |        0.533258 |        0.533258 |      0.051779 |            0.0 | 0.051779 |    0.000615 | 0.052632 | 0.051779 | 0.351863 |
| 16.01. | 0.042105 |              0.351863 |        0.351863 |        0.351863 |      0.035499 |            0.0 | 0.035499 |    0.001185 | 0.042105 | 0.035499 | 0.185207 |
| 17.01. | 0.031579 |              0.185207 |        0.185207 |        0.185207 |       0.02024 |            0.0 |  0.02024 |    0.002165 | 0.031579 |  0.02024 | 0.107697 |
| 18.01. | 0.021053 |              0.107697 |        0.107697 |        0.107697 |      0.012785 |            0.0 | 0.012785 |    0.002879 | 0.021053 | 0.012785 | 0.055458 |
| 19.01. | 0.010526 |              0.055458 |        0.055458 |        0.055458 |      0.006918 |            0.0 | 0.006918 |    0.003191 | 0.010526 | 0.006918 | 0.025948 |
| 20.01. |      0.0 |              0.025948 |        0.025948 |        0.012974 |      0.001631 |            0.0 | 0.001631 |     0.00305 |      0.0 | 0.001631 |      0.0 |

Recalculation of example 13

The final recalculation shows the equality of both models under high flow conditions:

>>> neardischargeminimumthreshold(0.0)
>>> neardischargeminimumtolerance(0.0)
>>> waterlevelminimumthreshold(0.0)
>>> waterlevelminimumtolerance(0.0)
>>> waterlevel2flooddischarge(ann(
...     weights_input=1.0, weights_output=2.5,
...     intercepts_hidden=0.0, intercepts_output=0.0,
...     activation=0))
>>> neardischargeminimumthreshold(0.0)
>>> input_.sequences.sim.series = [ 0., 1., 5., 9., 8., 5., 3., 2., 1., 0.,
...                                 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]
>>> remote.sequences.sim.series = 0.0
>>> test.inits.loggedrequiredremoterelease = 0.0
>>> test("dam_v002_ex13")
|   date | inflow | requiredremoterelease | requiredrelease | targetedrelease | actualrelease | flooddischarge |  outflow | watervolume | input_ |   output | remote |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 01.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |            0.0 |      0.0 |         0.0 |    0.0 |      0.0 |    0.0 |
| 02.01. |    1.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       0.026514 | 0.026514 |    0.084109 |    1.0 | 0.026514 |    0.0 |
| 03.01. |    5.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       0.183744 | 0.183744 |    0.500234 |    5.0 | 0.183744 |    0.0 |
| 04.01. |    9.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       0.542983 | 0.542983 |     1.23092 |    9.0 | 0.542983 |    0.0 |
| 05.01. |    8.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       0.961039 | 0.961039 |    1.839086 |    8.0 | 0.961039 |    0.0 |
| 06.01. |    5.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.251523 | 1.251523 |    2.162955 |    5.0 | 1.251523 |    0.0 |
| 07.01. |    3.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.395546 | 1.395546 |    2.301579 |    3.0 | 1.395546 |    0.0 |
| 08.01. |    2.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.453375 | 1.453375 |    2.348808 |    2.0 | 1.453375 |    0.0 |
| 09.01. |    1.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.455596 | 1.455596 |    2.309444 |    1.0 | 1.455596 |    0.0 |
| 10.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.405132 | 1.405132 |    2.188041 |    0.0 | 1.405132 |    0.0 |
| 11.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.331267 | 1.331267 |    2.073019 |    0.0 | 1.331267 |    0.0 |
| 12.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.261285 | 1.261285 |    1.964044 |    0.0 | 1.261285 |    0.0 |
| 13.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.194981 | 1.194981 |    1.860798 |    0.0 | 1.194981 |    0.0 |
| 14.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.132163 | 1.132163 |    1.762979 |    0.0 | 1.132163 |    0.0 |
| 15.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       1.072647 | 1.072647 |    1.670302 |    0.0 | 1.072647 |    0.0 |
| 16.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |        1.01626 |  1.01626 |    1.582498 |    0.0 |  1.01626 |    0.0 |
| 17.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       0.962837 | 0.962837 |    1.499308 |    0.0 | 0.962837 |    0.0 |
| 18.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       0.912222 | 0.912222 |    1.420492 |    0.0 | 0.912222 |    0.0 |
| 19.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       0.864268 | 0.864268 |     1.34582 |    0.0 | 0.864268 |    0.0 |
| 20.01. |    0.0 |                   0.0 |             0.0 |             0.0 |           0.0 |       0.818835 | 0.818835 |    1.275072 |    0.0 | 0.818835 |    0.0 |
Click here to see the graph
class hydpy.models.dam_v002.Model[source]

Bases: hydpy.core.modeltools.ELSModel

Version 2 of HydPy-Dam.

The following “receiver update methods” are called in the given sequence before performing a simulation step:
The following “inlet update methods” are called in the given sequence at the beginning of each simulation step:
  • Pic_Inflow_V1 Update the inlet link sequence.

  • Calc_RequiredRemoteRelease_V2 Get the required remote release of the last simulation step.

  • Calc_RequiredRelease_V1 Calculate the total water release (immediately and far downstream) required for reducing drought events.

  • Calc_TargetedRelease_V1 Calculate the targeted water release for reducing drought events, taking into account both the required water release and the actual inflow into the dam.

The following methods define the relevant components of a system of ODE equations (e.g. direct runoff):
  • Pic_Inflow_V1 Update the inlet link sequence.

  • Calc_WaterLevel_V1 Determine the water level based on an artificial neural network describing the relationship between water level and water stage.

  • Calc_ActualRelease_V1 Calculate the actual water release that can be supplied by the dam considering the targeted release and the given water level.

  • Calc_FloodDischarge_V1 Calculate the discharge during and after a flood event based on an SeasonalANN describing the relationship(s) between discharge and water stage.

  • Calc_Outflow_V1 Calculate the total outflow of the dam.

The following methods define the complete equations of an ODE system (e.g. change in storage of fast water due to effective precipitation and direct runoff):
The following “outlet update methods” are called in the given sequence at the end of each simulation step:
numconsts: hydpy.core.modeltools.NumConstsELS
numvars: hydpy.core.modeltools.NumVarsELS
class hydpy.models.dam_v002.AideSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.ModelSequences[AideSequence, hydpy.core.variabletools.FastAccess]

Aide sequences of model dam_v002.

The following classes are selected:
class hydpy.models.dam_v002.ControlParameters(master: hydpy.core.parametertools.Parameters, cls_fastaccess: Optional[Type[hydpy.core.parametertools.FastAccessParameter]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.variabletools.SubVariables[hydpy.core.parametertools.Parameters, Parameter, hydpy.core.parametertools.FastAccessParameter]

Control parameters of model dam_v002.

The following classes are selected:
class hydpy.models.dam_v002.DerivedParameters(master: hydpy.core.parametertools.Parameters, cls_fastaccess: Optional[Type[hydpy.core.parametertools.FastAccessParameter]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.variabletools.SubVariables[hydpy.core.parametertools.Parameters, Parameter, hydpy.core.parametertools.FastAccessParameter]

Derived parameters of model dam_v002.

The following classes are selected:
class hydpy.models.dam_v002.FluxSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.OutputSequences[FluxSequence]

Flux sequences of model dam_v002.

The following classes are selected:
  • Inflow() Total inflow [m³/s].

  • RequiredRemoteRelease() Water release considered appropriate to reduce drought events at cross sections far downstream to the desired degree [m³/s].

  • RequiredRelease() Required water release for reducing drought events downstream [m³/s].

  • TargetedRelease() The targeted water release for reducing drought events downstream after taking both the required release and additional low flow regulations into account [m³/s].

  • ActualRelease() Actual water release thought for reducing drought events downstream [m³/s].

  • FloodDischarge() Water release associated with flood events [m³/s].

  • Outflow() Total outflow [m³/s].

class hydpy.models.dam_v002.InletSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.LinkSequences[InletSequence]

Inlet sequences of model dam_v002.

The following classes are selected:
  • Q() Discharge [m³/s].

class hydpy.models.dam_v002.LogSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.ModelSequences[LogSequence, hydpy.core.variabletools.FastAccess]

Log sequences of model dam_v002.

The following classes are selected:
class hydpy.models.dam_v002.OutletSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.LinkSequences[OutletSequence]

Outlet sequences of model dam_v002.

The following classes are selected:
  • Q() Discharge [m³/s].

class hydpy.models.dam_v002.ReceiverSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.LinkSequences[ReceiverSequence]

Receiver sequences of model dam_v002.

The following classes are selected:
  • D() Water demand [m³/s].

class hydpy.models.dam_v002.SolverParameters(master: hydpy.core.parametertools.Parameters, cls_fastaccess: Optional[Type[hydpy.core.parametertools.FastAccessParameter]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.variabletools.SubVariables[hydpy.core.parametertools.Parameters, Parameter, hydpy.core.parametertools.FastAccessParameter]

Solver parameters of model dam_v002.

The following classes are selected:
  • AbsErrorMax() Absolute numerical error tolerance [m3/s].

  • RelErrorMax() Relative numerical error tolerance [1/T].

  • RelDTMin() Smallest relative integration time step size allowed [-].

  • RelDTMax() Largest relative integration time step size allowed [-].

class hydpy.models.dam_v002.StateSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.OutputSequences[StateSequence]

State sequences of model dam_v002.

The following classes are selected: