What to Decide About the Roof Assembly on a Charlotte Custom Home or Addition
The roof assembly for a Charlotte custom home is the deck, the underlayment, the weathering surface, and the flashings that join a new plane to an older roof or wall. It is not the shingle color. On the North Carolina side of this metro, the residential code the state still lists as effective assigns an ultimate design wind speed of 115 mph to counties it does not name, and Mecklenburg is one of those counties [1] [2]. Mecklenburg reviews residential plans, including additions, against the North Carolina code, so that speed belongs on the permit set [7].
What are we deciding when we say roof assembly?
We are deciding the deck, the underlayment, the covering, and every joint where wind or water can get between them.
Roof assemblies are designed and installed to the code and the approved manufacturer's instructions so the assembly protects the building [3]. Gutters, grading, the wall drainage plane, and attic insulation are separate work.
Which wind speed belongs on the permit set?
For Mecklenburg, the 2018 North Carolina Residential Code assigns an ultimate design wind speed of 115 mph, because the county is not on the named list [2].
The 2018 North Carolina Residential Code, effective January 1, 2019, is the residential code the State Fire Marshal still lists as currently effective [1]. Mecklenburg plan review checks submitted plans against the North Carolina Building Code, and the residential stream covers new construction, remodels, and additions [7].
Table R301.2(4) gives 115 mph to counties not listed [2]. Mecklenburg is not among the coastal, near-coastal, or mountain counties named there, and the elevation changes in Table R301.2(5) apply only in the special mountain regions [2]. The Wood Frame Construction Manual, ICC 600, ASCE 7, and the International Building Code are required only where those tables equal or exceed 130 mph [2].
Exposure B is assumed unless the site meets another category: urban, suburban, or wooded ground with closely spaced obstructions the size of houses [2]. Exposure C is open terrain. Exposure D is wind over open water or similar flats for at least 5,000 feet, extending downwind 600 feet or 20 times the building height, whichever is greater [2]. A transition between categories uses the category with the largest wind forces [2]. Coverings resist the component and cladding loads in Table R301.2(2), adjusted for height and exposure [3]. A continuous load path carries uplift from the roof assembly to the foundation, and trusses attach for the uplift on the drawings for Table R301.2(4) [2] [4]. A South Carolina lot at Lake Wylie is outside these tables, so I do not use 115 mph there [2].
What deck should the covering be fastened to?
Asphalt shingles go on a solid deck of wood structural panels that are grade-marked for the span.
Asphalt shingles shall be fastened to solidly sheathed decks [3]. Roof sheathing panels conform to DOC PS 1, DOC PS 2, CSA O437, or CSA O325, identified by a grade mark or certificate of inspection for grade, bond classification, and performance category [4]. Spans may not exceed Table R503.2.1.1(1) or APA E30, and installation follows Table R602.3(1) or APA E30 [4]. Exposure 1 is allowed when only the underside is exposed [4]. A panel left outdoors uncovered needs exterior durability [4].
Roof replacement removes existing layers down to the deck. Replacing up to 15 percent of that deck is not structural work under the North Carolina text effective January 1, 2022 [3]. A re-cover is not permitted on a water-soaked or deteriorated roof, on slate, clay, cement, or asbestos-cement tile, or where two or more coverings are already in place [3].
Which underlayment belongs on that deck?
Below 140 mph the code accepts the lower column of labeled sheets, a joint strip, or a full self-adhered membrane when both instruction sets allow it [3].
Underlayment under ASTM D226, D1970, D4869, or D6757 has to be labeled for the standard and, where it applies, the type [3]. For asphalt shingles below 140 mph, Table R905.1.1(1) allows ASTM D226 Type I, ASTM D4869 Type I, II, III, or IV, or ASTM D6757 [3]. At 140 mph and above, the column is ASTM D226 Type II, ASTM D4869 Type IV, or ASTM D6757 [3].
A full ASTM D1970 self-adhering sheet is permitted only when both the underlayment maker and the covering maker allow it for the deck, the ventilation, and the climate [3]. The other path is an ASTM D1970 strip at least 4 inches wide over every deck joint, then an approved underlayment for speeds under 140 mph over the whole roof [3]. A February 2021 Building Science insight recommends a fully adhered underlayment on a sloped roof, in high-wind design, as a second line of defense if the covering blows off, because it reduces the air-pressure difference across the covering [6]. Joint tape in that piece replaces a lower air-control layer, not the labeled underlayment [6].
Asphalt shingles are limited to slopes of 2:12 or greater [3]. From 2:12 up to 4:12, double underlayment is required [3].
What covering class and nails does 115 mph call for?
The classification table still accepts ASTM D7158 Class D, G, or H through a maximum ultimate speed of 116 mph, and each strip needs at least four code nails unless the bundle requires more [3].
Shingles are tested to ASTM D7158, or to ASTM D3161 when they fall outside that test, and labeled to Table R905.2.4.1 [3]. Through a maximum ultimate speed of 116 mph, that table lists ASTM D7158 Class D, G, or H, and ASTM D3161 Class A, D, or F [3]. At 129 mph, ASTM D7158 is Class G or H only [3]. ASTM D7158 assumes Exposure B or C and a building height of 60 feet or less [3].
Nails are galvanized steel, stainless steel, aluminum, or copper, minimum 12-gage, with a head at least 3/8 inch, meeting ASTM F1667, penetrating at least 3/4 inch into the sheathing or through thinner sheathing [3]. The count is the manufacturer's number, and not less than four per strip or two per individual shingle [3]. Six nails are required only at 130 mph or greater with an eave 20 feet or higher, at 140 mph or greater, or in a special mountain region that meets one of those tests [3].
How should an addition roof tie into the older roof?
Strip the old covering back to sound deck, and lap the new underlayment and flashing into that deck so the joint sheds in one direction.
Flashing is required at a wall and roof intersection, at a change in slope or direction, around roof openings, and where a sloped eave meets a vertical sidewall [3]. Valley linings are installed to the manufacturer's instructions before the shingles [3]. An open metal valley is at least 24 inches wide [3]. An open roll-roofing valley uses an 18-inch bottom ply and a top ply at least 36 inches wide, and a closed valley may use a 36-inch smooth roll, either open lining, or ASTM D1970 [3].
Step flashing on a sloped sidewall is at least 4 inches high and 4 inches wide and directs water onto the roof, and anchored masonry veneer at that wall also needs counterflashing [3]. A cricket or saddle is required on the ridge side of a chimney or penetration more than 30 inches wide perpendicular to the slope, except a unit skylight flashed to its own instructions [3].
At the tie-in, old layers come off to sound deck under the replacement limits above, and the new underlayment and flashing lap onto that deck [3]. Truss connections match the uplift on the drawings for Table R301.2(4) [4].
Does this climate need an ice barrier, and what about the edge?
The temperature test is a January average of 25°F or less, and the 1991-2020 normals put Charlotte's January average at 42.1°F, so that test is not met here [3] [5].
An ice barrier is required where the average daily temperature in January is 25°F or less, or where Table R301.2(1) designates one [3]. North Carolina leaves that cell as "Local" [2]. National Weather Service daily normals for Charlotte, for 1991 through 2020, list a January monthly normal average of 42.1°F, a normal high of 52.3°F, and a normal low of 31.8°F [5]. I have not found a Mecklenburg designation that fills the "Local" cell, so the permit set has to state it.
Where an ice barrier is required, it is two cemented underlayment layers, or a self-adhering polymer-modified bitumen sheet, from the lowest edges to at least 24 inches inside the exterior wall line [3]. On 8:12 and steeper it also extends at least 36 inches up the slope from the eave [3].
Drip edge is not required by this residential code unless the covering instructions require it. That North Carolina amendment took effect January 1, 2022 [3].
Practical takeaways
- Mecklenburg's ultimate wind speed under the still-effective 2018 residential code is 115 mph. High-wind design paths start at 130 mph [1] [2] [7].
- Fasten shingles to grade-marked solid sheathing. Up to 15 percent deck replacement is not structural work, and a re-cover stops at two layers or a soaked roof [3] [4].
- Under 140 mph, use the first underlayment column or a 4-inch joint strip. A full self-adhered sheet needs both makers' instructions [3].
- Double underlayment from 2:12 up to 4:12. Class D, G, or H still fits 115 mph, with at least four nails per strip unless the bundle requires more [3].
- Line valleys before the shingles, step-flash sidewalls at least 4 by 4 inches, and cricket penetrations wider than 30 inches [3].
- Charlotte's 1991-2020 January normal of 42.1°F is above the 25°F ice-barrier test, and the state cell still says "Local." Drip edge follows the covering instructions [2] [3] [5].
How we can help
If you are adding to a house you already live in, or building a new one, we settle the deck, the underlayment, the wind class, and the tie-in before the covering is ordered. That work is part of planning an addition with the rest of the house.
Citations
- North Carolina Office of the State Fire Marshal, "Codes - Current and Past" (2026)
- UpCodes, "Chapter 3 Building Planning: North Carolina Residential Code 2018" (2018)
- UpCodes, "Chapter 9 Roof Assemblies: North Carolina Residential Code 2018" (2018)
- UpCodes, "Chapter 8 Roof-Ceiling Construction: North Carolina Residential Code 2018" (2018)
- National Weather Service, "January Charlotte NC Climatological Data, Daily Normals for 1991-2020" (2021)
- Building Science Corporation, "BSI-121: The Big Blow" (2021-02-01)
- Mecklenburg County Code Enforcement, "Plan Review" (2026)