Adding a Dam (Reservoir)
Last updated
Last updated
Please note that there are two nodes in WaterStrategy and Pywr that represent reservoirs. The first is a storage node and the second is a reservoir node.
Both nodes store water. The reservoir node works just like a storage node, however it has built-in parameters allowing evaporation and precipitation to be directly represented on the node. To represent evaporation and precipitation with a storage node, a catchment node connected to the storage node is used to represent precipitation and output node drawing water from the storage node is is used to represent evaporation.
This tutorial will use reservoir nodes to build the reservoir system model.
This tutorial has a recommended location, but it doesn't matter if you cannot find the exact location, just find another location with a river.
Place a reservoir node to the river.
The upper link node representing the reservoir release represents flow that leaves the reservoir as a result of any release rules or to meet downstream allocations. Release rules would generally be specified on this node. Reservoir release rules defined on this node are usually represented by a parameter defined on the nodes max_flow attribute.
The lower link node represents the spill from the reservoir. The spill is used if reservoir release rules are defined constraining how much water can be released via this node and additional water needs to be released than is allowed by the release rules (for example if the reservoir is over capacity). As the spill is generally used only when the reservoir is over capacity, this node generally has a highly positive allocation penalty.
###Notice: remember to connect the nodes by clicking first on the upstream node and then the downstream node.
You can view how to add edges in the video below.
The reservoir system should look like the figure below.
the Catchment node to 'Example catchment',
the Reservoir node to 'Example reservoir'
the Output node to 'Example outlet'.
the Link nodes to 'Release' and the other one 'Spill'.
The figure below shows where to click to rename the catchment node. The same process can be repeated for all the other nodes.
Please go to the following link to find the time series data for this step.
Click on the Catchment node and follow the clicks (red arrows shown in the sequence of figures below.
In the Excel link you will have a time series. Please copy the first (or only time series if there is only one). Make sure to copy the dates as well.
Paste the time series into cell A1 in the Dataframe tab
You should have a time series as shown below. Click Save.
Click on the Example reservoir node
Set the max_volume to 25 Mm3. This is the maximum capacity for the dam in this tutorial.
Set the initial_volume to 15 Mm3. This is the storage level that the simulation starts with on the first time step.
Set the allocation penalty to -200. Often reservoirs have a negative allocation penalty. Allocation penalties are often used to balance reservoir or other water source use in multi-reservoir and multi-source systems.
The attributes on the reservoir should look like those below:
On the Spill link node set the 'Allocation penalty' to 1000
The Release link node should not have any data input.
View the 'simulated_volume' of the reservoir node to see the reservoir storage volume over time.
Click on the 'Plot' view.
The reservoir is seen to fill and remain full for most of the time horizon. This is the case becaues there is no demand on the reservoir nor are there any evaporation losses defined.
To see a video on how to run the model and view outputs click here.
###Notice: make sure you use the 'Reservoir' node: and not the 'Storage' node: .
Place a catchment node upstream of the reservoir. The catchment node represents the river flowing into the reservoir.
Place an output node downstream of the reservoir. The output node in this case represents the river outlet.
Place two link nodes between the reservoir and output nodes (as shown below). In this case, these link nodes represent the (1) reservoir releases and (2) spill.
Connect the nodes with edges which are commonly referred to links.