Recorders — Pywr 0.5dev documentation

# 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.