LevelDemand
A LevelDemand
node associates a minimum and a maximum level (possibly multiple over different priorities) with connected Basins to be used by the allocation algorithm.
Since this connection conveys information rather than flow, an outgoing control link must be used. Below the minimum level the Basin has a demand, above the maximum level the Basin has a surplus and acts as a source. The source can be used by all nodes with demands in order of demand priority.
The same LevelDemand
node can be used for Basins in different subnetworks.
Both min_level
and max_level
are optional, to be able to handle only the demand or surplus side. If both are missing, LevelDemand
won’t have any effects on allocation.
1 Tables
1.1 Static
column | type | unit | restriction |
---|---|---|---|
node_id | Int32 | - | |
min_level | Float64 | \(\text{m}\) | (optional, default -Inf) |
max_level | Float64 | \(\text{m}\) | (optional, default Inf) |
demand_priority | Int32 | - | positive |
1.2 Time
This table is the transient form of the LevelDemand
table, in which time-dependent minimum and maximum levels can be supplied. With this the levels can be updated over time. In between the given times the levels are interpolated with forward fill (block interpolation), and outside the demand is constant given by the nearest time value. The allocation algorithm evaluates the interpolation at the end of the allocation time step.
This is in contrast with UserDemand and FlowDemand, as allocation will aim to reach the desired level at the end of the allocation time step.
column | type | unit | restriction |
---|---|---|---|
node_id | Int32 | - | |
time | DateTime | - | |
min_level | Float64 | \(\text{m}\) | - |
max_level | Float64 | \(\text{m}\) | - |
demand_priority | Int32 | - | positive |