Skip to content

Commit

Permalink
Merge pull request #1093 from NREL/hvac-secondary2
Browse files Browse the repository at this point in the history
HVAC Secondary Heating, try 2
  • Loading branch information
joseph-robertson committed Jul 17, 2023
2 parents 13e4862 + bbe05a8 commit 30044a0
Show file tree
Hide file tree
Showing 84 changed files with 81,954 additions and 81,537 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
Features
- Add 2022 Cambium emissions data ([#1038](https://github.com/NREL/resstock/pull/1038))
- Update characteristics to use EIA 2020 RECS ([#1031](https://github.com/NREL/resstock/pull/1031))
- Include HVAC secondary heating capabilities for project_testing ([#1090](https://github.com/NREL/resstock/pull/1090))

Fixes
- Set standard format for options_lookup ([#962](https://github.com/NREL/resstock/pull/962))
- Model a wood storage water heater when "Other Fuel" is sampled from Water Heater Efficiency.tsv (allowing downstream modeling of clothes washer/dryer). Similarly, model a wood wall/floor furnace when "Other" is sampled from HVAC Heating Efficiency.tsv ([#947](https://github.com/NREL/resstock/pull/947))
- Update ResStockArguments to support nonzero fraction of heat load served by the secondary heating system ([#1090](https://github.com/NREL/resstock/pull/1090))

## ResStock v3.1.0
###### May 25, 2023 - [Diff](https://github.com/NREL/resstock/compare/v3.0.0...v3.1.0)
Expand Down
30 changes: 26 additions & 4 deletions docs/read_the_docs/source/workflow_inputs/characteristics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1673,10 +1673,10 @@ Assumption
**********


.. _hvac_secondary_heating_type_and_fuel:
.. _hvac_secondary_heating_fuel:

HVAC Secondary Heating Type And Fuel
------------------------------------
HVAC Secondary Heating Fuel
---------------------------

Description
***********
Expand All @@ -1691,7 +1691,29 @@ manually created
Source
******

n/a

Assumption
**********


.. _hvac_secondary_heating_partial_space_conditioning:

HVAC Secondary Heating Partial Space Conditioning
-------------------------------------------------

Description
***********

Fraction of heat load served by secondary heating system (not used in project_national).

Created by
**********

manually created

Source
******


Assumption
**********
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@ build_existing_model.hvac_heating_efficiency,:ref:`hvac_heating_efficiency`
build_existing_model.hvac_heating_type,:ref:`hvac_heating_type`
build_existing_model.hvac_heating_type_and_fuel,:ref:`hvac_heating_type_and_fuel`
build_existing_model.hvac_secondary_heating_efficiency,:ref:`hvac_secondary_heating_efficiency`
build_existing_model.hvac_secondary_heating_type_and_fuel,:ref:`hvac_secondary_heating_type_and_fuel`
build_existing_model.hvac_secondary_heating_fuel,:ref:`hvac_secondary_heating_fuel`
build_existing_model.hvac_secondary_heating_partial_space_conditioning,:ref:`hvac_secondary_heating_partial_space_conditioning`
build_existing_model.hvac_shared_efficiencies,:ref:`hvac_shared_efficiencies`
build_existing_model.hvac_system_is_faulted,:ref:`hvac_system_is_faulted`
build_existing_model.hvac_system_single_speed_ac_airflow,:ref:`hvac_system_single_speed_ac_airflow`
Expand Down
12 changes: 3 additions & 9 deletions measures/ApplyUpgrade/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -433,15 +433,7 @@ def run(model, runner, user_arguments)
osw_out = "upgraded#{i + 1}.osw" if i > 0
next unless not apply_measures(dir, measures_to_apply, new_runner, model, true, 'OpenStudio::Measure::ModelMeasure', osw_out)

new_runner.result.warnings.each do |warning|
runner.registerWarning(warning.logMessage)
end
new_runner.result.info.each do |info|
runner.registerInfo(info.logMessage)
end
new_runner.result.errors.each do |error|
runner.registerError(error.logMessage)
end
register_logs(runner, new_runner)
return false
end

Expand All @@ -451,6 +443,8 @@ def run(model, runner, user_arguments)
in_path = File.expand_path('../home.xml')
FileUtils.cp(hpxml_path, in_path)

register_logs(runner, new_runner)

return true
end

Expand Down
6 changes: 3 additions & 3 deletions measures/ApplyUpgrade/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>apply_upgrade</name>
<uid>33f1654c-f734-43d1-b35d-9d2856e41b5a</uid>
<version_id>51fe0034-de6b-4aa6-91d1-2a15d5571e5e</version_id>
<version_modified>2023-05-31T22:39:26Z</version_modified>
<version_id>124b9613-198f-4e07-ae0e-7d37e9f65a35</version_id>
<version_modified>2023-06-16T15:53:01Z</version_modified>
<xml_checksum>9339BE01</xml_checksum>
<class_name>ApplyUpgrade</class_name>
<display_name>Apply Upgrade</display_name>
Expand Down Expand Up @@ -6330,7 +6330,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>D4B768A3</checksum>
<checksum>0743C8DE</checksum>
</file>
<file>
<filename>constants.rb</filename>
Expand Down
15 changes: 2 additions & 13 deletions measures/BuildExistingModel/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -667,20 +667,9 @@ def run(model, runner, user_arguments)
register_value(runner, 'sample_weight', sample_weight.to_s)
end

return true
end
register_logs(runner, new_runner)

def register_logs(runner, new_runner)
new_runner.result.warnings.each do |warning|
runner.registerWarning(warning.logMessage)
end
new_runner.result.info.each do |info|
runner.registerInfo(info.logMessage)
end
new_runner.result.errors.each do |error|
runner.registerError(error.logMessage)
end
return
return true
end
end

Expand Down
6 changes: 3 additions & 3 deletions measures/BuildExistingModel/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_existing_model</name>
<uid>dedf59bb-3b88-4f16-8755-2c1ff5519cbf</uid>
<version_id>ea432f5d-93a2-4116-b9d0-a35123c7722d</version_id>
<version_modified>2023-06-08T18:07:12Z</version_modified>
<version_id>11f19e97-df3d-4923-b8ab-5517e0bdda15</version_id>
<version_modified>2023-06-16T15:53:01Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>BuildExistingModel</class_name>
<display_name>Build Existing Model</display_name>
Expand Down Expand Up @@ -320,7 +320,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>DE976555</checksum>
<checksum>8AA0977A</checksum>
</file>
</files>
</measure>
19 changes: 19 additions & 0 deletions measures/ResStockArguments/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,25 @@ def run(model, runner, user_arguments)
args[:air_leakage_has_flue_or_chimney_in_conditioned_space] = true
end

# HVAC Secondary
if args[:heating_system_2_type] != 'none'
if args[:heating_system_type] != 'none'
if ((args[:heating_system_fraction_heat_load_served] + args[:heating_system_2_fraction_heat_load_served]) > 1.0)
info_msg = "Adjusted fraction of heat load served by the primary heating system (#{args[:heating_system_fraction_heat_load_served]}"
args[:heating_system_fraction_heat_load_served] = 1.0 - args[:heating_system_2_fraction_heat_load_served]
info_msg += " to #{args[:heating_system_fraction_heat_load_served]}) to allow for a secondary heating system (#{args[:heating_system_2_fraction_heat_load_served]})."
runner.registerInfo(info_msg)
end
elsif args[:heat_pump_type] != 'none'
if ((args[:heat_pump_fraction_heat_load_served] + args[:heating_system_2_fraction_heat_load_served]) > 1.0)
info_msg = "Adjusted fraction of heat load served by the primary heating system (#{args[:heat_pump_fraction_heat_load_served]}"
args[:heat_pump_fraction_heat_load_served] = 1.0 - args[:heating_system_2_fraction_heat_load_served]
info_msg += " to #{args[:heat_pump_fraction_heat_load_served]}) to allow for a secondary heating system (#{args[:heating_system_2_fraction_heat_load_served]})."
runner.registerInfo(info_msg)
end
end
end

# HVAC Faults
if args[:heating_system_rated_cfm_per_ton].is_initialized && args[:heating_system_actual_cfm_per_ton].is_initialized
args[:heating_system_airflow_defect_ratio] = (args[:heating_system_actual_cfm_per_ton].get - args[:heating_system_rated_cfm_per_ton].get) / args[:heating_system_rated_cfm_per_ton].get
Expand Down
57 changes: 36 additions & 21 deletions measures/ResStockArguments/measure.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0"?>
<measure>
<schema_version>3.0</schema_version>
<schema_version>3.1</schema_version>
<name>res_stock_arguments</name>
<uid>c984bb9e-4ac4-4930-a399-9d23f8f6936a</uid>
<version_id>4b724193-916d-44ba-a2d1-98d57e0cc1c4</version_id>
<version_modified>20230510T234141Z</version_modified>
<version_id>2b2588b3-4f9a-4495-934d-9c654f5693c9</version_id>
<version_modified>2023-07-14T22:34:18Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>ResStockArguments</class_name>
<display_name>ResStock Arguments</display_name>
Expand Down Expand Up @@ -1518,6 +1518,13 @@
<required>false</required>
<model_dependent>false</model_dependent>
</argument>
<argument>
<name>cooling_system_crankcase_heater_watts</name>
<display_name>cooling_system_crankcase_heater_watts</display_name>
<type>String</type>
<required>false</required>
<model_dependent>false</model_dependent>
</argument>
<argument>
<name>cooling_system_integrated_heating_system_fuel</name>
<display_name>cooling_system_integrated_heating_system_fuel</display_name>
Expand Down Expand Up @@ -1671,8 +1678,15 @@
<model_dependent>false</model_dependent>
</argument>
<argument>
<name>heat_pump_heating_capacity_17_f</name>
<display_name>heat_pump_heating_capacity_17_f</display_name>
<name>heat_pump_heating_capacity_retention_fraction</name>
<display_name>heat_pump_heating_capacity_retention_fraction</display_name>
<type>String</type>
<required>false</required>
<model_dependent>false</model_dependent>
</argument>
<argument>
<name>heat_pump_heating_capacity_retention_temp</name>
<display_name>heat_pump_heating_capacity_retention_temp</display_name>
<type>String</type>
<required>false</required>
<model_dependent>false</model_dependent>
Expand Down Expand Up @@ -1799,15 +1813,8 @@
<model_dependent>false</model_dependent>
</argument>
<argument>
<name>heat_pump_capacity_retention_fraction</name>
<display_name>heat_pump_capacity_retention_fraction</display_name>
<type>String</type>
<required>false</required>
<model_dependent>false</model_dependent>
</argument>
<argument>
<name>heat_pump_capacity_retention_temp</name>
<display_name>heat_pump_capacity_retention_temp</display_name>
<name>heat_pump_crankcase_heater_watts</name>
<display_name>heat_pump_crankcase_heater_watts</display_name>
<type>String</type>
<required>false</required>
<model_dependent>false</model_dependent>
Expand All @@ -1825,6 +1832,10 @@
<value>none</value>
<display_name>none</display_name>
</choice>
<choice>
<value>Furnace</value>
<display_name>Furnace</display_name>
</choice>
<choice>
<value>WallFurnace</value>
<display_name>WallFurnace</display_name>
Expand Down Expand Up @@ -1853,6 +1864,10 @@
<value>Fireplace</value>
<display_name>Fireplace</display_name>
</choice>
<choice>
<value>FixedHeater</value>
<display_name>FixedHeater</display_name>
</choice>
</choices>
</argument>
<argument>
Expand Down Expand Up @@ -5101,12 +5116,6 @@
</attribute>
</attributes>
<files>
<file>
<filename>constants.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>231B4F9A</checksum>
</file>
<file>
<version>
<software_program>OpenStudio</software_program>
Expand All @@ -5116,7 +5125,13 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>836430C2</checksum>
<checksum>4BDB3CDC</checksum>
</file>
<file>
<filename>constants.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>231B4F9A</checksum>
</file>
</files>
</measure>
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
Option=None sampling_probability
1 1
# Created by: manually created
# Description: Secondary HVAC system heating type and fuel (not used in project_national).
# Source: n/a
# Description: Secondary HVAC system heating type and fuel (not used in project_national).
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Option=None sampling_probability
1 1
# Created by: manually created
# Description: Fraction of heat load served by secondary heating system (not used in project_national).
3 changes: 2 additions & 1 deletion project_national/resources/source_report.csv
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ HVAC Heating Efficiency,22.0,4.0,sources\recs\recs2020\tsv_maker.py,The presence
HVAC Heating Type,5.0,4.0,sources\recs\recs2020\tsv_maker.py,The presence and type of the primary heating system in the dwelling unit.,U.S. EIA 2020 Residential Energy Consumption Survey (RECS) microdata.,"Due to low sample sizes, fallback rules applied with lumping of; 1) Heating fuel lump: Fuel oil, Propane, and Other Fuel2) Geometry building SF: Mobile, Single family attached, Single family detached3) Geometry building MF: Multi-Family with 2 - 4 Units, Multi-Family with 5+ Units4) Vintage Lump: 20yrs bins"
HVAC Heating Type And Fuel,25.0,2.0,sources\recs\recs2020\tsv_maker.py,"The presence, type, and fuel of primary heating system.",Calculated directly from other distributions,
HVAC Secondary Heating Efficiency,1.0,0.0,manually created,Efficiency of the secondary heating system (not used in project_national).,n/a,
HVAC Secondary Heating Type And Fuel,1.0,0.0,manually created,Secondary HVAC system heating type and fuel (not used in project_national).,n/a,
HVAC Secondary Heating Fuel,1.0,0.0,manually created,Secondary HVAC system heating type and fuel (not used in project_national).,,
HVAC Secondary Heating Partial Space Conditioning,1.0,0.0,manually created,Fraction of heat load served by secondary heating system (not used in project_national).,,
HVAC Shared Efficiencies,10.0,2.0,sources\recs\recs2020\tsv_maker.py,The presence and efficiency of the shared HVAC system.,The sample counts and sample weights are constructed using U.S. EIA 2020 Residential Energy Consumption Survey (RECS) microdata.,Assume that all Heating and Cooling shared systems are fan coils in each dwelling unit served by a central chiller and boiler.; Assume all Heating Only shared systems are hot water baseboards in each dwelling unit served by a central boiler.; Assume all Cooling Only shared systems are fan coils in each dwelling unit served by a central chiller.
HVAC System Is Faulted,2.0,0.0,manually created,The presence of the HVAC system having a fault (not used in project_national).,Assuming no faults until we have data necessary to characterize all types of ACs and heat pumps (https://github.com/NREL/resstock/issues/733).,
HVAC System Single Speed AC Airflow,13.0,2.0,manually created,Single speed central and room air conditioner actual air flow rates.,Winkler et al. 'Impact of installation faults in air conditioners and heat pumps in single-family homes on US energy usage' 2020,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,8 @@
Dependency=HVAC Heating Type And Fuel Option=None Option=Electric Baseboard, 100% Efficiency Option=Electric Portable Heater, 100% Efficiency Option=Fuel Fireplace, 60% AFUE sampling_probability
None 1 0 0 0 0.333333
Void 1 0 0 0 0
Electricity ASHP 1 0 0 0 0.0416667
Electricity Baseboard 1 0 0 0 0.00848765
Electricity Electric Boiler 1 0 0 0 0.00848765
Electricity Electric Furnace 1 0 0 0 0.025463
Electricity Electric Wall Furnace 1 0 0 0 0.00848765
Electricity MSHP 1 0 0 0 0.0416667
Electricity Shared Heating 1 0 0 0 0.0324074
Fuel Oil Fuel Boiler 1 0 0 0 0.0305556
Fuel Oil Fuel Furnace 1 0 0 0 0.0509259
Fuel Oil Fuel Wall/Floor Furnace 1 0 0 0 0.0203704
Fuel Oil Shared Heating 1 0 0 0 0.0648148
Natural Gas Fuel Boiler 1 0 0 0 0.0305556
Natural Gas Fuel Furnace 1 0 0 0 0.0509259
Natural Gas Fuel Wall/Floor Furnace 1 0 0 0 0.0203704
Natural Gas Shared Heating 1 0 0 0 0.0648148
Other Fuel Fuel Boiler 1 0 0 0 0
Other Fuel Fuel Furnace 1 0 0 0 0
Other Fuel Fuel Wall/Floor Furnace 1 0 0 0 0
Other Fuel Shared Heating 1 0 0 0 0
Propane Fuel Boiler 1 0 0 0 0.0305556
Propane Fuel Furnace 1 0 0 0 0.0509259
Propane Fuel Wall/Floor Furnace 1 0 0 0 0.0203704
Propane Shared Heating 1 0 0 0 0.0648148
Dependency=HVAC Secondary Heating Fuel Option=None Option=Electric Baseboard, 100% Efficiency Option=Electric Portable Heater, 100% Efficiency Option=Fuel Fireplace, 60% AFUE sampling_probability
Electricity 0 0.5 0.5 0 0.133333
Fuel Oil 0 0 0 1 0.133333
Natural Gas 0 0 0 1 0.133333
None 1 0 0 0 0.466667
Propane 0 0 0 1 0.133333
# Created by: manually created
# Description: Efficiency of the secondary heating system (not used in project_national).
# Description: Efficiency of the secondary heating system.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Dependency=HVAC Heating Type And Fuel Option=Electricity Option=Fuel Oil Option=Natural Gas Option=None Option=Propane sampling_probability
None 0 0 0 1 0 0.333333
Void 0 0 0 1 0 0
Electricity ASHP 0.2 0.2 0.2 0.2 0.2 0.0416667
Electricity Baseboard 0.2 0.2 0.2 0.2 0.2 0.00848765
Electricity Electric Boiler 0.2 0.2 0.2 0.2 0.2 0.00848765
Electricity Electric Furnace 0.2 0.2 0.2 0.2 0.2 0.025463
Electricity Electric Wall Furnace 0.2 0.2 0.2 0.2 0.2 0.00848765
Electricity MSHP 0.2 0.2 0.2 0.2 0.2 0.0416667
Electricity Shared Heating 0.2 0.2 0.2 0.2 0.2 0.0324074
Fuel Oil Fuel Boiler 0.2 0.2 0.2 0.2 0.2 0.0305556
Fuel Oil Fuel Furnace 0.2 0.2 0.2 0.2 0.2 0.0509259
Fuel Oil Fuel Wall/Floor Furnace 0.2 0.2 0.2 0.2 0.2 0.0203704
Fuel Oil Shared Heating 0.2 0.2 0.2 0.2 0.2 0.0648148
Natural Gas Fuel Boiler 0.2 0.2 0.2 0.2 0.2 0.0305556
Natural Gas Fuel Furnace 0.2 0.2 0.2 0.2 0.2 0.0509259
Natural Gas Fuel Wall/Floor Furnace 0.2 0.2 0.2 0.2 0.2 0.0203704
Natural Gas Shared Heating 0.2 0.2 0.2 0.2 0.2 0.0648148
Other Fuel Fuel Boiler 0.2 0.2 0.2 0.2 0.2 0
Other Fuel Fuel Furnace 0.2 0.2 0.2 0.2 0.2 0
Other Fuel Fuel Wall/Floor Furnace 0.2 0.2 0.2 0.2 0.2 0
Other Fuel Shared Heating 0.2 0.2 0.2 0.2 0.2 0
Propane Fuel Boiler 0.2 0.2 0.2 0.2 0.2 0.0305556
Propane Fuel Furnace 0.2 0.2 0.2 0.2 0.2 0.0509259
Propane Fuel Wall/Floor Furnace 0.2 0.2 0.2 0.2 0.2 0.0203704
Propane Shared Heating 0.2 0.2 0.2 0.2 0.2 0.0648148
# Created by: manually created
# Description: Secondary HVAC system heating type and fuel.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Dependency=HVAC Secondary Heating Efficiency Option=<10% Conditioned Option=20% Conditioned Option=30% Conditioned Option=40% Conditioned Option=50% Conditioned Option=None sampling_probability
None 0 0 0 0 0 1 0.466667
Electric Baseboard, 100% Efficiency 0.2 0.2 0.2 0.2 0.2 0 0.0666667
Electric Portable Heater, 100% Efficiency 0.2 0.2 0.2 0.2 0.2 0 0.0666667
Fuel Fireplace, 60% AFUE 0.2 0.2 0.2 0.2 0.2 0 0.4
# Created by: manually created
# Description: Fraction of heat load served by the secondary heating system.

0 comments on commit 30044a0

Please sign in to comment.