Weir Model

class morl4water.core.models.weir.Weir(name: str, max_capacity: float, max_action: list[float], objective_function, integration_timestep_size: relativedelta, objective_name: str = '', stored_water: float = 0, spillage: float = 0, observation_space=Box(0.0, 1.0, (1,), float32), action_space=Box(0.0, 1.0, (1,), float32))

Bases: ControlledFacility

A class used to represent reservoirs of the problem

name

Lowercase non-spaced name of the reservoir

Type:

str

storage_vector

m3 A vector that holds the volume of the water in the reservoir throughout the simulation horizon

Type:

np.array (1xH)

level_vector

m A vector that holds the elevation of the water in the reservoir throughout the simulation horizon

Type:

np.array (1xH)

release_vector

m3/s A vector that holds the actual average release per month from the reservoir throughout the simulation horizon

Type:

np.array (1xH)

evap_rates

cm Monthly evaporation rates of the reservoir

Type:

np.array (1x12)

determine_info()

Return dictionary with parameters of the reservoir.

storage_to_level(h=float)

Returns the level(height) based on volume.

level_to_storage(s=float)

Returns the volume based on level(height).

level_to_surface(h=float)

Returns the surface area based on level.

determine_outflow(action: float)

Returns average monthly water release.

determine_info() dict

Returns information about the reservoir.

determine_observation() float
determine_outflow(actions: array) list[float]
determine_reward() float
is_terminated() bool
reset() None