A package for accessing power system data (NYISOData
), generating statistics (NYISOStat
), and creating visualizations (NYISOVis
) from the New York Independent System Operator (NYISO).
Check out the NYISOToolkit Website!
pip install git+https://github.com/m4rz910/NYISOToolkit#egg=nyisotoolkit
Example:
from nyisotoolkit import NYISOData, NYISOStat, NYISOVis
df = NYISOData(dataset='load_h', year='2019').df # year argument in local time, but returns dataset in UTC
#If you need to work with data in local time, then convert time zone
df = df.tz_convert('US/Eastern')
#Construct datasets for certain years
years = ['2013','2019','2020']
datasets = ['load_h','interface_flows_5m']
NYISOData.construct_databases(years=years, datasets=datasets, redownload=True, reconstruct=True, create_csvs=False)
Raw Data Source: http://mis.nyiso.com/public/
Dataset Name | Resolution | Description |
---|---|---|
load_h |
hourly | day-ahead load by NYISO region |
load_5m |
5-min | real-time load by NYISO region |
load_forecast_h |
hourly | load forecast by NYISO region |
fuel_mix_5m |
5-min | real-time aggregated fuel mix data |
interface_flows_5m |
5-min | real-time flows between regions |
lbmp_dam_h |
hourly | day-ahead zonal Locational Based Marginal Price (LBMP) |
lbmp_rt_5m |
5-min | real-time zonal LBMP |
lbmp_dam_h_refbus |
hourly | day-ahead reference bus marginal cost of energy |
lbmp_rt_h_refbus |
hourly | time weighted average rt reference bus marginal cost of energy |
asp_rt |
5-min | real-time zonal ancillary service prices |
asp_dam |
hourly | day-ahead zonal ancillary service prices |
All datasets:
load_h
)load_5m
)load_forecast_h
)fuel_mix_5m
)interface_flows_5m
)Interface Name | Type | Mapping Name | Notes |
---|---|---|---|
CENTRAL EAST | Internal | CENTRAL EAST - VC |
|
DYSINGER EAST | Internal | DYSINGER EAST |
|
MOSES SOUTH | Internal | MOSES SOUTH |
|
SPR/DUN-SOUTH | Internal | SPR/DUN-SOUTH |
|
TOTAL EAST | Internal | TOTAL EAST |
|
UPNY CONED | Internal | UPNY CONED |
|
WEST CENTRAL | Internal | WEST CENTRAL |
|
HQ CHATEAUGUAY | External | SCH - HQ - NY |
|
HQ CEDARS | External | SCH - HQ_CEDARS |
|
HQ Import Export | External | SCH - HQ_IMPORT_EXPORT |
subset of HQ CHATEAUGUAY, excludes wheel-through |
NPX NEW ENGLAND (NE) | External | SCH - NE - NY |
|
NPX 1385 NORTHPORT (NNC) | External | SCH - NPX_1385 |
|
NPX CROSS SOUND CABLE (CSC) | External | SCH - NPX_CSC |
|
IESO | External | SCH - OH - NY |
|
PJM KEYSTONE | External | SCH - PJ - NY |
|
PJM HUDSON TP | External | SCH - PJM_HTP |
|
PJM NEPTUNE | External | SCH - PJM_NEPTUNE |
|
PJM LINDEN VFT | External | SCH - PJM_VFT |
lbmp_dam_h
)lbmp_rt_5m
)asp_rt
)asp_dam
)There are several visualizations currently supported - browse them on the NYISOToolkit Web App or in the nyisotoolkit/nyisovis/visualizations folder. The visualizations are focused on communicating New York's status toward achieving the power sector decarbonization goals outlined by the Climate Leadership and Community Protection Act (CLCPA).
No later than [June 13, 2021], the commission shall establish a program to require that:
- (A) A minimum of [70%] of the state wide electric generation secured by jurisdictional load serving entities to meet the electrical energy requirements of all end-use customers in New York State in [2030] shall be generated by renewable energy systems;
- (B) and that by [2040] the statewide electrical demand system will be zero emissions."
Source: CLCPA p.17
Example:
from nyisotoolkit import NYISOData, NYISOStat, NYISOVis
nv = NYISOVis(year='2019') #figures saved in nyisotoolkit/nyisovis/visualization folder by default.
nv.fig_carbon_free_timeseries(f='D') # daily (D) or monthy (M) frequency is recommended
print(f"Figures saved by default to: {nv.out_dir} \nYou can change this by passing a pathlib object to the out_dir parameter in the NYISOVis object initialization.")