Skip to content
SLSolar Ledger
Installation

Array layout and row spacing: the shading-density trade-off

A worked-trigonometry guide to inter-row shading geometry, solar altitude at the design hour, and how ground coverage ratio trades off against annual shading loss.

By Solar Ledger Editorial13 min read
Last reviewed

Row spacing is one of the few PV design decisions that trades off against itself: tighter spacing raises ground coverage ratio and energy density per hectare, but it also raises inter-row shading losses, and the two effects do not move in your favor at the same rate. This article is for site designers and layout engineers who need to move past rule-of-thumb spacing ratios and actually run the trigonometry for a specific site and design hour.

The core geometry is simple - solar altitude, row height, and row pitch fully determine when one row starts shading the row behind it - but the economic optimum depends on the shape of the shading-loss curve near the chosen design hour, and that curve is not linear. Small spacing reductions near the optimum barely affect losses; the same reduction below a threshold causes losses to rise sharply.

We work through the standard design-hour method, show the trigonometry explicitly, and then quantify the trade-off between ground coverage ratio and annual shading loss using representative numbers.

Solar geometry fundamentals

For a fixed-tilt array, the sun's position is described by solar altitude (angle above the horizon) and solar azimuth (compass bearing), both functions of latitude, day of year, and time of day. Inter-row shading is governed almost entirely by solar altitude at the times of day and year when the sun is low - shading loss is negligible near solar noon in summer and dominant in the low-altitude hours of winter mornings and afternoons.

The standard design approach does not optimize for the worst possible moment (typically the winter solstice at sunrise, when the sun is at or below the horizon and any finite spacing would "fail"). Instead it fixes a design hour - commonly solar noon plus/minus a stated number of hours on the winter solstice, or a fixed solar altitude threshold such as the "4-hour window around solar noon on December 21" - and ensures no shading occurs at that hour. Losses outside the design window are accepted and quantified separately.

Solar altitude at the design hour

Solar altitude alpha at a given hour angle H, on a day with solar declination delta, at latitude phi, is:

sin(alpha) = sin(phi) x sin(delta) + cos(phi) x cos(delta) x cos(H)

Declination on the winter solstice (Northern Hemisphere, around December 21) is delta = -23.45 degrees. The hour angle H is 15 degrees per hour from solar noon (H = 0 at solar noon, H = 30 degrees two hours before or after noon).

Figure — Row pitch geometry

Pitch is the projected width of the row plus the shadow its back edge casts at the winter design hour. Reduce the tilt and both terms shrink together.

Ground coverage ratio and its trade-off with shading

Ground coverage ratio (GCR) is the ratio of module area to total ground area, or equivalently (for a single-axis-fixed row geometry) the ratio of the row's plan-projected width to the row pitch (center-to-center row spacing):

GCR = W_proj / D

where W_proj is the horizontal (plan) projection of the tilted module row and D is the row pitch. A higher GCR packs more capacity per hectare - directly reducing land cost, cabling length, and civil works per kWp - but increases the fraction of hours in the year when adjacent rows partially shade each other, cutting energy yield per installed kWp. There is no universally correct GCR; the optimum depends on land cost, latitude (which sets the achievable sun angles), electricity value, and whether the array uses fixed tilt or tracking (trackers largely sidestep this trade-off through backtracking, at the cost of mechanical complexity).

Worked trigonometric example

Consider a fixed-tilt array at latitude 45 degrees N, tilt angle 30 degrees, module row height (slant height) 2.0 m, designed for no shading within 4 hours of solar noon on the winter solstice (December 21, delta = -23.45 degrees).

Step 1: solar altitude at the design hour (H = 60 degrees, i.e. 4 hours from solar noon).

sin(alpha) = sin(45) x sin(-23.45) + cos(45) x cos(-23.45) x cos(60) sin(alpha) = (0.7071 x -0.3977) + (0.7071 x 0.9175 x 0.5) sin(alpha) = -0.2812 + 0.3244 sin(alpha) = 0.0432 alpha = 2.48 degrees

This is a very low sun angle, as expected 4 hours from noon in midwinter at 45 degrees latitude - it is close to the geometric limit where the sun is barely above the horizon, so a 4-hour design window at this latitude demands very wide spacing or an acceptance of some shading loss at the window edges.

Step 2: required row pitch for zero shading at this altitude.

The shadow length cast by a row of slant height L tilted at angle beta, measured horizontally along the ground in the direction of the sun's azimuth projection, for a due-south-facing array at solar noon-ish hour angles (ignoring azimuth deviation for this simplified case) is approximately:

Shadow horizontal length = L x cos(beta) + [L x sin(beta)] / tan(alpha)

With L = 2.0 m, beta = 30 degrees, alpha = 2.48 degrees:

= 2.0 x cos(30) + [2.0 x sin(30)] / tan(2.48) = 2.0 x 0.8660 + [2.0 x 0.5] / 0.0433 = 1.732 + 1.0 / 0.0433 = 1.732 + 23.09 = 24.82 m

Step 3: interpret the result. A row pitch of nearly 25 m for a 2 m slant-height row gives a GCR of roughly W_proj / D = 1.73 / 24.82 = 0.07 - about 7%. This is impractically low for land-constrained sites and illustrates why nobody designs to true zero shading at a 4-hour window at 45 degrees latitude; in practice, designers either shorten the design window (e.g. 2-3 hours from solar noon), accept a defined amount of shading loss at the window edges, or use a lower tilt angle to reduce L x sin(beta).

Repeating step 1-2 for a 2-hour design window (H = 30 degrees) gives sin(alpha) = 0.7071x-0.3977 + 0.7071x0.9175x0.866 = -0.2812+0.5615 = 0.2803, alpha = 16.29 degrees, and shadow length = 1.732 + 1.0/tan(16.29) = 1.732 + 1.0/0.2924 = 1.732+3.420 = 5.15 m, giving GCR = 1.73/5.15 = 0.34 - a far more realistic 34%, illustrating how sharply required pitch drops as the design window narrows.

Shading-loss vs density trade-off

Row pitch (m)GCR (approx)Design window (no shading)Typical annual shading loss
5.150.34+/-2 h at solstice2-4%
6.50.27+/-3 h at solstice1-2%
8.50.20+/-4 h at solstice<1%
4.00.43+/-1 h at solstice5-8%
3.00.58near-zero margin10-15%+

These figures are order-of-magnitude illustrations for the 45 degrees latitude, 30 degree tilt case above and will shift with latitude, tilt, and azimuth orientation; they should not be used as a substitute for a full 8760-hour simulation, but they demonstrate the characteristic shape: shading loss rises slowly as GCR increases from 0.20 to 0.30, then accelerates sharply above roughly 0.40-0.45 for fixed-tilt arrays at mid latitudes.

Why the curve bends

Below a critical GCR, only the lowest-sun hours near sunrise/sunset in midwinter are shaded, and these hours carry little energy because of the cosine losses on the module plane and higher atmospheric attenuation at low sun angles - shading a low-value hour costs little. Above the critical GCR, shading begins to intrude into higher-altitude, higher-irradiance hours, and the marginal energy lost per unit of pitch reduction rises quickly. This is why practical fixed-tilt utility arrays commonly land in the GCR 0.28-0.40 range rather than pushing toward the theoretical density limit.

Azimuth deviation and non-ideal orientations

The simplified shadow formula above assumes a due-equator-facing array observed near solar noon. For east-west deviated arrays or hours farther from solar noon, the sun's azimuth is not aligned with the row's shading axis, and the effective shadow length must be computed using the full solar position (both altitude and azimuth) projected onto the plane perpendicular to the row direction. Software tools (PVsyst, PVGIS-based custom scripts) handle this rigorously across all 8760 hours of the year; the simplified single-hour calculation above is a design check, not a substitute for full-year simulation when finalizing GCR for a real project.

Trackers and backtracking

Single-axis trackers use backtracking algorithms that deliberately reduce the tracking angle away from true sun-normal as the sun approaches the row-to-row shading limit, trading a small direct-beam cosine loss for the elimination of inter-row shading entirely. This allows trackers to run at higher GCR (commonly 0.35-0.45) than an equivalently spaced fixed-tilt array without incurring the same shading penalty, though the mechanical and control complexity, plus the higher balance-of-system cost, are the offsetting factors. For system-level yield estimates that account for these effects, see the system sizing calculator.

Common mistakes

  • Designing to a fixed rule-of-thumb spacing ratio (e.g. "2.5x module height") without checking it against the site's actual latitude and target design hour.
  • Using solar noon geometry only and ignoring the shoulder hours of the design window, where altitude drops fastest and shading risk concentrates.
  • Ignoring azimuth deviation for east-west rotated layouts, which shifts the effective shading condition away from the simplified due-south formula.
  • Treating GCR as a single site-wide constant when terrain slope or row curvature (contour-following racking) changes effective row height and pitch locally.
  • Overweighting land cost savings from higher GCR without running the annual energy simulation that reveals where the shading-loss curve steepens.
  • Applying the same design window (e.g. 4 hours) at both low and high latitudes, where the required pitch and resulting GCR differ enormously.

Frequently asked questions

What design window is typical for utility-scale fixed-tilt arrays?

Most practice uses a 2 to 4-hour window around solar noon on the winter solstice, but the choice should be driven by an explicit trade-off study rather than convention alone, since the required pitch is highly sensitive to window width, especially at higher latitudes as shown in the worked example.

Does a higher GCR always mean lower project cost?

Not necessarily net of energy loss. Higher GCR reduces land, cabling, and civil cost per kWp, but the associated shading loss reduces energy yield per kWp; the optimum GCR balances land value against local electricity value and generally rises with land cost and falls with a high shading-loss penalty at that latitude.

How much does tilt angle affect required row spacing?

Significantly. Reducing tilt lowers the slant-height projection (L x sin(beta) term) that drives shading, so lower-tilt arrays can use tighter spacing for the same design window; this is one reason low-latitude sites, which already use lower tilt angles, can support higher GCR than high-latitude sites at an equivalent design window.

Why do trackers use different GCR values than fixed-tilt arrays?

Because backtracking eliminates the hard shading cutoff that fixed-tilt geometry imposes, replacing it with a smoother, smaller cosine loss as the tracker angle is limited near the shading boundary; this allows economically higher packing density for the same acceptable energy loss.

Is the simplified single-hour shadow formula sufficient for final design?

No. It is a useful first-pass design check and sanity bound, but final row spacing should be confirmed with full 8760-hour simulation software that accounts for the complete solar path, diffuse irradiance components, and site-specific horizon obstructions.

Standards and references

  • IEC 61724-1:2021 - Photovoltaic system performance monitoring (relevant to measuring realized shading losses)
  • IEC TS 61836 - Solar photovoltaic energy systems - Terms, definitions and symbols
  • NREL - PVWatts and System Advisor Model documentation on shading and row-spacing algorithms
  • JRC/PVGIS - Photovoltaic Geographical Information System, solar resource and horizon shading methodology
  • Fraunhofer ISE - Photovoltaics Report, ground-mount and utility-scale design sections
  • IEA PVPS Task 13 - Performance and reliability studies including shading loss quantification

Related design decisions interact with row spacing choices, including inverter and string sizing discussed in MPPT explained and voltage drop implications covered in the voltage drop calculator; see also the glossary for term definitions.

array-layoutrow-spacingshading-lossground-coverage-ratioinstallation

Standards referenced

  • IEC 61724-1

Standards are cited for orientation. Always work from the current published edition and the national annex that applies in your jurisdiction.

Sources and further reading

  1. [1]IEC 60364-7-712 — Low-voltage installations: photovoltaic power systems — IEC
  2. [2]IEC 62446-1 — Grid connected PV systems: documentation, commissioning tests and inspection — IEC
  3. [3]Best Practices for Operation and Maintenance of Photovoltaic and Energy Storage Systems — NREL
  4. [4]Task 13: Performance, Operation and Reliability of PV Systems — IEA PVPS

Update history

  • First published.

  • Technical review: worked examples re-derived, standards references checked against current editions, sources verified.

The weekly brief

One email a week: new articles, tariff changes and hardware worth knowing about. No spam.