Learn R Programming

aemo (version 0.4.3)

aemo_outages: Planned and forced network outages

Description

Returns the NETWORK_OUTAGEDETAIL table from MMSDM, which records every planned and forced outage on NEM transmission and distribution network elements. Outages are a primary driver of binding constraints and price spikes: when a line or transformer is out of service the network is more constrained, reducing the thermal limits that appear as RHS values in DISPATCHCONSTRAINT.

Usage

aemo_outages(start, end, element_id = NULL, outage_type = NULL, region = NULL)

Value

An aemo_tbl with columns from NETWORK_OUTAGEDETAIL including outageid, starttime, endtime, substationid, equipmenttype, equipmentid, outagetype, regionid, and restarttimeunknown. Exact column set depends on the MMSDM version.

Arguments

start, end

Outage window (inclusive). Filters on starttime and endtime: any outage active during the window is returned. Character or POSIXct.

element_id

Optional character vector of network element IDs. NULL returns all elements.

outage_type

Optional character. One of "PLANNED", "FORCED", or NULL (both). Case-insensitive.

region

Optional NEM region code. Filters on the region column where available.

Details

Use case. Pair with aemo_constraints() to explain a price spike: aemo_outages() tells you which elements were off-service at the time; aemo_constraints() tells you which constraints bound; together they answer "why was SA spot price AUD 15,000 at 17:35?".

See Also

aemo_constraints() for the binding constraint shadow prices that these outages drive.

Other dispatch: aemo_bids(), aemo_constraints(), aemo_dispatch_units(), aemo_fcas_enablement(), aemo_gencon(), aemo_interconnector(), aemo_market_notices(), aemo_rooftop_pv(), aemo_spd_constraints()

Examples

Run this code
# \donttest{
op <- options(aemo.cache_dir = tempdir())
try({
  # Forced outages during a recent high-price period in SA
  o <- aemo_outages(
    start = "2024-03-01",
    end   = "2024-03-02",
    outage_type = "FORCED"
  )
  head(o)
})
options(op)
# }

Run the code above in your browser using DataLab