AC System Losses
General
AC system modeling begins after DC power has been calculated at each combiner. The model applies the remaining DC wiring loss, combines child combiners at each inverter, converts DC power to AC power, applies transformer losses, and combines the result into expected power at the point of interconnection.
The electrical hierarchy stored for the project determines which combiners feed each inverter and which inverters feed each transformer.
Acronyms
- AC: Alternating Current
- DC: Direct Current
- i: Current
- v: Voltage
- p: Power
- mp: Maximum Power
- POI: Point of Interconnection
- STC: Standard Test Conditions
Simulation Pipeline
The following flow diagram shows how AC system losses are calculated in the Proximal expected energy simulation. The flow chart is interactive. Clicking a model step will take you to its external documentation when available.
You may need to zoom in to better see all of the details in the flow chart.
Legend
flowchart LR
classDef source fill:#6B7A8F, color:#CCCCCC
classDef previous fill:#4F5B6F,color:#CCCCCC
classDef model fill:#202020, color:#CCCCCC
classDef inputs fill:#1A1A1A, color:#CCCCCC
classDef outputs fill:#B39245, color:#CCCCCC
database[(Database)]:::source
previous{{Previous Calculation}}:::previous
model_step[[
Modeling Step
DEFAULT MODEL CHOICE
]]:::model
model_inputs[\
Input Parameters
for Modeling Step
/]:::inputs
model_outputs([Calculated Parameters]):::outputs
database --> model_inputs
previous --> model_inputs
model_inputs --> model_step --> model_outputs --> model_inputs
Model Chain
flowchart TD
classDef source fill:#6B7A8F, color:#CCCCCC
classDef previous fill:#4F5B6F,color:#CCCCCC
classDef model fill:#202020, color:#CCCCCC
classDef inputs fill:#1A1A1A, color:#CCCCCC
classDef outputs fill:#B39245, color:#CCCCCC
combiner_power{{
--- COMBINER POWER ---
i_mp
v_mp
i_sc
v_oc
}}:::previous
click combiner_power "dc_system_losses.html"
system[(
--- SYSTEM ---
combiner to inverter assignments
inverter to transformer assignments
DC wiring loss at STC
POI limit
)]:::source
inverter[(
--- INVERTER ---
nominal AC power
nominal DC power and voltage
startup power
efficiency coefficients
night tare
)]:::source
transformer[(
--- TRANSFORMER ---
rating
no-load loss
load loss
)]:::source
dc_wiring_inputs[\
combiner IV values
DC wiring loss at STC
/]:::inputs
combiner_power --> dc_wiring_inputs
system --> dc_wiring_inputs
dc_wiring[[
proximal.dc_wiring_to_inverter
TARGET LOSS AT STC
]]:::model
dc_wiring_inputs --> dc_wiring --> dc_wiring_outputs
dc_wiring_outputs([
i_mp
v_mp after wiring loss
i_sc
v_oc
]):::outputs
combine_inverter_inputs[\
combiner IV values
combiner to inverter assignments
/]:::inputs
dc_wiring_outputs --> combine_inverter_inputs
system --> combine_inverter_inputs
combine_inverter[[
proximal.combine_at_inverter
ELECTRICAL AGGREGATION
]]:::model
combine_inverter_inputs --> combine_inverter --> combine_inverter_outputs
combine_inverter_outputs([
inverter DC power
inverter DC current
inverter DC voltage
]):::outputs
inverter_efficiency_inputs[\
DC power
DC voltage
inverter parameters
/]:::inputs
combine_inverter_outputs --> inverter_efficiency_inputs
inverter --> inverter_efficiency_inputs
inverter_efficiency[[
pvlib.inverter.sandia
SANDIA
]]:::model
click inverter_efficiency "https://pvlib-python.readthedocs.io/en/stable/reference/generated/pvlib.inverter.sandia.html"
inverter_efficiency_inputs --> inverter_efficiency --> inverter_efficiency_outputs
inverter_efficiency_outputs([
AC power by inverter
]):::outputs
ac_wiring_inputs[\
inverter AC power
nominal inverter AC power
/]:::inputs
inverter_efficiency_outputs --> ac_wiring_inputs
inverter --> ac_wiring_inputs
ac_wiring[[
proximal.ac_wiring_to_transformer
LOAD-DEPENDENT LOSS
]]:::model
ac_wiring_inputs --> ac_wiring --> ac_wiring_outputs
ac_wiring_outputs([
AC power after wiring loss
]):::outputs
combine_transformer_inputs[\
inverter AC power
inverter to transformer assignments
/]:::inputs
ac_wiring_outputs --> combine_transformer_inputs
system --> combine_transformer_inputs
combine_transformer[[
proximal.combine_at_transformer
SUM
]]:::model
combine_transformer_inputs --> combine_transformer --> combine_transformer_outputs
combine_transformer_outputs([
input power by transformer
]):::outputs
transformer_efficiency_inputs[\
transformer input power
rating
no-load loss
load loss
/]:::inputs
combine_transformer_outputs --> transformer_efficiency_inputs
transformer --> transformer_efficiency_inputs
transformer_efficiency[[
pvlib.transformer.simple_efficiency
SIMPLE EFFICIENCY
]]:::model
click transformer_efficiency "https://pvlib-python.readthedocs.io/en/stable/reference/generated/pvlib.transformer.simple_efficiency.html"
transformer_efficiency_inputs --> transformer_efficiency --> transformer_efficiency_outputs
transformer_efficiency_outputs([
AC power by transformer
]):::outputs
poi_inputs[\
transformer AC power
POI limit
/]:::inputs
transformer_efficiency_outputs --> poi_inputs
system --> poi_inputs
poi[[
proximal.point_of_interconnection
SUM AND CLIP
]]:::model
poi_inputs --> poi --> poi_outputs
poi_outputs([
expected power at POI
]):::outputs
Model Behavior
- DC wiring loss from the combiner to the inverter is scaled from the configured loss at standard test conditions using the operating current.
- Combiner currents are summed at each inverter, while combiner voltages are averaged.
- The default inverter model is the Sandia inverter model. PVWatts is also supported.
- Transformer efficiency accounts for transformer rating, no-load loss, and load loss.
- Transformer power is summed at the project level and limited to the configured point of interconnection capacity. Negative power is limited to zero.
Edits and Additions
If you would like to see support for another algorithm or would like to suggest edits or additions to this documentation page, please open an issue on the Proximal GitHub repository.