Operating Reserves
In Recap, Reserves are represented in two ways (1) as a total MW amount held across every hour (e.g. +300MW per hour) or (2) a percentage of hourly load or (3% above hourly load).
Operating Reserves
Tab Layout in UI
- class Reserve
- Fields:
custom_constraints (dict[str, new_modeling_toolkit.core.three_way_linkage.CustomConstraintLinkage])
direction (new_modeling_toolkit.system.electric.reserve.ReserveDirection)
include (Annotated[bool, Metadata(category=FieldCategory.BUILD)])
loads (dict[str, new_modeling_toolkit.core.linkage.LoadToReserve])
requirement (new_modeling_toolkit.core.temporal.timeseries.NumericTimeseries)
resources (dict[str, new_modeling_toolkit.core.linkage.ResourceToReserve])
zones (dict[str, new_modeling_toolkit.core.linkage.ReserveToZone])
- field attr_path: str | pathlib.Path | None = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/e3-resolve/checkouts/latest/docs/source')
the path to the attributes file
- field custom_constraints: dict[str, CustomConstraintLinkage] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = 3
default_exclude = True
- field direction: ReserveDirection [Required]
- field include: Annotated[bool, Metadata(category=FieldCategory.BUILD)] = True
Include component in system.
- Constraints:
category = FieldCategory.BUILD
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field loads: dict[str, LoadToReserve] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field requirement: NumericTimeseries [Optional]
- field resources: dict[str, ResourceToReserve] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field zones: dict[str, ReserveToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = to
default_exclude = False
- model_post_init(_ModelMetaclass__context: Any) None
We need to both initialize private attributes and call the user-defined model_post_init method.