NYISOToolkit

Access data, statistics, and visualizations for New York's electricity grid.

https://github.com/m4rz910/NYISOToolkit

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary

Keywords

analysis clcpa clean-energy data datascience datasets decarbonization electricity energy kaggle kaggle-competition kaggle-dataset machine-learning ml newyork nyiso renewable-energy visualization
Last synced: 5 months ago · JSON representation

Repository

Access data, statistics, and visualizations for New York's electricity grid.

Basic Info
  • Host: GitHub
  • Owner: m4rz910
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 52.4 MB
Statistics
  • Stars: 60
  • Watchers: 4
  • Forks: 3
  • Open Issues: 9
  • Releases: 4
Topics
analysis clcpa clean-energy data datascience datasets decarbonization electricity energy kaggle kaggle-competition kaggle-dataset machine-learning ml newyork nyiso renewable-energy visualization
Created over 5 years ago · Last pushed 9 months ago
Metadata Files
Readme License

README.md

NYISOToolkit

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!

CLCPA

How to Install

python pip install git+https://github.com/m4rz910/NYISOToolkit#egg=nyisotoolkit

NYISOData

Example: ```python 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 = ['loadh','interfaceflows5m'] NYISOData.constructdatabases(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:

  • Timezone: Coordinated Universal Time [UTC]
  • Frequency: Hourly or 5-mins. The raw data sometimes has higher or lower frequency than intended, but this library uses mean values to resample at the intended frequency. When interpolations are necessary, they are made. Some datasets only come in one frequency.
  • Datetime Convention: Start. The value(s)/measurement(s) associated with each timestamp occurred in the time period before the start of the next timestamp.

More Dataset Information

Load (load_h)

  • "Integrated Real-Time Actual Load is posted after each hour and represents the timeweighted hourly load for each zone" (NYISO Market Participant Guide p.62)
  • Units: Power [MW]
  • Frequency: Hour

Load (load_5m)

  • "Real-Time Actual Load posts the actual measured load for each RTD interval (5 minutes) by zone. Actual loads are calculated as generation plus net interchange for each zone, based on real-time telemetered data." (NYISO Market Participant Guide p.62)
  • Units: Power [MW]
  • Frequency: 5-min

Load Forecast (load_forecast_h)

  • "Weather forecast information grouped by zone is input into a neural network forecaster tool to produce a preliminary zonal load forecast for each hour of the following day. The tool makes use of historical load and weather patterns." (NYISO Market Participant Guide p.25)
  • Units: Power [MW]
  • Frequency: Hour

Fuel Mix (fuel_mix_5m)

  • Units: Power [MW]
  • Frequency: 5-min

Interface Flows (interface_flows_5m)

  • "Internal/ External Interface Limits and Flows consist of hourly limits (for all major internal interfaces, HQ, NE, PJM, and OH) and flows (for HQ, NE, PJM, and OH) in SCUC and time-weighted average hourly flows (for the same interfaces) in RTD. The data is posted at least day-after or sooner." (NYISO Market Participant Guide p.59)
  • Units: Power MW
  • Frequency: 5-min

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 (lbmp_dam_h)

  • NYISO Market Participant Guide
  • Units: Price [$/MWh]
  • Frequency: Hour

LBMP (lbmp_rt_5m)

  • NYISO Market Participant Guide
  • Units: Price [$/MWh]
  • Frequency: Hour

Ancillary Service Price (asp_rt)

  • Units: Price [$/MWh]
  • Frequency: Hour

Ancillary Service Price (asp_dam)

  • Units: Price [$/MWh]
  • Frequency: 5-min

NYISOVis

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:

python 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.") CLCPA

Owner

  • Name: Zach Tzavelis
  • Login: m4rz910
  • Kind: user

zt910@pm.me

GitHub Events

Total
  • Watch event: 9
  • Push event: 1
  • Create event: 1
Last Year
  • Watch event: 9
  • Push event: 1
  • Create event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 201
  • Total Committers: 4
  • Avg Commits per committer: 50.25
  • Development Distribution Score (DDS): 0.104
Past Year
  • Commits: 13
  • Committers: 2
  • Avg Commits per committer: 6.5
  • Development Distribution Score (DDS): 0.154
Top Committers
Name Email Commits
m4rz910 t****z@g****m 180
the-great-shazbot w****w@g****m 10
Mike Welch m****0@g****m 9
m4rz910 z****s@e****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 20
  • Total pull requests: 10
  • Average time to close issues: 3 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 3
  • Total pull request authors: 4
  • Average comments per issue: 0.3
  • Average comments per pull request: 0.5
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • m4rz910 (18)
  • andrew-harding-gh (1)
  • reriley (1)
Pull Request Authors
  • m4rz910 (5)
  • andrew-harding-gh (2)
  • mike-welch (2)
  • dependabot[bot] (1)
Top Labels
Issue Labels
documentation (1) good first issue (1)
Pull Request Labels
dependencies (1) python (1)

Dependencies

setup.py pypi
  • matplotlib >=3.2.2
  • pandas >=1.0.5
  • pytest >=6.0.1
  • pytz >=2020.1
  • pyyaml >=5.3.1
  • requests >=2.24.0
  • seaborn *