pywr.domains.river.Reservoir
- class pywr.domains.river.Reservoir(*args, **kwargs)
A reservoir node with control curve.
The Reservoir is a subclass of Storage with additional functionality to provide a simple control curve. The Reservoir has above_curve_cost when it is above its curve and the user defined cost when it is below. Typically the costs are negative to represent a benefit of filling the reservoir when it is below its curve.
- __init__(model, *args, **kwargs)
- Keywords:
- control_curve - A Parameter object that can return the control curve position,
as a percentage of fill, for the given timestep.
Methods
__init__
(model, *args, **kwargs)Keywords:
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
connect
(node[, from_slot, to_slot])Create an edge from this Node to another Node
disconnect
([node, slot_name, all_slots])Remove a connection from this Node to another Node
finalise_load
()Finish loading a node by converting parameter name references to instance references.
finish
(self)get_all_cost
(self, double[)get_all_max_volume
(self, double[)get_all_min_volume
(self, double[)get_area
(self, ScenarioIndex scenario_index)get_cost
(self, ScenarioIndex scenario_index)Get the cost per unit flow at a given timestep
get_current_pc
(self, ...)Return the current proportion of full of the storage node.
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, ...)iter_slots
([slot_name, is_connector, all_slots])Returns the object(s) wich should be connected to given slot_name
pre_load
(model, data)Create a node instance from data.
reset
(self)Called at the beginning of a run
setup
(self, model)Called before the first run of the model
Attributes
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 proportion full.
domain
flow
Total flow via this node in the current timestep
fully_qualified_name
has_fixed_cost
Returns true if cost is not a Parameter.
initial_volume
initial_volume_pc
level
max_volume
min_volume
model
The recorder for the node, e.g. a NumpyArrayRecorder.
name
Name of the node.
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.
virtual
virtual: 'bool'
volume