Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The storage node is a general node that can store water, which have a minimum and maximum volume restrictions. API Reference.
allocation penalty
The cost per unit flow via the node
Optional
min_volume
The minimum volume of the storage. Defaults to 0.0
Optional
max_volume
The maximum volume of the storage. Defaults to 0.0
Required, defaults to 0 if not entered
initial_volume, initial_volume_pc
Specify initial volume in either absolute or proportional terms. Both are required if max_volume is a parameter because the parameter will not be evaluated at the first time-step. If both are given and max_volume is not a Parameter, then the absolute value is ignored
One is required
area, level
Optional float or Parameter defining the area and level of the storage node. These values are accessible through the get_area and get_level methods respectively
Optional
coming soon...
The water storage node type allows users to build different reservoirs with different operation modes. Below are the most used water storage nodes:
The AggregatedStorage node is an aggregated sum of other nodes
This object should behave like Storage by returning current flow, volume and current_pc. However this object can not be connected to others within the network. .
Notes: This node can not be connected to other nodes in the network.
coming soon...
model
`Model` instance
Required
name
str
Required
storage_nodes
The Storage objects which to return the sum total of
Required
The reservoir node is a subclass of storage node with additional functionality to represent evaporation and precipitation. API Reference.
allocation penalty
The cost per unit flow via the node
Optional
min_volume
The minimum volume of the storage. Defaults to 0.0
Optional
max_volume
The maximum volume of the storage. Defaults to 0.0
Required, otherwise defaults to 0
initial_volume, initial_volume_pc
Specify initial volume in either absolute or proportional terms. Both are required if max_volume is a parameter because the parameter will not be evaluated at the first time-step. If both are given and max_volume is not a Parameter, then the absolute value is ignored
One is required
area, level
Optional float or Parameter defining the area and level of the storage node. These values are accessible through the get_area and get_level methods respectively
Optional
evaporation, precipitation
Evaporation and precipitation rates (length/day)
Optional
unit_conversion
Conversion factor to convert precipitation and evaporation to required length/day units
Optional, default is 0.001 to convert mm/day for use with km2 reservoir area
evaporation penalty (evaporation cost)
Allocation penalty set on the evaporation output
Optional, defaults to -999
coming soon...
The SeasonalVirtualStorage node is a virtual storage node that operates only for a specified period within a year.
This node is most useful for representing licences that are only enforced during specified periods. The reset_day and reset_month parameters indicate when the node starts operating and the end_day and end_month when it stops operating. For the period when the node is not operating, the volume of the node remains unchanged and the node does not apply any constraints to the model.
The end_day and end_month can represent a date earlier in the year that the reset_day and and reset_month. This situation represents a licence that operates across a year boundary. For example, one that is active between October and March and not active between April and September..
coming soon...
reset_day
The day of the month (0-31) when the node starts operating and its volume is reset to the initial value or maximum volume.
Required
reset_month
The month of the year (0-12) when the node starts operating and its volume is reset to the initial value or maximum volume.
Required
reset_to_initial_volume
Reset the volume to the initial volume instead of maximum volume each year (default is False)
Required
end_day
The day of the month (0-31) when the node stops operating
Required
end_month
The month of the year (0-12) when the node stops operating
Required
The AnnualVirtualStorage node is a virtual storage which resets annually, useful for licences. API Reference.
reset_day
The day of the month (0-31) to reset the volume to the initial value
Required
reset_month
The month of the year (0-12) to reset the volume to the initial value
Required
reset_to_initial_volume
Reset the volume to the initial volume instead of maximum volume each year (default is False)
Required
coming soon...
The VirtualStorage node is a virtual storage unit. API Reference.
Notes:
TODO: The cost property is not currently respected. See issue #242.
allocation penalty
The cost per unit flow via the node
Optional
nodes
List of inflow/outflow nodes that affect the storage volume
Required
min_volume
The minimum volume the storage is allowed to reach
Optional
max_volume
The maximum volume of the storage
Required, defaults to 0 if not entered
initial_volume
The initial storage volume
One is required
factors
List of factors to multiply node flow by. Positive factors remove water from the storage, negative factors remove it.
Optional
coming soon...
The RollingVirtualStorage node is a rolling virtual storage node useful for implementing rolling licences. API Reference.
Notes:
TODO: The cost property is not currently respected. See issue #242.
allocation penalty
The cost per unit flow via the node
Optional
nodes
List of inflow/outflow nodes that affect the storage volume
Required
min_volume
The minimum volume the storage is allowed to reach
Optional
max_volume
The maximum volume of the storage
Required, defaults to 0 if not entered
initial_volume
The initial storage volume
One is required
factors
List of factors to multiply node flow by. Positive factors remove water from the storage, negative factors remove it.
Optional
timesteps
The number of timesteps to apply to the rolling storage over
Required
days
The number of days to apply the rolling storage over. Specifying a number of days (instead of a number of timesteps) is only valid with models running a timestep of daily frequency
Required
coming soon...