Recorders

Base Recorder classes

All the Recorder subclasses in pywr are descended from a common base class.

Recorder Base class for recording information from a pywr.model.Model.
NodeRecorder
StorageRecorder
ParameterRecorder Base class for recorders that track Parameter values.
IndexParameterRecorder

Numpy array recorders

The following parameters are used for storing results in memory. The data can be accessed following a model run before the model instances is destroyed.

NumpyArrayNodeRecorder Recorder for timeseries information from a Node.
NumpyArrayStorageRecorder Recorder for timeseries information from a Storage node.
NumpyArrayLevelRecorder
NumpyArrayParameterRecorder Recorder for timeseries information from a Parameter.
NumpyArrayIndexParameterRecorder Recorder for timeseries information from an IndexParameter.

Flow duration curve recorders

FlowDurationCurveRecorder This recorder calculates a flow duration curve for each scenario.
StorageDurationCurveRecorder This recorder calculates a storage duration curve for each scenario.
FlowDurationCurveDeviationRecorder This recorder calculates a Flow Duration Curve (FDC) for each scenario and then calculates their deviation from upper and lower target FDCs.
SeasonalFlowDurationCurveRecorder This recorder calculates a flow duration curve for each scenario for a given season specified in months.

Deficit recorders

TotalDeficitNodeRecorder Recorder to total the difference between modelled flow and max_flow for a Node
DeficitFrequencyNodeRecorder Recorder to return the frequency of timesteps with a failure to meet max_flow.

Statistical recorders

AggregatedRecorder This Recorder is used to aggregate across multiple other Recorder objects.
MeanFlowNodeRecorder Record the mean flow for a Node.
TotalFlowNodeRecorder Recorder to total the flow for a Node.
MeanParameterRecorder Record the mean value of a Parameter during a simulation.
TotalParameterRecorder Record the total value of a Parameter during a simulation.
RollingMeanFlowNodeRecorder Records the mean flow of a Node for the previous N timesteps
MinimumVolumeStorageRecorder Record the minimum volume in a Storage node during a simulation.
MinimumThresholdVolumeStorageRecorder Record whether a Storage node falls below a particular volume threshold during a simulation.
RollingWindowParameterRecorder Records the mean value of a Parameter for the last N timesteps.

Index recorders

AnnualCountIndexParameterRecorder Record the number of years where an IndexParameter is greater than or equal to a threshold

File recorders

CSVRecorder(model, csvfile[, …]) A Recorder that saves Node values to a CSV file.
TablesRecorder(model, h5file[, nodes, …]) A recorder that saves to PyTables CArray

Hydro-power recorders

HydropowerRecorder Calculates the power production using the hydropower equation
TotalHydroEnergyRecorder Calculates the total energy production using the hydropower equation from a model run.