The panels are rarely the weak link. The purlin, the fastener and the connection below it usually are. Illustrative photo.
Short answer: NSCP 2015 has no solar-panel clause. A rooftop photovoltaic array is designed as rooftop structures and equipment under Section 207D, whose scope (§207D.1.1) expressly covers "building appurtenances (such as rooftop structures and rooftop equipment)". For a building with a mean roof height of 18 m or less, §207D.5.1 gives the two forces that decide the whole job: a vertical uplift Fv = qh(GCr)Ar with GCr starting at 1.5, and a lateral force Fh = qh(GCr)Af with GCr starting at 1.9.
The weight of the panels is almost never the governing problem. Uplift is. The calculator below runs the code equations for your roof and array so you can see the anchor force before the racking vendor's standard layout gets bolted to a purlin that was never asked to resist it.
Runs NSCP 2015 Equations 207D.3-1, 207D.5-2 and 207D.5-3 on your array. Gives velocity pressure, uplift and lateral force, added dead load and the force at each anchor — a design-review sense check, not a sealed calculation.
Ask three installers which code clause covers their mounting system and you will often get three answers, none of them a clause. Here is what NSCP 2015 actually says.
Section 207D — Wind Loads on Other Structures and Building Appurtenances (MWFRS). Its scope, §207D.1.1, states that the section "applies to the determination of wind loads on building appurtenances (such as rooftop structures and rooftop equipment) and other structures of all heights… using the Directional Procedure." Table 207D.1-1, which lists the steps, sends you to Equations 207D.6-1 and 207D.6-2 for rooftop structures and equipment at Step 7, and to Figure 207D.5-1 for the force coefficient at Step 6.
Section 207D.5.1 — Rooftop Structures and Equipment for Buildings with h ≤ 18 m. This is the one that matters for almost every Philippine commercial rooftop:
| Force | Equation | Coefficient (GCr) |
|---|---|---|
| Lateral force on the array | Fh = qh(GCr)Af (207D.5-2) | 1.9 for Af < 0.1Bh; may be reduced linearly from 1.9 to 1.0 as Af rises from 0.1Bh to Bh |
| Vertical uplift on the array | Fv = qh(GCr)Ar (207D.5-3) | 1.5 for Ar < 0.1BL; may be reduced linearly from 1.5 to 1.0 as Ar rises from 0.1BL to BL |
| Velocity pressure | qz = 0.613 KzKztKdV² (207D.3-1) | V in m/s; qh is qz evaluated at mean roof height |
Af is the vertical projected area of the equipment on a plane normal to the wind; Ar is the horizontal projected area. The velocity pressure exposure coefficient is Kz = 2.01(z/zg)2/α for 4.57 m ≤ z ≤ zg, with α and zg from Table 207A.9-1: Exposure B α = 7.0, zg = 365.76 m; Exposure C α = 9.5, zg = 274.32 m; Exposure D α = 11.5, zg = 213.36 m.
A GCr of 1.9 looks brutal next to the pressure coefficients used for the roof itself — and the code's own commentary explains why. Because rooftop equipment is small compared with the building it sits on, the wind force is expected to be higher than a building-scale calculation predicts, thanks to "higher correlation of pressures across the structure surface, higher turbulence on the building roof, and accelerated wind speed on the roof." The commentary also notes that research showed high uplifts on the top of rooftops, which is why uplift is treated separately. Your array is not sheltered by being small; it is penalised for it.
§207D.5.1 was written with discrete rooftop units in mind — condensers, tanks, penthouses. Applied literally to a large, low-profile array lying a few centimetres above the roof sheet, it gives a conservative, fairly heavy uplift, which is what the calculator below shows. Because NSCP 2015 has no provision written for flush-mounted photovoltaic arrays, designers also look at the roof's own components-and-cladding pressures under §207E, and some use later international guidance written specifically for solar. Which basis governs is an engineering decision that should be stated in writing on the design, not buried in a vendor datasheet — and "the racking manufacturer said it's fine" is not a basis.
Uplift does not stop at the panel clamp. It travels: panel → rail → L-foot or standoff → fastener into the purlin → purlin-to-truss connection → truss → column → footing. Every link has to carry it, and in a retrofit the two weakest links are almost always the fastener into the purlin and the purlin-to-truss connection, neither of which was designed for a net upward force.
A framed crystalline module with rails and clamps typically adds a dead load in the region of 0.15 to 0.25 kPa over the array footprint — modest against, for example, the 0.60 to 1.00 kPa of roof live load that NSCP Table 205-3 applies to flat roofs by tributary area. That is why "can my roof take the weight" is usually the wrong question, and why a roof that passes a weight check can still fail in a typhoon.
Two weight cases do deserve attention. Ballasted flat-roof systems, which resist uplift with concrete blocks instead of penetrations, can multiply the dead load several times over — that trade is between roof penetrations and roof loading, and it has to be checked on the slab, not assumed. And concentrated loads at each foot: the array's weight and uplift arrive at discrete points, which is a different check from a uniform pressure, the same distinction NSCP draws in §205.3.3 for equipment loads on floors.
What AEDO does on a rooftop PV project. Nationwide, AEDO does the structural side: a capacity check of the existing roof framing against the §207D forces, the anchorage and connection design, the reinforcement scheme where members fall short, and a review of the racking vendor's layout against what the code actually requires for your site's wind speed and exposure. In Negros Oriental, AEDO can also carry out the structural works.
Neither is a code citation — both are practice observations from inspecting installed systems. They are here because they are what the next inspection finds.
Grid-connected rooftop solar in the Philippines rests on Republic Act No. 9513, the Renewable Energy Act of 2008, whose Section 10 obliges distribution utilities to enter into net-metering agreements with qualified end-users. The implementing rules came through ERC Resolution No. 09, Series of 2013, which set up the net-metering program with a 100 kW ceiling, and the program has since been amended by Department of Energy circulars — including DC2020-10-0022 (2020) and DC2024-08-0025 (2024). Because the eligibility cap and the commercial arrangements have been revised more than once, confirm the current rules with your distribution utility and the DOE rather than with any guide, this one included. On the building side, adding equipment and load to an existing structure is work the local Office of the Building Official expects to see under PD 1096.
Section 207D.1.1 (scope), Table 207D.1-1 (steps), Section 207D.3.2 / Equation 207D.3-1 (velocity pressure), Section 207D.5.1 with Equations 207D.5-2 and 207D.5-3 and their GCr values, the Kz expression, Table 207A.9-1 terrain exposure constants, Figure 207A.5-1A's notes and Table 205-3 roof live loads were read directly from NSCP 2015, Volume I, 7th Edition (ASEP) for this article. Module and racking weights, the 5.5–6.5 m²/kWp array-area figure, and the detailing observations are AEDO's own estimates and field practice, not code values. The RA 9513 / ERC / DOE references are regulatory context, not verified against the current circular text — confirm the live rules with your distribution utility.
Does NSCP 2015 have a section for solar panel wind loads?
Not a solar-specific one. Section 207D covers wind loads on other structures and building appurtenances, and §207D.1.1 states that it applies to building appurtenances such as rooftop structures and rooftop equipment. A rooftop array is designed under that heading, using §207D.5.1 for buildings with a mean roof height of 18 m or less. Anyone quoting you a solar-panel clause number in NSCP 2015 is quoting something that does not exist there.
How is wind uplift on a rooftop solar array calculated under NSCP 2015?
Vertical uplift is Fv = qh(GCr)Ar, with GCr = 1.5 for Ar < 0.1BL, reducible linearly from 1.5 to 1.0 as Ar increases from 0.1BL to BL. Lateral force is Fh = qh(GCr)Af, with GCr = 1.9 for Af < 0.1Bh, reducible linearly from 1.9 to 1.0 as Af increases from 0.1Bh to Bh. Velocity pressure comes from qz = 0.613 KzKztKdV², with V in metres per second.
Can my existing roof carry solar panels?
It has to be checked, and the governing case is usually not the weight. A framed crystalline array with rails typically adds roughly 0.15 to 0.25 kPa, which many roofs absorb. The wind uplift is the problem: the array is a new surface the roof was never designed to hold down, the force concentrates at a finite number of anchors, and the fastener pull-out and purlin-to-truss connection are what actually fail. Get the original framing drawings, or a measure-up and capacity check, before the layout is fixed.
What is the biggest mistake in Philippine rooftop solar installations?
Treating the mounting system as a roofing job rather than a structural one — vendor-standard anchor spacing instead of a spacing derived from the site's wind speed, purlins sized only for sheet and roof live load, and sealant with a shorter life than the panel warranty. All three show up in the first strong typhoon, and the damage is usually to the roof rather than the panels.
Do I need a permit for rooftop solar in the Philippines?
Expect three tracks: the structural and electrical works with the local Office of the Building Official under PD 1096, the grid connection with your distribution utility, and net metering under RA 9513 as implemented by ERC Resolution No. 09, s. 2013 and amended by DOE circulars including DC2020-10-0022 and DC2024-08-0025. The cap and commercial terms have changed more than once — confirm the current position with your utility.
Code provisions and references used in this article.
Module and racking weights, array area per kWp, ballast observations and the detailing notes on penetrations and bimetallic contact are AEDO's own estimates and field observations, not code figures. The calculator applies the code equations at strength level and does not run the Section 203 load combinations, check member or connection capacity, or cover buildings taller than 18 m.
Have the structure checked before the racking is ordered — it is far cheaper than after.