1. Sunshine and weather
Monthly mean daily global and diffuse horizontal irradiance, clear-sky irradiance, surface albedo, air temperature, daily temperature range, wind speed and snow depth come from the NASA Langley POWER Project climatology API (v2.10): 20-year means for January 2001–December 2020. Solar parameters come from CERES SYN1deg on a 1° grid (~110 km); meteorology from MERRA-2 at 0.5° × 0.625°, averaged to the same 1° cells. We precompute 1,396 U.S. cells (retrieved 2026-09-28) and bilinearly interpolate to each address.
This resolution is coarse. Coastal fog belts, mountain valleys and lake-effect areas can differ from the cell average — the largest errors in our validation are coastal California cities. A 2–4 km upgrade (NSRDB) is on the roadmap.
2. From monthly totals to an hour-by-hour day
For each month we build a representative day (Klein's recommended dates) at 15-minute resolution. Daily totals are split into time steps with the Collares-Pereira & Rabl (global) and Liu & Jordan (diffuse) ratios, then renormalised so the day's totals match NASA exactly.
3. Light on the panels
Plane-of-array irradiance uses the HDKR anisotropic-sky model (Hay-Davies-Klucher-Reindl), which treats circumsolar and horizon-brightening diffuse light better than the isotropic model, plus ground reflection from NASA's monthly albedo.
Reflection losses use the ASHRAE incidence-angle modifier (b₀ = 0.05); sky and ground light use Brandemuehl–Beckman equivalent angles.
4. Panels, heat and the inverter
Cell temperature uses the Faiman model with coefficients chosen to reproduce PVWatts' INOCT (49 °C roof mount), with a sinusoidal day built from NASA mean temperature and daily range. DC output falls 0.35%/°C above 25 °C by default (modern modules; editable). The inverter follows the PVWatts v8 part-load efficiency curve (96% nominal) and clips at the DC/AC ratio (1.2 default). Other losses use PVWatts' default categories — soiling 2%, shading 3%, mismatch 2%, wiring 2%, connections 0.5%, light-induced degradation 1.5%, nameplate 1%, availability 3% — combined to 14.1%.
5. Validation against NLR PVWatts®
PVWatts, from the National Laboratory of the Rockies (formerly NREL), is the reference most installers and regulators recognise. It runs hourly on NSRDB typical-year weather at ~4 km. We ran both models with identical systems (1 kW, 20° tilt, south, 14.08% losses, standard module) in 10 cities:
| City | Solar Plan Builder kWh | PVWatts kWh | Annual | Dec | Jun |
|---|---|---|---|---|---|
| Seattle, WA | 1,103 | 1,087 | +1.5% | +0.9% | +1.5% |
| Portland, OR | 1,149 | 1,120 | +2.7% | +2% | +3% |
| San Francisco, CA | 1,506 | 1,429 | +5.4% | -0.2% | +8.2% |
| Los Angeles, CA | 1,682 | 1,678 | +0.3% | +0.4% | -3.1% |
| San Diego, CA | 1,668 | 1,714 | -2.7% | -7% | -8.9% |
| Sacramento, CA | 1,619 | 1,612 | +0.4% | -5.3% | -1.1% |
| Phoenix, AZ | 1,749 | 1,753 | -0.2% | -7.1% | -2.4% |
| Las Vegas, NV | 1,769 | 1,753 | +0.9% | -7.7% | +1% |
| Albuquerque, NM | 1,769 | 1,777 | -0.5% | -2.2% | -2.1% |
| Denver, CO | 1,571 | 1,595 | -1.5% | -5.2% | -1.5% |
Mean absolute annual difference: 1.6% (bias +0.6%). Individual months differ more (mean 3.5% across June and December) because an "average day" smooths weather, and winter months are the least certain. Real systems vary ±5–10% from any model year to year, so plans show a ±10% range. The validation set is small and will grow with every data refresh (script: scripts/validate-pvwatts.ts).
6. Roof layouts
Building outlines come from OpenStreetMap (via OpenFreeMap vector tiles) or your own trace. A footprint doesn't reveal roof shape, so we assume the ridge runs along the long axis of the minimum-area bounding rectangle, split the footprint into two planes (gable/hip) or treat it as flat, apply edge (~18″) and ridge (~36″) setbacks in the spirit of the International Fire Code, and pack panels in plan view foreshortened by the roof pitch. We don't detect vents, skylights, dormers, chimneys, trees, or structural limits. Installers will measure; LiDAR-based roof planes are on the roadmap.
7. Your usage, self-consumption and batteries
Monthly use comes from your bill (divided by your state's average price) or EIA's state average, optionally shaped for summer- or winter-peaking homes. Hour-by-hour use follows a typical evening-peaking residential shape; solar is converted from solar time to local clock time (time zone, equation of time, daylight saving).
Batteries are simulated hour by hour: surplus solar charges, deficits discharge, limited by usable kWh and continuous kW, with √(round-trip efficiency) applied each way. Outage scenarios start at 6 pm, run 72 hours, and scale the month's average solar by weather (typical 100%, overcast 35%, none 0%).
8. Money
- Installed price: $3.00/W default, shown as a $2.5–$3.75/W range. EnergySage marketplace median quote $2.49/W (H2 2025); LBNL Tracking the Sun 2026 update (2025 installs): median $3.6/W for host-owned systems — $3.0/W paid cash, $4.5/W loan-financed (dealer fees). Your local quotes are the real number.
- Batteries: $1100 per usable kWh installed. EnergySage median $1,074/kWh (H2 2025); Powerwall 3 typically $13k–$17k installed. Electrical work varies widely.
- Incentives: The 30% federal Residential Clean Energy Credit (IRC §25D) ended for systems whose installation is completed after December 31, 2025 (One Big Beautiful Bill Act, P.L. 119-21). Leases and PPAs are different: the owner can still claim the business credit (§48E) if construction began by July 4, 2026 or the system is in service by the end of 2027, and may pass some of that value through in the price.
- Self-used solar saves the retail price (EIA state residential average, YTD July 2026); exported solar earns either the retail price (net metering), 30% of it (net billing) or your custom rate.
- Prices rise 2.5%/yr (Long-run U.S. residential price growth ≈ 2–3%/yr nominal (EIA). Recent years have run hotter in many states.); output degrades 0.5%/yr (Median module degradation ≈ 0.5%/yr (NLR field studies, Jordan et al.).); upkeep $25/kW-yr (Maintenance + inverter-replacement reserve, ≈ $25/kW-yr (NLR Annual Technology Baseline residential PV order of magnitude).); 25 years; nominal dollars, no discounting, no financing.
9. What Solar Plan Builder is not
Not a site survey, structural, electrical or permitting review; not tax, legal or financial advice. Don't rely on it for life-safety backup (e.g., medical equipment) without a professional design. If a number matters for a contract, ask the installer to explain theirs.
10. Updates
City pages were generated 2026-09-28. Electricity prices refresh monthly from EIA; the climatology refreshes when NASA publishes a new period; assumptions are reviewed quarterly. Every page states its sources and dates.