Caiso

Contents

Caiso#

Submodules#

Package Contents#

Classes Summary#

CAISO

California Independent System Operator (CAISO)

Contents#

class gridstatus.caiso.CAISO[source]#

Bases: gridstatus.base.ISOBase

California Independent System Operator (CAISO)

Attributes

default_timezone

‘US/Pacific’

interconnection_homepage

https://rimspub.caiso.com/rimsui/logon.do

iso_id

‘caiso’

markets

None

name

‘California ISO’

status_homepage

https://www.caiso.com/TodaysOutlook/Pages/default.aspx

trading_hub_locations

[‘TH_NP15_GEN-APND’, ‘TH_SP15_GEN-APND’, ‘TH_ZP26_GEN-APND’]

Methods

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

get_curtailed_non_operational_generator_report(...)

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_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_intertie_constraint_shadow_prices_real_time_5_min(...)

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_lmp(date, market[, locations, sleep, end, verbose])

Get LMP pricing starting at supplied date for a list of locations.

get_lmp_hasp_15_min(→ pandas.DataFrame)

Get LMP HASP 15-min data from CAISO.

get_lmp_scheduling_point_tie_day_ahead_hourly(...)

get_lmp_scheduling_point_tie_real_time_15_min(...)

get_lmp_scheduling_point_tie_real_time_5_min(...)

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

get_nomogram_branch_shadow_price_forecast_15_min(...)

Returns 15-minute nomogram/branch shadow price forecast from the Real-Time Pre-Dispatch Market.

get_nomogram_branch_shadow_prices_day_ahead_hourly(...)

Returns hourly day-ahead nomogram/branch shadow price forecast.

get_nomogram_branch_shadow_prices_hasp_hourly(...)

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_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_system_load_and_resource_schedules_day_ahead(...)

Get CAISO System Load and Resource Schedules Day-Ahead data from CAISO.

get_system_load_and_resource_schedules_hasp(...)

Get CAISO System Load and Resource Schedules HASP data from CAISO.

get_system_load_and_resource_schedules_real_time_5_min(...)

Get CAISO System Load and Resource Schedules Real Time data from CAISO.

get_system_load_and_resource_schedules_ruc(...)

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_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_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 date parameter. Only specify one of date or start.

  • 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_interconnection_queue(verbose: bool = False) pandas.DataFrame[source]#
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_lmp(date: str | pandas.Timestamp, market: str, locations: list = None, sleep: int = 5, end: str | pandas.Timestamp = None, verbose: bool = False)[source]#

Get LMP pricing starting at supplied date for a list of locations.

Parameters:
  • date (datetime.date, str) – date to return data

  • market – market to return from. supports:

  • locations (list) – list of locations to get data from. If no locations are provided, defaults to NP15, SP15, and ZP26, which are the trading hub locations. USE “ALL_AP_NODES” for all Aggregate Pricing Node. Use “ALL” to get all nodes. For a list of locations, call CAISO.get_pnodes()

  • sleep (int) – number of seconds to sleep before returning to avoid hitting rate limit in regular usage. Defaults to 5 seconds.

Returns:

A DataFrame of pricing data

Return type:

pandas.DataFrame

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_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_pnodes(verbose: bool = False) pandas.DataFrame[source]#
get_raw_interconnection_queue(verbose: bool = False) pandas.DataFrame[source]#
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 Time column marks interval end; Interval Start is five minutes prior. Publish Time is midnight Pacific on the publication date encoded in the URL path.

get_stats(verbose: bool = False) dict[source]#
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

get_tie_flows_real_time_15_min(date: str | pandas.Timestamp, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
list_oasis_datasets(dataset: str | None = None)[source]#

List all available OASIS datasets and their parameters.

Parameters:

dataset (str, optional) – dataset to return data for. If None, returns all datasets.