pywr.recorders.AnnualTotalFlowRecorder
- class pywr.recorders.AnnualTotalFlowRecorder(model, str 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)
Methods
__init__(*args, **kwargs)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(cls, model, data)register(cls)reset(self)setup(self)to_dataframe(self)Return a pandas.DataFrame of the recorder data
unregister(cls)values(self)Compute a value for each scenario using temporal_agg_func.
Attributes
agg_funcchildrencommentcomment: str
constraint_lower_boundsconstraint_upper_boundsdataepsilonepsilon: 'double'
factorsignore_nanignore_nan: 'bool'
is_constraintReturns true if either upper or lower constraint bounds is defined.
is_double_bounded_constraintReturns true if upper and lower constraint bounds are both defined and not-equal to one another.
is_equality_constraintReturns true if upper and lower constraint bounds are both defined and equal to one another.
is_lower_bounded_constraintReturns true if lower constraint bounds is defined and upper constraint bounds is not.
is_objectiveis_upper_bounded_constraintReturns true if upper constraint bounds is defined and lower constraint bounds is not.
modelnamenodesnodes: list
parentstagstags: dict
temporal_agg_func