Explicit checks passed
1 explicit check passed for the entered values. This does not replace independent verification where the decision is safety-critical, contractual, statutory, financial or medical.
Fixed tilt recommendations from site latitude.
DesignSigned: positive = Northern hemisphere, negative = Southern hemisphere.
0 skips the comparison against your design tilt.
Solar PV decision support
This section organises the existing calculator output into design checks, governing criteria and comparison cases. Core solar formulas and the calculator's original results are unchanged.
Explicit checks passed
1 explicit check passed for the entered values. This does not replace independent verification where the decision is safety-critical, contractual, statutory, financial or medical.
Governing criterion
Site latitude
28°
The calculator's fixed-tilt recommendation is derived from absolute site latitude and does not model the site's actual horizon or shading scene.
Solar engineering check 1
pass✓ PASS — Optimum tilt is above the 5° soiling self-cleaning minimum.
Structured directly from this solar calculator's own runtime alert.
Engine recommendation 1
Design tilt: use 28° (round to nearest practical increment), rechecking structural and soiling constraints.
Engine recommendation 2
Values assume isotropic-diffuse transposition on monthly-average GHI; site-specific TMY hourly modelling refines this by a few tenths of a degree.
Engine recommendation 3
Engineering-grade preliminary calculation. Final design must be verified against project-specific site conditions, manufacturer datasheets, applicable standards and utility requirements.
Primary design output
28°
Use as a preliminary result and verify the project-specific limits listed below.
Lower and higher cases are recalculated by the same solar calculator engine. They are comparison cases, not weather forecasts or guaranteed production values.
Lower site latitude
site latitude = 22.88
Current inputs
site latitude = 28.6
Higher site latitude
site latitude = 34.32
Decision sensitivity
site latitude · up
For the same calculator engine, the lower case changes Annual-optimum tilt (preliminary) by -17.9% and the higher case by +17.9%.
This is a deterministic input sensitivity check, not a statistical uncertainty or weather forecast.
Methodology & limit
Decision support is structured from the existing solar calculator engine and the current user inputs. PASS/FAIL is shown only where the engine or entered project criteria support an explicit check. Final PV design still requires site survey, exact module/inverter datasheets, structural/electrical design and applicable statutory approval.
Mode A (latitude-based): φ=28.6° → annual 28°, summer 13.6°, winter 43.6°. Mode B: monthly GHI supplied — sweeping candidate tilts 0–60° in 2.5° steps (isotropic-sky transposition). Optimum modelled tilt 27.5° → 1,842 kWh/m²/yr vs latitude tilt 28.6° → 1,842 kWh/m²/yr.
Designs are stored privately in this browser — nothing is uploaded.
For fixed arrays, annual-optimum tilt is slightly below latitude. Seasonal tilt shifts ±15° to capture higher sun in summer and lower sun in winter.
φ (input, signed)28.6°|φ|28.6°0.87|φ|+3.128°|φ|−1513.6°|φ|+1543.6°argmax Σ POA(β)·days27.5°Σ_m POA_tilt(m)1,842 kWh/m²/yrΣ POA(β=|φ|)1,842 kWh/m²/yrFixed tilt recommendations from site latitude. The example below is calculated by this page's real engine from the displayed inputs.
Use values from the same measurement basis and time period. Conditional fields appear only when the related option is selected.
| Input | Example value | Why it matters |
|---|---|---|
| Site latitude | 28.6 ° | Signed: positive = Northern hemisphere, negative = Southern hemisphere. |
| Proposed tilt (for comparison) | 0 ° | 0 skips the comparison against your design tilt. |
| Monthly avg. GHI — Jan | 3.4 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Feb | 4 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Mar | 4.9 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Apr | 5.6 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — May | 6 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Jun | 5.7 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Jul | 5 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Aug | 4.9 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Sep | 4.8 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Oct | 4.3 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Nov | 3.6 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Dec | 3.2 kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
These are the named quantities used by this calculator. When the source formula does not define a mathematical symbol, OneCalcApp keeps the real input label instead of inventing one.
| Variable / input | Unit | Meaning in this calculation |
|---|---|---|
| Site latitude | ° | Signed: positive = Northern hemisphere, negative = Southern hemisphere. |
| Proposed tilt (for comparison) | ° | 0 skips the comparison against your design tilt. |
| Monthly avg. GHI — Jan | kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Feb | kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Mar | kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Apr | kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — May | kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Monthly avg. GHI — Jun | kWh/m²/day | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
The Optimal Tilt Angle uses Site latitude, Proposed tilt (for comparison), Monthly avg. GHI — Jan, Monthly avg. GHI — Feb, Monthly avg. GHI — Mar, Monthly avg. GHI — Apr, Monthly avg. GHI — May, Monthly avg. GHI — Jun, Monthly avg. GHI — Jul, Monthly avg. GHI — Aug, Monthly avg. GHI — Sep, Monthly avg. GHI — Oct, Monthly avg. GHI — Nov, and Monthly avg. GHI — Dec to calculate Annual-optimum tilt (preliminary), Summer tilt, Winter tilt, Latitude tilt, Modelled optimum tilt (Mode B), Annual POA at optimum, and Gain vs latitude tilt. Its engine applies β_annual ≈ 0.87·|φ| + 3.1° (Duffie–Beckman fit, preliminary); the worked values below come from that same live calculation rather than a separately typed example.
With Site latitude 28.6 °, Proposed tilt (for comparison) 0 °, Monthly avg. GHI — Jan 3.4 kWh/m²/day, Monthly avg. GHI — Feb 4 kWh/m²/day, Monthly avg. GHI — Mar 4.9 kWh/m²/day, Monthly avg. GHI — Apr 5.6 kWh/m²/day, Monthly avg. GHI — May 6 kWh/m²/day, Monthly avg. GHI — Jun 5.7 kWh/m²/day, Monthly avg. GHI — Jul 5 kWh/m²/day, Monthly avg. GHI — Aug 4.9 kWh/m²/day, Monthly avg. GHI — Sep 4.8 kWh/m²/day, Monthly avg. GHI — Oct 4.3 kWh/m²/day, Monthly avg. GHI — Nov 3.6 kWh/m²/day, and Monthly avg. GHI — Dec 3.2 kWh/m²/day, the main worked-example result is Annual-optimum tilt (preliminary) = 28°.
The Optimal Tilt Angle worked example uses Site latitude = 28.6 °. This value is passed directly into the calculation, with an allowed minimum -66 and maximum 66. Signed: positive = Northern hemisphere, negative = Southern hemisphere.
The Optimal Tilt Angle worked example uses Proposed tilt (for comparison) = 0 °. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 90. 0 skips the comparison against your design tilt.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Jan = 3.4 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Feb = 4 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Mar = 4.9 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Apr = 5.6 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — May = 6 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Jun = 5.7 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Jul = 5 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Aug = 4.9 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Sep = 4.8 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Oct = 4.3 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Nov = 3.6 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
The Optimal Tilt Angle worked example uses Monthly avg. GHI — Dec = 3.2 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
In the Optimal Tilt Angle, β_annual ≈ 0.87·|φ| + 3.1° (Duffie–Beckman fit, preliminary). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
In the Optimal Tilt Angle, β_summer = |φ| − 15°, β_winter = |φ| + 15°. The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
In the Optimal Tilt Angle, POA_tilt(m) = Beam·Rb(φ,β,δ) + Diffuse·(1+cosβ)/2 + GHI·ρ_g·(1−cosβ)/2 (isotropic/HDKR-style). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
In the Optimal Tilt Angle, β_optimum = argmax_β Σ_m POA_tilt(m)·days(m). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
For the displayed Optimal Tilt Angle worked example, Annual-optimum tilt (preliminary) is 28°. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.
For the displayed Optimal Tilt Angle worked example, Summer tilt is 13.6°. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.
For the displayed Optimal Tilt Angle worked example, Winter tilt is 43.6°. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.
For the displayed Optimal Tilt Angle worked example, Latitude tilt is 28.6°. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.
For the displayed Optimal Tilt Angle worked example, Modelled optimum tilt (Mode B) is 27.5°. From 12-month irradiation sweep Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.
For the displayed Optimal Tilt Angle worked example, Annual POA at optimum is 1,842 kWh/m²/yr. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.
For the displayed Optimal Tilt Angle worked example, Gain vs latitude tilt is +0.2 kWh/m²/yr (0.01 %). Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.
Read the main result together with supporting checks, assumptions, limits and intermediate values.
For a manual check, repeat the first equation, confirm the units and change one input at a time.
Optimal Tilt Angle is designed for cases where Site latitude, Proposed tilt (for comparison), Monthly avg. GHI — Jan, Monthly avg. GHI — Feb are known and you need Annual-optimum tilt (preliminary), Summer tilt, Winter tilt. The page keeps the live calculator, calculation method and worked example together so the result can be checked instead of treated as a black-box number.
Use the calculator for the scope described by its inputs and notes. The displayed method is β_annual ≈ 0.87·|φ| + 3.1° (Duffie–Beckman fit, preliminary). If the real project or decision needs factors that are not represented here, treat the result as an estimate and add the missing checks separately.
The worked example uses Site latitude = 28.6 °, Proposed tilt (for comparison) = 0 °, Monthly avg. GHI — Jan = 3.4 kWh/m²/day, Monthly avg. GHI — Feb = 4 kWh/m²/day. With those values, Annual-optimum tilt (preliminary) is 28°. Changing an input should be interpreted according to that field's unit, range, option and hint rather than by the number alone.
For this calculator, the main input roles are: Site latitude (°): Signed: positive = Northern hemisphere, negative = Southern hemisphere. Proposed tilt (for comparison) (°): 0 skips the comparison against your design tilt. Monthly avg. GHI — Jan (kWh/m²/day): Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. Monthly avg. GHI — Feb (kWh/m²/day): Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Start by confirming the entered values and units, then compare the substituted working with the displayed formula or calculation steps. Pay particular attention to Annual-optimum tilt (preliminary), because it is the first worked-example output shown by the live engine.
Finally, compare the result with the assumptions, warnings and related calculators on this page. A nearby calculator can be useful as a cross-check when it measures the same workflow from a different input or output direction.
Next logical calculator
Solar Generation Calculator shares relevant calculation context with Optimal Tilt Angle and can be used as a supporting comparison.
Open Solar Generation CalculatorReferences show the method used. Check the current local edition, amendments and project specification before a regulated decision.
Solar PV System Size
Energy-based PV sizing from daily, monthly or annual consumption: required kWp, module count, installed DC capacity, inverter AC capacity and DC/AC ratio, performance ratio loss chain and expected daily, monthly and annual generation.
Solar Panel Count Calculator
Calculate the whole number of solar panels needed for a target kWp using the actual module wattage, then check installed DC capacity and module area.
Roof Area Required
Physical + gross roof area with maintenance corridors.
Solar Water Pump
PV capacity needed for a DC/AC solar pump.
Solar Water Heater
Flat-plate / ETC collector area for hot-water demand.
EV Charging from Solar
Time to charge an EV battery from a solar array.
Deeper reading on the engineering behind this calculation.
How to Size a Solar PV System Correctly
A step-by-step engineering walkthrough covering load assessment, peak sun hours, performance ratio and module selection.
Read Article →Understanding LCOE and Solar Payback
Levelised cost of energy, ROI and payback period — what each metric means for a real project.
Read Article →Cable Sizing for DC and AC Solar Circuits
Voltage drop limits, derating factors and IEC-aligned conductor selection made simple.
Read Article →PV System Size Calculator: How to Calculate the Right Solar PV System Size
The full PV sizing chain — load, peak sun hours, performance ratio, required DC capacity, module count, inverter capacity and DC/AC ratio — with worked equations.
Read Article →