Spp#
Module Contents#
Classes Summary#
Southwest Power Pool (SPP) |
Functions#
Adds Interval Start and Interval End columns to df |
|
Parse SPP generation mix data from |
Attributes Summary#
Contents#
- gridstatus.spp.add_interval(df, interval_min)[source]#
Adds Interval Start and Interval End columns to df
- gridstatus.spp.FILE_BROWSER_DOWNLOAD_URL = 'https://portal.spp.org/file-browser-api/download'[source]#
- gridstatus.spp.process_gen_mix(df, detailed=False)[source]#
Parse SPP generation mix data from https://marketplace.spp.org/pages/generation-mix-historical
- Parameters:
df (pd.DataFrame) – raw data
detailed (bool) – whether to combine market and self columns
- Returns:
processed data
- Return type:
pd.DataFrame
- gridstatus.spp.QUERY_RTM5_HUBS_URL = 'https://pricecontourmap.spp.org/arcgis/rest/services/MarketMaps/RTBM_FeatureData/MapServer/1/query'[source]#
- gridstatus.spp.QUERY_RTM5_INTERFACES_URL = 'https://pricecontourmap.spp.org/arcgis/rest/services/MarketMaps/RTBM_FeatureData/MapServer/2/query'[source]#
- gridstatus.spp.RELIABILITY_LEVELS = ['Normal Operations', 'Weather Advisory', 'Resource Advisory', 'Conservative Operations...[source]#
- class gridstatus.spp.SPP[source]#
Bases:
gridstatus.base.ISOBaseSouthwest Power Pool (SPP)
Attributes
default_timezone
US/Central
interconnection_homepage
iso_id
spp
location_types
None
markets
None
name
Southwest Power Pool
status_homepage
https://www.spp.org/markets-operations/current-grid-conditions/
Methods
Get Capacity of Generation on Outage.
Get VER Curtailments for a year. Starting 2014.
Provides Marginal Clearing Price information by Reserve Zone for each
Get fuel mix
Get Hourly Load
Get Hourly Load for a year. Starting 2011.
Get interconnection queue
Get day ahead hourly LMP data
Get LMP data by bus for the Real-Time 5 Minute Market
Get LMP data by location for the Real-Time 5 Minute Market
Get LMP data for real time WEIS
Returns load for last 24hrs in 5 minute intervals
Returns load forecast for next 7 days in hourly intervals
Returns load forecast for +7 days in hourly intervals. Includes actual load
5-minute load forecast data for the SPP footprint (system-wide) for +/- 10
Returns solar and wind generation forecast for +7 days in hourly intervals.
Returns solar and wind generation forecast for +4 hours in 5 minute intervals.
Get VER Curtailments
Get VER Curtailments for a year. Starting 2014.
- get_capacity_of_generation_on_outage(date, end=None, verbose=False)[source]#
Get Capacity of Generation on Outage.
Published daily at 8am CT for next 7 days
- Parameters:
date – start date
end – end date
- get_capacity_of_generation_on_outage_annual(year, verbose=True)[source]#
Get VER Curtailments for a year. Starting 2014. Recent data use get_capacity_of_generation_on_outage
- Parameters:
year – year to get data for
verbose – print url
- Returns:
VER Curtailments
- Return type:
pd.DataFrame
- get_day_ahead_operating_reserve_prices(date, end=None, verbose=False)[source]#
Provides Marginal Clearing Price information by Reserve Zone for each Day-Ahead Market solution for each Operating Day. Posting is updated each day after the DA Market results are posted. Available at https://portal.spp.org/pages/da-mcp#
- Parameters:
date – date to get data for
end – end date
verbose – print url
- Returns:
Day Ahead Marginal Clearing Prices
- Return type:
pd.DataFrame
- get_fuel_mix(date, detailed=False, verbose=False)[source]#
Get fuel mix
- Parameters:
date – supports today and latest
detailed – if True, breaks out self scheduled and market scheduled
Note
if today, returns last 2 hours of data. maybe include previous day
- Returns:
fuel mix
- Return type:
pd.DataFrame
- get_hourly_load(date, end=None, verbose=False)[source]#
Get Hourly Load
Supports recent data. For historical annual data use get_hourly_load_annual
- Parameters:
date – start date
end – end date
- Returns:
Hourly Load
- Return type:
pd.DataFrame
- get_hourly_load_annual(year, verbose=True)[source]#
Get Hourly Load for a year. Starting 2011. For recent data use get_hourly_load
- Parameters:
year – year to get data for
verbose – print url
- Returns:
Hourly Load
- Return type:
pd.DataFrame
- get_interconnection_queue(verbose=False)[source]#
Get interconnection queue
- Returns:
Interconnection queue
- Return type:
pandas.DataFrame
- get_lmp_day_ahead_hourly(date, end=None, location_type: str = LOCATION_TYPE_ALL, verbose=False)[source]#
Get day ahead hourly LMP data
- Supported Location Types:
HubInterfaceALL
- get_lmp_real_time_5_min_by_bus(date, end=None, verbose=False)[source]#
Get LMP data by bus for the Real-Time 5 Minute Market
- Parameters:
date – date to get data for
end – end date
verbose – print url
NOTE: does not take a location_type argument because it always returns LOCATION_TYPE_BUS.
- get_lmp_real_time_5_min_by_location(date, end=None, location_type=LOCATION_TYPE_ALL, verbose=False)[source]#
Get LMP data by location for the Real-Time 5 Minute Market
- Parameters:
date – date to get data for
end – end date
location_type – location type to get data for. Options are: -
ALL(LOCATION_TYPE_ALL) -Hub(LOCATION_TYPE_HUB) -Interface(LOCATION_TYPE_INTERFACE) -Settlement Location(LOCATION_TYPE_SETTLEMENT_LOCATION)verbose – print url
- get_lmp_real_time_weis(date, end=None, verbose=False)[source]#
Get LMP data for real time WEIS
- Parameters:
date – date to get data for. if end is not provided, will get data for 5 minute interval that date is in.
end – end date
verbose – print url
- get_load_forecast(date, forecast_type='MID_TERM', verbose=False)[source]#
Returns load forecast for next 7 days in hourly intervals
- Parameters:
forecast_type (str) – MID_TERM is hourly for next 7 days or SHORT_TERM is every five minutes for a few hours
- Returns:
forecast for current day
- Return type:
pd.DataFrame
- get_load_forecast_mid_term(date, end=None, verbose=False)[source]#
Returns load forecast for +7 days in hourly intervals. Includes actual load for the past 24 hours. Data from https://portal.spp.org/pages/mtlf-vs-actual
- Parameters:
date (pd.Timestamp|str) – date to get data for. Supports “latest” and “today”
verbose (bool) – print info
- Returns:
forecast as dataframe.
- Return type:
pd.DataFrame
- get_load_forecast_short_term(date, end=None, verbose=False)[source]#
5-minute load forecast data for the SPP footprint (system-wide) for +/- 10 minutes. Also includes actual load.
Data from https://portal.spp.org/pages/stlf-vs-actual
- Parameters:
date (pd.Timestamp|str) – date to get data for. Supports “latest” and “today”
verbose (bool) – print info
- Returns:
forecast as dataframe.
- Return type:
pd.DataFrame
- get_solar_and_wind_forecast_mid_term(date, end=None, verbose=False)[source]#
Returns solar and wind generation forecast for +7 days in hourly intervals.
Data from https://portal.spp.org/pages/midterm-resource-forecast.
- Parameters:
date (pd.Timestamp|str) – date to get data for. Supports “latest” and “today”
verbose (bool) – print info
- Returns:
forecast as dataframe.
- Return type:
pd.DataFrame
- get_solar_and_wind_forecast_short_term(date, end=None, verbose=False)[source]#
Returns solar and wind generation forecast for +4 hours in 5 minute intervals. Include actuals for past day in 5 minute intervals.
Data from https://portal.spp.org/pages/shortterm-resource-forecast
- Parameters:
date (pd.Timestamp|str) – date to get data for. Supports “latest” and “today”
verbose (bool) – print info
- Returns:
forecast as dataframe.
- Return type:
pd.DataFrame
- get_ver_curtailments(date, end=None, verbose=False)[source]#
Get VER Curtailments
Supports recent data. For historical annual data use get_ver_curtailments_annual
- Parameters:
date – start date
end – end date