You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenStudio-ERI requires a building description in an HPXML file format.
HPXML is an open data standard for collecting and transferring home energy data.
Using HPXML files reduces the complexity and effort for software developers to leverage the EnergyPlus simulation engine.
HPXML Inputs
HPXML is an flexible and extensible format, where nearly all elements in the schema are optional and custom elements can be included.
Because of this, a stricter set of requirements for the HPXML file have been developed for purposes of running an Energy Rating Index calculation.
HPXML files submitted to OpenStudio-ERI undergo a two step validation process:
Validation against the HPXML Schema
The HPXML XSD Schema can be found at hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXML.xsd.
XSD Schemas are used to validate what elements/attributes/enumerations are available, data types for elements/attributes, the number/order of children elements, etc.
The Schematron document for the ERI use case can be found at rulesets/resources/301validator.xml.
Schematron is a rule-based validation language, expressed in XML using XPath expressions, for validating the presence or absence of inputs in XML files.
As opposed to an XSD Schema, a Schematron document validates constraints and requirements based on conditionals and other logical statements.
For example, if an element is specified with a particular value, the applicable enumerations of another element may change.
Important
Usage of both validation approaches (XSD and Schematron) is recommended for developers actively working on creating HPXML files for Energy Rating Index calculations:
Validation against XSD for general correctness and usage of HPXML
Validation against Schematron for understanding XML document requirements specific to running ERI calculations
HPXML Software Info
High-level software inputs are entered in /HPXML/SoftwareInfo.
HPXML Calculations
The OpenStudio-ERI calculation(s) to be performed are entered in /HPXML/SoftwareInfo/extension.
CO2IndexCalculation/Version choices are "latest" and "2019ABCD".
A value of "latest" can be used to always point to the latest version available.
If both CO2IndexCalculation/Version and ERICalculation/Version are provided, they must use the same version.
ZERHCalculation/Version choices are "SF_2.0", "MF_2.0" or "1.0".
Warning
For the IECC ERI compliance calculation, OpenStudio-ERI does not perform additional compliance checks beyond calculating the ERI.
For example, it does not check the building thermal envelope (2021 IECC, Section R406.3).
It is the software tool's responsibility to perform these additional steps.
It does impose renewable energy limits (2021 IECC, Section R406.4), as applicable.
Warning
For the ENERGY STAR and Zero Energy Ready Home ERI calculation, OpenStudio-ERI does not perform additional compliance checks beyond comparing the ERI to the ENERGY STAR and Zero Energy Ready Home ERI Target.
For example, it does not check that the home meets all ENERGY STAR and Zero Energy Ready Home Mandatory Requirements.
It is the software tool's responsibility to perform these additional steps.
HPXML Building Site
Site information is entered in /HPXML/Building/Site.
ZipCode is only currently used to look up the eGrid subregion (see rulesets/data/egrid/ZIP_mappings.csv) and Cambium region (see rulesets/data/cambium/ZIP_mappings.csv) for emissions calculations and the CO2e Index.
HPXML Building Summary
High-level building summary information is entered in /HPXML/Building/BuildingDetails/BuildingSummary.
HPXML Building Fuels
Each fuel type available to the building is entered in /HPXML/Building/BuildingDetails/BuildingSummary/Site/FuelTypesAvailable.
The provided fuels are used to determine whether the home has access to natural gas or fossil fuel delivery (specified by any value other than "electricity").
This information may be used for determining the heating system, as specified by the ERI 301 Standard.
HPXML Building Construction
Building construction is entered in /HPXML/Building/BuildingDetails/BuildingSummary/BuildingConstruction.
ResidentialFacilityType choices are "single-family detached", "single-family attached", or "apartment unit".
For ENERGY STAR, "single-family detached" may only be used for SF versions and "apartment unit" may only be used for MF versions; "single-family attached" may be used for all versions.
HPXML Weather Station
Weather information is entered in /HPXML/Building/BuildingDetails/ClimateandRiskZones/WeatherStation.
The IECC climate zone for 2006 is always required.
Additional climate zones of other years may be required based on the programs selected for calculation:
The dwelling unit's enclosure is entered in /HPXML/Building/BuildingDetails/Enclosure.
All surfaces that bound different space types of the dwelling unit (i.e., not just thermal boundary surfaces) must be specified in the HPXML file.
For example, an attached garage would generally be defined by walls adjacent to conditioned space, walls adjacent to outdoors, a slab, and a roof or ceiling.
For software tools that do not collect sufficient inputs for every required surface, the software developers will need to make assumptions about these surfaces or collect additional input.
Interior partition surfaces (e.g., walls between rooms inside conditioned space, or the floor between two conditioned stories) can be excluded.
For single-family attached (SFA) or multifamily (MF) buildings, surfaces between unconditioned space and the neighboring unit's same unconditioned space should set InteriorAdjacentTo and ExteriorAdjacentTo to the same value.
For example, a foundation wall between the unit's vented crawlspace and the neighboring unit's vented crawlspace would use InteriorAdjacentTo="crawlspace - vented" and ExteriorAdjacentTo="crawlspace - vented".
Warning
It is the software tool's responsibility to provide the appropriate building surfaces.
While some error-checking is in place, it is not possible to know whether some surfaces are incorrectly missing.
Also note that wall and roof surfaces do not require an azimuth to be specified.
Rather, only the windows/skylights themselves require an azimuth.
Thus, software tools can choose to use a single wall (or roof) surface to represent multiple wall (or roof) surfaces for the entire building if all their other properties (construction type, interior/exterior adjacency, etc.) are identical.
HPXML Air Infiltration
Building air leakage is entered in /HPXML/Building/BuildingDetails/Enclosure/AirInfiltration/AirInfiltrationMeasurement.
If InfiltrationHeight not provided, it is inferred from other inputs (e.g., conditioned floor area, number of conditioned floors above-grade, above-grade foundation wall height, etc.).
InfiltrationHeight is defined as the vertical distance between the lowest and highest above-grade points within the pressure boundary, per ASHRAE 62.2.
In addition, one of the following air leakage types must also be defined:
If entering air leakage as ACH or CFM at a user-specific pressure, additional information is entered in /HPXML/Building/BuildingDetails/Enclosure/AirInfiltration/AirInfiltrationMeasurement.
For example, ACH50 (ACH at 50 Pascals) is a commonly obtained value from a blower door measurement.
For attached dwelling units, BuildingAirLeakage/AirLeakage should be a compartmentalization test value and not adjusted by the Aext reduction factor specified in ANSI/RESNET/ICC 301.
OpenStudio-ERI will automatically calculate and apply the Aext adjustment (and the Aext value can be found in, e.g., the ERIRatedHome.xml output file).
Note that all attached surfaces, even adiabatic surfaces, must be defined in the HPXML file.
Natural ACH or CFM
If entering air leakage as natural ACH or CFM, additional information is entered in /HPXML/Building/BuildingDetails/Enclosure/AirInfiltration/AirInfiltrationMeasurement.
Natural ACH or CFM represents the annual average infiltration that a building will see.
For attached dwelling units, BuildingAirLeakage/AirLeakage should not be adjusted by the Aext reduction factor specified in ANSI/RESNET/ICC 301.
OpenStudio-ERI will automatically calculate and apply the Aext adjustment (and the Aext value can be found in, e.g., the ERIRatedHome.xml output file).
Effective Leakage Area
If entering air leakage as Effective Leakage Area (ELA), additional information is entered in /HPXML/Building/BuildingDetails/Enclosure/AirInfiltration/AirInfiltrationMeasurement.
Effective Leakage Area is defined as the area of a special nozzle-shaped hole (similar to the inlet of a blower door fan) that would leak the same amount of air as the building does at a pressure difference of 4 Pascals.
Note that ELA is different than Equivalent Leakage Area (EqLA), which involves a sharp-edged hole at a pressure difference of 10 Pascals.
For attached dwelling units, BuildingAirLeakage/AirLeakage should not be adjusted by the Aext reduction factor specified in ANSI/RESNET/ICC 301.
OpenStudio-ERI will automatically calculate and apply the Aext adjustment (and the Aext value can be found in, e.g., the ERIRatedHome.xml output file).
HPXML Attics
If the dwelling unit has an unvented attic, whether it is within the infiltration volume is entered in /HPXML/Building/BuildingDetails/Enclosure/Attics/Attic[AtticType/Attic[Vented="false"]].
Element
Type
Units
Constraints
Required
Default
Notes
WithinInfiltrationVolume
boolean
Yes
In accordance with ANSI/RESNET/ICC Standard 380
If the dwelling unit has a vented attic, attic ventilation information can be optionally entered in /HPXML/Building/BuildingDetails/Enclosure/Attics/Attic[AtticType/Attic[Vented="true"]]/VentilationRate.
UnitofMeasure choices are "SLA" (specific leakage area) or "ACHnatural" (natural air changes per hour).
HPXML Foundations
If the dwelling unit has an unconditioned basement, whether it is within the infiltration volume is entered in Enclosure/Foundations/Foundation/FoundationType/Basement[Conditioned='false'].
Element
Type
Units
Constraints
Required
Default
Notes
WithinInfiltrationVolume
boolean
Yes
In accordance with ANSI/RESNET/ICC Standard 380
If the dwelling unit has an unvented crawlspace, whether it is within the infiltration volume is entered in Enclosure/Foundations/Foundation/FoundationType/Crawlspace[Vented='false'].
Element
Type
Units
Constraints
Required
Default
Notes
WithinInfiltrationVolume
boolean
Yes
In accordance with ANSI/RESNET/ICC Standard 380
If the dwelling unit has a vented crawlspace, crawlspace ventilation information can be optionally entered in /HPXML/Building/BuildingDetails/Enclosure/Foundations/Foundation[FoundationType/Crawlspace[Vented="true"]]/VentilationRate.
UnitofMeasure only choice is "SLA" (specific leakage area).
HPXML Roofs
Each pitched or flat roof surface that is exposed to ambient conditions is entered as an /HPXML/Building/BuildingDetails/Enclosure/Roofs/Roof.
For a multifamily building where the dwelling unit has another dwelling unit above it, the surface between the two dwelling units should be considered a Floor and not a Roof.
AssemblyEffectiveRValue includes all material layers, interior/exterior air films, and insulation installation grade.
HPXML Rim Joists
Each rim joist surface (i.e., the perimeter of floor joists typically found between stories of a building or on top of a foundation wall) is entered as an /HPXML/Building/BuildingDetails/Enclosure/RimJoists/RimJoist.
If Azimuth not provided, and it's an exterior rim joist, modeled as four surfaces of equal area facing every direction.
Azimuth is irrelevant for interior rim joists.
If Azimuth not provided, and it's an exterior wall, modeled as four surfaces of equal area facing every direction.
Azimuth is irrelevant for interior walls (e.g., between conditioned space and garage).
AssemblyEffectiveRValue includes all material layers, interior/exterior air films, and insulation installation grade.
HPXML Foundation Walls
Each foundation wall surface is entered as an /HPXML/Building/BuildingDetails/Enclosure/FoundationWalls/FoundationWall.
Any wall surface in contact with the ground is considered a foundation wall.
Interior foundation walls (e.g., between basement and crawlspace) should not use "ground" even if the foundation wall has some contact with the ground due to the difference in below-grade depths of the two adjacent spaces.
If Azimuth not provided, and it's an exterior foundation wall, modeled as four surfaces of equal area facing every direction.
Azimuth is irrelevant for interior foundation walls (e.g., between basement and garage).
For exterior foundation walls, depth below grade is relative to the ground plane.
For interior foundation walls, depth below grade is the vertical span of foundation wall in contact with the ground.
For example, an interior foundation wall between an 8 ft conditioned basement and a 3 ft crawlspace has a height of 8 ft and a depth below grade of 5 ft.
Alternatively, an interior foundation wall between an 8 ft conditioned basement and an 8 ft unconditioned basement has a height of 8 ft and a depth below grade of 0 ft.
AssemblyEffectiveRValue includes all material layers, interior air film, and insulation installation grade.
R-value should not include exterior air film (for any above-grade exposure) or any soil thermal resistance.
If insulation layers are provided, additional information is entered in each FoundationWall/Insulation/Layer.
Element
Type
Units
Constraints
Required
Default
Notes
NominalRValue
double
F-ft2-hr/Btu
>= 0
Yes
R-value of the foundation wall insulation; use zero if no insulation
DistanceToTopOfInsulation
double
ft
>= 0
Yes
Vertical distance from top of foundation wall to top of insulation
When NominalRValue is non-zero, DistanceToBottomOfInsulation must be greater than DistanceToTopOfInsulation and less than or equal to FoundationWall/Height.
HPXML Floors
Each floor/ceiling surface that is not in contact with the ground (Slab) nor adjacent to ambient conditions above (Roof) is entered as an /HPXML/Building/BuildingDetails/Enclosure/Floors/Floor.
AssemblyEffectiveRValue includes all material layers, interior/exterior air films, and insulation installation grade.
For floors adjacent to "other housing unit", "other heated space", "other multifamily buffer space", or "other non-freezing space", additional information is entered in Floor.
Each space type that borders the ground (i.e., basement, crawlspace, garage, and slab-on-grade foundation) should have a slab entered as an /HPXML/Building/BuildingDetails/Enclosure/Slabs/Slab.
ExposedPerimeter includes any slab length that falls along the perimeter of the building's footprint (i.e., is exposed to ambient conditions).
So a basement slab edge adjacent to a garage or crawlspace, for example, should not be included.
If DepthBelowGrade not provided, defaults to zero for foundation types without walls.
For foundation types with walls, DepthBelowGrade is ignored as the slab's position relative to grade is determined by the FoundationWall/DepthBelowGrade value(s).
FractionOperable reflects whether the windows are operable (can be opened), not how they are used by the occupants.
If a Window represents a single window, the value should be 0 or 1.
If a Window represents multiple windows (e.g., 4), the value should be between 0 and 1 (e.g., 0, 0.25, 0.5, 0.75, or 1).
HeatingSystemFuel choices are "natural gas", "fuel oil", "propane", "electricity", "wood", or "wood pellets".
For ElectricResistance, "electricity" is required.
HVAC installation quality should be provided per the conditions specified in ANSI/RESNET/ACCA 310.
OS-ERI does not check that, for example, the total duct leakage requirement has been met or that a Grade I/II input is appropriate per the ANSI 310 process flow; that is currently the responsibility of the software developer.
Wall/Floor Furnace
If a wall furnace or floor furnace is specified, additional information is entered in HeatingSystem.
Element
Type
Units
Constraints
Required
Default
Notes
AnnualHeatingEfficiency[Units="AFUE"]/Value
double
frac
0 - 1
Yes
Rated efficiency
extension/FanPowerWatts
double
W
>= 0
No
0
Fan power
Boiler
If a boiler is specified, additional information is entered in HeatingSystem.
For in-unit boilers, HVACDistribution type must be HydronicDistribution (type: "radiator", "baseboard", "radiant floor", or "radiant ceiling") or DSE.
For shared boilers, HVACDistribution type must be HydronicDistribution (type: "radiator", "baseboard", "radiant floor", "radiant ceiling", or "water loop") or AirDistribution (type: "fan coil").
If the shared boiler has "water loop" distribution, a :ref:`hvac_heatpump_wlhp` must also be specified.
Note
The choice of hydronic distribution type (radiator vs baseboard vs radiant panels) does not affect simulation results;
it is currently only used to know if there's an attached water loop heat pump or not.
If an in-unit boiler if specified, additional information is entered in HeatingSystem.
CoolingSystemType choices are "central air conditioner", "room air conditioner", "evaporative cooler", "mini-split", "chiller", "cooling tower", or "packaged terminal air conditioner".
If SEER2 provided, converted to SEER using ANSI/RESNET/ICC 301-2022 Addendum C, where SEER = SEER2 / 0.95 (assumed to be a split system).
If not a split system, provide SEER using the appropriate conversion factor.
HVAC installation quality should be provided per the conditions specified in ANSI/RESNET/ACCA 310.
OS-ERI does not check that, for example, the total duct leakage requirement has been met or that a Grade I/II input is appropriate per the ANSI 310 process flow; that is currently the responsibility of the software developer.
Room Air Conditioner
If a room air conditioner is specified, additional information is entered in CoolingSystem.
Element
Type
Units
Constraints
Required
Default
Notes
CoolingCapacity
double
Btu/hr
>= 0
Yes
Cooling output capacity
AnnualCoolingEfficiency[Units="EER" or Units="CEER"]/Value
IntegratedHeatingSystemFuel choices are "electricity", "natural gas", "fuel oil", "propane", "wood", or "wood pellets".
If the room air conditioner has integrated heating, additional information is entered in CoolingSystem.
Note that a room air conditioner with reverse cycle heating should be entered as a heat pump; see :ref:`room_ac_reverse_cycle`.
IntegratedHeatingSystemFuel choices are "electricity", "natural gas", "fuel oil", "propane", "wood", or "wood pellets".
If the PTAC has integrated heating, additional information is entered in CoolingSystem.
Note that a packaged terminal heat pump should be entered as a heat pump; see :ref:`pthp`.
HVAC installation quality should be provided per the conditions specified in ANSI/RESNET/ACCA 310.
OS-ERI does not check that, for example, the total duct leakage requirement has been met or that a Grade I/II input is appropriate per the ANSI 310 process flow; that is currently the responsibility of the software developer.
Chiller
If a chiller is specified, additional information is entered in CoolingSystem.
HVACDistribution type must be HydronicDistribution (type: "radiator", "baseboard", "radiant floor", "radiant ceiling", or "water loop") or AirDistribution (type: "fan coil").
If the chiller has "water loop" distribution, a :ref:`hvac_heatpump_wlhp` must also be specified.
HeatPumpType choices are "air-to-air", "mini-split", "ground-to-air", "water-loop-to-air", "packaged terminal heat pump", or "room air conditioner with reverse cycle".
If neither CompressorLockoutTemperature nor BackupHeatingSwitchoverTemperature provided, CompressorLockoutTemperature defaults to 25F if fossil fuel backup otherwise 0F.
If SEER2 provided, converted to SEER using ANSI/RESNET/ICC 301-2022 Addendum C, where SEER = SEER2 / 0.95 (assumed to be a split system).
If not a split system, provide SEER using the appropriate conversion factor.
If HSPF2 provided, converted to HSPF using ANSI/RESNET/ICC 301-2022 Addendum C, where HSPF = HSPF2 / 0.85 (assumed to be a split system).
If not a split system, provide SEER using the appropriate conversion factor.
HVAC installation quality should be provided per the conditions specified in ANSI/RESNET/ACCA 310.
OS-ERI does not check that, for example, the total duct leakage requirement has been met or that a Grade I/II input is appropriate per the ANSI 310 process flow; that is currently the responsibility of the software developer.
Mini-Split Heat Pump
If a mini-split heat pump is specified, additional information is entered in HeatPump.
If neither CompressorLockoutTemperature nor BackupHeatingSwitchoverTemperature provided, CompressorLockoutTemperature defaults to 25F if fossil fuel backup otherwise -20F.
If HSPF2 provided, converted to HSPF using ANSI/RESNET/ICC 301-2022 Addendum C, where HSPF = HSPF2 / 0.85 if ducted and HSPF = HSPF2 / 0.90 if ductless.
HVAC installation quality should be provided per the conditions specified in ANSI/RESNET/ACCA 310.
OS-ERI does not check that, for example, the total duct leakage requirement has been met or that a Grade I/II input is appropriate per the ANSI 310 process flow; that is currently the responsibility of the software developer.
Packaged Terminal Heat Pump
If a packaged terminal heat pump is specified, additional information is entered in HeatPump.
Element
Type
Units
Constraints
Required
Default
Notes
HeatingCapacity
double
Btu/hr
>= 0
Yes
Heating output capacity (excluding any backup heating)
If neither CompressorLockoutTemperature nor BackupHeatingSwitchoverTemperature provided, CompressorLockoutTemperature defaults to 25F if fossil fuel backup otherwise 0F.
If neither CompressorLockoutTemperature nor BackupHeatingSwitchoverTemperature provided, CompressorLockoutTemperature defaults to 25F if fossil fuel backup otherwise 0F.
Pump power is calculated using PumpPowerWattsPerTon and the cooling capacity in tons, unless the system only provides heating, in which case the heating capacity in tons is used instead.
Any pump power that is shared by multiple dwelling units should be included in SharedLoopWatts, not PumpPowerWattsPerTon, so that shared loop pump power attributed to the dwelling unit is calculated.
HVAC installation quality should be provided per the conditions specified in ANSI/RESNET/ACCA 310.
OS-ERI does not check that, for example, the total duct leakage requirement has been met or that a Grade I/II input is appropriate per the ANSI 310 process flow; that is currently the responsibility of the software developer.
Water-Loop-to-Air Heat Pump
If a water-loop-to-air heat pump is specified, additional information is entered in HeatPump.
If neither BackupHeatingSwitchoverTemperature nor CompressorLockoutTemperature provided, CompressorLockoutTemperature defaults as described above for individual heat pump types.
If both BackupHeatingLockoutTemperature and CompressorLockoutTemperature provided, BackupHeatingLockoutTemperature must be greater than or equal to CompressorLockoutTemperature.
If neither BackupHeatingSwitchoverTemperature nor BackupHeatingLockoutTemperature provided, BackupHeatingLockoutTemperature defaults to 40F for electric backup and 50F for fossil fuel backup.
Note
Provide BackupHeatingSwitchoverTemperature for a situation where there is a discrete outdoor temperature below which the heat pump stops operating and above which the backup heating system stops operating.
Alternatively, provide A) CompressorLockoutTemperature to specify the outdoor temperature below which the heat pump stops operating and/or B) BackupHeatingLockoutTemperature to specify the outdoor temperature above which the heat pump backup system stops operating.
If both are provided, the compressor and backup system can both operate between the two temperatures (e.g., simultaneous operation or cycling).
If both are provided using the same temperature, it is equivalent to using BackupHeatingSwitchoverTemperature.
HPXML HVAC Control
If any HVAC systems are specified, a single thermostat is entered as a /HPXML/Building/BuildingDetails/Systems/HVAC/HVACControl.
ConditionedFloorAreaServed required only when DistributionSystemType is AirDistribution and AirDistribution/Ducts are present.
Note
There should be at most one heating system and one cooling system attached to a distribution system.
See :ref:`hvac_heating`, :ref:`hvac_cooling`, and :ref:`hvac_heatpump` for information on which DistributionSystemType is allowed for which HVAC system.
Also note that some HVAC systems (e.g., room air conditioners) are not allowed to be attached to a distribution system.
Air Distribution
To define an air distribution system, additional information is entered in HVACDistribution/DistributionSystemType/AirDistribution.
AirDistributionType choices are "regular velocity", "gravity", or "fan coil" and are further restricted based on attached HVAC system type (e.g., only "regular velocity" or "gravity" for a furnace, only "fan coil" for a shared boiler, etc.).
NumberofReturnRegisters required only if AirDistribution/Ducts are present.
For the air distribution system, duct leakage inputs are required if AirDistributionType is "regular velocity" or "gravity" and optional if AirDistributionType is "fan coil".
When provided, supply and return leakage to the outside are each entered as a HVACDistribution/DistributionSystemType/AirDistribution/DuctLeakageMeasurement:
If the HVAC system has no return ducts (e.g., a ducted evaporative cooler), use zero for the Value.
Note
ANSI/RESNET/ICC 301 allows for various duct leakage exemptions, including not testing a distribution system or measuring total duct leakage in lieu of leakage to the outside.
OS-ERI does not automatically handle these exemptions.
Any software tool that offers these options to their end users must incorporate the necessary logic and pass the appropriate inputs to OS-ERI (i.e., leakage to the outside or distribution system efficiency (DSE)).
Additionally, each supply/return duct present is entered in a HVACDistribution/DistributionSystemType/AirDistribution/Ducts.
DuctInsulationRValue should not include the exterior air film (i.e., use 0 for an uninsulated duct).
For ducts buried in insulation (using DuctBuriedInsulationLevel), DuctInsulationRValue should only represent any surrounding insulation duct wrap and not the entire attic insulation R-value.
Whether the ducts are buried in, e.g., attic loose-fill insulation.
Partially buried ducts have insulation that does not cover the top of the ducts.
Fully buried ducts have insulation that just covers the top of the ducts.
Deeply buried ducts have insulation that continues above the top of the ducts.
See the Building America Solution Center for more information.
HydronicDistributionType choices are "radiator", "baseboard", "radiant floor", "radiant ceiling", or "water loop".
Distribution System Efficiency (DSE)
Warning
A simplified DSE model is provided for flexibility, but it is strongly recommended to use one of the other detailed distribution system types for better accuracy.
To define a DSE system, additional information is entered in HVACDistribution.
Element
Type
Units
Constraints
Required
Default
Notes
AnnualHeatingDistributionSystemEfficiency
double
frac
0 - 1
Yes
Seasonal distribution system efficiency for heating
AnnualCoolingDistributionSystemEfficiency
double
frac
0 - 1
Yes
Seasonal distribution system efficiency for cooling
Each mechanical ventilation system that provides ventilation to the whole dwelling unit is entered as a /HPXML/Building/BuildingDetails/Systems/MechanicalVentilation/VentilationFans/VentilationFan.
For a CFIS system, the HoursInOperation and the flow rate are combined to form the expected/required hourly ventilation rate (e.g., 90 cfm and 8 hrs/day produce an hourly ventilation rate of 30 cfm).
For a CFIS system with a supplemental fan, the supplemental fan's runtime is automatically calculated for each hour (based on the air handler runtime) to maintain the hourly ventilation rate.
Exhaust/Supply Only
If a supply only or exhaust only system is specified, no additional information is entered.
Balanced
If a balanced system is specified, no additional information is entered.
Heat Recovery Ventilator
If a heat recovery ventilator system is specified, additional information is entered in VentilationFan.
Element
Type
Units
Constraints
Required
Default
Notes
SensibleRecoveryEfficiency or AdjustedSensibleRecoveryEfficiency
double
frac
0 - 1
Yes
(Adjusted) Sensible recovery efficiency
Energy Recovery Ventilator
If an energy recovery ventilator system is specified, additional information is entered in VentilationFan.
Element
Type
Units
Constraints
Required
Default
Notes
TotalRecoveryEfficiency or AdjustedTotalRecoveryEfficiency
double
frac
0 - 1
Yes
(Adjusted) Total recovery efficiency
SensibleRecoveryEfficiency or AdjustedSensibleRecoveryEfficiency
double
frac
0 - 1
Yes
(Adjusted) Sensible recovery efficiency
Central Fan Integrated Supply
If a central fan integrated supply (CFIS) system is specified, additional information is entered in VentilationFan.
SupplementalFan must reference another VentilationFan where UsedForWholeBuildingVentilation=true, IsSharedSystem=false, and FanType="exhaust only" or "supply only".
Blower airflow rate when operating in ventilation only mode (i.e., not heating or cooling mode), as a fraction of the maximum blower airflow rate.
This value will depend on whether the blower fan can operate at reduced airflow rates during ventilation only operation.
It is used to determine how much conditioned air is recirculated through ducts during ventilation only operation, resulting in additional duct losses.
A value of zero will result in no conditioned air recirculation, and thus no additional duct losses.
Note
CFIS systems are automated controllers that use the HVAC system's air handler fan to draw in outdoor air to meet an hourly ventilation target.
CFIS systems are modeled as assuming they A) maximize the use of normal heating/cooling runtime operation to meet the hourly ventilation target, B) block the flow of outdoor air when the hourly ventilation target has been met, and C) provide additional runtime operation (via air handler fan or supplemental fan) to meet the remainder of the hourly ventilation target when space heating/cooling runtime alone is not sufficient.
In-Unit System
If the specified system is not a shared system (i.e., not serving multiple dwelling units), additional information is entered in VentilationFan.
Element
Type
Units
Constraints
Required
Default
Notes
TestedFlowRate or extension/FlowRateNotTested=true
For a central fan integrated supply system, TestedFlowRate should equal the amount of outdoor air provided to the distribution system, not the total airflow through the distribution system.
Shared System
If the specified system is a shared system (i.e., serving multiple dwelling units), additional information is entered in VentilationFan.
Each whole house fan that provides cooling load reduction is entered as a /HPXML/Building/BuildingDetails/Systems/MechanicalVentilation/VentilationFans/VentilationFan.
Element
Type
Units
Constraints
Required
Default
Notes
SystemIdentifier
id
Yes
Unique identifier
UsedForSeasonalCoolingLoadReduction
boolean
true
Yes
Must be set to true
RatedFlowRate
double
cfm
>= 0
Yes
Flow rate
FanPower
double
W
>= 0
Yes
Fan power
Note
The whole house fan is assumed to operate during hours of favorable outdoor conditions and will take priority over operable windows (natural ventilation).
HPXML Water Heating Systems
Each water heater is entered as a /HPXML/Building/BuildingDetails/Systems/WaterHeating/WaterHeatingSystem.
Element
Type
Units
Constraints
Required
Default
Notes
SystemIdentifier
id
Yes
Unique identifier
IsSharedSystem
boolean
Yes
Whether it serves multiple dwelling units or shared laundry room
WaterHeaterType choices are "storage water heater", "instantaneous water heater", "heat pump water heater", "space-heating boiler with storage tank", or "space-heating boiler with tankless coil".
FractionDHWLoadServed represents only the fraction of the hot water load associated with the hot water fixtures.
Additional hot water load from clothes washers/dishwashers will be automatically assigned to the appropriate water heater(s).
FirstHourRating only required if UniformEnergyFactor provided.
Combi Boiler w/ Storage
If a combination boiler w/ storage tank (sometimes referred to as an indirect water heater) is specified, additional information is entered in WaterHeatingSystem.
RelatedHVACSystem must reference a HeatPump (air-to-air, mini-split, or ground-to-air) or CoolingSystem (central air conditioner).
HPXML Hot Water Distribution
If any water heating systems are provided, a single hot water distribution system is entered as a /HPXML/Building/BuildingDetails/Systems/WaterHeating/HotWaterDistribution.
If SharedRecirculation is provided, SystemType must be Standard.
This is because a stacked recirculation system (i.e., shared recirculation loop plus an additional in-unit recirculation system) is more likely to indicate input errors than reflect an actual real-world scenario.
Note
In attached/multifamily buildings, only the hot water distribution system serving the dwelling unit should be defined.
The hot water distribution associated with, e.g., a shared laundry room should not be defined.
Standard
If the in-unit distribution system is specified as standard, additional information is entered in SystemType/Standard.
PipingLength is the length of hot water piping from the hot water heater (or from a shared recirculation loop serving multiple dwelling units) to the farthest hot water fixture, measured longitudinally from plans, assuming the hot water piping does not run diagonally, plus 10 feet of piping for each floor level, plus 5 feet of piping for unconditioned basements (if any).
Recirculation
If the in-unit distribution system is specified as recirculation, additional information is entered in SystemType/Recirculation.
RecirculationPipingLoopLength is the recirculation loop length including both supply and return sides, measured longitudinally from plans, assuming the hot water piping does not run diagonally, plus 20 feet of piping for each floor level greater than one plus 10 feet of piping for unconditioned basements.
BranchPipingLength is the length of the branch hot water piping from the recirculation loop to the farthest hot water fixture from the recirculation loop, measured longitudinally from plans, assuming the branch hot water piping does not run diagonally.
Shared Recirculation
If a shared recirculation system is specified, additional information is entered in extension/SharedRecirculation.
FacilitiesConnected choices are "one" or "all".
Use "one" if there are multiple showers and only one of them is connected to the DWHR.
Use "all" if there is one shower and it's connected to the DWHR or there are two or more showers connected to the DWHR.
WaterFixtureType choices are "shower head" or "faucet".
If the shower stall has multiple shower heads that operate simultaneously, combine them as a single entry.
LowFlow should be true if the fixture's flow rate (gpm) is <= 2.0.
Where a shower stall has multiple shower heads that operate simultaneously, the sum of their flows must be <= 2.0.
HPXML Solar Thermal
A single solar hot water system can be entered as a /HPXML/Building/BuildingDetails/Systems/SolarThermal/SolarThermalSystem.
Solar hot water systems can be described with either simple or detailed inputs.
It is recommended to use detailed inputs and allow EnergyPlus to calculate the solar contribution to the hot water load;
the simple inputs are provided if equivalent calculations are performed in another software tool.
Simple Inputs
To define a simple solar hot water system, additional information is entered in SolarThermalSystem.
System losses due to soiling, shading, snow, mismatch, wiring, degradation, etc.
Default from the PVWatts documentation is 0.14, which breaks down as follows.
Note that the total loss (14%) is not the sum of the individual losses but is calculated by multiplying the reduction due to each loss.
NumberofBedroomsServed only required if IsSharedSystem is true, in which case it must be > NumberofBedrooms.
PV generation will be apportioned to the dwelling unit using its number of bedrooms divided by the total number of bedrooms served by the PV system.
In addition, an inverter must be entered as a /HPXML/Building/BuildingDetails/Systems/Photovoltaics/Inverter.
NumberofBedroomsServed only required if IsSharedSystem is true, in which case it must be > NumberofBedrooms.
Annual consumption and annual production will be apportioned to the dwelling unit using its number of bedrooms divided by the total number of bedrooms served by the generator.
Note
Generators will be modeled as operating continuously (24/7).
HPXML Appliances
Appliances entered in /HPXML/Building/BuildingDetails/Appliances.
HPXML Clothes Washer
A single clothes washer can be entered as a /HPXML/Building/BuildingDetails/Appliances/ClothesWasher.
AttachedToWaterHeatingSystem must reference a WaterHeatingSystem; AttachedToHotWaterDistribution must reference a HotWaterDistribution.
Note
If no clothes washer is located within the Rated Home, a clothes washer in the nearest shared laundry room on the project site shall be used if available for daily use by the occupants of the Rated Home.
If there are multiple clothes washers, the clothes washer with the highest Label Energy Rating (kWh/yr) shall be used.
HPXML Clothes Dryer
A single clothes dryer can be entered as a /HPXML/Building/BuildingDetails/Appliances/ClothesDryer.
If the clothes dryer is shared, additional information is entered in /HPXML/Building/BuildingDetails/Appliances/ClothesDryer.
Element
Type
Units
Constraints
Required
Default
Notes
Count
integer
Yes
Number of clothes dryers in the shared laundry room
NumberofUnitsServed
integer
Yes
Number of dwelling units served by the shared laundry room
Note
If no clothes dryer is located within the Rated Home, a clothes dryer in the nearest shared laundry room on the project site shall be used if available for daily use by the occupants of the Rated Home.
If there are multiple clothes dryers, the clothes dryer with the lowest Energy Factor or Combined Energy Factor shall be used.
HPXML Dishwasher
A single dishwasher can be entered as a /HPXML/Building/BuildingDetails/Appliances/Dishwasher.
If EnergyFactor (EF) provided instead of RatedAnnualkWh, it will be converted using the following equation based on ANSI/RESNET/ICC 301-2014:
RatedAnnualkWh = 215.0 / EF.
If the dishwasher is shared, additional information is entered in /HPXML/Building/BuildingDetails/Appliances/Dishwasher.
Element
Type
Units
Constraints
Required
Default
Notes
AttachedToWaterHeatingSystem or AttachedToHotWaterDistribution
AttachedToWaterHeatingSystem must reference a WaterHeatingSystem; AttachedToHotWaterDistribution must reference a HotWaterDistribution.
Note
If no dishwasher is located within the Rated Home, a dishwasher in the nearest shared kitchen in the building shall be used only if available for daily use by the occupants of the Rated Home.
If there are multiple dishwashers, the dishwasher with the lowest Energy Factor (highest kWh/yr) shall be used.
HPXML Refrigerators
A single refrigerator can be entered as a /HPXML/Building/BuildingDetails/Appliances/Refrigerator.
Location choices are "conditioned space", "basement - conditioned", "basement - unconditioned", "garage", "other housing unit", "other heated space", "other multifamily buffer space", or "other non-freezing space".
See :ref:`hpxmllocations` for descriptions.
Note
If there are multiple refrigerators, the total energy consumption of all refrigerators/freezers shall be used along with the location that represents the majority of power consumption.
HPXML Dehumidifier
Each dehumidifier can be entered as a /HPXML/Building/BuildingDetails/Appliances/Dehumidifier.
The sum of all FractionDehumidificationLoadServed (across all Dehumidifiers) must be less than or equal to 1.
Note
Dehumidifiers only affect ERI scores if Version 2019AB or newer is used, as dehumidifiers were incorporated into the ERI calculation as of 301-2019 Addendum B.
Note
Dehumidifiers are currently modeled as located within conditioned space; the model is not suited for a dehumidifier in, e.g., a wet unconditioned basement or crawlspace.
Therefore the dehumidifier Location is currently restricted to "conditioned space".
HPXML Cooking Range/Oven
A single cooking range can be entered as a /HPXML/Building/BuildingDetails/Appliances/CookingRange.
Garage lighting location is ignored if the HPXML file has no garage specified elsewhere.
[266]
The sum of FractionofUnitsInLocation for a given Location (e.g., interior) must be less than or equal to 1.
If the fractions sum to less than 1, the remainder is assumed to be incandescent lighting.
HPXML Ceiling Fans
Each ceiling fan is entered as a /HPXML/Building/BuildingDetails/Lighting/CeilingFan.
Element
Type
Units
Constraints
Required
Default
Notes
SystemIdentifier
id
Yes
Unique identifier
Airflow[FanSpeed="medium"]/Efficiency
double
cfm/W
> 0
Yes
Efficiency at medium speed
Count
integer
> 0
Yes
Number of similar ceiling fans
HPXML Locations
The various locations used in an HPXML file are defined as follows:
Value
Description
Temperature
Building Type
outside
Ambient environment
Weather data
Any
ground
EnergyPlus calculation
Any
conditioned space
Above-grade conditioned floor area
EnergyPlus calculation
Any
attic - vented
EnergyPlus calculation
Any
attic - unvented
EnergyPlus calculation
Any
basement - conditioned
Below-grade conditioned floor area
EnergyPlus calculation
Any
basement - unconditioned
EnergyPlus calculation
Any
crawlspace - vented
EnergyPlus calculation
Any
crawlspace - unvented
EnergyPlus calculation
Any
garage
Single-family (not shared parking)
EnergyPlus calculation
Any
other housing unit
Unrated Conditioned Space
Same as conditioned space
SFA/MF only
other heated space
Unrated Heated Space
Avg of conditioned space/outside; min of 68F
SFA/MF only
other multifamily buffer space
Multifamily Buffer Boundary
Avg of conditioned space/outside; min of 50F
SFA/MF only
other non-freezing space
Non-Freezing Space
Floats with outside; minimum of 40F
SFA/MF only
other exterior
Water heater outside
Weather data
Any
exterior wall
Ducts in exterior wall
Avg of conditioned space/outside
Any
under slab
Ducts under slab (ground)
EnergyPlus calculation
Any
roof deck
Ducts on roof deck (outside)
Weather data
Any
Validating & Debugging Errors
When running HPXML files, errors may occur because:
An HPXML file provided is invalid (either relative to the HPXML schema or the ERI Use Case).
An unexpected error occurred in the workflow (e.g., applying the ERI 301 ruleset).
An unexpected EnergyPlus simulation error occurred.
If, for example, the Rated Home is unsuccessful, first look in the ERIRatedHome/run.log for details.
If there are no errors in that log file, then the error may be in the EnergyPlus simulation -- see ERIRatedHome/eplusout.err.
Contact us if you can't figure out the cause of an error.
Sample Files
Dozens of sample HPXML files are included in the workflow/sample_files directory.
The sample files help to illustrate how different building components are described in HPXML.
Each sample file generally makes one isolated change relative to the base HPXML (base.xml) building.
For example, the base-dhw-dwhr.xml file adds a DrainWaterHeatRecovery element to the building.
You may find it useful to search through the files for certain HPXML elements or compare (diff) a sample file to the base.xml file.