Skip to main content

Summary

Power Flow to Grid computes the combined PV+ESS net power delivered to the grid. Battery DC power is converted to AC through the storage and traced through the . During charging, PV output is reduced by the power diverted to storage; during discharging, battery power is added to PV output. The combined output at MV then triggers a re-run of the plant-level power flow—the transformers losses, transmission lines losses, , and limit are re-calculated and applied; the rest of the PV pipeline is not re-run.

Inputs

NameSymbolUnitsDescription
Battery DC PowerPDC,battP_{DC,batt}WDC power at battery terminals, positive = charge, negative = discharge (from Battery Model)
ESS Inverter Efficiencyηinv\eta_{inv}%ESS inverter conversion efficiency
ESS MV Transformer RatingPMV,rated,ESSP_{MV,rated,ESS}MVAESS MV transformer nameplate capacity
ESS MV No-Load LossLNL,ESSL_{NL,ESS}%ESS MV transformer no-load loss as a percentage of PMV,rated,ESSP_{MV,rated,ESS}
ESS MV Full-Load LossLFL,ESSL_{FL,ESS}%ESS MV transformer full-load loss as a percentage of PMV,rated,ESSP_{MV,rated,ESS}
PV MV Transformer OutputPPV,MVP_{PV,MV}WPV power output from MV transformer, before HV losses
Grid Limit (LGIA)PPOIP_{POI}MWMaximum allowed power at point of interconnection
Availability Factorfavailf_{avail}%Flat percentage deduction for estimated downtime

Outputs

NameSymbolUnitsDescription
Combined PV+ESS PowerPcombinedP_{combined}WMerged PV and ESS power at MV level before HV losses
Grid PowerPgridP_{grid}WFinal plant output at the POI after HV losses, availability, and LGIA limit

Detailed Description

The power flow traces battery power from the DC terminals to the grid in four steps:
  1. ESS Inverter — converts DC to AC (or AC to DC) with efficiency losses
  2. ESS MV Transformer — applies transformer losses to the inverter AC power
  3. Combined PV+ESS Output — merges PV and ESS power at the MV level (subtracting charge or adding discharge)
  4. Plant-Level Power Flow Re-Run — applies HV losses, availability, and LGIA limit to the combined output

Step 1: ESS Inverter

The inverter converts between DC power at the battery terminals and AC power on the low-voltage side of the MV transformer. ηinv\eta_{inv} is converted from percentage to fraction before use. When discharging (PDC,batt<0P_{DC,batt} < 0), the inverter converts DC to AC with efficiency losses: PAC,d=PDC,batt×ηinvP_{AC,d} = -P_{DC,batt} \times \eta_{inv} When charging (PDC,batt>0P_{DC,batt} > 0), the inverter converts AC to DC, requiring more AC input than DC output: PAC,c=PDC,battηinvP_{AC,c} = \frac{P_{DC,batt}}{\eta_{inv}} The inverter efficiency loss is calculated for reporting during both charge and discharge: Linv=(1ηinv)×PDC,battL_{inv} = (1 - \eta_{inv}) \times |P_{DC,batt}|

Step 2: ESS MV Transformer

The storage MV transformer uses the same quadratic loss model as PV transformers (see Transformer Loss Model), parameterized by PMV,rated,ESSP_{MV,rated,ESS}—converted from MVA to VA—LNL,ESSL_{NL,ESS}, and LFL,ESSL_{FL,ESS}.

Discharge

During discharge (power flows battery → grid), the transformer reduces the power delivered to the MV bus: PMV,d=PAC,dLMV(PAC,d)P_{MV,d} = P_{AC,d} - L_{MV}(P_{AC,d})

Charge (or Idle)

During charge or when the battery is idle (power flows PV → battery via the MV bus), the transformer increases the power drawn from the MV bus—the PV must supply the charge power plus the transformer loss: PMV,c=PAC,c+LMV(PAC,c)P_{MV,c} = P_{AC,c} + L_{MV}(P_{AC,c}) When the battery is idle, the transformer still draws power from the grid to maintain core magnetization. The charge power reduces to the no-load loss alone: PMV,c=LNL,ESS×PMV,rated,ESSP_{MV,c} = L_{NL,ESS} \times P_{MV,rated,ESS}.

Step 3: Combined PV+ESS Output

When charging or idle, PV output is reduced by the total power diverted to storage, PMV,cP_{MV,c} (which includes MV transformer loss overhead and collapses to the no-load loss when idle, per Step 2): Pcombined=PPV,MVPMV,cP_{combined} = P_{PV,MV} - P_{MV,c} When discharging, battery power is added to the full PV output: Pcombined=PPV,MV+PMV,dP_{combined} = P_{PV,MV} + P_{MV,d} When PV is negative and the battery is discharging—possible at night due to auxiliary loads and transformer energization losses—only the battery discharge is delivered: Pcombined=PMV,dP_{combined} = P_{MV,d}.

Step 4: Plant-Level Power Flow Re-Run

The combined output (PcombinedP_{combined}) replaces the sum of PV block outputs, and the plant-level power flow is re-run with the new PV + ESS combined power value to determine revised HV losses. The upstream portion of the PV pipeline (irradiance, DC performance, inverter, array-level losses) is not run again; those results are retained. The re-run applies the same three stages as the PV-only pass:
  1. HV equipmentPcombinedP_{combined} enters the HV chain and passes through each transformer and transmission line in series; each element reduces the power by its losses and feeds the result to the next element. The final output PHV,outP_{HV,out} is the power upstream of the after all HV losses.
  2. Availability — a flat percentage deduction for estimated downtime due to maintenance and unplanned outages:
Pavail=PHV,out×100favail100P_{avail} = P_{HV,out} \times \frac{100 - f_{avail}}{100}
  1. LGIA limit — power exceeding the interconnect capacity (PPOIP_{POI}, converted from MW to W) is curtailed:
Pgrid=min(Pavail,PPOI)P_{grid} = \min(P_{avail},\, P_{POI}) can occur when:
  • PV alone exceeds the LGIA limit and the battery does not charge—either because the dispatch intent is not to charge (e.g., discharge target period or non-charge custom instruction), or because hardware limits prevent it (inverter at capacity or battery full)
  • The battery discharges while PV is already near the limit, pushing the combined output above the cap (only possible with Custom Dispatch algorithm—other algorithms enforce LGIA headroom on discharge)
  • Slight inaccuracies in the simplified loss estimates used by the charge and discharge limits cause the combined output to marginally overshoot