Documentation Index
Fetch the complete documentation index at: https://docs.plantpredict.com/llms.txt
Use this file to discover all available pages before exploring further.
Summary
Charge and discharge limits determine the maximum power that can flow into or out of the battery at each timestep. The Dispatch Algorithms set the intent to charge or discharge; the charge/discharge limits determine how much power is actually available for each operation. These limits account for the available PV power, ESS inverter capacity and losses, ESS losses, equipment losses, and the interconnect constraint.
In both directions, the limit is set by the lesser of two competing factors: the energy target and the ESS hardware capacity (primarily the inverter). During charging, the energy target depends on the dispatch algorithm—ranging from PV power that would otherwise be curtailed to the full available PV output. During discharging, the energy target is the remaining headroom below the LGIA limit at the . For Custom Dispatch, the user directly controls both charge and discharge power levels as a fraction of inverter capacity, as detailed below.
| Name | Symbol | Units | Description |
|---|
| PV MV Transformer Output | PPV,MV | W | PV power output from MV transformer, before HV losses |
| PV Power After Availability | PPV,avail | W | PV output after availability losses, before LGIA curtailment |
| Grid Limit (LGIA) | PPOI | MW | Maximum allowed power at point of interconnection |
| HV Equipment Losses | LHV | W | Total HV transformer and transmission line losses (from PV-only pass) |
| ESS MV Transformer Rating | PMV,rated,ESS | MVA | ESS MV transformer nameplate capacity |
| ESS MV No-Load Loss | LNL,ESS | % | ESS MV transformer no-load loss as a percentage of PMV,rated,ESS |
| ESS MV Full-Load Loss | LFL,ESS | % | ESS MV transformer full-load loss as a percentage of PMV,rated,ESS |
| ESS Inverter Rated AC Power | PAC,rated,ESS | MW | ESS inverter nameplate AC power rating |
| ESS Inverter Efficiency | ηinv | % | ESS inverter conversion efficiency |
| Custom Inverter Capacity Fraction | fcap | — | Per-timestep inverter capacity fraction, 0 to 1 (Custom Dispatch only) |
Outputs
| Name | Symbol | Units | Description |
|---|
| Available Charge Power | Pcharge | W | Maximum charge power at battery DC |
| Available Discharge Power | Pdischarge | W | Maximum discharge power at battery DC |
Detailed Description
All charge and discharge limits are calculated at the battery DC terminals (Node 1). The calculations trace power from the measurement point (POI or MV bus) back through losses to determine how much DC power can actually reach or leave the battery. All inputs are converted to watts before use in equations (PPOI: MW → W, PAC,rated,ESS: MW → W, PMV,rated,ESS: MVA → VA).
Charge Limits
Each charge limit calculation follows the same four steps: determine a starting power, subtract ESS MV transformer losses, cap at inverter capacity, and apply inverter efficiency. The choice of dispatch algorithm affects the starting power (Step 1) and, for Custom Dispatch, the inverter capacity limit (Step 3). The result is clamped to zero if negative.
Step 1: Charging Starting Power
LGIA Excess algorithm:
The LGIA Excess algorithm uses the PV excess above the interconnect limit, traced back from the POI to the MV bus by adding the portion of total HV losses attributable to Pexcess:
Pexcess=max(PPV,avail−PPOI,0)
Pc,start=Pexcess+LHV×PPV,MVPexcess
The proportional scaling of LHV assumes HV losses scale linearly with power. Because HV losses are quadratic in current, this slightly overestimates the charge limit. This approximation only affects the determination of the charge limit; the actual losses are correctly captured in the second-pass plant-level power flow.
Energy Available and Custom Dispatch algorithms:
Both algorithms use the full PV MV transformer output as starting power:
Pc,start=PPV,MV
The starting power passes through the ESS MV transformer:
Pinv,AC=Pc,start−LMV,ESS(Pc,start)
where LMV,ESS is computed using the Transformer Loss Model with PMV,rated,ESS, LNL,ESS, and LFL,ESS.
Step 3: Inverter Capacity Limit
For the LGIA Excess and Energy Available algorithms, the power available to the energy storage system after transformer losses is limited by the ESS inverter’s rated AC capacity:
Pinv,capped=min(PAC,rated,ESS,Pinv,AC)
For the Custom Dispatch algorithm, the user specifies the inverter operating point as a fraction fcap of rated capacity, capped by the PV-derived power from Steps 1–2:
Pinv,capped=min(fcap×PAC,rated,ESS,Pinv,AC)
Step 4: Inverter Efficiency
The inverter efficiency ηinv is converted from percent to a fraction before use in equations.
Pcharge=Pinv,capped×ηinv
For the Energy Available algorithm, Pcharge is used by the Dispatch Algorithms to determine whether to set the charge flag (when above zero).
Discharge Limit
The discharge limit determines how much DC power the battery can deliver, traced from the POI back to the battery DC terminals. The calculation mirrors the charge pipeline in reverse.
Step 1: Discharging Starting Power
Two independent constraints determine the maximum discharge power at the POI:
LGIA headroom:
The battery can only discharge up to the remaining capacity below the LGIA limit after accounting for the PV output:
Pd,LGIA=max(PPOI−PPV,avail,0)
Storage hardware limit:
The maximum power the storage system can deliver to the POI is the inverter capacity reduced by ESS MV transformer and HV equipment losses:
Pd,hardware=PAC,rated,ESS−LMV,ESS−LHV,ESS
where LMV,ESS is the ESS MV transformer loss computed for PAC,rated,ESS using the Transformer Loss Model, and LHV,ESS is the total HV equipment loss computed by running the post-MV-transformer power (PAC,rated,ESS−LMV,ESS) through the plant’s HV equipment chain.
Note that LHV,ESS is evaluated for the storage power alone, not the combined PV+storage flow. Because HV losses are quadratic in current, this underestimates the true incremental loss and therefore slightly overestimates the discharge limit. This approximation only affects the determination of the discharge limit; the actual losses are correctly captured in the second-pass plant-level power flow, which uses the combined output.
Combined constraint:
The discharge starting power is the lesser of the two limits:
Pd,start=min(Pd,LGIA,Pd,hardware)
Step 2: HV and ESS MV Equipment Losses
The starting power is traced backward from the POI through HV equipment and ESS MV transformer to determine the power at the inverter AC terminals:
Pinv,AC=Pd,start+LHV,ESS+LMV,ESS
LMV,ESS is recalculated for the actual power at the transformer (Pd,start+LHV,ESS). If the limiting constraint in Step 1 is the LGIA headroom, this power is lower than PAC,rated,ESS and the MV loss differs from the value used in Step 1. If the limit is set by the ESS hardware, the power is the same and the loss is unchanged.
Step 3: Inverter Capacity Limit
For the LGIA Excess and Energy Available algorithms, the hardware limit in Step 1 guarantees that Pinv,AC never exceeds PAC,rated,ESS, so Pinv,capped=Pinv,AC.
For the Custom Dispatch algorithm, the user specifies the inverter operating point directly, bypassing Steps 1–2:
Pinv,capped=fcap×PAC,rated,ESS
Because Custom Dispatch does not check LGIA headroom, the combined PV+ESS power at the POI can exceed the LGIA limit. Any excess is curtailed in the second-pass plant-level power flow. It is the user’s responsibility to set the custom dispatch instructions to avoid exceeding the LGIA limit, as there are intentionally no safeguards for this dispatch algorithm.
Step 4: Inverter Efficiency
The inverter AC power is converted to battery DC power by dividing by inverter efficiency:
Pdischarge=ηinvPinv,capped