Apps Manual

How to use each screen, from the first click to submitting the series — public ONS data, no sign-up, nothing to install

Every app is open and reads public data (ONS, CCEE, ANEEL, INMET, CEMADEN, GOES). Nothing is installed and no data from your operation is sent here. Timestamps are always shown in BRT (UTC−3). This manual does not replace the ONS Grid Procedures: where the app cites a rule, the rule prevails. In any app, the “Feedback” tab on the right edge sends a note straight to the team — the e-mail is optional, only if you want a reply.

Contents

  1. gridAssets — assets, alarms and metering Hands-on guide
  2. gridAssets · country — Chile, Colombia, Peru, Argentina, Uruguay, Paraguay and Bolivia Hands-on guide
  3. gridCurt — grid-wide curtailment and your own report Hands-on guide
  4. gridMap — the system map Hands-on guide
  5. gridOne — map and analytics side by side Hands-on guide
  6. gridBESS — storage Hands-on guide
  7. gridAlerts — lightning and severe weather on Telegram Hands-on guide
  8. Tracks by role — missions with answers
  9. Invalid metering, zeroed Reference and what can be recovered
  10. Rebuilding the series with sister plants
  11. Short glossary

gridAssets — assets, alarms and metering

Hands-on guide

reviewed on 2026-10-02

The record of every plant, substation and line in the Brazilian grid: live alarms, monthly KPIs, metering validity, forecast and the connection point network.

Each app is a track of up to six stages: start by using the screen and go as deep as you like — down to the formulas, where the data comes from and what could still improve. Every app in this manual now follows this format.

1Stage 1 — Use and read the screen (30 seconds)

What it is: The page of every plant, cluster, substation and line of the Brazilian grid (SIN), built from public data from ONS, CCEE and ANEEL: what is happening now, the month's numbers and where each one comes from.

Do it now: Type a plant's name into the search box at the top of the home page and open its page. Example: “Caetité D”, a 50.4 MW wind farm in Bahia.

Search and open a plant page. captured on 2026-09-23 · recording of the public screen of usinas.brazilgrid.com · 9.6 s

Open the search →

Next stage 2: Features ↓

2Stage 2 — Features, step by step

Every step has a link that opens the app in exactly the state described (asset, month and panel).
  1. Open the page. The Registry panel at the top says what the asset is: CEG, capacity, operator, group, cluster and connection point (for Caetité D, the Igaporã III substation, 230 kV). In the Owner (ANEEL registry) row, when the project has more than one holder CNPJ, the page shows the majority partner with its share and the number of partners — “majority partner (x %, 1 of N partners)”, since 2026-09-23; debt is still matched by the SPV's CNPJ. Open in this state →

  2. Pick the period. The link opens August 2026 (?mes=2026-08 in the URL); on screen, the ‹ › arrows of the KPIs panel change the month and the M · D · I buttons switch between month, day and interval. Open in this state →

    Read the tooltips and change the month in the KPIs panel. captured on 2026-09-26 · recording of the public screen of usinas.brazilgrid.com · 11.1 s
  3. Hover over Curtailment and over Curtailment Reason: the tooltip says how the number is computed and which rule it relies on. Open in this state →

  4. Scroll down to Potential improvement — SAGER recovery and, right below, Data validity per half-hour: the whole month, cell by cell. Open in this state →

    Per-half-hour validity and SAGER recovery. captured on 2026-09-20 · recording of the public screen of usinas.brazilgrid.com · 10.2 s
  5. Go to the connection point: on the substation page, the Neighbour curtailment panel shows how much the plants already connected there were curtailed, by reason and by bus. Click a bus to see its plants. Open in this state →

    Neighbour curtailment: from the substation total to the bus and its plants. captured on 2026-09-26 · recording of the public screen of usinas.brazilgrid.com · 9.2 s
  6. Share the state: the URL keeps the month (?mes=), the day (?dia=), the interval (?ini= and ?fim=) and the panel (#…). Whoever opens the link lands in the same place.

  7. Open a group, operator or financier: since 2026-09-25 the page opens on the “All” tab, with plants of ALL sources in one list, and the per-source tabs (wind, solar, hydro, thermal, substations, lines) sit beside it to filter. Engie: 157 assets, 18.9 GW — All 194 items, wind 88, solar 52, hydro 16, thermal 1, substations 14, lines 23 (read on the production screen on 2026-09-26). If one source fails to load, the warning shows above the list; it does not vanish silently. Since 02/10/2026 the asset list, the substations, the lines and the group's SAGER panel sit in panels with their own bar (click the title to collapse); all start open — with everything collapsed the group page fits in about two screens (Voltalia: 1.9 screens, measured on the 02/10/2026 build). Open in this state →

    Engie group page in gridAssets opened on the All tab, with the tabs per source (wind, solar, hydro, thermal, substations and lines) and the asset map
    Engie group page in gridAssets opened on the All tab, with the tabs per source (wind, solar, hydro, thermal, substations and lines) and the asset map screenshot captured on 2026-10-30 · public screen of usinas.brazilgrid.com
  8. On a line sheet, the diagram at the top links the two end substations through the grid graph (matched by the ONS register CODE) and says, under each name, how many OTHER active lines leave from there — click the name to go to the substation's star. 345 kV Xavantes – M. Fornasaro C1 line (SP): Xavantes +6 active lines, M. Fornasaro +3 (read on the production screen on 2026-09-26). Open in this state →

    Profile of the 345 kV Xavantes – M. Fornasaro line in gridAssets: the two end substations, matched through the grid graph, with the number of other active lines at each
    Profile of the 345 kV Xavantes – M. Fornasaro line in gridAssets: the two end substations, matched through the grid graph, with the number of other active lines at each screenshot captured on 2026-10-30 · public screen of usinas.brazilgrid.com
  9. For a thermal plant the page gains panels of its own. At UTE Norte Fluminense (RJ, gas), August 2026: under Thermal specifics, “CCEE declared CVU” has one line per parcel with the latest declared CVU and its operating week, and the weekly step chart of CCEE (per parcel) next to the ONS CVU (per planning unit) — hover a week to see both values, which do not add up; right below, “Why it generated” shows a bar for what the plant generated and, right below, one for what ONS scheduled; further down come “Operating restriction — constrained-on and constrained-off (CCEE)”, which now also has the unit commitment line (CCEE MWh over all hours of the month and the official R$ charge, side by side, never added to constrained-on — hover the label to see the source and date), and “Did the fuel arrive?”, with the ANP gas delivery point. Open in this state →

    Thermal plant: CCEE declared CVU × ONS, verified × scheduled, CCEE constrained-on and unit commitment, and gas at the point. captured on 2026-09-24 · recording of the public screen of usinas.brazilgrid.com · 15.9 s
  10. In any app on the platform, the vertical “Feedback” tab on the right edge, halfway down, opens a form: write what was missing or could be better (3 to 2,000 characters), leave your e-mail only if you want a reply and click Send — the address of the page you are on goes along, so the team can open the same state. Cancel or Esc close only the form: the tab never disappears. It does not show in an embedded app (minimap, landing card, ?embed=). Open in this state →

Next stage 3: In depth ↓

3Stage 3 — In depth, panel by panel

What each panel means, where the data comes from and how recent it is, and the most common misreading.

KPIs Open in this state →

What it means
The numbers of the chosen period: actual generation (verified by ONS), potential generation, capacity factor, invalid metering, availability, curtailment and the curtailment reason.
Source and date
ONS — verified generation, estimated generation and restriction with reason, summed per plant. The “last data …” stamp on the panel says how recent the data is; times in BRT (UTC−3).
Pitfall
In the current month the panel is partial (e.g. “partial: 408h / 720h”) — do not compare it with a closed month. Curtailment counts the half-hour in which ONS flags restricted generation in the per-plant file OR publishes the reason (REL, CNF, ENE) — the union of both signals since 2026-09-20. The share still without a published reason shows in grey as “reason pending ONS publication”: the MWh is already right, only the name is missing.

Loss Waterfall Open in this state →

What it means
The plant's energy from gross down to what is settled at the CCEE Centre of Gravity, in two rows: modelled and measured. Since 2026-09-26 the curtailment box splits in two when the plant sat at zero under restriction while sister plants in the same cluster were generating: that part leaves “Curtailment” and becomes “Stopped under restriction” (EST badge) — a candidate for the plant's own unavailability, not a curtailment order.
Source and date
Each box carries the tag of its origin — measured, calculated, estimated or literature-typical. CCEE enters with the latest settled month, shown in the panel corner (e.g. “CG · 2026-07”).
Pitfall
CCEE settles after ONS: the CCEE box may be one month behind the others or tagged as estimated. Check the tag before comparing boxes. The two boxes add up to the usual curtailment: the potential and the official column do not change. In August 2026, across the wind and solar fleet, stopped under restriction was 469,505 MWh, 8.2 % of curtailment (measured in production on 2026-09-26); at Morro dos Ventos II (RN), 9,609.1 of 11,163 MWh. Since 2026-09-26 each box's tooltip carries ITS OWN split by reason (REL, CNF, ENE) in MWh and as a % of that box; in Stopped, the reason is the CLUSTER's label at that instant.

Maximum Demonstrated Power — Panels A and B and detection floor Open in this state →

What it means
Since 2026-09-26, inside the panel (wind and solar): Panel A shows the best year's p95 by resource band (wind or irradiance), with the ceiling band and the knee; Panel B, month by month, the ceiling and the low band against the plant's own best year, with the month's curtailment % in the footer and the steps above the floor marked. The “below peak” status only lights above the plant's detection FLOOR (3 × the typical month-to-month variation).
Source and date
ONS — the plant's half-hourly verified generation and the resource of its own series; BrazilGrid internal criterion, no standard. Across the fleet measured in production on 2026-09-26, the median knee is 900 W/m² for solar and 10 m/s for wind.
Pitfall
The “DC/AC not inferred” chip is always visible: a solar plant's ceiling is blind to module degradation. A step is a SHAPE label, grey, not an alarm — nearly every plant has one in its series, and most fall in months of heavy curtailment (check the curtailment % in the footer before concluding the asset got worse). With the floor, 97 solar and 63 wind plants left “below peak”.

Data validity per half-hour Open in this state →

What it means
The whole month in 30-minute cells: green valid, red invalid without estimate (the Reference Generation drops to zero and that half-hour's curtailment is not counted), blue filled in via SAGER. The cell outline shows the curtailment reason — and turns GREY when ONS has not yet published that half-hour's reason (“reason pending ONS publication”, on screen since 2026-09-20).
Source and date
Invalid-data flag published by ONS, half-hour by half-hour; the basis (Operating Routine RO-AO.BR.13) is cited in the panel footer, with the “data up to” stamp.
Pitfall
The flag is about telemetry — the supervisory system failed to receive data for more than six minutes — not about the sensor: the measurement usually exists in the plant's logger. The window to contest in SAGER is short (3 business days); the panel shows the deadline.

Failures & Shutdowns Open in this state →

What it means
What is out at the connection substation and along the path to the bulk grid, with its validity period. Since 2026-09-26 the panel separates FORCED FAILURE (red, counts as an alarm) from SCHEDULED INTERVENTION (blue, informational): the ONS PDI is a schedule, so it shows as “N scheduled ongoing” and does not raise the alarm.
Source and date
ONS (COIG / PDI), with the time of the last check in the panel header.
Pitfall
“None ongoing” holds for the window shown on the panel. To explain a past REL curtailment, cross the event date with the KPIs period. On 2026-09-26 00:40 UTC there were 23 forced failures (COIG) and 648 scheduled interventions (PDI) in force; before, the 416 PDI with shutdown raised the alarm and the intervention chip of 83 plants — today it lights only for a forced failure (14 plants at that time).

Neighbour curtailment (substation page) Open in this state →

What it means
How much the wind and solar plants already connected to the substation were curtailed, by reason (REL, CNF, ENE), month by month and by bus; clicking a bus opens its plants.
Source and date
ONS (restriction × verified generation), summed per plant, 12-month or 90-day window, with “data up to” on the panel.
Pitfall
The total counts the half-hour flagged as restricted generation by ONS or with a published reason; the share still without a reason enters in grey, as “reason pending ONS publication”. The value without that filter, invalid telemetry and the effect of aggregating per plant instead of per cluster appear in the footer as not counted — never add them to the total.

Active alerts now Open in this state →

What it means
Chips that are always visible: dimmed when there is nothing, lit when an event is ongoing (rain, wind, lightning, fire, invalid metering, SAGER risk…).
Source and date
Each chip gives its source and criterion in the tooltip, with the time of the data that lit it.
Pitfall
A dimmed lightning chip means the satellite detected no strike at that moment — not that operations are safe.

To connect (SE page) — who answers for each voltage sector Open in this state →

What it means
Who owns the substation's general module — the counterpart for anyone wanting to connect there — and, since 2026-09-20, BY VOLTAGE SECTOR: the same SE may have one owner in the 230 kV yard and another in the 500 kV one. The “Answers for the sector” column shows both.
Source and date
ONS — module registry and substation condominium. Measured on 2026-09-20: 713 SEs with a Basic Grid general module, 780 (SE, voltage) pairs and 67 SEs with modules in two or more sectors.
Pitfall
In 61 SEs (8.6%) some sector had an owner different from what the screen showed before — at BACFO the SE appeared as AXIA Nordeste (230 kV yard), while ISA Energia Brasil answers for the 500 kV. The SE's main owner did not change: look at YOUR sector's row before looking for a counterpart.

DEC/FEC continuity by cause (Distribution panel) Open in this state →

What it means
How long (DEC) and how often (FEC) the consumer-unit cluster was without power over 12 months, against the annual limit — and, since 2026-09-20, broken down BY CAUSE on both sides of the boundary. The exclusion block stands apart, never added to the official figure. Since 2026-09-26 the same DEC/FEC shows on the cluster, group and operator pages, at the end of the Distribution (BDGD) panel: it counts consumer-unit sets by status against the limit (above, within, undetermined, no limit) and with a violation already certain for the year, and lists them from closest to the limit to farthest.
Source and date
ANEEL — continuity indicators per consumer-unit cluster; the reference period and the file date are in the panel footer.
Pitfall
DEC = DECIP + DECIND (scheduled + unscheduled interruption), an identity that closes in 3,259 of the 3,262 clusters (99.91%); a residue above 0.05 h shows on screen. The four exclusion parcels are DISJOINT since 2026-09-20 — before that they overlapped and added up to 9.00 h where the real figure is 8.66 h (OESTE cluster, Coprel). In the aggregate DEC is NOT summed or averaged — each set is an area with its own limit; a plant counts through the WORST set it connects to. Engie group, reference 07/2026 (ANEEL file of 2026-09-05): 7 sets, 2 above the limit over 12 months and 1 with a violation already certain (Lajinha 1, 16.55 h in the year against a 14 h limit) (read in production on 2026-09-26).

Energy not supplied (SE grid-health panel) Open in this state →

What it means
How much energy the state failed to receive in the month because of a disturbance with load shedding, in MWh — the cost of the shedding, which robustness indicators count but never price. On screen since 2026-09-20.
Source and date
ONS — load-interruption record, by state, with the month in the panel; the consumer-unit cluster's state on the page was also corrected on 2026-09-20.
Pitfall
“—” is a month WITHOUT an interruption publication, not a month without shedding: until 2026-09-19 that gap became zero in 3,214 of 6,334 rows. And the ONS robustness indicator's shedding count is inflated: 6,624 published against 1,652 real over 90 months (factor 4.01).

Why it generated — verified × scheduled by ONS (thermal) Open in this state →

What it means
Two bars with the same colours per dispatch reason (merit order, pure inflexibility, unit commitment, electrical reason, replacement generation…) and a shared scale: on top what the plant generated, below what ONS scheduled. The “verified − scheduled” chip tells, with its sign, how far the plant ran above (positive) or below (negative) the schedule. On screen since 2026-09-22.
Source and date
ONS — Thermal Generation by Dispatch Reason (hourly), summed over the month; the provenance line under the panel says “data of DD/MM/YYYY BRT”. At GNA II, August 2026: 247.2 GWh verified against 439.7 GWh scheduled, chip −192.6 GWh, 100% pure inflexibility (production API, 2026-09-22).
Pitfall
It is attribution per term, not a balance: when ONS's terms do not add up to the scheduled total, the residual shows with its sign (above 0.5%) and is never redistributed; an unpublished term reads “no information”, never zero. The old “Dispatch by component” panel left the screen on 2026-09-22 because it double counted (+6.7%).

CVU (Thermal specifics) Open in this state →

What it means
The plant's unit variable cost in R$/MWh. The green “sem. DD/MM/YY” tag under the value means it is the ONS WEEKLY CVU for that operating week; a grey tag is the CVU declared in the PMO (NEWAVE), used only when the weekly one is missing. The Operational Margin panel compares the CVU with the month's CMO.
Source and date
ONS — weekly CVU per planning unit; the PMO's NEWAVE as fallback. At GNA II, read on 2026-09-22: R$ 927.35/MWh for the week of 2026-09-19, against R$ 768.85 in the August 2026 PMO.
Pitfall
Until 2026-09-22 the weekly CVU query failed silently and the page always showed the PMO one. Check the tag before comparing two plants: weekly and PMO are not the same yardstick.

Operating restriction — constrained-on and constrained-off (CCEE) Open in this state →

What it means
Constrained-on: generation ONS ordered because of a grid restriction, outside the merit order. Constrained-off: generation the thermal plant did not make because of a restriction. Energy (MWh) and charge received (R$) side by side, the last 12 months month by month and, in constrained-on hours, why the plant generated according to CCEE. On screen since 2026-09-22.
Source and date
CCEE — hourly generation per plant (open data; MWh = our monthly sum) and charges received per plant (official R$, copied untouched). The two datasets do not move together: the footer shows the “data up to” of each. At Norte Fluminense, 08/2025–07/2026, read on 2026-09-22: constrained-on 443 MWh (3 hours, in February 2026) and R$ 141 thousand; constrained-off 8,125 MWh and R$ 1.9 million; MWh up to 07/2026, R$ up to 02/2026.
Pitfall
Do not divide R$ by MWh: the charge is net of the PLD revenue, so energy × CVU does not reproduce what was paid. There is no reason code (REL/CNF/ENE) for constrained-on. A dashed bar is a month without hourly data (absence, not zero). Only thermal plants with a CVU declared at CCEE show up.

Did the fuel arrive? — gas delivery point (ANP) Open in this state →

What it means
The transmission pipeline delivery point that serves the plant, with the volume requested, scheduled and delivered in the period, the allocation, who delivers (shipper and contract) and the Pearson r between the point's daily volume and the plant's daily generation (“Does the point explain generation?”). On screen since 2026-09-22.
Source and date
ANP — daily natural gas flows in transmission pipelines (consolidated data, 2021-01 to 2026-08); the point↔plant pair is hand-curated. At Norte Fluminense, August 2026, read on 2026-09-22: r = 0.995 over 2,066 paired days, 34,262.2 thousand m³ delivered against 33,579.1 thousand m³ requested (allocation 102%), with Petrobras and J&F as shippers.
Pitfall
Zero volume at the point is NOT a gas shortage: gas may come from a field, the plant's own LNG terminal or the distributor, which ANP does not publish (Uruguaiana generated on 52 days, up to 549 MW, with no volume at its point). A plant without a point gets the answer “not served by an ANP-regulated transmission pipeline” — coverage is 19 of the 52 gas-fired plants (9.50 of 18.28 GW). There is no gas transport margin: ANP publishes flow, not capacity.

Economics — debt and coverage (indicative): DSCR Open in this state →

What it means
The plant's debt service coverage ratio, built only from public data: (12-month revenue − 12-month opex) ÷ 12-month debt service, with a sensitivity range and a stress case. Since 2026-09-23 the TUST in the opex carries the grid-tariff discount published by CCEE: the line “TUST with a X% grid-tariff discount (CCEE)” gives the percentage and the month.
Source and date
Debt: SND/B3 (CVM) and ANEEL auctions; revenue: ONS; opex: EPE; grid-tariff discount: CCEE, monthly registry of the plant parcel (discount percentage). For Caetité D, read in production on 2026-09-24: 50% discount published for 07/2026, single parcel.
Pitfall
It is an indicator built from public data, not a credit opinion. Without a CCEE publication the TUST goes in at full rate and the line says “TUST with no discount information (full tariff)” — never an assumed 50%. For clusters, groups and operators the panel says how many plants have the discount applied and how many have no information; when an input fails to load, the DSCR shows as “not calculated”, never zero.

Line tap — indirect terminal (line page) Open in this state →

What it means
For line taps ONS publishes the “to” terminal empty: the tap ends at a branch of another line or at a model node, not at a substation. Since 2026-09-23 the line header shows that terminal read from the equipment name, with the “indirect terminal” badge and a link to the parent line (in the example, the Jaru tap branches off the Samuel – Ji-Paraná C-1 line).
Source and date
ONS — transmission line registry, equipment name, loaded on 2026-09-23; the page stamps source, date and method. Measured in production on 2026-09-24: 48 of 2,339 current lines, all taps — 16 branches off a line (15 matched to the parent line) and 32 model nodes.
Pitfall
The indirect terminal never becomes a substation terminal. The Auctions panel of the tap has no lot of its own and lists the parent line's works, labelled as the parent's.

Next stage 4: Theory and formulas ↓

4Stage 4 — Theory and formulas

How each number is computed, with the rule or criterion behind it — and what it leaves out.

Curtailment — per plant, with the ONS gate (flag ∪ reason)

Curtailment (MWh) = Σ_t max(Est_t − Ver_t ; 0) × 0.5 h
   summing only the half-hours t under restriction, by the ONS gate:
      restricted-generation flag = 1  OR  published reason (REL, CNF, ENE)
      before 2024 the flag does not exist — only the reason applies
   Est = ONS estimated generation (MW) · Ver = verified generation (MW)
Curtailment % = Curtailment ÷ Σ Est over the period

The max is taken plant by plant and half-hour by half-hour: a half-hour in which the plant generated above the estimate does not offset another plant's cut. The reason filter separates curtailment from estimation error — without it, the same sum over the whole wind and solar series gives 128.24 TWh instead of 85.32 TWh (+50%; production measurement of 2026-09-13, series 2021-10-01 to 2026-09-12). Since 2026-09-20 the gate is the UNION of two ONS signals: the restricted-generation flag from the per-plant file, which arrives at D−1 and exists from 2024 on, and the reason from the per-cluster file. The union came in because the flag alone erased curtailment the source itself labels — 104 half-hours and 274.638 MWh of UFV Assú V, measured in production on 2026-09-20. The 2024–2026 series does not change; what changed was 17 and 2026-09-18, which showed ZERO curtailment (reading as “a day without curtailment”) and now show 488,424 MWh. It is the Gfrust (frustrated generation) term of the compensation formula.

Basis: GESS formula of ANEEL REN 1,109/2024: min[max(Econt − Gver; 0); Gfrust]; half-hourly assessment of ONS RO-AO.BR.13; Curtailment tooltip in the KPIs panel; flag ∪ reason gate (B322) in production since 2026-09-20.

Capacity factor, three readings

Delivered CF = Verified generation ÷ (Nominal capacity × hours in period)
Potential CF = Reference generation ÷ (Nominal capacity × hours)
Lost CF      = Curtailment ÷ (Nominal capacity × hours)

Delivered is the official ONS capacity factor (marked ★ in the panel) and drops when the plant is curtailed. Potential says how much it would generate without restriction; lost is the share attributed to the restriction assessed by ONS, split by reason (REL, CNF, ENE).

Basis: Tooltips of the KPIs panel; production-based availability in IEC 61400-26 (wind) and IEC TS 61724-3 (solar).

Why the per-plant sum gives more than the ONS one (method difference)

Σ_u max(Est_u − Ver_u ; 0)   ≥   max(Σ_u Est_u − Σ_u Ver_u ; 0)
   per-plant sum                     per-cluster sum (ONS assessment and counter rule)

ONS adds up the plants of a cluster before taking the max; plant by plant, one that generated above its own estimate does not offset one that was cut. The inequality guarantees the per-plant sum is larger, but it does not make that difference energy: most of it is error in each plant's estimated generation (BrazilGrid review B343, 2026-09-24, with a synthetic-curtailment test of known truth). For the SIN, whole series, the per-plant sum is 3.4% higher (2.88 TWh; gridCurt in production, 2026-09-24 20:30 UTC). That is why the counter uses the per-cluster sum; per-plant curtailment serves to analyse the asset, never as a total.

Basis: RO-AO.BR.13 (per-cluster assessment); ANEEL REN 1,030/2022 Art. 16 §4 (plant frustration = share of the cluster's); BrazilGrid review B343.

Invalid metering, zeroed Reference and what can be recovered

Colours: green = valid · red = flag 1 AND estimate 0 (Reference zeroed, curtailment out of the count) · blue = flag 1 AND estimate > 0 (replaced by the ONS, curtailment counted) · grey = not ingested
Silenced half-hour: invalid-data flag = 1  AND  estimated generation = 0
Invalid readings % = silenced half-hours ÷ half-hours in period
Recoverable = max(P_plant × CF of valid sibling plants − Ver ; 0) × 0.5 h × hourly PLD

When telemetry fails and ONS has no estimate, the plant's Reference Generation goes to zero and that half-hour's curtailment drops out of the count. Flag 1 with an estimate above zero is not a problem: ONS has already substituted the value. To size what is recoverable, we rebuild the reference from the capacity factor of the valid sibling plants in the same cluster — a reference to check your own series against, not something to submit as metering. The cell outline shows the curtailment reason (REL, CNF or ENE). A red cell with an outline is curtailment left out of the books; a blue one is curtailment counted. The invalid flag is about telemetry, not the sensor: it means the transmission failed for more than six minutes within the half-hour. In most cases the measurement does exist in the plant's own recorder.

Basis: RO-AO.BR.13 Rev.09: item 5.2.2.5 (zeroed reference), 5.2.2.6 (substitute data from the plant's own metering) and 7.1 (identical data across plants of a cluster is an invalidity criterion); Potential improvement — SAGER recovery panel.

Rebuilding the series with sister plants

Order of preference for the substitute data: 1) the plant's own record → 2) best sister in the same cluster → 3) meteorological floor
Sister ranking: period coverage · recoverable MWh · historical correlation · distance
Ordinary contestation window: 3 business days

When metering does not arrive, the ONS accepts a reconstruction based on series from plants in the same cluster — the sisters. The panel ranks sisters by period coverage and recoverable MWh, with historical correlation and distance, and rates how defensible each choice is. Download the combined series ready to submit, or the blank template if you prefer to fill it with your own record — then send your CSV back for checking. The ordinary contestation window is 3 business days. Outside it, a period only becomes claimable again if a retroactive window is opened by regulation. The app tracks, on its own, the revisions the ONS makes after submission — restored reference generation shows up in the panel, with a date.

Basis: RO-AO.BR.13 Rev.09: item 5.2.2.6 (substitute data, the plant's own metering first) and 7.1 (identical data across plants of the cluster is an invalidity criterion); Potential improvement — SAGER recovery panel.

REL allowance: what is compensable

REL hours in the year = minutes under REL restriction published by ONS, per cluster, accumulated since 1 January
Compensable under the ordinary regime = only what exceeds the annual allowance
2026 allowance applied by ONS: 110 h (wind) · 55 h (solar)
Regulatory baseline: 78 h (wind) · 30 h 30 min (solar)

REL (external network unavailability) is compensable above the allowance; the allowance is annual, not monthly. CNF only under Law 15,269/2025, for events from 2023-09-01 to 2025-11-25, through a Commitment Term — payment currently suspended by an ANEEL injunction. ENE (energy surplus) is not compensable. Where ONS does not publish the minutes, we count the whole half-hour and the panel says so.

Basis: ANEEL REN 1,030/2022 Art. 16 §2 and §3 (wind) and Art. 20-D §2 and §3 (solar); ONS dashboard of average unavailability hours of transmission functions, 2021/2025 cycle, consulted on 2026-09-13; Law 15,269/2025 Art. 1-B; ANEEL Order 148/2026.

Substation curtailment rate (Neighbour curtailment)

Rate = Curtailment ÷ (Curtailment + Verified generation)
Curtailment = Σ curtailment (with restriction reason) of the wind and solar plants connected to the substation, over 12 months or 90 days

The share of possible energy that the electrical neighbourhood lost. At Igaporã III: 728.0 ÷ (728.0 + 1,553.6) = 31.9% — mission 3 of the developer track.

Basis: Same curtailment definition as the plant page; ONS data.

The 4th slice: “reason pending ONS publication”

Half-hour reason = reason from the ONS PER-CLUSTER file
   without it → reason from the ONS INTRA-HALF-HOUR file
   without both → PEND (“reason pending ONS publication”), GREY slice
The curtailment MWh does NOT change: only the split among REL, CNF and ENE is provisional

Curtailment is measured in the per-plant file, which arrives at D−1; the reason's name comes from the per-cluster file, which can be late — that is what happened on 17 and 2026-09-18. When it is late, the half-hour enters as PEND, grey on purpose: PEND is not a reason, it is the absence of one. Without that slice, anyone opening the total into REL/CNF/ENE would see less energy than the counter beside it, and two different bases side by side read as a data defect. The panel stamps how far the official ONS reason has been published.

Basis: ONS RO-AO.BR.13; ONS restriction files per plant, per cluster and intra-half-hour; BrazilGrid rule in production since 2026-09-20.

Verified × scheduled by dispatch reason

Scheduled = Σ ONS terms (merit, pure and embedded inflexibility, unit commitment, electrical reason, …) + residual
Deviation = Verified generation − Scheduled generation (MWh in the month)
   > 0 → the plant generated above schedule (upward redispatch)
   < 0 → below
Term % = term ÷ total, computed separately for verified and scheduled

Both bars use the same ONS identity, one on the verified values and one on the scheduled values, and the same scale: the length shows the redispatch. The residual (what the published terms do not explain) only shows above 0.5% and always with its sign. The 12-month window gets the same reading in the “In 12 months” line.

Basis: ONS — Thermal Generation by Dispatch Reason, verified (val_verif*) and scheduled (val_prog*) columns; BrazilGrid decomposition in production since 2026-09-22 (B327).

Thermal constrained-on: energy and money, side by side

On energy (MWh) = Σ_h GERACAO_RESTRICAO_OPERATIVA_CONST_ON (hours published by CCEE)
Off energy (MWh) = Σ_h ENERGIA_AJUSTADA_ENCARGO_RESTRICAO_OPERATIVA (since 06/2024)
R$ = system service charge received by the plant (official value)
Unit commitment (a separate line, never added to constrained-on): MWh = Σ_h GERACAO_UNIT_COMMITMENT (all hours of the month); R$ = ENCARGO_REST_OP_UNIT_COMT (official value)
Hourly attribution: generation = merit + inflexibility + unit commitment + … + constrained-on + residual

MWh and R$ come from different CCEE datasets and are never converted into each other. The split by reason is the attribution CCEE itself publishes, hour by hour; in the production validation of 2026-09-22, over the whole base, it closed exactly in 66.8% of the hours — elsewhere the residual shows as an absolute sum. The base had 142 thermal parcels, 2,621,941 MWh of constrained-on and R$ 1,835.5 million of on charges.

Basis: CCEE — hourly generation per plant and charges per plant (open data); model agg_ccee_restricao_operativa_usina_mes validated in production on 2026-09-22; unit commitment from fact_ccee_unit_commitment_parcela_mes.

Gas: allocation and the point ↔ plant link

Allocation (%) = Σ delivered volume ÷ Σ requested volume × 100   (never an average of daily percentages)
Link = Pearson r (daily volume at the point, daily plant generation), over paired days
   r ≥ 0.90 → tracks the plant · partial · shared point · no variation · no basis

Allocation is contractual — how much of the request the transporter confirmed to the shipper —, not physical pipeline use. The r separates “the point tracks the plant” from “the point is the plant's”: of the 19 curated pairs, 14 have r ≥ 0.90, 2 are partial and in 3 the point does not explain the plant (measured 2026-09-22). No pair is matched by municipality: that rule is right 34% of the time and can tie a plant to another plant's point.

Basis: ANP — daily flows in transmission pipelines; curated seed seed_xwalk_anp_ponto_usina (23 rows: 19 pairs and 4 documented rejections), 2026-09-22 (B324).

Curtailment, stopped under restriction and non-binding restriction

Only in half-hours with a restriction reason, per plant:
   binding     = curtailment > 0 and the plant generated; or plant AND whole cluster at zero
   stopped     = curtailment > 0, verified ≤ 0 and some sister in the cluster generating at the same instant
   non-binding = labelled, but curtailment = 0 (generated ≥ estimate) — count only
“Curtailment” box = Σ binding · “Stopped under restriction” box = Σ stopped · both add up to val_curtailment

The ONS order applies to the cluster: if it did not zero the sisters, this plant's zero is more likely its own unavailability than curtailment. That is why the stopped part is kept in its own box, never deleted, and an order that zeroes the whole cluster is still curtailment. If the gate query fails, the waterfall falls back to the usual single box and records the failure.

Basis: ONS — restriction per plant (val_curtailment, with the reason gate); BrazilGrid rule in production since 2026-09-26 (B212).

Next stage 5: Data sources ↓

5Stage 5 — Where the data comes from

The source of each dataset, how and how often we fetch it, and the limitation you need to know.

Verified generation, estimated generation, reason and flag (half-hourly, per plant)

Source and date
ONS — Open Data: constrained-off operating restriction of wind and photovoltaic plants, with verified generation, estimated generation, restriction reason (REL, CNF, ENE) and invalid-data flag.
How and how often we fetch it
Automatic daily collection from the ONS public repository into our database, transformed up to the per-plant table every app reads; times shown in BRT (UTC−3). Data usually runs up to two days before today (on 2026-09-19: up to 2026-09-17 23:30 BRT).
Limitation
ONS rewrites already-closed months when it recalculates the reference, without changing the row count. We check old partitions against the source and re-ingest the divergent ones — so a number measured before a re-ingestion may not reproduce afterwards. Since Aug/2026 ONS publishes two invalidity flags; we use the supervisory one (the one covering the whole series) and keep the final one separately.

Registry: capacity, cluster, connection point, physical guarantee

Source and date
ONS (plant and cluster registry) and ANEEL (SIGA: inspected capacity and physical guarantee), joined by CEG.
How and how often we fetch it
Periodic collection; the plant page joins the sources by the plant's CEG.
Limitation
ONS registry and operation run on two clocks: when ONS regroups or recodes a cluster, the old restriction stays under the old code. A cluster-alias table keeps that history from being lost.

Settled generation and PLD

Source and date
CCEE — generation settled at the Centre of Gravity and hourly PLD by submarket.
How and how often we fetch it
Periodic collection of CCEE public data.
Limitation
CCEE settles after ONS: the latest month may not be published yet, and the panel marks that box as estimated or projected.

Failures, outages and alerts

Source and date
ONS (PDI — scheduled outages; COIG — generation occurrences), GOES-19 satellite (GLM lightning, FDCF fire, RRQPEF rain, DSIF convection) and INPE (wildfires).
How and how often we fetch it
Continuous collection through the day; each chip shows the time of the data that lit it.
Limitation
Satellites detect, they do not guarantee: no detection is not the same as no event. PDI is a schedule and may carry future dates. The PDI is a schedule (planned intervention), not a failure: since 2026-09-26 it is informational and only a COIG forced failure counts as an alarm.

Thermal dispatch by reason and weekly CVU

Source and date
ONS — Open Data: Thermal Generation by Dispatch Reason (hourly, verified and scheduled) and weekly CVU per planning unit; the PMO's NEWAVE for the fallback CVU.
How and how often we fetch it
Automatic collection from ONS's public repository; the page sums the month and shows the “data of” on the provenance line.
Limitation
ONS publishes terms that do not always add up to the total: the residual stays in view. A thermal plant ONS does not dispatch centrally has no such decomposition.

Thermal operating restriction (constrained-on/off)

Source and date
CCEE — open data on hourly generation per plant (operating restriction columns) and on system service charges received per plant.
How and how often we fetch it
Periodic collection; energy summed per month by BrazilGrid, R$ copied. The two datasets have different dates (Norte Fluminense on 2026-09-22: MWh up to 07/2026, R$ up to 02/2026).
Limitation
Constrained-off energy is identified by statistical evidence, not by CCEE's data dictionary, and only exists since 06/2024. Only thermal plants with a declared CVU show up.

Gas delivered at the point

Source and date
ANP — daily natural gas flows in transmission pipelines (consolidated data), 68 months, 2021-01 to 2026-08: 215 delivery points.
How and how often we fetch it
Monthly load into our database, every published column kept; the point↔plant pair comes from a curated table with the evidence for each pair.
Limitation
ANP renamed columns mid-series and writes negatives as “- 55,49”; “-” and “#N/D” become absence, never zero. A day without publication is absence, not zero delivery.

Next stage 6: Improvements ↓

6Stage 6 — Possible improvements

What the app does not do yet, or does with a caveat, and what is on the radar. Suggestions are welcome.
  • Spanish in gridAssets. Measured on 2026-09-19, the interface opened in Portuguese even with ?lang=es. Since 2026-09-20 the language choice travels from the landing to the apps (bg_lang cookie on .brazilgrid.com), so picking Spanish on the landing and opening gridAssets keeps Spanish; a panel still in Portuguese is a missing translation, not the choice being lost.
  • Official compensable base across the whole series. Frustrated generation computed from the ONS Final Reference Generation only appears where ONS publishes that column; the panel shows the coverage. It grows as ONS publishes.
  • Applied allowance for earlier years. Only the 2026 applied value is archived with its source; earlier years use the regulatory baseline, labelled as such. Archiving the earlier cycles of the ONS dashboard closes that gap.
  • Notice of months revised by ONS. Today we watch and re-ingest the months ONS rewrites; showing on the plant page when a month was revised would help anyone comparing numbers taken on different dates.
  • Closing the reason for 17 and 2026-09-18. Both days came in with the right curtailment from the ONS flag, but part of the reason split came from the intra-half-hour file. Once ONS publishes the per-cluster file for those days, the grey slice turns into REL, CNF or ENE on its own.
  • Gas for plants without an ANP point. 33 of the 52 gas-fired plants get gas from a field, their own LNG terminal or the distributor, which ANP does not publish; indirect sources (LNG terminals, state distributors) would close part of that gap.

Open the app →

gridAssets · country — Chile, Colombia, Peru, Argentina, Uruguay, Paraguay and Bolivia

Hands-on guide

reviewed on 2026-10-02

A sheet for every power plant, substation and line in Chile, Colombia, Peru, Argentina, Uruguay, Paraguay and Bolivia, with the country operator's or regulator's data, local time and the source on every panel.

Each app is a track of up to six stages: start by using the screen and go as deep as you like — down to the formulas, where the data comes from and what could still improve. Every app in this manual now follows this format.

1Stage 1 — Use and read the screen (30 seconds)

What it is: Seven country gridAssets, one per host: Chile (cl.brazilgrid.com, data from the Coordinador Eléctrico Nacional — CEN), Colombia (co.brazilgrid.com, data from XM and UPME), Peru (pe.brazilgrid.com, live since 2026-09-24: Osinergmin GIS and COES dispatch), Argentina (ar.brazilgrid.com, live since 2026-09-25: Secretaría de Energía GIS and CAMMESA series), Uruguay (uy.brazilgrid.com, live since 2026-09-25: MIEM network of 2019 and, since 2026-09-26, ADME's hourly generation series for all 97 plants and the operational constraint of wind and solar plants), Paraguay (py.brazilgrid.com) and Bolivia (bo.brazilgrid.com), live since 2026-09-25 with OpenStreetMap geometry. One sheet per power plant (Chile, Peru, Argentina, Uruguay, Paraguay and Bolivia) or resource (Colombia), per substation and per line; in Chile and Colombia, also one page per transmission company; in Uruguay, one page per company (MIEM 2019) and the operational-constraint ranking. The panels vary with each country's data — maximum demonstrated power, curtailment or constraints, capacity factor, price at the line ends, nodal marginal cost, spot price, spillage — and each one states source and date. The screens speak Spanish, Portuguese and English; times shown are the country's local time, stated in each panel's footer.

Do it now: Open plant 1704, PFV Campos del Sol (Atacama), and scroll to “Maximum demonstrated power”: 378.1 MW sustained for 2 hours on 2025-12-16, 13:00–15:00 Chile time — 103.9% of the 363.8 MW nameplate (production API read on 2026-09-24 19:22 UTC; CEN generation up to 2026-09-23).

gridAssets screen: profiles of Chilean SEN power plants, substations and lines
gridAssets screen: profiles of Chilean SEN power plants, substations and lines screenshot captured on 2026-10-30 · public screen of cl.brazilgrid.com
gridAssets screen: profiles of Colombian SIN resources, agents and substations
gridAssets screen: profiles of Colombian SIN resources, agents and substations screenshot captured on 2026-10-30 · public screen of co.brazilgrid.com
gridAssets screen: profiles of Peruvian SEIN power plants, substations and lines
gridAssets screen: profiles of Peruvian SEIN power plants, substations and lines screenshot captured on 2026-10-30 · public screen of pe.brazilgrid.com
gridAssets screen: profiles of Argentine SADI power plants, transformer stations and lines
gridAssets screen: profiles of Argentine SADI power plants, transformer stations and lines screenshot captured on 2026-10-30 · public screen of ar.brazilgrid.com
gridAssets screen: operational restriction in Uruguay and profiles of power plants, substations and lines
gridAssets screen: operational restriction in Uruguay and profiles of power plants, substations and lines screenshot captured on 2026-10-30 · public screen of uy.brazilgrid.com
gridAssets screen: profiles of power plants, substations and lines of Paraguay
gridAssets screen: profiles of power plants, substations and lines of Paraguay screenshot captured on 2026-10-30 · public screen of py.brazilgrid.com
gridAssets screen: profiles of Bolivian SIN power plants, substations and lines
gridAssets screen: profiles of Bolivian SIN power plants, substations and lines screenshot captured on 2026-10-30 · public screen of bo.brazilgrid.com

Open the plant in gridAssets Chile →

Next stage 2: Features ↓

2Stage 2 — Features, step by step

Every step has a link that opens the app in exactly the state described (asset, month and panel).
  1. Come in from the map or from the list: in gridMap or gridOne, with any of the seven countries in the selector, click an asset and use the “Analytics view” chip (or the ↗ in gridOne's in-view list); or open the country's /activos (cl., co., pe., ar., uy., py. or bo.brazilgrid.com) and search by name. The language switches at the top (ES, PT, EN) and goes into the URL (?lang=). Open in this state →

  2. On a Chilean plant sheet, “Maximum demonstrated power” shows the highest level sustained for 2 hours in a row and the p99.5 of each year; “Curtailment timeline” lists the curtailment events of the chosen month and a day × hour matrix. At PFV Guanchoi, in May 2026: 39 events, 145 hours, 6,176 MWh (read on 2026-09-24). Open in this state →

  3. Still on the plant: “Path to the grid” tells which substation it injects into and which lines leave from there (one level, with the link method), and “Nearby weather stations” lists the DMC and CEAZA stations with measurements within 150 km, with the age of the last reading. Open in this state →

  4. On a Chilean substation sheet, “Associated generation” adds up the plants linked to it over the last 30 days with data, and “Curtailment by substation” shows 12 months of curtailment up to the last month the CEN published. At S/E Carrera Pinto: 294,771 MWh from 2025-07 to 2026-06, 257,085 of them from Campos del Sol (read on 2026-09-24). Open in this state →

  5. In Colombia, the resource sheet has the same “Maximum demonstrated power” (nameplate = net effective capacity published by XM, with its date) and the “Constraint timeline (negative reconciliation)”. At SNCR, in September 2026 up to the 21st: 18 events, 365 hours, 161,727 MWh; the largest, from 09-10 22:00 to 09-16 00:00, lasted 122 hours (read on 2026-09-24). Open in this state →

  6. On a Colombian substation sheet, the “Radial line scheme” draws a star with the lines leaving it, each towards the other end; a terminal that did not match a substation is listed by the source's name, with no ray. Antioquia | Occidente 110 kV: 12 lines, 8 with a direction (read on 2026-09-24). Open in this state →

  7. On any sheet — plant, resource, substation or line —, “Forecast alerts · D+1 to D+3” gives, per local day, gusts, rain, temperatures and the level of each hazard; on the line sheet, “Weather by section of the route” (collapsed: open it to fetch) repeats the forecast at points every 50 km along the route and shows where the worst day is. Open in this state →

  8. In Chile and Colombia, “Transmisoras” (on the /activos page) lists the companies that own substations and lines; each company's page adds up substations, lines and km per voltage, with a minimap of its substations. TRANSELEC S.A. (Chile): 76 substations, 167 lines, 6,892.3 km; INTERCONEXIÓN ELÉCTRICA S.A E.S.P. (ISA, Colombia): 57, 140 and 12,013.1 km (read from the production API on 2026-09-25 02:51 UTC). Open in this state →

  9. On a Chilean line's sheet, “Price at the ends (ΔCMg)” compares the marginal cost of the two substations over the last 7 published days, and “Plants at the ends” lists the plants tied to each end. LONCOCHE–PULLINQUE 66 kV, 2026-09-19 to 09-23: 61 hours with both ends, mean ΔCMg of +10.21 USD/MWh (16.01 vs 26.22), 28 hours with a difference of 1 USD/MWh or more (read from the production API on 2026-09-25 02:51 UTC). In Colombia both panels are grey, with the reason. Open in this state →

  10. In Peru, the plant list joins the Osinergmin GIS with the COES catalogue: the sheet says whether the position comes from the GIS, is indirect (another service of the same regulator, with source and date) or is missing. Mantaro is not in the operational GIS; its position comes from Osinergmin's ELECTRICIDAD_TOTAL service, queried on 2026-09-24 22:41 UTC. Open in this state →

  11. On a Peruvian plant's sheet: the COES executed-dispatch series every 30 minutes, the “Maximum demonstrated power” (the same yardstick as Chile and Colombia) and the bus marginal cost, in S/./MWh, with energy and congestion. Mantaro: 657.5 MW sustained from 2026-06-12 22:30 to 06-13 00:30 (Lima time), 96.9% of the 678.7 MW nameplate, over 176 days of dispatch (2026-04-01 to 09-23); Huanza, bus HUANZA 220: average 305.83 S/./MWh from 2026-09-18 to 09-23, 34 half-hours with congestion (read from the production API on 2026-09-25 02:51 UTC). Open in this state →

  12. Still in Peru: “Empresas” lists the 79 owners that COES publishes in the dispatch, with the energy of the chosen window (7 to 365 days; over the 30 days from 2026-08-26 to 09-23, Kallpa with 20.48%), and every wind or solar plant has the “RER spillage” panel: Punta Lomitas, 774.7 MWh over 4 days between 2026-04-17 and 09-23, at most 41.85 MW in a half-hour (read from the production API on 2026-09-25 02:51 UTC). Open in this state →

  13. In Argentina, the sheet shows the Secretaría de Energía GIS registry (loaded 2026-09-22 06:53 UTC), the substation's line star and the lightning and fire alerts; the province is derived from the coordinates using IGN boundaries, labelled, and the sheet exports CSV. HI Presidente Néstor Kirchner: 950 MW, under construction, Santa Cruz; Trelew substation: 3 lines of 132 kV owned by TRANSPA S.A., all with the other end named (read from the production API on 2026-09-25 02:51 UTC). Open in this state →

  14. In Argentina, the sheet of each MEM renewable plant has the “Generation and spilled energy — CAMMESA (PPO)” panel: 12 months of published generation and spilled energy, the % spilled and the capacity factor (derived, labelled), the spilled energy by the hour's CLASS (grid, frequency, other, mixed, no order) and the longest restriction orders with the named element. Diadema II wind farm (Chubut), 2025-09-24 to 2026-09-23: 74.4 GWh generated, 31,808 MWh spilled (29.95 %), 30,846.7 MWh of it in grid hours; the longest order is the Comodoro Rivadavia → Pico Truncado 132 kV line (2,713 events, 1,714.5 h) (read on the production screen on 2026-09-26). Open in this state →

    Diadema II wind farm profile in gridAssets Argentina: monthly history of generation and curtailed energy published by CAMMESA (PPO), since 09/2020
    Diadema II wind farm profile in gridAssets Argentina: monthly history of generation and curtailed energy published by CAMMESA (PPO), since 09/2020 screenshot captured on 2026-10-30 · public screen of ar.brazilgrid.com
  15. Atucha I is not in the Secretaría de Energía GIS: the sheet shows it with the “Outside the GIS — indirect source” badge, the BrazilGrid key ATUCHA-I (there is no verifiable CAMMESA code) and each item with its source and query date — 362 MW gross and commercial operation on 1974-06-24 (Nucleoeléctrica), extended refurbishment outage since 2024-09-29 (ARN) and the Wikidata coordinate, checked at 0.19 km from the GIS's own ATUCHA transformer station (queries of 2026-09-25). Open in this state →

    Atucha I nuclear plant profile in gridAssets Argentina: “outside the GIS — indirect source” badge, gross capacity and extended outage status, each item with its source
    Atucha I nuclear plant profile in gridAssets Argentina: “outside the GIS — indirect source” badge, gross capacity and extended outage status, each item with its source screenshot captured on 2026-10-30 · public screen of ar.brazilgrid.com
  16. In Uruguay, the sheet of each of the 97 plants has “Generation and operational restriction — ADME hourly series”: generation, capacity factor, demonstrated maximum output, hours without data, and the system and captured spot price over the 12 months with published generation; for wind and solar, the operational restriction, the rate and the ranking position. Pampa (wind, UTE): 403.7 GWh from 09/2025 to 08/2026, CF 32.5 %, operational restriction of 16,495 MWh from 08/2025 to 07/2026 (rate 3.94 %), no. 1 of 46 in MWh (production API read on 2026-09-26 03:41 UTC). You can open the day-by-day of any month and download the monthly or hourly CSV. Open in this state →

    Pampa wind plant profile in gridAssets Uruguay: ADME hourly series with generation, capacity factor, demonstrated maximum power and operational restriction over the last 12 months
    Pampa wind plant profile in gridAssets Uruguay: ADME hourly series with generation, capacity factor, demonstrated maximum power and operational restriction over the last 12 months screenshot captured on 2026-10-30 · public screen of uy.brazilgrid.com
  17. Still in Uruguay, the “Operational restriction” page (/restriccion) ranks wind and solar plants by restriction over the last 12 months or a chosen year, with rate, generation and hours without data, and exports CSV: 197.6 GWh in the country from 08/2025 to 07/2026, a rate of 3.86 %, 46 of the 63 plants with restriction (production API read on 2026-09-26 03:41 UTC). “Companies” (/empresas) groups the plants by the company in the 2019 MIEM register — 56 companies, 15 plants with no published company, UTE with 19 plants and 4,274.5 GWh from 09/2025 to 08/2026. Open in this state →

    Operational restriction ranking of Uruguay's wind and solar plants in gridAssets: 12-month total, country rate and the list by plant
    Operational restriction ranking of Uruguay's wind and solar plants in gridAssets: 12-month total, country rate and the list by plant screenshot captured on 2026-10-30 · public screen of uy.brazilgrid.com
    Company list in gridAssets Uruguay: plants, types, capacity and 12-month generation of each company in the 2019 MIEM register
    Company list in gridAssets Uruguay: plants, types, capacity and 12-month generation of each company in the 2019 MIEM register screenshot captured on 2026-10-30 · public screen of uy.brazilgrid.com
  18. In Paraguay, Itaipu and Yacyretá carry the “binational mirror” badge: the canonical sheet sits in the country whose source publishes the whole plant (Itaipu in Brazil's gridAssets, Yacyretá in Argentina's), with a link, and their 14,000 MW and 3,100 MW stay OUT of the country's totals — the list adds up 214.5 MW without the mirrors. Itaipu's sheet shows the Paraguayan share of the ONS series: over the 30 days from 2026-08-25 to 2026-09-23, 3,244 MW average stayed in Paraguay and 1,491 were ceded to Brazil, 68.5 % of the 50 Hz sector (read on the production screen on 2026-09-26). Open in this state →

    Itaipu profile in gridAssets Paraguay: binational mirror badge, link to the canonical profile in Brazil and the Paraguayan share of the ONS series
    Itaipu profile in gridAssets Paraguay: binational mirror badge, link to the canonical profile in Brazil and the Paraguayan share of the ONS series screenshot captured on 2026-10-30 · public screen of py.brazilgrid.com
  19. In Paraguay and Bolivia the grid comes from OpenStreetMap: voltage shows with an asterisk — “OSM voltage, unconfirmed” —, a line is the named OSM SECTION (labelled “not the circuit”) and the other end is resolved only when there is a substation within 1 km of the tip, never by name. Carrasco substation (Bolivia): 500 kV*, operator ENDE Transmisión in OSM, 1 named section and 9 unnamed, no end confirmed (OSM base of 2026-09-25 13:22 UTC, our load of 2026-09-25 23:28 UTC). Open in this state →

    Carrasco substation profile in gridAssets Bolivia: OpenStreetMap voltage marked with an asterisk as unconfirmed, and named and unnamed line sections
    Carrasco substation profile in gridAssets Bolivia: OpenStreetMap voltage marked with an asterisk as unconfirmed, and named and unnamed line sections screenshot captured on 2026-10-30 · public screen of bo.brazilgrid.com
  20. On a plant sheet for Argentina, Uruguay, Paraguay, Bolivia and Peru, the period selector sits at the top: the ‹ › arrows change the month and the 1d · 7d · 14d · Month buttons change the window (1, 7 and 14 days end on the last day the source published). The period goes into the URL (?mes=2026-07, ?dia=, or ?ini=&fim= up to 31 days) and drives the Indicators and the period series; the monthly history further down does not change. Without ?mes= the sheet opens on the last month with data for THAT plant. Pampa (wind, UTE), July 2026: 39,729.9 MWh, CF 37.7%, operational restriction of 711.4 MWh over 8 hours, rate 1.76% (production API read on 02/10/2026 07:49 BRT (10:49 UTC)). Open in this state →

Next stage 3: In depth ↓

3Stage 3 — In depth, panel by panel

What each panel means, where the data comes from and how recent it is, and the most common misreading.

Maximum demonstrated power Open in this state →

What it means
The highest level the asset sustained for 2 hours in a row over the whole series, compared with the nameplate, plus the p99.5 of each year. The chip says “reached the registry capacity” (90% to 105% of nameplate), “never sustained 90% of capacity” or “above the registry capacity” (over 105%).
Source and date
Chile: CEN hourly actual generation and registry (plant 1704: series from 2021-02-11 to 2026-09-23). Colombia: XM hourly actual generation (Gene) and net effective capacity (CapEfecNeta) with its publication date — GVIO: 1,258.8 MW on 2026-07-23, 21:00–23:00, 100.7% of 1,250 MW published on 2026-09-22, data up to 2026-09-21. Read from the production API on 2026-09-24.
Pitfall
In Chile and Colombia the registry nameplate is NOT a physical ceiling: hundreds of plants have generated above it for years (net nameplate against gross generation, stale registry). “Above the registry capacity” is a registry warning, not a plant fault. The chip is structural: neither CEN nor XM publishes wind or irradiance per plant to tell whether the peak was limited by the resource.

Curtailment timeline (Chile) Open in this state →

What it means
The month's variable renewable energy (ERV) curtailment events — start, end, hours, energy and hourly peak — and the day × hour matrix. No cause: the CEN does not publish the reason, so there is a single colour.
Source and date
CEN — Reducciones ERV (published curtailed energy), per hour and plant. On 2026-09-24 the last published month was 2026-06; the CEN hour is the END of the interval, in Chile time.
Pitfall
Curtailment arrives about 3 months after generation: the month opened by default (the last with generation) usually has no curtailment published, and the panel falls back to the last published month, with a notice. A month without publication shows “not published”, not zero; PMGD and storage show “not applicable”.

Curtailment by substation and Associated generation (Chile) Open in this state →

What it means
On the substation sheet: curtailment of the last 12 published months for the plants linked to it, month by month, with the curtailed percentage and the list of plants; and those plants' generation over the last 30 days with data.
Source and date
CEN — Reducciones ERV and actual generation, summed through BrazilGrid's plant → substation bridge (built on the CEN InfoTécnica registry). S/E Carrera Pinto: 294,771 MWh from 2025-07 to 2026-06 (read on 2026-09-24).
Pitfall
The percentage uses only the hours in which both curtailment AND generation are published; the MWh totals add everything. A substation whose plants are not in the ERV shows “not applicable”, which is not zero curtailment. A plant without a link in the bridge stays out of the sum: over 12 months, 4,912.5 of the country's 5,837.8 GWh of ERV fall on a substation (measured on 2026-09-23).

Path to the grid and nearby stations (Chile) Open in this state →

What it means
From the plant to the substation it injects into and the lines leaving from there (one level); and the DMC and CEAZA stations with measurements within 150 km, with distance, last reading (radiation, wind, temperature, humidity, rain) and status from the station's cadence.
Source and date
CEN InfoTécnica registry + IDE Energía, with the link method on screen (bay, bus or name). Stations: DMC (Dirección Meteorológica de Chile) and CEAZA, hourly — near Campos del Sol, the closest is Copiapó, Cerro Antenas (DMC), 50 km away, with a reading from 15:00 UTC on 2026-09-24.
Pitfall
The path has a single level: it does not follow the grid to the national system, and a link by “name” is the weakest of the three. A station tens of km away does not measure the plant's wind or cloud; the AGROMET network is only in the catalogue (no series) and does not show up.

Constraint timeline — negative reconciliation (Colombia) Open in this state →

What it means
The hours in which XM negatively reconciled the resource — actual generation stayed below the ideal because of a constraint —, as events and as the month's day × hour matrix.
Source and date
XM — RecoNegEner (published negative reconciliation, hourly). On 2026-09-24 the data went up to 2026-09-21; hour = START of the interval, America/Bogota (UTC−5).
Pitfall
Negative reconciliation is not Brazil's renewable curtailment: in Colombia it mostly hits thermal and hydro plants (over 12 months, 0 wind farms among 80 reconciled resources, measured on 2026-09-23) and XM publishes no hourly cause. A resource XM never reconciled shows “no record”, and the current month is cut at the last published day, with a notice.

Radial line scheme (Colombia) Open in this state →

What it means
A star with the lines leaving the substation, each ray pointing towards the other end, with voltage and name.
Source and date
UPME (line and substation topology), in the BrazilGrid load whose date the panel shows (2026-09-24).
Pitfall
It is a scheme, not a route: the ray points in a straight line to the other end. A UPME terminal that did not match a substation shows by its raw name, with no ray — that is not a missing line.

Forecast alerts · D+1 to D+3 and Weather by section of the route Open in this state →

What it means
For the next 3 local days: maximum gust, accumulated rain, temperatures and the level for wind, rain, heat and cold (monitoring, alert, critical). On a line, the same forecast at points every 50 km along the route (up to 24) and each day's worst level, with the points where it occurs.
Source and date
Open-Meteo (numerical model, “modelled” badge), on the scale of the country's own alert engine: local percentile of the month in the ERA5 climatology (~10 years, 0.25° cell) and the country's absolute floors. Colombia line 130: 103.3 km, 3 points, read on 2026-09-24 19:22 UTC.
Pitfall
It is a model, not a measurement. A point with no climatology cell within 40 km shows “no reference — not assessed”, which does not mean calm weather (67 of Chile's 1,258 substations, measured on 2026-09-24). Mean wind and thunderstorms (CAPE) are not in the forecast.

Transmission companies (Chile and Colombia) Open in this state →

What it means
One page per company that owns substations and lines: counts, km per voltage (lines without a length counted apart), a minimap with its substations and the lists; the owner chip on the substation and line sheets links to it. In Chile, if the same owner also has power plants, the page points to the operator page.
Source and date
Chile: CEN InfoTécnica registry, propietario column (331 companies, loaded 2026-08-11 19:44 UTC). Colombia: UPME, organizacion column (32 companies; 15 substations and 3 lines without an owner; loaded 2026-09-24 01:03 UTC). The date is that of our registry load, not a date published by the source.
Pitfall
Neither operator publishes a company code: the key is the NAME. In Colombia, spellings of the same legal name (e.g. “CARIBE MAR DE LA COSTA” and “CARIBEMAR DE LA COSTA”) were joined by an explicit alias and all appear on the page; a new spelling at the source may open a separate page until the alias is reviewed. A line without a published length is counted, not added to the km.

Price at the ends (ΔCMg) and plants at the ends (Chile) Open in this state →

What it means
On the line sheet: the average marginal cost at each end, the hour-by-hour ΔCMg difference (signed bars) and the hours in which the difference exceeded 1 USD/MWh; alongside, the plants tied to each end, with PMGD and the “by name” link flagged.
Source and date
CEN SIP (online marginal cost, hourly average of each substation's buses at the line's voltage) and the InfoTécnica + IDE Energía registry for the line → substation → plant bridges. LONCOCHE–PULLINQUE 66 kV: 2026-09-19 to 09-23, mean ΔCMg +10.21 USD/MWh, maximum 243.89 (read from the production API on 2026-09-25 02:51 UTC).
Pitfall
A price difference is not proven congestion: CEN does not publish the cause, and the panel does not claim congestion. At the median of the 537 lines with a price at both ends, the difference is 0.01 USD/MWh (September 2026). The SIP has partial days: the screen says how many of the 168 hours had both ends. “Plants at the ends” does not mean the energy flows through this line. In Colombia both panels stay grey: the market is uninodal (no price per bus) and there is no resource → substation bridge yet.

Plant position in Peru: GIS, indirect or none Open in this state →

What it means
Each plant in the COES catalogue states where its map point comes from: the Osinergmin operational GIS (MapaSEIN_Operacion), an INDIRECT position (the same regulator's ELECTRICIDAD_TOTAL service, with layer, date and method) or none (sheet without a map). The home and the list say how much of the energy falls in each case.
Source and date
Osinergmin (GIS MapaSEIN_Operacion, queried 2026-09-23 06:17 UTC, and ELECTRICIDAD_TOTAL, queried 2026-09-24 22:41 UTC) and COES (IEOD executed dispatch). Catalogue of 140 plants: 126 in the GIS (60.55% of the energy from 2026-08-26 to 09-23), 11 with an indirect position (39.24%) and 3 without a position (0.21%) (read from the production API on 2026-09-25 02:51 UTC).
Pitfall
The operational GIS lacks Mantaro, Restitución, Cerro del Águila, Chilca, Fénix and Ventanilla — hence the warning on every plant sheet. A plant with an indirect position is left out of the live alarm (“no monitoreada”) and out of the map layer. The GIS does not date the feature: the date on screen is that of OUR query (“snapshot without a date per element”).

Dispatch, maximum power and nodal marginal cost (Peru) Open in this state →

What it means
The plant's executed-dispatch series every 30 minutes (a gap when COES did not publish, never zero), the maximum power sustained for 2 hours and the marginal cost of the plant's bus — total, energy component and congestion component — in soles per MWh.
Source and date
COES — IEOD, Annex A (DESPACHO_EJECUTADO, since 2026-04-01) and CMgCP (marginal cost per bus, since 2026-09-18). Nameplate = power from the position's source (GIS or ELECTRICIDAD_TOTAL). Lima time, at the START of the half-hour.
Pitfall
The marginal-cost bus is the one with the SAME name as the plant; when there is none, the nearest substation with a price within 20 km is used, labelled “by proximity” with the distance — it is not the declared connection. Of COES's 235 buses, 147 match a substation by name (and by voltage, among namesakes) and 53 through a curated list with the evidence for each (since 2026-09-25); 35 stay without a substation, with the reason — never by an arbitrary tie-break. Kallpa shows “above nameplate” (252%): the GIS only publishes Kallpa IV, while COES dispatches the four units on the same site.

RER spillage (Peru) Open in this state →

What it means
The energy that zero-variable-cost plants (wind and solar) did not generate because of lack of transmission or because zero-cost generation exceeded demand, per month and per day, with the published window and the days without publication.
Source and date
COES — IEOD, VERTIMIENTO RER sheet (MW every 30 minutes), published since 2026-04-17 (159 days published and 17 missing up to 2026-09-23). Definition: COES Glosario, through Osinergmin Resolution No. 003-2025-OS/CD. Country-wide, 1,016.8 MWh from 2026-04-17 to 09-23, on 16 days, only at Punta Lomitas, Punta Lomitas Expansión and Wayra Extensión (measured 2026-09-25 01:12 UTC).
Pitfall
Spillage is not compensation: the spilled energy is not sold, and the EDI (PR-38) is a different object, only for RER auction awardees. An empty cell is “no record”; “0 MWh in the period” for a listed plant is published data, not a failure. The link between the rule and the IEOD sheet is our inference by name and date (neither document cites the other).

Argentina — sheet with the GIS gap Open in this state →

What it means
Plant, substation and line sheets with the GIS registry, the substation's line star, lightning and fire alerts and the weather; on the line, the length computed from the route is labelled “computed, not published”.
Source and date
Secretaría de Energía — datos.energia.gob.ar (CKAN), queried 2026-09-22 06:53 UTC (the file's modification date is metadata, not “data from”). 655 plants and projects (399 from the MEM fleet with CAMMESA code; Atucha I, outside the GIS, from a labelled indirect source; republished on 2026-09-22; 75 isolated; 180 RenovAr projects), 323 substations and 1,299 lines. Alerts: GOES-19 and INPE, on Buenos Aires time (UTC−3).
Pitfall
Since the 2026-09-22 republication the GIS carries the MEM fleet with the CAMMESA code (Chocón, Piedra del Águila, Yacyretá, Atucha II, Costanera, Salto Grande…); Atucha I, missing from the GIS, is included from a labelled indirect source (Nucleoeléctrica, ARN and Wikidata; coordinate checked against the GIS transformer station). The 180 RenovAr entries are another catalogue: when a project looks like a MEM plant, the sheet shows the pair as a candidate — nothing is merged. The agent is only published for the MEM fleet. For substations and lines the source publishes no province: the province is derived from the coordinates using IGN boundaries, labelled “derived”, and, outside the MEM, the operator reads “not published by the source”. With no weather engine in Argentina there is no rain, wind or temperature alert, and the Telegram bot does not serve the country.

Generation and spilled energy — CAMMESA (Argentina) Open in this state →

What it means
The monthly (since 2020-09-14) and daily series of the MEM renewable plant, the 12-month KPIs, the spilled energy by hour class and the 8 longest restriction orders with the cause as CAMMESA describes it.
Source and date
CAMMESA — Post-Operation Report (PPO), enerrenov and restrenovables annexes, linked to the GIS by the CAMMESA code. Coverage on 2026-09-25: 84 solar PV, 71 wind and 38 of the 39 hydro < 50 MW; data up to D−2; hour = end of the interval, AR local time (UTC−3 = BRT).
Pitfall
Only what CAMMESA publishes: no “possible − generated” as curtailment, and “Pot. Limit” is a setpoint, not curtailment. Thermal, large hydro and nuclear plants have no series (the sheet says “CAMMESA does not publish a per-plant series for this technology”); neither do RenovAr projects without a CAMMESA code. Part of the spilled energy is FREQUENCY, not grid — check the class before calling it congestion.

Operational restriction, ranking and companies (Uruguay) Open in this state →

What it means
The energy a wind or solar plant could generate and the National Load Dispatch did not dispatch, computed by ADME from the measured resource (Decree 59/015), per plant and per hour; the rate is restriction ÷ (restriction + generation). The ranking orders plants by MWh or by rate; “Companies” adds up plants, capacity and generation by MIEM company.
Source and date
ADME — Restricciones Operativas, Generación por central and Precio Spot Sancionado (captured on 2026-09-25 07:29 BRT; generation up to 08/2026, restriction up to 07/2026); company, capacity and status from MIEM/DNE (snapshot of 2019-08-12). Hour = end of the interval, Uruguay time (UTC−3 = BRT).
Pitfall
Operational restriction is not Brazil's curtailment: ADME does not separate grid from oversupply and publishes no reason. A month ADME did not publish (generation 11/2024 to 01/2025; restriction 08/2026) is a gap with a status, never zero, and stays out of the rate; sentinel and negative values leave the sum and are counted. The company is the 2019 register's, not today's controller, and different spellings in the source (“VENTUS” × “VENTUS ENERGY S.A.”) stay separate.

Binational mirror and OpenStreetMap grid (Paraguay and Bolivia) Open in this state →

What it means
Itaipu and Yacyretá enter Paraguay as a MIRROR of the other country's canonical sheet; Itaipu's series is the Paraguayan share of the 50 Hz sector. In Bolivia, the plant sheet carries the CNDC hourly injection and, since 2026-09-26, operations: daily and per-unit dispatch, events (transmission restriction as the setpoint text, never in MWh), unavailabilities and the monthly history since 2017; a line section with a verified bridge shows the hourly flow by area. In Paraguay, the home page carries the ANDE yearbook 1999–2019 (a yearbook, not an operating series). Substations and lines in both countries come from OpenStreetMap, with voltage marked “unconfirmed”.
Source and date
Plants: Global Energy Monitor (GIPT, release 2026-08-v3) with an OpenStreetMap guard; Itaipu: ONS (generation by sector, Brasília time labelled); Bolivia: CNDC (hourly injection since 2026-01-01, Bolivia time, UTC−4, end of interval). Grid: OpenStreetMap (Overpass), load of 2026-09-25 23:28 UTC — Paraguay 44 substations and 321 sections (142 named), Bolivia 56 and 244 (106).
Pitfall
Adding the mirror's capacity would count Itaipu twice (in Brazil and in Paraguay). “Stayed in Paraguay” is derived (50 Hz − ceded); an hour rejected by the guard has no data. OSM is collaborative: voltage is not official, an unnamed section does not become a line and a tip with no substation within 1 km has no end. In Paraguay and Bolivia the lightning and fire alarm has existed since 2026-09-28 on gridMap and in the gridAlerts panel, over plants and named substations; the gridAssets sheet does not show the alarm yet, which is not “no occurrence”.

Period selector and Indicators (Argentina, Uruguay, Paraguay, Bolivia and Peru) Open in this state →

What it means
A single period for the plant sheet: the Indicators block (generation, capacity factor, maximum power and coverage for the period and, where the source publishes it, the curtailment — CAMMESA spilled energy in Argentina, ADME operational restriction in Uruguay, COES RER spillage in Peru) and the period series follow the selector; the monthly history stays apart and does not reload. Paraguay has no CF (binational capacity) and no curtailment; Bolivia has no published curtailment.
Source and date
The same series of each sheet (CAMMESA, ADME, ONS for Itaipu, CNDC, COES), cut to the requested window. The series starts on 2020-09-14 in Argentina, 2019-01-01 in Uruguay, 2000-01-01 in Paraguay, 2026-01-01 in Bolivia and 2026-04-01 in Peru, and ends on the last published day. Live since 2026-10-01 in all five countries.
Pitfall
A period with no data shows “no data in the period” — absence, not zero (in Uruguay, the August 2026 operational restriction has not been published by ADME yet: the sheet shows the reason, not 0 MWh). A month before the start of the series also falls into “no data”, not into an error. The Companies page of Uruguay and Peru and Peru's marginal cost (7 days) keep their own window and do not follow the selector.

Next stage 4: Theory and formulas ↓

4Stage 4 — Theory and formulas

How each number is computed, with the rule or criterion behind it — and what it leaves out.

Maximum demonstrated power

Level(h) = min(g[h], g[h+1])   — 2 hours in a row; g = published hourly generation
Peak = highest Level in the series, only hours with g ≤ ceiling
Physical ceiling = max(3 × nameplate ; 1.5 × p99.5 of the series itself)   (hours above: excluded and counted)
Chip: “reached” if 0.9 × nameplate ≤ peak ≤ 1.05 × nameplate · “never sustained 90%” if < 0.9 · “above the registry capacity” if > 1.05
Yearly curve = p99.5 of hourly generation in each calendar year

Taking the minimum of two consecutive hours keeps an isolated peak (or a corrupted value) from becoming “demonstrated power”. The ceiling is wide on purpose: 3 × nameplate alone would cut real hours from plants with a stale registry. In Colombia hour zero is left out — XM does not publish zeros.

Basis: BrazilGrid criterion, the same for Chile and Colombia (the countries' common kernel); CEN hour = end of the interval, XM hour = start.

Events and curtailment by substation

Event = run of consecutive hours with value > 0 (crosses midnight)
   hours = number of intervals · energy = Σ MWh · peak = highest hour
Substation curtailment in the month = Σ curtailment (MWh) of the plants linked to it
% curtailed = Σ curtailment ÷ (Σ curtailment + Σ generation), only in hours where both exist

The percentage over the intersection avoids an error that has already happened: adding 6 months of published curtailment and dividing by 3 days of loaded generation gave “67.2% curtailed”.

Basis: CEN (Reducciones ERV) and XM (RecoNegEner); BrazilGrid rule.

Forecast level (D+1 to D+3)

Per local day and hazard (gust, 24 h rain, heat, cold):
   critical: ≥ local p98 of the month and ≥ the country's minimum floor, or ≥ the country's alarm floor
   alert: ≥ p95 and ≥ minimum floor · monitoring: ≥ p90 and ≥ l0
   heat and cold: p98 / p02, with a 2.5 °C margin for critical
Gust — Chile: l0 12 · minimum 15 · alarm 30 m/s · Colombia: 12 · 15 · 28 m/s
Line: one point every 50 km along the route (up to 24); the day's worst level counts

It is the scale of the country's own weather alert engine, locked to it by a test: the forecast chip and the live alarm speak the same language. The percentile is that of the forecast day's month, in the nearest climate cell.

Basis: Open-Meteo (forecast) and ERA5 (climatology ~10 years, 0.25°); floors read from the production API on 2026-09-24.

Price at the line ends (Chile)

For each hour h with both ends published:
   CMg_A(h), CMg_B(h) = average of the substation's buses AT THE LINE'S VOLTAGE (no bus at that voltage: average of all, labelled)
   ΔCMg(h) = CMg_B(h) − CMg_A(h)   — A and B in the order of the sheet's terminals
Hour with only one end: no Δ (never zero)
Hours with a difference = no. of h with |ΔCMg| ≥ 1 USD/MWh
Window = 7 days up to the last day published at BOTH ends

The 1 USD/MWh threshold is our own criterion, stated on screen: it sits above the p90 of the difference (0.93 USD/MWh in September 2026) and separates decoupling from loss noise.

Basis: CEN SIP (online marginal cost, 15 min, hourly average); BrazilGrid rule.

RER spillage (Peru)

Energy (MWh) = Σ MW of the half-hours ÷ 2   — sum of the plant's COES columns
Day with curtailment = day with some half-hour > 0 (Lima time)
Month = sum of the days; an unpublished day is left out (it is not zero)

The published half-hour is the data; the sheet's own “Total diario” is checked separately, and a mismatch becomes a warning in the capture log (on 2026-06-21 the published total was 0 with 37 MW in the half-hours).

Basis: COES — IEOD, VERTIMIENTO RER sheet; definition from the COES Glosario (Osinergmin Resolution No. 003-2025-OS/CD).

Operational restriction rate (Uruguay)

Rate = Σ RO ÷ (Σ RO + Σ generation), only in months with RO AND generation published by ADME
RO and generation in MWh (hour = end of interval; sentinel or negative cell out of the sum, counted)
12-month window = the last 12 months with both published (today 08/2025 → 07/2026)
CF = generation ÷ (MIEM 2019 capacity × hours with data)

It is the same arithmetic as the gridMap hover, so sheet, ranking and map give the same number (Pampa 3.94 %; country 3.86 %). The CF uses the 2019 register capacity: if the plant changed since, the factor does not represent today's, and it is not computed when generation exceeds 115 % of capacity.

Basis: ADME (Decree 59/015); BrazilGrid calculation labelled on screen.

Spilled energy and hour class (Argentina)

% spilled = spilled ÷ (generated + spilled)   — spilled = CAMMESA's published figure (already restricted)
CF = generated ÷ (published capacity × hours)   — not computed if the hourly peak > 1.15 × nameplate
Hour CLASS: all orders in the hour are grid → “grid”; frequency only → “frequency”; different classes → “mixed”; no order → “no order”

The hour is not prorated among causes: it is classified whole, and frequency never counts as “grid”. An event crossing midnight counts only the part within its own day.

Basis: CAMMESA (PPO); BrazilGrid classification of the published description (rule D58, item 4).

Next stage 5: Data sources ↓

5Stage 5 — Where the data comes from

The source of each dataset, how and how often we fetch it, and the limitation you need to know.

Chile — generation, curtailment and registry

Source and date
Coordinador Eléctrico Nacional (CEN): hourly actual generation, Reducciones ERV and the InfoTécnica registry; IDE Energía for the grid link.
How and how often we fetch it
Generation every day (up to D-1); ERV when the CEN publishes it, about 3 months late (on 2026-09-24, up to 2026-06). Every panel shows its “data up to”.
Limitation
The CEN publishes neither the cause of curtailment nor wind or irradiance per plant. The plant → substation bridge covers 1,020 plants in 447 substations (measured on 2026-09-23).

Chile — weather stations

Source and date
DMC and CEAZA (hourly series); AGROMET is only in the catalogue.
How and how often we fetch it
Hourly collection; on 2026-09-23, 133 DMC and 52 CEAZA stations had a series.
Limitation
The station registry does not keep the “last reading”: the freshness shown comes from the measured series.

Colombia — generation, capacity and reconciliation

Source and date
XM: Gene (hourly actual generation), CapEfecNeta (net effective capacity, daily) and RecoNegEner (negative reconciliation, hourly).
How and how often we fetch it
Daily collection; XM publishes about 3 days late (on 2026-09-24, data up to 2026-09-21).
Limitation
XM publishes neither zeros nor the cause of reconciliation. Colombia has no resource → substation bridge yet: that is why “Associated generation”, “Path to the grid” and “Curtailment by substation” do not exist there.

Colombia — topology

Source and date
UPME (lines and substations).
How and how often we fetch it
BrazilGrid load, with the date shown on the panel (2026-09-24).
Limitation
783 lines and 960 legs with the other end resolved (measured on 2026-09-23); an unmatched terminal gets no ray.

Forecast and climate

Source and date
Open-Meteo (forecast, CC BY 4.0) and ERA5 (climatology).
How and how often we fetch it
The point forecast comes from the hourly series the app already fetches for the sheet (no extra call); weather by section only fetches when the panel is opened, with a 1-hour cache and an hourly call budget.
Limitation
When the budget runs out, the panel says so instead of waiting; a point with no climatology cell within 40 km is not assessed.

Peru — registry, dispatch and price

Source and date
Osinergmin: GIS MapaSEIN_Operacion (plants, substations and lines) and ELECTRICIDAD_TOTAL (indirect position). COES: IEOD — executed dispatch, marginal cost per bus and RER spillage.
How and how often we fetch it
GIS as a snapshot (the date is that of our query); COES catalogue daily at 21:53 UTC; IEOD daily, with a catch-up run. Dispatch goes from 2026-04-01 onwards (backfill of 2026-09-25); marginal cost from 2026-09-18 onwards.
Limitation
The operational GIS filters out the largest plants (the indirect position covers 39% of the energy); 35 of COES's 235 buses have no substation (with the reason); no weather engine in Peru (no weather alert or per-segment weather).

Argentina — registry

Source and date
Secretaría de Energía — datos.energia.gob.ar (CKAN): transformer stations, transmission lines, plants and renewable projects.
How and how often we fetch it
BrazilGrid load queried on 2026-09-22 06:53 UTC; each file's modification date appears as metadata.
Limitation
Atucha I outside the GIS (included from a labelled indirect source, not the register) and no published province (the screen derives it from the coordinates using IGN boundaries); no published line length. Per-plant series only for MEM renewables (CAMMESA PPO: generation and spilled energy); thermal, large hydro and nuclear plants have no public per-plant series.

Uruguay — generation, restriction and grid

Source and date
ADME: Generación por central (97 plants, 5 types, since 2019), Restricciones Operativas and Precio Spot Sancionado. MIEM/DNE: Mapas Energéticos (KMZ) — 500 and 150 kV grid, substations, company and capacity, snapshot of 2019-08-12.
How and how often we fetch it
ADME spreadsheets captured daily (latest on 2026-09-25 07:29 BRT); MIEM grid loaded monthly from the same files as the map, so sheet, map and alarm use the same ids.
Limitation
UTE publishes no GIS: the grid is from 2019 and lacks later works; the department only shows where the source publishes it; there is still no plant → substation link nor the Brazil–Uruguay interchange on the sheet.

Paraguay and Bolivia — plants, series and grid

Source and date
Global Energy Monitor (plant register and position, CC BY 4.0), ONS (Itaipu by sector), CNDC (Bolivia hourly injection; 2025 capacity) and OpenStreetMap (grid, ODbL).
How and how often we fetch it
Daily load in the late afternoon (UTC), on the same cache as the map; same OSM base + same seed = nothing rewritten. The date shown is that of the OSM base and of our load.
Limitation
Neither country has an accessible official GIS and Paraguay has no operator publishing open data (ANDE sits behind a bot manager): capacity and position are a labelled indirect source. In Bolivia, 8 plants (2.2 % of the year's energy) have no coordinate.

Next stage 6: Improvements ↓

6Stage 6 — Possible improvements

What the app does not do yet, or does with a caveat, and what is on the radar. Suggestions are welcome.
  • Transmission company: route and SEO. The transmission company page already exists in Chile and Colombia (since 2026-09-25); what is missing is drawing its lines' routes on the minimap, as in Brazil, and taking it to Peru.
  • Path beyond one level. Following the grid substation by substation to the national system needs Chile's grid graph, which does not exist as a table yet.
  • Colombia: resource → substation bridge. Without it, Colombia has no generation per substation, path to the grid, curtailment by substation or plants at the line ends.
  • Fuller forecast. Mean wind and thunderstorms (CAPE) in the forecast panel, and the terrain profile along the line's route.
  • Peru: next pieces. A declared plant → substation bridge (today a plant's marginal cost may be “by proximity”) and COES congestion per line.
  • Argentina, Uruguay, Paraguay and Bolivia. Argentina shows generation and spilled energy per MEM renewable plant (CAMMESA PPO, since 2026-09-25) and Uruguay the ADME hourly series (since 2026-09-26); still missing are, in Argentina, demonstrated maximum output and the hourly series and, in Uruguay, the plant → substation link and the interchange with Brazil. Paraguay and Bolivia have sheets since 2026-09-25, with the grid from OpenStreetMap only.
  • Animation. This section has no video yet: step 1 has screenshots of the entry screen of the seven countries' apps and the new steps of stage 2 (Argentina, Uruguay, Paraguay and Bolivia) have a screenshot of the screen described, all with the capture date and re-captured daily from the public site.

Open the app →

gridCurt — grid-wide curtailment and your own report

Hands-on guide

reviewed on 2026-09-25

Counter of wind and solar energy curtailed in the SIN and of the loss at PLD, split by reason, with a technical report per cluster, operator or group.

Each app is a track of up to six stages: start by using the screen and go as deep as you like — down to the formulas, where the data comes from and what could still improve. Every app in this manual now follows this format.

1Stage 1 — Use and read the screen (30 seconds)

What it is: The running total of wind and solar energy curtailed in the SIN since 2021-10-01 and of the loss at PLD, on the ONS assessment rule (per cluster), split by curtailment reason, with what was estimated and what was left unmeasured, and a free technical report per cluster.

Do it now: Open the home page and read Curtailed Energy; then type “Caetité Norte” in the search box — it is the cluster of Caetité D, the plant in the other tracks.

The SIN counter and a cluster's counter, via search. captured on 2026-09-23 · recording of the public screen of curtometro.brazilgrid.com · 14.1 s

Open the counter →

Next stage 2: Features ↓

2Stage 2 — Features, step by step

Every step has a link that opens the app in exactly the state described (asset, month and panel).
  1. Read the top: Curtailed Energy and Financial loss (PLD). The “ONS data from … to …” line shows the date and time of the latest data published by ONS, in BRT; between one data point and the next the counter is a projection (stage 4). The period selector changes the window: all, a single year or custom dates. Open in this state →

  2. Hover over the wind, solar and total loss cards: the percentage covers the last 12 months; TWh and R$ cover the whole period. Open in this state →

  3. Under WHY WAS IT CURTAILED?, each reason — Energy Surplus (ENE), Grid Reliability (CNF) and Grid Restriction (REL), the on-screen names for the ONS codes — shows energy, R$ and its compensation label. When the ONS reason file is late, a 4th GREY slice appears — “reason pending ONS publication” — with the date of the last official file beside it: the MWh is already measured, only the reason's name is missing (on screen since 2026-09-20). Open in this state →

    The reasons for curtailment and how the counter's number is built. captured on 2026-09-25 · recording of the public screen of curtometro.brazilgrid.com · 14.9 s
  4. In HOW THE NUMBER IS BUILT, see the estimated curtailment of plants without valid data (added to the counter), the gap of whole clusters without data (not added) and the method difference of the per-plant sum (not added); hover each card to read the rule. On 2026-09-25, with ONS data up to 2026-09-23 23:30 BRT: estimate +3.1% (+2.6 TWh), gap of 104,105 half-hours and method difference +3.4% (2.9 TWh). Open in this state →

  5. Pick a cluster in the search box (or via a link with ?conjunto=): the counter switches to that cluster and the compensation range and the CSV series of half-hours with metering failure appear. The search ignores accents and case. Open in this state →

  6. Open the technical report: Download PDF (20 pages with the calculation record) and Download CSV (monthly series). The document comes from an identified snapshot — two identical downloads carry the same number. Open in this state →

Next stage 3: In depth ↓

3Stage 3 — In depth, panel by panel

What each panel means, where the data comes from and how recent it is, and the most common misreading.

Curtailed Energy and Financial loss (PLD) Open in this state →

What it means
The running total for the chosen scope: wind and solar curtailment measured per cluster, plus the estimated curtailment of plants without valid data, and the value of that energy at the submarket PLD at the hour it was cut, adjusted by IPCA inflation.
Source and date
ONS (per-plant restriction), CCEE (hourly PLD) and IPCA. ONS data arrives about two days late (on 2026-09-19: up to 2026-09-17 23:30 BRT); the line at the top shows that date.
Pitfall
The number moves on screen: between one data point and the next it advances at the average pace of the last 12 months. It is a projection from the latest data, not a live measurement.

Wind, solar and total loss Open in this state →

What it means
The percentage is per-cluster curtailment ÷ estimated generation over the last 12 months; the TWh and R$ below cover the whole period, including the estimated curtailment of plants without data.
Source and date
ONS; tooltip of each card.
Pitfall
Percentage and total have different windows on the same card.

Why was it curtailed? Open in this state →

What it means
Energy and loss by reason: REL (external network unavailability), CNF (electrical reliability) and ENE (energy surplus), with the compensation label.
Source and date
Restriction reason published by ONS for each half-hour.
Pitfall
The reason that cuts the most energy may not be the one that costs the most R$: PLD changes hour by hour (mission 1 of the track below).

How the number is built Open in this state →

What it means
Three cards: the ESTIMATED curtailment of plants without valid data (capacity share, added to the counter), the GAP of half-hours with the whole cluster without data (curtailment unknown, not added) and the METHOD DIFFERENCE of the per-plant sum (not added; mostly estimation error, not extra energy).
Source and date
BrazilGrid calculation on ONS data; rule adopted on 2026-09-24 (B345).
Pitfall
Only the estimated curtailment is added to Curtailed Energy. The method difference is not a loss and the gap has no measurement: adding either one inflates the number.

Technical report (PDF and CSV) Open in this state →

What it means
Per cluster: curtailment by reason, valuation under MME Ordinance 140/2026 in three scenarios (accounting floor, ordinance criterion, PLD reference), auction contracts identified per plant and the rule ⟷ formula map.
Source and date
Generated on the fly from public data; the snapshot code is printed.
Pitfall
The report assesses per cluster, like ONS; the per-plant table is descriptive. The numbers predate the reassessment that Ordinance 140/2026 requires from ONS.

And the water? · Recognized cost vs invisible loss Open in this state →

What it means
Two counterpoints in the Brazil view: hydro energy spilled that could have become energy, and what the system pays in charges for restrictions, compared with renewable curtailment at PLD.
Source and date
ONS (turbinable spilled energy) and CCEE InfoMercado (charges), with the window in each panel's footer.
Pitfall
They are separate accounts: the water is NOT added to the counter, and CCEE charges are published with a lag.

Next stage 4: Theory and formulas ↓

4Stage 4 — Theory and formulas

How each number is computed, with the rule or criterion behind it — and what it leaves out.

Curtailed Energy

Curtailed Energy = Curtailment measured per cluster (wind + solar) + Estimated curtailment of plants without data
Measured = Σ_cluster Σ_t max(Σ Est − Σ Ver_with data ; 0) × 0.5 h, only in half-hours under restriction (ONS restricted-generation flag OR reason REL, CNF, ENE)
Estimated = Σ_t max(Σ Est_siblings × Cap_no data ÷ Cap_siblings − Ver_no data ; 0) × 0.5 h
   plant without data = invalid-data flag 1 and zero estimated generation

The measured curtailment is the same calculation as the ONS assessment (GNRa), cluster by cluster, removing the generation of the plant without data so it does not drag down its siblings' curtailment. Nobody measures that plant's own curtailment; it is estimated by capacity share, the criterion of item 5.2.2.11 (likely range 1.7–2.6 TWh over the series; B344, 2026-09-24). Half-hours with the whole cluster without data stay as a gap, outside the sum. For the SIN (gridCurt in production, 2026-09-24 20:30 UTC): wind 60.67 + solar 24.21 + estimated 2.61 = 87.49 TWh; gap of 104,191 half-hours with 2.59 TWh generated under order. Until 2026-09-24 the counter summed per plant (90.24 TWh on the same data).

Basis: RO-AO.BR.13 (per-cluster assessment; items 5.2.2.5 and 5.2.2.11); BrazilGrid reviews B343 and B344; BrazilGrid counter query.

Loss at PLD

Loss = Σ_t Curtailment_t (MWh) × PLD(submarket, hour t) × IPCA factor (event month → today)
   hour without published PLD → average of valid PLD over the last 45 days
   month without published IPCA → factor 1
   estimated curtailment of plants without data → weighted average PLD of the scope

Each curtailed MWh is worth the PLD of the hour it was cut, in the plant's submarket. That is why the same energy is worth different amounts depending on the reason: surplus (ENE) happens when energy is abundant and the price is low.

Basis: CCEE (hourly PLD by submarket); IBGE IPCA via the Central Bank; IPCA adjustment as in Law 15,269/2025 Art. 1-B §4.

The counter's pace

Counter(now) = Base + pace × (now − timestamp of latest data)
pace = Curtailment of the last 365 days × (1 + estimated share for plants without data) ÷ seconds in a year
Closed period (e.g. a past year): pace = 0

The counter is an honest projection: it starts from the latest published data and moves at last year's average pace. When new data arrives, the base is rebuilt.

Basis: BrazilGrid calculation; latest-data stamp at the top of the page.

Loss percentage and method difference

% loss = Per-cluster curtailment over the last 12 months ÷ Estimated generation over the last 12 months
Method difference = Σ_plant max(Est − Ver ; 0) − Σ_cluster max(Σ Est − Σ Ver ; 0)   (informative, not added)

The method difference shows how far the per-plant sum exceeds the per-cluster assessment. It is not hidden loss: most of it is error in each plant's estimated generation (B343, 2026-09-24). For the SIN, whole series: 3.4% (gridCurt in production, 2026-09-24 20:30 UTC).

Basis: RO-AO.BR.13; ANEEL REN 1,030/2022 Art. 16 §4; BrazilGrid review B343.

Compensation by reason and the Ordinance 140 range

REL: compensable above the annual allowance (ordinary regime)
CNF: compensable only under Law 15,269/2025, events from 2023-09-01 to 2025-11-25 (suspended)
ENE: not compensable
GESS = min[ max(Econt − Gver ; 0) ; Gfrust ]  → accounting floor of the report

The report shows three scenarios: the accounting floor (contract shortfall only, by the GESS formula), the ordinance criterion (contract + PLD, no cap) and the 100%-at-PLD reference, which is not a ceiling.

Basis: ANEEL REN 1,030/2022 (Art. 16 and 20-D); ANEEL REN 1,109/2024 (GESS); Law 15,269/2025 Art. 1-B; MME Normative Ordinance 140/2026; ANEEL Order 148/2026.

Next stage 5: Data sources ↓

5Stage 5 — Where the data comes from

The source of each dataset, how and how often we fetch it, and the limitation you need to know.

Per-plant curtailment

Source and date
ONS — Open Data: constrained-off operating restriction of wind and photovoltaic plants (half-hourly).
How and how often we fetch it
Automatic daily collection; the counter reads the same per-plant table as gridAssets. Data up to about two days before today.
Limitation
ONS rewrites closed months when it recalculates the reference; we re-ingest the divergent partitions, so the running total can shift slightly backwards.

PLD and charges

Source and date
CCEE — hourly PLD by submarket and InfoMercado (system service charges).
How and how often we fetch it
Periodic collection of CCEE public data.
Limitation
CCEE publishes after ONS: for hours still without PLD we use the last-45-day average, and InfoMercado publishes the charges with a lag.

IPCA

Source and date
IBGE, through the Central Bank series.
How and how often we fetch it
Monthly collection.
Limitation
A month without published IPCA enters without adjustment.

Contracts (in the report)

Source and date
Public results of regulated energy auctions (ANEEL).
How and how often we fetch it
Matched per plant from the published auctions.
Limitation
Bilateral contracts in the free market are not public: without an identified auction contract, the share is treated as uncontracted and valued at PLD.

Next stage 6: Improvements ↓

6Stage 6 — Possible improvements

What the app does not do yet, or does with a caveat, and what is on the radar. Suggestions are welcome.
  • A counter closer to real time. Today the counter projects at the 12-month pace until the next data point, which arrives about two days later; ONS real-time generation could shorten that gap.
  • Estimated curtailment at hourly PLD. Today the estimated curtailment of plants without data is valued at the scope's weighted average PLD; using each half-hour's PLD would make the R$ more precise.
  • Ordinance 140 reassessment. Once ONS publishes the reassessment required by MME Ordinance 140/2026, the report should use it instead of the earlier assessment.

Open the app →

gridMap — the system map

Hands-on guide

reviewed on 2026-10-04

Generation, lines, substations, headroom and live weather phenomena in a single map.

Each app is a track of up to six stages: start by using the screen and go as deep as you like — down to the formulas, where the data comes from and what could still improve. Every app in this manual now follows this format.

1Stage 1 — Use and read the screen (30 seconds)

What it is: The power-system map: plants, lines, substations and buses of Brazil's grid (SIN) — plus Chile, Colombia, Argentina, Peru, Uruguay, Paraguay and Bolivia — with export margin, curtailment, access queue and live alerts; every layer states its source and date.

Do it now: Type “Igapora” in the top search box (shortcut: the / key) and click the IGAPORA III substation in Bahia: the side panel shows who connects there and the ONS official margin.

Search for a substation and read who connects to it (Grid mode). captured on 2026-09-26 · recording of the public screen of bigsin.brazilgrid.com · 14.8 s

Open the map →

Next stage 2: Features ↓

2Stage 2 — Features, step by step

Every step has a link that opens the app in exactly the state described (asset, month and panel).
  1. Pick the country in the top selector: Brazil, Chile, Colombia, Argentina, Peru, Uruguay, Paraguay, Bolivia or World (Peru joined the selector on 20 Sep 2026, Uruguay on 24 Sep 2026 and Paraguay and Bolivia on 25 Sep 2026). The map frames the country and switches the layers; the choice goes into the URL (#escopo=) and the link reopens on the same country. Open in this state →

    Switch country in the selector: gridMap's 8 countries. captured on 2026-09-26 · recording of the public screen of bigsin.brazilgrid.com · 25.1 s
  2. To the right of the search box, “Groups & operators” shows on the map only the assets of whoever you pick — business group (G), operator (O) or transmission company (T), one or several (combined). Search ignores accents; each pick becomes a chip under the search box, with an X and “Clear”, and goes into the URL (#ag=), so the link opens already filtered. It filters plants, plant clusters, substations and Basic Network lines; assets without a group/operator in the registry are left out (since 03/10/2026). Once you pick, the map enters focus mode (since 04/10/2026): it frames all the chosen assets (and reframes each time you add or remove one), keeps only them — with a glow — and the weather events, turns off alarms, other networks and analytical layers, and shows the lines and substations of other owners dimmed, for reference. “Exit focus” brings the layers back as they were and keeps the filter; the link opens already framed and in focus. Open in this state →

  3. Apply a preset at the top of the layer panel — Operation, Surveillance, Weather, Renewables, Planning, Development, Market or Default. Each one turns on the layers for that use; active layers show as chips under ACTIVE, and the chip's X turns them off. Open in this state →

  4. In the layer list: one click turns a layer on or off, a double click shows it alone and the gear (or right click) opens the options — sub-layers, colour, filter and opacity. “2/4” tells how many sub-layers are on; the other number, how many features are on the map. A group with no layer on starts collapsed (since 2026-09-22); “expand groups”, at the top of the panel, opens them all. Open in this state →

  5. In the right-hand panel, open the Transmission substations box — since 2026-09-22 the boxes start collapsed and the header sums up the mode in use (e.g. “kV”) — and choose Colour by: kV, Hub, Margin, Opens (margin that opens from 2027 on), Queue (access requests) or Curtailment (12-month curtailment of the connected plants). The legend below has one line per section with its colour strip; “expand all” shows labels, source and date. Open in this state →

    Open the box, colour substations by margin and by curtailment, expand the legend and apply a preset. captured on 2026-09-26 · recording of the public screen of bigsin.brazilgrid.com · 14.7 s
  6. Turn on Natural gas (EPE), in the Power grid group: existing transmission pipelines (solid line), planned ones (dashed), delivery points — the thermal ones in the thermal-plant colour — and the gas processing units (UPGN) and LNG terminals. Hover over a pipeline to see whether it exists, its diameter, length and transporter. Open in this state →

    EPE's natural gas network: existing, planned and delivery points. captured on 2026-09-26 · recording of the public screen of bigsin.brazilgrid.com · 11.7 s
  7. Click a substation: the side panel opens with the General, ONS Queue, Buses, Auctions and Condominium tabs. In Grid mode (the link already carries ?rede=1), the “Who connects here” panel lists the upstream plants and draws the links; clicking a plant shows its path to the bulk grid. The download icon in the panel header (“Download instant”) takes that asset's attributes with the layer's source and date: Excel, CSV with a read-me, GeoJSON or Show as table. Open in this state →

  8. See what is happening now: the Surveillance preset turns on lightning, wildfires, heavy rain, severe convection, grid outages (PDI), generation failures (COIG) and the transmission-line segment alarm. In Chile and Colombia, the “Per-asset alarm” layer checks the lines point by point. Click a fire hotspot: the popup says whether the front may advance (speed, heading, reach in 1, 3 and 6 h and what lies in its path) or why no spread was calculated (old detection, weak hotspot, not confirmed, calm wind, humid or no wind data); on the point of a hotspot group, the “Last detection” in BRT. The URL (#map, #layers, #escopo) keeps the state for sharing. Open in this state →

Next stage 3: In depth ↓

3Stage 3 — In depth, panel by panel

What each panel means, where the data comes from and how recent it is, and the most common misreading.

Layer panel Open in this state →

What it means
The fixed list of groups (Generation, Power grid, Distributed generation, Hydrography, Weather, Real-time alerts, Measurements, Events), with layer search, presets and chips for the active layers. Every layer has an inspector (gear) with sub-layers, colour, filter and opacity. Since 2026-09-22 the panel is lean: a group with no layer on starts collapsed, the right-hand boxes (Dist. substations, Tx substations, Buses, MMGD) start collapsed with a summary in the header, and the legend shows one line per section.
Source and date
Every layer has a “Source & Update” block: source, content date, collection date and next update. Live layers show the age of the data.
Pitfall
The number next to a layer counts what is loaded on the map, not the whole registry; a layer that is off, or outside the chosen country, does not mean the asset does not exist. A collapsed box or group is not a layer turned off: the summary in the header (“kV”, “Margin · filters: 1”) tells what is in force on the map.

ONS official margin (substation panel) Open in this state →

What it means
How much new generation the bulk grid can take at that point, year by year (2027 to 2031+), per bus; “saturated” = 0 MW. Colour by Margin paints the map with the same number; Opens shows where the margin grows over the years.
Source and date
ONS — export margin (Indicative Margin); the panel states the current publication, the content date, the collection date and the next update (at Igaporã III on 19/09/2026: publication 2026.2, content of 31/07/2026, collected on 14/09/2026).
Pitfall
The margin is indicative and per bus: it reserves capacity for no one and changes with every publication. Always check the publication date before comparing two substations.

Who connects here (Grid mode) Open in this state →

What it means
The plants that inject into the substation according to the topology, with installed capacity and link confidence (high, medium, low). On a plant, the same mode shows its path to the bulk grid.
Source and date
BrazilGrid graph over the ONS registry, ANEEL's SIGET, the DESSEM deck, BDGD and SINDAT; the build date is in the panel footer.
Pitfall
It is the direction of injection by topology, not power flow. The straight stroke on the map is the topological link, not the line route.

Colour by Curtailment and by Queue Open in this state →

What it means
Curtailment = energy curtailed over 12 months at the wind and solar plants connected to the substation; Queue = access requests still open at ONS for that point (count and MUST in MW).
Source and date
Curtailment: ONS (restriction × verified generation), summed per plant, with “data up to” in the substation panel — the same definition as gridAssets' Neighbour curtailment panel. Queue: ONS access requests, with the verification date.
Pitfall
Curtailment counts the half-hour under restriction by the ONS gate — restricted-generation flag or published reason (REL, CNF, ENE), a union in force since 2026-09-20. A long queue with zero margin is not an opportunity: it is competition for the same export capacity.

Live alerts Open in this state →

What it means
Lightning, fire hotspots, heavy rain and severe convection detected by satellite; grid outages and generation failures reported by ONS; and the transmission-line segment alarm when the phenomenon gets close to a line. Since 2026-09-23 hotspots and potential spread are a single item in the layer panel, “Wildfires”: turning it on turns on the hotspots and the spread layers (envelope, axis and gust arc, visible from zoom 6).
Source and date
GOES-19 satellite (phenomena) and ONS (PDI — grid outages; COIG — generation failures); each layer shows the age of the data and the criterion on hover. The spread is a BrazilGrid calculation every 30 min (:19 and :49), with wind and dryness from Open-Meteo per cell; the hotspot popup stamps the time of the hotspot and of the calculation.
Pitfall
A map without lightning means the satellite detected no strike at that moment, not that operation is safe. PDI is a schedule: it may carry future dates. The spread is potential, worst case: it ignores terrain, barriers, firefighting and firebreaks.

Chile, Colombia, Argentina, Peru, Uruguay, Paraguay and Bolivia Open in this state →

What it means
The same map with the country's layers: generation, lines and substations and, in Chile and Colombia, the per-asset alarm — each line is checked at one point every 10 km of its route, by the same lightning engine used in Brazil. Peru, live since 20 Sep 2026, brings 989 lines, 718 substations and 280 power plants, with a live per-structure alarm (substation and plant) for lightning, fire and severe convection. Since 2026-09-23 Colombia also alarms on severe convection, and the Argentina and Peru hover shows translated labels (capacity in MVA, Osinergmin status) instead of the source's raw keys. Since 2026-09-24: Uruguay shows 91 ADME power plants, the 500 and 150 kV grid and 53 MIEM substations, and the “Operational restriction” layer — the energy dispatch ordered not to be generated, per plant and hour —, with each plant's 2023, 2024 and 2025 rate (country-wide: 7.10%, 9.07% and 5.00%); Argentina now alarms on lightning and fire at 323 transmission stations and 211 plants; and recurring fire got a chronic-fire label on the map (“5/7 d” = fire at alert level on 5 of the last 7 days) in Chile, Colombia, Peru and Argentina. Since 2026-09-25: Uruguay raises lightning and fire alarms on 144 structures (MIEM's 53 substations and ADME's 91 plants with coordinates), on the map only; in Colombia and Peru, the optional “Lines under thunderstorm” layer paints each line by the count of flashes within 5 km of its route in the last 2 hours — density, with no alarm level (run of 2026-09-24 23:48 BRT: 121 lines in Colombia, the most hit being Cerromatoso–Porce III 500 kV with 686 flashes, and 1 in Peru); the chronic-fire label reached Brazil (69 structures flagged in the file served on 2026-09-25 02:54 UTC); and Paraguay and Bolivia joined the map — in Paraguay, Itaipu split by sector (in the 30 days to 2026-09-22, 3,242 average MW of the 50 Hz side stayed in Paraguay, 69.1%, and 1,452 were ceded to Brazil) and 6 plants; in Bolivia, 27 plants with CNDC's injection for the year; in both, lines and substations from OpenStreetMap.
Source and date
Each country layer shows its own source (the country's operator or agency) and date under “Source & Update”; the phenomena come from the same satellite. Uruguay: ADME (operational restriction and generation per plant, up to 2026-07), MIEM/DNE (grid, snapshot of 2019-08-12) and OpenStreetMap only as geometry for 8 plants. Paraguay: ONS (Itaipu generation per sector) and Global Energy Monitor (plant positions). Bolivia: CNDC (injection per plant, up to 2026-09-23) with the position from Global Energy Monitor or OpenStreetMap, per plant. In both, the grid comes from OpenStreetMap (queried 2026-09-24 23:16 UTC), with the voltage labelled “OSM, voltage not confirmed”.
Pitfall
Coverage changes from country to country: Argentina and Uruguay only alarm lightning and fire, and Uruguay stays out of the bot (it is on the map and, since 2026-09-28, in the live panel and on the country page board; on a cold-front day, 2026-09-27, 44% of structures went into alarm); Peru alarms per structure, not per line; Paraguay and Bolivia only alarm lightning and fire since 2026-09-28, over plants and the OpenStreetMap substations that have a name, and also stay out of the bot. A layer that does not exist in a country does not appear — that is not “zero occurrences”. “Lines under thunderstorm” is a count, not an alarm: a line with no flash stays uncoloured. In Uruguay, operational constraint is not Brazil's curtailment: ADME does not separate grid from oversupply, and 2024-11, 2024-12 and 2025-01 are left out of the rate because ADME did not publish them. In Argentina, the Secretaría de Energía GIS has carried the MEM fleet since the 2026-09-22 republication, and Atucha I (missing from it) is included from a labelled indirect source: no alarm says nothing about a plant outside the register. In Bolivia, 8 plants (2.2% of the year's energy) have no coordinates and are not drawn; OSM does not have the whole grid, and a line without a voltage tag is left out. The alarm point can be off by up to 5 km along the line. All seven countries have the “Analytical view” chip to the country's gridAssets sheet (Paraguay and Bolivia since 2026-09-25, Uruguay since 2026-09-26) — see the “gridAssets · country” section of this manual.

Line route and substation position Open in this state →

What it means
How the line is drawn on the map and where the SE point is placed. On 2026-09-20, 1,614 of the 1,865 registered lines have a real route (86.54%, against 83.75% before); the 12 HVDC bipoles follow their own bipole's route; and 57 SEs (38 transmission + 19 collector) are now drawn at the real yard, 0.5 to 4.9 km from the registry point. On the line page, the minimap footer states where the geometry came from: real route (1,301), parallel circuit (375), registry straight line (104), straight line between terminals (53) or sparse (32).
Source and date
ONS (line and substation registry, and the line's official km), OpenStreetMap (geometry), SIGEL/ANEEL and the auction R4; the line page stamps source and date.
Pitfall
The SE position is for DISPLAY: the ONS registry does not change, and the original point is kept beside it. The km slider on the line page uses the REGISTRY km, not the drawing's (358 lines differ by more than 10% between the two), and it disappears on straight or sparse geometries longer than 30 km (109 lines) — there the point on the route would not represent the real path.

Future plant with approximate position Open in this state →

What it means
A licensed plant that ANEEL publishes without latitude/longitude in SIGA enters the map through an indirect source, with a badge and the line “Approximate position — source X (date); up to ~N km”. In the geojson served on 2026-09-24: 81 of the 2,237 future plants — municipality (28), sister plants of the complex (24), locality served in the isolated-systems auction (12), host facility (7), connection substation (5) and environmental licence (5). Since 2026-09-25 there is one more method: the position from the GRANT ACT — the coordinate the agent declared in the annex of the ANEEL order, with the badge “Position from the grant act (ANEEL order)” and the source “ANEEL Order no. X/2026, Annex”. With it the served file went from 2,237 to 2,242 future plants (Dom Basílio I, II and III, Ventos de Santo Orestes 05 and Brasbio Uruçuí).
Source and date
ANEEL (SIGA of 2026-09-21) and, depending on the method, the IBGE municipal grid, the EPE WebMap, the EPE isolated-systems auction winners report, SEMAD-MG licence certificates and the connection substation in RALIE; the feature carries source, date and maximum error.
Pitfall
It is a DISPLAY position, checked against the declared municipality (IBGE grid, 1 km tolerance); it is not the project's own point. Seven plants stay off the map because no source closes within 40 km. The act's coordinate is the one DECLARED by the agent: when the annex repeats the municipal seat (the case of Santo Orestes 3 and 4, at Casa Nova's seat), it does not enter — the centroid guard cuts it.

Natural gas (EPE) Open in this state →

What it means
The natural gas network under a single item, off by default: 90 existing transmission stretches (10,093.9 km, solid line), 39 planned stretches (13,495.8 km, dashed, with ANP-Authorised and PDE/PNIIGB-Indicative in distinct colours), 165 delivery points — 21 of them thermal — and 40 processing units (UPGN) plus 12 LNG terminals. On screen since 2026-09-22.
Source and date
EPE — WebMap, Natural Gas Infrastructure (CC BY 4.0 licence, with attribution), refreshed monthly. The date comes from EPE's own data: pipelines Sep 2025, points Sep 2026, UPGN and LNG Aug 2026 — the legend shows month and year, without making up a day.
Pitfall
57.2% of the drawn length does NOT exist: it is planning, hence the dashes. The map's delivery point is EPE's registry; gridAssets' “Did the fuel arrive?” panel uses the ANP point — different sources. EPE itself warns the data is not fit for legal, engineering or survey purposes.

Next stage 4: Theory and formulas ↓

4Stage 4 — Theory and formulas

How each number is computed, with the rule or criterion behind it — and what it leaves out.

Colour by Margin

Substation colour = ONS official margin for the 2031+ horizon (MW)
   0 → red (saturated) · < 200 → orange · < 500 → yellow
   < 1,000 → green · ≥ 1,000 → cyan · no published margin → grey

The number is the one ONS publishes for the substation bus, not our own calculation; the substation panel shows it year by year, from 2027 to 2031+.

Basis: ONS — Remaining Capacity for Generation Outflow (Indicative Margin); gridMap colour bands (internal criterion).

Colour by Opens — where the margin grows

Δ = margin 2031+ − margin 2027 (MW)
   no margin → grey · saturated zone (already curtailed today) → red · Δ ≤ 0 → slate
   Δ > 0 with curtailment observed at the bus or in the state → amber
   Δ > 0 in a clean zone → lime (< 500), green (< 1,200), cyan (≥ 1,200)

The other modes paint the level; this one answers where the margin opens over the horizon. Cyan is a lower bound: the ONS publication has a ceiling.

Basis: Same source as Margin; BrazilGrid curtailment zones (internal criterion).

Colour by Curtailment and by Queue

Substation curtailment = Σ curtailment (ONS gate: restricted-generation flag ∪ reason) over the last 12 closed months of the wind and solar plants reaching the substation (GWh)
   0 → slate · < 10 green · < 100 yellow · < 500 orange · < 1,500 red · ≥ 1,500 dark red
Substation queue = Σ MUST (MW) of live access requests with a valid protocol
   0 → slate · < 100 green · < 500 yellow · < 1,500 orange · ≥ 1,500 red

Curtailment uses the same definition as the plant page in gridAssets. A substation with no mapped plant, or no request linked to it, is grey (“no data”) — that is not zero.

Basis: ONS (per-plant restriction and generation; SGAcesso access queue); gridMap colour bands.

Who connects here (graph)

Upstream(substation) = plants whose injection path, by topology, ends at the substation
Upstream capacity = Σ installed capacity of those plants

The graph links plant → collector substation → lines → transmission-grid substation. Each link carries a confidence (high, medium or low) according to the source behind it. It is topology, not power flow.

Basis: BrazilGrid graph built on the ONS registry, ANEEL SIGET, the DESSEM deck, BDGD and SINDAT.

Lightning alert (IEC 62793 engine)

Each structure has three radii: TA (approach) ⊂ SA (sensitive area) ⊂ MA (monitored area)
Level 1: a stroke inside the SA
Level 2: a stroke closer than the critical distance  OR  number of strokes in the SA ≥ minimum
   Transmission substation: SA 4 km · MA 15 km · critical 1.5 km · minimum 2
   Wind farm: SA 5 km · MA 25 km · critical 2 km · minimum 3
   Solar farm: SA 4 km · MA 20 km · critical 1.5 km · minimum 3
Line (Chile and Colombia): one point every 10 km of the route; position error up to 5 km

Strokes come from GLM, the optical lightning sensor on the GOES-19 satellite. A line is assessed point by point and the map shows its worst point.

Basis: IEC 62793:2020 (thunderstorm warning systems); rules active in production read on 2026-09-19 16:14 UTC.

Gas network: what is drawn and with what error

Existing × planned = EPE status field (existing → solid line; ANP-Authorised and PDE/PNIIGB-Indicative → dashed)
Route simplified by Douglas-Peucker, tolerance 0.0002° → measured maximum deviation 22.3 m
Layer date = the most recent date cited in EPE's Sources field, discarding future dates

The original had 273,737 vertices (one every ~9 m on a 700 km pipeline); simplified, the file drops from 6.5 MB to 160,580 B compressed, with the maximum deviation written into the file itself. The “2034” in “PDE 2024-2034” is a plan horizon, not a publication date — so it stays out of the stamp.

Basis: EPE — WebMap, Natural Gas Infrastructure (CC BY 4.0); gridMap ETL of 2026-09-22 (etl/45).

Next stage 5: Data sources ↓

5Stage 5 — Where the data comes from

The source of each dataset, how and how often we fetch it, and the limitation you need to know.

Outflow margin

Source and date
ONS — public dashboard of Remaining Capacity for Generation Outflow (Indicative Margin), per bus.
How and how often we fetch it
Collected at each ONS publication; the substation panel shows the edition, the content date and the collection date (Igaporã III on 2026-09-19: 2026.2, content of 2026-07-31, collected on 2026-09-14).
Limitation
It is indicative and per bus: it reserves capacity for no one and changes with every publication.

Lines, substations and buses

Source and date
ONS (line, substation and bus registry), ANEEL (SIGET) and the ONS DESSEM deck; line routes from OpenStreetMap.
How and how often we fetch it
Periodic collection. OpenStreetMap is used for geometry only: voltage, capacity and owner come from the official sources.
Limitation
On 2026-09-20, 1,614 of the 1,865 transmission lines in the registry (86.54%, against 83.75% before) show a real route; the 12 HVDC bipoles now use their own bipole's route (Madeira and Itaipu no longer mix). Where there is no route, the link is drawn as a straight or a dashed sparse route, labelled as such — the straight line is not the real path of the line.

Access queue

Source and date
ONS — access requests (SGAcesso).
How and how often we fetch it
Periodic check; the panel gives the date (Igaporã III: checked on 2026-07-28).
Limitation
A request without an identified substation does not count for any substation. A queue is intent to connect, not construction.

Live alerts

Source and date
GOES-19 satellite (GLM lightning, FDCF fire, RRQPEF rain, DSIF convection), INPE (wildfires) and ONS (PDI and COIG).
How and how often we fetch it
Continuous collection; each layer shows the age of its data.
Limitation
Satellite detection has position uncertainty and can miss events: a map with no lightning does not mean operations are safe.

Chile, Colombia, Argentina, Peru, Uruguay, Paraguay and Bolivia

Source and date
Chile: Coordinador Eléctrico Nacional. Colombia: XM. Argentina: Secretaría de Energía; the CAMMESA (PPO) series is on the gridAssets Argentina sheet, not on the map. Peru: Osinergmin (MapaSEIN GIS); COES dispatch, marginal cost and spillage are on the gridAssets Peru sheet, not on the map. Uruguay: ADME (operational constraints and generation per plant, up to 07/2026) and MIEM/DNE (grid, snapshot of 12 Aug 2019). Paraguay: ONS (Itaipu) and Global Energy Monitor. Bolivia: CNDC and Global Energy Monitor. Paraguay's and Bolivia's grid: OpenStreetMap, geometry only.
How and how often we fetch it
Each country layer shows its source and date under “Source & Update”.
Limitation
Coverage changes from country to country: Argentina and Uruguay only alarm lightning and fire, Peru alarms per structure, not per line, and Paraguay and Bolivia only alarm lightning and fire (since 2026-09-28), over plants and the OpenStreetMap substations that have a name. Uruguay's grid is a 2019 snapshot (UTE publishes no GIS); Paraguay's and Bolivia's is crowd-sourced (no official GIS reachable in either country).

Natural gas network

Source and date
EPE — WebMap, Natural Gas Infrastructure (public ArcGIS service, CC BY 4.0 licence with attribution).
How and how often we fetch it
Automatic monthly collection; EPE's disclaimer and the modification notice travel inside the served file.
Limitation
One of EPE's services returns the 165 delivery points with no geometry and no error; we read the twin service, and collection aborts if any feature comes without geometry.

Next stage 6: Improvements ↓

6Stage 6 — Possible improvements

What the app does not do yet, or does with a caveat, and what is on the radar. Suggestions are welcome.
  • Search loading notice. On first use, search takes about 30 s while the layer index loads, with no notice on screen (measured on 2026-09-19).
  • One date for the margin. At Igaporã III, on 2026-09-19, the margin panel said “CSV 04/2026” while Source & Update said edition 2026.2 of 2026-07-31. Source & Update is the one that holds; unifying the label removes the doubt.
  • Direct link to a plant. ?ceg= on its own does not open the plant panel yet; use ?se= with the connection substation.
  • Power flow. Grid mode shows topology. Flow through the DESSEM deck network is being studied — it would say where the energy goes, not only who is connected to whom.
  • Argentina, Peru, Uruguay, Paraguay and Bolivia. Per-line alarms, as Chile and Colombia already have (in Argentina the 7-day test is still report-only); and Uruguay in the bot, with a rule that does not saturate on a cold-front day (it has been in the live panel since 2026-09-28).
  • From the gas point to the thermal plant's page. The thermal delivery point on the map (EPE) does not open the plant's page or gridAssets' “Did the fuel arrive?” panel (ANP) yet; linking the two registries would need the same curated pair gridAssets uses.

Open the app →

gridOne — map and analytics side by side

Hands-on guide

reviewed on 2026-09-26

For when you want the map and the asset figures on the same screen.

Each app is a track of up to six stages: start by using the screen and go as deep as you like — down to the formulas, where the data comes from and what could still improve. Every app in this manual now follows this format.

1Stage 1 — Use and read the screen (30 seconds)

What it is: The gridMap map and the gridAssets analytics on the same screen: the right-hand panel follows what is visible on the map — it adds up generation, curtailment and loss of the monitored wind and solar plants in view — and clicking any asset opens its page without switching tabs. Outside Brazil, in the seven guest countries, the panel lists the assets in view and leads to the sheet in the country's gridAssets.

Do it now: Open the app, zoom the map into Bahia until the panel lists the plants in view, and switch the panel selector from List to Aggregate: the figures now cover the slice you are looking at.

Zoom the map and switch the panel from List to Aggregate. captured on 2026-09-25 · recording of the public screen of unificado.brazilgrid.com · 14.5 s

Open gridOne →

Next stage 2: Features ↓

2Stage 2 — Features, step by step

Every step has a link that opens the app in exactly the state described (asset, month and panel).
  1. Move around the map (drag and scroll). In List mode, the default, the panel shows the visible assets by category — wind, solar, hydro and thermal plants, clusters, substations, lines, business groups and controllers — and the list follows the zoom. Click an item to open its page. Open in this state →

  2. Switch to Aggregate: generation, capacity factor, curtailment, loss (frustrated generation), installed capacity and invalid measurements of the monitored wind and solar plants in view, with curtailment reasons, composition, largest losses, alarms in view and the monthly series. The “● following” button locks the slice (“⏸ locked”) so you can move the map without losing the sum.

  3. Click a plant, cluster, substation or line: the panel becomes that asset's page. For a plant it shows the outflow lines and, when a line is a bottleneck monitored in DESSEM, the circuit loading; for a line, the plants connected behind it. “← back to aggregate” undoes it.

    Clicking a row of the list opens the asset sheet in the panel. captured on 2026-09-25 · recording of the public screen of unificado.brazilgrid.com · 9.8 s
  4. Turn on Electrical load areas and colour by Capacity, Subsystem or Curtailment. Clicking an area locks the panel on it: the KPIs now cover that ONS load area.

  5. In Aggregate mode, read NIS live: the SIN generation minute by minute by subsystem and source, the load and our load forecast for the next 24 hours, with the error over the last 7 days next to it.

  6. Use the panel size buttons: expand takes the panel full screen (it becomes gridAssets); hide leaves only the map (it becomes gridMap).

  7. Outside Brazil: pick the country in the selector (or open the gridOne card on the country's landing page, which already carries #escopo=). The right panel lists the plants, substations and lines the map draws in view, with the count per type; clicking the name (or the asset on the map) flies to it and opens the country's gridAssets sheet in the panel itself, as in Brazil (since 2026-10-07); ↗ opens the same sheet in another tab. In Uruguay, on 2026-09-25, with the whole country on screen: 91 plants, 53 substations and 81 lines. Open in this state →

    gridOne screen, Uruguay scope: grid map and, on the right, the list of plants, substations and lines in view
    gridOne screen, Uruguay scope: grid map and, on the right, the list of plants, substations and lines in view screenshot captured on 2026-10-30 · public screen of unificado.brazilgrid.com
    gridOne screen, Paraguay scope: grid map and, on the right, the list of plants, substations and lines in view
    gridOne screen, Paraguay scope: grid map and, on the right, the list of plants, substations and lines in view screenshot captured on 2026-10-30 · public screen of unificado.brazilgrid.com

Next stage 3: In depth ↓

3Stage 3 — In depth, panel by panel

What each panel means, where the data comes from and how recent it is, and the most common misreading.

View aggregate Open in this state →

What it means
The sum of the ONS-monitored wind and solar plants inside the map slice (or the locked area, cluster, controller or group), for the month shown in the panel header.
Source and date
ONS — per-plant generation, estimated generation and restriction, the same base as gridAssets; the header gives the month (“Monthly analysis · …”).
Pitfall
Only monitored renewables count: hydro and thermal plants appear in the asset composition, not in the KPIs. And moving the map changes the figure — lock the view before comparing.

Loss · curtailed gen. Open in this state →

What it means
The curtailment in view valued at the PLD of the hour and of each plant's submarket.
Source and date
CCEE — hourly PLD by submarket.
Pitfall
An hour with no published PLD counts at R$ 150/MWh and there is no IPCA adjustment; that is why the R$ here does not match gridCurt, which uses the 45-day average PLD and adjusts by IPCA.

Invalid measurements Open in this state →

What it means
The share of half-hours in view with silenced telemetry: invalid-data flag 1 and zero estimated generation.
Source and date
Flag published by the ONS half-hour by half-hour.
Pitfall
It is not bad data: the plant may have generated and that half-hour's curtailment dropped out of the count. The full reading (validity colours and SAGER recovery) is on the plant page and in stage 4 of gridAssets.

NIS live Open in this state →

What it means
SIN generation minute by minute by subsystem and source, and the load; distributed generation (MMGD) is a slice of its own, inside the bar and the total; next to it, our forecast load and its measured error. Measured on 2026-09-19 at 12:00 BRT: with MMGD the total goes from 51.9 to 80.5 GW and the gap against load falls from 29.0 to 0.4 GW.
Source and date
ONS — real time (tr.ons.org.br), refreshed every ~5 minutes; live load when the per-minute feed answers, otherwise the last verified half-hour, marked “published”; DG from the ONS own series (estimate, half-hour average), labelled “DG (ONS estimate)”.
Pitfall
“Live” is the whole SIN. Per-plant generation lags 1 to 3 days (tooltip “last ONS reading”). DG is an ONS estimate, not a measurement: on 4 Sep 2026 it left real-time “solar” and got its own series, which is why it shows as a separate slice; the load shown is gross (DG is already inside it). If the DG series does not answer, the panel says “no DG in the feed” and the total goes without it.

Outflow bottleneck (DESSEM) Open in this state →

What it means
On the plant page: the lines the plant sits behind and, for those that are monitored bottlenecks, the circuit loading in the DESSEM deck, with the security constraint that limits it and the grid curtailment (REL + CNF) against oversupply curtailment (ENE) over the last 6 months.
Source and date
ONS line registry and the DESSEM deck published by the ONS, with the deck date in the panel.
Pitfall
A topological link does not mean that line carries the flow. And the bottleneck only explains the grid share of the curtailment: ENE is oversupply, not a line.

Electrical load areas — Curtailment Open in this state →

What it means
The share of energy curtailed from the monitored wind and solar plants of each ONS load area, in the month of the legend.
Source and date
Same monthly per-plant base; plant → area mapping by state and, in Bahia, by longitude.
Pitfall
Bahia is split into west (BAOE) and east with Sergipe (BASE) at longitude −42°. An area with no monitored renewables shows “no monitored renewables”, not 0%.

In-view list outside Brazil Open in this state →

What it means
In the seven guest countries (Chile, Colombia, Argentina, Peru, Uruguay, Paraguay and Bolivia) the panel has no SIN KPIs: it shows the list of what the map draws, the 80 largest by capacity (plant) or voltage (substation and line) and the rest in alphabetical order, plus the link to the sheet in the country's gridAssets.
Source and date
The map's own layers, with each country's source in gridMap's “Source & Update”; name, capacity and link come from the same country registry as the map.
Pitfall
The list counts what the map draws NOW: a layer switched off or out of zoom does not enter, so the number changes with the view and is not the country total. In Paraguay and Bolivia, an unnamed OSM line section has no sheet and gets no ↗.

Next stage 4: Theory and formulas ↓

4Stage 4 — Theory and formulas

How each number is computed, with the rule or criterion behind it — and what it leaves out.

The aggregate KPIs

Generation = Σ_plants in view Verified generation (MWh)
Curtailment = Σ_p Σ_t max(Est − Ver ; 0) × 0.5 h
   only in half-hours under restriction by the ONS gate (restricted-generation flag OR reason REL, CNF, ENE)
   and outside silenced half-hours
CF = Generation ÷ (Installed capacity × average hours with data)   (capped at 100%)
Invalid meas. % = half-hours with flag 1 and zero estimate ÷ half-hours in the period

It is the same per-plant sum as gridAssets, applied to the set of plants in the slice. The CF hours are the average hours with data among plants that have data: a plant that started mid-month does not drag down the capacity factor of the view.

Basis: Curtailment definition from gridAssets stage 4 (ONS gate: restricted-generation flag ∪ reason, since 2026-09-20); half-hourly settlement in RO-AO.BR.13 (ONS).

Loss (frustrated generation)

Loss = Σ_t Curtailment_t (MWh) × PLD(submarket, hour t)
   hour with no published PLD → R$ 150/MWh
   no IPCA adjustment

The value is stored with the curtailment, half-hour by half-hour, and the panel only adds it up. It is an order-of-magnitude yardstick to compare slices; the IPCA-adjusted loss with the counter's missing-PLD rule is in gridCurt.

Basis: CCEE (hourly PLD by submarket); BrazilGrid fill rule.

Curtailment % of the geoelectric area

Curtailment % = Σ Curtailment ÷ Σ Estimated generation, of the area's monitored wind and solar plants, in the month
BAOE = BA with longitude < −42° · BASE = SE + BA with longitude ≥ −42°
ALPE = AL + PE · PBRN = PB + RN · TON = TO · other areas = the state itself

These are the 25 leaf load areas of the ONS. Clicking an area applies the same filter to the panel's KPIs and monthly series.

Basis: ONS load areas (load-area code); BrazilGrid plant → area mapping.

Bottleneck loading and line capacity

Loading = peak |flow| of the circuit ÷ circuit capacity, in the DESSEM deck
Line capacity (MVA) = √3 × kV × A ÷ 1000   (the ONS registry publishes capacity in amperes)

The percentage refers to the circuit; the security constraint named in the deck may be a sum of flows. The grid curtailment (REL + CNF) next to it is what the bottleneck can explain; ENE is not.

Basis: ONS DESSEM deck (flows and limits per circuit); ONS transmission line registry, open data, converted from amperes to MVA by BrazilGrid since 2026-09-13.

Forecast load and the error next to it

nMAE (7 days) = mean |Forecast load − Verified load| ÷ mean Verified load
   weighted by the load of the 4 subsystems
   the same calculation for the ONS scheduled load, side by side
Colour: green ≤ 3% · amber ≤ 6%

The forecast is ours, not the ONS schedule, and the error sits next to the number so you know how much to trust it. Without 7 measured days the panel says “no measured error”.

Basis: BrazilGrid model (stacked gradient boosting by geoelectric area, 12:30 UTC run); ONS verified and scheduled load.

Next stage 5: Data sources ↓

5Stage 5 — Where the data comes from

The source of each dataset, how and how often we fetch it, and the limitation you need to know.

Per-plant generation, estimate, restriction and flag

Source and date
ONS — Open Data (constrained-off restriction of wind and solar plants, half-hourly).
How and how often we fetch it
Automatic daily collection, summed by plant and by month; it is the same table as the other apps.
Limitation
Only ONS-monitored wind and solar plants have KPIs. Data arrives 1 to 3 days late, and the ONS rewrites closed months — figures can move slightly backwards.

Live SIN generation and load

Source and date
ONS — real-time panel (tr.ons.org.br) and verified load.
How and how often we fetch it
Read every ~5 minutes.
Limitation
It comes by subsystem and source, never by plant; when the per-minute feed fails, load falls back to the last verified half-hour, marked “published”.

Grid: substations, lines and bottlenecks

Source and date
ONS (substation and line registry; daily DESSEM deck) and OpenStreetMap for the route.
How and how often we fetch it
Daily deck collection; the registry periodically. The OSM route is matched to the ONS line by inference, with the confidence shown on the page.
Limitation
OSM provides geometry only; attributes (voltage, capacity, owner) always come from the ONS. The plant → line link is topological.

PLD

Source and date
CCEE — hourly PLD by submarket.
How and how often we fetch it
Periodic collection of CCEE public data.
Limitation
The CCEE publishes after the ONS; in hours still without PLD the loss uses R$ 150/MWh.

Next stage 6: Improvements ↓

6Stage 6 — Possible improvements

What the app does not do yet, or does with a caveat, and what is on the radar. Suggestions are welcome.
  • Loss on gridCurt's yardstick. Using the counter's 45-day average PLD and IPCA adjustment would make the panel's R$ match gridCurt.
  • KPIs for conventional plants. Hydro and thermal plants only enter the asset composition; their hourly generation, which the ONS publishes per plant, could enter the view KPIs.
  • Cross-navigation on light pages. Links on the substation, line and MMGD pages still open in gridAssets instead of switching the panel.
  • More videos. Step 1 has the video of the List → Aggregate switch (19 Sep 2026) and step 2, clicking a row of the list to open the asset sheet (20 Sep 2026); the one for the geoelectric areas is still missing.

Open the app →

gridBESS — storage

Hands-on guide

reviewed on 2026-09-24

Where a battery makes sense: capacity, potential revenue and auction context.

Each app is a track of up to six stages: start by using the screen and go as deep as you like — down to the formulas, where the data comes from and what could still improve. Every app in this manual now follows this format.

1Stage 1 — Use and read the screen (30 seconds)

What it is: The hub for Brazil's first battery auction (LRCAP 2026 — Storage): the 129 Annex II buses with the locational bonus, ranked by measured curtailment, access queue and grid; the ROI calculator per bus; and the path to the auctions of 2026-12-02 and 2026-12-04.

Do it now: Open the Annex II Ranking. In the default order (Realized score), the top rows are the two Janaúba 3 buses (MG, 230 and 138 kV), with 1,860.9 GWh curtailed in 2025 at the substation (production, 2026-09-19). Hover over the BG Grid Score — or click the row, which opens the bus card — to see its five sub-scores.

The Annex II Ranking and the top bus card, with the BG Grid Score sub-scores. captured on 2026-09-24 · recording of the public screen of bigbess.brazilgrid.com · 12.1 s

Open the Annex II Ranking →

Next stage 2: Features ↓

2Stage 2 — Features, step by step

Every step has a link that opens the app in exactly the state described (asset, month and panel).
  1. On the Hub, read the Annex II figures (bonus buses, how many have measured curtailment, GWh curtailed in 2025, saturated margins, generation queue) and the official schedule; “What changed in the official basis” lists the ONS notes with date and source. Open in this state →

  2. In the Annex II Ranking, filter by state, voltage and tier (ALTA, PROSPECTIVO, SEM SINAL, SEM BARRA) and sort by Realized score, 2025 curtailment, Pipeline, Queue, MISCR or Grid Score. Click a row to open the bus page: voltage support, margins and the Grid Score sub-scores. Open in this state →

  3. Click the calculator icon on the row (or open the ROI Calculator and search the substation): the bus page simulates a BESS with the LRCAP fixed revenue at 2 h, 4 h and 6 h, with IRR, payback, NPV and floor bid. Switch the Regime between “Contracted in the LRCAP” and “Merchant (no CRCAP)” and edit the assumptions. Since 02/10/2026 each block of the page (curtailment and price at the substation, assumptions, scenarios, risk, financing, degradation, Monte Carlo, methodology) is a panel with its own bar: click the title to collapse and reopen it; all start open, except the list of connected plants, which already started closed. Open in this state →

    The ROI calculator: switch the regime and read the 2 h, 4 h and 6 h cases. captured on 2026-09-23 · recording of the public screen of bigbess.brazilgrid.com · 11.1 s
  4. In Where to Attack, the ranking crosses value × connection feasibility ÷ competition to show where a bid is most likely to win. Open in this state →

  5. In Requirements and in Path to the auction: 30 MW, 4 h discharge, RTE ≥ 85%, grid-forming, 15-year contract, and the milestones — LRCAP NT-02 by 30/09, tender notice on 29/10, technical qualification on 17/11 and auctions on 02 and 04/12. Open in this state →

  6. In Projects & Partners, the public showcase of BESS projects published by their own owners, ordered by Grid Score band; contact goes through the BRIK desk and the teaser is anonymous by default. Open in this state →

  7. In My projects, register your BESS project: every field states the unit, the range and an example, required ones are marked and the draft stays in the browser. Attach the registration documents — the platform reads the file and suggests the fields, with each suggestion's origin and confidence, for you to confirm. Open in this state →

Next stage 3: In depth ↓

3Stage 3 — In depth, panel by panel

What each panel means, where the data comes from and how recent it is, and the most common misreading.

2025 curtailment and tier Open in this state →

What it means
The renewable curtailment measured in 2025 at the substation, attributed to the bus through the plant → bus bridge. Tier ALTA = measured curtailment; PROSPECTIVO = no curtailment but a licensing pipeline; SEM SINAL = neither; SEM BARRA = new substation not yet in the bus registry.
Source and date
ONS (per-plant restriction); yardstick recomputed from the production base on 2026-08-26, stamped in the column header.
Pitfall
Sibling buses of the same substation (e.g. 230 and 138 kV) inherit the same value. And SEM SINAL is not a gap: Annex II was chosen for stability (MISCR), not curtailment.

BG Grid Score Open in this state →

What it means
A 0–100 synthesis of how much a battery would help the GRID at that point, over five axes (curtailment relief, evacuation, stability, nodal congestion, local demand), as a percentile among the 129.
Source and date
BrazilGrid methodology on ONS, EPE and ANAREDE case data; every revision is stamped on the page (the latest: local-demand axis, 2026-09-16).
Pitfall
It is not investor attractiveness nor an official auction yardstick. A score built on fewer axes shows its coverage next to it — compare scores with the same coverage.

SAE margin (est.) and ONS Indicative Margin Open in this state →

What it means
The BrazilGrid estimate of the margin that applies to a BESS (discharge in the night deficit block, validated by recharge) and, on the sub-line, the official ONS margin.
Source and date
BrazilGrid power-flow engine (version v2a-nt, 2026-07-10) on the ANAREDE cases; ONS Indicative Margin, cycle 2026.2 (2026-07-31), collected on 2026-09-14.
Pitfall
Across Annex II the official one is 0 MW or no data. Our estimate always errs on the optimistic side: benchmarked on 2026-09-01, bias +44 MW, 9 false positives in 100 and no false negatives.

MISCR and SCC Open in this state →

What it means
MISCR: EPE's own grid-strength index — the lower, the weaker the bus against inverters. SCC: three-phase short-circuit power at the bus.
Source and date
MISCR from the calculation memo of EPE's locational methodology (NT-086, PDE 2030 case); SCC computed per IEC 60909 on the ONS ANAFAS base (MAR/2026 configuration).
Pitfall
They point in opposite directions: low MISCR = weak bus, where a grid-forming BESS is worth more to the grid; high SCC = robust connection, good for the project. That is why the Grid Score uses only MISCR and SCC stays informative.

Queue (MW) Open in this state →

What it means
The firm generation MUST with a live protocol in the access queue of the same substation; the icon marks data centres in the queue.
Source and date
ONS — SGAcesso (access queue). The crawl date is in the on-screen stamp (since 2026-09-23); read on 2026-09-24: data of 2026-07-28.
Pitfall
Load MUST is not published: load shows only as a number of requests. The queue does not change the tiers.

ROI calculator — Regime Open in this state →

What it means
Contracted: you won the auction and revenue is the contract's fixed revenue (CRCAP). Merchant: the same asset without a contract, selling in the market — then recovered curtailment counts as revenue.
Source and date
MME Ordinance 136/2026, art. 9, §5, IV (the fixed revenue pays for any use the ONS makes of the asset); CCEE hourly PLD; ONS half-hourly curtailment summed at the substation.
Pitfall
Under the contracted regime curtailed energy shows as volume and recharge cost, not revenue. And the LRCAP starting price only comes with the tender notice: the fixed revenue is your assumption.

My projects — registration and document reading Open in this state →

What it means
Your BESS project record, private per user: every field carries an instruction, unit, range and example, required ones are marked, and the draft stays in the browser — if the session drops, the text is not lost. Attachments (up to 25 MB per file, 25 documents and 150 MB per project) are read by the platform, which suggests the fields.
Source and date
The documents you upload yourself — AEGE form, access opinion or diagnosis, memorandum, spreadsheet. Every suggestion carries its origin (tab, cell or page) and confidence; nothing is saved without your confirmation.
Pitfall
A suggestion is not a checked figure: where the unit is of another quantity the platform STAYS SILENT instead of converting. The file type is read from the bytes, not the extension — a file with a swapped extension is refused. And when the server fails, the screen shows an 8-character code: that is what identifies the case in support, no data of yours goes into the log.

Next stage 4: Theory and formulas ↓

4Stage 4 — Theory and formulas

How each number is computed, with the rule or criterion behind it — and what it leaves out.

Grid Score v2

Score = Σ weight_i × subscore_i ÷ Σ weights of the axes with data
   curtailment relief 0.30 · evacuation 0.25 · stability 0.20 · congestion 0.15 · local demand 0.10
Bus breaker already overstressed → Score × 0.7

An axis without data leaves the average and the weights are renormalised — absence never becomes zero. Example, Janaúba 3 230 kV on 2026-09-19: 0.30 × 98.1 + 0.25 × 48.0 + 0.20 × 37.2 + 0.15 × 87.5 + 0.10 × 27.2 = 64.7 (evacuation still on the method in force before 2026-10-01).

Basis: BrazilGrid methodology (v2, 2026-08-25; local-demand axis revised on 2026-09-16); not an official auction criterion.

The five sub-scores

Curtailment relief = percentile of the 2025 curtailment attributed to the bus (among the 129)
Evacuation = percentile of the OFFICIAL remaining capacity from the LRCAP NT-02, effective = min(bus ; sub-area ; area), among the buses assessed by the NT (equal values = same percentile; bus outside the NT = no data)
Stability = (130 − position in the MISCR ranking) ÷ 129 × 100
Congestion = percentile of |bus CMO − subsystem average CMO|
Local demand = 0.5 × pct load (substation + substations 1 line away) + 0.3 × pct 12-month delivery deficit + 0.2 × min(1 ; data centres in the queue ÷ 3)

The percentile compares buses with each other, not with an absolute. At Janaúba 3, on 2026-09-19 (evacuation method in force before 2026-10-01, estimated SAE margin ÷ 300 MW): evacuation 144 ÷ 300 = 48.0; stability (130 − 82) ÷ 129 = 37.2. Curtailment and stability are separate axes because we measured that they do not substitute each other: MISCR does not rank curtailment (ρ = +0.083 among curtailing substations). The CMO difference between the bus and the subsystem is congestion: PLD and CMO without the grid cannot see it.

Basis: ONS curtailment; remaining capacity from NT-ONS DPL 0095/2026 (LRCAP NT-02, ONS/EPE, 2026-09-30), the evacuation basis since 2026-10-01 — before that it was the SAE margin estimated by BrazilGrid, which the NT showed to be pessimistic; EPE MISCR (NT-086); per-bus DESSEM CMO since 2026-03-26; load from the ONS monthly ANAREDE cases.

SAE margin — the BESS yardstick

SAE margin = min(discharge margin in the NIGHT deficit block ; load margin in the DAYTIME renewable surplus)
Injection margin (the binding one) = discharge margin
Contractable power = min(power ; energy ÷ 4 h), minimum 30 MW

NT-01 defines the storage margin by discharge; recharge only validates — if it violates the grid, the discharge margin is reduced or cancelled. We measured that injection is what binds: the smallest load margin in the universe is 31.21 MW, while 38 of 82 substations have a discharge margin below 30 MW.

Basis: NT-01 ONS/EPE (2026-07-03); MME Ordinance 136/2026, art. 11, §§10–13; BrazilGrid engine (thermal N-1 + voltage N-0) on the ANAREDE cases JUL26, 3Q26 and ANO30.

BESS ROI and floor bid

Annual revenue = LRCAP fixed revenue (R$/MW·year, assumption) × contractable power
   + recovered curtailment × PLD of the discharge hour   (merchant regime only)
NPV = Σ_t (Revenue_t − OPEX_t) ÷ (1 + WACC)^t − CAPEX   (real terms, 15 years, with degradation)
IRR = rate that zeroes NPV · Floor bid = lowest fixed revenue with NPV = 0 at your WACC
Unavailability: −1% of the monthly instalment per hour without delivering the power, up to 30% in the month

The BESS charges when there is local curtailment (zero-cost energy, capped by power) and discharges in the day's highest-PLD hours; only energy actually sold counts, with no double counting of the avoided loss. IRR and payback are on the full CAPEX, unlevered; leverage is in the financing panel.

Basis: MME Ordinance 136/2026 (fixed revenue in 12 instalments, 15 years, 4 h reference cycle, unavailability); draft CRCAP (ANEEL Public Consultation 22/2026); ONS half-hourly series and CCEE hourly PLD.

Locational bonus and bid ranking

Initial stage: bids ranked by price (lowest wins), with the locational factor β = 0.9 on the 129 Annex II buses (10% bonus)
Tie-break: highest offered availability → submission order
Continuous stage: price descent down to the demanded quantity, within the evacuation capacity per sub-area (LRCAP NT-02)

The bonus is the same for all 129 buses; what sets them apart is the grid. The list came from EPE's grid-weakness criterion (MISCR, with a P30 cut and margin screening), not from curtailment.

Basis: MME Ordinance 136/2026 (auction mechanism and art. 11, §4); calculation memo of EPE's locational methodology (NT-086).

Next stage 5: Data sources ↓

5Stage 5 — Where the data comes from

The source of each dataset, how and how often we fetch it, and the limitation you need to know.

Annex II list, rules and schedule

Source and date
MME Ordinance 136/2026; draft tender notice and contract (ANEEL Public Consultations 22 and 23/2026); EPE (AEGE, technical notes).
How and how often we fetch it
Reading of the rules and publications; EPE milestones are watched by a watchdog that stamps the date the document appeared.
Limitation
The auction starting price only comes with the tender notice (2026-10-29): until then the calculator's fixed revenue is an assumption.

Curtailment per substation

Source and date
ONS — per-plant constrained-off restriction (half-hourly).
How and how often we fetch it
Same daily base as the other apps; curtailment is carried to the bus through the verified plant → bus bridge, and the ranking yardstick is recomputed and stamped (latest: 2026-08-26).
Limitation
Curtailment is measured at the substation: sibling buses inherit the same value, and a bus without attribution lacks the Grid Score's heaviest axis.

Grid: margins, stability and congestion

Source and date
ONS (monthly ANAREDE cases, ANAFAS base MAR/2026, per-bus DESSEM CMO, Indicative Margin 2026.2, NT-ONS DPL 0083/2026, reactive control equipment) and EPE (MISCR).
How and how often we fetch it
Collection of the public ONS and EPE files; our own margin computed by our power-flow engine.
Limitation
The engine does not yet model the interchange limits (ExpNE/ExpNNE) that NT 0083 uses to zero the Northeast — the known cause of the SAE margin's optimistic bias.

Access queue and licensing pipeline

Source and date
ONS — SGAcesso (access queue); ANEEL — RALIE (licences with a valid Access Opinion).
How and how often we fetch it
SGAcesso crawl; the date shows on the Home, the Ranking and Where to bid (on 2026-09-24: 2026-07-28).
Limitation
Crawl coverage is not measured — the source total for the 2026-07-28 crawl was not kept, so the screen no longer says “~87%”. The queue does not include load MUST.

Costs and financing

Source and date
EPE CAPEX reference (range in R$ thousand/kW), market as of May 2026 and BNDES portal credit lines for LRCAP (2026-09-01).
How and how often we fetch it
Manual curation, dated in each panel.
Limitation
Educational reference data: they do not replace quotes, implementation engineering or financial structuring.

Next stage 6: Improvements ↓

6Stage 6 — Possible improvements

What the app does not do yet, or does with a caveat, and what is on the radar. Suggestions are welcome.
  • LRCAP NT-02 in the yardstick. When EPE and ONS publish the auction's quantity note NT-02 (deadline 2026-09-30), the “Where it fits” yardstick swaps the BrazilGrid proxy for the official note.
  • Interchange in the margin engine. Version v2b, which adds the ExpNNE interchange limit, runs in parallel and labelled; it is not yet the served yardstick.
  • Tender notice starting price. Replace the fixed-revenue assumption with the starting price once the tender notice is out (2026-10-29).
  • Uneven score coverage. Some buses are scored on 2 of 5 axes; attributing curtailment to the unattributed buses would make scores comparable.
  • More videos. Step 1 has the video of the Ranking and the bus sheet (19 Sep 2026) and step 2, the ROI calculator (20 Sep 2026); the one for My projects, with document reading, is still missing.
  • More fields read from the document. Reading the AEGE form finds 15 of the 17 filled fields (measured on 2026-09-20); bringing the same basis to the other document types would close the rest.

Open the app →

gridAlerts — lightning and severe weather on Telegram

Hands-on guide

reviewed on 2026-09-26

Lightning and severe weather warnings near your assets, straight to your phone.

Each app is a track of up to six stages: start by using the screen and go as deep as you like — down to the formulas, where the data comes from and what could still improve. Every app in this manual now follows this format.

The gridAlerts page is in English since 2026-09-25; the Brazil bot writes in Portuguese only (country alarms follow /idioma). The alarms, figures and commands are the ones described here.

1Stage 1 — Use and read the screen (30 seconds)

What it is: Alarms for lightning, fire, heavy rain, severe convection and smoke seen by the GOES-19 satellite over SIN substations and plants, following the IEC 62793 zone scheme, delivered by the @raiosin_bot on Telegram — plus a public page with the alarms of the last 24 hours and a forecast for any point.

Do it now: Open the page, go to “Alarmes ao vivo” (live alarms) and set “Severidade” to “Só crítico” (critical only). On 2026-09-19 at 15:43 BRT there were 144 alarms in the last 24 hours — 48 critical, 134 lightning and 10 fire, almost all in the Southeast/Centre-West.

Live alarms filtered by Severity: critical only. captured on 2026-09-26 · recording of the public screen of raios.brazilgrid.com · 11.4 s

Open the live alarms →

Next stage 2: Features ↓

2Stage 2 — Features, step by step

Every step has a link that opens the app in exactly the state described (asset, month and panel).
  1. Open @raiosin_bot on Telegram, send /start and choose what to monitor: all of Brazil, a subsystem, a state or advanced filters by agent or park. Open in this state →

  2. Choose the minimum severity: Critical (lightning in the asset's inner zone), Alert (attention ring) or Monitoring (storm in the monitoring area). The alarm comes with the distance, the flashes in the storm cell, the times in BRT and the 🛰 evidence line (flashes, fire detections and FRP, or AOD); when the storm dissipates, a clear message follows. Open in this state →

  3. In the field, send a pin (📎 → Location): the bot lists the structures within 30 km and, with one tap, watches the point within 10, 25 or 50 km — satellite lightning plus surface rain and wind gusts (from 12 m/s). Live location makes the pin follow the crew. Open in this state →

  4. /previsao gives the forecast for the field point: now, the next hours and the next 3 days. The same forecast is on the page: click a point on the map or type the coordinates. Open in this state →

  5. /ativo <name> monitors a whole park (lightning, rain, wind and flooding of the complex); /menu changes filters and severity; /pause 22 6 silences from 22:00 to 06:00 BRT; /stop cancels and deletes your data. Open in this state →

  6. On the page, “Alarmes ao vivo” shows the same Telegram alarms of the last 24 hours, with no sign-up, with the bot's filters (status, severity, subsystem, phenomenon, structure), refreshed every 5 minutes. Open in this state →

  7. Outside Brazil: in the country selector of Live alarms, pick Chile, Colombia, Peru or Argentina (the choice goes into the URL, #escopo=AR; Argentina joined on 2026-09-25). The panel swaps “Subsystem” for “Region”, shows the country's local time and flags as CHRONIC the structure with fire at alert level on at least half of the last 7 days; since 2026-09-25 the whole page — panel, how it works, rules, commands and forecast — comes in Portuguese, English and Spanish (?lang=, or the language chosen on the landing; only the privacy policy stays in Portuguese). In the bot, /pais turns on alerts for a neighbouring country — Chile, Colombia, Peru or Argentina (critical only) — and /idioma switches the language of those messages (since 2026-09-24). Open in this state →

    gridAlerts page in English (?lang=en): translated title, service summary and navigation, with the live alarms panel right below
    gridAlerts page in English (?lang=en): translated title, service summary and navigation, with the live alarms panel right below screenshot captured on 2026-10-30 · public screen of raios.brazilgrid.com

Next stage 3: In depth ↓

3Stage 3 — In depth, panel by panel

What each panel means, where the data comes from and how recent it is, and the most common misreading.

Critical, Alert and Monitoring alarms Open in this state →

What it means
The three IEC 62793 levels: Critical = lightning in the inner zone or many flashes in the attention ring; Alert = lightning in the attention ring; Monitoring = storm in the monitoring area.
Source and date
GLM on the GOES-19 satellite (NOAA), which publishes flashes every 20 seconds; the pipeline runs every 5 minutes. Times in BRT.
Pitfall
The alarm typically arrives 2 to 7 minutes after the flash: it warns of a nearby storm, it does not predict the next strike.

Clear (✅) Open in this state →

What it means
The end-of-alarm message, sent when the satellite goes the clear time without new events in the area.
Source and date
Clear time of each phenomenon's rule: 30 minutes for lightning, fire and convection; 60 minutes for rain and smoke.
Pitfall
Clear means the satellite saw no new events, not that the storm is over — the GLM sees from space and does not detect every flash. Resuming work at height is the crew's call.

Anti-spam Open in this state →

What it means
The same structure does not re-alarm at the same severity within 1 hour; only an escalation (Alert → Critical) breaks that interval. Fire that returns to the same asset within 24 h arrives silent; critical still rings (since 2026-10-24).
Source and date
Bot dispatcher rule.
Pitfall
Not being alerted again within 1 hour does not mean the storm left: send /alarmes to see what is active now.

Field pin Open in this state →

What it means
Your watched point: satellite lightning over the structures around it, rain of any intensity (live work) and gusts from 12 m/s (work at height), each event with a start and an end.
Source and date
GOES-19 for lightning; Open-Meteo (numerical weather model, CC BY 4.0), updated about once an hour, for rain and wind.
Pitfall
The pin's rain and wind come from a numerical model on a kilometre grid, not from an anemometer at your point: a local gust on a ridge can exceed it.

Fire, rain, convection and smoke Open in this state →

What it means
Phenomena beyond lightning that only alarm at critical level, close to the structure and with strong evidence (fire seen twice, rain with lightning), to avoid noise.
Source and date
GOES-19 ABI products: fire detections (FDCF, confirmed by INPE), estimated rainfall (RRQPEF, with GLM lightning), stability indices (DSIF) and aerosol (ADP/AOD).
Pitfall
Satellite is not surface: GOES-19 only sees strong convective rain and does not measure wind. For the work point, use the pin. Solar-panel heat at midday and fixed heat sources (industry, gas flare, volcano) do not alarm: the map shows them with the reason.

Country panel — Chile, Colombia, Peru and Argentina Open in this state →

What it means
The country's alarms over the last 24 hours. Outside Brazil the panel mirrors the country's map, not Telegram: lightning at any level; fire and weather (wind, rain, heat, cold) at alert or critical level at any distance; severe convection only when critical and close. “Active” = last event within the country map's live window (lightning 2 h, fire 12 h).
Source and date
GOES-19 and INPE over each country's registry (Chile: CEN; Colombia: XM; Peru: COES/Osinergmin; Argentina: Secretaría de Energía GIS); weather in Chile from DMC-CEAZA stations (or Open-Meteo, with no station nearby) and in Colombia from Open-Meteo. At 16:19 BRT on 2026-09-24: 412 alarms in Chile, 375 in Colombia and 228 in Peru over 24 hours; in Argentina, 65 at 23:53 (Buenos Aires time) on 2026-09-24, lightning and fire only.
Pitfall
The standard label changes per card: only lightning follows IEC 62793; fire, rain, convection and smoke are BrazilGrid's own rules, and weather uses a Brazilian reference threshold. “Chronic” flags, it does not silence. In Argentina the panel only alarms lightning and fire and only covers what the Secretaría de Energía GIS has (323 transmission stations and 211 plants, without the large hydro and nuclear plants). Uruguay has been in the selector since 2026-09-28, with lightning and fire only, and stays out of the bot: on a cold-front day (2026-09-27) 44% of structures went into alarm.

Next stage 4: Theory and formulas ↓

4Stage 4 — Theory and formulas

How each number is computed, with the rule or criterion behind it — and what it leaves out.

IEC 62793 zones and levels for lightning

Critical (Level 2): minimum distance < d2  OR  flashes in the alert zone ≥ N2
Alert (Level 1): minimum distance < alert-zone radius (SA)
Monitoring (pre-alarm): flashes in the monitoring area (MA) ≥ N1
   substation: SA 4 km · MA 15 km · d2 1.5 km · N2 2 · N1 1
   wind: SA 5 km · MA 25 km · d2 2 km · N2 3 · N1 2
   solar: SA 4 km · MA 20 km · d2 1.5 km · N2 3 · N1 1
   other plants: SA 3 km · MA 20 km · d2 1.5 km · N2 2 · N1 1

Each structure has concentric zones; the rule counts the flashes in the storm cell and measures the distance of the closest one. The values above are those of the production rules table on 2026-09-19 (checked by a read on the server at 18:50 UTC).

Basis: IEC 62793:2020 — Thunderstorm warning systems (target, surveillance and monitoring areas; alarm levels); rules parameterised by structure type.

Storm cell and flash energy

Cell = H3 hexagon (resolution 6) × 15-minute window
If the cell's highest optical energy > 99th percentile of the last 7 days → level goes up 1 (cap: Critical)
The pre-alarm (Monitoring) does not go up

Grouping by cell turns dozens of flashes into a single message, and flashes in the same cell over several structures of a complex become one multi-structure alarm. Exceptional energy flags a storm stronger than the week's average.

Basis: BrazilGrid rule on the optical energy measured by the GLM; H3 hexagonal indexing.

Parallax correction

Ground position of the flash = intersection of the satellite → cloud-top line (GLM ellipsoid, ~14 km) with the WGS84 ellipsoid at altitude 0
Where the correction does not apply (near the disk edge), the published position is used

The GLM locates the flash at the cloud top, not on the ground; uncorrected, the flash appears displaced by 3 to 15 km in Brazil, more in the South than in the North — the same order of magnitude as the alarm zones.

Basis: GLM documentation (GOES-R, navigation on the lightning ellipsoid); BrazilGrid geometric correction (2026-04-21).

Clear and anti-spam

Clear when: last event + clear time < now
   30 min (lightning, fire, convection) · 60 min (rain, smoke)
Re-alarm of the same structure at the same severity: blocked for 60 min (only escalation passes)

It is the standard's two-phase cycle: one start notice and one end notice, without repeating at every 5-minute run.

Basis: IEC 62793:2020 (time to clear, end of alarm); bot dispatcher rule.

Criteria for the other phenomena (Critical level only)

Fire: hotspot at < 1 km, seen in 2 GOES images or by 2 satellites
Heavy rain: rate ≥ 30 mm/h at < 2 km, with ≥ 10 lightning flashes within 10 km
Severe convection: CAPE ≥ 4,000 J/kg and LI ≤ −6 at < 5 km, with lightning at the same asset
Smoke (solar plants, daytime): AOD ≥ 1.5 at < 10 km, with fire near the same asset

AOD 1.5 corresponds to roughly a 70% irradiance loss at a solar plant. Distance is the deciding filter: the engine also flags as critical a hotspot with FRP ≥ 150 MW (seen twice) or rain ≥ 60 mm/h with lightning far from the structure, but the bot and the feed only send what lies within the radius above. Solar-panel heat at midday and fixed heat sources do not alarm.

Basis: GOES-19 ABI level 2 products (FDCF, RRQPEF, DSIF, ADP/AOD) and GLM; rules table, engine and bot dispatcher checked in production on 2026-09-19; fire, rain and smoke under the rules of 2026-10-24.

Next stage 5: Data sources ↓

5Stage 5 — Where the data comes from

The source of each dataset, how and how often we fetch it, and the limitation you need to know.

Lightning

Source and date
NOAA — GOES-19 GLM (Geostationary Lightning Mapper), level 2, public repository.
How and how often we fetch it
New files every 20 seconds; we download and process every 5 minutes.
Limitation
There is not yet a 1:1 comparison with a ground detection network: the table for it exists but is empty (0 rows in production on 2026-09-19).

Fire, rain, convection and smoke

Source and date
NOAA — GOES-19 ABI level 2 (FDCF, RRQPEF, DSIF, ADP/AOD) and INPE (multi-satellite fire detections).
How and how often we fetch it
Every 10 minutes (GOES) and 15 minutes (INPE).
Limitation
Aerosol only in daytime; satellite rainfall underestimates non-convective rain.

Monitored structures

Source and date
ONS (substations) and plant registry (ONS and ANEEL), with coordinates.
How and how often we fetch it
Updated with the platform registry.
Limitation
A structure without coordinates in the registry gets no alarm; transmission lines are not in the bot or the page (the per-segment line alarm shows on the gridMap and gridOne map).

Rain, wind and point forecast

Source and date
Open-Meteo (numerical weather models, CC BY 4.0).
How and how often we fetch it
Model query for the point; updates about once an hour.
Limitation
It is a model, not a local measurement; covers Brazilian territory.

Next stage 6: Improvements ↓

6Stage 6 — Possible improvements

What the app does not do yet, or does with a caveat, and what is on the radar. Suggestions are welcome.
  • Validation against a ground network. Comparing each alarm with the flash observed by a ground detection network would give measured, not just estimated, false-alarm and detection rates.
  • Transmission lines in the bot. On the gridMap and gridOne map a line already lights up per segment; the bot and the page still alert only per substation and plant. In Chile and Colombia the per-asset alarm along the line (one point every 10 km) is already on the map.
  • Page and bot in English and Spanish. Since 2026-09-25 the whole page comes in Portuguese, English and Spanish, in the language picked on the landing (the live alarms panel and the bot's country messages already did since 2026-09-24); the Brazil bot is still in Portuguese only.
  • Check the page table against the rules. The page's “What the system alarms” table summarises the radius of each zone; it should be checked against the production rules table whenever a rule changes.
  • More videos. Step 1 now has the “Alarmes ao vivo” filter video (captured on 2026-09-19); the point forecast is still missing.

Open the app →

Tracks by role — missions with answers

Each track is a short sequence of missions. A mission opens the app at the right spot, asks a question you answer by reading the screen itself, and then shows the measured answer with source and date. Rolling windows change the numbers over time; the measurement date is in every answer.

Role: Project developer

How much curtailment does a connection point inherit?

For whoever is assessing where to connect a new project: first read the curtailment of a plant that already operates, then that of the whole electrical neighbourhood.

  1. Mission 1

    At Caetité D (Bahia), in August 2026, which reason accounts for most of the plant's curtailment — REL, CNF or ENE?

    Where to look: KPIs panel, “Curtailment Reason” donut (hover to see the legend). Open in this state →

    Check the answer

    ENE (energy reason, oversupply): 72% of the plant's curtailment in the month; the other 28% is REL. The month's curtailment shows as 7.3 GWh.

    Measured: gridAssets in production, read on 19/09/2026 ~10:40 BRT; ONS data up to 31/08/2026 23:30 BRT. Closed month: it only changes if ONS republishes the month.

    Why it matters: ENE is not compensated; REL is, above the annual allowance (ANEEL Normative Resolution 1,030/2022). The same curtailed energy is worth differently depending on the reason.

  2. Mission 2

    At the Ourolândia II substation (Bahia), Neighbour curtailment panel, 12-month window: which bus concentrates the curtailment of the connected plants, and what share of the total does it take?

    Where to look: The by-bus table inside the panel; click the bus row to open its plants. Open in this state →

    Check the answer

    Bus 6071, 230 kV: 654.5 GWh out of 1,097.4 GWh — 59.6% of the substation's curtailment, with 33 plants. For the whole substation the dominant reason is ENE (74.9%).

    Measured: gridAssets in production (/api/se/BAOUR/corte-vizinho), read on 19/09/2026 ~10:51 BRT; window Oct/2025–Sep/2026, ONS data up to 17/09/2026 23:30 BRT. Rolling window: the GWh change every day; the leading bus tends to stay.

    Why it matters: A new project hanging on the same bus inherits its curtailment pattern — the first filter before looking at hosting capacity in gridMap.

  3. Mission 3

    And Caetité D's own connection substation, Igaporã III (Bahia)? In Neighbour curtailment, 12-month window: what share of the possible energy did the connected plants lose, and was Caetité D above or below that?

    Where to look: The substation's Neighbour curtailment panel: total and rate at the top; the by-bus table opens the plants. Open in this state →

    Check the answer

    728.0 GWh curtailed against 1,553.6 GWh generated: 31.9% of the possible energy of the 31 plants (ENE 53.7%, REL 33.5%, CNF 12.8%). Caetité D lost 65.7 GWh, 30.3% — slightly below the substation.

    Measured: gridAssets in production (/api/se/BAIGT/corte-vizinho?janela=12m), read on 19/09/2026 ~11:25 BRT; window Oct/2025–Sep/2026, ONS data up to 17/09/2026 23:30 BRT, model loaded on 19/09/2026 01:03. Rolling window: the GWh change every day.

    Why it matters: With the whole substation losing almost a third, the problem is the electrical neighbourhood, not the plant — the next track shows why, on the map.

  4. Mission 4

    On the 345 kV Xavantes – M. Fornasaro C1 line (SP): how many other active lines leave from each end — and is the Xavantes end the São Paulo substation or its namesake in Goiás?

    Where to look: Diagram at the top of the sheet: the text under each substation name; clicking the name shows where it leads. Open in this state →

    Check the answer

    Xavantes +6 active lines and M. Fornasaro +3; the Xavantes end leads to /se/SPXAV (São Paulo). Until 2026-09-25 matching by name sent it to GOXAV (Goiás) — one of the 56 active-line ends in a namesake substation of another state that the graph fixed.

    Measured: gridAssets in production, read on screen on 26/09/2026 ~03:50 UTC; ONS line register through the grid graph (B306). Changes when a line enters or leaves operation at either substation.

    Why it matters: Whoever assesses a connection point needs to know what ELSE leaves each end of the line: that is where energy has an alternative when a line trips.

  5. Mission 5

    On the Caetité D sheet you miss a panel. Where do you ask for it, do you need to leave an e-mail — and if you close the form without sending, does the entry disappear the way the old tab did?

    Where to look: Right edge of the screen, halfway down. Open in this state →

    Check the answer

    Through the vertical “Feedback” tab, present in every app. The e-mail is optional (only if you want a reply); the text runs from 3 to 2,000 characters and carries the page address along. Cancel or Esc close only the form — the tab stays. It only does not show in an embedded app (minimap, landing card, ?embed=).

    Measured: Fixed entry from the shared UI, live since 2026-09-30; served bundles of usinas.brazilgrid.com and uy.brazilgrid.com checked on 02/10/2026 07:49 BRT (10:49 UTC) — tab and form present; the country apps send to usinas.brazilgrid.com/api/sugestao. Changes if the entry moves.

    Why it matters: The old tab (a third-party survey) disappeared for good, in every app, after one click on the “x”. The new one has no “x” that retires the channel — and it is where requests for a panel, a country or a data fix come in.

Role: Thermal and gas analyst

Why did this thermal plant generate — and did the gas arrive?

On the pages of two gas-fired plants in Rio de Janeiro: what ONS scheduled against what the plant generated, how much the grid restriction weighed at CCEE and whether the pipeline tracks the plant.

  1. Mission 1

    At GNA II (RJ), in August 2026: how much did the plant generate, how much did ONS schedule and which way did it deviate?

    Where to look: Thermal specifics → Why it generated: the Verified and Scheduled by ONS bars and the “verified − scheduled” chip. Open in this state →

    Check the answer

    247.2 GWh verified against 439.7 GWh scheduled: chip −192.6 GWh, the plant ran below schedule. On both sides, 100% pure inflexibility.

    Measured: gridAssets production API (/api/usina/UTE.GN.RJ.038173-0.01/specifico?mes=2026-08), read on 22/09/2026; ONS dispatch up to 2026-08-31. Closed month: it only changes if ONS republishes.

    Why it matters: Scheduled inflexibility that does not become generation is contracted energy that never reached the grid — the deviation points where to look (availability, fuel, restriction).

  2. Mission 2

    At UTE Norte Fluminense (RJ), over the panel's 12 months: how much constrained-on, in how many hours, and how much in charges?

    Where to look: The “Operating restriction — constrained-on and constrained-off (CCEE)” panel, in the two top columns. Open in this state →

    Check the answer

    443 MWh of constrained-on in 3 hours, all in February 2026, with R$ 141 thousand in charges; constrained-off of 8,125 MWh and R$ 1.9 million. Energy up to 07/2026, charges up to 02/2026.

    Measured: gridAssets in production, window 08/2025–07/2026, read on 22/09/2026 21:49 BRT (/api/usina/UTE.GN.RJ.001544-0.01/restricao_operativa). Rolling window: it changes when CCEE publishes a new month.

    Why it matters: The charge is net of PLD: dividing R$ 141 thousand by 443 MWh is not the price of anything — exactly the calculation the panel forbids.

  3. Mission 3

    At the same plant, in August 2026: does the ANP delivery point explain generation? How much gas arrived against the request?

    Where to look: The “Did the fuel arrive?” panel: the Pearson r and the Requested, Scheduled and Delivered volumes. Open in this state →

    Check the answer

    Yes: r = 0.995 over 2,066 paired days (“tracks the plant”). 34,262.2 thousand m³ arrived against 33,579.1 thousand m³ requested — 102% allocation —, almost all through Petrobras (33,174.9 thousand m³) and the rest through J&F.

    Measured: gridAssets production API (/api/usina/UTE.GN.RJ.001544-0.01/gas_entrega?mes=2026-08), read on 22/09/2026; ANP up to 2026-08-31.

    Why it matters: With r this high, zero volume at the point on a dispatch day would be a signal to investigate; at a low-r plant, the same zero says nothing.

Role: Project developer

Can the grid take one more project at this point?

Continuation of the previous track, now in gridMap: who already injects into Caetité D's connection substation and how much margin ONS publishes for it.

  1. Mission 1

    With Grid mode on, open the Igaporã III substation (Bahia): how many plants are upstream of it and with how much installed capacity? Is Caetité D among the largest?

    Where to look: The substation side panel, “Who connects here (graph)” box. Open in this state →

    Check the answer

    31 plants, 665.7 MW, all with high-confidence links. The largest is Caetité D itself (50.4 MW), followed by Brejinhos B (42 MW). No path continues past the substation: it is the bulk-grid substation for these plants.

    Measured: gridMap in production (/api/grafo/montante?se=BAIGT), read on 19/09/2026 11:25 BRT; graph of 18/09/2026. It changes when the registry changes (new plant, reconnection).

    Why it matters: This is the point's real electrical neighbourhood: who competes for the same outlet when the grid is restricted.

  2. Mission 2

    At the same substation: what is the ONS official export margin from 2027 to 2031+, and how many access requests are in the queue?

    Where to look: Substation panel: “ONS official margin” box and, in the General tab, the fila_viva_n and fila_viva_must_mw attributes. Open in this state →

    Check the answer

    0 MW in every year, 2027 to 2031+: saturated (ONS buses 6220 and 6221). Even so, 32 open requests are in the access queue, adding up to 3,639.4 MW of MUST.

    Measured: gridMap in production, IGAPORA III substation panel, read on 19/09/2026 11:24 BRT; margin: ONS Indicative Margin 2026.2 (content of 31/07/2026, collected on 14/09/2026); queue verified on 28/07/2026. It changes with every ONS publication.

    Why it matters: Zero margin, almost a third curtailed and a full queue at the same point: a new project there competes for export capacity that is already saturated. Colour by Margin or by Opens shows where to look instead.

Role: Trader and lender

What is curtailed energy worth — and what does the official figure leave out?

In gridCurt: first the whole SIN, then the cluster of Caetité D. Energy and money tell different stories.

  1. Mission 1

    For the SIN, with the period set to “all” (since October 2021): which reason accounts for most of the curtailed energy — and which accounts for most of the loss in R$?

    Where to look: WHY WAS IT CURTAILED? cards: percentage and energy on top, R$ next to the energy. Open in this state →

    Check the answer

    In energy, ENE: 53.9% (46.4 TWh), against CNF 34.1% (29.4 TWh) and REL 12.1% (10.4 TWh). In R$, CNF: R$ 5.1 bn, against R$ 4.4 bn for ENE and R$ 1.3 bn for REL — at hourly PLD, IPCA-adjusted. Per MWh, about R$ 175 for CNF against R$ 95 for ENE.

    Measured: gridCurt in production (/api/brasil), read on 19/09/2026 16:14 UTC (13:14 BRT); period 2021-10-01 to 2026-09-17 23:30 BRT. The total grows every day; the ranking of reasons changes slowly.

    Why it matters: Surplus (ENE) happens when energy is abundant and PLD is low; reliability restriction (CNF) hits pricier hours. When valuing a loss or a claim, the reason that cuts the most is not the one that costs the most — and only REL and CNF have a compensation route.

  2. Mission 2

    With the Caetité Norte cluster (BA) selected: how much are the estimated curtailment of plants without data and the method difference of the per-plant sum worth — and which of the two is added to Curtailed Energy?

    Where to look: HOW THE NUMBER IS BUILT section; compare with the sum of the WHY WAS IT CURTAILED? cards. Open in this state →

    Check the answer

    Estimated curtailment: +1.5% (+7.6 GWh). Method difference: +1.4% (+7.3 GWh). Only the estimate is added: the three reasons give 509.4 GWh and the cluster's Curtailed Energy starts from 516.9 GWh = 509.4 + 7.6. The method difference is not extra energy and is not added.

    Measured: gridCurt in production (/api/brasil?escopo=conjunto&id=CJU_BACTN), read on 24/09/2026 20:41 UTC (17:41 BRT); period since 2021-10-01, ONS data up to 23/09/2026 23:30 BRT.

    Why it matters: Anyone comparing with the official figure needs to know what sits on each side: the measured curtailment is the same ONS per-cluster calculation; all the counter adds is the estimated curtailment of plants without data, labelled as an estimate.

Role: Energy analyst for Latin America

Chile and Colombia: what the asset sheet shows

Three readings in the Chile and Colombia gridAssets: the power a plant has already proven, where curtailment concentrates and how Colombia records constraints.

  1. Mission 1

    At PFV Campos del Sol (Chile): what is the maximum power sustained for 2 hours, on what day, and how much of the nameplate is it?

    Where to look: “Maximum demonstrated power” panel: the big number and the chip. Open in this state →

    Check the answer

    378.1 MW on 2025-12-16, 13:00–15:00 Chile time — 103.9% of the 363.8 MW nameplate; chip “reached the registry capacity · 103.9%”.

    Measured: Chile gridAssets production API (/api/central/1704/potencia_maxima), read on 24/09/2026 19:22 UTC; CEN generation up to 2026-09-23. It only changes if the plant beats its own record.

    Why it matters: It is the capacity the plant has already proven it can deliver, not the one on paper — the basis for sizing a contract, storage or grid reinforcement.

  2. Mission 2

    At S/E Carrera Pinto (Chile): how much curtailment in 12 months, and which plant accounts for most of it?

    Where to look: “Curtailment by substation” panel: the total and the list of plants. Open in this state →

    Check the answer

    294,771 MWh from 2025-07 to 2026-06; 257,085 MWh (87%) come from PFV Campos del Sol, with 25.1% curtailed. June 2026 had only 2,346 MWh.

    Measured: Production API /api/subestacion/563/recorte, read on 24/09/2026 19:22 UTC; CEN ERV published up to 2026-06. It changes when the CEN publishes a new month.

    Why it matters: Curtailment concentrated on one substation points to a local grid bottleneck, not a system one.

  3. Mission 3

    At resource SNCR (Colombia), in September 2026: how many hours of negative reconciliation, and what was the largest event?

    Where to look: “Constraint timeline (negative reconciliation)” panel, with 2026-09 in the month selector. Open in this state →

    Check the answer

    18 events, 365 hours and 161,727 MWh up to the 21st; the largest ran from 09-10 22:00 to 09-16 00:00 (Colombia time): 122 hours, 49,926 MWh.

    Measured: Production API /api/recurso/SNCR/restricciones?mes=2026-09, read on 24/09/2026 19:22 UTC; XM up to 2026-09-21. Open month: it grows with every XM publication.

    Why it matters: In Colombia a constraint shows up as a market reconciliation, not as physical curtailment — taking one for the other is the most common mistake when comparing countries.

  4. Mission 4

    At the Punta Lomitas wind plant (Peru): how much RER spillage has COES recorded since the sheet started coming out, on how many days, and what was the maximum in a half-hour?

    Where to look: “RER spillage” panel on the plant sheet: the big number, the monthly chips and the table of days. Open in this state →

    Check the answer

    774.7 MWh over 4 days between 2026-04-17 and 09-23 (May 69.2, June 69.1 and August 636.4 MWh), at most 41.85 MW in a half-hour; 159 days published and 17 without publication in the window.

    Measured: Production API of gridAssets Peru (/api/central/18%3A366/vertimiento), read on 25/09/2026 02:51 UTC; COES IEOD up to 23/09/2026. Grows if COES records new spillage.

    Why it matters: Peru also curtails renewables, but little and concentrated in Marcona and Ica — the contrast with Brazil's tens of TWh says where the grid is tight.

  5. Mission 5

    In Uruguay, “Operational restriction” page, 12-month window: how much restriction did the country have, at what rate, and which plant leads in MWh?

    Where to look: The three figures at the top and the first row of the table (sorted by restriction). Open in this state →

    Check the answer

    197.6 GWh from 08/2025 to 07/2026, a rate of 3.86 %, 46 of the 63 wind and solar plants with restriction. Pampa (wind, UTE) leads: 16,495 MWh, rate 3.94 % — the largest in MWh but only 19th by rate; by rate, Kiyú and Cuchilla del Peralta I exceed 8 %.

    Measured: gridAssets Uruguay production API (/api/ranking/restriccion and /api/central/Pampa/serie), read on 26/09/2026 03:41 UTC; ADME restriction up to 07/2026. Changes when ADME publishes 08/2026 (the window moves one month).

    Why it matters: MWh measures the size of the loss; the rate measures the plant's exposure. To compare farms of different sizes, the rate says more — and ADME does not separate grid from oversupply, so neither points to the cause.

  6. Mission 6

    On the Pampa sheet (Uruguay), use the period selector: how much did it generate in July and in August 2026 — and why does the August operational restriction not show?

    Where to look: Indicators block; the selector's › arrow moves from July to August (watch the URL change to ?mes=2026-08). Open in this state →

    Check the answer

    July: 39,729.9 MWh, CF 37.7%, operational restriction of 711.4 MWh over 8 hours (rate 1.76%). August: 46,573.5 MWh, CF 44.2%, and restriction “not published”: ADME published generation up to 08/2026, but the restriction only up to 07/2026. It is absence, not zero.

    Measured: gridAssets Uruguay production API (/api/central/Pampa/diario?periodo=2026-07 and 2026-08), read on 02/10/2026 07:49 BRT (10:49 UTC); ADME generation up to 08/2026, restriction up to 07/2026. Changes when ADME publishes the 08/2026 restriction.

    Why it matters: The period is the same for every Indicator, but each source publishes at its own pace: comparing months requires checking whether the panel says “not published” before reading the number as zero.

Short glossary

Short definitions. The formula and the rule behind each term are in stage 4 of the app in the link.

  • Curtailment (constrained-off): energy the plant could have generated but did not, due to a restriction order. Computed as reference minus verified generation, when positive — only in half-hours under restriction by the ONS gate: restricted-generation flag OR published reason (REL, CNF or ENE), a union in force since 2026-09-20. see the formula in stage 4 →
  • Reference generation: how much the plant would have generated in the ONS calculation. This is what drops to zero when metering fails. see the formula in stage 4 →
  • REL: external network unavailability. CNF: electrical reliability requirement. ENE: energy surplus. see the formula in stage 4 →
  • Franchise: hours of unavailability that generate no compensation under the ordinary regime, accumulated from the start of the calendar year — not monthly. see the formula in stage 4 →
  • PLD and CMO: settlement price and marginal operating cost. The gap between them in the same interval is network congestion. see the formula in stage 4 →
  • Capacity factor: generation in the period divided by what the installed capacity would produce over that same period. see the formula in stage 4 →

Question about a specific screen, or need data that is not here yet? Write to us — most of what exists today started as a request from someone in operations.