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.
Ballasted racking avoids roof penetrations but trades that for weight, wind uplift risk and membrane wear that must be engineered, not guessed.
A flat commercial roof looks like the easiest place to put an array: no rafters to find, no tile hooks, no shading from a ridge line. The catch is that without penetrations to anchor the racking, the whole system has to be held down by its own weight and by aerodynamic shape, which turns every layout decision into a structural one.
This is written for engineers, EPC project managers and facility owners specifying or reviewing a ballasted array above 10 kWp, where the roof's load rating and the local wind climate both push back against a purely commercial layout. It assumes familiarity with basic structural terms but not with wind engineering.
The three failure modes that matter are uplift blow-off in a storm, point-load damage to the membrane, and slow roof deflection under distributed dead weight. Each is manageable, but only if the design process treats ballast quantity as an output of calculation, not an input chosen to hit a target roof loading.
A ballasted system uses concrete blocks, paver trays or steel trays filled with aggregate, set into a tilted or east-west frame that sits directly on the roof membrane, usually on a slip sheet or protection mat. There is no mechanical fastening to the structure. The array resists wind uplift and lateral sliding purely through the combined weight of the racking, modules and ballast, plus the aerodynamic shielding effect of adjacent rows.
Two geometries dominate the market. Tilted south-facing (or north-facing in the southern hemisphere) rows at 10-15 degrees maximize specific yield per kWp but need wider row spacing and larger ballast at the array edges. East-west (butterfly) rows lie closer to the roof, typically 5-10 degrees, pack more kWp per square metre of roof, and are inherently more wind-stable because the profile is lower and more symmetric.
Wind pressure coefficients on a flat roof are not uniform. Corner zones can see uplift pressures 2-3 times higher than the field of the roof, because of the vortex that forms as wind separates around the building edge. Rows in the corner and perimeter zones (as defined in EN 1991-1-4) therefore need proportionally more ballast per module than rows in the interior, even though the modules themselves are identical. Ignoring this and spreading ballast evenly across the roof is one of the most common design errors on flat-roof jobs.
A competent ballast calculation combines:
Racking vendors publish wind tunnel-derived ballast tables (often ASCE 7 or Eurocode-mapped) that give kilograms of ballast per module position as a function of wind speed, height and zone. These are only valid for the tested tilt angle and row geometry; changing row pitch to save roof area invalidates the table and requires a new run or a conservative fallback to the worst-case entry.
Consider a warehouse roof, building height 9 m, terrain category II, basic wind speed 24 m/s, with an east-west array at 10 degrees tilt. The racking vendor's ballast table gives 32 kg per module in the field zone and 58 kg per module in the perimeter zone (1.8 m wide band around the roof edge) for this wind speed and height.
For a 500-module array with 60 modules falling in the perimeter zone and 440 in the field zone:
Field ballast: 440 x 32 kg = 14,080 kg Perimeter ballast: 60 x 58 kg = 3,480 kg Total ballast: 17,560 kg
Add module and racking self-weight, say 18 kg per module position (14.5 kg module + 3.5 kg tray/rail share): 500 x 18 kg = 9,000 kg.
Total distributed dead load: 26,560 kg over roughly 950 m2 of covered roof area (assuming east-west rows with 80 percent ground coverage), giving an average of about 28 kg/m2, or roughly 0.28 kN/m2. That has to be checked against the roof's live and dead load allowance, not just its ultimate capacity, because most flat roofs also carry snow load and maintenance live load concurrently.
Every ballasted project starts with the building's structural drawings or, failing that, a structural engineer's assessment of the roof's allowable additional distributed load. Typical steel-deck commercial roofs allow an extra 0.15-0.40 kN/m2 (15-40 kg/m2) for PV before triggering reinforcement, but older roofs, roofs with existing HVAC loads, or roofs with long unsupported spans can be much lower. A 25-year-old roof with an already-installed rooftop unit and a built-up membrane may have almost no spare capacity.
| Roof structure type | Typical spare capacity for PV | Practical implication |
|---|---|---|
| New steel deck, purlins at 1.5 m | 0.35-0.50 kN/m2 | East-west ballasted array usually fits without reinforcement |
| Older steel deck, purlins at 2.0 m+ | 0.10-0.20 kN/m2 | May require hybrid ballast + mechanical fastening |
| Precast concrete plank | 0.40-0.70 kN/m2 | High capacity, ballast rarely limiting |
| Lightweight timber flat roof | 0.05-0.15 kN/m2 | Ballasted PV often infeasible; consider penetrating fixings |
When spare capacity is tight, the practical fix is a hybrid system: partial ballast plus a limited number of mechanical anchors at high-uplift zones, which cuts total weight substantially while keeping most of the roof penetration-free. This needs sign-off from whoever holds the roof warranty, since anchoring through the membrane is exactly what ballasted systems were chosen to avoid.
Concrete ballast blocks and steel trays concentrate load at small contact points, and repeated thermal cycling makes racking feet creep slightly over years. Without protection, this abrades single-ply membranes (TPO, PVC, EPDM) and can puncture them at joints or seams.
Standard practice: a slip sheet or protection mat (typically a reinforced geotextile or a manufacturer-specified pad, 3-6 mm thick) under every ballast tray and rail foot, sized generously beyond the footprint. On aged bituminous membranes, an additional cap sheet strip along ballast rows is common. The roofing manufacturer's warranty terms almost always specify what is acceptable, and using an unapproved interface material is a fast way to void a 15-20 year roof warranty over a 25-year PV asset - a mismatch worth flagging to the owner explicitly.
Inspection intervals matter too: an annual visual check of pad condition and tray-to-membrane contact catches abrasion before it becomes a leak. This should be written into the O&M contract, not left implicit.
Beyond pure ballast weight, most systems rely on the trays interlocking or being mechanically linked (bolted rails between trays) so that wind load on one row is partially shared with neighbors, and so the array does not walk across the membrane under repeated wind cycling - a real phenomenon on smooth membranes with lightweight trays. Vendors specify a minimum row-to-row connection detail; skipping it to save installation time is a documented cause of ballast system creep reported in post-storm inspections.
Sometimes, but the ballast mass required can become impractical, often exceeding what the roof structure can bear. Above roughly 28-30 m/s basic wind speed on exposed sites, a hybrid ballast-plus-anchor design is usually more roof-friendly than a pure ballast one.
Generally yes, because frontal exposed area drops, but east-west systems also cover more roof area per kWp, so total ballast per kWp does not fall as much as ballast per module does. Compare both metrics before deciding.
An annual visual inspection is standard practice, checking pad wear, tray alignment and any signs of membrane wear at contact points, with a more thorough check after any storm event exceeding the site's normal design wind speed.
They can, but ballast tables assume a defined exposure category; obstructions like rooftop units change local wind flow and can increase or shield loads unpredictably, so a site-specific wind assessment is preferable to a generic table in those cases.
Ballast and racking are typically classified as an added dead load (permanent, non-moving), while maintenance access and snow remain separate live and snow load categories that must be combined per the applicable Eurocode load combination rules.
See also system sizing, inverter sizing, the glossary, and our companion pieces on wind and snow loads on PV structures and array layout and row spacing.
Standards are cited for orientation. Always work from the current published edition and the national annex that applies in your jurisdiction.
First published.
Technical review: worked examples re-derived, standards references checked against current editions, sources verified.
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.
A technical comparison of ground-mount and roof-mount PV covering yield, tilt freedom, foundations, cost per kWp, cabling, permitting, and O&M access.
How EN 1991-1-3 and 1991-1-4 govern PV mounting design, from terrain factors and edge zones to uplift arithmetic and roof capacity checks.