Losses and Outputs
Model outputs are assembled into summary sections plus optional time-series blocks.
The public response shape now follows the current output contract:
output.blockResults controls whether blockTimeSeries is exposed.
output.fullTimeSeries requires timeSeries=true and cannot be combined
with output.blockResults=true.
output.blockIndex is a zero-based filter for block-level results and only
works when block-level output is already enabled by
output.blockResults=true or output.lossBreakdownTimestamps=true.
output.lossBreakdownTimestamps is a top-level boolean flag and also implies
block-level results are surfaced.
output.irradianceLossDetail=true can add losses.irradianceLossDetail to
the completed response even when output.fullOutput is false.
output.fullOutput=true by itself does not add
losses.irradianceLossDetail; that nested detail is only returned when the
explicit annual-detail flag is enabled.
Irradiance Loss Chain
Reported irradiance losses include:
- Transposition on POA
- Far shading
- Near shading
- AOI losses
- Soiling losses
For bifacial runs, additional backside and front-reflected terms are included where available.
When output.irradianceLossDetail=true, the completed response can also expose
annual subcomponent detail in losses.irradianceLossDetail. The public stage
keys include:
transpositionOnPoaLoss
farShadingLoss
nearShadingLoss
aoiIrradianceLoss
soilingIrradianceLoss
groundReflectedOnFront
Each stage can include direct, circumsolar, diffuse, and albedo
fractions.
DC Loss Summary
DC summary includes staged losses such as:
- Module degradation
- Low-light behavior
- Temperature loss
- Electrical shading loss (if enabled)
- Module quality, LID, mismatch, ohmic losses
AC Loss Summary
AC summary includes:
- Inverter efficiency losses
- Clipping losses
- Night and threshold behavior
- Aggregate subsystem losses
Detailed breakdown also includes staged LV/MV/HV terms:
- LV AC ohmic + LV transformer
- MV ohmic + MV transformer
- HV collection loss
Core Output Sections
Typical response sections from completed runs:
energyYieldSummary
locationSummary
plantSummary
losses
blockSummary
settings
monthlySummary
timeSeries
blockTimeSeries
losses.irradianceLossDetail when output.irradianceLossDetail=true
Time-Series Controls
output settings shape payload size:
timeSeries: include standard timeseries
fullTimeSeries: include extended timeseries, requires timeSeries=true
blockResults: include block-level time-series output in blockTimeSeries
blockIndex: filter blockTimeSeries to a single zero-based block when
block-level output is enabled
lossBreakdownTimestamps: surface block-level results even if
blockResults is omitted
irradianceLossDetail: include annual irradiance-loss subcomponents in
losses.irradianceLossDetail
fullOutput/debugMode: include additional diagnostics depending on execution path
blockTimeSeries keys preserve the original zero-based block numbering from the
request/output payload. When blockIndex is set, only the selected block is
returned in that section.
Each block definition represents one inverter type plus per-inverter stringing.
Returned additive block outputs, including blockTimeSeries, already represent
the full configured numberOfInverters count for that block type. Loss
fractions and irradiance/location-based metrics stay unscaled.
When lossBreakdownTimestamps=true, timestamped loss detail is nested under
blockTimeSeries[<blockIndex>].lossBreakdown.
Full/debug time-series responses can be large. Prefer summary outputs for routine polling and dashboards.