Nyiso#
Module Contents#
Classes Summary#
New York Independent System Operator (NYISO) |
|
Enum where members are also (and must be) strings |
Attributes Summary#
Pricing data: |
|
Contents#
- gridstatus.nyiso.DATASET_INTERVAL_MAP: Dict[str, DatasetInterval][source]#
- class gridstatus.nyiso.DatasetInterval[source]#
Bases:
NamedTupleAttributes
interval_duration_minutes
None
time_type
None
- gridstatus.nyiso.LIMITING_CONSTRAINTS_DAY_AHEAD_DATASET = 'DAMLimitingConstraints'[source]#
Pricing data: https://www.nyiso.com/en/energy-market-operational-data
- class gridstatus.nyiso.NYISO[source]#
Bases:
gridstatus.base.ISOBaseNew York Independent System Operator (NYISO)
Attributes
default_timezone
‘US/Eastern’
interconnection_homepage
iso_id
‘nyiso’
markets
None
name
‘New York ISO’
status_homepage
Methods
get_as_prices_day_ahead_hourly(→ pandas.DataFrame)Pull the most recent ancillary service market report's market clearing prices
get_as_prices_real_time_5_min(→ pandas.DataFrame)Pull the most recent ancillary service market report's market clearing prices
get_btm_solar(→ pandas.DataFrame)Returns estimated BTM solar generation at a previous date in hourly
get_btm_solar_forecast(→ pandas.DataFrame)get_capacity_prices(→ pandas.DataFrame)Pull the most recent capacity market report's market clearing prices
get_fuel_mix(→ pandas.DataFrame)get_generators(→ pandas.DataFrame)Get a list of generators in NYISO. When possible return capacity and fuel type information
get_interconnection_queue(→ pandas.DataFrame)Return NYISO interconnection queue
get_interface_limits_and_flows_5_min(→ pandas.DataFrame)Get interface limits and flows for a date
get_lake_erie_circulation_day_ahead(→ pandas.DataFrame)get_lake_erie_circulation_real_time(→ pandas.DataFrame)get_limiting_constraints_day_ahead(→ pandas.DataFrame)get_limiting_constraints_real_time(→ pandas.DataFrame)get_lmp(→ pandas.DataFrame)Supported Markets:
get_load(→ pandas.DataFrame)Returns load at a previous date in 5 minute intervals for
get_load_forecast(→ pandas.DataFrame)Get load forecast for a date in 1 hour intervals
get_loads(→ pandas.DataFrame)Get a list of loads in NYISO
get_raw_interconnection_queue(→ BinaryIO)get_status(→ pandas.DataFrame)get_zonal_load_forecast(→ pandas.DataFrame)Get zonal load forecast for a date in 1 hour intervals
- get_as_prices_day_ahead_hourly(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
Pull the most recent ancillary service market report’s market clearing prices
- Parameters:
date (pandas.Timestamp) – date that will be used to pull latest capacity report (will refer to month and year)
- get_as_prices_real_time_5_min(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, end: str | pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Pull the most recent ancillary service market report’s market clearing prices
- Parameters:
date (pandas.Timestamp) – date that will be used to pull latest capacity report (will refer to month and year)
- get_btm_solar(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
- Returns estimated BTM solar generation at a previous date in hourly
intervals for system and each zone.
Available ~8 hours after the end of the operating day.
- Parameters:
date (str, pd.Timestamp, datetime.datetime) – Date to get load for. Can be “today”, or a date
end (str, pd.Timestamp, datetime.datetime) – End date for date range. Optional.
verbose (bool) – Whether to print verbose output. Optional.
- Returns:
BTM solar data for NYISO system and each zone
- Return type:
pandas.DataFrame
- get_btm_solar_forecast(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
- get_capacity_prices(date: pandas.Timestamp | None = None, verbose: bool = False) pandas.DataFrame[source]#
Pull the most recent capacity market report’s market clearing prices
- Parameters:
date (pandas.Timestamp) – date that will be used to pull latest capacity report (will refer to month and year)
- Returns:
a DataFrame of monthly capacity prices (all three auctions) for each of the four capacity localities within NYISO
- get_fuel_mix(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
- get_generators(verbose: bool = False) pandas.DataFrame[source]#
Get a list of generators in NYISO. When possible return capacity and fuel type information
- Returns:
a DataFrame of generators and locations
Possible Columns
Generator Name
PTID
Subzone
Zone
Latitude
Longitude
Owner, Operator, and / or Billing Organization
Station Unit
Town
County
State
In-Service Date
Name Plate Rating (V) MW
2024 CRIS MW Summer
2024 CRIS MW Winter
2024 Capability MW Summer
2024 Capability MW Winter
Is Dual Fuel
Unit Type
Fuel Type 1
Fuel Type 2
2023 Net Energy GWh
Notes
Generator Type
- Return type:
pandas.DataFrame
- get_interconnection_queue() pandas.DataFrame[source]#
Return NYISO interconnection queue
Additional Non-NYISO queue info: https://www3.dps.ny.gov/W/PSCWeb.nsf/All/286D2C179E9A5A8385257FBF003F1F7E?OpenDocument
- Returns:
Interconnection queue containing, active, withdrawn, and completed project
- Return type:
pandas.DataFrame
- get_interface_limits_and_flows_5_min(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get interface limits and flows for a date
- get_lake_erie_circulation_day_ahead(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
- get_lake_erie_circulation_real_time(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
- get_limiting_constraints_day_ahead(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
- get_limiting_constraints_real_time(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
- get_lmp(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, market: gridstatus.base.Markets | None = None, locations: list | None = None, location_type: NYISOLocationType | None = None, verbose: bool = False) pandas.DataFrame[source]#
- Supported Markets:
REAL_TIME_5_MIN(RTC)REAL_TIME_15_MIN(RTD)REAL_TIME_HOURLY(Real-time hourly LMP)DAY_AHEAD_HOURLY
- Supported Location Types:
zonegenerator
NOTE: the generator data contains the single Reference Bus location type.
REAL_TIME_5_MIN is the Real Time Dispatch (RTD) market. REAL_TIME_15_MIN is the Real Time Commitment (RTC) market. REAL_TIME_HOURLY is the real-time hourly LMP market. For documentation on real time dispatch and real time commitment, see: https://www.nyiso.com/documents/20142/1404816/RTC-RTD%20Convergence%20Study.pdf/f3843982-dd30-4c66-6c21-e101c3cb85af
- get_load(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
- Returns load at a previous date in 5 minute intervals for
each zone and total load
- Parameters:
date (str) – Date to get load for. Can be “today”, or a date in the format YYYY-MM-DD
end (str) – End date for date range. Optional.
verbose (bool) – Whether to print verbose output. Optional.
- Returns:
Load data for NYISO and each zone
- Return type:
pandas.DataFrame
- get_load_forecast(date: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp], end: str | pandas.Timestamp | tuple[pandas.Timestamp, pandas.Timestamp] | None = None, verbose: bool = False) pandas.DataFrame[source]#
Get load forecast for a date in 1 hour intervals
- get_loads() pandas.DataFrame[source]#
Get a list of loads in NYISO
- Returns:
a DataFrame of loads and locations
- Return type:
pandas.DataFrame