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
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