pywr.recorders.AnnualTotalFlowRecorder

class pywr.recorders.AnnualTotalFlowRecorder(model, unicode name, list nodes, *args, **kwargs)

For each scenario, record the total flow in each year across a list of nodes. Output from data property has shape: (years, scenario combinations)

A list of factors can be provided to scale the total flow (e.g. for calculating operational costs).

Parameters
modelpywr.core.Model
namestr

The name of the recorder

nodeslist

List of pywr.core.Node instances to record

factorslist, optional

List of factors to apply to each node

__init__(*args, **kwargs)

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

Methods

__init__(*args, **kwargs)

Initialize self.

after(self)

aggregated_value(self)

before(self)

finish(self)

is_constraint_violated(self)

Returns true if the value from this Recorder violates its constraint bounds.

load(type cls, model, data)

register(type cls)

reset(self)

setup(self)

to_dataframe(self)

Return a pandas.DataFrame of the recorder data

unregister(type cls)

values(self)

Compute a value for each scenario using temporal_agg_func.

Attributes

agg_func

children

comment

comment: unicode

constraint_lower_bounds

constraint_upper_bounds

data

epsilon

epsilon: ‘double’

factors

ignore_nan

ignore_nan: ‘bool’

is_constraint

Returns true if either upper or lower constraint bounds is defined.

is_double_bounded_constraint

Returns true if upper and lower constraint bounds are both defined and not-equal to one another.

is_equality_constraint

Returns true if upper and lower constraint bounds are both defined and equal to one another.

is_lower_bounded_constraint

Returns true if lower constraint bounds is defined and upper constraint bounds is not.

is_objective

is_upper_bounded_constraint

Returns true if upper constraint bounds is defined and lower constraint bounds is not.

model

name

nodes

nodes: list

parents

temporal_agg_func