Roof and Attic¶
HPXML allows the specification of multiple Attic elements, each of which
relates to one (HPXML v2) or more (HPXML v3) Roof elements. Both an
Attic and a connected Roof element are required for the HEScore
translation because it is important to know which roof relates to each attic
space.
Attic/Roof Type¶
Each Attic is considered and the AtticType is mapped into a HEScore roof
type according to the following mapping.
HPXML |
HEScore |
|---|---|
cape cod |
cath_ceiling |
cathedral ceiling |
cath_ceiling |
flat roof |
flat_roof |
unvented attic |
vented_attic |
vented attic |
vented_attic |
venting unknown attic |
vented_attic |
other |
not translated |
HPXML |
HEScore |
|---|---|
CathedralCeiling |
cath_ceiling |
FlatRoof |
flat_roof |
Attic/CapeCod = ‘true’ |
cath_ceiling |
Attic/Conditioned = ‘true’ |
cath_ceiling |
Attic |
vented_attic |
BelowApartment |
below_other_unit |
BowstringRoof [1] |
bowstring_roof |
Other |
not translated |
Note
The attic/roof type cond_attic has been removed from HEScore as of Q1
2022. Homes with conditioned attics should be described in a way that
translates to a cathedral ceiling. In HPXML v3, the conditioned attic type is
automatically translated to cathedral ceiling. In HPXML v2, the extension
workaround to specify a conditioned attic has been removed and the user will
need to identify the house as having an attic type that translates to
cathedral ceiling to achieve the desired effect.
HEScore can accept up to two attic/roof constructions. If there are more than
two specified in HPXML, the properties of the Attic elements with
the same roof type are combined. For variables with a discrete selection the
value that covers the greatest combined area is used. For R-values a
calculation is performed to determine the equivalent overall R-value for the
attic. This is discussed in more detail in Roof R-value.
Note
Starting from HPXML v3, HPXML allows multiple floors/roofs attached to a single attic. The properties of the floors/roofs attached to the same attic are combined into a single one.
Attic and Roof Area¶
Home Energy Score needs to know the area of the thermal boundary between the living space and unconditioned spaces. The areas needed depend on which Attic/Roof Type is selected.
It’s best practice to provide areas for all roof and ceiling (attic floor) surfaces regardless of Attic/Roof type.
Vented Attic and Bowstring Roof¶
The thermal boundary for a vented attic or a bowstring roof is at the ceiling (attic floor).
Bowstring roofs are only supported with HPXML v3 and above. In HPXML
v2, the area for vented attics is retrieved from the
Building/BuildingDetails/Enclosure/AtticAndRoof/Attics/Attic element:
<Attic>
<SystemIdentifier id="attic1"/>
<AttachedToRoof idref="roof1"/>
<AtticType>vented attic</AtticType>
<AtticFloorInsulation>
<SystemIdentifier id="attic1flrins"/>
<Layer>
<NominalRValue>49</NominalRValue>
</Layer>
</AtticFloorInsulation>
<AtticRoofInsulation>
<SystemIdentifier id="attic1roofins"/>
<Layer>
<NominalRValue>0</NominalRValue>
</Layer>
</AtticRoofInsulation>
<Area>1200</Area>
</Attic>
In HPXML v3, the area for vented attics and bowstring roofs is retrieved from referenced
FrameFloor elements in the Building/BuildingDetails/Enclosure/Attics/Attic as shown below.
If referenced FrameFloor elements are not provided, bowstring roof area can be retrieved
from referenced Roof elements as fallback (similar to Cathedral Ceiling and Flat Roof in the
next section).
<Attics>
<Attic>
<SystemIdentifier id="attic1"/>
<AtticType>
<Attic>
<Vented>true</Vented>
</Attic>
</AtticType>
<AttachedToRoof idref="roof1"/>
<AttachedToFrameFloor idref="framefloor1"/>
</Attic>
</Attics>
<FrameFloors>
<FrameFloor>
<SystemIdentifier id="framefloor1"/>
<Area>1200</Area>
<Insulation>
<SystemIdentifier id="attic1flrins"/>
<Layer>
<NominalRValue>49</NominalRValue>
</Layer>
</Insulation>
</FrameFloor>
</FrameFloors>
If there are more than one Roof elements attached to an attic or bowstring roof
(HPXML v3 since HPXML v2 only allows one roof to be referenced per Attic),
you will need to provide an area for each one so that it’s used for combining roof properties.
Cathedral Ceiling and Flat Roof¶
The thermal boundary for a cathedral ceiling and a flat roof is the roof deck, so the area of the roofs attached to the attic are used.
In HPXML v2 a single Roof can be referenced by the Attic and the
area of that roof is used.
<AtticAndRoof>
<Roofs>
<Roof>
<SystemIdentifier id="roof1"/>
<RoofColor>medium</RoofColor>
<RoofType>slate or tile shingles</RoofType>
<RoofArea>679</RoofArea>
</Roof>
</Roofs>
<Attics>
<Attic>
<SystemIdentifier id="attic1"/>
<AttachedToRoof idref="roof1"/>
<AtticType>cathedral ceiling</AtticType>
<AtticRoofInsulation>
<SystemIdentifier id="ceilins1"/>
<Layer>
<NominalRValue>15</NominalRValue>
</Layer>
</AtticRoofInsulation>
</Attic>
</Attics>
</AtticAndRoof>
In HPXML v3 multiple Roof elements can be referenced by the Attic
and the sum of those areas is used. The properties of the roofs will be area
weighted as described below.
<Attics>
<Attic>
<SystemIdentifier id="attic1"/>
<AtticType>
<CathedralCeiling/>
</AtticType>
<AttachedToRoof idref="roof1"/>
</Attic>
</Attics>
<Roofs>
<Roof>
<SystemIdentifier id="roof1"/>
<Area>679</Area>
<RoofType>slate or tile shingles</RoofType>
<RoofColor>medium</RoofColor>
<Insulation>
<SystemIdentifier id="ceilins1"/>
<Layer>
<NominalRValue>15</NominalRValue>
</Layer>
</Insulation>
</Roof>
</Roofs>
Roof Color and Cool Roofs¶
If the Roof/extension/CoolRoof element exists and has a “true” value, the
HEScore roof color will be set to “cool_color”. When this occurs, the
Roof/SolarAbsorptance value must also be provided and will be used as the
HEScore roof solar absorptance.
For roofs that are not specified as cool roofs, roof color in HEScore is mapped
from the HPXML Roof/RoofColor element according to the following mapping and
any Roof/SolarAbsorptance value will be ignored. For bowstring roofs, roof
color is assumed to be “light”.
HPXML |
HEScore |
|---|---|
light |
light |
medium |
medium |
medium dark |
medium_dark |
dark |
dark |
reflective |
white |
Note
Starting from HPXML v3, if there’re more than one roof attached to the same attic, the roof color of that covers greatest area will be selected.
Exterior Finish¶
HPXML stores the exterior finish information in the Roof/RoofType element.
This is translated into the HEScore exterior finish variable according to the
following mapping. For bowstring roofs, exterior finish is assumed to be
“composition shingles”.
HPXML |
HEScore |
|---|---|
shingles |
composition shingles |
slate or tile shingles |
clay tile |
wood shingles or shakes |
wood shakes |
asphalt or fiberglass shingles |
composition shingles |
metal surfacing |
composition shingles |
expanded polystyrene sheathing |
not translated |
plastic/rubber/synthetic sheeting |
tar and gravel |
concrete |
concrete tile |
cool roof |
not translated |
green roof |
not translated |
no one major type |
not translated |
other |
not translated |
Note
Items where the HEScore translation indicates not translated above will result in a translation error.
Rigid Foam Sheathing¶
If the AtticRoofInsulation element has a Layer with the “continuous”
InstallationType, InsulationMaterial/Rigid, and a NominalRValue
greater than zero, the roof is determined to have rigid foam sheathing and one
of the construction codes is selected accordingly. Otherwise one of the
standard wood frame construction codes is selected. For bowstring roofs, the
roof is assumed to not have rigid foam sheathing.
HPXML v2¶
<Attic>
<SystemIdentifier id="attic5"/>
<AttachedToRoof idref="roof3"/>
<AtticType>cathedral ceiling</AtticType>
<AtticRoofInsulation>
<SystemIdentifier id="attic5roofins"/>
<Layer>
<InstallationType>continuous</InstallationType>
<InsulationMaterial>
<Rigid>eps</Rigid>
</InsulationMaterial>
<NominalRValue>10</NominalRValue>
</Layer>
</AtticRoofInsulation>
<Area>2500</Area>
</Attic>
HPXML v3¶
<Attics>
<Attic>
<SystemIdentifier id="attic5"/>
<AtticType>
<CathedralCeiling/>
</AtticType>
<AttachedToRoof idref="roof3"/>
</Attic>
</Attics>
<Roofs>
<Roof>
<SystemIdentifier id="roof3"/>
<Area>2500</Area>
<Insulation>
<SystemIdentifier id="attic5roofins"/>
<Layer>
<InstallationType>continuous</InstallationType>
<InsulationMaterial>
<Rigid>eps</Rigid>
</InsulationMaterial>
<NominalRValue>10</NominalRValue>
</Layer>
</Insulation>
</Roof>
<Roofs>
Radiant Barrier¶
If the Roof/RadiantBarrier element exists and has a “true” value,
the attic is assumed to have a radiant barrier according to the construction
codes available in HEScore. For bowstring roofs, the roof is assumed to not
have a radiant barrier.
Roof R-value¶
The roof R-value can be described by using NominalRValue or AssemblyRValue.
If a user wishes to use a nominal R-value, NominalRValue elements for all layers need to be provided.
Otherwise, AssemblyRValue elements for each layer need to be provided.
If nominal R-value is used, the R-value is summed for all insulation layers. If
the roof construction was determined to have Rigid Foam Sheathing, an R-value
of 5 is subtracted from the roof R-value sum to account for the R-value of the
sheathing in the HEScore construction. The nearest discrete R-value from the
list of possible R-values for that roof type is used to determine an assembly
code. Then, the assembly R-value of the corresponding assembly code from the
lookup table is used. The lookup table can be downloaded here.
If assembly R-value is used, the discrete R-value nearest to assembly R-value
from the lookup table is used. The lookup table can be downloaded here.
If the attic has more than one Roof element and/or if multiple attics of the
same type and their associated roofs are to be combined, a weighted average
assembly R-value is determined by weighting the U-values by area. Then the
discrete R-value nearest to the weighted average assembly R-value from the
lookup table is used.
Then the nearest discrete R-value to the weighted average R-value from the lookup table is used.
The lookup table can be downloaded here.
For bowstring roofs, insulation can be specified in the referenced Roof elements, FrameFloor elements, or both.
The bowstring roof will be modeled with an uninsulated roof, and all insulation from the referenced Roof and
FrameFloor elements will be combined in the modeled ceiling assembly R-value.
Ceiling R-value¶
Determining the ceiling (attic floor) insulation levels uses the same procedure as Roof R-value except the lookup table is different.
If nominal R-value is used, the ceiling center-of-cavity R-values are each R-0.5 greater than the nominal R-values in the enumeration list.
If assembly R-value is used, the lookup table can be downloaded here.
For manufactured homes, a different lookup table is used to account for the insulation taper adjustment at eaves, the calculation is based on ANSI/RESNET/ICC 301 Standard.
The lookup table can be downloaded here.
If the primary roof type is determined to be a cathedral ceiling, then a ceiling R-value is not calculated.
For bowstring roofs, insulation can be specified in the referenced Roof elements, FrameFloor elements, or both.
The bowstring roof will be modeled with an uninsulated roof, and all insulation from the referenced Roof and
FrameFloor elements will be combined in the modeled ceiling assembly R-value.
Knee Walls¶
The Home Energy Score Q1 2022 release includes the ability to directly model knee walls. As such, the workaround of adding knee wall area to ceiling area is no longer used. Knee walls are now directly translated and passed to Home Energy Score as follows:
In HPXML v2, knee walls are specified via the Attic/AtticKneeWall element.
In HPXML v3, knee walls are specified via wall attachment in
Attic/AttachedToWall. The attached wall must have AtticWallType of “knee
wall”. See below an example:
<Attics>
<Attic>
<SystemIdentifier id="attic5"/>
<AtticType>
<Attic>
<Vented>true</Vented>
</Attic>
</AtticType>
<AttachedToRoof idref="roof3"/>
<AttachedToWall idref="kneewall"/>
<AttachedToFrameFloor idref="framefloor"/>
</Attic>
</Attics>
<Walls>
<Wall>
<SystemIdentifier id="kneewall"/>
<ExteriorAdjacentTo>attic</ExteriorAdjacentTo>
<AtticWallType>knee wall</AtticWallType>
<WallType>
<WoodStud/>
</WallType>
<Area>200</Area>
<Insulation>
<SystemIdentifier id="kneewallins"/>
<Layer>
<InstallationType>cavity</InstallationType>
<NominalRValue>11</NominalRValue>
</Layer>
</Insulation>
</Wall>
<Walls>
The knee walls R-value can be described by nominal R-value or assembly R-value.
If nominal R-value is used, the nearest assembly code by R-value in the code is selected and the assembly R-value is looked up for that code.
If assembly R-value is used, the nearest assembly code by assembly R-value is looked up from that table.
doe2code |
U-value |
Eff-R-value |
|---|---|---|
kwwf00 |
0.3457 |
2.9 |
kwwf03 |
0.1545 |
6.5 |
kwwf07 |
0.1014 |
9.9 |
kwwf11 |
0.0828 |
12.1 |
kwwf13 |
0.0746 |
13.4 |
kwwf15 |
0.0682 |
14.7 |
kwwf19 |
0.0553 |
18.1 |
kwwf21 |
0.0499 |
20.0 |
If an attic has more than one knee wall and/or if multiple attics of the same type need to be combined, the area weighted average assembly effective R-value is calculated from all the associated knee walls. The areas of all the knee walls are summed. The assembly code with the nearest assembly effective R-value is chosen to represent the knee walls.