pywr.nodes.RollingVirtualStorage¶
-
class
pywr.nodes.
RollingVirtualStorage
(*args, **kwargs)¶ A rolling virtual storage node useful for implementing rolling licences.
- Parameters
- model: pywr.core.Model
- name: str
The name of the virtual node
- nodes: list of nodes
List of inflow/out flow nodes that affect the storage volume
- factors: list of floats
List of factors to multiply node flow by. Positive factors remove water from the storage, negative factors remove it.
- min_volume: float or parameter
The minimum volume the storage is allowed to reach.
- max_volume: float or parameter
The maximum volume of the storage.
- initial_volume: float
The initial storage volume.
- timestepsint
The number of timesteps to apply to the rolling storage over.
- daysint
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.
- cost: float or parameter
The cost of flow into/outfrom the storage.
Notes
TODO: The cost property is not currently respected. See issue #242.
-
__init__
(model, name, nodes, **kwargs)¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__
(model, name, nodes, **kwargs)Initialize self.
after
(self, Timestep ts, double[)before
(self, Timestep ts)Called at the beginning of the timestep
check
(self)commit
(self, int scenario_index, double value)Called once for each route the node is a member of
commit_all
(self, double[)Called once for each route the node is a member of
finish
(self)get_area
(self, ScenarioIndex scenario_index)get_cost
(self, ScenarioIndex scenario_index)Get the cost per unit flow at a given timestep
get_initial_pc
(self)Returns the initial volume as a proportion.
get_initial_volume
(self)Returns the absolute initial volume.
get_level
(self, ScenarioIndex scenario_index)get_max_volume
(self, …)get_min_volume
(self, …)load
(data, model)reset
(self)setup
(self, model)Attributes
active
active: ‘bool’
allow_isolated
A property to flag whether this Node can be unconnected in a network.
area
comment
comment: basestring
component_attrs
components
Generator that returns all of the Components attached to the Node
cost
The cost per unit increased in volume stored
current_pc
Current percentage full
domain
factors
flow
Total flow via this node in the current timestep
fully_qualified_name
initial_volume
initial_volume_pc
level
max_volume
min_volume
model
The recorder for the node, e.g.
name
Name of the node.
nodes
parent
The parent Node/Storage of this object.
prev_flow
Total flow via this node in the previous timestep
recorders
Returns a list of pywr.recorders.Recorder objects attached to this node.
timesteps
timesteps: ‘int’
virtual
virtual: ‘bool’
volume