pywrdrb.parameters.LaggedReservoirRelease#

class pywrdrb.parameters.LaggedReservoirRelease(model, lag, roll_mean_lag_outflow, roll_mean_lagMinus1_outflow, roll_mean_lag_spill, roll_mean_lagMinus1_spill, **kwargs)#

Pywr doesnt have a parameter to return a previous (>1 timesteps) node flow or parameter value. But we can calculate release for N timesteps ago based on rolling avg parameters for N & (N-1) timesteps.

lag#

number of timesteps ago

Type:

int

roll_mean_lag_outflow#

rolling mean outflow parameter for N timesteps ago

Type:

Parameter

roll_mean_lagMinus1_outflow#

rolling mean outflow parameter for (N-1) timesteps ago

Type:

Parameter

roll_mean_lag_spill#

rolling mean spill parameter for N timesteps ago

Type:

Parameter

roll_mean_lagMinus1_spill#

rolling mean spill parameter for (N-1) timesteps ago

Type:

Parameter

value(timestep, scenario_index)#

returns the release value for N timesteps ago

load(model, data)#

loads the parameter from the model dictionary

__init__(model, lag, roll_mean_lag_outflow, roll_mean_lagMinus1_outflow, roll_mean_lag_spill, roll_mean_lagMinus1_spill, **kwargs)#

Methods

__init__(model, lag, roll_mean_lag_outflow, ...)

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)

Setup the parameter.

register(cls)

reset(self)

set_double_variables(self, double[)

set_integer_variables(self, int[)

setup(self)

unregister(cls)

value(timestep, scenario_index)

value_lag = lag * rollmean_lag - (lag - 1) * rollmean_lagMinus1

Attributes

children

comment

unicode

double_size

'int'

integer_size

'int'

is_constant

is_variable

'bool'

model

name

parents

size

tags

dict