pywr.recorders.HydropowerRecorder — Pywr 0.5dev documentation

# pywr.recorders.HydropowerRecorder

class `pywr.recorders.` `HydropowerRecorder`

  Calculates the power production using the hydropower equation

  This recorder saves an array of the hydrpower production in each timestep. It can be converted to a dataframe after a model run has completed. It does not calculate total energy production.

  Parameters: | water_elevation_parameter : Parameter instance (default=None) Elevation of water entering the turbine. The difference of this value with the turbine_elevation gives the working head of the turbine. turbine_elevation : double Elevation of the turbine itself. The difference between the water_elevation and this value gives the working head of the turbine. efficiency : float (default=1.0) The efficiency of the turbine. density : float (default=1000.0) The density of water. flow_unit_conversion : float (default=1.0) A factor used to transform the units of flow to be compatible with the equation here. This should convert flow to units of \(m^3/day\) energy_unit_conversion : float (default=1e-6) A factor used to transform the units of total energy. Defaults to 1e-6 to return \(MJ\).

  See also

  `TotalHydroEnergyRecorder`, `pywr.parameters.HydropowerTargetParameter`

  Notes

  The hydropower calculation uses the following equation.

  \[P = \rho * g * \delta H * q\]

  The flow rate in should be converted to units of \(m^3\) per day using the flow_unit_conversion parameter.

  Head is calculated from the given water_elevation_parameter and turbine_elevation value. If water elevation is given then head is the difference in elevation between the water and the turbine. If water elevation parameter is None then the head is simply the turbine elevation.

  `__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 recorder data
  `unregister` |
  `values` | Compute a value for each scenario using temporal_agg_func.

  Attributes

  `agg_func` |
  `children` |
  `comment` |
  `data` |
  `density` |
  `efficiency` |
  `energy_unit_conversion` |
  `epsilon` |
  `flow_unit_conversion` |
  `ignore_nan` |
  `is_constraint` |
  `is_objective` |
  `model` |
  `name` |
  `node` |
  `parents` |
  `temporal_agg_func` |
  `turbine_elevation` |
  `water_elevation_parameter` |