Skip to content

Generation & Fuel Mix

The Generation & Fuel Mix section provides real-time and historical visibility into how electricity is being produced across the NEM. Data is sourced from AEMO’s Dispatch SCADA feed (updated every 5 minutes) and processed through the gold.nem_generation_by_fuel table.

The NEM generation mix is tracked across these fuel types:

Fuel TypeTechnologyTypical NEM Share
Black CoalNSW, QLD thermal25–35%
Brown CoalVIC brown coal10–15%
Gas (CCGT)Combined cycle gas turbine5–10%
Gas (OCGT)Open cycle (peaker) gas turbine2–5%
HydroSnowy, TAS hydro5–10%
WindUtility-scale wind farms10–20%
Solar (Utility)Large-scale solar farms5–15%
Solar (Rooftop)Behind-the-meter rooftop5–15%
BatteryGrid-scale BESS1–3%
Pumped HydroWivenhoe, Tumut 31–3%
BiomassSugar mill, landfill gas<1%

Generation Mix Dashboard (/front-office/generation-mix)

Section titled “Generation Mix Dashboard (/front-office/generation-mix)”
  • Live donut chart: current NEM-wide generation by fuel type
  • Stacked area chart: generation by fuel over time (configurable 1h to 1y)
  • Carbon intensity indicator: gCO2/kWh in real time
  • Renewable penetration percentage: percentage of demand met by renewables (wind + solar + hydro)

Regional Generation Breakdown (/front-office/generation-regional)

Section titled “Regional Generation Breakdown (/front-office/generation-regional)”
  • Side-by-side comparison of generation mix by region
  • Filter by fuel type to see regional distribution
  • SA1 renewable penetration is typically the highest (often >100% momentarily)

DUID-Level Dispatch (/front-office/duid-dispatch)

Section titled “DUID-Level Dispatch (/front-office/duid-dispatch)”
  • Individual generating unit dispatch data
  • Search by DUID, station name, or fuel type
  • Current output vs registered capacity percentage
  • Bid stack position indicator

Facility Registry (/front-office/facilities)

Section titled “Facility Registry (/front-office/facilities)”
  • Complete list of all registered NEM generating facilities
  • Source: OpenNEM facility data + AEMO DUDETAILSUMMARY
  • Includes: capacity (MW), fuel type, first dispatch date, operator, region
  • Filter and sort by any column

A Dispatchable Unit Identifier (DUID) uniquely identifies each generating unit registered with AEMO. Energy Copilot tracks 400+ DUIDs across the NEM.

-- Query current generation for coal units in NSW1
SELECT
duid,
station_name,
fuel_type,
current_output_mw,
registered_capacity_mw,
ROUND(current_output_mw / registered_capacity_mw * 100, 1) AS utilisation_pct
FROM energy_copilot.gold.nem_generation_by_fuel
WHERE region_id = 'NSW1'
AND fuel_type IN ('Black Coal')
AND interval_datetime = (SELECT MAX(interval_datetime) FROM energy_copilot.gold.nem_generation_by_fuel)
ORDER BY current_output_mw DESC;

AEMO publishes Dispatch SCADA data (generation output per DUID) every 5 minutes through NEMWEB. Pipeline 01_nemweb_ingest.py downloads and processes this data:

NEMWEB SCADA CSV (5-min)
▼ pipeline 01: DLT Autoloader
bronze.raw_dispatch_scada
▼ (dedup, validate)
silver.dispatch_scada_clean
▼ (aggregate by fuel type, pivot)
gold.nem_generation_by_fuel

The Gold table is partitioned by interval_date and has Change Data Feed enabled for the AI agent’s tool calls.

Terminal window
GET /api/generation/latest?region=NSW1
# Response
{
"timestamp": "2025-03-21T05:30:00Z",
"region_id": "NSW1",
"total_generation_mw": 8250,
"renewable_pct": 18.4,
"carbon_intensity_gco2_kwh": 710,
"fuel_mix": {
"black_coal": 4820,
"gas_ccgt": 820,
"gas_ocgt": 145,
"hydro": 320,
"wind": 890,
"solar_utility": 520,
"solar_rooftop": 680,
"battery": 55
}
}
Terminal window
GET /api/generation/history?region=QLD1&fuel_type=wind&start=2025-03-14&end=2025-03-21
-- gold.nem_generation_by_fuel
DESCRIBE energy_copilot.gold.nem_generation_by_fuel;
-- interval_datetime TIMESTAMP -- 5-min interval (UTC)
-- interval_date DATE -- partition key
-- region_id STRING -- NEM region
-- fuel_type STRING -- generation fuel category
-- generation_mw DOUBLE -- total generation (MW)
-- duid_count INT -- number of DUIDs in this fuel/region bucket
-- capacity_mw DOUBLE -- total registered capacity for this bucket
-- utilisation_pct DOUBLE -- generation / capacity * 100

Carbon intensity (gCO2/kWh) is calculated using emissions factors from gold.emissions_factors:

Fuel TypeEmissions Factor (kgCO2/MWh)
Black Coal920
Brown Coal1,180
Gas (CCGT)490
Gas (OCGT)700
Wind11
Solar (utility)45
Solar (rooftop)45
Hydro24
Battery0 (dispatch only)