This National Energy Market (NEM) data repository captures the power output measured via Supervisory Control and Data Acquisition (SCADA) at the start of each 5-minute dispatch interval.
Sourced from here:
- Current: https://nemweb.com.au/Reports/CURRENT/Dispatch_SCADA/
- Archive: https://nemweb.com.au/Reports/ARCHIVE/Dispatch_SCADA/
List schema of the “dispatch_scada” table.
SELECT
column_name,
data_type
FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = 'dispatch_scada'
ORDER BY ordinal_position
;
Output…
column_name | data_type
-----------------+--------------------------
settlement_date | timestamp with time zone
duid | text
scada_value | numeric
last_changed | timestamp with time zone
filename | text
fetched_at | timestamp with time zone
(6 rows)
List the earliest and latest dates
SELECT COUNT(*) AS total, MIN(settlement_date), MAX(settlement_date)
FROM dispatch_scada
;
Output…
total | min | max
----------+------------------------+------------------------
34441239 | 2024-11-06 09:35:00+11 | 2025-07-24 13:40:00+10
(1 row)
List number of records ingested and number of active DUID’s
SELECT
date_trunc('day', settlement_date) AS day,
COUNT(*) AS total_records,
COUNT(DISTINCT duid) AS active_duids,
MIN(settlement_date) AS first_ts,
MAX(settlement_date) AS last_ts
FROM dispatch_scada
GROUP BY day
ORDER BY day DESC
LIMIT 30
;
Output…
day | total_records | active_duids | first_ts | last_ts
------------------------+---------------+--------------+------------------------+------------------------
2025-07-24 00:00:00+10 | 79287 | 472 | 2025-07-24 00:00:00+10 | 2025-07-24 13:55:00+10
2025-07-23 00:00:00+10 | 135923 | 472 | 2025-07-23 00:00:00+10 | 2025-07-23 23:55:00+10
2025-07-22 00:00:00+10 | 135929 | 472 | 2025-07-22 00:00:00+10 | 2025-07-22 23:55:00+10
...
...
2025-06-27 00:00:00+10 | 135520 | 471 | 2025-06-27 00:00:00+10 | 2025-06-27 23:55:00+10
2025-06-26 00:00:00+10 | 135542 | 471 | 2025-06-26 00:00:00+10 | 2025-06-26 23:55:00+10
2025-06-25 00:00:00+10 | 135565 | 471 | 2025-06-25 00:00:00+10 | 2025-06-25 23:55:00+10
(30 rows)
List largest SCADA value and DUID
SELECT
settlement_date,
duid,
filename,
scada_value
FROM dispatch_scada
ORDER BY scada_value DESC
LIMIT 20
;
Output…
settlement_date | duid | filename | scada_value
------------------------+--------+-----------------------------------+-------------
2025-03-20 18:20:00+11 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250320.zip | 1798.679930
2025-03-20 17:35:00+11 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250320.zip | 1797.799930
2025-03-20 18:30:00+11 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250320.zip | 1797.25
2025-03-20 18:00:00+11 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250320.zip | 1797.190060
2025-03-31 17:20:00+11 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250331.zip | 1796.589970
...
...
2025-03-20 18:35:00+11 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250320.zip | 1787.550050
2025-03-20 18:05:00+11 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250320.zip | 1787.219850
2025-03-20 18:15:00+11 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250320.zip | 1786.859860
2025-05-14 16:15:00+10 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250514.zip | 1785.950070
2025-03-14 17:45:00+11 | TUMUT3 | PUBLIC_DISPATCHSCADA_20250314.zip | 1785.530030
(20 rows)
Join “dispatch_scada” with “duid_metadata” to bring in more context
SELECT
ds.settlement_date,
ds.duid,
md.station_name,
md.region,
ds.scada_value
FROM dispatch_scada ds
JOIN duid_metadata md ON ds.duid = md.duid
WHERE ds.settlement_date >= NOW() - INTERVAL '3 hours'
ORDER BY ds.settlement_date DESC
LIMIT 100
;
Output…
settlement_date | duid | station_name | region | scada_value
------------------------+----------+------------------------------------+--------+-------------
2025-07-24 15:30:00+10 | YWPS4 | EnergyAustralia Yallourn Pty Ltd | VIC1 | 204.1875
2025-07-24 15:30:00+10 | YWPS3 | EnergyAustralia Yallourn Pty Ltd | VIC1 | 203.343750
2025-07-24 15:30:00+10 | YWPS2 | EnergyAustralia Yallourn Pty Ltd | VIC1 | 202.75
2025-07-24 15:30:00+10 | YWPS1 | EnergyAustralia Yallourn Pty Ltd | VIC1 | 203
2025-07-24 15:30:00+10 | YSWF1 | Pacific Hydro Yaloak South Pty Ltd | VIC1 | 3.80
2025-07-24 15:30:00+10 | YENDWF1 | Lal Lal Wind Farms Nom Co Pty Ltd | VIC1 | 20.89
2025-07-24 15:30:00+10 | YATSF1 | Yatpool Sun Farm Pty Ltd | VIC1 | 27.86
2025-07-24 15:30:00+10 | YARWUN_1 | RTA Yarwun Pty Ltd | QLD1 | 119.35
2025-07-24 15:30:00+10 | YARANSF1 | Yarranlea Solar Pty Ltd | QLD1 | 71.70
2025-07-24 15:30:00+10 | YAMBUKWF | Energy Pacific (Vic) Pty Ltd | VIC1 | 6.30
(10 rows)
Top 10 Stations (DUID’s) by SCADA value
SELECT
md.station_name,
ROUND(AVG(ds.scada_value), 2) AS avg_output
FROM dispatch_scada ds
JOIN duid_metadata md ON ds.duid = md.duid
WHERE ds.settlement_date >= NOW() - INTERVAL '1 day'
GROUP BY md.station_name
ORDER BY avg_output DESC
LIMIT 10
;
Output…
station_name | avg_output
--------------------------------------------------------------------------+------------
AGL Loy Yang Marketing Pty Ltd | 501.30
Delta Electricity | 451.88
AGL Macquarie Pty Limited | 388.93
Callide Power Trading Pty Limited | 304.61
PARF Company 10 Pty Limited as The Trustee for Coopers Gap Project Trust | 280.54
Millmerran Energy Trader Pty Ltd | 273.39
EnergyAustralia Yallourn Pty Ltd | 261.04
MacIntyre UJV Operator Pty Ltd | 194.01
Alinta Energy Retail Sales Pty Ltd | 192.49
Pelican Point Power Limited | 191.31
(10 rows)
Top SCADA contributions by state/region
SELECT
md.region,
ROUND(SUM(ds.scada_value), 2) AS total_mw
FROM dispatch_scada ds
JOIN duid_metadata md ON ds.duid = md.duid
WHERE ds.settlement_date >= NOW() - INTERVAL '1 day'
GROUP BY md.region
ORDER BY total_mw DESC
;
Output…
region | total_mw
--------+------------
NSW1 | 2383326.63
QLD1 | 2030496.71
VIC1 | 1916553.35
SA1 | 427334.80
TAS1 | 382792.01
(5 rows)
Summing SCADA output by fuel mix breakdown
SELECT
md.fuel_primary,
ROUND(SUM(ds.scada_value), 2) AS total_output_mw
FROM dispatch_scada ds
JOIN duid_metadata md ON ds.duid = md.duid
WHERE ds.settlement_date >= NOW() - INTERVAL '1 day'
GROUP BY md.fuel_primary
ORDER BY total_output_mw DESC
;
Output…
fuel_primary | total_output_mw
---------------------------------------+-----------------
Fossil | 4786717.67
Wind | 1187819.81
Hydro | 572929.41
Solar | 547058.41
[null] | 36524.85
Renewable/ Biomass / Waste | 18565.90
Renewable/ Biomass / Waste and Fossil | -373.50
Battery storage | -13388.11
(8 rows)