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 is the lower of Thermal Headroom and the room the enforced constraints leave:
Constrained Headroom = MIN( constraint room, Thermal Headroom )
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 | headroom_constrained, headroom_constrained_pct at the measurement point; line_headroom_constrained, line_headroom_constrained_pct at the line |
| 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, 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 classification of what is and isn’t a thermal constraint.
2. Work out which constraints are actually limiting this piece of equipment. This is non trivial: 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 we don’t include every constraint that mentions a line’s flow. We only include the constraints on the line if that is the one being protected.
3. Convert the constraint’s headroom into this equipment’s units. We take the constraint headroom and rescale it into the equipment’s units and compare it against the equipment’s thermal gap, taking whichever is tighter.
Where several thermal constraints match the same equipment in the same interval, the most restrictive wins rather than their effects 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, Thermal Headroom applies: the metric never reports more room than the metal has.
Values are then averaged across the intervals in the half hour, with intervals that had no matched constraint contributing their Thermal Headroom, 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 smallest constrained headroom across the line’s measurement points applies.
The percentage figure divides this by the equipment’s own rating, the same one Thermal Headroom is measured from, per interval before averaging.
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.
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