Chapter 7 of 12

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 NIL equations 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.
Measured: the active rulebook on one day

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.

Measured

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
Measured: one outage, end to end

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.

Measured

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.

Check your understanding

Which table tells you whether a given constraint equation is active in dispatch right now?

  • GENCONDATA, via its DISPATCH flag.
  • GENCONSETINVOKE, joined through GENCONSET to find the sets the equation belongs to and whether one is invoked.
  • DISPATCHCONSTRAINT, because every active equation appears in every interval.
  • NETWORK_OUTAGEDETAIL.

True or false: GENCONSETINVOKE can contain rows whose start time is more than a year in the future.

  • True
  • False

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:

  • A data error in the invocation table.
  • The equation is swamped until the outage starts.
  • Sets are invoked ahead of the planned outage window so the limits are in place before the switching happens; the equation binds only when flows actually reach the limit.
  • NEMDE ignores sets until an outage is confirmed.

Name the table that maps an outage id to the constraint sets it arms.