pywrdrb.parameters.VolBalanceNYCDownstreamMRF_step1#

class pywrdrb.parameters.VolBalanceNYCDownstreamMRF_step1(model, reservoir, nodes, parameters, **kwargs)#

Assigns release targets for all 3 NYC reservoirs, above and beyond individual mandated releases, to meet Montague & Trenton MRF targets. Accounts for max release constraints at each reservoir.

reservoir#

The reservoir associated with this specific parameter instance.

Type:

str

nodes#

Dictionary of Pywr nodes corresponding to the NYC reservoirs.

Type:

dict

parameters#

Dictionary of associated parameters required for MRF calculations.

Type:

dict

max_vol_reservoirs#

List of maximum volume parameters for NYC reservoirs.

Type:

list

vol_reservoirs#

List of volume parameters for NYC reservoirs.

Type:

list

flow_reservoirs#

List of current flow parameters for NYC reservoirs.

Type:

list

max_release_reservoirs#

List of maximum release constraints for each NYC reservoir.

Type:

list

mrf_target_individual_reservoirs#

List of MRF release requirements for each individual NYC reservoir.

Type:

list

flood_release_reservoirs#

List of flood release volumes for each NYC reservoir.

Type:

list

num_reservoirs#

Number of coordinating NYC reservoirs.

Type:

int

split_required_mrf_across_nyc_reservoirs(requirement_total, scenario_index)#

Splits total NYC release requirement among reservoirs using volume-balancing and constraints.

value(timestep, scenario_index)#

Returns the MRF release target for the current reservoir and timestep.

load(model, data)#

Loads the parameter from model and dictionary input.

__init__(model, reservoir, nodes, parameters, **kwargs)#

Initialize the VolBalanceNYCDownstreamMRF_step1 parameter.

This parameter distributes the required additional NYC releases (beyond individual mandated releases) across the three NYC reservoirs using a volume-balancing method. It also accounts for maximum release constraints at each reservoir.

Parameters:
  • model (Model) – The Pywr model instance.

  • reservoir (str) – The reservoir associated with this specific parameter instance.

  • nodes (dict) – Dictionary of Pywr Node objects for NYC reservoirs.

  • parameters (dict) – Dictionary of Parameter objects required for MRF calculation, including storage, flow, flood release, and max release values for all NYC reservoirs, as well as aggregate system parameters.

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

Notes

This parameter is evaluated individually for each reservoir but uses shared data across the three NYC reservoirs (Cannonsville, Pepacton, Neversink) to compute coordinated releases that satisfy downstream flow targets.

Methods

__init__(model, reservoir, nodes, ...)

Initialize the VolBalanceNYCDownstreamMRF_step1 parameter.

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)

Loads the class from a model and a data dictionary.

register(cls)

reset(self)

set_double_variables(self, double[)

set_integer_variables(self, int[)

setup(self)

split_required_mrf_across_nyc_reservoirs(...)

Splits the total required downstream flow release across NYC reservoirs, adjusting for max release constraints and relative reservoir contributions.

unregister(cls)

value(timestep, scenario_index)

Returns the target release value for the specific NYC reservoir instance based on the total MRF release requirement and reservoir balancing logic.

Attributes

children

comment

str

double_size

'int'

integer_size

'int'

is_constant

is_variable

'bool'

model

name

parents

size

tags

dict