Skip to content

DISPATCHLOAD

DISPATCHLOAD set out the current SCADA MW and target MW for each dispatchable unit, including relevant Frequency Control Ancillary Services (FCAS) enabling targets for each five minutes and additional fields to handle the new Ancillary Services functionality. Fast Start Plant status is indicated by dispatch mode.

DISPATCHLOAD data is confidential for the current day, showing own details for participant and becomes public after close of business yesterday, and is available to all participants.

Source

DISPATCHLOAD shows data for every 5 minutes for all units, even zero targets.

Volume

Expect 40-50,000 records per day. All units are repeated, even zero targets.

Note

** A flag exists for each ancillary service type such that a unit trapped or stranded in one or more service type can be immediately identified. The flag is defined using the low 3 bits as follows:

Flag Name Bit Description
Enabled 0 The unit is enabled to provide this ancillary service type.
Trapped 1 The unit is enabled to provide this ancillary service type, however the profile for this service type is causing the unit to be trapped in the energy market.
Stranded 2 The unit is bid available to provide this ancillary service type, however, the unit is operating in the energy market outside of the profile for this service type and is stranded from providing this service.

Interpretation of the bit-flags as a number gives the following possibilities (i.e. other combinations are not possible):

Numeric Value Bit (2,1,0) Meaning
0 000 Not stranded, not trapped, not enabled.
1 001 Not stranded, not trapped, is enabled.
3 011 Not stranded, is trapped, is enabled.
4 100 Is stranded, not trapped, not enabled.

For example, testing for availability can be done by checking for odd (=available) or even (=unavailable) number (e.g. mod(flag,2) results in 0 for unavailable and 1 for available).

*** "Actual FCAS availability" is determined in a post-processing step based on the energy target (TotalCleared) and bid FCAS trapezium for that interval. However, if the unit is outside the bid FCAS trapezium at the start of the interval (InitialMW), the "Actual FCAS availability" is set to zero. For regulation services, the trapezium is the most restrictive of the bid/SCADA trapezium values.

Tip

If you only want power measurements, table DISPATCH_UNIT_SCADA is similar but far smaller.

Tip

1 second, 6 second, 5 minute, 60 second and regulation refer to types of FCAS markets.

Column Schema

DUID

Dispatchable unit identifier

Warning

This column may contain funny characters such as / (slash) or # (hash). This may break hive-style partitioning.

For more information, see the dedicated documentation page.

SQL Type: VARCHAR2(10) Polars Type: pl.Categorical

This column is mandatory, and a primary key.

Examples:

  • ADPBA1
  • ADPPV1
  • AGLHAL
  • AGLSOM
  • ALDGASF1
  • ANGAST1
  • APD01
  • ARWF1
  • ASACLE01
  • ASDEVI01

INTERVENTION

Intervention flag if intervention run

For more information, see the dedicated documentation page.

SQL Type: NUMBER(2,0) Polars Type: pl.Boolean

This column is mandatory, and a primary key.

Example: 0

SETTLEMENTDATE

Market date and time starting at 04:05

Warning

Despite what the name suggests, this is a datetime, not a date.

SQL Type: DATE Polars Type: pl.Datetime()

This column is mandatory, and a primary key.

Example: 2026/09/01 00:05:00

RUNNO

Dispatch run no; always 1

This column only ever takes one value: 1

(The SQL type is NUMBER(3,0).)

AEMO marked this column as mandatory, and a primary key. However, since it only ever takes one value, you can ignore it.

AGCSTATUS

AGC Status from EMS * 1 = on * 0 = off

SQL Type: NUMBER(2,0) Polars Type: pl.Int8

This column is not mandatory.

Examples: 0, 1

AVAILABILITY

For Scheduled units, this is the MAXAVAIL bid availability For Semi-scheduled units, this is the lower of MAXAVAIL bid availability and UIGF

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.3295, 0, 1, 1473

CONFORMANCE_MODE

Mode specific to units within an aggregate. 0 - no monitoring, 1 - aggregate monitoring, 2 - individual monitoring due to constraint

SQL Type: NUMBER(6,0) Polars Type: pl.Int32

This column is not mandatory.

Examples: 0, 1

CONNECTIONPOINTID

Connection point identifier for DUID

SQL Type: VARCHAR2(12) Polars Type: pl.Categorical

This column is not mandatory.

Examples:

  • AKWB1W
  • NAL11C
  • NAL12M
  • NASACA01
  • NASAGL03
  • NASENG01
  • NASGRD01
  • NASGRU01
  • NASHYD01
  • NASSHU01

DISPATCHINTERVAL

Dispatch period identifier, from 001 to 288 in format YYYYMMDDPPP.

SQL Type: NUMBER(22,0) Polars Type: pl.Int128

This column is not mandatory.

Examples: 20260831241, 20260831242

DISPATCHMODE

Dispatch mode for fast start plant (0 to 4).

SQL Type: NUMBER(2,0) Polars Type: pl.Int8

This column is not mandatory.

Examples: 0, 4

DISPATCHMODETIME

Minutes for which the unit has been in the current DISPATCHMODE. From NEMDE TRADERSOLUTION element FSTARGETMODETIME attribute.

SQL Type: NUMBER(4,0) Polars Type: pl.Int16

This column is not mandatory.

Examples: 0, 5, 7

ELEMENT_CAP

Cap on the number of turbines or inverters at a DUID.

SQL Type: NUMBER(5,0) Polars Type: pl.Int32

This column is not mandatory.

ENERGY_STORAGE

The projected energy storage based on cleared energy and regulation FCAS dispatch(MWh)

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.54609, 0.00203, 0, 363.65289

INITIAL_ENERGY_STORAGE

The energy storage at the start of this dispatch interval(MWh)

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.14969, 0, 12, 363.34692

INITIALMW

Initial MW at start of period. Negative values when Bi-directional Unit start from importing power, otherwise positive.

Warning

In AEMO data, datetimes usually refer to the end of an interval. Power values usually do too. However this column refers to the start of the interval. So you need to subtract 5 minutes from SETTLEMENTDATE to align it with INITIALMW.

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: -0.02, 0.00001, 0, 531

LASTCHANGED

Last date and time record changed

For more information, see the dedicated documentation page.

SQL Type: DATE Polars Type: pl.Datetime()

This column is not mandatory.

Example: 2026/09/01 00:00:07

LOWER1SEC

Dispatched Lower1Sec - TraderSolution element L1Target attribute

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 22.25994, 0, 4, 22.28513

LOWER1SECACTUALAVAILABILITY

Trapezium adjusted Lower 1Sec Availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0, 1, 225

LOWER1SECFLAGS

TraderSolution element L1Flags attribute

SQL Type: NUMBER(3,0) Polars Type: pl.Boolean

This column is not mandatory.

Examples: 0, 1

LOWER5MIN

Lower 5 min reserve target

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 26.21425, 0, 2, 114

LOWER5MINACTUALAVAILABILITY

trapezium adjusted lower 5min availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 43.68254, 0, 1, 236

LOWER5MINFLAGS

Lower 5min status flag

SQL Type: NUMBER(3,0) Polars Type: pl.Int16

This column is not mandatory.

Examples: 0, 1, 4

LOWER6SEC

Lower 6 sec reserve target

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 16.18056, 0, 2, 80

LOWER6SECACTUALAVAILABILITY

trapezium adjusted lower 6sec availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.05263, 0, 1, 225

LOWER6SECFLAGS

Lower 6sec status flag

SQL Type: NUMBER(3,0) Polars Type: pl.Int16

This column is not mandatory.

Examples: 0, 1, 4

LOWER60SEC

Lower 60 sec reserve target

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 47.99176, 0, 1, 114

LOWER60SECACTUALAVAILABILITY

trapezium adjusted lower 60sec availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 1.5789, 0, 1, 236

LOWER60SECFLAGS

Lower 60sec status flag

SQL Type: NUMBER(3,0) Polars Type: pl.Int16

This column is not mandatory.

Examples: 0, 1, 4

LOWERREG

Lower Regulation reserve target

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0, 3, 100

LOWERREGACTUALAVAILABILITY

trapezium adjusted lower reg availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 14.718009, 0, 2, 415

LOWERREGAVAILABILITY

Lower Reg availability - minimum of bid and telemetered value

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 2.4, 0, 10, 691

LOWERREGENABLEMENTMAX

Lower Reg enablement Max point - minimum of bid and telemetered value

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 4.03761, 0, 1, 1407

LOWERREGENABLEMENTMIN

Lower Reg Enablement Min point - maximum of bid and telemetered value

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: -59.99988, 0.0061, 0, 420

LOWERREGFLAGS

Lower Reg status flag

SQL Type: NUMBER(3,0) Polars Type: pl.Int16

This column is not mandatory.

Examples: 0, 1, 4

MIN_AVAILABILITY

BDU only. Load side availability (BidOfferPeriod.MAXAVAIL where DIRECTION = LOAD)

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0, 2, 473

RAISE1SEC

Dispatched Raise1Sec - TraderSolution element R1Target attribute

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 35.86551, 0, 1, 80

RAISE1SECACTUALAVAILABILITY

Trapezium adjusted Raise 1Sec Availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0, 1, 225

RAISE1SECFLAGS

TraderSolution element R1Flags attribute

SQL Type: NUMBER(3,0) Polars Type: pl.Boolean

This column is not mandatory.

Examples: 0, 1

RAISE5MIN

Raise 5 min reserve target

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.19226, 0, 1, 114

RAISE5MINACTUALAVAILABILITY

trapezium adjusted raise 5min availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.1662, 0, 1, 450

RAISE5MINFLAGS

SQL Type: NUMBER(3,0) Polars Type: pl.Int16

This column is not mandatory.

Examples: 0, 1

RAISE6SEC

Raise 6 sec reserve target

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.19226, 0, 1, 80

RAISE6SECACTUALAVAILABILITY

trapezium adjusted raise 6sec availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.016447, 0, 1, 450

RAISE6SECFLAGS

Raise 6sec status flag

SQL Type: NUMBER(3,0) Polars Type: pl.Boolean

This column is not mandatory.

Examples: 0, 1

RAISE60SEC

Raise 60 sec reserve target

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.19226, 0, 1, 80

RAISE60SECACTUALAVAILABILITY

trapezium adjusted raise 60sec availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.168416, 0, 1, 450

RAISE60SECFLAGS

Raise 60sec status flag

SQL Type: NUMBER(3,0) Polars Type: pl.Boolean

This column is not mandatory.

Examples: 0, 1

RAISEREG

Raise Regulation reserve target

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 5.84211, 0, 3, 78

RAISEREGACTUALAVAILABILITY

trapezium adjusted raise reg availability

SQL Type: NUMBER(16,6) Polars Type: pl.Float64

This column is not mandatory.

Examples: 3.38529, 0, 1, 276

RAISEREGAVAILABILITY

RaiseReg availability - minimum of bid and telemetered value

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 2.4, 0, 10, 691

RAISEREGENABLEMENTMAX

RaiseReg enablement max point - minimum of bid and telemetered value

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 4.03761, 0, 1, 1407

RAISEREGENABLEMENTMIN

RaiseReg Enablement Min point - maximum of bid and telemetered value

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: -59.99988, 0.0061, 0, 420

RAISEREGFLAGS

Raise Reg status flag

SQL Type: NUMBER(3,0) Polars Type: pl.Int16

This column is not mandatory.

Examples: 0, 1, 4

RAMPDOWNRATE

Ramp down rate used in dispatch (lesser of bid or telemetered rate).

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.18, 0, 60, 20400

RAMPUPRATE

Ramp up rate (lesser of bid or telemetered rate).

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 1.55, 0, 6, 20400

SEMIDISPATCHCAP

Boolean representation flagging if the Target is Capped

SQL Type: NUMBER(3,0) Polars Type: pl.Boolean

This column is not mandatory.

Examples: 0, 1

TOTALCLEARED

Target MW for end of period. Negative values when Bi-directional Unit is importing power, otherwise positive.

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.3295, 0, -1, 685

UIGF

For Semi-Scheduled units. Unconstrained Intermittent Generation Forecast value provided to NEMDE

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

Examples: 0.3295, 0, 60, 451.936

VIOLATION5MINDEGREE

Violation MW 5 min

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

VIOLATION6SECDEGREE

Violation MW 6 seconds

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

VIOLATION60SECDEGREE

Violation MW 60 seconds

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

VIOLATIONDEGREE

Violation MW energy

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is not mandatory.

DOWNEPF

Not Used

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is unused.

MARGINAL5MINVALUE

Marginal $ value for 5 min

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is unused.

MARGINAL6SECVALUE

Marginal $ value for 6 seconds

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is unused.

MARGINAL60SECVALUE

Marginal $ value for 60 seconds

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is unused.

MARGINALVALUE

Marginal $ value for energy

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is unused.

TRADETYPE

Not used

SQL Type: NUMBER(2,0) Polars Type: pl.Int8

This column is unused.

Example: 0

UPEPF

Not Used

SQL Type: NUMBER(15,5) Polars Type: pl.Float64

This column is unused.

New Data Timing

Every 5 minutes for all units, even zero targets

Code Examples

Polars

This table is so large that you should explicitly enumerate and cast every column, which will speed things up and prevents some errors. Although some of the datatypes are inferred, so they may be wrong. In particular, UInt16 vs UInt8 vs Int16 etc. If you get errors, you can swap these for just int.

This code deduplicates for you. Deduplication is normally only required across multiple months.

This code assumes that all columns are present, which may not be true for older files.

import polars as pl
import polars.selectors as cs

# e.g. "2029/03/15 00:05:00"
dt_s_fmt = "%Y/%m/%d %H:%M:%S"

csv_paths = ["SOMEFILE.CSV", "OTHERFILE.CSV"]

lf = (
    pl.concat(
        [
            pl.scan_csv(
                csv_path,  # must be unzipped beforehand
                skip_rows=1,  # skip the header
                infer_schema=False,  # much faster
            )
            .filter(cs.by_index(0) == "D")  # drop the footer
            .select(~cs.by_index(range(4)))  # drop metadata columns
            for csv_path in csv_paths
        ],
        how="diagonal_relaxed",
    )
    .with_columns(
        pl.col("SETTLEMENTDATE", "LASTCHANGED").str.strptime(pl.Datetime, dt_s_fmt),
    )
    # Polars can't cast string straight to bool. Need to go via something else.
    .cast(
        {
            "INTERVENTION": pl.UInt8,
            "LOWER1SECFLAGS": pl.UInt8,
            "RAISE1SECFLAGS": pl.UInt8,
            "RAISE6SECFLAGS": pl.UInt8,
            "RAISE60SECFLAGS": pl.UInt8,
            "SEMIDISPATCHCAP": pl.UInt8,
        }
    )
    .cast(
        {
            "DUID": pl.Categorical,
            "INTERVENTION": pl.Boolean,
            "RUNNO": pl.Enum(["1"]),
            "AGCSTATUS": pl.Int8,
            "AVAILABILITY": pl.Float64,
            "CONFORMANCE_MODE": pl.Int32,
            "CONNECTIONPOINTID": pl.Categorical,
            "DISPATCHINTERVAL": pl.Int128,
            "DISPATCHMODE": pl.Int8,
            "DISPATCHMODETIME": pl.Int16,
            "ELEMENT_CAP": pl.Int32,
            "ENERGY_STORAGE": pl.Float64,
            "INITIAL_ENERGY_STORAGE": pl.Float64,
            "INITIALMW": pl.Float64,
            "LOWER1SEC": pl.Float64,
            "LOWER1SECACTUALAVAILABILITY": pl.Float64,
            "LOWER1SECFLAGS": pl.Boolean,
            "LOWER5MIN": pl.Float64,
            "LOWER5MINACTUALAVAILABILITY": pl.Float64,
            "LOWER5MINFLAGS": pl.Int16,
            "LOWER6SEC": pl.Float64,
            "LOWER6SECACTUALAVAILABILITY": pl.Float64,
            "LOWER6SECFLAGS": pl.Int16,
            "LOWER60SEC": pl.Float64,
            "LOWER60SECACTUALAVAILABILITY": pl.Float64,
            "LOWER60SECFLAGS": pl.Int16,
            "LOWERREG": pl.Float64,
            "LOWERREGACTUALAVAILABILITY": pl.Float64,
            "LOWERREGAVAILABILITY": pl.Float64,
            "LOWERREGENABLEMENTMAX": pl.Float64,
            "LOWERREGENABLEMENTMIN": pl.Float64,
            "LOWERREGFLAGS": pl.Int16,
            "MIN_AVAILABILITY": pl.Float64,
            "RAISE1SEC": pl.Float64,
            "RAISE1SECACTUALAVAILABILITY": pl.Float64,
            "RAISE1SECFLAGS": pl.Boolean,
            "RAISE5MIN": pl.Float64,
            "RAISE5MINACTUALAVAILABILITY": pl.Float64,
            "RAISE5MINFLAGS": pl.Int16,
            "RAISE6SEC": pl.Float64,
            "RAISE6SECACTUALAVAILABILITY": pl.Float64,
            "RAISE6SECFLAGS": pl.Boolean,
            "RAISE60SEC": pl.Float64,
            "RAISE60SECACTUALAVAILABILITY": pl.Float64,
            "RAISE60SECFLAGS": pl.Boolean,
            "RAISEREG": pl.Float64,
            "RAISEREGACTUALAVAILABILITY": pl.Float64,
            "RAISEREGAVAILABILITY": pl.Float64,
            "RAISEREGENABLEMENTMAX": pl.Float64,
            "RAISEREGENABLEMENTMIN": pl.Float64,
            "RAISEREGFLAGS": pl.Int16,
            "RAMPDOWNRATE": pl.Float64,
            "RAMPUPRATE": pl.Float64,
            "SEMIDISPATCHCAP": pl.Boolean,
            "TOTALCLEARED": pl.Float64,
            "UIGF": pl.Float64,
            "VIOLATION5MINDEGREE": pl.Float64,
            "VIOLATION6SECDEGREE": pl.Float64,
            "VIOLATION60SECDEGREE": pl.Float64,
            "VIOLATIONDEGREE": pl.Float64,
            "DOWNEPF": pl.Float64,
            "MARGINAL5MINVALUE": pl.Float64,
            "MARGINAL6SECVALUE": pl.Float64,
            "MARGINAL60SECVALUE": pl.Float64,
            "MARGINALVALUE": pl.Float64,
            "TRADETYPE": pl.Int8,
            "UPEPF": pl.Float64,
        }
    )
    # Drop deprecated/unused columns
    .drop(
        "RUNNO",
        "DOWNEPF",
        "MARGINAL5MINVALUE",
        "MARGINAL6SECVALUE",
        "MARGINAL60SECVALUE",
        "MARGINALVALUE",
        "TRADETYPE",
        "UPEPF",
    )
    # Deduplicate
    # These files are so large that this step may cause your laptop to run out of memory.
    # We want one row per ['DUID', 'INTERVENTION', 'RUNNO', 'SETTLEMENTDATE']
    # Tie-breaker: greatest value of ['LASTCHANGED']
    .sort(["LASTCHANGED"], descending=False)
    .unique(subset=["DUID", "INTERVENTION", "RUNNO", "SETTLEMENTDATE"], keep="last")
)

Nemosis

from nemosis import dynamic_data_compiler

df = dynamic_data_compiler(
    '2024/01/01 00:00:00',
    '2024/01/31 00:00:00',
    "DISPATCHLOAD",
    "data/"
)

Nemosis only includes a subset of columns by default, as an optimisation. (i.e. the commonly used columns.) To include others:

from nemosis import defaults

defaults.table_columns["DISPATCHLOAD"] += ["RUNNO", "CONFORMANCE_MODE", "CONNECTIONPOINTID", "DISPATCHINTERVAL", "DISPATCHMODETIME", "ELEMENT_CAP", "ENERGY_STORAGE", "INITIAL_ENERGY_STORAGE", "LASTCHANGED", "LOWER1SECACTUALAVAILABILITY", "LOWER1SECFLAGS", "LOWER5MINACTUALAVAILABILITY", "LOWER5MINFLAGS", "LOWER6SECACTUALAVAILABILITY", "LOWER6SECFLAGS", "LOWER60SECACTUALAVAILABILITY", "LOWER60SECFLAGS", "LOWERREGACTUALAVAILABILITY", "LOWERREGAVAILABILITY", "LOWERREGFLAGS", "MIN_AVAILABILITY", "RAISE1SECACTUALAVAILABILITY", "RAISE1SECFLAGS", "RAISE5MINACTUALAVAILABILITY", "RAISE5MINFLAGS", "RAISE6SECACTUALAVAILABILITY", "RAISE6SECFLAGS", "RAISE60SECACTUALAVAILABILITY", "RAISE60SECFLAGS", "RAISEREGACTUALAVAILABILITY", "RAISEREGAVAILABILITY", "RAISEREGFLAGS", "UIGF", "VIOLATION5MINDEGREE", "VIOLATION6SECDEGREE", "VIOLATION60SECDEGREE", "VIOLATIONDEGREE", "DOWNEPF", "MARGINAL5MINVALUE", "MARGINAL6SECVALUE", "MARGINAL60SECVALUE", "MARGINALVALUE", "TRADETYPE", "UPEPF"]
df = dynamic_data_compiler(...)

Example File

From PUBLIC_ARCHIVE_DISPATCHLOAD_FILE01_202609010000.zip

SETTLEMENTDATERUNNODUIDTRADETYPEDISPATCHINTERVALINTERVENTIONCONNECTIONPOINTIDDISPATCHMODEAGCSTATUSINITIALMWTOTALCLEAREDRAMPDOWNRATERAMPUPRATELOWER5MINLOWER60SECLOWER6SECRAISE5MINRAISE60SECRAISE6SECDOWNEPFUPEPFMARGINAL5MINVALUEMARGINAL60SECVALUEMARGINAL6SECVALUEMARGINALVALUEVIOLATION5MINDEGREEVIOLATION60SECDEGREEVIOLATION6SECDEGREEVIOLATIONDEGREELASTCHANGEDLOWERREGRAISEREGAVAILABILITYRAISE6SECFLAGSRAISE60SECFLAGSRAISE5MINFLAGSRAISEREGFLAGSLOWER6SECFLAGSLOWER60SECFLAGSLOWER5MINFLAGSLOWERREGFLAGSRAISEREGAVAILABILITYRAISEREGENABLEMENTMAXRAISEREGENABLEMENTMINLOWERREGAVAILABILITYLOWERREGENABLEMENTMAXLOWERREGENABLEMENTMINRAISE6SECACTUALAVAILABILITYRAISE60SECACTUALAVAILABILITYRAISE5MINACTUALAVAILABILITYRAISEREGACTUALAVAILABILITYLOWER6SECACTUALAVAILABILITYLOWER60SECACTUALAVAILABILITYLOWER5MINACTUALAVAILABILITYLOWERREGACTUALAVAILABILITYSEMIDISPATCHCAPDISPATCHMODETIMECONFORMANCE_MODEUIGFRAISE1SECRAISE1SECFLAGSLOWER1SECLOWER1SECFLAGSRAISE1SECACTUALAVAILABILITYLOWER1SECACTUALAVAILABILITYINITIAL_ENERGY_STORAGEENERGY_STORAGEMIN_AVAILABILITYELEMENT_CAP
2026/09/01 00:05:001ADPBA10202608312410SMVE14010.006093.1293.123332332026/09/01 00:00:07006111111117.759996-67.759996-6333333330000000000.6480.647736
2026/09/01 00:05:001ADPPV10202608312410SMVE6D00001201200000002026/09/01 00:00:0700000000000000000000000000000000000
2026/09/01 00:05:001AGLHAL0202608312410SHPS100007207200000002026/09/01 00:00:070016000000000000000000000000000000000
2026/09/01 00:05:001AGLSOM0202608312410VTTS100004804800000002026/09/01 00:00:070012600000000000000000000000000000000
2026/09/01 00:05:001ALDGASF10202608312410QLCS1A0000462046200000002026/09/01 00:00:0700000000000000000000000000000000000
2026/09/01 00:05:001ANGAST10202608312410SDRN100-0.208408400000002026/09/01 00:00:07003600000000000000000000000000000000
2026/09/01 00:05:001APD010202608312410VAPD1000000000653062026/09/01 00:00:0700011100000000000450450450000000000000000
2026/09/01 00:05:001ARWF10202608312410VART1A0083.381.831760012000000002026/09/01 00:00:070081.831700000000000000000000000081.83170000000
2026/09/01 00:05:001ASACLE010202608312410VASACL010000000000002026/09/01 00:00:0700000001110000000000044400000001020
2026/09/01 00:05:001ASDEVI010202608312410VASDAM010000000001212122026/09/01 00:00:070001110000000000012121200000000121001200
2026/09/01 00:05:001ASDLBY010202608312410QASDAL010000000000002026/09/01 00:00:0700000000000000000000000000000000000
...

CSETP.WORLDDVD_DISPATCHLOADAEMOPUBLIC2026/10/0915:29:11001791523751000MONTHLY_ARCHIVE001791523751000
IDISPATCHUNIT_SOLUTION6SETTLEMENTDATERUNNODUIDTRADETYPEDISPATCHINTERVALINTERVENTIONCONNECTIONPOINTIDDISPATCHMODEAGCSTATUSINITIALMWTOTALCLEAREDRAMPDOWNRATERAMPUPRATELOWER5MINLOWER60SECLOWER6SECRAISE5MINRAISE60SECRAISE6SECDOWNEPFUPEPFMARGINAL5MINVALUEMARGINAL60SECVALUEMARGINAL6SECVALUEMARGINALVALUEVIOLATION5MINDEGREEVIOLATION60SECDEGREEVIOLATION6SECDEGREEVIOLATIONDEGREELASTCHANGEDLOWERREGRAISEREGAVAILABILITYRAISE6SECFLAGSRAISE60SECFLAGSRAISE5MINFLAGSRAISEREGFLAGSLOWER6SECFLAGSLOWER60SECFLAGSLOWER5MINFLAGSLOWERREGFLAGSRAISEREGAVAILABILITYRAISEREGENABLEMENTMAXRAISEREGENABLEMENTMINLOWERREGAVAILABILITYLOWERREGENABLEMENTMAXLOWERREGENABLEMENTMINRAISE6SECACTUALAVAILABILITYRAISE60SECACTUALAVAILABILITYRAISE5MINACTUALAVAILABILITYRAISEREGACTUALAVAILABILITYLOWER6SECACTUALAVAILABILITYLOWER60SECACTUALAVAILABILITYLOWER5MINACTUALAVAILABILITYLOWERREGACTUALAVAILABILITYSEMIDISPATCHCAPDISPATCHMODETIMECONFORMANCE_MODEUIGFRAISE1SECRAISE1SECFLAGSLOWER1SECLOWER1SECFLAGSRAISE1SECACTUALAVAILABILITYLOWER1SECACTUALAVAILABILITYINITIAL_ENERGY_STORAGEENERGY_STORAGEMIN_AVAILABILITYELEMENT_CAP
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001ADPBA10202608312410SMVE14010.006093.1293.123332332026/09/01 00:00:07006111111117.759996-67.759996-6333333330000000000.6480.647736
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001ADPPV10202608312410SMVE6D00001201200000002026/09/01 00:00:0700000000000000000000000000000000000
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001AGLHAL0202608312410SHPS100007207200000002026/09/01 00:00:070016000000000000000000000000000000000
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001AGLSOM0202608312410VTTS100004804800000002026/09/01 00:00:070012600000000000000000000000000000000
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001ALDGASF10202608312410QLCS1A0000462046200000002026/09/01 00:00:0700000000000000000000000000000000000
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001ANGAST10202608312410SDRN100-0.208408400000002026/09/01 00:00:07003600000000000000000000000000000000
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001APD010202608312410VAPD1000000000653062026/09/01 00:00:0700011100000000000450450450000000000000000
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001ARWF10202608312410VART1A0083.381.831760012000000002026/09/01 00:00:070081.831700000000000000000000000081.83170000000
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001ASACLE010202608312410VASACL010000000000002026/09/01 00:00:0700000001110000000000044400000001020
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001ASDEVI010202608312410VASDAM010000000001212122026/09/01 00:00:070001110000000000012121200000000121001200
DDISPATCHUNIT_SOLUTION62026/09/01 00:05:001ASDLBY010202608312410QASDAL010000000000002026/09/01 00:00:0700000000000000000000000000000000000
...
CEND OF REPORT1003

SETTLEMENTDATE,RUNNO,DUID,TRADETYPE,DISPATCHINTERVAL,INTERVENTION,CONNECTIONPOINTID,DISPATCHMODE,AGCSTATUS,INITIALMW,TOTALCLEARED,RAMPDOWNRATE,RAMPUPRATE,LOWER5MIN,LOWER60SEC,LOWER6SEC,RAISE5MIN,RAISE60SEC,RAISE6SEC,DOWNEPF,UPEPF,MARGINAL5MINVALUE,MARGINAL60SECVALUE,MARGINAL6SECVALUE,MARGINALVALUE,VIOLATION5MINDEGREE,VIOLATION60SECDEGREE,VIOLATION6SECDEGREE,VIOLATIONDEGREE,LASTCHANGED,LOWERREG,RAISEREG,AVAILABILITY,RAISE6SECFLAGS,RAISE60SECFLAGS,RAISE5MINFLAGS,RAISEREGFLAGS,LOWER6SECFLAGS,LOWER60SECFLAGS,LOWER5MINFLAGS,LOWERREGFLAGS,RAISEREGAVAILABILITY,RAISEREGENABLEMENTMAX,RAISEREGENABLEMENTMIN,LOWERREGAVAILABILITY,LOWERREGENABLEMENTMAX,LOWERREGENABLEMENTMIN,RAISE6SECACTUALAVAILABILITY,RAISE60SECACTUALAVAILABILITY,RAISE5MINACTUALAVAILABILITY,RAISEREGACTUALAVAILABILITY,LOWER6SECACTUALAVAILABILITY,LOWER60SECACTUALAVAILABILITY,LOWER5MINACTUALAVAILABILITY,LOWERREGACTUALAVAILABILITY,SEMIDISPATCHCAP,DISPATCHMODETIME,CONFORMANCE_MODE,UIGF,RAISE1SEC,RAISE1SECFLAGS,LOWER1SEC,LOWER1SECFLAGS,RAISE1SECACTUALAVAILABILITY,LOWER1SECACTUALAVAILABILITY,INITIAL_ENERGY_STORAGE,ENERGY_STORAGE,MIN_AVAILABILITY,ELEMENT_CAP
"2026/09/01 00:05:00",1,ADPBA1,0,20260831241,0,SMVE14,0,1,0.006,0,93.12,93.12,3,3,3,2,3,3,,,,,,,,,,,"2026/09/01 00:00:07",0,0,6,1,1,1,1,1,1,1,1,7.75999,6,-6,7.75999,6,-6,3,3,3,3,3,3,3,3,0,0,,0,0,0,0,0,0,0,0.648,0.64773,6,
"2026/09/01 00:05:00",1,ADPPV1,0,20260831241,0,SMVE6D,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
"2026/09/01 00:05:00",1,AGLHAL,0,20260831241,0,SHPS1,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
"2026/09/01 00:05:00",1,AGLSOM,0,20260831241,0,VTTS1,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
"2026/09/01 00:05:00",1,ALDGASF1,0,20260831241,0,QLCS1A,0,0,0,0,4620,4620,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
"2026/09/01 00:05:00",1,ANGAST1,0,20260831241,0,SDRN1,0,0,-0.2,0,840,840,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
"2026/09/01 00:05:00",1,APD01,0,20260831241,0,VAPD1,0,0,0,0,0,0,0,0,0,65,30,6,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,450,450,450,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
"2026/09/01 00:05:00",1,ARWF1,0,20260831241,0,VART1A,0,0,83.3,81.8317,600,1200,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,81.8317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,81.8317,0,0,0,0,0,0,,,0,
"2026/09/01 00:05:00",1,ASACLE01,0,20260831241,0,VASACL01,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,,0,0,0,0,1,0,2,,,0,
"2026/09/01 00:05:00",1,ASDEVI01,0,20260831241,0,VASDAM01,0,0,0,0,0,0,0,0,0,12,12,12,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,12,12,12,0,0,0,0,0,0,0,,0,12,1,0,0,12,0,,,0,
"2026/09/01 00:05:00",1,ASDLBY01,0,20260831241,0,QASDAL01,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
...
C,SETP.WORLD,DVD_DISPATCHLOAD,AEMO,PUBLIC,2026/10/09,15:29:11,001791523751000,MONTHLY_ARCHIVE,001791523751000
I,DISPATCH,UNIT_SOLUTION,6,SETTLEMENTDATE,RUNNO,DUID,TRADETYPE,DISPATCHINTERVAL,INTERVENTION,CONNECTIONPOINTID,DISPATCHMODE,AGCSTATUS,INITIALMW,TOTALCLEARED,RAMPDOWNRATE,RAMPUPRATE,LOWER5MIN,LOWER60SEC,LOWER6SEC,RAISE5MIN,RAISE60SEC,RAISE6SEC,DOWNEPF,UPEPF,MARGINAL5MINVALUE,MARGINAL60SECVALUE,MARGINAL6SECVALUE,MARGINALVALUE,VIOLATION5MINDEGREE,VIOLATION60SECDEGREE,VIOLATION6SECDEGREE,VIOLATIONDEGREE,LASTCHANGED,LOWERREG,RAISEREG,AVAILABILITY,RAISE6SECFLAGS,RAISE60SECFLAGS,RAISE5MINFLAGS,RAISEREGFLAGS,LOWER6SECFLAGS,LOWER60SECFLAGS,LOWER5MINFLAGS,LOWERREGFLAGS,RAISEREGAVAILABILITY,RAISEREGENABLEMENTMAX,RAISEREGENABLEMENTMIN,LOWERREGAVAILABILITY,LOWERREGENABLEMENTMAX,LOWERREGENABLEMENTMIN,RAISE6SECACTUALAVAILABILITY,RAISE60SECACTUALAVAILABILITY,RAISE5MINACTUALAVAILABILITY,RAISEREGACTUALAVAILABILITY,LOWER6SECACTUALAVAILABILITY,LOWER60SECACTUALAVAILABILITY,LOWER5MINACTUALAVAILABILITY,LOWERREGACTUALAVAILABILITY,SEMIDISPATCHCAP,DISPATCHMODETIME,CONFORMANCE_MODE,UIGF,RAISE1SEC,RAISE1SECFLAGS,LOWER1SEC,LOWER1SECFLAGS,RAISE1SECACTUALAVAILABILITY,LOWER1SECACTUALAVAILABILITY,INITIAL_ENERGY_STORAGE,ENERGY_STORAGE,MIN_AVAILABILITY,ELEMENT_CAP
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,ADPBA1,0,20260831241,0,SMVE14,0,1,0.006,0,93.12,93.12,3,3,3,2,3,3,,,,,,,,,,,"2026/09/01 00:00:07",0,0,6,1,1,1,1,1,1,1,1,7.75999,6,-6,7.75999,6,-6,3,3,3,3,3,3,3,3,0,0,,0,0,0,0,0,0,0,0.648,0.64773,6,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,ADPPV1,0,20260831241,0,SMVE6D,0,0,0,0,120,120,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,AGLHAL,0,20260831241,0,SHPS1,0,0,0,0,720,720,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,AGLSOM,0,20260831241,0,VTTS1,0,0,0,0,480,480,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,ALDGASF1,0,20260831241,0,QLCS1A,0,0,0,0,4620,4620,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,ANGAST1,0,20260831241,0,SDRN1,0,0,-0.2,0,840,840,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,APD01,0,20260831241,0,VAPD1,0,0,0,0,0,0,0,0,0,65,30,6,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,450,450,450,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,ARWF1,0,20260831241,0,VART1A,0,0,83.3,81.8317,600,1200,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,81.8317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,81.8317,0,0,0,0,0,0,,,0,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,ASACLE01,0,20260831241,0,VASACL01,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,,0,0,0,0,1,0,2,,,0,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,ASDEVI01,0,20260831241,0,VASDAM01,0,0,0,0,0,0,0,0,0,12,12,12,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,12,12,12,0,0,0,0,0,0,0,,0,12,1,0,0,12,0,,,0,
D,DISPATCH,UNIT_SOLUTION,6,"2026/09/01 00:05:00",1,ASDLBY01,0,20260831241,0,QASDAL01,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,"2026/09/01 00:00:07",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,0,,,0,
...
C,"END OF REPORT",1003

Availability

Visibility: Private & Public Next-Day

This table is in the public monthly MMSDM archive.

I have collated the list of all those files into one place, in this CSV metadata file. (Columns year, month, url, compressed_size in bytes).

The earliest available data is month 1 of 2015. The most recent available data is month 9 of 2026.

Every month in between has a file. (No gaps.)

Data Size

Each year of data is approximately 2 GB when zipped, 15 GB as unzipped CSV.

Tip

This table is large. Simply calling pd.read_csv() might fill up all the memory on your laptop. (As a rule of thumb, you need double the amount of memory as the size of the CSV.) You will need to think hard about memory optimisation. e.g. consider using Polars instead of Pandas, and selecting only the columns you care about.

Deduplication and PDR Loader Configuration

The primary keys are:

The transaction type is "insert", which means that you will usually not see duplicate data. If you do, you can deduplicate based on the primary keys, without sorting first. Rows from different files with the same primary keys should have the same values.

PDR Loader configuration is:

Report Name Report Subtype Version
DISPATCH UNIT_SOLUTION 5
DISPATCH UNIT_SOLUTION 6

This means that the CSV files start with metadata columns:

I,DISPATCH,UNIT_SOLUTION,5,...
D,DISPATCH,UNIT_SOLUTION,5,...

or

I,DISPATCH,UNIT_SOLUTION,6,...
D,DISPATCH,UNIT_SOLUTION,6,...

Indexes

There is more than one index.

Index 1:

Index 2:

This page as JSON (schema documented here, but may change)

Download a JSON Schema specification for this table.

Official AEMO schema documentation (multi-page):

Other Information

Package: DISPATCH