Plant AC output normalised by plane-of-array irradiance. x = date, y = time of day (15-min bins).
What to look for: a dark band at the same time of day on most dates is recurring
shading — something is blocking that part of the sky at that hour. If the band
drifts up or down across the year, that's the normal seasonal swing of a fixed obstruction
(tree, building, ridge), not new damage; a band that stays flat all year is more likely a
structural cause close to the array, or an instrumentation issue, than horizon shading. The
colour scale saturates outside the 5th–95th percentile, so a few very bright red cells
on their own are usually cloud-transient noise (the pyranometer catching a cloud edge the
array doesn't see) — it's the band pattern that matters, not isolated cells.
PR & data availability — —
Top: daily PR from /api/pr/{site}/range. Bottom: date × time-of-day grid of
PR-input coverage. Both grids share one x-axis domain and geometry with a linked axis
pointer, so a date lines up vertically between them. Click any cell (or a point on the PR
line) to drill into that day at 15-minute resolution.
This is DATA availability, not plant availability.
The metric is valid_intervals / daytime_intervals — the share of daylight
15-minute intervals (POA > 50 W/m²) that have both an irradiance and a
power reading. It is exactly pr_engine’s availability_pct, i.e.
sensor/ingest coverage of the PR calculation. It says nothing about whether the plant or any
device was actually running: a fully tripped plant still reporting 0 kW under good
irradiance scores as “Data present”. No availability signal exists in this database, and
cb_events — the table that would carry device trips and alarms — is
empty (0 rows).
What to look for: line up a dip in the PR line above with the grid directly below
it. Gaps in the grid under a PR dip mean the dip is a data problem, not a real performance
drop — don't escalate it as an O&M issue. The cell colour tells you which side
dropped: Power missing means the inverter/power telemetry went quiet while
irradiance kept reporting, so check the power ingest path; Irradiance missing means
the pyranometer went quiet while the plant kept producing, so check that sensor instead. A
whole blank column points to an ingest outage; scattered single cells point to intermittent
sensor dropout.
Device state & real availability — —
The layer the availability grid above cannot provide: was the device actually
running. Same date × time-of-day geometry, so it lines up with the grids above. Click a
cell to drill into that day.
This IS device availability — daylight bins in an operating state ÷ daylight
bins, daylight being POA > 50 W/m² (the same mask
pr_engine uses). Unlike the grid above, an inverter reporting
0 kW under good irradiance counts as DOWN here.
What to look for: this is the one grid where a red DOWN in daylight cell
means the device really was off while the sun was up — a genuine availability loss
worth flagging to O&M, unlike the grid above. Grey No state reported cells are a
gap in the state channel itself, not a claim the device was down, so don't count those
against it. Amber Unknown state code cells usually mean an unmapped value came
through — worth a quick check that nothing changed on the device firmware/API side.
Use the state-source selector to compare devices at the same site: one device DOWN while
its neighbours keep operating points to a device-specific fault; all of them going down
together points to a site-wide event (grid outage, curtailment) instead.
Device state & real availability — unavailable
15-minute detail — —
Interval PR, AC power and POA irradiance for the selected day, from
pr_engine.compute_daily_pr — the same numbers as the PR page’s day level.