Skip to main content

Summary

Dispatch Algorithms determine when the battery energy storage system charges and discharges. PlantPredict implements three dispatch algorithms: LGIA Excess (charges from clipped PV energy), Energy Available (charges when PV energy is available), and Custom Dispatch (user-defined time series). The dispatch algorithm sets binary charge/discharge flags for each timestep, which control the battery state of charge calculation.

Inputs

NameSymbolUnitsDescription
Charge AlgorithmLGIA Excess, Energy Available, or Custom
PV Power After AvailabilityPPV,availP_{PV,avail}WPV output after availability losses
Interconnect CapacityPPOIP_{POI}WMaximum plant output (LGIA limit)
Available Capacity to ChargePcharge,availP_{charge,avail}WPower available for charging
Dispatch TableMonthly hourly discharge schedule
Custom Dispatch InfoTime series of charge/discharge commands
Inverter Capacity Percentage%Custom dispatch power level

Outputs

NameSymbolUnitsDescription
Charge FlagbooleanTrue if battery is charging
Discharge FlagbooleanTrue if battery is discharging
Target Period HourbooleanTrue if current hour is in discharge window

Detailed Description

Target Period Determination

For LGIA Excess and Energy Available algorithms, the target discharge period is determined from a monthly dispatch table. The dispatch table specifies which hours of each day are designated as discharge periods for each month of the year. At each timestep, the algorithm looks up the current month and hour to determine whether the current timestep falls within a target discharge period. For Custom dispatch, the target period is read directly from the custom dispatch time series.

LGIA Excess Algorithm

The LGIA Excess algorithm captures PV energy that would otherwise be clipped at the interconnect limit. Charging: The battery charges when PV output after availability losses exceeds the interconnect (POI) capacity. The excess energy that would otherwise be curtailed is diverted to charge the battery. Discharging: The battery discharges when the current timestep falls within a target period hour defined in the dispatch table.

Energy Available Algorithm

The Energy Available algorithm charges whenever PV energy is available, not just when clipping occurs. Charging: The battery charges when there is available capacity to charge and the current timestep is not within a target discharge period. Discharging: The battery discharges when the current timestep falls within a target period hour defined in the dispatch table.

Custom Dispatch Algorithm

The Custom Dispatch algorithm reads charge and discharge commands directly from a user-defined time series. The charge flag is set when the command indicates charging, and the discharge flag is set when the command indicates discharging. Custom dispatch power is calculated from the user-specified inverter capacity percentage: Pcustom,charge=InverterCapacityPct×Pinv×ηinvP_{custom,charge} = \text{InverterCapacityPct} \times P_{inv} \times \eta_{inv} Pcustom,discharge=InverterCapacityPct×PinvηinvP_{custom,discharge} = \frac{\text{InverterCapacityPct} \times P_{inv}}{\eta_{inv}}

Mutual Exclusivity

Charge and discharge states are mutually exclusive—the battery cannot charge and discharge simultaneously in the same timestep.