Skip to content

NETWORK_SUBSTATIONDETAIL

NETWORK_SUBSTATIONDETAIL sets out the attributes of sub-stations across time

Column Schema

SUBSTATIONID

ID uniquely identifying this substation

SQL Type: VARCHAR(30) Polars Type: str

This column is mandatory, and a primary key.

Examples:

  • FORBES
  • 21TEE
  • 92ZTEE
  • 947TEE
  • 94K_TEE
  • ABC_B
  • AC
  • ACTBEL
  • ACTBRU
  • ACTCAU

VALIDFROM

The record is valid from this date (inclusive)

SQL Type: TIMESTAMP(3) Polars Type: pl.Datetime()

This column is mandatory, and a primary key.

Example: 2003/04/28 16:51:08.000

Unlike most datetime columns, this one includes a millisecond component. e.g. 2029/03/15 00:00:00.123.

DESCRIPTION

Description of the substation

SQL Type: VARCHAR(100) Polars Type: str

This column is not mandatory.

Examples:

  • 94K_Tee
  • Abermain(H162)
  • Abermain(H62)
  • ActewAGL Belconnen 132kV
  • ActewAGL Bruce 132kV
  • ActewAGL Causeway 132kV
  • ActewAGL City East 132kV
  • ActewAGL Civic 132kV
  • ActewAGL Gilmore 132kV
  • ActewAGL Gold Creek 132kV

LASTCHANGED

The time that this record was last changed.

For more information, see the dedicated documentation page.

SQL Type: TIMESTAMP(3) Polars Type: pl.Datetime()

This column is not mandatory.

Example: 2003/04/28 16:51:18.000

Unlike most datetime columns, this one includes a millisecond component. e.g. 2029/03/15 00:00:00.123.

OWNERID

The TNSP who is responsible for this substation

SQL Type: VARCHAR(30) Polars Type: pl.Categorical

This column is not mandatory.

Examples:

  • AEMO
  • APT
  • AusNet
  • ElectraNet
  • Endeavour E
  • Essential E
  • Powerlink
  • TOA
  • TasNetworks
  • Transgrid

REGIONID

The NEM region the substation is in

For more information, see the dedicated documentation page.

The SQL type is VARCHAR(10). This is actually a factor/enum, with values:

  • QLD1

  • VIC1

  • TAS1

  • NSW1

  • SA1

  • SNOWY1

This column is not mandatory.

VALIDTO

The record is valid up until this date (exclusive)

SQL Type: TIMESTAMP(3) Polars Type: pl.Datetime()

This column is not mandatory.

Example: 2004/09/28 08:18:11.000

Unlike most datetime columns, this one includes a millisecond component. e.g. 2029/03/15 00:00:00.123.

New Data Timing

When subtation details are created or added

Code Examples

Polars

Casting is enums, categoricals etc is not essential, but may speed up parsing. Swapping int for pl.UInt16, pl.Int32 would also speed up parsing. However some of the datatypes are inferred, so they may be wrong.

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

# for "TIMESTAMP" columns
# Note that Polars uses slightly different format strings for fractional seconds to `dt.strptime`
# e.g. "2029/03/15 00:00:00.123".
dt_ms_fmt = "%Y/%m/%d %H:%M:%S%.3f"

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("VALIDFROM", "LASTCHANGED", "VALIDTO").str.strptime(
            pl.Datetime, dt_ms_fmt
        ),
    )
    .cast(
        {
            "SUBSTATIONID": str,
            "DESCRIPTION": str,
            "OWNERID": pl.Categorical,
            "REGIONID": pl.Enum(["QLD1", "VIC1", "TAS1", "NSW1", "SA1", "SNOWY1"]),
        }
    )
    # Deduplicate
    # We want one row per ['SUBSTATIONID', 'VALIDFROM']
    # Tie-breaker: greatest value of ['LASTCHANGED']
    .sort(["LASTCHANGED"], descending=False)
    .unique(subset=["SUBSTATIONID", "VALIDFROM"], keep="last")
)

Nemosis

This table is not yet available in Nemosis.

Example File

From PUBLIC_ARCHIVE_NETWORK_SUBSTATIONDETAIL_FILE01_202609010000.zip

SUBSTATIONIDVALIDFROMVALIDTODESCRIPTIONREGIONIDOWNERIDLASTCHANGED
T34_MRNB2003/04/28 16:51:08.0009999/12/31 00:00:00.000Moranbah 132kVQLD1Powerlink2003/04/28 16:51:18.000
MT_S_PS2003/04/28 16:51:08.0009999/12/31 00:00:00.000Mount Stuart PsQLD1Powerlink2003/04/28 16:51:18.000
T27_MRA2003/04/28 16:51:08.0002016/04/20 10:12:19.884Moura 132kVQLD1Powerlink2016/04/20 10:12:29.884
T112_MTM2003/04/28 16:51:08.0009999/12/31 00:00:00.000Mt Mclaren 132kVQLD1Powerlink2003/04/28 16:51:18.000
H12_MT_E2003/04/28 16:51:08.0002016/04/20 10:12:28.807Mt. England 275kVQLD1Powerlink2016/04/20 10:12:38.807
H4_MUGBA2003/04/28 16:51:08.0002016/04/20 10:12:28.885Mudgeeraba 275kVQLD1Powerlink2016/04/20 10:12:38.885
T16_NAMB2003/04/28 16:51:08.0009999/12/31 00:00:00.000Nambour 132kVQLD1Powerlink2003/04/28 16:51:18.000
H11_NEBO2003/04/28 16:51:08.0009999/12/31 00:00:00.000Nebo 275kVQLD1Powerlink2003/04/28 16:51:18.000
T75_NRNG2003/04/28 16:51:08.0009999/12/31 00:00:00.000Nerang 110kVQLD1Powerlink2003/04/28 16:51:18.000
T142_TEN2006/07/31 13:01:12.0002006/07/31 13:01:12.192New Tennyson 110kVQLD1Powerlink2006/07/31 13:01:22.192
T142_TEN2006/07/31 13:01:12.1929999/12/31 00:00:00.000Tennyson (T142) 110kVQLD1Powerlink2006/07/31 13:01:22.192
...

CSETP.WORLDDVD_NETWORK_SUBSTATIONDETAILAEMOPUBLIC2026/10/0915:57:20001791525440151MONTHLY_ARCHIVE001791525440151
INETWORKSUBSTATIONDETAIL2SUBSTATIONIDVALIDFROMVALIDTODESCRIPTIONREGIONIDOWNERIDLASTCHANGED
DNETWORKSUBSTATIONDETAIL2T34_MRNB2003/04/28 16:51:08.0009999/12/31 00:00:00.000Moranbah 132kVQLD1Powerlink2003/04/28 16:51:18.000
DNETWORKSUBSTATIONDETAIL2MT_S_PS2003/04/28 16:51:08.0009999/12/31 00:00:00.000Mount Stuart PsQLD1Powerlink2003/04/28 16:51:18.000
DNETWORKSUBSTATIONDETAIL2T27_MRA2003/04/28 16:51:08.0002016/04/20 10:12:19.884Moura 132kVQLD1Powerlink2016/04/20 10:12:29.884
DNETWORKSUBSTATIONDETAIL2T112_MTM2003/04/28 16:51:08.0009999/12/31 00:00:00.000Mt Mclaren 132kVQLD1Powerlink2003/04/28 16:51:18.000
DNETWORKSUBSTATIONDETAIL2H12_MT_E2003/04/28 16:51:08.0002016/04/20 10:12:28.807Mt. England 275kVQLD1Powerlink2016/04/20 10:12:38.807
DNETWORKSUBSTATIONDETAIL2H4_MUGBA2003/04/28 16:51:08.0002016/04/20 10:12:28.885Mudgeeraba 275kVQLD1Powerlink2016/04/20 10:12:38.885
DNETWORKSUBSTATIONDETAIL2T16_NAMB2003/04/28 16:51:08.0009999/12/31 00:00:00.000Nambour 132kVQLD1Powerlink2003/04/28 16:51:18.000
DNETWORKSUBSTATIONDETAIL2H11_NEBO2003/04/28 16:51:08.0009999/12/31 00:00:00.000Nebo 275kVQLD1Powerlink2003/04/28 16:51:18.000
DNETWORKSUBSTATIONDETAIL2T75_NRNG2003/04/28 16:51:08.0009999/12/31 00:00:00.000Nerang 110kVQLD1Powerlink2003/04/28 16:51:18.000
DNETWORKSUBSTATIONDETAIL2T142_TEN2006/07/31 13:01:12.0002006/07/31 13:01:12.192New Tennyson 110kVQLD1Powerlink2006/07/31 13:01:22.192
DNETWORKSUBSTATIONDETAIL2T142_TEN2006/07/31 13:01:12.1929999/12/31 00:00:00.000Tennyson (T142) 110kVQLD1Powerlink2006/07/31 13:01:22.192
...
CEND OF REPORT1003

SUBSTATIONID,VALIDFROM,VALIDTO,DESCRIPTION,REGIONID,OWNERID,LASTCHANGED
T34_MRNB,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Moranbah 132kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
MT_S_PS,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Mount Stuart Ps",QLD1,Powerlink,"2003/04/28 16:51:18.000"
T27_MRA,"2003/04/28 16:51:08.000","2016/04/20 10:12:19.884","Moura 132kV",QLD1,Powerlink,"2016/04/20 10:12:29.884"
T112_MTM,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Mt Mclaren 132kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
H12_MT_E,"2003/04/28 16:51:08.000","2016/04/20 10:12:28.807","Mt. England 275kV",QLD1,Powerlink,"2016/04/20 10:12:38.807"
H4_MUGBA,"2003/04/28 16:51:08.000","2016/04/20 10:12:28.885","Mudgeeraba 275kV",QLD1,Powerlink,"2016/04/20 10:12:38.885"
T16_NAMB,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Nambour 132kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
H11_NEBO,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Nebo 275kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
T75_NRNG,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Nerang 110kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
T142_TEN,"2006/07/31 13:01:12.000","2006/07/31 13:01:12.192","New Tennyson 110kV",QLD1,Powerlink,"2006/07/31 13:01:22.192"
T142_TEN,"2006/07/31 13:01:12.192","9999/12/31 00:00:00.000","Tennyson (T142) 110kV",QLD1,Powerlink,"2006/07/31 13:01:22.192"
...
C,SETP.WORLD,DVD_NETWORK_SUBSTATIONDETAIL,AEMO,PUBLIC,2026/10/09,15:57:20,001791525440151,MONTHLY_ARCHIVE,001791525440151
I,NETWORK,SUBSTATIONDETAIL,2,SUBSTATIONID,VALIDFROM,VALIDTO,DESCRIPTION,REGIONID,OWNERID,LASTCHANGED
D,NETWORK,SUBSTATIONDETAIL,2,T34_MRNB,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Moranbah 132kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
D,NETWORK,SUBSTATIONDETAIL,2,MT_S_PS,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Mount Stuart Ps",QLD1,Powerlink,"2003/04/28 16:51:18.000"
D,NETWORK,SUBSTATIONDETAIL,2,T27_MRA,"2003/04/28 16:51:08.000","2016/04/20 10:12:19.884","Moura 132kV",QLD1,Powerlink,"2016/04/20 10:12:29.884"
D,NETWORK,SUBSTATIONDETAIL,2,T112_MTM,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Mt Mclaren 132kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
D,NETWORK,SUBSTATIONDETAIL,2,H12_MT_E,"2003/04/28 16:51:08.000","2016/04/20 10:12:28.807","Mt. England 275kV",QLD1,Powerlink,"2016/04/20 10:12:38.807"
D,NETWORK,SUBSTATIONDETAIL,2,H4_MUGBA,"2003/04/28 16:51:08.000","2016/04/20 10:12:28.885","Mudgeeraba 275kV",QLD1,Powerlink,"2016/04/20 10:12:38.885"
D,NETWORK,SUBSTATIONDETAIL,2,T16_NAMB,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Nambour 132kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
D,NETWORK,SUBSTATIONDETAIL,2,H11_NEBO,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Nebo 275kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
D,NETWORK,SUBSTATIONDETAIL,2,T75_NRNG,"2003/04/28 16:51:08.000","9999/12/31 00:00:00.000","Nerang 110kV",QLD1,Powerlink,"2003/04/28 16:51:18.000"
D,NETWORK,SUBSTATIONDETAIL,2,T142_TEN,"2006/07/31 13:01:12.000","2006/07/31 13:01:12.192","New Tennyson 110kV",QLD1,Powerlink,"2006/07/31 13:01:22.192"
D,NETWORK,SUBSTATIONDETAIL,2,T142_TEN,"2006/07/31 13:01:12.192","9999/12/31 00:00:00.000","Tennyson (T142) 110kV",QLD1,Powerlink,"2006/07/31 13:01:22.192"
...
C,"END OF REPORT",1003

Availability

Visibility: Public

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 8 of 2024. 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 352 KB when zipped, 4 MB as unzipped CSV.

Deduplication and PDR Loader Configuration

The primary keys are:

The transaction type is "INSERT-UPDATE", which means that you will likely see duplicate data with different values.

You should deduplicate by sorting based on LASTCHANGED, within each group of primary keys.

PDR Loader configuration is:

Report Name Report Subtype Version
NETWORK SUBSTATIONDETAIL 1
NETWORK SUBSTATIONDETAIL 2

This means that the CSV files start with metadata columns:

I,NETWORK,SUBSTATIONDETAIL,1,...
D,NETWORK,SUBSTATIONDETAIL,1,...

or

I,NETWORK,SUBSTATIONDETAIL,2,...
D,NETWORK,SUBSTATIONDETAIL,2,...

ROW_FILTER_TYPE is LASTCHANGED

Indexes

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

Download a JSON Schema specification for this table.

Official AEMO schema documentation

Other Information

Package: NETWORK