pywr.recorders.FlowDurationCurveDeviationRecorder — Pywr 0.5dev documentation

# pywr.recorders.FlowDurationCurveDeviationRecorder

class `pywr.recorders.` `FlowDurationCurveDeviationRecorder`

  This recorder calculates a Flow Duration Curve (FDC) for each scenario and then calculates their deviation from upper and lower target FDCs. The 2nd dimension of the target duration curves and percentiles list must be of the same length and have the same order (high to low values or low to high values).

  Deviation is calculated as positive if actual FDC is above the upper target or below the lower target. If actual FDC falls between the upper and lower targets zero deviation is returned.

  Parameters: | model : pywr.core.Model node : pywr.core.Node The node to record percentiles : array The percentiles to use in the calculation of the flow duration curve. Values must be in the range 0-100. lower_target_fdc : array The lower FDC against which the scenario FDCs are compared upper_target_fdc : array The upper FDC against which the scenario FDCs are compared agg_func: str, optional Function used for aggregating the FDC deviations across percentiles. Numpy style functions that support an axis argument are supported. fdc_agg_func: str, optional Optional different function for aggregating across scenarios.

  `__init__`($self, /, *args, **kwargs)

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

  Methods

  `after` |
  `aggregated_value` |
  `before` |
  `finish` |
  `load` |
  `register` |
  `reset` |
  `setup` |
  `to_dataframe` | Return a pandas.DataFrame of the deviations from the target FDCs
  `unregister` |
  `values` | Compute a value for each scenario using temporal_agg_func.

  Attributes

  `agg_func` |
  `children` |
  `comment` |
  `data` |
  `epsilon` |
  `fdc` |
  `fdc_deviations` |
  `ignore_nan` |
  `is_constraint` |
  `is_objective` |
  `model` |
  `name` |
  `node` |
  `parents` |
  `scenario` |
  `temporal_agg_func` |