Power Plant Model

class morl4water.core.models.power_plant.PowerPlant(name: str, objective_function, objective_name: str, efficiency: float, min_turbine_flow: float = 0.0, normalize_objective: float = 0.0, max_turbine_flow: float = 0.0, head_start_level: float = 0.0, max_capacity: float = 0.0, reservoir: Reservoir = None, water_usage: float = 0.0, tailwater: array = None, turbines: array = None, n_turbines: int = 0, energy_prices: array = None)

Bases: Facility

Class to represent Hydro-energy Powerplant

Attributes:

namestr

identifier

efficiencyfloat

Efficiency coefficient (mu) used in hydropower formula

max_turbine_flowfloat

Maximum possible flow that can be passed through the turbines for the purpose of hydroenergy production

head_start_levelfloat

Minimum elevation of water level that is used to calculate hydraulic head for hydropower production

max_capacityfloat

Total design capacity (mW) of the plant

water_level_coefffloat

Coefficient that determines the water level based on the volume of outflow Used to calculate at what level the head of the power plant operates

water_usagefloat

Amount of water that is used by plant, decimal coefficient

Methods:

determine_reward():

Calculates the reward (power generation) given the values of its attributes

determine_consumption():

Determines how much water is consumed by the power plant

determine_info():

Returns info about the hydro-energy powerplant

determine_consumption() float

Determines water consumption.

Returns:

float

How much water is consumed

determine_info() dict

Determines info of hydro-energy power plant

Returns:

dict

Info about power plant (name, inflow, outflow, water usage, timestep, total production)

determine_month() int
determine_production() float

Calculates power production in MWh , when tailwater and turbine data is not available

Returns:

float

Plant’s power production in MWh

determine_production_detailed() float

Calculates power production when tailwater information and information regarding turbines is known. Assumes metric system

determine_reward() float

Determines reward for the power plant using the power production.

Parameters:

objective_function(float) -> float

Function calculating the objective given the power production.

Returns:

float

Reward.

determine_turbine_flow() float
reset() None

Resets the facility to its initial state for a new simulation run.

Returns:

None