Sets, invocation and outages
Hundreds of thousands of equations exist; a few hundred apply at any moment. Which ones is decided by the constraint sets AEMO has invoked, and most of those are switched on because a piece of equipment is out of service.
Sets are the unit of switching
Equations are not invoked one by one. They are grouped into constraint sets, and a set is invoked (activated) and later revoked (deactivated) as a block. The membership table is GENCONSET; the switching record is GENCONSETINVOKE, which has a start time, an end time (or none, for open-ended sets), the authoriser who approved it, and a flag saying whether the set is a system-normal set or an outage set.
- System-normal sets
- Invoked indefinitely. They carry the
NILequations that apply with the grid intact: the stable backbone of any climatology. - Outage sets
- Invoked for the duration of a planned or forced outage. One outage can arm several sets, and a set can hold one equation or dozens.
- Discretionary sets
- Invoked at AEMO's discretion: unit caps, commissioning limits, negative-residue management.
- Post-separation island sets
- Prepared for the case where a region has separated from the rest of the NEM.
- Non-conformance and quick constraints
- Applied to a unit that is not following its targets, or generated automatically by the energy management system for a fresh overload.
The invocation record looks into the future
Because outages are planned weeks ahead, GENCONSETINVOKE contains invocations that have not started yet. That makes "line X is coming out next week, which constraints will that arm?" answerable today from public data, which is the basis of the outage-foresight idea in Chapter 11.
The outage book
AEMO publishes the planned network outage schedule in NETWORK_OUTAGEDETAIL: one row per piece of equipment per outage, with planned and actual start and end times, a status code, recall times and a reason. A second table, NETWORK_OUTAGECONSTRAINTSET, maps an outage id to the constraint sets it arms. Chain the three together and you have the full causal story: equipment out, set invoked, equations active, some of them bind.
NETWORK_OUTAGEDETAIL NETWORK_OUTAGECONSTRAINTSET GENCONSET DISPATCHCONSTRAINT outage 995907 ----------> sets N-DTSS_11, N-X_11+14 ----> member equations ----> which ones bound, Dapto bus 5A1 out and what it cost 8 July 07:35 to 10 July 16:30
A caveat that matters for anyone building on this chain: only a minority of outages carry a mapping to constraint sets. In the archived book . The rest are handled by operators through discretionary invocations and quick constraints, so the outage book predicts some of the rulebook, not all of it.
The 8 July evening, from the set's point of view
Chapter 5's price separation had a cause upstream of the constraint. The equation that bound, N^^V_DTSS_1, lives in an outage set for the Dapto to Sydney South line, and that set had been invoked for a planned outage window.
Zero-history binders
An outage set can contain equations that have never bound before, because the outage state is rare. When one of those binds it has no climatology, no persistence signal, nothing a statistical forecaster can lean on; the only warning was the invocation record and the outage book. Watchlists built purely from history miss them by construction, which is the strongest argument for reading the invocation calendar as data rather than metadata.
Which table tells you whether a given constraint equation is active in dispatch right now?
True or false: GENCONSETINVOKE can contain rows whose start time is more than a year in the future.
A line outage begins at 08:07. The set it arms is invoked from 06:05. An equation in that set first binds at 09:30. The most likely explanation for the gap between 06:05 and 08:07 is:
Name the table that maps an outage id to the constraint sets it arms.