Constrained Headroom
How RenewMap corrects Thermal Headroom for the network constraints the NEM dispatch engine actually enforces, and how to read the result.
Thermal Headroom asks a physical question: how much more could this line carry? Constrained Headroom asks the operational one: how much more would the market operator actually let anyone push through the line?
The two answers can be very different. A line can sit at half its rating all afternoon and still be completely ‘full’ from the operator’s perspective, because the NEM dispatch engine is limiting upstream generation to protect the system against something that hasn’t happened yet.
Note: Attributing constraints to lines and calculating Constrained Headroom is complex. At this stage, RenewMap only includes thermal constraints, and not voltage, system security or other constraints. It also doesn’t yet include thermal constraints with particularly complex constraint formulations. We will expand the included constraints in the future.
Why the market limits flow below the rating
The NEM is operated to withstand the loss of any single credible element without cascading. So dispatch has to be safe not just for the network as it stands, but for the network as it would be a moment after a line trips, a transformer fails, or a generator disconnects. If losing line A would overload line B, then flow on B must be held below its own rating while A is still intact.
AEMO implements this, and other operational constraints to the network, with constraint equations: thousands of rules, each one a limit on what dispatch is allowed to do, fed into the dispatch engine every 5 minutes. On one side of each rule sits a weighted combination of the things dispatch can control (generator outputs, interconnector flows), and on the other sits the limit itself, which is usually not a fixed number but a value recomputed each interval from live network conditions.
A few properties of that system explain most of what you’ll see in this metric:
- Constraints are often about somewhere else. A constraint that limits flow on line B is typically formulated around the loss of line A.
- Constraints are shared. One equation can cover a dozen generators and several parallel circuits at once. When it binds, none of them can increase output, however much room any individual element appears to have.
- Constraints bind before ratings do. That’s the design intent. The Thermal Headroom sitting on an intact network is exactly the room the constraint is deliberately preserving.
A constraint is binding when dispatch has been pushed right up against that limit and can’t increase anything on the controlled side without breaching it. AEMO publishes the solved state of every constraint in every interval, including how much room was left against its limit, and that published solution is what this metric is built from.
What Constrained Headroom does with that
Constrained Headroom starts from Thermal Headroom and subtracts the additional room the enforced constraints have taken out:
Constrained Headroom = MAX( Thermal Headroom - constraint reduction, 0 )
Reading the two figures side by side:
- Equal to Thermal Headroom: no matched thermal constraint was limiting the equipment. Its own rating was the operative limit.
- Lower than Thermal Headroom: a constraint was in force and the market was already declining to use part of the physical gap.
- Zero: as far as the enforced thermal constraints go, there was no usable room at all, however much rating was nominally spare.
In the Headroom chart in a transmission line’s Operational tab, Thermal Headroom is drawn as a line and the constrained figure over it, so binding periods show up as a dip away from the physical limit.
Where you see it in RenewMap
| Where | The Headroom chart in a transmission line’s Operational tab, and data exports |
| Granularity | 30 minutes, per measurement point, combined to the transmission line |
| Units | MVA or MW, matching the flow and rating basis for that equipment |
| Series names | reduced_headroom at the measurement point (the reduction); line_headroom_constrained at the line (the result) |
| Applies to | Equipment with both a rating and flow telemetry, plus at least one matched thermal constraint |
| Blank when | Thermal Headroom can’t be calculated (no rating or no flow). Where no constraint is matched, the reduction is zero and Constrained Headroom equals Thermal Headroom |
How it’s calculated
All of this happens per 5-minute dispatch interval, per measurement point, then rolls up to 30-minute windows.
There are three steps, and the important thing about them is where the numbers come from at each one:
1. Identify the thermal constraints. We use AEMO’s own classification of what is and isn’t a thermal constraint.
2. Work out which constraints are actually limiting this piece of equipment. This is the hard part, and it is our own work: AEMO publishes constraint solutions and it publishes equipment telemetry, but it does not publish a mapping from one to the other. A thermal constraint routinely references equipment that contributes to the limit without being the thing being protected by it, so simply picking up every constraint that mentions a line would badly overstate how constrained that line is.
3. Convert the constraint’s own room into a reduction in this equipment’s headroom. The amount of room left against each constraint’s limit is a figure AEMO published, not one we estimated. We rescale it into the equipment’s own units, and treat the shortfall against the equipment’s thermal gap as the reduction.
Where several thermal constraints match the same equipment in the same interval, the most restrictive wins rather than the reductions being added together, because capacity is set by whichever limit is tightest, not by their sum. Where a constraint would nominally allow more than the equipment’s own rating does, the reduction is zero: the metric never reports more room than the metal has.
Reductions are then averaged across the intervals in the half hour, counting intervals with no matched constraint as zero, so a constraint that bound for part of a period produces a partial reduction rather than an all-or-nothing step. At the line level, the largest reduction across the line’s measurement points applies, and the result is floored at zero.
Constraints that need more than a flat sum
Not every thermal constraint is a simple list of terms. A significant minority are written with internal structure, most commonly some version of “take the tighter of two limits”. Those need to be evaluated as the dispatch engine would have evaluated them before the constraint can be attributed to any particular piece of equipment, and we do that where we can.
In all such cases the headroom figure itself still comes from AEMO’s real solved values; only the attribution to a specific piece of equipment depends on our evaluation of the structure. Some formulations are too complex to attribute confidently, and RenewMap currently leaves those out of headroom calculations altogether rather than guessing.
Special notes
This is derived, not published. AEMO publishes constraint solutions and equipment telemetry; it does not publish “headroom per line”. The matching between constraint equations and equipment, and the conversion of a constraint’s remaining room into equivalent capacity, are our own work. If a decision turns on a specific figure, treat it as a strong indicator and verify against a network study.
Unmatched constraints don’t reduce anything. Where a constraint is limiting equipment but we haven’t matched it, it won’t appear anywhere. The metric can therefore overstate available room. The same applies to skipped complex formulations.
Thermal only. Voltage stability, transient stability, oscillatory stability and system strength limits are excluded by design. In long, weak, high-renewable corridors those are often the binding limits, and none of them appear here. A line showing generous Constrained Headroom may still be effectively closed for stability reasons.
Where the data comes from
Constraint solutions, constraint classifications and the constraint definitions in force at each interval all come from AEMO’s published data, as does the equipment flow and rating telemetry described in Line flow. Nothing is re-solved or re-simulated. What RenewMap adds is the matching between constraints and equipment, and the conversion of a constraint’s remaining room into an equivalent capacity figure for a specific line.
Common questions
Why is Thermal Headroom higher than Constrained Headroom?
Because the market is enforcing a limit tighter than the equipment’s own rating, often a contingency constraint, which by design holds intact-system flow below the intact-system rating.
Why are they identical on some lines?
Either no thermal constraint was binding on that equipment during the period, or no constraint could be matched to it. Both produce a zero reduction. Check Marginal Value & Binding Hours for the same period: a non-zero Marginal Value with no headroom reduction is worth telling us about.
Does this include voltage or stability constraints?
No, thermal constraints only.
Can I use this to size a new connection?
Operational Insights is a strong screening tool for identifying which corridors are congested, how often, and at what cost, but it should not be relied on in isolation. Sizing a connection requires a power flow and stability study of the network with your project in it, which changes the flow pattern the metric is measuring.
Which constraint caused the reduction?
The metric reports the effect rather than the responsible equation. Marginal Value & Binding Hours gives the cost and frequency of binding on the same equipment for the same intervals, which in practice narrows it down quickly. If constraint-level detail would be helpful, please get in touch so we can understand how we could better present what you need.
Related pages
- Ratings & Thermal Headroom: the physical starting point
- Marginal Value & Binding Hours: how often limits bind, and what they cost
- Line flow: the measured loading behind the physical gap
- Curtailment: what binding constraints do to nearby projects