Calculated — review warnings
1 check require review. The numerical result was calculated, but the warning conditions should be resolved or accepted before use.
Annual generation loss from partial shading.
PerformanceHeight of the upper edge of the tilted array above ground.
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.
Calculated — review warnings
1 check require review. The numerical result was calculated, but the warning conditions should be resolved or accepted before use.
Governing criterion
Shade factor × amplification factor
13.47 %
The calculator represents nonlinear partial-shading impact with the entered amplification factor; detailed string-level simulation can differ.
Shading review
review⚠ WARNING — Design-window shading loss exceeds 5% — review row/obstruction geometry or module layout.
Structured directly from this solar calculator's own runtime alert.
Solar engineering check 2
pass✓ PASS — String length ≤ 20 modules keeps bypass-diode mismatch risk moderate.
Structured directly from this solar calculator's own runtime alert.
Partial-shading design review
info13.47% amplified energy loss
Electrical shading loss depends on cell layout, bypass diodes, string direction and MPPT behaviour; this remains a screening estimate.
Engine recommendation 1
Design-window (winter solstice) estimate extrapolated as a conservative annual proxy.
Engine recommendation 2
Series-connected strings suffer disproportionate loss from partial shading due to bypass-diode behaviour — this is captured only approximately by the amplification factor.
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
8.42 %
Use as a preliminary result and verify the project-specific limits listed below.
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.
9.0h: alt=22.3° az=-44.5° shadowLen=14.6m shadedFrac=75.3% 9.5h: alt=26.6° az=-38.7° shadowLen=12m shadedFrac=0% 10.0h: alt=30.5° az=-32.2° shadowLen=10.2m shadedFrac=0% 10.5h: alt=33.6° az=-24.9° shadowLen=9m shadedFrac=0% 11.0h: alt=36° az=-17.1° shadowLen=8.3m shadedFrac=0% 11.5h: alt=37.5° az=-8.7° shadowLen=7.8m shadedFrac=0% 12.0h: alt=38° az=0° shadowLen=7.7m shadedFrac=0% 12.5h: alt=37.5° az=8.7° shadowLen=7.8m shadedFrac=0% 13.0h: alt=36° az=17.1° shadowLen=8.3m shadedFrac=0% 13.5h: alt=33.6° az=24.9° shadowLen=9m shadedFrac=0% 14.0h: alt=30.5° az=32.2° shadowLen=10.2m shadedFrac=0% 14.5h: alt=26.6° az=38.7° shadowLen=12m shadedFrac=0% 15.0h: alt=22.3° az=44.5° shadowLen=14.6m shadedFrac=75.3% Design-window (winter solstice) estimate extrapolated as a conservative annual proxy.
Designs are stored privately in this browser — nothing is uploaded.
PV bypass-diode topology amplifies partial shading: 10% shade often costs 20–30% of a string's output. The amplification factor captures this non-linearity.
declination(winter solstice)-23.45°Σ shadedFrac·wt / Σ wt8.42 %count(shadedFrac>2%)1 hAnnual generation loss from partial shading. 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 ° | Measured or known site latitude used by the calculation engine. |
| Obstruction height | 6 m | Measured or known obstruction height used by the calculation engine. |
| Obstruction distance (horizontal) | 10 m | Measured or known obstruction distance (horizontal) used by the calculation engine. |
| Array base height | 1 m | Measured or known array base height used by the calculation engine. |
| Array top height (with tilt) | 2.2 m | Height of the upper edge of the tilted array above ground. |
| Obstruction azimuth from array | 0 ° from south, signed | Measured or known obstruction azimuth from array used by the calculation engine. |
| Design window start | 9 h (solar time) | Measured or known design window start used by the calculation engine. |
| Design window end | 15 h (solar time) | Measured or known design window end used by the calculation engine. |
| Modules per string | 20 - | Used only to flag bypass-diode mismatch amplification risk. |
| Optional shading % override — Jan | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Feb | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Mar | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Apr | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — May | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Jun | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Jul | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Aug | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Sep | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Oct | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Nov | 0 % | Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. |
| Optional shading % override — Dec | 0 % | 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 | ° | Measured or known site latitude used by the calculation engine. |
| Obstruction height | m | Measured or known obstruction height used by the calculation engine. |
| Obstruction distance (horizontal) | m | Measured or known obstruction distance (horizontal) used by the calculation engine. |
| Array base height | m | Measured or known array base height used by the calculation engine. |
| Array top height (with tilt) | m | Height of the upper edge of the tilted array above ground. |
| Obstruction azimuth from array | ° from south, signed | Measured or known obstruction azimuth from array used by the calculation engine. |
| Design window start | h (solar time) | Measured or known design window start used by the calculation engine. |
| Design window end | h (solar time) | Measured or known design window end used by the calculation engine. |
The Shading Loss uses Site latitude, Obstruction height, Obstruction distance (horizontal), Array base height, Array top height (with tilt), Obstruction azimuth from array, Design window start, Design window end, Modules per string, Optional shading % override — Jan, Optional shading % override — Feb, Optional shading % override — Mar, Optional shading % override — Apr, Optional shading % override — May, Optional shading % override — Jun, Optional shading % override — Jul, Optional shading % override — Aug, Optional shading % override — Sep, Optional shading % override — Oct, Optional shading % override — Nov, and Optional shading % override — Dec to calculate Design-window irradiance-weighted loss, Annual shading loss (best estimate), Amplified loss incl. string mismatch, and Affected hours (design window). Its engine applies δ = declination(winter-solstice day); the worked values below come from that same live calculation rather than a separately typed example.
With Site latitude 28.6 °, Obstruction height 6 m, Obstruction distance (horizontal) 10 m, Array base height 1 m, Array top height (with tilt) 2.2 m, Obstruction azimuth from array 0 ° from south, signed, Design window start 9 h (solar time), Design window end 15 h (solar time), Modules per string 20 -, Optional shading % override — Jan 0 %, Optional shading % override — Feb 0 %, Optional shading % override — Mar 0 %, Optional shading % override — Apr 0 %, Optional shading % override — May 0 %, Optional shading % override — Jun 0 %, Optional shading % override — Jul 0 %, Optional shading % override — Aug 0 %, Optional shading % override — Sep 0 %, Optional shading % override — Oct 0 %, Optional shading % override — Nov 0 %, and Optional shading % override — Dec 0 %, the main worked-example result is Design-window irradiance-weighted loss = 8.42 %.
The Shading Loss worked example uses Site latitude = 28.6 °. This value is passed directly into the calculation, with an allowed minimum -66 and maximum 66.
The Shading Loss worked example uses Obstruction height = 6 m. This value is passed directly into the calculation, with an allowed minimum 0.
The Shading Loss worked example uses Obstruction distance (horizontal) = 10 m. This value is passed directly into the calculation, with an allowed minimum 0.1.
The Shading Loss worked example uses Array base height = 1 m. This value is passed directly into the calculation, with an allowed minimum 0.
The Shading Loss worked example uses Array top height (with tilt) = 2.2 m. This value is passed directly into the calculation, with an allowed minimum 0.1. Height of the upper edge of the tilted array above ground.
The Shading Loss worked example uses Obstruction azimuth from array = 0 ° from south, signed. This value is passed directly into the calculation, with an allowed minimum -180 and maximum 180.
The Shading Loss worked example uses Design window start = 9 h (solar time). This value is passed directly into the calculation, with an allowed minimum 0 and maximum 23.
The Shading Loss worked example uses Design window end = 15 h (solar time). This value is passed directly into the calculation, with an allowed minimum 1 and maximum 24.
The Shading Loss worked example uses Modules per string = 20 -. This value is passed directly into the calculation, with an allowed minimum 1 and maximum 40. Used only to flag bypass-diode mismatch amplification risk.
The Shading Loss worked example uses Optional shading % override — Jan = 0 %. 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 Shading Loss worked example uses Optional shading % override — Feb = 0 %. 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 Shading Loss worked example uses Optional shading % override — Mar = 0 %. 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 Shading Loss worked example uses Optional shading % override — Apr = 0 %. 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 Shading Loss worked example uses Optional shading % override — May = 0 %. 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 Shading Loss worked example uses Optional shading % override — Jun = 0 %. 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 Shading Loss worked example uses Optional shading % override — Jul = 0 %. 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 Shading Loss worked example uses Optional shading % override — Aug = 0 %. 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 Shading Loss worked example uses Optional shading % override — Sep = 0 %. 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 Shading Loss worked example uses Optional shading % override — Oct = 0 %. 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 Shading Loss worked example uses Optional shading % override — Nov = 0 %. 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 Shading Loss worked example uses Optional shading % override — Dec = 0 %. 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 Shading Loss, δ = declination(winter-solstice day). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
In the Shading Loss, α(h) = solarAltitude(φ,δ,H(h)), Az(h) = solarAzimuth(φ,δ,H(h)). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
In the Shading Loss, Shadow length L(h) = obsH / tan(α(h)) when α>0. The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
In the Shading Loss, Shaded height on array = max(0, L(h)·cos(Az(h)−obsAz) projected effect vs array geometry). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
In the Shading Loss, Shaded fraction(h) = clamp((shadeHeight − arrayBase)/(arrayTop−arrayBase), 0, 1). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
In the Shading Loss, Loss = Σ_h shadedFraction(h)·irradianceWeight(h) / Σ_h irradianceWeight(h). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.
For the displayed Shading Loss worked example, Design-window irradiance-weighted loss is 8.42 %. Verify Site latitude, Obstruction height, and Obstruction distance (horizontal) and their units before relying on this output.
For the displayed Shading Loss worked example, Annual shading loss (best estimate) is 8.42 %. Verify Site latitude, Obstruction height, and Obstruction distance (horizontal) and their units before relying on this output.
For the displayed Shading Loss worked example, Amplified loss incl. string mismatch is 13.47 %. Amplification ×1.6 Verify Site latitude, Obstruction height, and Obstruction distance (horizontal) and their units before relying on this output.
For the displayed Shading Loss worked example, Affected hours (design window) is 1 h of 6 h. Verify Site latitude, Obstruction height, and Obstruction distance (horizontal) 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.
Shading Loss is designed for cases where Site latitude, Obstruction height, Obstruction distance (horizontal), Array base height are known and you need Design-window irradiance-weighted loss, Annual shading loss (best estimate), Amplified loss incl. string mismatch. 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 δ = declination(winter-solstice day). 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 °, Obstruction height = 6 m, Obstruction distance (horizontal) = 10 m, Array base height = 1 m. With those values, Design-window irradiance-weighted loss is 8.42 %. 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 (°): Measured or known site latitude used by the calculation engine. Obstruction height (m): Measured or known obstruction height used by the calculation engine. Obstruction distance (horizontal) (m): Measured or known obstruction distance (horizontal) used by the calculation engine. Array base height (m): Measured or known array base height used by the calculation engine.
Start by confirming the entered values and units, then compare the substituted working with the displayed formula or calculation steps. Pay particular attention to Design-window irradiance-weighted loss, 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
AC Cable Sizing Calculator covers the same practical workflow from a related calculation angle, making it a useful cross-check after Shading Loss.
Open AC Cable Sizing CalculatorReferences show the method used. Check the current local edition, amendments and project specification before a regulated decision.
Azimuth Deviation Loss
Annual energy loss vs deviation from true south (N-hem).
Temperature Loss
Power derating from cell temperature above STC 25 °C.
Irradiance → Energy
PV energy produced from measured irradiance.
Peak Sun Hours
Convert daily insolation to Peak Sun Hours.
Monthly Yield Split
Distribute annual generation across months (India typical).
Panel Degradation
Capacity remaining after N years at given degradation.
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 →