Terrain horizon shading and self-shading loss mapping for solar sites
In complex topography, standard irradiance models routinely overestimate annual solar yield by several percent. Satellite-derived DEMs and ray-casting horizon analysis quantify exactly how much terrain is stealing your sunlight.
Sensors
- TanDEM-X DEM: Global DEM derived from X-band SAR interferometry. Commercial 12 m posting product achieves 1–2 m relative vertical accuracy (LE90) in well-correlated terrain, making it the preferred input for horizon angle computation at site scale.
- Copernicus GLO-30 DEM: Freely available at 30 m posting (approximately 1 arc-second), compiled from TanDEM-X data. Absolute vertical accuracy is quoted at better than 4 m RMSE over most land surfaces. Adequate for regional screening; at site level the coarser posting can miss narrow ridge features that cast long shadows.
- ALOS World 3D AW3D30: JAXA optical stereo DEM at 30 m posting. Vertical accuracy is approximately 5 m RMSE globally, somewhat degraded in high-relief or forested terrain. Useful as a cross-check against TanDEM-X where the two products disagree.
- SRTM (Shuttle Radar Topography Mission): C-band interferometric DEM at 30 m global posting. Vertical accuracy roughly 5–9 m RMSE. Voids exist at steep slopes and in high latitudes. Still widely used in yield-model defaults, which is partly why shading losses are so often underestimated.
What a ridge does to your annual energy budget
A solar site in a mountain valley does not simply receive less sun in winter mornings. It receives zero sun until the local horizon clears, and that horizon can sit 10 to 25 degrees above the geometric horizon depending on ridge height and distance. For a site at 45° latitude, each degree of horizon elevation angle in the south-east to south-west arc translates to a measurable loss of beam irradiance, concentrated in the low-sun-angle hours that already carry the highest air-mass penalty. Published studies of Alpine and Andean sites have found terrain shading losses of 3 to 12 percent of annual GHI, with the worst cases in narrow east-west valleys where both morning and afternoon horizons are obstructed.
Standard flat-terrain yield models, including default PVsyst runs without a horizon profile, assume the horizon sits at zero elevation in every azimuth direction. That assumption is fine for a site on the Spanish meseta. It is not fine for a site in the Andes, the Atlas, the Himalayas or even the moderately hilly terrain common across much of Central Europe. The gap between the model and reality is not a rounding error; it is a material discrepancy that affects project finance, grid-connection sizing and performance ratio guarantees.
Ray-casting from a DEM grid: the method in plain terms
Horizon shading analysis begins with a digital elevation model gridded over a domain large enough to capture every ridge that could obstruct the sun path. For a site at mid-latitude, that typically means extending the DEM at least 20 to 30 km in all directions, because a ridge 15 km away at 300 m above the site elevation still subtends roughly 1.1 degrees of horizon angle, which is enough to clip sunrise and sunset on winter solstice.
For each analysis point on the site, the algorithm casts rays outward at a set of azimuth bearings, typically every 1 to 5 degrees around the full 360-degree circle. Along each ray, it samples DEM elevation values and computes the maximum elevation angle to any terrain feature. The result is a horizon profile: a table of (azimuth, elevation angle) pairs. That profile is then intersected with the solar position time series for the site's latitude and longitude. Any hour in which the sun's elevation falls below the terrain horizon angle at the corresponding azimuth is flagged as fully shaded for beam irradiance. Diffuse irradiance is reduced by a sky-view factor computed from the same horizon profile.
The horizon profile exports directly into PVsyst's 'Horizon' input tab or into NREL's System Advisor Model (SAM) as a horizon elevation file. Both tools then apply the shading correction to every timestep in their irradiance simulation, producing a shading-adjusted yield estimate that reflects the actual topographic envelope of the site.
Where DEM vertical error actually hurts you
The honest caveat is this: DEM vertical accuracy is not uniform, and the errors concentrate precisely where they matter most for shading analysis. Steep slopes, forested ridgelines and areas of low SAR coherence all degrade the accuracy of interferometric DEMs. TanDEM-X quotes 1–2 m relative vertical accuracy (LE90) in open terrain, but that figure can deteriorate to 4 m or more on a forested ridge crest. A 4 m vertical error on a ridge 5 km away translates to roughly 0.05 degrees of horizon angle error. That sounds negligible, but at low sun angles in December the sun moves through that angular range in a matter of minutes, so the uncertainty in shaded-hours count can reach 20 to 40 hours per year at high-latitude sites.
The practical response is to use the highest-resolution DEM available (TanDEM-X 12 m commercial product where the budget allows), to cross-check the computed horizon profile against ground-based fisheye photography or clinometer measurements at the proposed inverter locations, and to report shading loss as a range rather than a point estimate. A well-documented uncertainty bound is more useful to a lender than a falsely precise single number.
Self-shading within the array: a different geometry, same DEM
Terrain shading and inter-row self-shading are related but distinct problems. Inter-row shading is driven by panel tilt, row pitch and the sun's elevation angle, not by external topography. However, terrain slope directly affects the optimal row pitch. A south-facing slope of 10 degrees reduces the required row spacing for a given shading threshold, increasing ground coverage ratio and improving yield per hectare. A north-facing slope of the same magnitude has the opposite effect, and a site on a north-facing slope in the northern hemisphere may have inter-row shading losses that exceed terrain horizon losses.
DEM slope and aspect layers derived from the same raster used for horizon analysis feed directly into row-spacing optimisation. The slope grid is computed as the first derivative of the elevation surface; aspect gives the downslope direction. Both are standard outputs of any GIS raster analysis. The combined product, a site-wide map of optimal row pitch as a function of local slope and aspect, is something that flat-terrain layout tools cannot produce without the DEM input.
From analysis to a number a lender will accept
The deliverable that matters in project finance is a bankable P50 and P90 yield estimate with shading losses explicitly separated from other loss factors. Terrain shading loss appears as a named line item in the PVsyst loss cascade, typically expressed as a percentage of annual beam irradiance. For a site in complex topography, that line item should be supported by a documented horizon profile, the DEM source and its stated accuracy, the ray-casting parameters used, and a sensitivity analysis showing how the shading loss changes if the horizon profile shifts by plus or minus the DEM vertical error.
Satellize produces this analysis as a GIS-ready deliverable: a gridded horizon-angle layer at the DEM posting, a site-average horizon profile in PVsyst-compatible format, and a written uncertainty assessment. The workflow runs on Copernicus GLO-30 for initial screening and on TanDEM-X 12 m data for final bankable analysis, the same data-agnostic approach the team applies across its analytics work, including the Kingdom of Tonga crop-estimation programme. The output plugs into the client's existing yield model without requiring a change of software.
Typical figures
| DEM spatial posting (screening grade) | 30 m (Copernicus GLO-30, AW3D30, SRTM) |
| DEM spatial posting (bankable grade) | 12 m (TanDEM-X commercial product) |
| Vertical accuracy, open terrain | 1–2 m RMSE (TanDEM-X 12 m); 4–5 m RMSE (GLO-30, AW3D30) |
| Vertical accuracy, forested ridge | Up to 4–8 m RMSE depending on canopy density and SAR coherence |
| Horizon ray azimuth resolution | 1–5 degrees (user-configurable; 1-degree recommended for final analysis) |
| Analysis domain radius | 20–30 km minimum around site centroid at mid-latitudes |
| Shading-hour uncertainty (high-latitude winter) | 20–40 hours per year for a 4 m DEM vertical error on a ridge 5 km distant |
| Output formats | GeoTIFF horizon-angle grid, PVsyst .HOR file, SAM horizon CSV, PDF uncertainty report |
| DEM archive depth | TanDEM-X global coverage acquired 2010–2015; GLO-30 released 2021, static product |
Analytics Satellize can run
| Site-average horizon profile | Ray-casting on DEM grid at 1-degree azimuth intervals, maximum elevation angle per bearing | PVsyst-compatible .HOR file and SAM horizon CSV for direct import into yield model |
| Gridded horizon shading loss map | Per-pixel ray-casting across site footprint, intersected with TMY solar position time series to compute annual beam-shading fraction | GeoTIFF raster of annual terrain shading loss (%) at DEM posting, suitable for layout optimisation |
| Sky-view factor layer | Hemispherical integration of horizon profile per pixel; standard method for diffuse irradiance correction | GeoTIFF sky-view factor (0–1 scale) for diffuse shading correction in yield model |
| Slope and aspect grid for row-pitch optimisation | First-derivative raster analysis of DEM elevation surface | GeoTIFF slope (degrees) and aspect (degrees from north) layers; optional optimal row-pitch map |
| DEM vertical uncertainty propagation report | Monte Carlo perturbation of horizon profile within stated DEM RMSE bounds; sensitivity of annual shading loss to vertical error | PDF report quantifying P50 and P90 shading loss range for lender due diligence |
| Multi-DEM cross-validation | Comparison of horizon profiles derived independently from TanDEM-X, GLO-30 and AW3D30; flagging of discrepant ridge features for field verification | Tabular comparison report with recommended field-check locations |
Who does the work
We can get this done for you. Satellize runs its own analyst desk and a strong science team. You do not buy a data feed and work out what it means; our people source the imagery, run the analysis described on this page, and hand you the answer with its confidence limits stated. Discuss this requirement.