marmot.formatters.formatextra.ExtraPLEXOSProperties#

class ExtraPLEXOSProperties(model: marmot.formatters.formatbase.Process)[source]#

Bases: marmot.formatters.formatextra.ExtraProperties

Contains PLEXOS specific ExtraProperties and methods

Parameters

model (Process) – model specific instance of a Process class, e.g ProcessPLEXOS, ProcessReEDS

Methods

cost_unserved_energy(df, **_)

Creates a region_Cost_Unserved_Energy property for PLEXOS result sets

demand(df[, timescale])

Creates a region_Demand / zone_Demand property for PLEXOS result sets

generator_curtailment(df[, timescale])

Creates a generator_Curtailment property for PLEXOS result sets

Attributes

EXTRA_MARMOT_PROPERTIES

Dictionary of Extra custom properties that are created based off existing properties.

EXTRA_MARMOT_PROPERTIES: dict = {'generator_Curtailment': [('generator_Curtailment_Annual', 'annualize_property')], 'generator_Generation': [('generator_Curtailment', 'generator_curtailment'), ('generator_Generation_Annual', 'annualize_property')], 'generator_Pump_Load': [('generator_Pump_Load_Annual', 'annualize_property')], 'region_Demand': [('region_Demand_Annual', 'annualize_property')], 'region_Load': [('region_Load_Annual', 'annualize_property'), ('region_Demand', 'demand')], 'region_Unserved_Energy': [('region_Cost_Unserved_Energy', 'cost_unserved_energy')], 'reserves_generators_Provision': [('reserves_generators_Provision_Annual', 'annualize_property')], 'zone_Demand': [('zone_Demand_Annual', 'annualize_property')], 'zone_Load': [('zone_Load_Annual', 'annualize_property'), ('zone_Demand', 'demand')], 'zone_Unserved_Energy': [('zone_Cost_Unserved_Energy', 'cost_unserved_energy')]}#

Dictionary of Extra custom properties that are created based off existing properties.

generator_curtailment(df: pandas.core.frame.DataFrame, timescale: str = 'interval') pandas.core.frame.DataFrame[source]#

Creates a generator_Curtailment property for PLEXOS result sets

Parameters
  • df (pd.DataFrame) – generator_Generation df

  • timescale (str, optional) – Data timescale, e.g Hourly, Monthly, 5 minute etc. Defaults to ‘interval’.

Returns

generator_Curtailment df

Return type

pd.DataFrame

demand(df: pandas.core.frame.DataFrame, timescale: str = 'interval') pandas.core.frame.DataFrame[source]#

Creates a region_Demand / zone_Demand property for PLEXOS result sets

PLEXOS includes generator_Pumped_Load in total load This method subtracts generator_Pumped_Load from region_Demand / zone_Demand to get region_Demand / zone_Demand

Parameters
  • df (pd.DataFrame) – region_Load df

  • timescale (str, optional) – Data timescale, e.g Hourly, Monthly, 5 minute etc. Defaults to ‘interval’.

Returns

region_Demand / zone_Demand df

Return type

pd.DataFrame

cost_unserved_energy(df: pandas.core.frame.DataFrame, **_) pandas.core.frame.DataFrame[source]#

Creates a region_Cost_Unserved_Energy property for PLEXOS result sets

Parameters

df (pd.DataFrame) – region_Unserved_Energy df

Returns

region_Cost_Unserved_Energy df

Return type

pd.DataFrame