You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ancillary service offers are currently represented by a KeyedArray{Float64, 2}, where the keys are service provider ids x datetimes and the values are prices ($/pu). A missing in the keyed array means a provider did not submit an offer for that service at that time.
This data structure is insufficient to store all the information needed for other market clearing formulations. Defining a type would be useful because:
more information about the offer can be stored
different ISOs name the services differently but a lot of the concepts overlap so encoding characteristics about the ancillary service itself should facilitate code reuse in the models package
AncillaryService type structure
offer curve::EnergyBids: as with other offers, ancillary service providers can submit bids as price-volume pairs with extra constraints e.g. multi-hour blocks (see #36 for EnergyBids details). Using the EnergyBids type should mean we no longer need to support missing offers because an offer of [(0.0, 0.0)] is equivalent
name::Symbol: the name of the service
generation_direction::Bool?: ancillary service offers can be offers for additional generation but also offers to reduce generation (e.g. regulation up and regulation down respectively). The field could be a Bool or singleton types Up <: GenerationDirection, Down <: GenerationDirection
online_offline::Bool: ancillary service requirements can specify requirements from both online resources and offline resources
The text was updated successfully, but these errors were encountered:
Ancillary service offers are currently represented by a
KeyedArray{Float64, 2}
, where the keys areservice provider ids x datetimes
and the values are prices ($/pu). Amissing
in the keyed array means a provider did not submit an offer for that service at that time.This data structure is insufficient to store all the information needed for other market clearing formulations. Defining a type would be useful because:
AncillaryService type structure
offer curve::EnergyBids
: as with other offers, ancillary service providers can submit bids as price-volume pairs with extra constraints e.g. multi-hour blocks (see #36 forEnergyBids
details). Using theEnergyBids
type should mean we no longer need to supportmissing
offers because an offer of[(0.0, 0.0)]
is equivalentname::Symbol
: the name of the servicegeneration_direction::Bool?
: ancillary service offers can be offers for additional generation but also offers to reduce generation (e.g. regulation up and regulation down respectively). The field could be aBool
or singleton typesUp <: GenerationDirection
,Down <: GenerationDirection
online_offline::Bool
: ancillary service requirements can specify requirements from both online resources and offline resourcesThe text was updated successfully, but these errors were encountered: