WorkflowPower Generation & Desalination

Generation Availability Reporting

NERC GADS reporting with every outage coded to the failed part and checked before it is filed

Outage events coded right for GADS and the board.

See one case, screen by screen ↓
target0recordsreturned at filing: every event coded and checked against 12 rules before the quarter goes out
estimated$0.5Ma yearof capacity value per 0.3 point of forced outage rate wrongly charged, on a 1,700 MW fleet
demo38%of the year's forced energy lost came from one cause on one unit — three waterwall tube leaks on Harrow Point 3, 66,610 MWh
demo96.8%of 1,912 events from 2025 given the same cause code the analysts filed, when the coding rules were tested
The problem

Why a GADS quarter is joined together by hand

Each quarter, a NERC-registered generating fleet reports every outage, derate and reserve shutdown with its event type, its start and end, the MW lost and a cause code that names the failed equipment. The file is due 45 days after the quarter ends. The raw material was never built for reporting. The breaker and MW signals sit in the historian, the reason sits in the control-room shift log, and the failed part sits in a maintenance work order. Availability analysts join the three by hand, in spreadsheets, often days or weeks after the event.

The coding is rule-heavy. The event type depends on timing — immediate U1, delayed U2 within six hours, postponed U3, start-up failure SF. The cause code must name the part that failed, not the alarm that tripped the unit. An extension to a maintenance outage is allowed only for work in the original scope, and solar events count only at 20 MW or more. So steam codes land on gas-turbine trips, forced outages hide as maintenance extensions, fuel curtailments are charged to the plant, and the same failure is coded three ways, so the board never sees one problem. A wrong code moves the forced outage rate, which feeds capacity accreditation, regulator benchmarks and availability-linked payments.

typical9.2%weighted equivalent forced outage rate of conventional generation in 2025, against historical norms rarely above 8 %
typical45daysafter each quarter ends to file GADS data, for conventional and solar units of 20 MW and up
typical20MWthe solar plant threshold from January 2025, down from 100 MW — many more plants now report
Where an analyst's days go in one GADS quarterestimated
By hand21 days
With the solution5.5 days
  • Building events from breaker and MW signals4 → 0.5 d
  • Chasing shift logs for what happened and why5 → 1 d
  • Matching work orders to find the failed part3 → 0.5 d
  • Choosing the event type and the cause code4 → 2 d
  • Checking records and fixing what fails3 → 1 d
  • Availability tables and the board summary2 → 0.5 d

Estimated split for one quarter of a six-unit fleet with about 60 events, in working days, by hand and with the solution.

How it works

How an event is coded

Six agents build each event, read the log and the work order, propose the cause code and check it; the analyst confirms.

What comes in
Plant data in62 events in Q3 · historian signals, shift logs, work orders, code rules
Agents at work
Event builderstart · end · MW
Then
Log reader
Work order matcher
Then
Cause codertype + code + why
Then
Report checker12 rules
Report writer
A person decides
Availability analystconfirms every code; reporting lead signs
What comes out
Coded events with their reasons
Quarterly GADS file, checked
Board availability report
One case, step by step

One forced outage, from the breaker to a checked quarter

Lumina Utilities runs six units, 1,700 MW: Harrow Point 1–4 (steam), Kestrel Bay CC 1 (combined cycle) and Brannock Solar. On Sunday 20 September 2026 at 02:47, Harrow Point 3's generator breaker opens on a waterwall tube leak. Three weeks later, with the Q3 file due on Monday 16 November, here is how that outage — and the rest of the quarter — gets coded, checked and signed, screen by screen, in the working solution.

  1. 01Tue 13 Oct, morning

    The year on one strip, the quarter in one line

    Ines Okafor · Availability analyst

    Ines codes the fleet's events. Each unit's 2026 is one strip of states — in service, planned, maintenance and forced outages, derates drawn by MW lost, reserve shutdown — with each row's equivalent availability and forced outage rate at the end. The Q3 bar reads 62 events, 55 coded, 3 checks to fix, 34 days left. The biggest uncoded block, first on the To code list, is Harrow Point 3.

    “To code · Biggest lost energy first · every proposal waits for you”

  2. 0202:25 to 02:47, 20 Sep

    The event built from the signals, the log pinned to its minutes

    Event builder

    The event builder turned the breaker and output signals into one event: Sun 20 Sep 02:47 to Wed 23 Sep 19:15, 88.5 h, 330 MW, 29,194 MWh. On the signal chart, feedwater minus steam flow climbs to +18 t/h — the leak shows 22 minutes before the breaker opens — and each shift log entry is pinned at its minute.

    Limit: never invents a start or end time; signals that disagree go to the analyst.

  3. 03The agents read

    What the control room wrote, and what the boilermakers repaired

    Log reader and Work order matcher

    The log reader picked out seven entries from 01:58. Sara Duarte at 02:31: “Feedwater flow 18 t/h above steam flow.” At 02:38: “Acoustic leak alarm ch 7, furnace front wall el. 38 m.” Joel Mbeki, shift manager, at 02:47: “Waterwall tube leak suspected, front wall.” The work order matcher linked WO-3-55812: tube 114 pinhole leak, tube 115 steam-cut, front wall, el. 38.2 m, radiography 100 % accepted.

    Limit: the log reader quotes the log and never paraphrases a cause the log does not state.

  4. 04Code proposed

    U1 · 1000 Waterwall (furnace wall) tube leaks, at 94 %

    Cause coder

    The cause coder proposes the type from the timing and the code from the failed part. The unit came off at once on the shift manager's order, so it is an immediate forced outage, U1. The code is 1000, citing the log and the work order, and it notes this is the third front-wall leak on the unit this year. Two alternatives are kept: 1040 Waterwall, fireside slagging or fouling at 4 %, and 1999 Boiler, miscellaneous at 2 %. The record already passes 9 of 9 checks.

    “Pick one, or any code in the library; your choice and the reason are kept with the record.”

  5. 05One click

    Ines confirms; the strip updates

    Ines Okafor · Availability analyst

    Ines confirms U1 · 1000. The lens now shows the code on file, “Confirmed by you just now”. On the To code list, Harrow Point 3 is greyed out as coded by her, and the Q3 count falls to 6 left. Undo is beside the confirmation, and Next to code moves her to the next-biggest event.

    “Filed into the Q3 record with its rationale. 6 left to code.”

  6. 06Outside the plant

    A gas curtailment kept off the plant's record

    Work order matcher and Cause coder

    Kestrel Bay CC 1 lost 160 MW for 8.8 h on Tue 4 Aug. The log reader found Farah Quist's 12:58 entry: curtailment notice CN-2026-118 from Corran Gas Transmission, offtake pressure held at 24 bar from 13:15. There is no plant work order, so the matcher attached the supplier's notice instead. The proposal is D1 · 9130 Lack of fuel (outside plant control), at 88 % — and it still waits for Ines.

    “Output was held by supplier gas pressure, not by plant equipment.”

  7. 07Nightly, 06:00

    Twelve rules on every record before filing

    Report checker

    The report checker ran the 12 rules from the reporting instructions and Lumina's coding rules on all 62 Q3 events: 8 of 12 pass. It caught three records. A 36 h maintenance extension on Harrow Point 1 was for a crack found during the outage, not in the scope. A Kestrel Bay gas-turbine flame-out on 23 Jul carries 4260, a steam turbine code; the cause coder proposes 5130 Gas turbine combustor. And an 18 MW Brannock tracker stow is under the 20 MW solar threshold.

    Limit: the report checker proposes a fix for each failure and never changes a record on its own.

  8. 08The honest number

    The extension recoded as a forced outage

    Ines Okafor · Availability analyst

    Under rule ER-3, Ines recodes the Harrow Point 1 extension as U1 · 1400, with WO-1-40227 behind it. Rule 03 now passes — 9 of 12 — and the quarter has 8 left to clear. In the Q3 report, Harrow Point 1's forced outage rate moves from 0.4 % to 2.1 %, and the fleet's from 2.2 % to 2.4 %.

    “Harrow Point 1’s Q3 forced outage rate rises; that is the honest number.”

  9. 09The report

    The Q3 tables and the board summary, drafted for sign-off

    Report writer

    The report writer computes service, planned, maintenance, forced and reserve hours, equivalent availability, forced outage rate and forced MWh by unit: fleet equivalent availability 97.2 %, capacity-weighted. It drafts the board summary for Margit Halvorsen, the reporting lead. Send for sign-off stays blocked until every record is coded and passes all 12 checks.

    “Every figure links to its events. Drafted by the report writer from the coded records; Margit Halvorsen signs.”

  10. 10The pattern

    Three leaks, one problem

    Callum Reyes · Performance engineer

    Coded to the failed part, Harrow Point 3's three waterwall leaks — 3 Mar, 14 Jun and 20 Sep — add up to 201.8 h and 66,610 MWh, the largest cause in the fleet. The tube map shows all three on the front wall within 2 m of each other, near burner row 3. Ines sends the pattern to Callum, who decides whether to survey the front wall at the November maintenance outage.

    “Coded to the failed part, the three outages read as one problem, not three bad nights.”

Who it’s for

Built for everyone who touches an outage record.

The same outage, seen by the four people who write it, code it, investigate it and sign it — what their quarter looked like, and what it looks like now.

IO
Ines OkaforAvailability analyst, Lumina generation · codes and confirms events
Availability analyst
Before
Codes 60–70 events a quarter across 6 units and chases shift managers for what happened at 02:00. “The breaker tells me when. The log tells me why. I spend my week joining them.”
Now
Works a queue of events biggest lost energy first, each with the log lines, the work order and a proposed code with its reasons — and confirms or changes each one.
CR
Callum ReyesPerformance engineer, Harrow Point · repeat causes and investigations
Performance engineer
Before
Owns boiler reliability and wants the causes, not the totals. “Three leaks on one wall is not bad luck. Show me the pattern.”
Now
Gets lost energy by cause code, the repeat-cause alert and a tube map of where on the wall each leak was.
MH
Margit HalvorsenRegulatory reporting lead · signs the quarterly file and the board pack
Reporting lead
Before
Signs the quarterly file and the board pack, and approves coding-rule changes. “If a code can't be traced to a log line and a work order, it doesn't leave this building.”
Now
Receives a quarter that has passed all 12 checks, with a drafted board summary in which every figure links to its events.
JM
Joel MbekiShift manager, Harrow Point control room · writes the shift log
Shift manager
Before
Writes the shift log and decides when a unit comes off. “I wrote ‘tube leak, front wall’. That should be enough.”
Now
His log lines are quoted, each at its minute, in the coded event and its rationale — the words he wrote are the evidence the code rests on.
Built on the engine

6 agents. Each with one job, and hard limits.

Six agents build each event, read the log and the work order, propose the cause code and check it; the analyst confirms.

Event builder

Turns breaker, output and status signals from the historian into events at 1-minute resolution: start, end, MW lost and a first event type. An event opens when the unit leaves service or loses more than 2 % of capacity for 15 minutes.

  • Never invents a start or end time no signal shows
  • Signals that disagree go to the analyst
Log reader

Reads the control-room shift log from 2 hours before each event to its end and picks out the equipment named, the symptoms, alarms and orders given, with their times.

  • Quotes the log
  • Never paraphrases a cause the log does not state
Work order matcher

Links the maintenance work orders on the same unit in the event window, matched on the equipment the log names, and reports the failed part and the repair. For a cause outside the plant, it attaches the supplier or system operator notice instead.

  • Never links a work order from another unit
Cause coder

Proposes the event type by the timing rules and the cause code by the failed part, using the coding rules and the code library, with a rationale citing the log and the work order, a confidence and two alternatives. Below 80 % it shows the event without a proposal.

  • Never confirms or files a code
  • Names the failed part, not the alarm that tripped the unit
Report checker

Runs 9 checks on every event and 12 rules on the quarter — type, code family, failed part, times, MW, overlaps, thresholds, contributing conditions, hours — names each failure and proposes a fix.

  • Never changes a record on its own
  • Names the event, the rule and a proposed fix; the analyst applies it
Report writer

Computes equivalent availability, forced outage rate and lost energy per unit and for the fleet, and drafts the board summary: the result, the biggest causes, what changed.

  • Numbers only from coded records
  • Nothing is sent until the reporting lead signs
Availability analyst

Confirms each code; the reporting lead signs the file. The agents propose; a named person decides.

Ask in plain words

Ask about any event, code or check, in plain words

Ask about an event, a code, a check or the quarter — every answer cites the log, the work order or the rule.

Why is Harrow Point 3’s 20 Sep outage proposed as 1000?

The night-shift log names a waterwall tube leak on the front wall at 02:38 and 02:47, and WO-3-55812 repaired tubes 114–115 at el. 38.2 m. The boiler came off at once on the shift manager’s order, which makes it an immediate forced outage, U1. It is the third front-wall leak on the unit this year.

What is left before Q3 can be filed?

Seven events to code and three failed checks: an outage extension on Harrow Point 1 for work outside the scope, a steam code on a Kestrel Bay gas turbine trip, and an 18 MW solar event under the 20 MW threshold. The file is due Monday 16 Nov, because 15 Nov is a Sunday.

Which cause cost the most energy this year?

Waterwall tube leaks on Harrow Point 3: three forced outages, 201.8 hours and 66,610 MWh, all on the front wall within 2 m of each other. That is the largest cause in the fleet.

Is the Kestrel Bay derate on 4 Aug outside plant control?

Yes. Corran Gas Transmission held the offtake at 24 bar from 13:15, and the block was on its fuel pressure limit with no plant fault and no work order. The proposal is D1 · 9130, lack of fuel outside plant control, with the notice attached as evidence. You confirm it.

Every screen

The working solution, as it ships.

13 screens from the working solution, on its sample data. Pick one to see it large.

The availability stripEach unit's year as one strip of states, the Q3 status and due date, uncoded events and failed checks pinned, and the To code list biggest lost energy first.
The proposed codeThe shift log and the work order with the decisive words highlighted, the proposed type and cause code with its reasons and confidence, and the agents' run step by step.
Change the codeThe proposal and the two alternatives the cause coder kept, any code in the library, and a reason that stays with the record.
ConfirmedThe code on file, confirmed by the analyst, with undo and the next event to code.
A cause outside the plantA forced derate on a gas curtailment, proposed as 9130 with the supplier's notice attached in place of a work order.
The event recordUnit output and the plant signals with the log pinned at its minutes, the shift log, the coding with its rationale and the record as it will be filed.
EventsAll 165 events of 2026 with type, times, hours, MW, MWh, cause and status — filter by unit or status, search the log text, export.
Checks before filingThe 12 rules every record must pass, each failure with its reason and a one-click fix, the checker's nightly run and what is left before filing.
A check fixedThe maintenance extension recoded as a forced outage; rule 03 passes and the count to clear falls.
The quarterly availability reportHours, equivalent availability, forced outage rate and forced MWh by unit and fleet, where the forced energy went and the board summary draft.
CausesLost energy by cause code across the fleet, by unit, the cause that keeps coming back and where on the wall each leak was.
Coding rulesLog and work-order phrases mapped to cause codes with how often analysts keep them, the event-type timing rules and the last test on 2025 events.
SettingsDeadlines, coding thresholds, units with their capacity, and who codes, investigates and signs.
Governance

Built for regulatory filing: cited, confirmed, signed.

Every code traced to a log line and a work orderEach proposal cites the shift log entries and the work order it rests on, and every figure in the quarterly report links to its events.
The analyst confirms every codeNothing is filed on a proposal. The analyst confirms or changes each code; a different choice and its reason are kept with the record, and undo keeps the history.
Outside causes carry their evidenceA fuel or grid event is coded outside plant control only with the supplier or system operator notice attached — like curtailment notice CN-2026-118 on the Kestrel Bay derate.
Twelve rules before the quarter leavesThe quarter can be sent for sign-off only when every record is coded and passes all 12 checks: timing, scope, code family, failed part, signals, MW, thresholds, evidence, overlaps, conditions and hours.
The reporting lead signsThe GADS file and the board pack are built and sent only after the reporting lead signs. Settings changes take effect after she approves them.
Rule changes are tested and approvedA coding-rule change needs a second person and a test on last year's events — version 7 matched the analysts' code on 1,851 of 1,912 events from 2025 — and every agent run and human decision is recorded with its time.
Configuration

Your reporting calendar and coding rules, not ours

Deadlines, thresholds, units and who signs are settings. Changes take effect after the reporting lead approves them.

SettingDefaultChoose from
Quarter dueGADS45 days after the quarter ends; next business day if a weekend
Lumina sign-offFri 6 NovThe reporting lead signs 10 days before the due date
Board packMon 23 NovQuarterly, with the GADS figures
Propose a code at80 %Below this confidence the event is shown without a proposal
Confirm codesAlwaysEvery code is confirmed by an analyst; nothing is filed on a proposal
Repeat-cause alert3 eventsSame code on the same unit within 12 months
Solar event threshold20 MWSmaller solar events stay in Lumina’s own log
Contributing conditionsOnAsked for when the log names weather, fuel or the grid
Connections

Works with the records a plant already keeps

SCADA and historiangenerator breaker state, gross and net MW and unit status, at 1-minute resolution
Control-room shift logsone per shift, from every station — the symptom, the alarm and who decided
Maintenance work ordersequipment, failed part and repair, from the maintenance system
Cause code rulesthe reporting instructions, the cause code library and your own coding rules
Supplier and system operator noticesfuel curtailments and grid instructions, for causes outside plant control
GADS file and board packcoded event records with rationale, the quarterly availability report, EAF and EFOR
What it changes

The difference, in numbers.

Every figure is labelled: a target the solution is built to, an estimate, a typical published result, or a proven one.

target
0records
returned at filing: every event coded and checked against 12 rules first
62 of 62 Q3 events
coded and checked before filing
estimated
$0.5Ma year
of capacity value per 0.3 point of forced outage rate wrongly charged, on 1,700 MW
target
Every
repeat cause named: in the demo year one cause on one unit was 40% of forced energy lost
66,610 of 165,774 MWh
waterwall leaks, Harrow Point 3

“demo” = seen in the working solution, on its sample fleet data · “target” = the design goal, measured in the pilot · “estimated” = our arithmetic or estimate: $0.5M = 0.3 % × 1,700 MW × $269.92/MW-day (PJM 2025/26 capacity auction) × 365; the days split is an estimate · “typical” = published figures: conventional forced outage rate 9.2 % in 2025 (NERC State of Reliability 2026, via Utility Dive); NERC Section 1600 GADS reporting, mandatory for conventional and solar units of 20 MW and up, due 45 days after each quarter (NAES); solar threshold 20 MW from January 2025 (pv magazine USA, 2024). Cause code numbers are from the demo utility's library. Lumina Utilities, its units, suppliers, people, events and records named on this page are fictional — characters and sample data in the working solution.

Questions

What availability and reporting teams ask us.

What is NERC GADS reporting software?

Software that turns a generating fleet's outages, derates and reserve shutdowns into the event records NERC's Generating Availability Data System asks for — event type, start and end, MW lost and cause code — ready for each quarter's filing. Generation Availability Reporting adds six agents that build the events from historian signals, read the shift log and the work order, propose the code with its reasons and check every record. The analyst confirms each code and the reporting lead signs.

How does it allocate GADS cause codes?

The cause coder decides the event type from the timing in the log — immediate, delayed, postponed or start-up failure — and the cause code from the part that failed in the work order, not the alarm that tripped the unit. It writes a rationale citing both, gives a confidence and keeps two alternatives. Below 80 % confidence it shows the event without a proposal.

How does it check records before the quarter is filed?

The report checker runs 9 checks on every event and 12 rules on the quarter, nightly. It catches extensions for work outside the original scope, codes from the wrong equipment family, times that do not match the breaker, overlapping derates, solar events under 20 MW, outside causes without their notice and hours that do not reconcile. Each failure comes with a proposed fix the analyst applies.

Does it handle GADS solar reporting?

Yes. Solar plants of 20 MW and up report from January 2025, and only events losing 20 MW or more go in the file. The solar threshold is a setting; smaller events stay in the utility's own log and still count in the board figures.

How does it calculate equivalent availability and forced outage rate?

The report writer computes service, planned, maintenance, forced and reserve hours, equivalent availability, forced outage rate and forced MWh lost per unit and for the fleet, capacity-weighted, from the coded records only. Every figure links to its events, and the rates update as codes are confirmed or fixed.

Can we use it if we are not NERC-registered?

Yes. Utilities outside NERC track the same indexes — equivalent availability factor, forced outage rate, EFORd under IEEE Std 762 — for their regulator, their board and availability-linked power and water purchase agreements. The coding rules, deadlines and thresholds are settings.

Do people stay in control of the codes and the filing?

Yes. The agents propose and draft; they never confirm a code, change a record or send anything. The analyst confirms every code, the reporting lead signs before the file is built, and any coding-rule change needs a second person and a test on last year's events.

How long does it take to go live?

The Agentic Solution Engine builds and deploys it from your requirements and documents — your coding rules, cause code library, unit list, and a sample of historian data, shift logs and work orders — and it goes live once every quality gate has passed. We will walk you through it on one of your own quarters first.

See it on
your outages.

We'll run Generation Availability Reporting on a quarter of your own historian data, shift logs and work orders.