SPD constraint tables (regions, interconnectors, connection points)
Source:R/constraints.R
aemo_spd_constraints.RdReturns the SPD (Security and Projected Dispatch) constraint
coefficient tables from MMSDM. Where GENCONDATA gives the
high-level equation definition, the SPD tables give the
per-term coefficients used in the NEMDE dispatch
optimisation:
Usage
aemo_spd_constraints(
table = c("region", "interconnector", "connection_point"),
constraint_id = NULL
)Source
AEMO NEMweb MMSDM archive, SPDREGIONCONSTRAINT / SPDINTERCONNECTORCONSTRAINT / SPDCONNECTIONPOINTCONSTRAINT.
Value
An aemo_tbl with columns from the requested SPD
table. GENCONID and FACTOR (the coefficient) are
always present; other columns vary by table.
Details
"region":SPDREGIONCONSTRAINT(regional-demand and regional-generation terms)."interconnector":SPDINTERCONNECTORCONSTRAINT(interconnector-flow terms)."connection_point":SPDCONNECTIONPOINTCONSTRAINT(per-DUID connection-point terms).
These tables are required for NEM dispatch replication (the
nempy Python package, Gorman, Bruce & MacGill 2022,
JOSS 7(70) 3596, doi:10.21105/joss.03596, uses all three
when reproducing NEMDE solves).
See also
aemo_gencon() for the equation-level metadata,
aemo_constraints() for the 5-min binding-constraint
feed with shadow prices.
Other dispatch:
aemo_bids(),
aemo_constraints(),
aemo_dispatch_units(),
aemo_fcas_enablement(),
aemo_gencon(),
aemo_interconnector(),
aemo_market_notices(),
aemo_outages(),
aemo_rooftop_pv()
Examples
# \donttest{
op <- options(aemo.cache_dir = tempdir())
try({
s <- aemo_spd_constraints(table = "interconnector")
head(s)
})
#> ℹ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#> ✖ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#>
#> ℹ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#> ✖ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#>
#> ℹ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#> ✖ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#>
#> ℹ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#> ✖ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#>
#> ℹ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#> ✖ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#>
#> ℹ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#> ✖ Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2…
#>
#> Error in aemo_spd_constraints(table = "interconnector") :
#> Could not retrieve SPDINTERCONNECTORCONSTRAINT from MMSDM.
#> ℹ Try `aemo_nemweb_download()` with an MMSDM URL directly.
options(op)
# }