Skip to content

Demand Response Component Implementation #72

@juflorez

Description

@juflorez

Minimal viable component:

  1. Documentation discussion/where to store examples information? Build off docstrings or start initial seed (Hari doc build out, all synced in one place) (julian add juflorez email to NREL organization)
  2. 100% payback (all energy shifted has to be returned in full, else it is counted as dropped load) or 0% energy loss hour to hour (some tradeoff between payback and energy loss).
  3. 4-hour window of allowable payback (otherwise counted as dropped load)
  4. Utilization of demand response occurs after storage (https://github.com/NREL/PRAS/blob/b89e4d18958cbabe4f3f6a5b9c131a57d938e5be/PRASCore.jl/src/Simulations/DispatchProblem.jl#L4)

Component must abide by the following five constraints (from https://www.sciencedirect.com/science/article/pii/S0360544220303121#sec2.4)

(1) Dispatch power limitation: maximum power rating for reducing load from its baseline in each hourly timestep (assume static x value for now, could have time series varying)-charging limit
(2) Recovery power limitation: maximum recovery rating for increasing load from its baseline in each hourly timestep (can set percent of dispatch?-)-discharging limit
(3) Subdaily energy limitation: maximum energy availability over the specific subdaily period defining each end use (max length of DR event, min downtime) -energy capacitycccccbkrvgrrbilehekttrfurvggjitlnedckejerful
(4) Maximum number of DR events per day (can set static)
(5) Recovery schedule: the maximum allowable time that can pass before energy recovery from the initial DR event (effectively when loss of load happens)

Dispatch order process:
Generator
Transmission
Storage
Demand Response: need to calculate the available energy (load minus generation versus excess generation in the storage case)

Effectively a storage component with another parameter of allowable payback, instead of charging from excess generation, charging from excess load.

Key modules being changed:
PRASFILES modifications: parsing of new component/user inputs
PRASCORE modifications: MinCostFlows and need for additions? Addition of storage 2.0 component

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions