cronian.DERs.vre_generator

Model of a prosumer’s variable renewable energy generator.

Functions

add_vre_generator_to_model(→ pyomo.environ.AbstractModel)

Add a prosumer's VRE generator to the optimization model.

Module Contents

cronian.DERs.vre_generator.add_vre_generator_to_model(model: pyomo.environ.AbstractModel, prosumer: dict, asset_name: str, timeseries_data: pandas.DataFrame, number_of_timesteps: int | None) pyomo.environ.AbstractModel

Add a prosumer’s VRE generator to the optimization model.

This includes any renewable energy source that is variable in nature with an arbitrary carrier: wind, solar_pv, geothermal, solar thermal, etc.

Parameters:
  • model – Pyomo model to which a prosumer’s VRE generator will be added.

  • prosumer – Dictionary containing prosumer details.

  • asset_name – Name of the VRE generator asset.

  • timeseries_data – Timeseries data containing the availability factors.

  • number_of_timesteps – Number of timesteps to run the optimization for.

  • asset_name – Name of the VRE generator asset.

Returns:

AbstractModel with the added VRE generator.

Return type:

model

Raises:

KeyError – If a required asset parameter is missing

Requires model attributes:

  • time

Creates model attributes:

  • <prosumer_id>_<asset_id>_availabile_capacity (Param):

  • <prosumer_id>_<asset_id>_availability_factor (Param[time]):

  • <prosumer_id>_<asset_id>_<carrier>_supply (Var[time]):

  • <prosumer_id>_<asset_id>_capacity_limit_constraint (Constraint[time]): Constrain supply below capacity and availability factor