pvperfsolar performance modeling

Reference

Loss row

Change at the POI from storage

The change in grid injection a DC-coupled battery causes

Unit kWh/kWp

What this step does

With DC coupling, the change in the system's energy injected into the grid that the battery causes. The battery charges on the DC bus, first from the DC power above the inverter's capability and then, when its strategy calls for more, from the power below it, and delivers DC power into the inverter's spare capability. The row measures the effect at the grid connection, after the inverter efficiency and the AC losses have been applied to the combined input.

The math

  1. The row on the running total
  2. The surplus, the first charge source, while the inverter sits at its capability (its AC ceiling or its input-current limit)
  3. The charge of each strategy, and the part of it taken below the capability
  4. The inverter's DC input with the battery
  5. The output of an inverter that ran without the battery
  6. The output while the input-current limit sets the capability (the inverter's input follows the bus voltage)
  7. The output of an inverter the battery starts (no array output, night)
Eafter=Ebefore+ΔEPDC,ΔE=∑i(pi′−pi) Δt(1)E_{after} = E_{before} + \frac{\Delta E}{P_{DC}},\qquad \Delta E = \sum_i (p'_i - p_i)\,\Delta t \tag{1} xdc,i=Ninv max⁡ ⁣(0, Parr,i(Ui)−Pcap,i(Ui)),Pcap,i(U)=min⁡ ⁣(Pin,lim,i(U), U Imax1000),Pac ⁣(Pin,lim,i(U), U)=Plim,i(2)x_{dc,i} = N_{inv}\,\max\!\left(0,\ P_{arr,i}(U_i) - P_{cap,i}(U_i)\right), \qquad P_{cap,i}(U) = \min\!\left(P_{in,lim,i}(U),\ \frac{U\,I_{max}}{1000}\right), \qquad P_{ac}\!\left(P_{in,lim,i}(U),\ U\right) = P_{lim,i} \tag{2} ci={min⁡ ⁣(xdc,i, Hi, Pbatηc)xdc,i>0: clip capture, or a scheduled hour or the window of the other strategiesmin⁡ ⁣(xdc,i, Hi, Pbatηc)daily full cycle, other hours, xdc,i+Fi≥Himin⁡ ⁣(xdc,i+yi, Hi−Fi, Pbatηc)daily full cycle, other hours, xdc,i+Fi<Himin⁡ ⁣(xdc,i+yi, Hi, Pbatηc)timed discharge, outside the window,qi=max⁡(0, ci−xdc,i)(3)c_i = \begin{cases} \min\!\left(x_{dc,i},\ H_i,\ \frac{P_{bat}}{\eta_c}\right) & x_{dc,i} > 0 \text{: clip capture, or a scheduled hour or the window of the other strategies} \\ \min\!\left(x_{dc,i},\ H_i,\ \frac{P_{bat}}{\eta_c}\right) & \text{daily full cycle, other hours, } x_{dc,i} + F_i \ge H_i \\ \min\!\left(x_{dc,i} + y_i,\ H_i - F_i,\ \frac{P_{bat}}{\eta_c}\right) & \text{daily full cycle, other hours, } x_{dc,i} + F_i < H_i \\ \min\!\left(x_{dc,i} + y_i,\ H_i,\ \frac{P_{bat}}{\eta_c}\right) & \text{timed discharge, outside the window} \end{cases}, \qquad q_i = \max(0,\ c_i - x_{dc,i}) \tag{3} Pdc,i′=Pdc,i+di ηd−qiNinv(4)P'_{dc,i} = P_{dc,i} + \frac{d_i\,\eta_d - q_i}{N_{inv}} \tag{4} Pout,i′=Pout,i+min⁡ ⁣(Pac(Pdc,i′,Ui), Plim,i)−min⁡ ⁣(Pac(Pdc,i,Ui), Plim,i)(the inverter ran without the battery)(5)P'_{out,i} = P_{out,i} + \min\!\left(P_{ac}(P'_{dc,i}, U_i),\ P_{lim,i}\right) - \min\!\left(P_{ac}(P_{dc,i}, U_i),\ P_{lim,i}\right) \quad (\text{the inverter ran without the battery}) \tag{5} Pout,i′=min⁡ ⁣(Pac(Pdc,i′, Ui′), Plim,i),Parr,i(Ui′)−Pcap,i(Ui′)=ciNinv,Pdc,i′=Pcap,i(Ui′)(0<ci<xdc,i)(6)P'_{out,i} = \min\!\left(P_{ac}(P'_{dc,i},\ U'_i),\ P_{lim,i}\right), \qquad P_{arr,i}(U'_i) - P_{cap,i}(U'_i) = \frac{c_i}{N_{inv}}, \quad P'_{dc,i} = P_{cap,i}(U'_i) \quad (0 < c_i < x_{dc,i}) \tag{6} Pout,i′={mimi>0Pout,iotherwise,mi=min⁡ ⁣(Pac ⁣(di ηdNinv, Ui), Plim,i)(the inverter did not run without the battery)(7)P'_{out,i} = \begin{cases} m_i & m_i > 0 \\ P_{out,i} & \text{otherwise} \end{cases}, \qquad m_i = \min\!\left(P_{ac}\!\left(\frac{d_i\,\eta_d}{N_{inv}},\ U_i\right),\ P_{lim,i}\right) \quad (\text{the inverter did not run without the battery}) \tag{7}

where

Symbol Meaning Unit
EafterE_{after} the running total after this row kWh/kWp
EbeforeE_{before} the running total before this row kWh/kWp
ΔE\Delta E the change kWh
PDCP_{DC} the system DC nameplate kWp
pi′p'_i the system's grid injection with the battery at timestep ii: the run's AC losses applied to Ninv Pout,i′N_{inv}\,P'_{out,i} kW
pip_i the system's grid injection before the battery at timestep ii kW
Δt\Delta t the length of one timestep h
xdc,ix_{dc,i} the system's DC surplus above the inverters' capability kW
NinvN_{inv} the number of inverters —
Parr,i(U)P_{arr,i}(U) one inverter's array DC power at bus voltage UU kW
UiU_i the DC bus voltage of timestep ii (the maximum-power voltage held inside the MPPT window while the inverter sits at its capability) V
Pcap,i(U)P_{cap,i}(U) one inverter's DC capability at bus voltage UU: the most DC input it takes there kW
Pin,lim,i(U)P_{in,lim,i}(U) the DC input at which the inverter output reaches its ceiling at bus voltage UU kW
ImaxI_{max} the inverter's maximum DC input current A
PacP_{ac} the inverter's AC output at a DC input and voltage kW
Plim,iP_{lim,i} the inverter's AC ceiling at timestep ii kW
cic_i the DC power taken to charge the battery at timestep ii kW
HiH_i the charge power that fills the battery within timestep ii: the room left below the state-of-charge ceiling divided by ηc Δt\eta_c\,\Delta t kW
PbatP_{bat} the battery's power rating: it caps the power delivered on discharge and the power stored in the cells on charge kW
ηc\eta_c the charge efficiency, one minus half of the round-trip loss —
FiF_i the clipped surplus expected over the lookahead window after timestep ii, divided by Δt\Delta t kW
yiy_i the DC power the inverters take from the array at timestep ii, summed over the system, which a charge below the capability can divert kW
qiq_i the DC power diverted to charging below the capability kW
Pdc,i′P'_{dc,i} one inverter's DC input with the battery kW
Pdc,iP_{dc,i} one inverter's DC input without the battery (its capability while it sits at it) kW
did_i the power drawn from the cells at timestep ii kW
ηd\eta_d the discharge efficiency, one minus half of the round-trip loss —
Pout,i′P'_{out,i} one inverter's output with the battery kW
Pout,iP_{out,i} one inverter's output without the battery kW
Ui′U'_i the bus voltage with the battery: between UiU_i and the inverter's operating voltage without the battery when the battery takes part of the surplus, UiU_i otherwise V
mim_i the output the battery's power alone gives kW

Reading the number

Positive when the recovered clipping outweighs the battery's conversion losses, negative otherwise. Under the clip-capture dispatch (storage.dispatch clip), a system whose inverters reach their AC ceiling or their input-current limit, typically at a DC-to-AC ratio of 1.3 to 1.5, gains a few percent of the solar total. Where the current limit binds, the capture also lowers the inverter's output in its hour, and the row is the net of the two. The daily full cycle and timed discharge dispatches also move production the inverter could have delivered, so their conversion losses can make the change negative. It is zero under clip capture on a system whose inverters reach neither limit, and it follows the same proportions on a rooftop system. At night a discharge too small to start the inverters gives no output, and the energy drawn from the cells for it is lost. A night hour in which the battery's output passes the auxiliaries' threshold (Losses tab) draws the daytime auxiliaries on top of the night ones.

References

  1. Denholm, Eichman & Margolis 2017, "Evaluating the Technical and Economic Performance of PV Plus Storage Power Plants", NREL/TP-6A20-68737
  2. DiOrio, Denholm & Hobbs 2020, "A model for evaluating the configuration and dispatch of PV plus battery power plants", Applied Energy 262 114465

API

storage.change

Symbols follow the symbol registry.