% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/constraints.R
\name{aemo_gencon}
\alias{aemo_gencon}
\title{Generic constraint equations and RHS terms (GENCONDATA)}
\source{
AEMO NEMweb MMSDM archive, GENCONDATA table.
AEMO Copyright Permissions Notice.
}
\usage{
aemo_gencon(constraint_id = NULL, type = NULL)
}
\arguments{
\item{constraint_id}{Optional character vector of constraint
IDs to filter on. \code{NULL} returns all equations.}

\item{type}{Optional constraint type filter (e.g.
\code{"LE"} for \code{<=}, \code{"GE"} for \code{>=}, \code{"EQ"} for \code{=}).
\code{NULL} returns all types.}
}
\value{
An \code{aemo_tbl} with columns including \code{genconid}
(constraint ID), \code{constrainttype}, \code{description},
\code{genericconstraintrhs} (default RHS value). Additional
columns from GENCONDATA (effective dates, generic
constraint equation weights) will be present when
available.
}
\description{
Downloads the \code{GENCONDATA} table from the most recent MMSDM
monthly archive. \code{GENCONDATA} contains the equation
definitions for every generic constraint active in the NEM:
the constraint ID, the type (equality/inequality), a
description of what the constraint models (thermal limit,
voltage stability, system strength, etc.), and the default
RHS value.
}
\details{
Pair this with \code{\link[=aemo_constraints]{aemo_constraints()}} to go from a binding
dispatch interval to the underlying network equation. The
workflow is: \code{aemo_constraints()} tells you \emph{which} constraint
bound and \emph{how hard} (marginalvalue = shadow price);
\code{aemo_gencon()} tells you \emph{what the constraint is} (which
elements and why the RHS was set at that level).
}
\examples{
\donttest{
op <- options(aemo.cache_dir = tempdir())
try({
  # Find equations for the Heywood interconnector thermal limits
  g <- aemo_gencon(constraint_id = c("V::S_NIL_TBSE", "V::S_NIL_FCSPS"))
  head(g)
})
options(op)
}
}
\seealso{
\code{\link[=aemo_constraints]{aemo_constraints()}} for the real-time binding
constraint shadow prices.

Other dispatch: 
\code{\link{aemo_bids}()},
\code{\link{aemo_constraints}()},
\code{\link{aemo_dispatch_units}()},
\code{\link{aemo_fcas_enablement}()},
\code{\link{aemo_interconnector}()},
\code{\link{aemo_market_notices}()},
\code{\link{aemo_outages}()},
\code{\link{aemo_rooftop_pv}()},
\code{\link{aemo_spd_constraints}()}
}
\concept{dispatch}
