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)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