ISO New England — Capacity Expansion Plan
Master Documentation
ISO New England (PSS/E network area 101, FERC‑714 respondent 76) modeled with the same methodology as SPP: substation‑based network reduction → Ward equivalencing → capacity‑expansion optimization. It was produced by parameterizing the SPP pipeline by region (a registry + --region flag); SPP results are unchanged.
1. Overview
| ISO‑NE | (SPP, for reference) | |
|---|---|---|
| Network area(s) | 101 | 23 areas |
| FERC‑714 respondent | 76 (ISO New England Inc.) | 146 |
| Raw buses in footprint | 4,906 | 11,610 |
| Reduced buses | 440 (8.97%, 11.15×) | 1,304 |
| Reduced lines | 1,278 | 3,626 |
| Existing fleet | 22,459 MW | — |
| 2024 peak load | 24,854 MW (FERC‑714) → 23,899 MW (PSS/E snapshot) | — |
| Reference CEP cost | $76.2B NPV | $298.5B |
Source network: data/source/2024ITPFinal-24S.raw (2024 ITP, REV 35) — ISO‑NE is an area‑101 carve‑out of the same Eastern‑Interconnection case used for SPP.
2. Network reduction (4,906 → 440)
Buses in the same physical substation are grouped and collapsed to one representative. Grouping criteria (identical to SPP):
- Transformers (any 2‑/3‑winding) → same substation
- Low‑impedance lines (|Z| < 0.001 pu, non‑cable) → bus ties
- Short lines (< 2 miles) → same switchyard
Each group is represented by its highest‑voltage bus. Degree‑1 radial taps are absorbed; the retained set = subgraph representatives plus degree‑≥3 junctions, all at ≥ 69 kV. Remaining buses are removed by Ward reduction (their injections/flows fold into the retained set as equivalent lines + injections).
Result: 440 retained buses, 1,278 equivalent lines, single connected component.
3. Generator technology (22,459 MW)
ISO‑NE has no PROMOD coverage, so technology is classified by layering three national sources (most authoritative first): EIA bus‑match (Generator_to_PSSE_Bus_Match_Finale.xlsx) → In_PSSEData (PSSE_Gens_Tech_latest) → GenData gen‑sheet heuristic. Result: 0.9% Unknown.
| Category | MW | Category | MW | |
|---|---|---|---|---|
| Combined Cycle | 9,304 | Oil GT/ST | 906 | |
| Nuclear (Seabrook, Millstone) | 3,527 | Coal ST | 645 | |
| Gas CT | 2,303 | Solar (existing) | 667 | |
| Pumped Storage (Northfield, Bear Swamp) | 1,507 | Wind (existing) | 518 | |
| Biomass | 1,125 | Gas ST | 666 | |
| Hydro | 1,056 | Battery | 21 |
Gas‑dominant (~55%), with significant nuclear, pumped storage, biomass and oil peakers — characteristic of the ISO‑NE fleet.
4. Load
- Source: FERC‑714 respondent 76 hourly demand (2024), national parquet.
- 2024 peak: 24,854 MW (7 pm EDT, July 16) → scaled to the PSS/E snapshot total 23,899 MW, distributed to buses by Ward load share.
- Time zone: America/New_York (so diurnal blocks align with capacity factors).
- Shape: summer‑peaking. Sectionalized into 4 seasons × 4 blocks + 1 peak hour.
Hours per Season × Block (sum 8,760):
| Season | B1 night | B2 morning | B3 afternoon | B4 evening |
|---|---|---|---|---|
| Winter | 720 | 630 | 450 | 360 |
| Spring | 735 | 644 | 460 | 368 |
| Summer | 736 | 644 | 460 | 367 |
| Fall | 729 | 637 | 455 | 364 |
| Peak | 1 | – | – | – |
Growth scenarios (single‑rate proxies for ISO‑NE studies): low 0.9% (historical), reference 1.7% (2024 CELT), high 3.5% (deep‑decarbonization electrification). Limitation: a single uniform rate cannot reproduce ISO‑NE's faster winter‑peak (heat‑pump) growth or the projected summer→winter peak flip.
5. Renewables
Investible (candidate) capacity — NREL reV supply curves, three access scenarios. Each renewable point is mapped to its nearest of all 4,897 area‑101 buses (full network), then rolled up to the 440 representatives; investible capacity at a bus = Σ point MW. Sites are clipped to the 6 ISO‑NE states (ME/NH/VT/MA/RI/CT).
| Scenario | Wind | Solar |
|---|---|---|
| limited | 97 GW | 667 GW |
| reference | 206 GW | 1,761 GW |
| open | 305 GW | 4,058 GW |
Capacity‑factor shapes — from the NOAA HRRR backcast (2024). A bus's CF shape = its points' shapes weighted by point MW. CF varies by every Season × Block:
- Wind mean ≈ 0.38; Solar mean ≈ 0.26.
- Solar is ≈ 0.5 midday, 0 at night, and ≈ 0.006 at the (7 pm) system peak — so solar earns almost no capacity credit; wind ≈ 0.23 at peak.
6. CEP model
Gurobi LP, DC optimal power flow, planning years 2024 / 2029 / 2034 / 2039 / 2044 / 2049. Carbon‑emission cap enforced (−2 %/yr trajectory); planning reserve margin 15 %; value of lost load $9,000/MWh; load‑shedding slack at every bus.
7. Scenario results
3 load scenarios at reference renewables, plus a high‑load renewable bracket:
| Scenario | NPV cost | Wind | Solar | Gas CT | CC | Shed |
|---|---|---|---|---|---|---|
| low (0.9 %) | $66.8B | 13.9 | 12.3 | 7.1 | 0.4 | 0 |
| reference (1.7 %) | $76.2B | 16.2 | 17.8 | 8.4 | 4.1 | 0 |
| high (3.5 %) | $104.6B | 44.5 | 21.9 | 19.6 | 8.8 | 0 |
| high × limited renewables | $118.6B | 56.9 | 30.6 | 13.1 | 9.8 | 13 MWh |
| high × open renewables | $103.4B | 43.4 | 20.0 | 20.6 | 8.7 | 0 |
| ref × capped (1 GW/bus) | $76.3B | 16.6 | 18.1 | 8.4 | 3.8 | 0 |
| high × capped (1 GW/bus) | $105.7B | 43.2 | 27.2 | 16.8 | 10.0 | 0 |
(Build in GW added 2024→2049.) Findings:
- Load is the dominant driver — cost ranges 66.8B → 104.6B across the growth band.
- Renewable access is non‑binding at low/reference load (candidate capacity ≫ what is built) but binds at high load: restricting to limited access costs +$14B and forces a costlier, wind‑heavier build with a sliver of shedding. Reference ≈ open.
- All cases solve OPTIMAL with ~zero load shedding — the system is resource‑adequate under the carbon cap given real renewable capacity factors.
Formal scenario reduction is unnecessary (small deterministic grid); a screening design (vary the binding dimension, test the other) gave the full picture in 5 solves.
8. Caveats / lower‑fidelity items (vs a production ISO‑NE study)
- Candidate renewable capacity is uncapped (raw reV technical potential — reference solar ≈ 1,761 GW ≈ 70× peak). Tested with a per‑bus cap scenario (1 GW/bus,
--candcap-renewable-max 1000): cost rises only +0.1B at reference** and **+1.1B (~1%) at high load. So the optimum is robust to a realistic interconnection cap — the absurd‑looking uncapped potential is never heavily exploited (renewables spread across buses naturally). The cap mildly redistributes the high‑load build (less wind concentration, more solar + CC). - ~31 % of pre‑reduction generator capacity rests on the name/sheet heuristic layer (not EIA‑matched).
- Single‑rate load growth cannot capture ISO‑NE's winter‑peak electrification or the summer→winter flip; the 2024 load shape is frozen across the horizon.
- ISO‑NE is an area‑101 carve‑out of the SPP‑ITP case; no neighbor (NY/HQ/NB) imports are modeled — consistent with SPP's self‑contained methodology.
- 194 of 4,897 buses lack OSM coordinates and are dropped from renewable siting.
9. How to reproduce
Environment: /local/alij/anaconda3/bin/python (Python 3.13 + numba + Gurobi).
python generators/build_region_gen_tech.py --region isone # gen technology
python reduction/run_subgraph_ward.py --region isone # reduction → 440 buses
python reduction/load_analysis.py --region isone # FERC-714 load
python reduction/build_region_renewables.py --region isone # siting (3 scenarios)
python reduction/aggregate_capacity_factors.py --region isone --scenario reference \
--wind-parquet /research/alij/backcast2024_rev/outputs/wind_output_baseline_2023_12_to_2025_01_UTC_hourly.parquet \
--solar-parquet /research/alij/backcast2024_rev/outputs/solar_output_power_baseline_20231231_to_20250101_UTC_hourly.parquet \
--output-dir data/processed/capacity_factors
python reduction/build_cep_full_dataset.py --region isone # CEP dataset
python reduction/cep_model.py --region isone \
--input data/processed/cep/In_DatasetISONE.xlsx \
--output data/processed/cep/results_isone --no-crossover # solve
python reduction/cep_dashboard.py --region isone \
--results data/processed/cep/results_isone --input data/processed/cep/In_DatasetISONE.xlsx \
--output data/processed/cep/isone_dashboard.html # dashboard
Scenario runs use load_analysis.py --load-growth <pct> and build_cep_full_dataset.py --renewable-scenario <limited|reference|open>.