WaterStrategy
English
English
  • WaterStrategy Documentation
  • Support
  • Getting Started
    • Creating an Account
    • Logging In
    • Tour of WaterStrategy
    • Creating a new Project and Network
    • Sharing Projects and Networks
    • Exporting and Importing Models
    • Dealing with Model Errors
    • Uploading External Data
  • Modeling Basics
    • Water Resource System Modeling?
    • What is Pywr?
    • Pywr Concepts
    • Node Types
      • Water Input
        • Input Node
        • Catchment Node
        • Proportional Input Node
      • Water Transport
        • Link Node
        • River Node
        • Delay Node
        • RiverSplit Node
        • RiverSplitWithGauge Node
        • RiverGauge Node
        • BreakLink Node
        • PiecewiseLink Node
        • MultiSplitLink Node
      • Water Storage
        • Storage Node
        • Reservoir Node
        • VirtualStorage Node
        • RollingVirtualStorage Node
        • AnnualVirtualStorage Node
        • SeasonalVirtualStorage Node
        • AggregatedStorage Node
      • Water Output
        • Output Node
        • Loss Link Node
      • Hydropower
        • Turbine Node
      • Others
        • AggregatedNode
    • Allocation Penalties
    • Scenarios
      • WaterStrategy Scenarios
      • Pywr-Scenarios
        • Parameter and pywr-scenario Integration
    • Parameters
      • Base Parameter Class
        • Parameter
        • IndexParameter
      • Simple Parameters
        • Constant
        • Constant Scenario Parameter
        • Constant Scenario Index Parameter
      • Combining multiple parameters
        • Aggregated Parameter
        • Aggregated Index Parameter
        • Division Parameter
        • Negative Parameter
        • MaxParameter
        • Negative MaxParameter
        • MinParameter
        • Negative MinParameter
        • Offset Parameter
      • Time Series and Profiles
        • Daily Profile
        • Weekly Profile
        • Monthly Profile
        • Uniform Drawdown Profile
        • Scenario Daily Profile
        • Scenario Weekly Profile
        • Scenario Monthly Profile
        • Array Indexed Scenario Monthly Factors
        • RBF Profile
      • DataFrame Parameter
      • HDF5 Parameter
      • Array Based Parameters
        • Array Indexed Parameter
        • Array Indexed Scenario Parameter
        • Indexed Array Parameter
      • Threshold Parameters
        • Abstract Threshold
        • Storage Threshold
        • Node Threshold
        • Parameter Threshold
        • Recorder Threshold
        • Current Year Threshold
        • Current Ordinal Day Threshold
      • Interpolation Parameters
        • Interpolated Parameter
        • Interpolated Quadrature
        • Interpolated Flow
        • Interpolated Volume
      • Control Curve Parameters
        • Base Control Curve
        • Control Curve Interpolated Parameter
        • Control Curve Piecewise Interpolated Parameter
        • Control Curve Index Parameter
      • Hydropower Parameters
      • Others
        • Annual Harmonic Series Parameter
        • Deficit Parameter
        • Scenario Wrapper Parameter
        • Piecewise Integral Parameter
        • Flow Parameter
        • Flow Delay Parameter
        • Discount Factor Parameter
    • Recorders
      • Base Recorder
        • Recorder
        • Node Recorder
        • Storage Recorder
        • Parameter Recorder
        • Index Parameter Recorder
        • Aggregator
      • Numpy Array Recorders
        • Numpy Array Node Recorder
        • Numpy Array Storage Recorder
        • Numpy Array Level Recorder
        • Numpy Array Area Recorder
        • Numpy Array Parameter Recorder
        • Numpy Array Index Parameter Recorder
        • Numpy Array Daily Profile Parameter Recorder
      • Flow Duration Curve Recorders
        • Flow Duration Curve Recorder
        • Storage Duration Curve Recorder
        • Flow Duration Curve Deviation Recorder
        • Seasonal Flow Duration Curve Recorder
      • Deficit Recorders
        • Numpy Array Node Deficit Recorder
        • Numpy Array Node Supplied Ratio Recorder
        • Numpy Array Node Curtailment Ratio Recorder
        • Total Deficit Node Recorder
        • Deficit Frequency Node Recorder
      • Statistical Recorders
        • Aggregated Recorder
        • Mean Flow Node Recorder
        • Total Flow Node Recorder
        • Annual Total Flow Recorder
        • Mean Parameter Recorder
        • Total Parameter Recorder
        • Rolling Mean Flow Node Recorder
        • Minimum Volume Storage Recorder
        • Minimum Threshold Volume Storage Recorder
        • Timestep Count Index Parameter Recorder
        • Annual Count Index Threshold Recorder
        • Rolling Window Parameter Recorder
      • Index Recorders
        • Annual Count Index Parameter Recorder
      • File Recorders
        • CSV Recorder
        • Tables Recorder
      • Hydro-power Recorders
        • Hydropower Recorder
        • Total Hydro Energy Recorder
  • Applied Modeling
    • Reservoir and Storage Nodes
  • Tutorials
    • Creating and running a simple model
      • Creating and Running a Model
        • Setting up a Project and Network
        • Adding Nodes and Links (Edges)
        • Add Data to the Nodes
        • Setting the Time Horizon
        • Running the Model and Visualizing its Outputs
        • Creating a New Scenario
        • Exercise
      • Making Changes to a Model
        • Adding a Reservoir
        • Adding Basic Operating Rules
    • Modelling basin reservoir systems
      • Creating a New Project and Network
      • Adding a Dam (Reservoir)
      • Adding a Demand
      • Adding a Water Treatment Works with Losses
      • Adding a Source Representing Groundwater
      • Additional Exercises
      • Adding reservoir bathymetry, evaporation, and rainfall
        • Background on Evaporation and Precipitation on Reservoirs
        • Adding reservoir bathymetry (Area)
        • Adding reservoir bathymetry (Level)
        • Adding monthly evaporation and rainfall
      • Using allocation penalties and control rules to balance sources
      • Control Curves and Demand Savings
        • Adding reservoir control curves and demand savings (reductions)
    • Using Allocation Penalties to Allocate Water
      • Exercise 1a Two nodes
      • Exercise 1b Two demands
      • Exercise 1c Minimum Flow Properties
      • Exercise 2a Simple system with reservoir draw downs
      • Exercise 2b Simple system with overflow
    • Pywr-scenarios reading external DataFrame and adding Custom Rules
      • Uploading Files
      • Reading CSV DataFrame
      • Running pywr-scenarios
      • Reading h5 DataFrame for pywr-scenarios
      • Create Custom Rule - TranscientDecisionParameter
Powered by GitBook
On this page
  • Create the network and run
  • Explanation
  • Increase the demand
  • Explanation
  • Increase the reservoir priority
  • Explanation

Was this helpful?

Export as PDF
  1. Tutorials
  2. Using Allocation Penalties to Allocate Water

Exercise 2a Simple system with reservoir draw downs

PreviousExercise 1c Minimum Flow PropertiesNextExercise 2b Simple system with overflow

Last updated 1 month ago

Was this helpful?

Note: Create a new network called Exercise 2a and setup the timestep before running the network as described in Exercise 1a.

Create the network and run

Navigate to the left panel and click on Build to open the Nodes list.

Drag and drop to the workspace Map:

- 1 catchment node

- 2 output nodes

- 1 storage node

Click on edge to activate “link mode”, connect the nodes and fill their attributes as shown in the picture below:

Click again on edge to deactivate “link mode”.

On the left panel click on Run a Model .

A new window will pop-up, click on Submit

Visualize the simulated_flow results

Visualize the simulated_volume results

Explanation

This network includes a storage node that simulates a reservoir. The objective of this reservoir is to store water. Initially, it starts with a volume of 200 Mm³, and its volume will increase or decrease based on the balance between intake and outtake.

The output1 node attempts to consume 12 Mm³/day from the reservoir, if available. Meanwhile, the catchment1 node contributes 10 Mm³/day to the reservoir. This means that the reservoir is expected to decrease in volume over time, as it will provide more water than it receives.

The results demonstrate that the reservoir's volume decreases until it is empty on Apr 9 2024, indicating that it will no longer be able to meet the supply requirements of output 1. At that point, output 1 will only receive the amount supplied by the catchment node 10 Mm³/day.

Since output 2 does not have an associated penalty, no water is allocated to this node.

Increase the demand

Select output_1 node and change Max Flow to 20 Mm³/day

A new window will pop-up, click on Submit

Explanation

The system conditions changed when the demand from the output 1 node increased from 12 Mm³/day to 20 Mm³/day. This change causes the reservoir to empty more quickly. Previously, the reservoir would be empty by Apr 9, 2024, but with the increased demand, it is now projected to be empty earlier, by January 20, 2024.

Once the reservoir is empty, the output 1 node will only receive 10 Mm³/day, which is the flow provided by the catchment node.

Increase the reservoir priority

Select the storage node and change the allocation penalty to -20

Explanation

As we have changed the allocation penalty for the storage node to be the most negative in the system, it now has the highest priority. This means the system will prioritize allocating water to this node.

The storage node starts filling up from the initial 200 Mm³ as per initial conditions until it reaches its maximum capacity of 365 Mm³. Once this maximum volume is reached, any excess water will be released. This capacity is reached by January 16, 2024.

Output 1 is the next priority node in the system. After the storage node is full, the system will begin allocating the excess water to output 1. This excess water is the 10 Mm³/day supplied by the catchment node.

On the left panel click on Run a Model .