pywrdrb.parameters.LowerBasinMaxMRFContribution#
- class pywrdrb.parameters.LowerBasinMaxMRFContribution(model, reservoir, step, nodes, parameters, **kwargs)#
Used to track the max of allowable release from a lower basin reservoir based on policy and current conditions.
If predicted Trenton flow > flow target, then max allowable release is 0.0 (no contribution needed). If predicted Trenton flow < flow target, then max allowable release is determined by:
the current storage of the reservoir
the priority level of the reservoir, as described in WaterCode.
This is provided to VolBalanceLowerBasinMRFAggregate to determine the aggregate MRF contribution from the lower basin reservoirs.
- get_current_usable_reservoirs(scenario_index)#
Get a list of lower basin reservoirs that are allowed to be used for Trenton flow target.
- value(timestep, scenario_index)#
Returns the max allowable aggregate MRF contribution from lower basin reservoirs, subject to policy and conditions.
- load(model, data)#
Load the LowerBasinMaxMRFContribution parameter.
- reservoir#
The name of the reservoir, e.g. “blueMarsh”, “beltzvilleCombined”, “nockamixon”.
- Type:
str
- debugging#
If True, print debugging information.
- Type:
bool
- step#
The step of the Trenton flow calculation (1-4). See pywrdrb.parameters.ffmp for more.
- Type:
int
- days_ahead_prediction#
The number of days ahead to predict the Trenton flow target. Equal to 5 - step.
- Type:
int
- nodes#
Dictionary of pywrdrb.nodes.Reservoir instances for each lower basin reservoir. Format {“reservoir_name”: pywr.Node}.
- Type:
dict
- parameters#
Dictionary of pywrdrb.parameters.Parameter instances for each lower basin reservoir. Format {“parameter_name”: pywr.Parameter}.
- Type:
dict
- __init__(model, reservoir, step, nodes, parameters, **kwargs)#
Initialize the LowerBasinMaxMRFContribution parameter.
- Parameters:
model (Model) – The pywrdrb.Model instance.
reservoir (str) – The name of the reservoir, e.g. “blueMarsh”, “beltzvilleCombined”, “nockamixon”.
step (int) – The step of the Trenton flow calculation (1-4). See pywrdrb.parameters.ffmp for more.
nodes (dict) – Dictionary of pywrdrb.nodes.Reservoir instances for each lower basin reservoir. Format {“reservoir_name”: pywr.Node}.
parameters (dict) – Dictionary of pywrdrb.parameters.Parameter instances for each lower basin reservoir. Format {“parameter_name”: pywr.Parameter}.
**kwargs (dict) – Additional keyword arguments to pass to the pywr.Parameter class. None used.
- Return type:
None
Methods
__init__
(model, reservoir, step, nodes, ...)Initialize the LowerBasinMaxMRFContribution parameter.
after
(self)before
(self)finish
(self)get_all_values
(self)get_constant_value
(self)Return a constant value.
get_current_usable_reservoirs
(scenario_index)Get lower basin reservoirs that are allowed to be used for Trenton flow target currently.
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 the LowerBasinMaxMRFContribution parameter.
register
(cls)reset
(self)set_double_variables
(self, double[)set_integer_variables
(self, int[)setup
(self)unregister
(cls)value
(timestep, scenario_index)Get total allowable contributions from lower basin reservoirs.
Attributes
children
comment
unicode
double_size
'int'
integer_size
'int'
is_constant
is_variable
'bool'
name
parents
size
tags
dict