marmot.plottingmodules.prices.Prices#
- class Prices(Zones: List[str], Scenarios: List[str], AGG_BY: str, ordered_gen: List[str], marmot_solutions_folder: pathlib.Path, color_list: list = ['#396AB1', '#CC2529', '#3E9651', '#ff7f00', '#6B4C9A', '#922428', '#cab2d6', '#6a3d9a', '#fb9a99', '#b15928'], ylabels: Optional[List[str]] = None, xlabels: Optional[List[str]] = None, **kwargs)[source]#
Bases:
marmot.plottingmodules.plotutils.plot_data_helper.PlotDataStoreAndProcessor
Locational price analysis plots.
The price.py module contains methods that are related to grid prices at regions, zones, nodes etc.
Prices 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.
color_list (list, optional) – List of colors to apply to non-gen plots. Defaults to ColorList().colors.
ylabels (List[str], optional) – y-axis labels for facet plots. Defaults to None.
xlabels (List[str], optional) – x-axis labels for facet plots. Defaults to None.
Methods
node_pdc
(**kwargs)Creates a price duration curve for a set of specifc nodes.
node_price_hist
(**kwargs)Creates a price histogram for a specifc nodes.
node_price_hist_diff
(**kwargs)Creates a difference price histogram for a specifc nodes.
node_timeseries_price
(**kwargs)Creates a price timeseries plot for a set of specifc nodes.
pdc_all_regions
([y_axis_max, ...])Creates a price duration curve for all regions/zones and plots them on a single facet plot.
region_pdc
([figure_name, y_axis_max, ...])Creates a price duration curve for each region.
region_timeseries_price
([figure_name, ...])Creates price timeseries line plot for each region.
timeseries_price_all_regions
([y_axis_max, ...])Creates a price timeseries plot for all regions/zones and plots them on a single facet plot.
- pdc_all_regions(y_axis_max: Optional[float] = None, start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, **_)[source]#
Creates a price duration curve for all regions/zones and plots them on a single facet plot.
Price is in $/MWh. The code automatically creates a facet plot based on the number of regions/zones in the input. All scenarios are plotted on a single facet for each region/zone
- Parameters
- Returns
dictionary containing the created plot and its data table
- Return type
- region_pdc(figure_name: Optional[str] = None, y_axis_max: Optional[float] = None, start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, **_)[source]#
Creates a price duration curve for each region. Price in $/MWh
The code will create either a facet plot or a single plot depending on if the Facet argument is active. If a facet plot is created, each scenario is plotted on a separate facet, otherwise all scenarios are plotted on a single plot. To make a facet plot, ensure the word ‘Facet’ is found in the figure_name.
- Parameters
figure_name (str, optional) – User defined figure output name. Defaults to None.
y_axis_max (float, optional) – Max y-axis value. Defaults to None.
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.
- Returns
dictionary containing the created plot and its data table
- Return type
- region_timeseries_price(figure_name: Optional[str] = None, y_axis_max: Optional[float] = None, timezone: str = '', start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, **_)[source]#
Creates price timeseries line plot for each region. Price is $/MWh.
The code will create either a facet plot or a single plot depending on if the Facet argument is active. If a facet plot is created, each scenario is plotted on a separate facet, otherwise all scenarios are plotted on a single plot. To make a facet plot, ensure the work ‘Facet’ is found in the figure_name.
- Parameters
figure_name (str, optional) – User defined figure output name. Defaults to None.
y_axis_max (float, optional) – Max y-axis value. Defaults to None.
timezone (str, optional) – The timezone to display on the x-axes. Defaults to “”.
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.
- Returns
dictionary containing the created plot and its data table
- Return type
- timeseries_price_all_regions(y_axis_max: Optional[float] = None, timezone: str = '', start_date_range: Optional[str] = None, end_date_range: Optional[str] = None, **_)[source]#
Creates a price timeseries plot for all regions/zones and plots them on a single facet plot.
Price in $/MWh. The code automatically creates a facet plot based on the number of regions/zones in the input. All scenarios are plotted on a single facet for each region/zone.
- Parameters
y_axis_max (float, optional) – Max y-axis value. Defaults to None.
timezone (str, optional) – The timezone to display on the x-axes. Defaults to “”.
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.
- Returns
dictionary containing the created plot and its data table.
- Return type
- node_pdc(**kwargs)[source]#
Creates a price duration curve for a set of specifc nodes.
Price in $/MWh. The code will create either a facet plot or a single plot depending on the number of nodes included in plot_select.csv property entry.
- Returns
DataSavedInModule exception.
- Return type
- node_timeseries_price(**kwargs)[source]#
Creates a price timeseries plot for a set of specifc nodes.
Price in $/MWh. The code will create either a facet plot or a single plot depending on the number of nodes included in plot_select.csv property entry.
- Returns
DataSavedInModule exception.
- Return type
- node_price_hist(**kwargs)[source]#
Creates a price histogram for a specifc nodes. Price in $/MWh.
A facet plot will be created if more than one scenario are included on the user input sheet Each scenario will be plotted on a separate subplot. If a set of nodes are passed at input, each will be saved to a separate figure with node name as a suffix. Plots and Data are saved within the module
- Returns
DataSavedInModule exception.
- Return type
- node_price_hist_diff(**kwargs)[source]#
Creates a difference price histogram for a specifc nodes. Price in $/MWh.
This plot requires more than one scenario to display correctly. A facet plot will be created Each scenario will be plotted on a separate subplot, with values displaying the relative difference to the first scenario in the list. If a set of nodes are passed at input, each will be saved to a separate figure with node name as a suffix. Plots and Data are saved within the module
- Returns
DataSavedInModule exception.
- Return type