marmot.plottingmodules.production_cost.SystemCosts#

class SystemCosts(Zones: List[str], Scenarios: List[str], AGG_BY: str, ordered_gen: List[str], marmot_solutions_folder: pathlib.Path, marmot_color_dict: Optional[dict] = None, custom_xticklabels: Optional[List[str]] = None, **kwargs)[source]#

Bases: marmot.plottingmodules.plotutils.plot_data_helper.PlotDataStoreAndProcessor

System operating cost plots.

The production_cost.py module contains methods that are related related to the cost of operating the power system.

SystemCosts inherits from the PlotDataStoreAndProcessor class to assist in creating figures.

Parameters
  • Zones (List[str]) – List of regions/zones to plot.

  • Scenarios (List[str]) – List of scenarios to plot.

  • AGG_BY (str) – Informs region type to aggregate by when creating plots.

  • ordered_gen (List[str]) – Ordered list of generator technologies to plot, order defines the generator technology position in stacked bar and area plots.

  • marmot_solutions_folder (Path) – Directory containing Marmot solution outputs.

  • marmot_color_dict (dict, optional) – Dictionary of colors to use for generation technologies. Defaults to None.

  • custom_xticklabels (List[str], optional) – List of custom x labels to apply to barplots. Values will overwite existing ones. Defaults to None.

Methods

detailed_gen_cost([start_date_range, ...])

Creates stacked bar plot of total generation cost by cost type (fuel, emission, start cost etc.)

detailed_gen_cost_diff([start_date_range, ...])

Creates stacked barplots of Total Generation Cost by by cost type (fuel, emission, start cost etc.) relative to a base scenario.

prod_cost([start_date_range, ...])

Plots total system net revenue and cost.

sys_cost([start_date_range, end_date_range, ...])

Creates a stacked bar plot of Total Generation Cost and Cost of Unserved Energy.

sys_cost_diff([start_date_range, ...])

Creates stacked barplots of Total Generation Cost and Cost of Unserved Energy relative to a base scenario.

sys_cost_type([start_date_range, ...])

Creates stacked bar plot of total generation cost by generator technology type.

sys_cost_type_diff([start_date_range, ...])

Creates stacked barplots of Total Generation Cost by generator technology type relative to a base scenario.

prod_cost(start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, custom_data_file_path: Optional[pathlib.Path] = None, scenario_groupby: str = 'Scenario', **_)[source]#

Plots total system net revenue and cost.

Total revenue is made up of reserve and energy revenues which are displayed in a stacked bar plot with total generation cost. Net revensue is represented by a dot. Each sceanrio is plotted as a separate bar.

Parameters
  • start_date_range (str, optional) – Defines a start date at which to represent data from. Defaults to None.

  • end_date_range (str, optional) – Defines a end date at which to represent data to. Defaults to None.

  • custom_data_file_path (Path, optional) – Path to custom data file to concat extra data. Index and column format should be consistent with output data csv.

  • scenario_groupby (str, optional) –

    Specifies whether to group data by Scenario or Year-Sceanrio. If grouping by Year-Sceanrio the year will be identified from the timestamp and appeneded to the sceanrio name. This is useful when plotting data which covers multiple years such as ReEDS. Defaults to Scenario.

    New in version 0.10.0.

Returns

Dictionary containing the created plot and its data table.

Return type

dict

sys_cost(start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, custom_data_file_path: Optional[pathlib.Path] = None, scenario_groupby: str = 'Scenario', **_)[source]#

Creates a stacked bar plot of Total Generation Cost and Cost of Unserved Energy.

Plot only shows totals and is NOT broken down into technology or cost type specific values. Each sceanrio is plotted as a separate bar.

Parameters
  • start_date_range (str, optional) – Defines a start date at which to represent data from. Defaults to None.

  • end_date_range (str, optional) – Defines a end date at which to represent data to. Defaults to None.

  • custom_data_file_path (Path, optional) – Path to custom data file to concat extra data. Index and column format should be consistent with output data csv.

  • scenario_groupby (str, optional) –

    Specifies whether to group data by Scenario or Year-Sceanrio. If grouping by Year-Sceanrio the year will be identified from the timestamp and appeneded to the sceanrio name. This is useful when plotting data which covers multiple years such as ReEDS. Defaults to Scenario.

    New in version 0.10.0.

Returns

Dictionary containing the created plot and its data table.

Return type

dict

detailed_gen_cost(start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, custom_data_file_path: Optional[pathlib.Path] = None, scenario_groupby: str = 'Scenario', **_)[source]#

Creates stacked bar plot of total generation cost by cost type (fuel, emission, start cost etc.)

Creates a more deatiled system cost plot. Each sceanrio is plotted as a separate bar.

Parameters
  • start_date_range (str, optional) – Defines a start date at which to represent data from. Defaults to None.

  • end_date_range (str, optional) – Defines a end date at which to represent data to. Defaults to None.

  • custom_data_file_path (Path, optional) – Path to custom data file to concat extra data. Index and column format should be consistent with output data csv.

  • scenario_groupby (str, optional) –

    Specifies whether to group data by Scenario or Year-Sceanrio. If grouping by Year-Sceanrio the year will be identified from the timestamp and appeneded to the sceanrio name. This is useful when plotting data which covers multiple years such as ReEDS. Defaults to Scenario.

    New in version 0.10.0.

Returns

Dictionary containing the created plot and its data table.

Return type

dict

sys_cost_type(start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, custom_data_file_path: Optional[pathlib.Path] = None, scenario_groupby: str = 'Scenario', **_)[source]#

Creates stacked bar plot of total generation cost by generator technology type.

Another way to represent total generation cost, this time by tech type, i.e Coal, Gas, Hydro etc. Each sceanrio is plotted as a separate bar.

Parameters
  • start_date_range (str, optional) – Defines a start date at which to represent data from. Defaults to None.

  • end_date_range (str, optional) – Defines a end date at which to represent data to. Defaults to None.

  • custom_data_file_path (Path, optional) – Path to custom data file to concat extra data. Index and column format should be consistent with output data csv.

  • scenario_groupby (str, optional) –

    Specifies whether to group data by Scenario or Year-Sceanrio. If grouping by Year-Sceanrio the year will be identified from the timestamp and appeneded to the sceanrio name. This is useful when plotting data which covers multiple years such as ReEDS. Defaults to Scenario.

    New in version 0.10.0.

Returns

Dictionary containing the created plot and its data table.

Return type

dict

sys_cost_diff(start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, scenario_groupby: str = 'Scenario', **_)[source]#

Creates stacked barplots of Total Generation Cost and Cost of Unserved Energy relative to a base scenario.

Barplots show the change in total total generation cost relative to a base scenario. The default is to comapre against the first scenario provided in the inputs list. Plot only shows totals and is NOT broken down into technology or cost type specific values. Each sceanrio is plotted as a separate bar.

Parameters
  • start_date_range (str, optional) – Defines a start date at which to represent data from. Defaults to None.

  • end_date_range (str, optional) – Defines a end date at which to represent data to. Defaults to None.

  • scenario_groupby (str, optional) –

    Specifies whether to group data by Scenario or Year-Sceanrio. If grouping by Year-Sceanrio the year will be identified from the timestamp and appeneded to the sceanrio name. This is useful when plotting data which covers multiple years such as ReEDS. Defaults to Scenario.

    New in version 0.10.0.

Returns

Dictionary containing the created plot and its data table.

Return type

dict

sys_cost_type_diff(start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, scenario_groupby: str = 'Scenario', **_)[source]#

Creates stacked barplots of Total Generation Cost by generator technology type relative to a base scenario.

Barplots show the change in total total generation cost relative to a base scenario. The default is to comapre against the first scenario provided in the inputs list. Each sceanrio is plotted as a separate bar.

Parameters
  • start_date_range (str, optional) – Defines a start date at which to represent data from. Defaults to None.

  • end_date_range (str, optional) – Defines a end date at which to represent data to. Defaults to None.

  • scenario_groupby (str, optional) –

    Specifies whether to group data by Scenario or Year-Sceanrio. If grouping by Year-Sceanrio the year will be identified from the timestamp and appeneded to the sceanrio name. This is useful when plotting data which covers multiple years such as ReEDS. Defaults to Scenario.

    New in version 0.10.0.

Returns

Dictionary containing the created plot and its data table.

Return type

dict

detailed_gen_cost_diff(start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, scenario_groupby: str = 'Scenario', **_)[source]#

Creates stacked barplots of Total Generation Cost by by cost type (fuel, emission, start cost etc.) relative to a base scenario.

Barplots show the change in total total generation cost relative to a base scenario. The default is to comapre against the first scenario provided in the inputs list. Each sceanrio is plotted as a separate bar.

Parameters
  • start_date_range (str, optional) – Defines a start date at which to represent data from. Defaults to None.

  • end_date_range (str, optional) – Defines a end date at which to represent data to. Defaults to None.

  • scenario_groupby (str, optional) –

    Specifies whether to group data by Scenario or Year-Sceanrio. If grouping by Year-Sceanrio the year will be identified from the timestamp and appeneded to the sceanrio name. This is useful when plotting data which covers multiple years such as ReEDS. Defaults to Scenario.

    New in version 0.10.0.

Returns

Dictionary containing the created plot and its data table.

Return type

dict