Case studyModel accuracy

Model accuracy: Denver example

How close is the Designer’s estimate to what the panel actually makes, day by day, and is it getting closer?

MODEL ACCURACY
−0.2 %measured vs estimate, all 14 days together (9.14 vs 9.15 kWh)
±7 %typical miss on a single day
14 dayscompared, 10/28 to 11/10
Fit 1current model (Designer v323, adopted Nov 11)

Day by day

02505007501000024682026-10-28: measured 681 Wh2026-10-28: old baseline 781 Wh2026-10-28: Fit 1 762 WhOct 282026-10-29: measured 801 Wh2026-10-29: old baseline 735 Wh2026-10-29: Fit 1 717 WhOct 292026-10-30: measured 754 Wh2026-10-30: old baseline 710 Wh2026-10-30: Fit 1 693 WhOct 302026-10-31: measured 414 Wh2026-10-31: old baseline 454 Wh2026-10-31: Fit 1 443 WhOct 312026-11-01: measured 306 Wh2026-11-01: old baseline 311 Wh2026-11-01: Fit 1 316 WhNov 12026-11-02: measured 50 Wh2026-11-02: old baseline 55 Wh2026-11-02: Fit 1 56 WhNov 22026-11-03: measured 677 Wh2026-11-03: old baseline 669 Wh2026-11-03: Fit 1 680 WhNov 32026-11-04: measured 646 Wh2026-11-04: old baseline 602 Wh2026-11-04: Fit 1 612 WhNov 42026-11-05: measured 852 Wh2026-11-05: old baseline 805 Wh2026-11-05: Fit 1 818 WhNov 52026-11-06: measured 736 Wh2026-11-06: old baseline 699 Wh2026-11-06: Fit 1 710 WhNov 62026-11-07: measured 857 Wh2026-11-07: old baseline 886 Wh2026-11-07: Fit 1 901 WhNov 72026-11-08: measured 851 Wh2026-11-08: old baseline 879 Wh2026-11-08: Fit 1 894 WhNov 82026-11-09: measured 837 Wh2026-11-09: old baseline 882 Wh2026-11-09: Fit 1 896 WhNov 92026-11-10: measured 676 Wh2026-11-10: old baseline 645 Wh2026-11-10: Fit 1 656 WhNov 10Whsun h
MeasuredEstimate (Fit 1)Old baselineGolden sun hours (right axis)
DaySun hoursEstimate WhMeasured WhMeasured vs estimateOld baseline Wh
Wed Oct 286.09762681-10.6 %781
Thu Oct 295.73717801+11.7 %735
Fri Oct 305.54693754+8.8 %710
Sat Oct 313.54443414-6.5 %454
Sun Nov 012.31316306-3.2 %311
Mon Nov 020.415650-10.7 %55
Tue Nov 034.97680677-0.4 %669
Wed Nov 044.47612646+5.6 %602
Thu Nov 055.98818852+4.2 %805
Fri Nov 065.19710736+3.7 %699
Sat Nov 076.58901857-4.9 %886
Sun Nov 086.53894851-4.8 %879
Mon Nov 096.55896837-6.6 %882
Tue Nov 104.79656676+3.0 %645
Wed Nov 11––826––

Nov 11: measured only; Golden’s sunlight for that day isn’t loaded yet, so it has no estimate and is left out of the comparison.

Single days miss more than the total because Golden is about 15–20 miles away: a cloud over one and not the other moves a day up to 10–12 %. Over a week it evens out.

How a day is estimated

Estimate = sun hours × the panel’s Wh per sun hour. Worked for Nov 5:

  1. How sunny was it? Golden’s sensor, mounted vertical and facing south like the panel, measured
    5.98 sun hours
  2. How much does the balcony panel make per sun hour? From the model for November (shade, losses and inverter included):
    136.9 Wh per sun hour
  3. Estimate
    5.98 × 136.9 = 819 Wh
  4. Check against the panel
    measured 852 Wh vs estimated 819 Wh = +4.0 %
125 Whper sun hour, model, October
127 Whper sun hour, measured, October (4 days)
137 Whper sun hour, model, November
136 Whper sun hour, measured, November (10 days)

The model’s number changes month to month: as the sun gets lower, the vertical panel catches it more squarely and the building shade shifts. The measured number is shown only to compare; the estimate never uses it.

Where the numbers come from
Every day, same steps
DaySun hoursWh per sun hourEstimate WhMeasured WhMeasured vs estimate
Wed Oct 286.09× 125.1= 762681-10.6 %
Thu Oct 295.73× 125.1= 717801+11.7 %
Fri Oct 305.54× 125.1= 693754+8.8 %
Sat Oct 313.54× 125.1= 443414-6.5 %
Sun Nov 012.31× 136.9= 316306-3.2 %
Mon Nov 020.41× 136.9= 5650-10.7 %
Tue Nov 034.97× 136.9= 680677-0.4 %
Wed Nov 044.47× 136.9= 612646+5.6 %
Thu Nov 055.98× 136.9= 818852+4.2 %
Fri Nov 065.19× 136.9= 710736+3.7 %
Sat Nov 076.58× 136.9= 901857-4.9 %
Sun Nov 086.53× 136.9= 894851-4.8 %
Mon Nov 096.55× 136.9= 896837-6.6 %
Tue Nov 104.79× 136.9= 656676+3.0 %

Model history

FromModelWhat changedYearOctNovMeasured vs estimate
Oct 28, 2026Old baseline · v321Original report, as designed188 kWh1921+0.3 %
Nov 9, 2026v323Altitude in the clear-sky model (clear-day chart only)no change to the estimate
Nov 11, 2026Fit 1 · v323Photo alignment refined from measured clear days: facing 178°, photo +2° / +1° / ×0.96187.9 kWh18.621.3−0.2 %
Nov 12, 2026Fit 1 · v325Same alignment; the report’s skyline redrawn so it sits on the buildings in the photo (the v324 drawing had drifted off them)189 kWh1921daily check unchanged

The old baseline stays as issued, so the record shows what was promised before the panel ran. On the same tool, the fit itself lowered the yearly estimate 1.6 %.

How Fit 1 was found

75,330 runs of the Designer’s own clear-day model, each scored against the inverter’s curve on clear days. The three closest are below; Fit 1 is now the model.

FacingTiltPhoto rotation / level / widthRMS errorShade edgesModel vs measuredNov 5 day total
As designed179°90°0° / 0° / ×1.0010.1 Wup to 20 min off6.2 % high905 Wh
Fit 1178°90°+2° / +1° / ×0.963.3 Wwithin 2 min2.1 % high870 Wh
Fit 2180°90°+2° / +1° / ×0.963.5 Wwithin 2 min1.8 % high873 Wh
Fit 3176°90°+2° / +1° / ×0.963.5 Wwithin 2 min2.2 % high865 Wh
Measured854 Wh (chart) · 852 Wh (CSV)
Balcony panorama with the sun's Nov 5 path before and after Fit 1
Gold: the sun’s Nov 5 path after Fit 1. It leaves the tower’s edge at 8:12 and meets the roof at 15:54, the minutes the inverter recorded. White dashes: the photo as first lined up.
What the fit does, why, and how it is used

The Designer’s estimate rests on a few things set by hand: which way the panel faces, its tilt, and how the site photo is lined up with the compass. A small slip in any of them moves the shade edges by many minutes and the day’s energy by several percent. The fit checks those settings against what the panel actually did.

  1. Answer key. A cloudless day from the inverter’s own export (Nov 5 full day, Oct 29 morning), plus shade-edge times read off the app charts (Oct 28, Nov 7). Clouds would hide the geometry, so only clear days are used.
  2. Every combination. Five knobs, each swept across its range: facing (±10°), tilt (80–90°), photo rotation (±5°), photo level (±2°) and photo width (±5 %). A coarse grid first, then a fine grid around each leading answer: 75,330 runs of the Designer’s own clear-day model, about 10 minutes.
  3. Score. Each run’s curve is compared with the measured curve minute by minute (RMS error, in watts), with the misses at the shade edges (in minutes) counted in. Lower is better.
  4. Top three. Near-identical combinations are grouped, and the three best distinct answers are shown below. An answer is listed only if it scores within 15 % of the best.

What it determines

How it is used

What the result says

75,330 combinations, coarse sweep then a fine sweep around each leader, about 10 minutes.

Clear-day curves: Nov 5 and Oct 29
Measured power against the model as designed and the best fits, Nov 5
Nov 5, full clear day. Green: measured. Grey: as designed. Navy: fit 1. Orange (right axis): % off fit 1. The dips near 8:40 and 10:00 are passing obstructions, not in the traced skyline.
Measured power against the model, Oct 29 morning
Oct 29, clear morning (data ends 12:40). Same fit. Spikes at the 9:19 shade edge are timing, not energy.
Shade edges
DayEdgeMeasuredFromFit 1 off by
Oct 29Morning, building to the left9:19 MDTchart curvein the RMS
Nov 5Morning / evening8:12 / 15:54 MSTchart curvein the RMS
Oct 28Evening, roofline to the west17:14 MDT (±5)app chart, by eye2 min
Nov 7Morning, building to the left8:12 MST (±4)app chart, by eye1 min
Nov 7Evening, roofline to the west15:54 MST (±4)app chart, by eye1 min

Supporting evidence

Balcony vs Golden, 5-minute curves and the time lag

Golden’s 1-minute readings averaged to the inverter’s 5-minute steps, scaled by the 180 W nameplate (1,000 W/m² = 180 W), on the same clock (MST). The gap between gold and green is everything between sunlight and the outlet: heat, wiring, inverter, glass angle, and the balcony’s shade.

Balcony output against Golden 5-minute sunlight, 2026-10-28
Oct 28, first full day on the balcony. Read off the app chart (about ±10 min; read-off total 726 Wh vs the app’s 681). Broken cloud over the balcony from about 10:20 to 11:40 that Golden mostly didn’t see.
Balcony output against Golden 5-minute sunlight, 2026-10-29
Oct 29, clear morning (the web chart export ends 12:40).
Balcony output against Golden 5-minute sunlight, 2026-11-05
Nov 5, clear day. Golden had broken cloud until about 8:50; the balcony’s drops at 8:12 and 15:54 are its building shade.
Balcony output against Golden 5-minute sunlight, 2026-11-07
Nov 7, clear day, read off the app chart (read-off total 870 Wh vs the app’s 857). Same 8:12 and 15:54 shade edges.
DayBalcony ÷ (Golden × 180 W), 10:30–13:30 MST medianGap
Wed Oct 280.7030 %
Thu Oct 290.7723 %
Thu Nov 050.7921 %
Sat Nov 070.7822 %

Cloud lag, Golden to balcony

DayBest-matching shiftMatch (r)Why
Wed Oct 28-20 min0.29broken cloud at the balcony, little at Golden
Thu Oct 29-41 min0.16clear: no cloud features to match
Thu Nov 05+2 min0.47clear: no cloud features to match
Sat Nov 07+59 min0.47clear: no cloud features to match
Sun hours vs production, all days
02505007501000024682026-10-28: 6.09 sun hours, 681 Wh2026-10-29: 5.73 sun hours, 801 Wh2026-10-30: 5.54 sun hours, 754 Wh2026-10-31: 3.54 sun hours, 414 Wh2026-11-01: 2.31 sun hours, 306 Wh2026-11-02: 0.41 sun hours, 50 Wh2026-11-03: 4.97 sun hours, 677 Wh2026-11-04: 4.47 sun hours, 646 Wh2026-11-05: 5.98 sun hours, 852 Wh2026-11-07: 6.58 sun hours, 857 Wh2026-11-06: 5.19 sun hours, 736 Wh2026-11-08: 6.53 sun hours, 851 Wh2026-11-09: 6.55 sun hours, 837 Wh2026-11-10: 4.79 sun hours, 676 WhGolden sun hours on a vertical south face (kWh/m², per day)Wh

133 Wh per Golden sun hour; Golden’s sunlight explains 95 % of the day-to-day swing (14 days; darker dots are clear days).

Next

Reference

Knobs

Each knob has a value, a range and a lock. Locked knobs stay put; the sweep moves the rest. Only things that can be checked on site.

KnobDefaultSweep rangeLockHow to check
Panel facingdesign (179°)±10°unlockedCompass on the panel face, true north
Panel tiltdesign (90°)80–90°unlockedPhone level on the panel face
Photo rotation0°±5°unlockedPanorama facing; horizon tap
Photo level0°±2°unlockedLevel line; horizon tap
Photo width×1.00±5 %unlockedHorizon tap at a known bearing
Loss items

Settings, not swept. Defaults are the Designer’s PVWatts values; change one only with a checkable reason.

ItemDefaultSourceCheck on site
Soiling2 %PVWatts V5Panel clean or new
Wiring2 %PVWatts V5Cable length and gauge
Mismatch2 %PVWatts V5Modules sharing one input (one module: nothing to mismatch)
Connections0.5 %PVWatts V5Connector count
Light-induced degradation1.5 %PVWatts V5Cell type and age
Nameplate1 %PVWatts V5Flash test; nameplate tolerance
Clear-day total8.7 %Product of the items. The annual estimate adds 3 % availability (11.3 %).
Inverter efficiency

Default: PVWatts part-load curve at 96 % nominal. Load is a share of the inverter’s DC rating (360 VA ÷ 0.96 = 375 W).

Load5 %10 %20 %30 %50 %75 %100 %
DC watts193875113188281375
Efficiency86.4 %92.2 %94.9 %95.8 %96.2 %96.2 %96.0 %
Method
Sources
  • Dobos, A. (2014), PVWatts Version 5 Manual, NREL/TP-6A20-62641: losses, glass reflection, cell temperature, inverter curve.
  • Perez, R. et al. (1990), sky diffuse model.
  • Laue, E. G. (1970), altitude correction for clear-sky beam irradiance, Solar Energy 13.
  • Reno, M. & Hansen, C. (2016), clear-sky period detection, Renewable Energy 90 (planned for picking clear days).

Sun Safe LLC · solar research and development, Rutland, Vermont · Home · Sources · Site version v326 · November 14, 2026