Commercial flat rooftop solar installation showing ballasted racking system on the left and penetrating mounting system on the right

Three ways to hold an array on a flat roof

The first design decision is how the array resists wind and earthquake. Each approach moves the risk to a different part of the building.

  • Ballasted: concrete blocks in trays or on base rails hold the array by weight, and friction resists sliding. The membrane stays intact, while the roof structure carries the full ballast load.
  • Mechanically attached: the racking is fixed to the structural deck or purlins through flashed standoffs. Dead load stays low, and every penetration becomes a waterproofing detail the roofer must approve.
  • Hybrid: ballast carries most of the array, and a limited number of attachments take the edge and corner forces where wind uplift peaks.

FM Global Data Sheet 1-15 (July 2014, interim revision July 2023) limits ballasted rigid PV to roof slopes up to 1/2 in per ft (2.4°) and uses a static friction coefficient of 0.4 in design unless a higher value is justified; the table compares the three approaches on that basis.

CriterionBallastedMechanically attachedHybrid
Wind uplift resisted bySelf-weight plus ballastAnchors into the structureBallast in the field, anchors at edges and corners
Added dead loadHighestLowestIntermediate
Membrane penetrationsNoneOne per standoffA limited number, at high-load zones
Roof slope guidanceUp to 2.4° (FM DS 1-15)Set by the standoff and flashing detailBallast portion follows the ballasted limit
Seismic behaviourSlides; needs separation and interconnectionRestrained by anchorsRestrained where anchored
Typical fitConcrete decks with spare capacityLight steel decks and metal roofsTight capacity at perimeter zones, high wind or seismic sites

Roof structure: load capacity and ballast budget

Start every project with a structural survey. The engineer of record compares the array’s dead load, ballast and point reactions with the spare capacity left after the original live, snow, rain and services loads. FM DS 1-15 states the principle for existing roofs: the PV dead weight must leave the roof’s resistance to snow, rain and other live loads at acceptable levels. Where the International Existing Building Code applies, added gravity load can trigger an upgrade of existing members, so record that check in the survey report.

Ballast decides feasibility. Uplift on a low-tilt array peaks at roof corners and edges, so the ballast plan is a zoned map, heavier at the perimeter. Ask for it early: it shows where the roof runs short of capacity.

Worked example (assumed inputs, unfactored service-level loads). A wind-tunnel-based ballast report gives 25 kg/m² of ballast in the interior zone and 60 kg/m² in corner zones; racking and modules add 12 kg/m²; the structural survey shows 0.50 kPa of spare capacity. Interior zone: (25 + 12) × 9.81 / 1,000 = 0.36 kPa, within capacity. Corner zone: (60 + 12) × 9.81 / 1,000 = 0.71 kPa, which exceeds 0.50 kPa. The design becomes hybrid: attachments replace most corner ballast, and the interior stays ballasted.

Wind design: choose the method that fits the array

Rooftop arrays sit in the separated flow above the roof, so codes now carry dedicated provisions, each with a defined scope.

ASCE 7-16 and ASCE 7-22 (United States and many tender specifications). ASCE 7-16 introduced Section 29.4.3 for tilted panels on flat roofs and Section 29.4.4 for panels parallel to the roof. Section 29.4.3 adjusts nominal coefficients with edge, chord-length and parapet factors; the edge factor γE is 1.5 for uplift on exposed panels and 1.0 elsewhere. ASCE 7-22 keeps these provisions with small changes and adds Section 29.4.5 for ground mounts.

ASCE 7-16 §29.4.3 applies only within fixed geometric limits, listed in the table below with their metric equivalents.

ASCE 7-16 §29.4.3 parameterLimit
Roof type and slopeFlat, gable or hip roof, θ ≤ 7°
Panel chord length Lp≤ 2.04 m (6.7 ft)
Panel tilt ω≤ 35°
Gap under the panel’s low edge h1≤ 0.61 m (2 ft)
Height of the panel’s high edge h2≤ 1.22 m (4 ft)
Gap between panels≥ 6.4 mm (0.25 in), at spacings ≤ 2.04 m (6.7 ft)
Clear distance to roof edgeLarger of 2(h2 − hpt) and 1.22 m (4 ft)

Wind-tunnel-based ballast design. Arrays outside these limits can be designed from boundary-layer wind-tunnel tests. California’s Division of the State Architect (IR 16-8) requires these to follow ASCE 7 Chapter 31 and ASCE 49, with a to-scale array on a modelled roof, and applies results only within the tested geometry, tilt, row spacing, height and roof shape. FM DS 1-15 also calls for ASCE 49 boundary-layer testing and rejects computational fluid dynamics as primary substantiation. For low-profile arrays on flat roofs, SEAOC Report PV2-2017 is an accepted alternative in some US jurisdictions, including Portland, Oregon.

AS/NZS 1170.2:2021 (Australia and New Zealand). The 2021 edition and its amendments include provisions for roof-mounted solar panels. Check the full scope of each provision before using its coefficients, and treat the interaction between the array and the roof’s own wind load as a separate check, as set out in our AS/NZS 1170.2 solar wind design guide.

EN 1991-1-4 (Europe and markets that adopt Eurocodes). The 2005 Eurocode gives roof and canopy coefficients. A 2007 TNO wind-tunnel study found that wind codes gave no values specific to solar panels on flat roofs, and measured higher uplift near corners and edges. Eurocode projects therefore take array coefficients from wind-tunnel data or national guidance, with EN 1991-1-4 supplying the basic wind velocity and exposure.

Seismic sliding of unattached arrays

In an earthquake a ballasted array slides, so seismic design asks how far it moves and what keeps it on the roof. ASCE 7 §13.6.12 permits unattached arrays under conditions the City of Portland summarises as follows:

  1. Risk Category I, II or III buildings of six storeys or fewer.
  2. Roof slope at most 1 in 20, or 1 in 12 with independent peer review.
  3. Centre of mass of any panel less than 0.91 m (3 ft) above the roof and less than half the least plan spacing of the panel supports.
  4. Array designed to accommodate its calculated seismic displacement relative to the roof.
  5. Panels interconnected to resist a horizontal force of 0.2 SDS Wpi.
  6. A seismic load path from each component’s centre of mass to the friction surface for the lesser of Fp and 0.6Wp.
  7. All parts of the array at least twice the calculated displacement, and at least 1.22 m (4 ft), from the roof edge.
  8. A friction coefficient determined by testing, including wet and icy conditions.

ASCE 7-22 adds that the solar panels are excluded from the interconnection load path unless they have been evaluated or tested for that loading, so continuous rails or ties must carry the force. California’s DSA IR 16-8 also screens for ice and snow, which reduce friction: any roof with SDS below 0.5 qualifies, as do roofs that meet its listed temperature thresholds.

Worked example (assumed input). If the calculated sliding displacement is 0.40 m, twice that is 0.80 m, so the 1.22 m minimum governs the edge clearance.

Roof membrane protection and drainage

Ballast and racking feet bear directly on the waterproofing. Specify protection pads or slip sheets compatible with the membrane, and confirm the detail with the roofing manufacturer so the roof warranty stays valid. FM DS 1-15 calls for ballasted rigid arrays over fully adhered roof covers, and for an FM Approved roof-PV assembly on mechanically fastened single-ply covers.

FM DS 1-15 requires an unobstructed path for rainwater to every roof drain. In practice, run base rails parallel to the fall, keep gaps at crickets and gutters, and leave drains and overflows open for inspection. Ballast trays that dam water also add rain load, so the survey’s ponding check should include the array.

Fire-access pathways and setbacks

Firefighters need clear paths across the roof and to vents and standpipes. Section 1205.3 of the 2021 International Fire Code sets a 1.8 m (6 ft) clear perimeter for buildings other than Group R-3, reduced to 1.2 m (4 ft) where either axis is 76 m (250 ft) or less, with interior pathways at intervals of at most 45.7 m (150 ft).

Provision2021 IFC §1205.3 (example jurisdiction model)FM DS 1-15 recommendation
Roof-edge perimeter1.8 m (6 ft); 1.2 m (4 ft) where either building axis ≤ 76 m (250 ft)Aisles agreed with the fire service
Interior pathwaysAt intervals ≤ 45.7 m (150 ft)Aisles ≥ 1.2 m (4 ft) wide at ≤ 46 m (150 ft) in each direction
Access hatches and standpipesPathways ≥ 1.2 m (4 ft) wideLayout submitted to the fire service for review

The IFC is an example; other markets publish their own aisle rules, and the local fire authority’s version governs. Lay out fire pathways to double as maintenance routes.

Maintenance access and fall protection

In the United States the fall-protection rule depends on the type of work. Installation is construction: under 29 CFR 1926.501(b)(1), an edge 1.8 m (6 ft) or more above a lower level requires guardrails, safety nets or personal fall arrest, and roofing work on low-slope roofs under 1926.501(b)(10) may also use a warning line combined with one of these or a safety monitor.

Maintenance is general industry: OSHA 1910.28(b)(13) sets fall protection for maintenance on low-slope roofs by distance from the edge, at thresholds of 1.8 m (6 ft) and 4.6 m (15 ft).

Distance from roof edgePermitted protection for maintenance work
Less than 1.8 m (6 ft)Guardrail, safety net, travel restraint or personal fall arrest
1.8 m to under 4.6 m (6 to under 15 ft)The same, or a designated area for infrequent, temporary work
4.6 m (15 ft) or moreThe same or a designated area; for infrequent, temporary work, protection may be omitted under an enforced rule barring approach within 4.6 m of the edge without protection

A parapet counts as a guardrail only where it meets the guardrail requirements of 29 CFR 1910.29(b), including a top edge of 42 in ± 3 in (107 ± 8 cm) and a 200 lb (890 N) load. Elsewhere, local rules apply, for example AS/NZS 1891 in Australia and the Work at Height Regulations 2005 in the United Kingdom. Placing inverters and cleaning water points 4.6 m or more from the edge keeps routine maintenance in the zone with the most options.

Tilt and row spacing

Wind-tunnel testing cited in the ICC review of ASCE 7-16 shows wind loads rising with panel height and chord length, which favours low-profile rows. Row pitch then follows from module length, tilt and the sun’s altitude in the design window.

Worked example (assumed inputs). A 1,134 mm module in landscape at 10° tilt, at latitude 14.6° N, with shade-free rows required from 09:00 to 15:00 solar time on the winter solstice (declination −23.44°). The module’s vertical rise is 1.134 × sin 10° = 0.197 m and its horizontal projection is 1.134 × cos 10° = 1.117 m. At solar noon the sun stands at 90 − 14.6 − 23.44 = 51.96°. At 09:00 it stands at 31.84°, 49.79° from south, so the shadow is 0.197 / tan 31.84° = 0.317 m long and 0.317 × cos 49.79° = 0.205 m deep along the row axis. Row pitch is 1.117 + 0.205 = 1.32 m, a ground coverage ratio of 1.134 / 1.32 = 0.86. Add walkway width where cleaning crews need it.

East-west layouts place modules back to back at low tilt, trading yield per module for more modules per square metre. Ask the yield modeller to compare both layouts on the roof area left after setbacks.

Engineering selection guide

  • Concrete deck with spare capacity above the ballast map, roof slope at most 2.4°: ballasted, with protection pads and a drainage-parallel layout.
  • Light steel deck, or ballast map exceeding capacity in edge and corner zones: hybrid, with attachments in those zones.
  • Metal standing-seam or trapezoidal roof: mechanically attached clamps or brackets on the profile.
  • High seismic hazard, roof slope above 1 in 20, or buildings above six storeys: attach the array, or obtain the peer review and conditions ASCE 7 §13.6.12 requires.
  • Array geometry outside ASCE 7 §29.4.3 limits: wind-tunnel-based design to ASCE 49, used only within the tested geometry.
  • All roofs: draw fire pathways, equipment and fall-protection zones first, then fill the remaining area with modules.

How to specify a flat-roof system in an EPC tender

State the design basis so bids are comparable:

  1. Design standard and edition (for example ASCE 7-22, AS/NZS 1170.2:2021 or EN 1991-1-4 with national annex), wind speed and exposure.
  2. Wind method: code provision with scope check, or an ASCE 49 wind-tunnel report stating the tested geometry.
  3. Zoned ballast map in kg/m² and point reactions per support.
  4. Seismic basis: attached, or unattached with ASCE 7 §13.6.12 displacement, interconnection and friction evidence.
  5. Membrane compatibility and roofing-warranty approval of pads and flashings.
  6. Drainage layout with drains and overflows clear of the array.
  7. Fire pathway, setback and fall-protection plans.
  8. Alloy, coating thickness and fastener grade for the corrosivity category.

How Solaracks supports flat-roof projects

Options are listed in the Solaracks flat roof mounting system range; these defaults are confirmed in Solaracks project documents. Calculation reports use static analysis to the applicable standard, such as ASCE 7-22 or JIS C 8955, with SAP2000 where simulation is needed. Aluminium profiles are 6005-T5 with 240 MPa yield, anodised to 12 µm by default, 15 µm for C4 and 20 µm for C5. Aluminium racking uses A2-70/304 stainless fasteners below C4 and A4 grade at C4 and above; galvanised and ZAM steel structures use grade 8.8 carbon-steel bolts, with a thermo-diffusion zinc multi-alloy (TDC) coating at C4 and above and a zinc coating to suit the corrosivity category below C4. M8 clamp bolts are generally torqued to 15–17 N·m per the installation manual. Lead time is 15–20 days, 5–10 MW is held in stock and small orders are accepted. Warranty is 12 years for aluminium racking and 10 years for ZAM and steel structures. For roof-type selection beyond flat roofs, see our EPC guide to roof and solar panel installation.

Sources

  1. Significant Changes to the Minimum Design Load Provisions of ASCE 7-16, sample chapter “Wind Loads on Rooftop Solar Panels” (§29.4.3, §29.4.4), International Code Council — shop.iccsafe.org
  2. City of Portland, Structural design requirements for solar installations (ASCE 7 §13.6.12 conditions; wind methods incl. SEAOC PV2-2017) — portland.gov
  3. Division of the State Architect, California, IR 16-8 Solar photovoltaic and thermal systems review (2025 CBC) — dgs.ca.gov
  4. Sustainable Energy Action Committee, Updates on ASCE 7 standard for solar PV systems (ASCE 7-22 §13.6.12 interconnection change).
  5. FM Global Property Loss Prevention Data Sheet 1-15, Roof-mounted solar photovoltaic panels, July 2014, interim revision July 2023.
  6. Geurts, C.P.W. and van Bentum, C.A. (2007), Wind loads on solar energy roofs, HERON 52(3), TNO — heronjournal.nl
  7. 2021 International Fire Code §1205.3, as reproduced by the City of Wylie Fire Marshal’s Office — City of Wylie
  8. OSHA, 29 CFR 1926.501 — osha.gov
  9. OSHA, 29 CFR 1910.28 — osha.gov
  10. OSHA, 29 CFR 1910.29 — osha.gov
  11. Work at Height Regulations 2005 (UK) — legislation.gov.uk
  12. Mayfield Renewables, How ASCE 7-22 updates will impact PV racking systems (ASCE 7-22 §29.4.5 and rooftop provisions).

Frequently asked questions

Is a ballasted flat roof solar mounting system suitable for every flat roof?

Ballast suits roofs with spare structural capacity and low slope. FM DS 1-15 limits ballasted rigid PV to 2.4° roof slope, and ASCE 7 §13.6.12 limits unattached arrays to slopes of 1 in 20 without peer review. Ask for a zoned ballast map and compare it with the structural survey before choosing.

How much ballast does a flat-roof array need?

Ballast comes from the wind design for the specific array, roof height, exposure and zone, so request a zoned map in kg/m² from the supplier. Corner and edge zones carry the most. Convert each zone to kPa (kg/m² × 9.81 / 1,000) and check it against the roof's spare capacity.

Which wind code applies to rooftop solar arrays?

Use the code your jurisdiction adopts: ASCE 7-16 or 7-22 §29.4.3 in the United States, AS/NZS 1170.2:2021 in Australia and New Zealand, and EN 1991-1-4 with national guidance in Europe. Arrays outside the code's scope need a boundary-layer wind-tunnel study to ASCE 49.

Can wind-tunnel results from one project be reused on another?

Only within the tested range. California's DSA IR 16-8 states that results apply to the tested panel geometry, tilt, row spacing, panel height and roof shape. Ask the supplier for the test report's parameter table and compare it with your layout before accepting reused coefficients.

When must a ballasted array be attached for seismic loads?

Under ASCE 7 §13.6.12, attach it unless all conditions are met, including Risk Category I–III buildings of six storeys or fewer, roof slope at most 1 in 20, a centre of mass below 0.91 m, interconnection for 0.2 SDS Wpi and tested friction. Keep the array twice the displacement, and at least 1.22 m, from the edge.

How wide must fire-access pathways be on a commercial roof?

Under 2021 IFC §1205.3, provide a 1.8 m (6 ft) roof-edge pathway, or 1.2 m (4 ft) where either building axis is 76 m (250 ft) or less, and interior pathways at intervals of at most 45.7 m (150 ft). Local fire codes vary, so confirm with the fire authority.

Do maintenance workers on a flat roof always need harnesses?

Harnesses are one option. For US maintenance work, 29 CFR 1910.28(b)(13) allows guardrails, safety nets, travel restraint or fall arrest within 1.8 m of the edge, and designated areas farther in. Place inverters and water points at least 4.6 m from the edge to widen the options.

What should an EPC tender ask for on flat-roof mounting?

Ask for the design standard and edition, the wind method or wind-tunnel report, a zoned ballast map with point reactions, the seismic basis, membrane compatibility and roofing-warranty approval, a drainage layout, fire pathways and setbacks, and the alloy, coating and fastener basis for the site's corrosivity category.

Get an engineered mounting quote for your project.

Share drawings, module layout, site location, wind load, snow load and corrosion environment. Solaracks will recommend the system, material, layout and packing approach.

Request a quote