Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions BuildResidentialHPXML/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1726,7 +1726,7 @@ Select an advanced research feature to use in the model, if desired.

- **Required:** ``false``

- **Choices:** <br/> - `None`<br/> - `Temperature Capacitance Multiplier, 1`<br/> - `Temperature Capacitance Multiplier, 4`<br/> - `Temperature Capacitance Multiplier, 10`<br/> - `Temperature Capacitance Multiplier, 15`<br/> - `On/Off Thermostat Deadband, 1F`<br/> - `On/Off Thermostat Deadband, 2F`<br/> - `On/Off Thermostat Deadband, 3F`<br/> - `Heat Pump Backup Staging, 5 kW`<br/> - `Heat Pump Backup Staging, 10 kW`<br/> - `Experimental Ground-to-Air Heat Pump Model`<br/> - `HVAC Allow Increased Fixed Capacities`
- **Choices:** <br/> - `None`<br/> - `Temperature Capacitance Multiplier, 1`<br/> - `Temperature Capacitance Multiplier, 4`<br/> - `Temperature Capacitance Multiplier, 10`<br/> - `Temperature Capacitance Multiplier, 15`<br/> - `On/Off Thermostat Deadband, 1F`<br/> - `On/Off Thermostat Deadband, 2F`<br/> - `On/Off Thermostat Deadband, 3F`<br/> - `HVAC Blower-Off Delay, 0 sec`<br/> - `HVAC Blower-Off Delay, 45 sec`<br/> - `HVAC Blower-Off Delay, 90 sec`<br/> - `Heat Pump Backup Staging, 5 kW`<br/> - `Heat Pump Backup Staging, 10 kW`<br/> - `Experimental Ground-to-Air Heat Pump Model`<br/> - `HVAC Allow Increased Fixed Capacities`


- **Default:** `None`
Expand All @@ -1741,7 +1741,7 @@ Select a second advanced research feature to use in the model, if desired.

- **Required:** ``false``

- **Choices:** <br/> - `None`<br/> - `Temperature Capacitance Multiplier, 1`<br/> - `Temperature Capacitance Multiplier, 4`<br/> - `Temperature Capacitance Multiplier, 10`<br/> - `Temperature Capacitance Multiplier, 15`<br/> - `On/Off Thermostat Deadband, 1F`<br/> - `On/Off Thermostat Deadband, 2F`<br/> - `On/Off Thermostat Deadband, 3F`<br/> - `Heat Pump Backup Staging, 5 kW`<br/> - `Heat Pump Backup Staging, 10 kW`<br/> - `Experimental Ground-to-Air Heat Pump Model`<br/> - `HVAC Allow Increased Fixed Capacities`
- **Choices:** <br/> - `None`<br/> - `Temperature Capacitance Multiplier, 1`<br/> - `Temperature Capacitance Multiplier, 4`<br/> - `Temperature Capacitance Multiplier, 10`<br/> - `Temperature Capacitance Multiplier, 15`<br/> - `On/Off Thermostat Deadband, 1F`<br/> - `On/Off Thermostat Deadband, 2F`<br/> - `On/Off Thermostat Deadband, 3F`<br/> - `HVAC Blower-Off Delay, 0 sec`<br/> - `HVAC Blower-Off Delay, 45 sec`<br/> - `HVAC Blower-Off Delay, 90 sec`<br/> - `Heat Pump Backup Staging, 5 kW`<br/> - `Heat Pump Backup Staging, 10 kW`<br/> - `Experimental Ground-to-Air Heat Pump Model`<br/> - `HVAC Allow Increased Fixed Capacities`


- **Default:** `None`
Expand Down
9 changes: 9 additions & 0 deletions BuildResidentialHPXML/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1337,6 +1337,15 @@ def set_header(runner, hpxml, args)
hpxml.header.hvac_onoff_thermostat_deadband = onoff_db
end

hvac_bod = args[:advanced_feature_hvac_blower_off_delay]
hvac_bod = args[:advanced_feature_2_hvac_blower_off_delay] if hvac_bod.nil?
if not hvac_bod.nil?
if (not hpxml.header.hvac_blower_off_delay.nil?) && (hpxml.header.hvac_blower_off_delay != hvac_bod)
errors << "Advanced feature 'HVAC Blower-Off Delay' cannot vary across dwelling units."
end
hpxml.header.hvac_blower_off_delay = hvac_bod
end

hpbak = args[:advanced_feature_heat_pump_backup_capacity_increment]
hpbak = args[:advanced_feature_2_heat_pump_backup_capacity_increment] if hpbak.nil?
if not hpbak.nil?
Expand Down
36 changes: 30 additions & 6 deletions BuildResidentialHPXML/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>build_residential_hpxml</name>
<uid>a13a8983-2b01-4930-8af2-42030b6e4233</uid>
<version_id>7f9047dc-ce5b-4136-8c94-ff0da759787d</version_id>
<version_modified>2026-03-05T18:36:40Z</version_modified>
<version_id>101eed5f-e509-4045-885c-7ade15315a9f</version_id>
<version_modified>2026-03-24T23:23:01Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>BuildResidentialHPXML</class_name>
<display_name>HPXML Builder</display_name>
Expand Down Expand Up @@ -11081,6 +11081,18 @@
<value>On/Off Thermostat Deadband, 3F</value>
<display_name>On/Off Thermostat Deadband, 3F</display_name>
</choice>
<choice>
<value>HVAC Blower-Off Delay, 0 sec</value>
<display_name>HVAC Blower-Off Delay, 0 sec</display_name>
</choice>
<choice>
<value>HVAC Blower-Off Delay, 45 sec</value>
<display_name>HVAC Blower-Off Delay, 45 sec</display_name>
</choice>
<choice>
<value>HVAC Blower-Off Delay, 90 sec</value>
<display_name>HVAC Blower-Off Delay, 90 sec</display_name>
</choice>
<choice>
<value>Heat Pump Backup Staging, 5 kW</value>
<display_name>Heat Pump Backup Staging, 5 kW</display_name>
Expand Down Expand Up @@ -11140,6 +11152,18 @@
<value>On/Off Thermostat Deadband, 3F</value>
<display_name>On/Off Thermostat Deadband, 3F</display_name>
</choice>
<choice>
<value>HVAC Blower-Off Delay, 0 sec</value>
<display_name>HVAC Blower-Off Delay, 0 sec</display_name>
</choice>
<choice>
<value>HVAC Blower-Off Delay, 45 sec</value>
<display_name>HVAC Blower-Off Delay, 45 sec</display_name>
</choice>
<choice>
<value>HVAC Blower-Off Delay, 90 sec</value>
<display_name>HVAC Blower-Off Delay, 90 sec</display_name>
</choice>
<choice>
<value>Heat Pump Backup Staging, 5 kW</value>
<display_name>Heat Pump Backup Staging, 5 kW</display_name>
Expand Down Expand Up @@ -11413,7 +11437,7 @@
<filename>README.md</filename>
<filetype>md</filetype>
<usage_type>readme</usage_type>
<checksum>75446FA4</checksum>
<checksum>183A6ECC</checksum>
</file>
<file>
<filename>README.md.erb</filename>
Expand All @@ -11430,7 +11454,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>5A12D243</checksum>
<checksum>91723BAC</checksum>
</file>
<file>
<filename>constants.rb</filename>
Expand All @@ -11448,13 +11472,13 @@
<filename>options/advanced_feature.tsv</filename>
<filetype>tsv</filetype>
<usage_type>resource</usage_type>
<checksum>E5849695</checksum>
<checksum>9A5E0F2C</checksum>
</file>
<file>
<filename>options/advanced_feature_2.tsv</filename>
<filetype>tsv</filetype>
<usage_type>resource</usage_type>
<checksum>E5849695</checksum>
<checksum>9A5E0F2C</checksum>
</file>
<file>
<filename>options/appliance_clothes_dryer.tsv</filename>
Expand Down
42 changes: 23 additions & 19 deletions BuildResidentialHPXML/resources/options/advanced_feature.tsv
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
Option Name Temperature Capacitance Multiplier HVAC On-Off Thermostat Deadband Temperature [F] Heat Pump Backup Capacity Increment [Btu/hr] Ground-to-Air Heat Pump Model Type HVAC Allow Increased Fixed Capacities
None
"Temperature Capacitance Multiplier, 1" 1
"Temperature Capacitance Multiplier, 4" 4
"Temperature Capacitance Multiplier, 10" 10
"Temperature Capacitance Multiplier, 15" 15
"On/Off Thermostat Deadband, 1F" 1
"On/Off Thermostat Deadband, 2F" 2
"On/Off Thermostat Deadband, 3F" 3
"Heat Pump Backup Staging, 5 kW" 17060.71
"Heat Pump Backup Staging, 10 kW" 34121.42
Experimental Ground-to-Air Heat Pump Model experimental
HVAC Allow Increased Fixed Capacities TRUE

# Temperature Capacitance Multiplier: Multiplier on air heat capacitance. Affects the transient calculation of indoor air temperatures. Values greater than 1.0 have the effect of smoothing or damping the rate of change in the indoor air temperature from timestep to timestep.
# HVAC On-Off Thermostat Deadband Temperature: Temperature difference between cut-in and cut-out temperature for HVAC operation. Requires 1-minute timesteps.
# Heat Pump Backup Capacity Increment: Capacity increment of multi-stage heat pump backup systems.
# Ground-to-Air Heat Pump Model Type: Ground-to-air heat pump system model type.
"# HVAC Allow Increased Fixed Capacities: If true, the larger of user-specified fixed capacity and design load will be used (to reduce potential for unmet loads); otherwise user-specified fixed capacity is used."
Option Name Temperature Capacitance Multiplier HVAC On-Off Thermostat Deadband Temperature [F] HVAC Blower-Off Delay [sec] Heat Pump Backup Capacity Increment [Btu/hr] Ground-to-Air Heat Pump Model Type HVAC Allow Increased Fixed Capacities
None
"Temperature Capacitance Multiplier, 1" 1
"Temperature Capacitance Multiplier, 4" 4
"Temperature Capacitance Multiplier, 10" 10
"Temperature Capacitance Multiplier, 15" 15
"On/Off Thermostat Deadband, 1F" 1
"On/Off Thermostat Deadband, 2F" 2
"On/Off Thermostat Deadband, 3F" 3
"HVAC Blower-Off Delay, 0 sec" 0
"HVAC Blower-Off Delay, 45 sec" 45
"HVAC Blower-Off Delay, 90 sec" 90
"Heat Pump Backup Staging, 5 kW" 17060.71
"Heat Pump Backup Staging, 10 kW" 34121.42
Experimental Ground-to-Air Heat Pump Model experimental
HVAC Allow Increased Fixed Capacities TRUE

# Temperature Capacitance Multiplier: Multiplier on air heat capacitance. Affects the transient calculation of indoor air temperatures. Values greater than 1.0 have the effect of smoothing or damping the rate of change in the indoor air temperature from timestep to timestep.
# HVAC On-Off Thermostat Deadband Temperature: Temperature difference between cut-in and cut-out temperature for HVAC operation. Requires 1-minute timesteps.
# HVAC Blower-Off Delay: Time that the HVAC fan runs after the end of a cooling cycle. This increases the overall efficiency of the cooling system but also introduces humidity back into the home.
# Heat Pump Backup Capacity Increment: Capacity increment of multi-stage heat pump backup systems.
# Ground-to-Air Heat Pump Model Type: Ground-to-air heat pump system model type.
"# HVAC Allow Increased Fixed Capacities: If true, the larger of user-specified fixed capacity and design load will be used (to reduce potential for unmet loads); otherwise user-specified fixed capacity is used."
42 changes: 23 additions & 19 deletions BuildResidentialHPXML/resources/options/advanced_feature_2.tsv
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
Option Name Temperature Capacitance Multiplier HVAC On-Off Thermostat Deadband Temperature [F] Heat Pump Backup Capacity Increment [Btu/hr] Ground-to-Air Heat Pump Model Type HVAC Allow Increased Fixed Capacities
None
"Temperature Capacitance Multiplier, 1" 1
"Temperature Capacitance Multiplier, 4" 4
"Temperature Capacitance Multiplier, 10" 10
"Temperature Capacitance Multiplier, 15" 15
"On/Off Thermostat Deadband, 1F" 1
"On/Off Thermostat Deadband, 2F" 2
"On/Off Thermostat Deadband, 3F" 3
"Heat Pump Backup Staging, 5 kW" 17060.71
"Heat Pump Backup Staging, 10 kW" 34121.42
Experimental Ground-to-Air Heat Pump Model experimental
HVAC Allow Increased Fixed Capacities TRUE

# Temperature Capacitance Multiplier: Multiplier on air heat capacitance. Affects the transient calculation of indoor air temperatures. Values greater than 1.0 have the effect of smoothing or damping the rate of change in the indoor air temperature from timestep to timestep.
# HVAC On-Off Thermostat Deadband Temperature: Temperature difference between cut-in and cut-out temperature for HVAC operation. Requires 1-minute timesteps.
# Heat Pump Backup Capacity Increment: Capacity increment of multi-stage heat pump backup systems.
# Ground-to-Air Heat Pump Model Type: Ground-to-air heat pump system model type.
"# HVAC Allow Increased Fixed Capacities: If true, the larger of user-specified fixed capacity and design load will be used (to reduce potential for unmet loads); otherwise user-specified fixed capacity is used."
Option Name Temperature Capacitance Multiplier HVAC On-Off Thermostat Deadband Temperature [F] HVAC Blower-Off Delay [sec] Heat Pump Backup Capacity Increment [Btu/hr] Ground-to-Air Heat Pump Model Type HVAC Allow Increased Fixed Capacities
None
"Temperature Capacitance Multiplier, 1" 1
"Temperature Capacitance Multiplier, 4" 4
"Temperature Capacitance Multiplier, 10" 10
"Temperature Capacitance Multiplier, 15" 15
"On/Off Thermostat Deadband, 1F" 1
"On/Off Thermostat Deadband, 2F" 2
"On/Off Thermostat Deadband, 3F" 3
"HVAC Blower-Off Delay, 0 sec" 0
"HVAC Blower-Off Delay, 45 sec" 45
"HVAC Blower-Off Delay, 90 sec" 90
"Heat Pump Backup Staging, 5 kW" 17060.71
"Heat Pump Backup Staging, 10 kW" 34121.42
Experimental Ground-to-Air Heat Pump Model experimental
HVAC Allow Increased Fixed Capacities TRUE

# Temperature Capacitance Multiplier: Multiplier on air heat capacitance. Affects the transient calculation of indoor air temperatures. Values greater than 1.0 have the effect of smoothing or damping the rate of change in the indoor air temperature from timestep to timestep.
# HVAC On-Off Thermostat Deadband Temperature: Temperature difference between cut-in and cut-out temperature for HVAC operation. Requires 1-minute timesteps.
# HVAC Blower-Off Delay: Time that the HVAC fan runs after the end of a cooling cycle. This increases the overall efficiency of the cooling system but also introduces humidity back into the home.
# Heat Pump Backup Capacity Increment: Capacity increment of multi-stage heat pump backup systems.
# Ground-to-Air Heat Pump Model Type: Ground-to-air heat pump system model type.
"# HVAC Allow Increased Fixed Capacities: If true, the larger of user-specified fixed capacity and design load will be used (to reduce potential for unmet loads); otherwise user-specified fixed capacity is used."
26 changes: 13 additions & 13 deletions HPXMLtoOpenStudio/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>hpxm_lto_openstudio</name>
<uid>b1543b30-9465-45ff-ba04-1d1f85e763bc</uid>
<version_id>353e5b26-f5f2-414d-a19a-1168231bf5d5</version_id>
<version_modified>2026-03-23T19:27:49Z</version_modified>
<version_id>603cf44b-8ad5-4589-9645-de85f8739713</version_id>
<version_modified>2026-03-25T19:54:09Z</version_modified>
<xml_checksum>D8922A73</xml_checksum>
<class_name>HPXMLtoOpenStudio</class_name>
<display_name>HPXML to OpenStudio Translator</display_name>
Expand Down Expand Up @@ -217,13 +217,13 @@
<filename>airflow.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>2F17E22A</checksum>
<checksum>08A1E217</checksum>
</file>
<file>
<filename>battery.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>E058674B</checksum>
<checksum>E49D3A84</checksum>
</file>
<file>
<filename>calendar.rb</filename>
Expand All @@ -235,7 +235,7 @@
<filename>constants.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>6430B8D3</checksum>
<checksum>5EF534B8</checksum>
</file>
<file>
<filename>constructions.rb</filename>
Expand Down Expand Up @@ -403,7 +403,7 @@
<filename>hpxml.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>E69EEA14</checksum>
<checksum>7B02F947</checksum>
</file>
<file>
<filename>hpxml_schema/HPXML.xsd</filename>
Expand All @@ -421,7 +421,7 @@
<filename>hpxml_schematron/EPvalidator.sch</filename>
<filetype>sch</filetype>
<usage_type>resource</usage_type>
<checksum>9B5934A8</checksum>
<checksum>D8EAEEA0</checksum>
</file>
<file>
<filename>hpxml_schematron/iso-schematron.xsd</filename>
Expand All @@ -433,7 +433,7 @@
<filename>hvac.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>86BE60D7</checksum>
<checksum>98382512</checksum>
</file>
<file>
<filename>hvac_sizing.rb</filename>
Expand All @@ -445,7 +445,7 @@
<filename>internal_gains.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>D8FFFC3A</checksum>
<checksum>CD7FA760</checksum>
</file>
<file>
<filename>lighting.rb</filename>
Expand Down Expand Up @@ -493,13 +493,13 @@
<filename>model.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>A41E8C73</checksum>
<checksum>E80D049D</checksum>
</file>
<file>
<filename>output.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>7F8E008D</checksum>
<checksum>4F98F5CE</checksum>
</file>
<file>
<filename>psychrometrics.rb</filename>
Expand Down Expand Up @@ -715,7 +715,7 @@
<filename>waterheater.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>F6FDFDBD</checksum>
<checksum>99184866</checksum>
</file>
<file>
<filename>weather.rb</filename>
Expand Down Expand Up @@ -829,7 +829,7 @@
<filename>test_validation.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>5146716A</checksum>
<checksum>159BD29C</checksum>
</file>
<file>
<filename>test_vehicle.rb</filename>
Expand Down
15 changes: 3 additions & 12 deletions HPXMLtoOpenStudio/resources/airflow.rb
Original file line number Diff line number Diff line change
Expand Up @@ -474,7 +474,6 @@ def self.apply_natural_ventilation_and_whole_house_fan(runner, model, spaces, hp
name: Constants::ObjectTypeWholeHouseFan,
end_use: Constants::ObjectTypeWholeHouseFan,
space: conditioned_space, # no heat gain, so assign the equipment to an arbitrary space
design_level: nil, # will be EMS-actuated
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some unrelated cleanup throughout to avoid having to pass a bunch of nil values to Model.add_electric_equipment and Model.add_other_equipment.

frac_radiant: 0,
frac_latent: 0,
frac_lost: 1,
Expand Down Expand Up @@ -1321,12 +1320,10 @@ def self.apply_ducts_for_distribution_system_location(model, spaces, hpxml_bldg,
name: object_name,
end_use: end_use,
space: space,
design_level: nil,
frac_radiant: 0,
frac_latent: frac_lat,
frac_lost: frac_lost,
schedule: model.alwaysOnDiscreteSchedule,
fuel_type: nil
schedule: model.alwaysOnDiscreteSchedule
)

duct_actuators[var_name] = Model.add_ems_actuator(
Expand Down Expand Up @@ -2241,12 +2238,10 @@ def self.initialize_mech_vent(model, spaces, infil_program, sensors)
name: "#{Constants::ObjectTypeMechanicalVentilationHouseFan} sensible load",
end_use: Constants::ObjectTypeMechanicalVentilationHouseFan,
space: conditioned_space,
design_level: nil,
frac_radiant: 0,
frac_latent: 0,
frac_lost: 0,
schedule: model.alwaysOnDiscreteSchedule,
fuel_type: nil
schedule: model.alwaysOnDiscreteSchedule
)

fan_sens_load_actuator = Model.add_ems_actuator(
Expand All @@ -2260,12 +2255,10 @@ def self.initialize_mech_vent(model, spaces, infil_program, sensors)
name: "#{Constants::ObjectTypeMechanicalVentilationHouseFan} latent load",
end_use: Constants::ObjectTypeMechanicalVentilationHouseFan,
space: conditioned_space,
design_level: nil,
frac_radiant: 0,
frac_latent: 1,
frac_lost: 0,
schedule: model.alwaysOnDiscreteSchedule,
fuel_type: nil
schedule: model.alwaysOnDiscreteSchedule
)

fan_lat_load_actuator = Model.add_ems_actuator(
Expand Down Expand Up @@ -2555,7 +2548,6 @@ def self.calculate_precond_loads(model, spaces, infil_program, vent_fans, hrv_er
name: "shared mech vent preheating energy #{i}",
end_use: "#{Constants::ObjectTypeMechanicalVentilationPreheating}#{cnt + 1}",
space: conditioned_space,
design_level: nil,
frac_radiant: 0,
frac_latent: 0,
frac_lost: 1,
Expand Down Expand Up @@ -2600,7 +2592,6 @@ def self.calculate_precond_loads(model, spaces, infil_program, vent_fans, hrv_er
name: "shared mech vent precooling energy #{i}",
end_use: "#{Constants::ObjectTypeMechanicalVentilationPrecooling}#{cnt + 1}",
space: conditioned_space,
design_level: nil,
frac_radiant: 0,
frac_latent: 0,
frac_lost: 1,
Expand Down
Loading