The Record We Won’t Know for Sixty Days
Attachment O’s first real test, and how the Eastern Interconnection threaded the needle over the 250th Independence Day
Last week was one for the record books in power system operation. Massive heat, massive load, and for a lot of utilities, the first real test of load growth we’ve seen since the early 2000s. The good news: operationally, we made it — no firm load shed. The bad news: we danced with the devil most of the week. Making it through doesn’t mean the system is fine; it means the stop-gaps held. Add another 20 GW of load next summer, and they might not.
At 5:01 PM (17:01) on July 2nd, the Locational Marginal Price (LMP) for the PJM RTO reached $1,139.32/MWh. Shortage Pricing was active, a Potential PAI flag was attached to the emergency action in progress, and instantaneous load was still climbing against every forecast curve that said it should be falling. That produced a flurry of activity in the Northern Virginia/District of Columbia corridor to hold the system together. The system operators earned their pay that day. No AI in control here.
So why the title? We won’t get the final, studied after-action reports — the ones where every fact is checked, every timestamp cross-referenced, the math run and re-run — out of NERC, PJM, MISO, ISO-NE, and NYISO for at least sixty days. It takes that long to gather the facts, verify the timestamps against each other, run the numbers, and convert an engineering report into a legal document fit for public consumption. Some of the language gets softened along the way to make it politically palatable, but that’s genuinely how long it takes to get to the facts. So, let’s set up the week with what we know right now.
Where It Starts — Monday, June 29th
PJM knew things were getting hot and started making preparations early.
They issued a maintenance recall — the early warning that gives facilities time to button up whatever they’re working on and get equipment back in service. If you don’t, your outage gets converted to a forced outage, and that counts against your reliability calculation. Dollars and cents.
PJM requested authority from DOE to call on standby generators, citing the new Manual 13 Revision 98, which adds Attachment O — a procedure that officially wasn’t considered effective until July 23rd. The new procedure puts a formal path in place for future requests like this one. This is the third time PJM has requested and been granted this authority in 2026. This isn’t going away.
That same day, a derecho tore through central South Dakota — 131 mph straight-line winds near Highmore, in Hyde County — and critically damaged two ENGIE wind farms, the 250 MW Triple H project and the 200 MW North Bend project. The same storm system tracked east, causing large outages across Michigan’s Upper Peninsula, Ontario, and Québec. It reignited into severe thunderstorms along nearly the same path every afternoon for several days running, stretching restoration out for days in some places.
All of this was happening while Europe was emerging from its own multi-week heat dome. The human cost of that heat dome has been well documented here; the energy impact on Europe’s grid is a separate story I’ll cover soon.
The Dominion/Northern Virginia Zone — The Structural Trap
You’ve heard me say this before: if the PJM power system ever collapses, the most likely point of origin is the region around Washington, DC. Why, and how did we get here? The short answer is politics, in the most political zone in the nation. Let’s look at it piece by piece.
Loudoun County, Virginia has the largest concentration of data centers on Earth. It’s not a slight majority either — this is the epicenter. They’re there to serve data services for the federal government, the military, and the contractors who support those agencies. Data centers invite more data centers, and the buildout has simply exploded. That’s a massive amount of load sitting in a relatively transmission-poor region.
Political pressure against coal shut down Brandon Shores power station years ahead of its planned retirement. Normally a utility runs engineering studies years in advance of a retirement, and the required system support is already in place and operating before the plant comes off the grid. Politics doesn’t work that way, and a badly needed asset got pulled out of an already-challenged point on the interconnection.
The Coastal Virginia Offshore Wind (CVOW) project is years behind schedule. This project was cited as a reason Brandon Shores was no longer needed — even while it remained incomplete. CVOW won’t provide ancillary services like voltage support, but it would have helped with energy in the region. It could also introduce transmission issues of its own once it’s actually in service.
The PATH 765 kV project died the death of a thousand cuts, mired in well-funded NIMBY litigation until its promoters finally surrendered and canceled it.
What comes through all of this is that the area is served by three utilities that don’t coordinate well on their shared problems — Baltimore Gas & Electric, Dominion, and Delmarva. Cooperation across the region is fractured, and every one of these competing agendas gets handled as a standalone project instead of a systems-engineering problem. The result, more often than not, is that nothing gets solved.
The Escalation — Tuesday, June 30th
On Tuesday, the stress starts showing up.
PJM issues an EEA1. MORRISVL-LOUDOUN4 hits 2,913 MVA, and PJM posts a Post Contingency Local Load Relief Warning: No Generation or Switching Available. Line-loading issues in the Loudoun corridor start to appear.
Secretary Wright signs both 202(c) orders, effective 11:59 PM (23:59) — a 50 MW threshold, 15-minute switchover requirement. PJM gets the demand response authority it asked for, in its pocket.
Offline capacity margin context: PJM is running 15,000–22,000 MW offline all week against a ~34,700 MW historical average. The cushion was thin before the peak even hit.
The Climax — Thursday, July 2nd
Before PJM’s afternoon even started, New York took its own hit. The Champlain Hudson Power Express — the brand-new 1,250 MW HVDC tie bringing Hydro-Québec power into Astoria, roughly 20% of NYC’s peak demand — tripped at the Hertel converter station on the Québec side at approximately 5:30 AM. The line had only gone commercial on June 1st, and NYC had already leaned on it as a reason to let some oil-fired generation retire. It stayed off for roughly 24 hours while Hydro-Québec made repairs on their end — right in the middle of the same heat wave that was building toward PJM’s afternoon.
One footnote worth naming: PJM’s emergency board gives a timestamped, ID-numbered account of every action it took that week, which is how this whole piece can be reconstructed to the minute. NYISO’s public footprint on the CHPE outage amounted to a spokesperson’s quote and a vague “sometime between Wednesday and Thursday morning.” Same industry, same continent, two very different disclosure cultures — and readers used to the minute-by-minute PJM timeline below will notice the difference the moment we cross state lines.
Then the day itself, in the Dominion zone:
Between July 1st and July 2nd, PJM’s Emergency Procedures board named 14 different Dominion facilities in Post Contingency Local Load Relief Warning messages — 22 messages total. Four facilities were named a combined 12 times over that stretch. Extend the window to July 3rd and the total climbs to 31 messages against those same 14 facilities — no new fault points showed up, the system just kept re-hitting the ones it already had. A few of those facilities hit the identical MVA figure on both days, which isn’t a coincidence of fluctuating load — it’s a fixed equipment limit getting re-tested at nearly the same hour on back-to-back afternoons.
At 5:00 PM (17:00), PJM declares EEA2 and fires all three demand response tiers — Long_120, Short_60, Quick_30 — simultaneously. The load trend flattens for a few minutes, then starts climbing again.
At 5:18 PM (17:18), a Maximum Generation Emergency Action for MIDATL/SOUTHERN goes out, requiring any generation in the area to ramp to full load. This is the emergency, price-doesn’t-matter order.
At 5:32 PM (17:32), an Attachment O warning goes out — Transmission Security, not capacity. It’s not clear from the record whether this warning ever crossed into an actual directive to switch specific loads to backup generation, but the message itself tells you how close PJM was willing to go. We’ll learn more once the 60-day review is in.
The entire PJM footprint is pricing above $500/MWh simultaneously — there is no unconstrained pocket anywhere on the map.
LMPs go to extremes across the RTO: PEPCO $2,980/MWh, BGE $2,861/MWh, Western Hub day-ahead settling at $1,222.75/MWh.
At 5:55 PM (17:55), load is still trending up. Every demand response tier has been exhausted. PJM is out of tools.
At 6:02 PM (18:02), the LMP market breaks and load starts trending down. We made it.
PJM’s own framing, after the fact: roughly 162,700 MW instantaneous, suppressed by DR, “likely to have surpassed” the 165,600 MW all-time record once the mandatory 60-day DR performance review is complete.
The Voltage Story
If you watch the parameters, the system was talking to us all day long. A retired system operator knows the language, and here’s the translation.
1. Frequency ran high all day. That tells you the system had enough prime-mover energy online — more than enough to meet the demand side of the equation. This was never a shortage of megawatts.
2. PJM issued an HLV (Heavy Load Voltage) Warning and an HLV Action, requiring generators to increase voltage support, capacitors to come online, and reactors to go out of service. The system needed every reserve MVAr it could get to hold voltage and maintain a reactive reserve. You’ve heard me push on ancillary services and voltage support before — this is exactly why. What was happening in the DOM area at the very end of the day was a voltage problem, not a power problem. The system was running out of MVArs to hold itself together and was getting dangerously close to voltage collapse.
3. Generation in the right spot unloads transmission; unloading transmission means less MVAr demand. Generation in the wrong spot makes all of it worse. Physics isn’t a subject taught in political science.
The Generation Story
Coal generation stayed pegged at 84–88% of stack capacity, just over 27 GW. It had been at 29 GW earlier in the week, but a likely forced outage took some of that offline. The fact that coal never budged tells you exactly where it sits against gas in the bid stack: coal is what shows up when the system is stressed. Nuclear dipped slightly; likely output derates from cooling-water temperature limits — it was hot. Oil and dual-fuel units came into play in a big way, with oil capacity reaching over 6 GW. PJM was running everything it had. Gas crossed into 70+ GW. Through all of it, wind stayed under 2% of the contributing generation — for the most part it simply didn’t show up, which is typical under a heat dome. Batteries sat at 0% output; there was no surplus energy anywhere to charge them, so they sat this one out.
Rinse and Repeat — July 3rd
The power system carried Thursday’s heat straight into Friday. There was no relief from cooler overnight temperatures — the heat-soaked asphalt and concrete were still hot to the touch the next morning. Load stayed roughly level, with some of it shaved off by early weekenders leaving work. A few things stand out:
MORRISVL-LOUDOUN4 hits 3,005 MVA again — the same figure it posted the previous morning, at nearly the same hour (10:56 AM versus 10:11 AM the day before). Not a new high; the same bottleneck reasserting itself at the same time of day, two mornings running.
EEA2 is called three hours earlier than the day before — 2:00 PM (14:00) instead of 5:00 PM.
A TLR Level 5a goes into effect on Flowgate 50 (AP-South Interface) — actual curtailment territory, not an advisory. It first showed up at 18:00 on the 2nd, was stepped back down that same evening, then came back at 17:30 on the 3rd. Post Contingency warnings ripple westward alongside it, into COMED and briefly even FE-AP. The actual curtailments, if any will wait for the NERC report.
The 202(c) authorization expires at 11:59 PM (23:59) without renewal — later requested and extended through July 6th, per PJM’s own July 3rd update.
Attachment O is staged again for DOM at 5:22 PM (17:22) but not fully invoked — load breaks over cleanly before it’s needed.
The same warning went out a third time, early Saturday morning on the 4th, ahead of that day’s peak heat. Same tool, same threshold, three separate mornings and evenings in five days. Not once, on the record available, did the system need to go past the warning stage.
On July 5th, the weather largely broke for the Dominion system. Some Post Contingency Load Relief did come across for the Delmarva system, a sign the heat wasn’t entirely finished — but the emergency, for now, seemed to be over.
The Greater Power System
The storms finally tore into the Con Edison system and New Jersey on Friday, July 3rd — winds near 70 mph, roughly 165 utility poles down in New Jersey alone. At the peak, on July 4th, poweroutage.us was showing more than 1.3 million meters out across the states affected by the same storm system that started with the derecho in South Dakota — and one meter can easily mean several people in one household. By Monday evening there were still over 370,000 meters out across the country.
To the north, Hydro One and Hydro-Québec were still working their way back from the massive outages the Canada Day storms caused earlier in the week.
Both NYISO and ISO-NE were burning oil through the heat wave, for the same reason as the rest of the country: wind simply wasn’t there, and neither RTO has enough internal gas-fired generation to cover load at these levels without it.
Closing
All I can say is: wow, what a ride. Part of me misses the adrenaline of being on the desk for days like this. The smarter part of me is glad to be watching from a distance. But I’m glad to be here, telling the story in words that make sense.
At the end of the day, we have to get NIMBY and political obstruction into some kind of reasonable check. This isn’t Dominion’s fault — it’s the environment they have to do business in. These groups deserve their day in court, same as anyone. But when they get powerful enough to block everything and do real harm to infrastructure, the whole region depends on, it’s time for a reality check.
Please share your thoughts.




What a piece! Reality is stubborn, best to accept it early or face grave consequences.
Kilovar, thanks so much for all the detail.
Is there a map you could link to that identifies where all these links are located? I was overwhelmed by acronyms!