Enter your site location and describe nearby obstructions to estimate annual shading loss. Set each obstruction's height angle (how high it appears above the horizon) and horizontal spread (how wide it appears in the sky). No obstruction = 0% shading.
Site Location
°
−90 (S) to 90 (N)
°
−180 (W) to 180 (E)
Array Configuration
20°
0° (flat)30°60° (steep)
Residential typical: 15–35°. Match your roof pitch angle.
South (180°) is optimal for Northern Hemisphere. North (0°) is optimal for Southern Hemisphere.
Nearby Obstructions

Add trees, chimneys, or buildings that cast shadows on your array. For each, estimate its height angle (how high it looks above the horizon from your array) and horizontal spread (how wide it looks in the sky).

No obstructions added — result shows 0% shading.
Annual Shading Loss
of potential solar yield
Enter location to calculate
Best Month
— loss
Worst Month
— loss
Location
Array
Awaiting location input
Enter your site location and obstructions to see shading loss and system de-rating recommendation.
Sun Path Sky Dome
Enter location to render

Enter your site location to see the sun path diagram with shading overlays for your specific latitude.

This is a simplified geometric estimate. SurgePV's platform uses LiDAR elevation data, satellite imagery, and 3D ray tracing to give panel-by-panel shading loss with hourly precision — without any manual input.

Book a Free Demo for Full LiDAR Analysis →
Monthly Shading Loss Breakdown
Estimated irradiance-weighted shading loss per month

Monthly shading loss chart will appear here after entering your location.

Calculation Summary
Site Latitude
Array Tilt
Array Azimuth
Obstructions Defined0
Annual Shading Loss
Best Month
Worst Month
De-rating Recommendation
Methodology: Solar altitude and azimuth are calculated using the Spencer sun position algorithm for every hour (5am–8pm solar time) of a representative day for each month (15th of each month). Irradiance at each sun position is estimated as I = sin(altitude) × 1,000 W/m² (simplified clear-sky direct beam). A sun position is shaded if its azimuth falls within ±spread/2 of an obstruction's center azimuth AND its altitude is below the obstruction's height angle. Monthly shading loss = Σ(shaded irradiance) ÷ Σ(total irradiance) × 100. Annual shading loss is weighted by days per month. Sun paths are calculated for the given latitude — the algorithm is valid for both Northern and Southern hemispheres. This is a simplified geometric estimate. Real shading losses depend on 3D geometry, diffuse irradiance, module-level electronics, and microclimate factors not captured here. Use this tool for planning purposes only.
SurgePV Platform

Need precise panel-by-panel shading analysis?

SurgePV uses LiDAR point clouds, satellite imagery, and 3D ray tracing to calculate exact hourly shading for every panel — no manual obstruction input required.