All solar calculators
🌤️

Shading Loss

Annual generation loss from partial shading.

Performance

Inputs (SI units)

Height of the upper edge of the tilted array above ground.

Results

Design-window irradiance-weighted loss
8.42 %
Annual shading loss (best estimate)
8.42 %
Amplified loss incl. string mismatch
13.47 %
Amplification ×1.6
Affected hours (design window)
1 h of 6 h
⚠ WARNING — Design-window shading loss exceeds 5% — review row/obstruction geometry or module layout.
✓ PASS — String length ≤ 20 modules keeps bypass-diode mismatch risk moderate.

Solar PV decision support

PV design decision summary

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.

Solar PV sizing & array decision support v3 · 2026.08

Calculated — review warnings

1 check require review. The numerical result was calculated, but the warning conditions should be resolved or accepted before use.

1 pass1 review1 info

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.

Design checks

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

info

13.47% amplified energy loss

Electrical shading loss depends on cell layout, bypass diodes, string direction and MPPT behaviour; this remains a screening estimate.

Next design actions

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.

Engineering Recommendations

  • Design-window (winter solstice) estimate extrapolated as a conservative annual proxy.
  • Series-connected strings suffer disproportionate loss from partial shading due to bypass-diode behaviour — this is captured only approximately by the amplification factor.
  • Engineering-grade preliminary calculation. Final design must be verified against project-specific site conditions, manufacturer datasheets, applicable standards and utility requirements.

Detailed Calculation Log

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.

Save & Load Project

Designs are stored privately in this browser — nothing is uploaded.

Engineering Formula

  • δ = declination(winter-solstice day)
  • α(h) = solarAltitude(φ,δ,H(h)), Az(h) = solarAzimuth(φ,δ,H(h))
  • Shadow length L(h) = obsH / tan(α(h)) when α>0
  • Shaded height on array = max(0, L(h)·cos(Az(h)−obsAz) projected effect vs array geometry)
  • Shaded fraction(h) = clamp((shadeHeight − arrayBase)/(arrayTop−arrayBase), 0, 1)
  • Loss = Σ_h shadedFraction(h)·irradianceWeight(h) / Σ_h irradianceWeight(h)

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.

Step-by-step Calculation

  1. 1.Design-day declinationdeclination(winter solstice)-23.45°
  2. 2.Irradiance-weighted loss (design window)Σ shadedFrac·wt / Σ wt8.42 %
  3. 3.Affected hours in design windowcount(shadedFrac>2%)1 h

How to use this calculator: Shading Loss

Annual generation loss from partial shading. The example below is calculated by this page's real engine from the displayed inputs.

  1. 1Confirm that the Shading Loss matches the quantity or design check you need.
  2. 2Enter Site latitude, Obstruction height, and Obstruction distance (horizontal) using the units printed beside each field.
  3. 3Check every value before calculating, especially decimal points and measurement units.
  4. 4Calculate, then follow the substituted equations in the worked example and compare the result with any stated limit.
  5. 5Read the assumptions, warnings and cited references before using the result for a financial, medical or engineering decision.

Input guide and example values

Use values from the same measurement basis and time period. Conditional fields appear only when the related option is selected.

InputExample valueWhy it matters
Site latitude28.6 °Measured or known site latitude used by the calculation engine.
Obstruction height6 mMeasured or known obstruction height used by the calculation engine.
Obstruction distance (horizontal)10 mMeasured or known obstruction distance (horizontal) used by the calculation engine.
Array base height1 mMeasured or known array base height used by the calculation engine.
Array top height (with tilt)2.2 mHeight of the upper edge of the tilted array above ground.
Obstruction azimuth from array0 ° from south, signedMeasured or known obstruction azimuth from array used by the calculation engine.
Design window start9 h (solar time)Measured or known design window start used by the calculation engine.
Design window end15 h (solar time)Measured or known design window end used by the calculation engine.
Modules per string20 -Used only to flag bypass-diode mismatch amplification risk.
Optional shading % override — Jan0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Feb0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Mar0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Apr0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — May0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Jun0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Jul0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Aug0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Sep0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Oct0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Nov0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Optional shading % override — Dec0 %Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Formula inputs & variables for Shading Loss

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 / inputUnitMeaning in this calculation
Site latitude°Measured or known site latitude used by the calculation engine.
Obstruction heightmMeasured or known obstruction height used by the calculation engine.
Obstruction distance (horizontal)mMeasured or known obstruction distance (horizontal) used by the calculation engine.
Array base heightmMeasured or known array base height used by the calculation engine.
Array top height (with tilt)mHeight of the upper edge of the tilted array above ground.
Obstruction azimuth from array° from south, signedMeasured or known obstruction azimuth from array used by the calculation engine.
Design window starth (solar time)Measured or known design window start used by the calculation engine.
Design window endh (solar time)Measured or known design window end used by the calculation engine.

How the Shading Loss works

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 %.

How each Shading Loss input is used

Site latitude

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.

Obstruction height

The Shading Loss worked example uses Obstruction height = 6 m. This value is passed directly into the calculation, with an allowed minimum 0.

Obstruction distance (horizontal)

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.

Array base height

The Shading Loss worked example uses Array base height = 1 m. This value is passed directly into the calculation, with an allowed minimum 0.

Array top height (with tilt)

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.

Obstruction azimuth from array

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.

Design window start

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.

Design window end

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.

Modules per string

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.

Optional shading % override — Jan

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.

Optional shading % override — Feb

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.

Optional shading % override — Mar

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.

Optional shading % override — Apr

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.

Optional shading % override — May

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.

Optional shading % override — Jun

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.

Optional shading % override — Jul

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.

Optional shading % override — Aug

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.

Optional shading % override — Sep

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.

Optional shading % override — Oct

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.

Optional shading % override — Nov

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.

Optional shading % override — Dec

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.

Shading Loss formulas and result interpretation

Formula 1: relationship used

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.

Formula 2: relationship used

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.

Formula 3: relationship used

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.

Formula 4: relationship used

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.

Formula 5: relationship used

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.

Formula 6: relationship used

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.

Design-window irradiance-weighted loss

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.

Annual shading loss (best estimate)

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.

Amplified loss incl. string mismatch

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.

Affected hours (design window)

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.

Shading Loss accuracy, checks and limitations

  • Shading Loss units check: confirm Site latitude (°), Obstruction height (m), Obstruction distance (horizontal) (m), Array base height (m), Array top height (with tilt) (m), Obstruction azimuth from array (° from south, signed), Design window start (h (solar time)), Design window end (h (solar time)), 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 (%) before calculating.
  • Shading Loss result check: compare Design-window irradiance-weighted loss, Annual shading loss (best estimate), Amplified loss incl. string mismatch, and Affected hours (design window) with the substituted formula steps and the displayed rounding precision.
  • Shading Loss: Use this result for preliminary design and cross-checking. Confirm the applicable code edition, manufacturer data, site conditions and qualified-engineer approval before final design or installation.

Understanding the result

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.

Common mistakes when using Shading Loss

  • Do not mix units for Site latitude (°), Obstruction height (m), Obstruction distance (horizontal) (m). A unit mismatch changes the input magnitude even when the typed number looks reasonable.
  • Do not replace the displayed δ = declination(winter-solstice day) relationship with a different convention without also changing the underlying assumptions; compare like-for-like methods when checking the result.
  • Do not treat Design-window irradiance-weighted loss = 8.42 % from the worked example as a universal answer. It belongs to the displayed example inputs and must be recalculated for the actual case.

When the Shading Loss is useful

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.

Site latitude and Obstruction height: what changes the answer

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.

How to sanity-check a Shading Loss result

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

Continue with AC Cable Sizing 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 Calculator

Standards, source trail and limitations

References show the method used. Check the current local edition, amendments and project specification before a regulated decision.

Design Assumptions

  • Series-connected cells with 3 bypass diodes per module.
  • Uniform amp factor over the year.

Engineering Tips

  • Use micro-inverters / MLPE if unavoidable shading > 15%.
  • Move shading elements (antennas, ACs) if possible.

Warnings

  • Persistent hot-spots from shading can crack cells long-term.

Standards & References

IEC 61853-2NREL Shading Report

Related Solar Calculators

Related Engineering Articles

Deeper reading on the engineering behind this calculation.