gridstatus / gridstatus/gridstatus

ISO-New England: Load Forecasts

Open
#267 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
445
Forks
87
Avg merge
1d 6h
Merged PRs (30d)
8

Description

New England's forecasting methodology is well-laid out in the Power System Forecast and Status section, with the following offerings:

  1. Three-Day System Demand Forecast
  2. Seven-Day Capacity Forecast
  3. 21-Day Energy Assessment Forecast
  4. Seasonal System Outlook

Their medium-term forecast equivalent is for today and the next two days. They offer a separate 3-day forecast product broken down by reliability region (roughly their load zones). The forecast is updated twice daily at 6:00am and 10:00am. The forecasts made ex post facto are not the actuals, evidence:

>>> from gridstatus import isone
>>> iso = isone.ISONE()
>>> iso.get_load_forecast(date="2023-08-23")
                        Time            Interval Start              Interval End             Forecast Time  Load Forecast
0  2023-08-23 00:00:00-04:00 2023-08-23 00:00:00-04:00 2023-08-23 01:00:00-04:00 2023-08-23 09:19:14-04:00          11350
1  2023-08-23 01:00:00-04:00 2023-08-23 01:00:00-04:00 2023-08-23 02:00:00-04:00 2023-08-23 09:19:14-04:00          10730
2  2023-08-23 02:00:00-04:00 2023-08-23 02:00:00-04:00 2023-08-23 03:00:00-04:00 2023-08-23 09:19:14-04:00          10340
3  2023-08-23 03:00:00-04:00 2023-08-23 03:00:00-04:00 2023-08-23 04:00:00-04:00 2023-08-23 09:19:14-04:00          10140
4  2023-08-23 04:00:00-04:00 2023-08-23 04:00:00-04:00 2023-08-23 05:00:00-04:00 2023-08-23 09:19:14-04:00          10240
5  2023-08-23 05:00:00-04:00 2023-08-23 05:00:00-04:00 2023-08-23 06:00:00-04:00 2023-08-23 09:19:14-04:00          10780
6  2023-08-23 06:00:00-04:00 2023-08-23 06:00:00-04:00 2023-08-23 07:00:00-04:00 2023-08-23 09:19:14-04:00          11560
7  2023-08-23 07:00:00-04:00 2023-08-23 07:00:00-04:00 2023-08-23 08:00:00-04:00 2023-08-23 09:19:14-04:00          11980
8  2023-08-23 08:00:00-04:00 2023-08-23 08:00:00-04:00 2023-08-23 09:00:00-04:00 2023-08-23 09:19:14-04:00          11740
9  2023-08-23 09:00:00-04:00 2023-08-23 09:00:00-04:00 2023-08-23 10:00:00-04:00 2023-08-23 09:19:14-04:00          11180
10 2023-08-23 10:00:00-04:00 2023-08-23 10:00:00-04:00 2023-08-23 11:00:00-04:00 2023-08-23 09:19:14-04:00          10940
11 2023-08-23 11:00:00-04:00 2023-08-23 11:00:00-04:00 2023-08-23 12:00:00-04:00 2023-08-23 09:19:14-04:00          10970
12 2023-08-23 12:00:00-04:00 2023-08-23 12:00:00-04:00 2023-08-23 13:00:00-04:00 2023-08-23 09:19:14-04:00          11130
>>> iso.get_load(date="2023-08-23").set_index('Time').resample('H').mean()
                                     Interval Start              Interval End          Load
Time                                                                                       
2023-08-23 00:00:00-04:00 2023-08-23 00:27:30-04:00 2023-08-23 00:32:30-04:00  11346.702833
2023-08-23 01:00:00-04:00 2023-08-23 01:27:30-04:00 2023-08-23 01:32:30-04:00  10724.741833
2023-08-23 02:00:00-04:00 2023-08-23 02:27:30-04:00 2023-08-23 02:32:30-04:00  10320.820333
2023-08-23 03:00:00-04:00 2023-08-23 03:27:30-04:00 2023-08-23 03:32:30-04:00  10120.088667
2023-08-23 04:00:00-04:00 2023-08-23 04:27:30-04:00 2023-08-23 04:32:30-04:00  10213.666667
2023-08-23 05:00:00-04:00 2023-08-23 05:27:30-04:00 2023-08-23 05:32:30-04:00  10743.434833
2023-08-23 06:00:00-04:00 2023-08-23 06:27:30-04:00 2023-08-23 06:32:30-04:00  11515.749000
2023-08-23 07:00:00-04:00 2023-08-23 07:27:30-04:00 2023-08-23 07:32:30-04:00  11948.227000
2023-08-23 08:00:00-04:00 2023-08-23 08:27:30-04:00 2023-08-23 08:32:30-04:00  11718.539250
2023-08-23 09:00:00-04:00 2023-08-23 09:27:30-04:00 2023-08-23 09:32:30-04:00  11205.578833
2023-08-23 10:00:00-04:00 2023-08-23 10:27:30-04:00 2023-08-23 10:32:30-04:00  10951.304000
2023-08-23 11:00:00-04:00 2023-08-23 11:27:30-04:00 2023-08-23 11:32:30-04:00  10964.352250
2023-08-23 12:00:00-04:00 2023-08-23 12:27:30-04:00 2023-08-23 12:32:30-04:00  11131.244833

The Seven-Day Capacity Forecast indicating the total Capacity Supply Obligation in MW. The forecast is used to identify capacity deficiencies several days in advance and triggers the commitment of generators with start times greater than 24 hours.

The 21-Day Forecast report does not come as a data series but rather a PDF report. View the 21-Day Energy Assessment Forecast and resulting forecasted system conditions: Normal, FEEA1, FEEA2, FEEA3. The forecast is based on current system conditions, forecasted weather, load, generators’ reports of stored-fuel inventories and emissions limitations, and status of fuel delivery systems.

The GridStatus client currently supports a "load forecast resampled to 5 minute intervals from hourly data."

Functionality expansion at the ISO level would allow load forecasting by reliability region.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing ISONE load forecast support shown through ISONE.get_load_forecast and review the ISO-NE forecast sources linked in the issue. Compare the current hourly forecast with the separate reliability-region product; done means the client exposes regional load forecasts in a documented, usable form and preserves the existing forecast behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-engineering
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.