pywr.recorders.AggregatedRecorder¶
-
class
pywr.recorders.
AggregatedRecorder
(model, recorders, **kwargs)¶ This Recorder is used to aggregate across multiple other Recorder objects.
The class provides a method to produce a complex aggregated recorder by taking the results of other records. The .values() method first collects unaggregated values from the provided recorders. These are then aggregated on a per scenario basis and returned by this classes .values() method. This method allows AggregatedRecorder to be used as a recorder for in other AggregatedRecorder instances.
By default the same agg_func function is used for both steps, but an optional recorder_agg_func can undertake a different aggregation across scenarios. For example summing recorders per scenario, and then taking a mean of the sum totals.
- Parameters
- modelpywr.core.Model
- recorders: iterable of `Recorder` objects.
The other Recorder instances to perform aggregation over.
- agg_funcstr or callable, optional
Scenario aggregation function to use when aggregated_value is called (default=”mean”).
- recorder_agg_funcstr or callable, optional
Recorder aggregation function to use when aggregated_value is called (default=`agg_func`).
-
__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)unregister
(type cls)values
(self)Attributes
agg_func
children
comment
comment: unicode
constraint_lower_bounds
constraint_upper_bounds
epsilon
epsilon: ‘double’
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
parents
recorders
recorders: list