Caiso#
Submodules#
Package Contents#
Classes Summary#
California Independent System Operator (CAISO) |
Contents#
- class gridstatus.caiso.CAISO[source]#
Bases:
gridstatus.base.ISOBaseCalifornia Independent System Operator (CAISO)
Attributes
default_timezone
‘US/Pacific’
interconnection_homepage
iso_id
‘caiso’
markets
None
name
‘California ISO’
status_homepage
trading_hub_locations
[‘TH_NP15_GEN-APND’, ‘TH_SP15_GEN-APND’, ‘TH_ZP26_GEN-APND’]
Methods
get_aggregated_generation_outages(→ pandas.DataFrame)Return hourly aggregated generator outages by trading hub.
get_as_prices(→ pandas.DataFrame)Return AS prices for a given date for each region
get_as_procurement(→ pandas.DataFrame)Get ancillary services procurement data from CAISO.
get_caiso_renewables_report(→ dict[str, pandas.DataFrame])Fetches the CAISO daily renewable report for a given date and extracts data from
Return curtailed non-operational generator report for a given date.
get_curtailment(→ pandas.DataFrame)Return curtailment data for a given date
get_curtailment_legacy(→ pandas.DataFrame)Return curtailment data for a given date.
get_edam_wind_solar_forecast(→ pandas.DataFrame)Day-ahead, hourly, BAA-level wind and solar forecasts for balancing
get_fuel_mix(→ pandas.DataFrame)Get fuel mix in 5 minute intervals for a provided day.
get_fuel_regions(→ pandas.DataFrame)Retrieves the (mostly static) list of fuel regions with associated data.
get_gas_prices(date[, end, fuel_region_id, sleep, verbose])Return gas prices at a previous date
get_ghg_allowance(date[, end, sleep, verbose])Return ghg allowance at a previous date
get_interconnection_queue(→ pandas.DataFrame)Get 5-min intertie constraint shadow prices from CAISO.
get_interval_nomogram_branch_shadow_prices_real_time_5_min(...)Get 5-min nomogram/branch shadow prices from CAISO.
get_ir_rc_prices(→ pandas.DataFrame)Return day-ahead nodal Imbalance Reserve and Reliability Capacity prices.
get_ir_rc_requirements_awards_2da(→ pandas.DataFrame)Return two-day-ahead hourly Imbalance Reserve requirements by BAA.
get_ir_rc_requirements_awards_3da(→ pandas.DataFrame)Return three-day-ahead hourly Imbalance Reserve requirements by BAA.
get_ir_rc_requirements_awards_dam(→ pandas.DataFrame)Return day-ahead hourly Imbalance Reserve requirements and
get_lmp(date, market[, locations, sleep, end, verbose])Deprecated. Use the per-dataset methods instead:
get_lmp_day_ahead_hourly(→ pandas.DataFrame)Get day-ahead hourly LMPs for all nodes.
get_lmp_hasp_15_min(→ pandas.DataFrame)Get LMP HASP 15-min data from CAISO.
get_lmp_real_time_15_min(→ pandas.DataFrame)Get real-time 15-minute LMPs for all nodes.
get_lmp_real_time_5_min(→ pandas.DataFrame)Get real-time 5-minute LMPs for all nodes.
Get LMP scheduling point tie combination 5-min data from CAISO.
get_load(→ pandas.DataFrame)Return load at a previous date in 5 minute intervals
get_load_forecast(→ pandas.DataFrame)get_load_forecast_15_min(→ pandas.DataFrame)Returns 15-minute load forecast from the Real-Time Pre-Dispatch Market
get_load_forecast_5_min(→ pandas.DataFrame)Returns 5-minute load forecast from the Real-Time Market
get_load_forecast_day_ahead(→ pandas.DataFrame)Returns hourly day-ahead load forecast
get_load_forecast_seven_day_ahead(→ pandas.DataFrame)Returns hourly seven-day-ahead load forecast
get_load_forecast_two_day_ahead(→ pandas.DataFrame)Returns hourly two-day-ahead load forecast
get_load_hourly(→ pandas.DataFrame)Returns actual load values
Returns 15-minute nomogram/branch shadow price forecast from the Real-Time Pre-Dispatch Market.
Returns hourly day-ahead nomogram/branch shadow price forecast.
Returns nomogram/branch shadow price HASP hourly data from CAISO.
get_oasis_dataset(→ pandas.DataFrame)Return data from OASIS for a given dataset
get_pnodes(→ pandas.DataFrame)get_price_corrections(→ pandas.DataFrame)Return CAISO price corrections (OASIS
PRC_CORR_GRPsummary).get_raw_interconnection_queue(→ pandas.DataFrame)get_renewables_forecast_dam(→ pandas.DataFrame)Return DAM renewable forecast in hourly intervals
get_renewables_forecast_hasp(→ pandas.DataFrame)Get solar and wind generation HASP hourly data from CAISO.
get_renewables_forecast_rtd(→ pandas.DataFrame)Get RTD renewable forecast from CAISO.
get_renewables_forecast_rtpd(→ pandas.DataFrame)Get RTPD renewable forecast from CAISO.
get_renewables_hourly(→ pandas.DataFrame)Get wind and solar hourly actuals from CAISO.
get_seven_day_resource_adequacy_outlook(→ pandas.DataFrame)Seven-day resource adequacy outlook in 5-minute intervals.
get_stats(→ dict)get_status(→ str)Get Current Status of the Grid. Only date="latest" is supported
get_storage(→ pandas.DataFrame)Return storage charging or discharging for today in 5 minute intervals
get_storage_awards_fmm(→ pandas.DataFrame)Energy and ancillary services awards for storage in the FMM (15-minute).
get_storage_awards_ifm(→ pandas.DataFrame)Energy and AS awards for storage in the IFM (energy at 5-minute, AS hourly).
get_storage_awards_rtd(→ pandas.DataFrame)Energy awards for storage in RTD (5-minute).
get_storage_energy_awards_ruc(→ pandas.DataFrame)RUC energy awards to storage (5-minute).
get_storage_energy_bids_fmm(→ pandas.DataFrame)FMM energy bid-in capacity by price bin (15-minute).
get_storage_energy_bids_ifm(→ pandas.DataFrame)IFM energy bid-in capacity by price bin (hourly).
get_storage_soc_fmm(→ pandas.DataFrame)State of charge for storage in the FMM (15-minute, standalone resources).
get_storage_soc_hourly(→ pandas.DataFrame)Hourly IFM and RUC state of charge (see
build_storage_soc_hourly).get_storage_soc_rtd(→ pandas.DataFrame)State of charge for storage in RTD (5-minute, standalone resources).
Get CAISO System Load and Resource Schedules Day-Ahead data from CAISO.
Get CAISO System Load and Resource Schedules HASP data from CAISO.
Get CAISO System Load and Resource Schedules Real Time data from CAISO.
Get CAISO System Load and Resource Schedules RUC data from CAISO.
get_tie_flows_real_time(→ pandas.DataFrame)Return real time tie flow data.
get_tie_flows_real_time_15_min(→ pandas.DataFrame)list_oasis_datasets([dataset])List all available OASIS datasets and their parameters.
- get_aggregated_generation_outages(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Return hourly aggregated generator outages by trading hub.
Outage MW is reported with an
Aggregatedhub-total column plus fuel-category breakdown columns where CAISO provides them. Some hubs (e.g. ZP26) publish only the aggregate; others publish Thermal, Renewable, Hydro, and sometimes Not Available.Aggregateduses the published value when present, otherwise the sum of the breakdown columns.- Parameters:
date (datetime.date, str) – date to return data
end (datetime.date, str) – last date of range to return data. If None, returns only date. Defaults to None.
sleep (int, optional) – seconds to sleep between requests. Defaults to 4.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame with one row per (Interval Start, Publish Time, Trading Hub), with outage MW by fuel category in separate columns.
- Return type:
pandas.DataFrame
- get_as_prices(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, market: str = 'DAM', sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Return AS prices for a given date for each region
- Parameters:
date (datetime.date, str) – date to return data
end (datetime.date, str) – last date of range to return data. If None, returns only date. Defaults to None.
market (str) – DAM or HASP. Defaults to DAM.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of AS prices
- Return type:
pandas.DataFrame
- get_as_procurement(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, market: str = 'DAM', sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Get ancillary services procurement data from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
market (str, optional) – DAM or RTM. Defaults to “DAM”.
sleep (int, optional) – number of seconds to sleep between requests. Defaults to 4.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of ancillary services data
- Return type:
pandas.DataFrame
- get_caiso_renewables_report(date: pandas.Timestamp) dict[str, pandas.DataFrame][source]#
Fetches the CAISO daily renewable report for a given date and extracts data from all the charts into wide dataframes.
- get_curtailed_non_operational_generator_report(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
- Return curtailed non-operational generator report for a given date.
Earliest available date is June 17, 2021.
- Parameters:
date (str, pd.Timestamp) – date to return data
end (str, pd.Timestamp, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of curtailed non-operational generator report
- Return type:
pandas.DataFrame
Notes
Column glossary: http://www.caiso.com/market/Pages/OutageManagement/Curtailed-OperationalGeneratorReportGlossary.aspx
If requesting multiple days, you may want to run the following to remove outages that get reported across multiple days:
df.drop_duplicates( subset=["OUTAGE MRID", "CURTAILMENT START DATE TIME"], keep="last", )
- get_curtailment(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Return curtailment data for a given date
- Parameters:
date (datetime.date, str) – date to return data
end (datetime.date, str) – last date of range to return data. If None, returns only date. Defaults to None.
verbose – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of curtailment data
- Return type:
pandas.DataFrame
- get_curtailment_legacy(date: str | pandas.Timestamp, verbose: bool = False) pandas.DataFrame[source]#
Return curtailment data for a given date.
Note
Data available from June 30, 2016 to May 31, 2025. For current data, please use
get_curtailment.- Parameters:
date – Date to return data.
verbose – Print out url being fetched. Defaults to False.
- Returns:
A DataFrame of curtailment data.
- get_edam_wind_solar_forecast(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Day-ahead, hourly, BAA-level wind and solar forecasts for balancing areas participating in the extended day-ahead market (EDAM).
Data at: http://oasis.caiso.com/mrioasis/logon.do at Energy > EDAM > Wind and Solar Forecast.
Per the OASIS Publications Schedule, the report is published every 30 minutes between 6:00 and 10:00 AM Pacific. The Publish Time on each row is the actual publish timestamp pulled from the
MessageHeader.TimeDateof the corresponding XML report, not a derived offset.- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
hourly EDAM wind and solar forecasts by BAA
- Return type:
pandas.DataFrame
- get_fuel_mix(date: str | pandas.Timestamp, start: str | pandas.Timestamp | None = None, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get fuel mix in 5 minute intervals for a provided day.
- Parameters:
date – “latest”, “today”, or an object that can be parsed as a datetime for the day to return data.
start – Start of date range to return. Alias for
dateparameter. Only specify one ofdateorstart.end – “today” or an object that can be parsed as a datetime for the day to return data. Only used if requesting a range of dates.
verbose – Print verbose output. Defaults to False.
- Returns:
A DataFrame with columns for Time and each fuel type.
- get_fuel_regions(verbose: bool = False) pandas.DataFrame[source]#
Retrieves the (mostly static) list of fuel regions with associated data. This file can be joined to the gas prices on Fuel Region Id
- get_gas_prices(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, fuel_region_id: str | list = 'ALL', sleep: int = 4, verbose: bool = False)[source]#
Return gas prices at a previous date
- Parameters:
date (datetime.date, str) – date to return data
end (datetime.date, str) – last date of range to return data. If None, returns only date. Defaults to None.
fuel_region_id (str, or list) – single fuel region id or list of fuel region ids to return data for. Defaults to ALL, which returns all fuel regions.
- Returns:
A DataFrame of gas prices
- Return type:
pandas.DataFrame
- get_ghg_allowance(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False)[source]#
Return ghg allowance at a previous date
- Parameters:
date (datetime.date, str) – date to return data
end (datetime.date, str) – last date of range to return data. If None, returns only date. Defaults to None.
- get_intertie_constraint_shadow_prices_real_time_5_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get 5-min intertie constraint shadow prices from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched.
- Returns:
A DataFrame with the intertie constraint shadow prices
- Return type:
pandas.DataFrame
- get_interval_nomogram_branch_shadow_prices_real_time_5_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get 5-min nomogram/branch shadow prices from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched.
- Returns:
A DataFrame with the shadow prices
- Return type:
pandas.DataFrame
- get_ir_rc_prices(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Return day-ahead nodal Imbalance Reserve and Reliability Capacity prices.
The Marginal Clearing Price for Reliability Capacity (RCU/RCD) is comprised of Capacity, Congestion, and Loss components, while Imbalance Reserves (IRU/IRD) only have Capacity and Congestion components (Loss is NaN).
- Parameters:
date (datetime.date, str) – date to return data
end (datetime.date, str) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of IR/RC prices with one row per (Interval Start, Location, Product). Earliest available date is May 1, 2026.
- Return type:
pandas.DataFrame
- get_ir_rc_requirements_awards_2da(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Return two-day-ahead hourly Imbalance Reserve requirements by BAA.
- Parameters:
date (datetime.date, str) – date to return data
end (datetime.date, str) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame with one row per (Interval Start, BAA, Product, Type). Earliest available date is May 1, 2026.
- Return type:
pandas.DataFrame
- get_ir_rc_requirements_awards_3da(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Return three-day-ahead hourly Imbalance Reserve requirements by BAA.
- Parameters:
date (datetime.date, str) – date to return data
end (datetime.date, str) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame with one row per (Interval Start, BAA, Product, Type). Earliest available date is May 1, 2026.
- Return type:
pandas.DataFrame
- get_ir_rc_requirements_awards_dam(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Return day-ahead hourly Imbalance Reserve requirements and Imbalance Reserve and Reliability Capacity awards by BAA.
- Parameters:
date (datetime.date, str) – date to return data
end (datetime.date, str) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame with one row per (Interval Start, BAA, Product, Type). Earliest available date is May 1, 2026.
- Return type:
pandas.DataFrame
- get_lmp(date: str | pandas.Timestamp, market: str, locations: list = None, sleep: int = 5, end: str | pandas.Timestamp = None, verbose: bool = False)[source]#
Deprecated. Use the per-dataset methods instead:
get_lmp_real_time_5_min(),get_lmp_real_time_15_min(),get_lmp_day_ahead_hourly().
- get_lmp_day_ahead_hourly(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, sleep: int = 5, verbose: bool = False) pandas.DataFrame[source]#
Get day-ahead hourly LMPs for all nodes.
- get_lmp_hasp_15_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get LMP HASP 15-min data from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of LMP HASP 15-min data
- Return type:
pandas.DataFrame
- get_lmp_real_time_15_min(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, sleep: int = 5, verbose: bool = False) pandas.DataFrame[source]#
Get real-time 15-minute LMPs for all nodes.
- get_lmp_real_time_5_min(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, sleep: int = 5, verbose: bool = False) pandas.DataFrame[source]#
Get real-time 5-minute LMPs for all nodes.
- get_lmp_scheduling_point_tie_day_ahead_hourly(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
- get_lmp_scheduling_point_tie_real_time_15_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
- get_lmp_scheduling_point_tie_real_time_5_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get LMP scheduling point tie combination 5-min data from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of LMP scheduling point tie combination 5-min data
- Return type:
pandas.DataFrame
- get_load(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Return load at a previous date in 5 minute intervals
- get_load_forecast(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
- get_load_forecast_15_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Returns 15-minute load forecast from the Real-Time Pre-Dispatch Market
- Parameters:
date (str | pd.Timestamp) – day to return
end (str | pd.Timestamp, optional) – end of date range to return. If None, returns only date. Defaults to None.
sleep (int) – seconds to sleep before returning to avoid rate limit. Defaults to 4.
verbose (bool) – print verbose output. Defaults to False.
- Returns:
DataFrame with load forecast data
- Return type:
pd.DataFrame
- get_load_forecast_5_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Returns 5-minute load forecast from the Real-Time Market
- Parameters:
date (str | pd.Timestamp) – day to return
end (str | pd.Timestamp, optional) – end of date range to return. If None, returns only date. Defaults to None.
sleep (int) – seconds to sleep before returning to avoid rate limit. Defaults to 4.
verbose (bool) – print verbose output. Defaults to False.
- Returns:
DataFrame with load forecast data
- Return type:
pd.DataFrame
- get_load_forecast_day_ahead(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Returns hourly day-ahead load forecast
- Parameters:
date (str | pd.Timestamp) – day to return
end (str | pd.Timestamp, optional) – end of date range to return data. If None, returns only date. Defaults to None.
sleep (int) – seconds to sleep before returning to avoid rate limit. Defaults to 4.
verbose (bool) – print verbose output. Defaults to False.
- Returns:
DataFrame with load forecast data
- Return type:
pd.DataFrame
- get_load_forecast_seven_day_ahead(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Returns hourly seven-day-ahead load forecast
- Parameters:
date (str | pd.Timestamp) – day to return
end (str | pd.Timestamp, optional) – end of date range to return data. If None, returns only date. Defaults to None.
sleep (int) – seconds to sleep before returning to avoid rate limit. Defaults to 4.
verbose (bool) – print verbose output. Defaults to False.
- Returns:
DataFrame with load forecast data
- Return type:
pd.DataFrame
- get_load_forecast_two_day_ahead(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Returns hourly two-day-ahead load forecast
- Parameters:
date (str | pd.Timestamp) – day to return
end (str | pd.Timestamp, optional) – end of date range to return data. If None, returns only date. Defaults to None.
sleep (int) – seconds to sleep before returning to avoid rate limit. Defaults to 4.
verbose (bool) – print verbose output. Defaults to False.
- Returns:
DataFrame with load forecast data
- Return type:
pd.DataFrame
- get_load_hourly(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Returns actual load values
- Parameters:
date (str | pd.Timestamp) – day to return
end (str | pd.Timestamp, optional) – end of date range to return. If None, returns only date. Defaults to None.
sleep (int) – seconds to sleep before returning to avoid rate limit. Defaults to 4.
verbose (bool) – print verbose output. Defaults to False.
- Returns:
DataFrame with actual load data
- Return type:
pd.DataFrame
- get_nomogram_branch_shadow_price_forecast_15_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Returns 15-minute nomogram/branch shadow price forecast from the Real-Time Pre-Dispatch Market.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched.
- Returns:
A DataFrame with the shadow price forecast
- Return type:
pandas.DataFrame
- get_nomogram_branch_shadow_prices_day_ahead_hourly(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Returns hourly day-ahead nomogram/branch shadow price forecast.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched.
- Returns:
A DataFrame with the shadow price forecast
- Return type:
pandas.DataFrame
- get_nomogram_branch_shadow_prices_hasp_hourly(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Returns nomogram/branch shadow price HASP hourly data from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched.
- Returns:
A DataFrame with the shadow price HASP data
- Return type:
pandas.DataFrame
- get_oasis_dataset(dataset: str, date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, params: dict | None = None, raw_data: bool = True, sleep: int = 5, verbose: bool = False) pandas.DataFrame[source]#
Return data from OASIS for a given dataset
- Parameters:
dataset (str) – dataset to return data for. See CAISO.list_oasis_datasets for supported datasets
date (str, pd.Timestamp) – date to return data
end (str, pd.Timestamp, optional) – last date of range to return data. If None, returns only date. Defaults to None.
params (dict) – dictionary of parameters to pass to dataset. See CAISO.list_oasis_datasets for supported parameters
raw_data (bool, optional) – return raw data from OASIS. Defaults to True.
sleep (int, optional) – number of seconds to sleep between requests. Defaults to 5.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Raises:
ValueError – if parameter is not supported for dataset
ValueError – if parameter value is not supported for dataset
- Returns:
A DataFrame of data from OASIS
- Return type:
pd.DataFrame
- get_price_corrections(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, sleep: int = 4, verbose: bool = False) pandas.DataFrame[source]#
Return CAISO price corrections (OASIS
PRC_CORR_GRPsummary).CAISO reprices an operating day when it detects an error in published prices and posts a structured summary of every correction to the
PRC_CORR_GRPreport group. Each row describes a single corrected interval: the trade date (operating day) and market that were corrected, the hour ending and interval, the correction method and reason, and the time the correction was generated.The report is keyed by trade date and serves one day per request, so a range is fetched one day at a time. A correction is typically generated several days to two weeks after the trade date, so
Report Generatedis the column to use when selecting recently issued corrections.- Parameters:
date (datetime.date, str) – start of the trade-date range.
end (datetime.date, str) – end of the trade-date range. If None, returns only
date. Defaults to None.sleep (int) – seconds to sleep between requests to avoid the OASIS rate limit. Defaults to 4.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
one row per corrected interval with columns
Trade Date(the corrected operating day),Hour Ending,Interval,Market(e.g.DAM,RTD,RTPD),Affected Area,Correction Method,Correction Count,Energy Type,Correction ReasonandReport Generated(when the correction was issued).Trade DateandReport Generatedare Pacific-localized timestamps.- Return type:
pandas.DataFrame
- Raises:
NoDataFoundException – if no corrections were issued for the range.
- get_renewables_forecast_dam(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Return DAM renewable forecast in hourly intervals
Data at: http://oasis.caiso.com/mrioasis/logon.do at System Demand > DAM Renewable Forecast
- get_renewables_forecast_hasp(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get solar and wind generation HASP hourly data from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of solar and wind generation HASP hourly data
- Return type:
pandas.DataFrame
- get_renewables_forecast_rtd(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get RTD renewable forecast from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of RTD renewable forecast
- Return type:
pandas.DataFrame
- get_renewables_forecast_rtpd(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get RTPD renewable forecast from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of RTPD renewable forecast
- Return type:
pandas.DataFrame
- get_renewables_hourly(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get wind and solar hourly actuals from CAISO.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of wind and solar hourly actuals
- Return type:
pandas.DataFrame
- get_seven_day_resource_adequacy_outlook(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Seven-day resource adequacy outlook in 5-minute intervals.
Source:
/outlook/history/{{yyyymmdd}}/rtm_forecast_7day.csv(historical) or current outlook for today.The CSV
Timecolumn marks interval end;Interval Startis five minutes prior.Publish Timeis midnight Pacific on the publication date encoded in the URL path.
- get_status(date: str = 'latest', verbose: bool = False) str[source]#
Get Current Status of the Grid. Only date=”latest” is supported
Known possible values: Normal, Restricted Maintenance Operations, Flex Alert
- get_storage(date: str | pandas.Timestamp, verbose: bool = False) pandas.DataFrame[source]#
Return storage charging or discharging for today in 5 minute intervals
Negative means charging, positive means discharging
- Parameters:
date (datetime.date, str) – date to return data
- get_storage_awards_fmm(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Energy and ancillary services awards for storage in the FMM (15-minute).
- get_storage_awards_ifm(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Energy and AS awards for storage in the IFM (energy at 5-minute, AS hourly).
- get_storage_awards_rtd(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Energy awards for storage in RTD (5-minute).
- get_storage_energy_awards_ruc(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
RUC energy awards to storage (5-minute).
- get_storage_energy_bids_fmm(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
FMM energy bid-in capacity by price bin (15-minute).
- get_storage_energy_bids_ifm(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
IFM energy bid-in capacity by price bin (hourly).
- get_storage_soc_fmm(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
State of charge for storage in the FMM (15-minute, standalone resources).
- get_storage_soc_hourly(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Hourly IFM and RUC state of charge (see
build_storage_soc_hourly).
- get_storage_soc_rtd(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
State of charge for storage in RTD (5-minute, standalone resources).
- get_system_load_and_resource_schedules_day_ahead(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get CAISO System Load and Resource Schedules Day-Ahead data from CAISO.
- get_system_load_and_resource_schedules_hasp(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get CAISO System Load and Resource Schedules HASP data from CAISO.
- get_system_load_and_resource_schedules_real_time_5_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get CAISO System Load and Resource Schedules Real Time data from CAISO.
- get_system_load_and_resource_schedules_ruc(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get CAISO System Load and Resource Schedules RUC data from CAISO.
- get_tie_flows_real_time(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Return real time tie flow data.
- Parameters:
date (str | pd.Timestamp) – date to return data
end (str | pd.Timestamp | None, optional) – last date of range to return data. If None, returns only date. Defaults to None.
verbose (bool, optional) – print out url being fetched. Defaults to False.
- Returns:
A DataFrame of real time tie flow data
- Return type:
pd.DataFrame