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 a new model
  • Set Up Time Horizon
  • Adding Nodes
  • Adding Edges
  • Add flow input node and Run the network
  • Explanation
  • Add priority to the output node and Run The network
  • Explanation
  • Add required flow to the output node and Run The network

Was this helpful?

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

Exercise 1a Two nodes

PreviousUsing Allocation Penalties to Allocate WaterNextExercise 1b Two demands

Last updated 1 month ago

Was this helpful?

Create a new model

Ceate a new network called Exercise 1a using the following template:

Pywr child template v1 (March 2021) - flow units in Mm3/day

Set Up Time Horizon

This step is mandatory for all networks as it defines the simulation's start, end, and timestep. For this example, we will configure a 1-year simulation horizon with a daily timestep.

Adding Nodes

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

Drag and drop to the workspace Map:

Adding Edges

To create a connection between nodes, first click on the input node and then click on the output node. Edges are directional, and the direction is set from the first to the second node.

Add flow input node and Run the network

Double-click on the input node. This will open the node panel on the right side of the screen.

Node Panel Sections:

  • Details: Here, you can change the name and description of the node.

  • Inputs: This section contains the basic attributes that need to be configured for each node. These attributes are user-defined.

  • Outputs: This section displays the results after the simulation.

Select the input node and change max_flow to 10.

A new window will pop-up, click on Submit

Wait until the Runs panel shows a green indicator for successful execution.

The following plots are the results generated by the network

Explanation

The input node acts as a water supply source, providing a maximum of 10Mm³/day, according to the demand required, as the output node doesn’t have an allocation penalty associated, then no water supply is required.

Add priority to the output node and Run The network

Run the model and visualize the results as described on the previous step

Explanation

The input node acts as a water supply source, providing a maximum of 10Mm³/day.

The allocation penalty in the output node is set to a negative value (-10), prioritizing the allocation of water to this node, with no constraint on maximum flow, the output node can consume as much water as the network can supply to it.

Add required flow to the output node and Run The network

Select the output node and change max_flow to 6Mm³/day, it tells the network which is the required consumption for this output node.

On the left panel click on Run a Model . Run the model and visualize the results as described previously

Explanation

The input node acts as a water supply source, providing a maximum of 10Mm³/day.

The allocation penalty prioritizes the allocation of water to the output node, a constrain to maximum 6Mm³/day withdrawal has been added, now the output only gets the constrained 6Mm³/day a maximum supply of the requested demand.

· 1 input node

· 1 output node

Note: To learn more about different node types, refer to the documentation .

Click on edge to activate “link mode”.

Click again on edge to deactivate “link mode”.

On the left panel Click on Run a Model .

To visualize the supplied flow from the input, click on the input node and then click on the icon for the attribute simulated_flow

To visualize the supplied flow to the output, click on the output node and then click on the icon for the attribute simulated_flow

Select the output node and change allocation penalty to -10. A negative value sets up a higher priority for the node. For more information on allocation penalties, refer to the documentation

On the left panel click on Run a Model .

here
Allocation Penalty