pywr.nodes.SeasonalVirtualStorage

class pywr.nodes.SeasonalVirtualStorage(*args, **kwargs)

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.

Parameters
reset_dayint

The day of the month (0-31) when the node starts operating and its volume is reset to the initial value or maximum volume.

reset_monthint

The month of the year (0-12) when the node starts operating and its volume is reset to the initial value or maximum volume.

reset_to_initial_volumebool

Reset the volume to the initial volume instead of maximum volume each year (default is False).

end_dayint

The day of the month (0-31) when the node stops operating.

end_monthint

The month of the year (0-12) when the node stops operating.

__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(*args, **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)

Called before the first run of the 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.

virtual

virtual: ‘bool’

volume