Skip to content

ReEDSReserve

Source

ReEDS operating reserve component.

>>> from r2x_reeds import ReEDSReserve
>>> assert ReEDSReserve is not None

Bases: ReEDSComponent. Inherited contracts remain defined by the base classes.

These fields are declared on this class. Required/default behavior is shown directly from source. Base-class fields also apply.

time_frame: Annotated[PositiveFloat, Field(description='Timeframe in which the reserve is required in seconds')] = 1e+30
region: Annotated[ReEDSReserveRegion | None, Field(description='Reserve region where requirement applies')] = None
vors: Annotated[float, Field(description='Value of reserve shortage in $/MW. Positive value acts as soft constraint')] = -1
duration: Annotated[PositiveFloat | None, Field(description='Time over which the required response must be maintained in seconds')] = None
max_active_power: Annotated[float | None, Field(description='Maximum active power of reserve in MW')] = None
direction: Annotated[ReserveDirection, Field(description='Reserve direction')]
reserve_type: Annotated[ReserveType, Field(description='Reserve type')]
or_load_percentage: Annotated[float | None, Field(description='Operating reserve load percentage')] = None
or_wind_percentage: Annotated[float | None, Field(description='Operating reserve wind percentage')] = None
or_pv_percentage: Annotated[float | None, Field(description='Operating reserve solar percentage')] = None
spin_cost: Annotated[float | None, Field(description='Spinning reserve cost')] = None
reg_cost: Annotated[float | None, Field(description='Regulation reserve cost')] = None
flex_cost: Annotated[float | None, Field(description='Flexible reserve cost')] = None

Continue with the Python API overview and transform contracts.