Works entirely in your browser — no API required. Pick a location to explore solar geometry, power, monthly energy and a bounded tilt/azimuth search. The default is a declared local scenario; measured-data modes and optional provider imports remain separate below.
Use the module’s Pmax coefficient. DC losses exclude temperature and the separately entered inverter efficiency. Do not count shading, cable or soiling losses twice if already included in the POA series or another allowance. POA already includes orientation; no extra tilt, azimuth or cloud multiplier is applied.
Fully local clear-sky model. Click the map to compare generation and suggested angles. Weather, shading and terrain are not included; these are model estimates rather than expected site yield.
Click or tap the map; use arrow keys when focused, or enter coordinates. Positive latitude = north; longitude = east. Coastlines are a coarse location aid.
Azimuth: north 0°, east 90°, south 180°, west 270°. The location scenario uses the common DC/AC ratings and losses above, with this fixed cell temperature; advanced interval temperature settings are independent.
12:00 solar time
Solar noon is 12:00. Longitude identifies the site and weather request; these axes are solar time, not local civil time or a timezone conversion.
DNI = extraterrestrial normal irradiance × τ1/sin(elevation); a 0.01 minimum sine bounds the near-horizon approximation. DHI = entered fraction × (extraterrestrial normal irradiance − DNI) × sin(elevation). This returns only part of the attenuated beam as diffuse light, keeping horizontal irradiance within the extraterrestrial energy bound. These are declared scenario assumptions, not a calibrated Hottel model or an atmospheric forecast. Sky diffuse and reflected-ground irradiance use isotropic view factors.
Updated automatically for your location and settings. Tilt is measured from horizontal; azimuth is clockwise from north. These are the best angles found in the local clear-sky model, not a weather- or roof-qualified installation recommendation. Applying a monthly angle changes the fixed angle used in every plotted month; it does not assume automatic monthly adjustment.
| Month | Generated (kWh) | Year to date (kWh) |
|---|
Search evaluates only this explicitly assumed scenario.
The search checks a 5° tilt / 15° azimuth grid, then a 1° local refinement, under the selected model. It is a bounded numerical search, not a global optimum or a recommendation for weather, roofs, shading, structural loading or installation cost. The main monthly/annual chart integrates all calendar days at 15-minute midpoints; the search uses weighted representative days for speed.
Open an official PVGIS request for the chosen coordinates, DC rating, orientation and provider loss allowance. Download its JSON, then import it here. Browser CORS restrictions prevent a direct fetch; there is no invented-data fallback. Imported energy already contains the provider’s models and losses and is never multiplied by the local scenario’s losses or temperature correction.
Open / download official PVGIS JSON ↗ · Open PVGIS interface ↗
No weather-based provider result imported. It will remain separate from the geometric scenario.
File structure, complete months, numeric ranges and monthly/annual agreement are checked; source authenticity is user stated, not independently authenticated. The imported response’s actual coordinates, database, years, rating and optimized-angle metadata are displayed and retained in the evidence export. Editing the local scenario does not recompute imported provider results.
The starting data is an analytic constant-irradiance test fixture, not site weather. Replace it with measured or documented model inputs for a site study.
Relative schema: time_h,duration_h,poa_w_m2,ambient_c,cell_c. Absolute schema: start_iso,end_iso,poa_w_m2,ambient_c,cell_c with Z or an explicit UTC offset. Every row describes its entire interval; values are treated as constant interval means. Duration is never inferred from the next row. Use cell_c for supplied-temperature mode, or ambient_c for the NOCT approximation. Optional wind_m_s is retained but not used.
—
—
—
Horizontal axis: hours from the first supplied interval. Bars show each interval’s mean AC power; gaps are left empty.
Enter each month’s mean daily plane-of-array irradiation (kWh/m²/day; numerically equivalent to peak-sun-hours) and an irradiance-weighted representative cell temperature. Unknown months stay blank. Constant-temperature/efficiency screening estimate only: monthly totals cannot reconstruct inverter clipping, intraday temperature, outages or self-consumption.
| Month | Days | POA kWh/m²/day | Cell °C (representative) | AC before clipping |
|---|
Annual unknown
—
Interval DC: Pdc = PSTC × (GPOA/1000) × [1 + γ(Tcell − 25)] × (1 − Ldc). γ is converted from %/°C to 1/°C. Available AC = Pdc × ηinv; delivered AC = min(available AC, inverter AC rating). Energy = Σ(power in kW × explicit duration in hours). This is a linear nameplate model with constant inverter efficiency; it does not reproduce the complete PVWatts model.
Optional NOCT-linear approximation: Tcell = Tamb + (NOCT − 20) × GPOA/800. It scales the nominal test-condition rise with irradiance; it does not model wind, mounting, thermal inertia or calibrated module behavior. Supplied effective cell temperatures are preferred. It is not a thermal-design or safety tool.
Monthly estimate before clipping = DC kWp × POA kWh/m²/day × month days × representative temperature factor × DC remaining fraction × inverter efficiency. AC rating is deliberately not used for monthly clipping: a daily irradiation total is insufficient to calculate it.
Overlaps, duplicate starts, missing duration, nonfinite or negative irradiance are rejected. Gaps are reported and not filled. ISO results use UTC for completeness and day selection. Relative times cannot establish an annual result. A complete Jan 1 → next Jan 1 UTC interval series with no gaps is required for an interval annual total; all 12 monthly inputs are required for a monthly annual estimate. No short-period annualization or weather fallback is performed.
Provider timestamps may represent instantaneous samples, preceding-hour totals or interval means. Convert to this explicit interval-mean schema using the provider’s documentation before import. The location workflow above is a separate declared geometric scenario with a bounded angle search, not synthetic expected weather. Battery dispatch, economics, IV/MPPT, spectral, bifacial and snow-cover models are not implemented.
NREL PVWatts v5 technical manual for the nameplate/irradiance/temperature model basis; this implementation uses a simpler constant-efficiency inverter.
Sandia PVPMC — NOCT model describes a fuller model with mounting and wind corrections; the optional linear screening approximation here omits those corrections.
JRC PVGIS output definitions: H(i)d is daily global POA irradiation in kWh/m²/day. Open PVGIS to obtain location-, orientation- and database-specific inputs. This page does not silently fetch, resample or invent weather data.