pywrdrb.parameters.TotalReleaseNeededForDownstreamMRF#

class pywrdrb.parameters.TotalReleaseNeededForDownstreamMRF(model, step, mrf, predicted_nonnyc_gage_flow_mrf, predicted_demand_nj, mrf_target_flow, release_needed_mrf_montague, mrf_target_individual_nyc, flood_release_nyc, previous_release_reservoirs, **kwargs)#

Calculates the total NYC FFMP releases required to meet downstream Montague or Trenton flow targets.

This parameter computes the additional water release needed from upstream reservoirs to satisfy regulatory flow requirements at downstream control points (Montague or Trenton), accounting for predicted natural flows, previous releases, and any mandatory individual or flood releases.

model#

The Pywr model instance.

Type:

pywr.Model

mrf#

Flow target location, either ‘delMontague’ or ‘delTrenton’.

Type:

str

step#

Position in the multi-day staggered release sequence (1 through 4).

Type:

int

predicted_nonnyc_gage_flow_mrf#

Predicted natural flow at the control point, excluding NYC releases.

Type:

pywr.Parameter

predicted_demand_nj#

Forecasted New Jersey demand (used for Trenton only).

Type:

pywr.Parameter or None

mrf_target_flow#

Required flow target at the control point (Montague or Trenton).

Type:

pywr.Parameter

release_needed_mrf_montague#

Additional upstream release needed at Montague (used when mrf = ‘delTrenton’).

Type:

pywr.Parameter or None

mrf_target_individual_nyc#

Combined mandatory FFMP releases from NYC reservoirs (step 1–2 only).

Type:

pywr.Parameter or None

flood_release_nyc#

Combined flood control releases from NYC reservoirs (step 1–2 only).

Type:

pywr.Parameter or None

previous_release_reservoirs#

Reservoir releases from prior timesteps, used to estimate future arrivals.

Type:

list of pywr.Parameter

value(timestep, scenario_index)#

Compute the NYC release required to satisfy the MRF target at the specified step.

load(model, data)#

Class method to construct the parameter instance from a model configuration dictionary.

Notes

Steps 1–4 correspond to staggered lag travel times to meet Trenton and Montague MRFs. Required release is clipped at zero (i.e., no negative releases).

__init__(model, step, mrf, predicted_nonnyc_gage_flow_mrf, predicted_demand_nj, mrf_target_flow, release_needed_mrf_montague, mrf_target_individual_nyc, flood_release_nyc, previous_release_reservoirs, **kwargs)#

Initialize a TotalReleaseNeededForDownstreamMRF parameter instance.

Parameters:
  • model (pywr.Model) – Pywr model object.

  • step (int) – Step in the lagged release sequence (1 to 4).

  • mrf (str) – Flow control location: ‘delMontague’ or ‘delTrenton’.

  • predicted_nonnyc_gage_flow_mrf (pywr.Parameter) – Predicted natural flow at MRF gage.

  • predicted_demand_nj (pywr.Parameter or None) – NJ demand forecast (used if mrf=’delTrenton’).

  • mrf_target_flow (pywr.Parameter) – Regulatory flow requirement at control point.

  • release_needed_mrf_montague (pywr.Parameter or None) – Upstream MRF contribution (used if mrf=’delTrenton’).

  • mrf_target_individual_nyc (pywr.Parameter or None) – NYC individual FFMP release target (step 1–2 only).

  • flood_release_nyc (pywr.Parameter or None) – NYC flood release volume (step 1–2 only).

  • previous_release_reservoirs (list of pywr.Parameter) – Prior releases used for lagged flow accounting.

  • **kwargs – Additional arguments passed to the base class.

Methods

__init__(model, step, mrf, ...)

Initialize a TotalReleaseNeededForDownstreamMRF parameter instance.

after(self)

before(self)

finish(self)

get_all_values(self)

get_constant_value(self)

Return a constant value.

get_double_lower_bounds(self)

get_double_upper_bounds(self)

get_double_variables(self)

get_integer_lower_bounds(self)

get_integer_upper_bounds(self)

get_integer_variables(self)

get_value(self, ScenarioIndex scenario_index)

load(model, data)

Load a TotalReleaseNeededForDownstreamMRF instance from model configuration.

register(cls)

reset(self)

set_double_variables(self, double[)

set_integer_variables(self, int[)

setup(self)

unregister(cls)

value(timestep, scenario_index)

Compute additional NYC releases needed to meet the downstream flow target.

Attributes

children

comment

str

double_size

'int'

integer_size

'int'

is_constant

is_variable

'bool'

model

name

parents

size

tags

dict