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