Verified over the full 14-day replay; spread across day-blocks. The controller's lookahead reads the replay as its forecast — perfect foresight by construction. Realistic ±3% forecast noise (toggle below) does not change its decisions here: its residual failures under stress come from the unforecastable line trip, not demand error.
DC power flow (linearized, lossless) · 10 fictional nodes · demand from the bundled EIA replay, scaled
System demand · EIA replay, scaled · shaded band = controller lookahead
Redispatch moved this pass: — · anticipation costs movement
Events · newest first
Violations race · cumulative line-hours, baseline vs controller
N-1 contingency scan · on demand
| line out | worst util % | critical line |
|---|
Not yet run this pass — trips each in-service line hypothetically at the current hour, through the same solver. Current dispatch, no response.
Worst lines now
Line utilization · 14 lines × elapsed replay hours · amber = over limit · ink column = room clock
System board · lines · live
| line | flow MW | limit MW | util % | dir | status |
|---|
System board · nodes · live
| node | type | inj MW |
|---|
Line wall · utilization per line · replay so far
One sparkline per line · faint rule = 100% limit · amber above it · ink cursor = room clock
Node strip · injection / withdrawal per node
MW vs time, per node · above zero = injection, below = withdrawal · ink cursor = room clock
Intertie ribbon · West + South imports
Import MW vs time · West = green · South = ink · ink cursor = room clock
Forecast residual · what the controller believed
forecast − actual at the 6 h edge · envelope = ±3% noise bound · flat zero with noise off = perfect foresight by construction
What this is
Giving the baseline eight times its step budget changes nothing — reacting after observation structurally concedes the violation hour.
What this simulates
A small transmission grid: three generators, two interties, five load centers, fourteen lines with hard capacity limits. Hourly demand is a two-week slice of real U.S. grid demand (EIA, public domain), scaled to this fictional system. Power flows follow a DC power-flow approximation — linearized and lossless, the standard planning simplification. The topology and every name on it are invented.
The competition
Two dispatchers compete on identical physics. The naive baseline spreads generation in proportion to capacity and corrects only after a limit has been crossed — one step, one hour late. The predictive controller reads the demand curve ahead and moves generation before the violation lands. Both use the same 25 MW redispatch step; the only difference is when they are allowed to act. Over this replay the baseline concedes 39 violation line-hours, the controller none — the pull-line above is the whole finding: it is lag, not budget.
The honest fine print
The controller's forecast is the replay itself — perfect foresight. Toggling realistic forecast noise (±3% at the six-hour edge) does not change its decisions here; when it does fail under stress — a tripped line during a demand spike — the failure comes from the unforecastable contingency, and the chip above says so. Anticipation is not free either: the controller moves about 45% more megawatts than the baseline to buy its zero.
Provenance & depth
Demand data: U.S. Energy Information Administration, public domain, bundled with the page. The same class of look-ahead dispatch problem I worked on for grid controllers at Sandia. Full write-ups on request — online@alvaroalva.com.