From 171f1482fe6d7a4f5d5d02e8ad0396abbb27e829 Mon Sep 17 00:00:00 2001 From: Joe Robertson Date: Wed, 10 Jul 2024 20:58:19 -0700 Subject: [PATCH 01/33] Start updates for UpgradeCosts becoming a ModelMeasure. --- .../measures/UpgradeCosts/measure.xml | 18 ++++-- .../residential/residential_hpxml.py | 55 ++++++++++++++++--- .../test_residential_workflow_generator.py | 37 ++++++------- docs/changelog/changelog_dev.rst | 7 +++ 4 files changed, 82 insertions(+), 35 deletions(-) diff --git a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/measures/UpgradeCosts/measure.xml b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/measures/UpgradeCosts/measure.xml index fbf1e61f..99bf4612 100644 --- a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/measures/UpgradeCosts/measure.xml +++ b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/measures/UpgradeCosts/measure.xml @@ -3,9 +3,9 @@ 3.1 upgrade_costs ef51212c-acc4-48d7-9b29-cf2a5c6c4449 - 91316c37-1384-4da6-bfc7-f3ffff7479bd - 2024-05-16T22:50:36Z - 9BF1E6AC + 4761c00c-8f1a-4a74-924a-1d45c1a3722f + 2024-06-07T21:06:10Z + B1F14CB4 UpgradeCosts Upgrade Costs Measure that calculates upgrade costs. @@ -39,7 +39,7 @@ Measure Type - ReportingMeasure + ModelMeasure string @@ -75,7 +75,13 @@ measure.rb rb script - 9CBCFE21 + B50B2AE9 + + + constants.rb + rb + resource + 64289999 MF_1story_UB_Furnace_AC1_FuelTankWH.osw @@ -213,7 +219,7 @@ upgrade_costs_test.rb rb test - 4695A458 + 5087DD5F diff --git a/buildstockbatch/workflow_generator/residential/residential_hpxml.py b/buildstockbatch/workflow_generator/residential/residential_hpxml.py index 529c755f..449837fb 100644 --- a/buildstockbatch/workflow_generator/residential/residential_hpxml.py +++ b/buildstockbatch/workflow_generator/residential/residential_hpxml.py @@ -125,15 +125,7 @@ def create_osw(self, sim_id, building_id, upgrade_idx): ) debug = workflow_args.get("debug", False) - measure_args_mapping = { - "build_existing_model": "BuildExistingModel", - "hpxml_to_openstudio": "HPXMLtoOpenStudio", - "simulation_output_report": "ReportSimulationOutput", - "report_hpxml_output": "ReportHPXMLOutput", - "report_utility_bills": "ReportUtilityBills", - "upgrade_costs": "UpgradeCosts", - "server_directory_cleanup": "ServerDirectoryCleanup", - } + measure_args_mapping = self._get_measure_args_mapping() steps = [] for key, measure_dir_name in measure_args_mapping.items(): @@ -223,6 +215,32 @@ def _get_measure_args(self, workflow_block_args, measure_dir_name, debug): measure_args["debug"] = debug return measure_args + def _get_measure_args_mapping(self): + upg_costs_measure_attrs = self.get_measure_attributes_from_xml(self.buildstock_dir, "UpgradeCosts") + upg_costs_measure_type = upg_costs_measure_attrs["Measure Type"] + if upg_costs_measure_type == "ModelMeasure": + measure_args_mapping = { + "build_existing_model": "BuildExistingModel", + "hpxml_to_openstudio": "HPXMLtoOpenStudio", + "upgrade_costs": "UpgradeCosts", + "simulation_output_report": "ReportSimulationOutput", + "report_utility_bills": "ReportUtilityBills", + "server_directory_cleanup": "ServerDirectoryCleanup", + } + elif upg_costs_measure_type == "ReportingMeasure": + measure_args_mapping = { + "build_existing_model": "BuildExistingModel", + "hpxml_to_openstudio": "HPXMLtoOpenStudio", + "simulation_output_report": "ReportSimulationOutput", + "report_hpxml_output": "ReportHPXMLOutput", + "report_utility_bills": "ReportUtilityBills", + "upgrade_costs": "UpgradeCosts", + "server_directory_cleanup": "ServerDirectoryCleanup", + } + else: + raise ValueError(f"Measure Type '{upg_costs_measure_type}' not recognized for measure 'UpgradeCosts'") + return measure_args_mapping + def _get_mapped_args(self, workflow_args): """ Get the arguments to various measures from the workflow_args. The mapping is defined in the ARG_MAP @@ -253,6 +271,25 @@ def get_measure_arguments_from_xml(buildstock_dir, measure_dir_name: str): arguments.add(name) return arguments + @staticmethod + def get_measure_attributes_from_xml(buildstock_dir, measure_dir_name: str): + for measure_path in ["measures", "resources/hpxml-measures"]: + measure_dir_path = os.path.join(buildstock_dir, measure_path, measure_dir_name) + if os.path.isdir(measure_dir_path): + break + else: + raise ValueError(f"Measure '{measure_dir_name}' not found in any of the measure directories") + measure_xml_path = os.path.join(measure_dir_path, "measure.xml") + if not os.path.isfile(measure_xml_path): + raise ValueError(f"Measure '{measure_dir_name}' does not have a measure xml file") + attributes = {} + root = ElementTree.parse(measure_xml_path).getroot() + for attribute in root.findall("./attributes/attribute"): + name = attribute.find("./name").text + value = attribute.find("./value").text + attributes[name] = value + return attributes + @staticmethod def recursive_dict_update(base_dict, new_dict): """ diff --git a/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py b/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py index e1b7c395..e9aed5d5 100644 --- a/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py +++ b/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py @@ -105,7 +105,7 @@ def test_residential_hpxml(mocker): osw_gen = ResidentialHpxmlWorkflowGenerator(cfg, n_datapoints) osw = osw_gen.create_osw(sim_id, building_id, 0) - assert len(osw["steps"]) == 12 + assert len(osw["steps"]) == 11 apply_upgrade_step = osw["steps"][1] assert apply_upgrade_step["measure_dir_name"] == "ApplyUpgrade" @@ -131,13 +131,16 @@ def test_residential_hpxml(mocker): hpxml_to_os_step = osw["steps"][2] assert hpxml_to_os_step["measure_dir_name"] == "HPXMLtoOpenStudio" - assert osw["steps"][3]["measure_dir_name"] == "TestMeasure1" - assert osw["steps"][3]["arguments"]["TestMeasure1_arg1"] == 1 - assert osw["steps"][3]["arguments"]["TestMeasure1_arg2"] == 2 - assert osw["steps"][4]["measure_dir_name"] == "TestMeasure2" - assert osw["steps"][4].get("arguments") is None + upgrade_costs_step = osw["steps"][3] + assert upgrade_costs_step["measure_dir_name"] == "UpgradeCosts" + + assert osw["steps"][4]["measure_dir_name"] == "TestMeasure1" + assert osw["steps"][4]["arguments"]["TestMeasure1_arg1"] == 1 + assert osw["steps"][4]["arguments"]["TestMeasure1_arg2"] == 2 + assert osw["steps"][5]["measure_dir_name"] == "TestMeasure2" + assert osw["steps"][5].get("arguments") is None - simulation_output_step = osw["steps"][5] + simulation_output_step = osw["steps"][6] assert simulation_output_step["measure_dir_name"] == "ReportSimulationOutput" assert simulation_output_step["arguments"]["timeseries_frequency"] == "hourly" assert simulation_output_step["arguments"]["include_annual_total_consumptions"] is True @@ -175,25 +178,19 @@ def test_residential_hpxml(mocker): assert simulation_output_step["arguments"]["add_timeseries_dst_column"] is True assert simulation_output_step["arguments"]["add_timeseries_utc_column"] is True - hpxml_output_step = osw["steps"][6] - assert hpxml_output_step["measure_dir_name"] == "ReportHPXMLOutput" - utility_bills_step = osw["steps"][7] assert utility_bills_step["measure_dir_name"] == "ReportUtilityBills" assert utility_bills_step["arguments"]["include_annual_bills"] is True assert utility_bills_step["arguments"]["include_monthly_bills"] is False - upgrade_costs_step = osw["steps"][8] - assert upgrade_costs_step["measure_dir_name"] == "UpgradeCosts" - - assert osw["steps"][9]["measure_dir_name"] == "TestReportingMeasure1" - assert osw["steps"][9]["arguments"]["TestReportingMeasure1_arg1"] == "TestReportingMeasure1_val1" - assert osw["steps"][9]["arguments"]["TestReportingMeasure1_arg2"] == "TestReportingMeasure1_val2" - assert osw["steps"][10]["measure_dir_name"] == "TestReportingMeasure2" - assert osw["steps"][10]["arguments"]["TestReportingMeasure2_arg1"] == "TestReportingMeasure2_val1" - assert osw["steps"][10]["arguments"]["TestReportingMeasure2_arg2"] == "TestReportingMeasure2_val2" + assert osw["steps"][8]["measure_dir_name"] == "TestReportingMeasure1" + assert osw["steps"][8]["arguments"]["TestReportingMeasure1_arg1"] == "TestReportingMeasure1_val1" + assert osw["steps"][8]["arguments"]["TestReportingMeasure1_arg2"] == "TestReportingMeasure1_val2" + assert osw["steps"][9]["measure_dir_name"] == "TestReportingMeasure2" + assert osw["steps"][9]["arguments"]["TestReportingMeasure2_arg1"] == "TestReportingMeasure2_val1" + assert osw["steps"][9]["arguments"]["TestReportingMeasure2_arg2"] == "TestReportingMeasure2_val2" - server_dir_cleanup_step = osw["steps"][11] + server_dir_cleanup_step = osw["steps"][10] assert server_dir_cleanup_step["measure_dir_name"] == "ServerDirectoryCleanup" diff --git a/docs/changelog/changelog_dev.rst b/docs/changelog/changelog_dev.rst index e9e830ff..2ac72506 100644 --- a/docs/changelog/changelog_dev.rst +++ b/docs/changelog/changelog_dev.rst @@ -78,3 +78,10 @@ Development Changelog :pullreq: 456 Refactor WorkflowGenerator. + + .. change:: + :tags: general, feature + :pullreq: TODO + + For the Residential HPXML Workflow Generator, supports the UpgradeCosts measure + changing from ReportingMeasure to ModelMeasure. From 42a346baefc6f4317768d69a4041e953073a656c Mon Sep 17 00:00:00 2001 From: Joe Robertson Date: Fri, 12 Jul 2024 13:55:44 -0700 Subject: [PATCH 02/33] Try adding entry to hpxml schema yml. --- setup.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 4aa11f83..798947d9 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,10 @@ url=metadata["__url__"], packages=setuptools.find_packages(), python_requires=">=3.8", - package_data={"buildstockbatch": ["*.sh", "schemas/*.yaml"], "": ["LICENSE"]}, + package_data={ + "buildstockbatch": ["*.sh", "schemas/*.yaml", "workflow_generator/residential/*.yml"], + "": ["LICENSE"], + }, install_requires=[ "pyyaml", "requests", From e0e3021c64bd0013ccaac823e7cabca05086adb2 Mon Sep 17 00:00:00 2001 From: Joe Robertson Date: Wed, 17 Jul 2024 08:40:01 -0700 Subject: [PATCH 03/33] Update config to point to resstock branch. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54cfa7e4..af44f1f7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -94,7 +94,7 @@ jobs: with: repository: NREL/resstock path: resstock - ref: develop + ref: res-reporting - uses: actions/setup-python@v4 with: python-version: 3.11 From fa7d6b936121c756b09369f1ca28f453cba16d10 Mon Sep 17 00:00:00 2001 From: Joe Robertson Date: Wed, 17 Jul 2024 10:39:31 -0700 Subject: [PATCH 04/33] Fix some weird formatting in dictionary. --- .../residential/residential_hpxml.py | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/buildstockbatch/workflow_generator/residential/residential_hpxml.py b/buildstockbatch/workflow_generator/residential/residential_hpxml.py index 8b1d2c31..b6d9ca1c 100644 --- a/buildstockbatch/workflow_generator/residential/residential_hpxml.py +++ b/buildstockbatch/workflow_generator/residential/residential_hpxml.py @@ -231,17 +231,15 @@ def _get_workflow_key_to_measure_names(self): "server_directory_cleanup": "ServerDirectoryCleanup", } elif upg_costs_measure_type == "ReportingMeasure": - measure_args_mapping = ( - { # This is the order the osw steps will be in if UpgradeCosts is ReportingMeasure (old workflow) - "build_existing_model": "BuildExistingModel", - "hpxml_to_openstudio": "HPXMLtoOpenStudio", # Non-existing Workflow Key is fine - "simulation_output_report": "ReportSimulationOutput", - "report_hpxml_output": "ReportHPXMLOutput", - "report_utility_bills": "ReportUtilityBills", - "upgrade_costs": "UpgradeCosts", - "server_directory_cleanup": "ServerDirectoryCleanup", - } - ) + measure_args_mapping = { # This is the order the osw steps will be in if UpgradeCosts is ReportingMeasure + "build_existing_model": "BuildExistingModel", + "hpxml_to_openstudio": "HPXMLtoOpenStudio", # Non-existing Workflow Key is fine + "simulation_output_report": "ReportSimulationOutput", + "report_hpxml_output": "ReportHPXMLOutput", + "report_utility_bills": "ReportUtilityBills", + "upgrade_costs": "UpgradeCosts", + "server_directory_cleanup": "ServerDirectoryCleanup", + } else: raise ValueError(f"Measure Type '{upg_costs_measure_type}' not recognized for measure 'UpgradeCosts'") return measure_args_mapping From b1b76ec7003aebfd17af3a507817920900153ae2 Mon Sep 17 00:00:00 2001 From: Joe Robertson Date: Wed, 17 Jul 2024 10:47:37 -0700 Subject: [PATCH 05/33] Update config to point to resstock branch. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index af44f1f7..9b7710a6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: with: repository: NREL/resstock path: resstock - ref: develop + ref: res-reporting - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} From b1f3e0d9feb70aa746a2ad4f9594c4a98a21937b Mon Sep 17 00:00:00 2001 From: Joe Robertson Date: Wed, 17 Jul 2024 11:12:42 -0700 Subject: [PATCH 06/33] Update another test. --- .../residential/test_residential_workflow_generator.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py b/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py index 29e79731..3354e80a 100644 --- a/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py +++ b/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py @@ -403,10 +403,9 @@ def assert_valid_keys(measure_dir_name, yaml_block_name, exclude_keys): assert_valid_keys("BuildExistingModel", "build_existing_model", {"add_component_loads"}) assert_valid_keys("HPXMLtoOpenStudio", None, set()) + assert_valid_keys("UpgradeCosts", None, set()) assert_valid_keys("ReportSimulationOutput", "simulation_output_report", {"output_variables"}) - assert_valid_keys("ReportHPXMLOutput", None, set()) assert_valid_keys("ReportUtilityBills", None, set()) - assert_valid_keys("UpgradeCosts", None, set()) assert_valid_keys("ServerDirectoryCleanup", "server_directory_cleanup", set()) From fa581a226819c415325154012b2587927bfc71e8 Mon Sep 17 00:00:00 2001 From: Joe Robertson Date: Wed, 17 Jul 2024 12:32:32 -0700 Subject: [PATCH 07/33] Update the changelog entry. [ci skip] --- docs/changelog/changelog_dev.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog/changelog_dev.rst b/docs/changelog/changelog_dev.rst index 2ac72506..9bee8600 100644 --- a/docs/changelog/changelog_dev.rst +++ b/docs/changelog/changelog_dev.rst @@ -81,7 +81,7 @@ Development Changelog .. change:: :tags: general, feature - :pullreq: TODO + :pullreq: 458 For the Residential HPXML Workflow Generator, supports the UpgradeCosts measure changing from ReportingMeasure to ModelMeasure. From 2935e98c5b002f4df3c4dc1753bed3ca9a0c09d6 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 10:47:41 -0500 Subject: [PATCH 08/33] Move everything to latest --- .../workflow_generator/__init__.py | 2 +- .../residential/latest/__init__.py | 0 .../{ => latest}/residential_hpxml.py | 6 +- .../residential_hpxml_arg_mapping.py | 0 .../residential_hpxml_defaults.py | 0 .../{ => latest}/residential_hpxml_schema.yml | 2 +- .../test_residential_workflow_generator.py | 27 +- .../measures/ApplyUpgrade/measure.xml | 6360 ++++++++++++++ .../measures/BuildExistingModel/measure.xml | 355 + .../BuildResidentialHPXML/measure.xml | 7378 ++++++++++++++++ .../BuildResidentialScheduleFile/measure.xml | 937 ++ .../measures/HPXMLtoOpenStudio/measure.xml | 735 ++ .../measures/QOIReport/measure.xml | 63 + .../measures/ReportHPXMLOutput/measure.xml | 91 + .../ReportSimulationOutput/measure.xml | 1941 +++++ .../measures/ReportUtilityBills/measure.xml | 328 + .../measures/ResStockArguments/README.md | 5656 +++++++++++++ .../measures/ResStockArguments/README.md.erb | 41 + .../measures/ResStockArguments/measure.rb | 812 ++ .../measures/ResStockArguments/measure.xml | 7515 +++++++++++++++++ .../ResStockArguments/resources/constants.rb | 98 + .../tests/resstock_arguments_test.rb | 42 + .../ServerDirectoryCleanup/measure.xml | 400 + .../measures/UpgradeCosts/measure.xml | 219 + .../residential/latest/version_info.py | 7 + 25 files changed, 32998 insertions(+), 17 deletions(-) create mode 100644 buildstockbatch/workflow_generator/residential/latest/__init__.py rename buildstockbatch/workflow_generator/residential/{ => latest}/residential_hpxml.py (98%) rename buildstockbatch/workflow_generator/residential/{ => latest}/residential_hpxml_arg_mapping.py (100%) rename buildstockbatch/workflow_generator/residential/{ => latest}/residential_hpxml_defaults.py (100%) rename buildstockbatch/workflow_generator/residential/{ => latest}/residential_hpxml_schema.yml (99%) rename buildstockbatch/workflow_generator/residential/{ => latest/tests}/test_residential_workflow_generator.py (97%) create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ApplyUpgrade/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildExistingModel/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildResidentialHPXML/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildResidentialScheduleFile/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/HPXMLtoOpenStudio/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/QOIReport/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportSimulationOutput/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportUtilityBills/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md.erb create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.rb create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/resources/constants.rb create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/tests/resstock_arguments_test.rb create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ServerDirectoryCleanup/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/UpgradeCosts/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/latest/version_info.py diff --git a/buildstockbatch/workflow_generator/__init__.py b/buildstockbatch/workflow_generator/__init__.py index 69588d1c..5b4b5e96 100644 --- a/buildstockbatch/workflow_generator/__init__.py +++ b/buildstockbatch/workflow_generator/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- from .commercial.commercial import CommercialDefaultWorkflowGenerator # noqa F041 -from .residential.residential_hpxml import ResidentialHpxmlWorkflowGenerator # noqa F041 +from .residential.latest.residential_hpxml import ResidentialHpxmlWorkflowGenerator # noqa F041 diff --git a/buildstockbatch/workflow_generator/residential/latest/__init__.py b/buildstockbatch/workflow_generator/residential/latest/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/buildstockbatch/workflow_generator/residential/residential_hpxml.py b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py similarity index 98% rename from buildstockbatch/workflow_generator/residential/residential_hpxml.py rename to buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py index b6d9ca1c..2a6b7446 100644 --- a/buildstockbatch/workflow_generator/residential/residential_hpxml.py +++ b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py @@ -19,10 +19,10 @@ import yamale from typing import Dict, Any -from ..base import WorkflowGeneratorBase +from ...base import WorkflowGeneratorBase from buildstockbatch.exc import ValidationError -from buildstockbatch.workflow_generator.residential.residential_hpxml_defaults import DEFAULT_MEASURE_ARGS -from buildstockbatch.workflow_generator.residential.residential_hpxml_arg_mapping import ARG_MAP +from .residential_hpxml_defaults import DEFAULT_MEASURE_ARGS +from .residential_hpxml_arg_mapping import ARG_MAP import copy logger = logging.getLogger(__name__) diff --git a/buildstockbatch/workflow_generator/residential/residential_hpxml_arg_mapping.py b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml_arg_mapping.py similarity index 100% rename from buildstockbatch/workflow_generator/residential/residential_hpxml_arg_mapping.py rename to buildstockbatch/workflow_generator/residential/latest/residential_hpxml_arg_mapping.py diff --git a/buildstockbatch/workflow_generator/residential/residential_hpxml_defaults.py b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml_defaults.py similarity index 100% rename from buildstockbatch/workflow_generator/residential/residential_hpxml_defaults.py rename to buildstockbatch/workflow_generator/residential/latest/residential_hpxml_defaults.py diff --git a/buildstockbatch/workflow_generator/residential/residential_hpxml_schema.yml b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml_schema.yml similarity index 99% rename from buildstockbatch/workflow_generator/residential/residential_hpxml_schema.yml rename to buildstockbatch/workflow_generator/residential/latest/residential_hpxml_schema.yml index 5641f155..b65fdd58 100644 --- a/buildstockbatch/workflow_generator/residential/residential_hpxml_schema.yml +++ b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml_schema.yml @@ -88,4 +88,4 @@ server-dir-cleanup-spec: retain_stdout_energyplus: bool(required=False) retain_stdout_expandobject: bool(required=False) retain_schedules_csv: bool(required=False) - debug: bool(required=False) \ No newline at end of file + debug: bool(required=False) diff --git a/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py b/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py similarity index 97% rename from buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py rename to buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py index 3354e80a..f2fe7475 100644 --- a/buildstockbatch/workflow_generator/residential/test_residential_workflow_generator.py +++ b/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py @@ -1,16 +1,16 @@ -from buildstockbatch.workflow_generator.residential.residential_hpxml import ( - ResidentialHpxmlWorkflowGenerator, -) -from buildstockbatch.workflow_generator.residential.residential_hpxml_defaults import DEFAULT_MEASURE_ARGS -from buildstockbatch.workflow_generator.residential.residential_hpxml_arg_mapping import ARG_MAP +from buildstockbatch.workflow_generator.residential.latest.residential_hpxml import ResidentialHpxmlWorkflowGenerator +from buildstockbatch.workflow_generator.residential.latest.residential_hpxml_defaults import DEFAULT_MEASURE_ARGS +from buildstockbatch.workflow_generator.residential.latest.residential_hpxml_arg_mapping import ARG_MAP from testfixtures import LogCapture -from buildstockbatch.test.shared_testing_stuff import resstock_directory import os import yamale import logging import copy import itertools import pytest +import pathlib + +resstock_directory = pathlib.Path(__file__).parent / "testing_resstock_data" test_cfg = { "buildstock_directory": resstock_directory, @@ -243,11 +243,6 @@ def test_residential_hpxml(upgrade, dynamic_cfg): assert osw["steps"][index].get("arguments") is None index += 1 - upgrade_costs_step = osw["steps"][index] - assert upgrade_costs_step["measure_dir_name"] == "UpgradeCosts" - assert upgrade_costs_step["arguments"]["debug"] is True - index += 1 - simulation_output_step = osw["steps"][index] assert simulation_output_step["measure_dir_name"] == "ReportSimulationOutput" if "simulation_output_report" in workflow_args: @@ -298,7 +293,10 @@ def test_residential_hpxml(upgrade, dynamic_cfg): assert simulation_output_step["arguments"]["timeseries_num_decimal_places"] == 3 assert simulation_output_step["arguments"]["add_timeseries_dst_column"] is True assert simulation_output_step["arguments"]["add_timeseries_utc_column"] is True + index += 1 + hpxml_output_step = osw["steps"][index] + assert hpxml_output_step["measure_dir_name"] == "ReportHPXMLOutput" index += 1 utility_bills_step = osw["steps"][index] @@ -307,6 +305,11 @@ def test_residential_hpxml(upgrade, dynamic_cfg): assert utility_bills_step["arguments"]["include_monthly_bills"] is False index += 1 + upgrade_costs_step = osw["steps"][index] + assert upgrade_costs_step["measure_dir_name"] == "UpgradeCosts" + assert upgrade_costs_step["arguments"]["debug"] is True + index += 1 + if "reporting_measures" in workflow_args: assert osw["steps"][index]["measure_dir_name"] == "TestReportingMeasure1" assert osw["steps"][index]["arguments"]["TestReportingMeasure1_arg1"] == "TestReportingMeasure1_val1" @@ -373,7 +376,7 @@ def test_hpmxl_schema_defaults_and_mapping(): """ Verify that the keys used in the defaults, workflow schema and arg mapping are available in the measure """ - schema_yaml = os.path.join(os.path.dirname(__file__), "residential_hpxml_schema.yml") + schema_yaml = os.path.join(os.path.dirname(__file__), "..", "residential_hpxml_schema.yml") schema_obj = yamale.make_schema(schema_yaml, parser="ruamel") def assert_valid_mapped_keys(measure_dir_name, valid_args): diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ApplyUpgrade/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ApplyUpgrade/measure.xml new file mode 100644 index 00000000..a4cc51ee --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ApplyUpgrade/measure.xml @@ -0,0 +1,6360 @@ + + + 3.1 + apply_upgrade + 33f1654c-f734-43d1-b35d-9d2856e41b5a + 87e246ae-6e4d-4404-96f0-e943d95cf9cc + 2024-05-03T19:56:25Z + 9339BE01 + ApplyUpgrade + Apply Upgrade + Measure that applies an upgrade (one or more child measures) to a building model based on the specified logic. + Determines if the upgrade should apply to a given building model. If so, calls one or more child measures with the appropriate arguments. + + + upgrade_name + Upgrade Name + User-specificed name that describes the upgrade. + String + true + false + My Upgrade + + + option_1 + Option 1 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + true + false + + + option_1_apply_logic + Option 1 Apply Logic + Logic that specifies if the Option 1 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_1_cost_1_value + Option 1 Cost 1 Value + Total option 1 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_1_cost_1_multiplier + Option 1 Cost 1 Multiplier + Total option 1 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_1_cost_2_value + Option 1 Cost 2 Value + Total option 1 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_1_cost_2_multiplier + Option 1 Cost 2 Multiplier + Total option 1 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_1_lifetime + Option 1 Lifetime + The option lifetime. + Double + years + false + false + + + option_2 + Option 2 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_2_apply_logic + Option 2 Apply Logic + Logic that specifies if the Option 2 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_2_cost_1_value + Option 2 Cost 1 Value + Total option 2 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_2_cost_1_multiplier + Option 2 Cost 1 Multiplier + Total option 2 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_2_cost_2_value + Option 2 Cost 2 Value + Total option 2 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_2_cost_2_multiplier + Option 2 Cost 2 Multiplier + Total option 2 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_2_lifetime + Option 2 Lifetime + The option lifetime. + Double + years + false + false + + + option_3 + Option 3 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_3_apply_logic + Option 3 Apply Logic + Logic that specifies if the Option 3 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_3_cost_1_value + Option 3 Cost 1 Value + Total option 3 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_3_cost_1_multiplier + Option 3 Cost 1 Multiplier + Total option 3 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_3_cost_2_value + Option 3 Cost 2 Value + Total option 3 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_3_cost_2_multiplier + Option 3 Cost 2 Multiplier + Total option 3 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_3_lifetime + Option 3 Lifetime + The option lifetime. + Double + years + false + false + + + option_4 + Option 4 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_4_apply_logic + Option 4 Apply Logic + Logic that specifies if the Option 4 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_4_cost_1_value + Option 4 Cost 1 Value + Total option 4 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_4_cost_1_multiplier + Option 4 Cost 1 Multiplier + Total option 4 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_4_cost_2_value + Option 4 Cost 2 Value + Total option 4 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_4_cost_2_multiplier + Option 4 Cost 2 Multiplier + Total option 4 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_4_lifetime + Option 4 Lifetime + The option lifetime. + Double + years + false + false + + + option_5 + Option 5 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_5_apply_logic + Option 5 Apply Logic + Logic that specifies if the Option 5 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_5_cost_1_value + Option 5 Cost 1 Value + Total option 5 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_5_cost_1_multiplier + Option 5 Cost 1 Multiplier + Total option 5 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_5_cost_2_value + Option 5 Cost 2 Value + Total option 5 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_5_cost_2_multiplier + Option 5 Cost 2 Multiplier + Total option 5 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_5_lifetime + Option 5 Lifetime + The option lifetime. + Double + years + false + false + + + option_6 + Option 6 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_6_apply_logic + Option 6 Apply Logic + Logic that specifies if the Option 6 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_6_cost_1_value + Option 6 Cost 1 Value + Total option 6 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_6_cost_1_multiplier + Option 6 Cost 1 Multiplier + Total option 6 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_6_cost_2_value + Option 6 Cost 2 Value + Total option 6 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_6_cost_2_multiplier + Option 6 Cost 2 Multiplier + Total option 6 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_6_lifetime + Option 6 Lifetime + The option lifetime. + Double + years + false + false + + + option_7 + Option 7 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_7_apply_logic + Option 7 Apply Logic + Logic that specifies if the Option 7 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_7_cost_1_value + Option 7 Cost 1 Value + Total option 7 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_7_cost_1_multiplier + Option 7 Cost 1 Multiplier + Total option 7 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_7_cost_2_value + Option 7 Cost 2 Value + Total option 7 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_7_cost_2_multiplier + Option 7 Cost 2 Multiplier + Total option 7 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_7_lifetime + Option 7 Lifetime + The option lifetime. + Double + years + false + false + + + option_8 + Option 8 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_8_apply_logic + Option 8 Apply Logic + Logic that specifies if the Option 8 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_8_cost_1_value + Option 8 Cost 1 Value + Total option 8 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_8_cost_1_multiplier + Option 8 Cost 1 Multiplier + Total option 8 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_8_cost_2_value + Option 8 Cost 2 Value + Total option 8 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_8_cost_2_multiplier + Option 8 Cost 2 Multiplier + Total option 8 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_8_lifetime + Option 8 Lifetime + The option lifetime. + Double + years + false + false + + + option_9 + Option 9 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_9_apply_logic + Option 9 Apply Logic + Logic that specifies if the Option 9 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_9_cost_1_value + Option 9 Cost 1 Value + Total option 9 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_9_cost_1_multiplier + Option 9 Cost 1 Multiplier + Total option 9 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_9_cost_2_value + Option 9 Cost 2 Value + Total option 9 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_9_cost_2_multiplier + Option 9 Cost 2 Multiplier + Total option 9 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_9_lifetime + Option 9 Lifetime + The option lifetime. + Double + years + false + false + + + option_10 + Option 10 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_10_apply_logic + Option 10 Apply Logic + Logic that specifies if the Option 10 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_10_cost_1_value + Option 10 Cost 1 Value + Total option 10 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_10_cost_1_multiplier + Option 10 Cost 1 Multiplier + Total option 10 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_10_cost_2_value + Option 10 Cost 2 Value + Total option 10 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_10_cost_2_multiplier + Option 10 Cost 2 Multiplier + Total option 10 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_10_lifetime + Option 10 Lifetime + The option lifetime. + Double + years + false + false + + + option_11 + Option 11 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_11_apply_logic + Option 11 Apply Logic + Logic that specifies if the Option 11 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_11_cost_1_value + Option 11 Cost 1 Value + Total option 11 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_11_cost_1_multiplier + Option 11 Cost 1 Multiplier + Total option 11 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_11_cost_2_value + Option 11 Cost 2 Value + Total option 11 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_11_cost_2_multiplier + Option 11 Cost 2 Multiplier + Total option 11 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_11_lifetime + Option 11 Lifetime + The option lifetime. + Double + years + false + false + + + option_12 + Option 12 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_12_apply_logic + Option 12 Apply Logic + Logic that specifies if the Option 12 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_12_cost_1_value + Option 12 Cost 1 Value + Total option 12 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_12_cost_1_multiplier + Option 12 Cost 1 Multiplier + Total option 12 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_12_cost_2_value + Option 12 Cost 2 Value + Total option 12 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_12_cost_2_multiplier + Option 12 Cost 2 Multiplier + Total option 12 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_12_lifetime + Option 12 Lifetime + The option lifetime. + Double + years + false + false + + + option_13 + Option 13 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_13_apply_logic + Option 13 Apply Logic + Logic that specifies if the Option 13 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_13_cost_1_value + Option 13 Cost 1 Value + Total option 13 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_13_cost_1_multiplier + Option 13 Cost 1 Multiplier + Total option 13 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_13_cost_2_value + Option 13 Cost 2 Value + Total option 13 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_13_cost_2_multiplier + Option 13 Cost 2 Multiplier + Total option 13 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_13_lifetime + Option 13 Lifetime + The option lifetime. + Double + years + false + false + + + option_14 + Option 14 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_14_apply_logic + Option 14 Apply Logic + Logic that specifies if the Option 14 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_14_cost_1_value + Option 14 Cost 1 Value + Total option 14 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_14_cost_1_multiplier + Option 14 Cost 1 Multiplier + Total option 14 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_14_cost_2_value + Option 14 Cost 2 Value + Total option 14 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_14_cost_2_multiplier + Option 14 Cost 2 Multiplier + Total option 14 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_14_lifetime + Option 14 Lifetime + The option lifetime. + Double + years + false + false + + + option_15 + Option 15 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_15_apply_logic + Option 15 Apply Logic + Logic that specifies if the Option 15 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_15_cost_1_value + Option 15 Cost 1 Value + Total option 15 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_15_cost_1_multiplier + Option 15 Cost 1 Multiplier + Total option 15 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_15_cost_2_value + Option 15 Cost 2 Value + Total option 15 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_15_cost_2_multiplier + Option 15 Cost 2 Multiplier + Total option 15 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_15_lifetime + Option 15 Lifetime + The option lifetime. + Double + years + false + false + + + option_16 + Option 16 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_16_apply_logic + Option 16 Apply Logic + Logic that specifies if the Option 16 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_16_cost_1_value + Option 16 Cost 1 Value + Total option 16 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_16_cost_1_multiplier + Option 16 Cost 1 Multiplier + Total option 16 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_16_cost_2_value + Option 16 Cost 2 Value + Total option 16 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_16_cost_2_multiplier + Option 16 Cost 2 Multiplier + Total option 16 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_16_lifetime + Option 16 Lifetime + The option lifetime. + Double + years + false + false + + + option_17 + Option 17 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_17_apply_logic + Option 17 Apply Logic + Logic that specifies if the Option 17 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_17_cost_1_value + Option 17 Cost 1 Value + Total option 17 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_17_cost_1_multiplier + Option 17 Cost 1 Multiplier + Total option 17 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_17_cost_2_value + Option 17 Cost 2 Value + Total option 17 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_17_cost_2_multiplier + Option 17 Cost 2 Multiplier + Total option 17 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_17_lifetime + Option 17 Lifetime + The option lifetime. + Double + years + false + false + + + option_18 + Option 18 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_18_apply_logic + Option 18 Apply Logic + Logic that specifies if the Option 18 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_18_cost_1_value + Option 18 Cost 1 Value + Total option 18 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_18_cost_1_multiplier + Option 18 Cost 1 Multiplier + Total option 18 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_18_cost_2_value + Option 18 Cost 2 Value + Total option 18 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_18_cost_2_multiplier + Option 18 Cost 2 Multiplier + Total option 18 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_18_lifetime + Option 18 Lifetime + The option lifetime. + Double + years + false + false + + + option_19 + Option 19 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_19_apply_logic + Option 19 Apply Logic + Logic that specifies if the Option 19 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_19_cost_1_value + Option 19 Cost 1 Value + Total option 19 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_19_cost_1_multiplier + Option 19 Cost 1 Multiplier + Total option 19 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_19_cost_2_value + Option 19 Cost 2 Value + Total option 19 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_19_cost_2_multiplier + Option 19 Cost 2 Multiplier + Total option 19 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_19_lifetime + Option 19 Lifetime + The option lifetime. + Double + years + false + false + + + option_20 + Option 20 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_20_apply_logic + Option 20 Apply Logic + Logic that specifies if the Option 20 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_20_cost_1_value + Option 20 Cost 1 Value + Total option 20 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_20_cost_1_multiplier + Option 20 Cost 1 Multiplier + Total option 20 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_20_cost_2_value + Option 20 Cost 2 Value + Total option 20 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_20_cost_2_multiplier + Option 20 Cost 2 Multiplier + Total option 20 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_20_lifetime + Option 20 Lifetime + The option lifetime. + Double + years + false + false + + + option_21 + Option 21 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_21_apply_logic + Option 21 Apply Logic + Logic that specifies if the Option 21 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_21_cost_1_value + Option 21 Cost 1 Value + Total option 21 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_21_cost_1_multiplier + Option 21 Cost 1 Multiplier + Total option 21 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_21_cost_2_value + Option 21 Cost 2 Value + Total option 21 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_21_cost_2_multiplier + Option 21 Cost 2 Multiplier + Total option 21 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_21_lifetime + Option 21 Lifetime + The option lifetime. + Double + years + false + false + + + option_22 + Option 22 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_22_apply_logic + Option 22 Apply Logic + Logic that specifies if the Option 22 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_22_cost_1_value + Option 22 Cost 1 Value + Total option 22 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_22_cost_1_multiplier + Option 22 Cost 1 Multiplier + Total option 22 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_22_cost_2_value + Option 22 Cost 2 Value + Total option 22 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_22_cost_2_multiplier + Option 22 Cost 2 Multiplier + Total option 22 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_22_lifetime + Option 22 Lifetime + The option lifetime. + Double + years + false + false + + + option_23 + Option 23 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_23_apply_logic + Option 23 Apply Logic + Logic that specifies if the Option 23 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_23_cost_1_value + Option 23 Cost 1 Value + Total option 23 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_23_cost_1_multiplier + Option 23 Cost 1 Multiplier + Total option 23 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_23_cost_2_value + Option 23 Cost 2 Value + Total option 23 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_23_cost_2_multiplier + Option 23 Cost 2 Multiplier + Total option 23 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_23_lifetime + Option 23 Lifetime + The option lifetime. + Double + years + false + false + + + option_24 + Option 24 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_24_apply_logic + Option 24 Apply Logic + Logic that specifies if the Option 24 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_24_cost_1_value + Option 24 Cost 1 Value + Total option 24 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_24_cost_1_multiplier + Option 24 Cost 1 Multiplier + Total option 24 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_24_cost_2_value + Option 24 Cost 2 Value + Total option 24 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_24_cost_2_multiplier + Option 24 Cost 2 Multiplier + Total option 24 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_24_lifetime + Option 24 Lifetime + The option lifetime. + Double + years + false + false + + + option_25 + Option 25 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_25_apply_logic + Option 25 Apply Logic + Logic that specifies if the Option 25 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_25_cost_1_value + Option 25 Cost 1 Value + Total option 25 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_25_cost_1_multiplier + Option 25 Cost 1 Multiplier + Total option 25 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_25_cost_2_value + Option 25 Cost 2 Value + Total option 25 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_25_cost_2_multiplier + Option 25 Cost 2 Multiplier + Total option 25 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_25_lifetime + Option 25 Lifetime + The option lifetime. + Double + years + false + false + + + package_apply_logic + Package Apply Logic + Logic that specifies if the entire package upgrade (all options) will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + run_measure + Run Measure + integer argument to run measure [1 is run, 0 is no run] + Integer + true + false + 1 + + + + + + Whole Building.Space Types + + + + Intended Software Tool + Apply Measure Now + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + Intended Software Tool + Apply Measure Now + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + Measure Type + ModelMeasure + string + + + Intended Software Tool + Apply Measure Now + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + DBE96A53 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 1.9.0 + 1.9.0 + + measure.rb + rb + script + BE6713C6 + + + constants.rb + rb + resource + F595D17B + + + apply_upgrade_test.rb + rb + test + 108FF5AA + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildExistingModel/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildExistingModel/measure.xml new file mode 100644 index 00000000..1428e29b --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildExistingModel/measure.xml @@ -0,0 +1,355 @@ + + + 3.1 + build_existing_model + dedf59bb-3b88-4f16-8755-2c1ff5519cbf + bf17a245-5f48-4ade-ab7e-bb285015e6ce + 2024-06-18T16:38:18Z + 2C38F48B + BuildExistingModel + Build Existing Model + Builds the OpenStudio Model for an existing building. + Builds the OpenStudio Model using the sampling csv file, which contains the specified parameters for each existing building. Based on the supplied building number, those parameters are used to run the OpenStudio measures with appropriate arguments and build up the OpenStudio model. + + + buildstock_csv_path + Buildstock CSV File Path + Absolute/relative path of the buildstock CSV file. Relative is compared to the 'lib/housing_characteristics' directory. + String + false + false + buildstock.csv + + + building_id + Building Unit ID + The building unit number (between 1 and the number of samples). + Integer + true + false + + + sample_weight + Sample Weight of Simulation + Number of buildings this simulation represents. + Double + false + false + + + downselect_logic + Downselect Logic + Logic that specifies the subset of the building stock to be considered in the analysis. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + simulation_control_timestep + Simulation Control: Timestep + Value must be a divisor of 60. + Integer + min + false + false + + + simulation_control_run_period_begin_month + Simulation Control: Run Period Begin Month + This numeric field should contain the starting month number (1 = January, 2 = February, etc.) for the annual run period desired. + Integer + month + false + false + + + simulation_control_run_period_begin_day_of_month + Simulation Control: Run Period Begin Day of Month + This numeric field should contain the starting day of the starting month (must be valid for month) for the annual run period desired. + Integer + day + false + false + + + simulation_control_run_period_end_month + Simulation Control: Run Period End Month + This numeric field should contain the end month number (1 = January, 2 = February, etc.) for the annual run period desired. + Integer + month + false + false + + + simulation_control_run_period_end_day_of_month + Simulation Control: Run Period End Day of Month + This numeric field should contain the ending day of the ending month (must be valid for month) for the annual run period desired. + Integer + day + false + false + + + simulation_control_run_period_calendar_year + Simulation Control: Run Period Calendar Year + This numeric field should contain the calendar year that determines the start day of week. If you are running simulations using AMY weather files, the value entered for calendar year will not be used; it will be overridden by the actual year found in the AMY weather file. + Integer + year + false + false + + + os_hescore_directory + HEScore Workflow: OpenStudio-HEScore directory path + Path to the OpenStudio-HEScore directory. If specified, the HEScore workflow will run. + String + false + false + + + emissions_scenario_names + Emissions: Scenario Names + Names of emissions scenarios. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_types + Emissions: Types + Types of emissions (e.g., CO2e, NOx, etc.). If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_electricity_folders + Emissions: Electricity Folders + Relative paths of electricity emissions factor schedule files with hourly values. Paths are relative to the resources folder. If multiple scenarios, use a comma-separated list. File names must contain GEA region names. + String + false + false + + + emissions_natural_gas_values + Emissions: Natural Gas Values + Natural gas emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_propane_values + Emissions: Propane Values + Propane emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_fuel_oil_values + Emissions: Fuel Oil Values + Fuel oil emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_wood_values + Emissions: Wood Values + Wood emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_scenario_names + Utility Bills: Scenario Names + Names of utility bill scenarios. If multiple scenarios, use a comma-separated list. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_simple_filepaths + Utility Bills: Simple Filepaths + Relative paths of simple utility rates. Paths are relative to the resources folder. If multiple scenarios, use a comma-separated list. Files must contain the name of the Parameter as the column header. + String + false + false + + + utility_bill_detailed_filepaths + Utility Bills: Detailed Filepaths + Relative paths of detailed utility rates. Paths are relative to the resources folder. If multiple scenarios, use a comma-separated list. Files must contain the name of the Parameter as the column header. + String + false + false + + + utility_bill_electricity_fixed_charges + Utility Bills: Electricity Fixed Charges + Electricity utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_electricity_marginal_rates + Utility Bills: Electricity Marginal Rates + Electricity utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_natural_gas_fixed_charges + Utility Bills: Natural Gas Fixed Charges + Natural gas utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_natural_gas_marginal_rates + Utility Bills: Natural Gas Marginal Rates + Natural gas utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_propane_fixed_charges + Utility Bills: Propane Fixed Charges + Propane utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_propane_marginal_rates + Utility Bills: Propane Marginal Rates + Propane utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_fuel_oil_fixed_charges + Utility Bills: Fuel Oil Fixed Charges + Fuel oil utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_fuel_oil_marginal_rates + Utility Bills: Fuel Oil Marginal Rates + Fuel oil utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_fixed_charges + Utility Bills: Wood Fixed Charges + Wood utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_marginal_rates + Utility Bills: Wood Marginal Rates + Wood utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_compensation_types + Utility Bills: PV Compensation Types + Utility bill PV compensation types. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_net_metering_annual_excess_sellback_rate_types + Utility Bills: PV Net Metering Annual Excess Sellback Rate Types + Utility bill PV net metering annual excess sellback rate types. Only applies if the PV compensation type is 'NetMetering'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_net_metering_annual_excess_sellback_rates + Utility Bills: PV Net Metering Annual Excess Sellback Rates + Utility bill PV net metering annual excess sellback rates. Only applies if the PV compensation type is 'NetMetering' and the PV annual excess sellback rate type is 'User-Specified'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_feed_in_tariff_rates + Utility Bills: PV Feed-In Tariff Rates + Utility bill PV annual full/gross feed-in tariff rates. Only applies if the PV compensation type is 'FeedInTariff'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_monthly_grid_connection_fee_units + Utility Bills: PV Monthly Grid Connection Fee Units + Utility bill PV monthly grid connection fee units. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_monthly_grid_connection_fees + Utility Bills: PV Monthly Grid Connection Fees + Utility bill PV monthly grid connection fees. If multiple scenarios, use a comma-separated list. + String + false + false + + + + + + Whole Building.Space Types + + + + Measure Type + ModelMeasure + string + + + + + README.md + md + readme + 52F0E677 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.6.1 + 2.6.1 + + measure.rb + rb + script + B302DB7E + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildResidentialHPXML/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildResidentialHPXML/measure.xml new file mode 100644 index 00000000..8472f0e0 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildResidentialHPXML/measure.xml @@ -0,0 +1,7378 @@ + + + 3.1 + build_residential_hpxml + a13a8983-2b01-4930-8af2-42030b6e4233 + d6c720db-f7cf-4aff-b36e-a6e133c6ddc9 + 2024-05-17T22:42:28Z + 2C38F48B + BuildResidentialHPXML + HPXML Builder + Builds a residential HPXML file. + The measure handles geometry by 1) translating high-level geometry inputs (conditioned floor area, number of stories, etc.) to 3D closed-form geometry in an OpenStudio model and then 2) mapping the OpenStudio surfaces to HPXML surfaces (using surface type, boundary condition, area, orientation, etc.). Like surfaces are collapsed into a single surface with aggregate surface area. Note: OS-HPXML default values can be found in the documentation or can be seen by using the 'apply_defaults' argument. + + + hpxml_path + HPXML File Path + Absolute/relative path of the HPXML file. + String + true + false + + + existing_hpxml_path + Existing HPXML File Path + Absolute/relative path of the existing HPXML file. If not provided, a new HPXML file with one Building element is created. If provided, a new Building element will be appended to this HPXML file (e.g., to create a multifamily HPXML file describing multiple dwelling units). + String + false + false + + + whole_sfa_or_mf_building_sim + Whole SFA/MF Building Simulation? + If the HPXML file represents a single family-attached/multifamily building with multiple dwelling units defined, specifies whether to run the HPXML file as a single whole building model. + Boolean + false + false + + + true + true + + + false + false + + + + + software_info_program_used + Software Info: Program Used + The name of the software program used. + String + false + false + + + software_info_program_version + Software Info: Program Version + The version of the software program used. + String + false + false + + + schedules_filepaths + Schedules: CSV File Paths + Absolute/relative paths of csv files containing user-specified detailed schedules. If multiple files, use a comma-separated list. + String + false + false + + + schedules_vacancy_periods + Schedules: Vacancy Periods + Specifies the vacancy periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + String + false + false + + + schedules_power_outage_periods + Schedules: Power Outage Periods + Specifies the power outage periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + String + false + false + + + schedules_power_outage_periods_window_natvent_availability + Schedules: Power Outage Periods Window Natural Ventilation Availability + The availability of the natural ventilation schedule during the power outage periods. Valid choices are 'regular schedule', 'always available', 'always unavailable'. If multiple periods, use a comma-separated list. + String + false + false + + + simulation_control_timestep + Simulation Control: Timestep + Value must be a divisor of 60. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + Integer + min + false + false + + + simulation_control_run_period + Simulation Control: Run Period + Enter a date like 'Jan 1 - Dec 31'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + String + false + false + + + simulation_control_run_period_calendar_year + Simulation Control: Run Period Calendar Year + This numeric field should contain the calendar year that determines the start day of week. If you are running simulations using AMY weather files, the value entered for calendar year will not be used; it will be overridden by the actual year found in the AMY weather file. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + Integer + year + false + false + + + simulation_control_daylight_saving_enabled + Simulation Control: Daylight Saving Enabled + Whether to use daylight saving. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-site'>HPXML Building Site</a>) is used. + Boolean + false + false + + + true + true + + + false + false + + + + + simulation_control_daylight_saving_period + Simulation Control: Daylight Saving Period + Enter a date like 'Mar 15 - Dec 15'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-site'>HPXML Building Site</a>) is used. + String + false + false + + + simulation_control_temperature_capacitance_multiplier + Simulation Control: Temperature Capacitance Multiplier + Affects the transient calculation of indoor air temperatures. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + String + false + false + + + simulation_control_defrost_model_type + Simulation Control: Defrost Model Type + Research feature to select the type of defrost model. Use standard for default E+ defrost setting. Use advanced for an improved model that better accounts for load and energy use during defrost; using advanced may impact simulation runtime. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + Choice + false + false + + + standard + standard + + + advanced + advanced + + + + + site_type + Site: Type + The type of site. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + false + false + + + suburban + suburban + + + urban + urban + + + rural + rural + + + + + site_shielding_of_home + Site: Shielding of Home + Presence of nearby buildings, trees, obstructions for infiltration model. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + false + false + + + exposed + exposed + + + normal + normal + + + well-shielded + well-shielded + + + + + site_soil_and_moisture_type + Site: Soil and Moisture Type + Type of soil and moisture. This is used to inform ground conductivity and diffusivity. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + false + false + + + clay, dry + clay, dry + + + clay, mixed + clay, mixed + + + clay, wet + clay, wet + + + gravel, dry + gravel, dry + + + gravel, mixed + gravel, mixed + + + gravel, wet + gravel, wet + + + loam, dry + loam, dry + + + loam, mixed + loam, mixed + + + loam, wet + loam, wet + + + sand, dry + sand, dry + + + sand, mixed + sand, mixed + + + sand, wet + sand, wet + + + silt, dry + silt, dry + + + silt, mixed + silt, mixed + + + silt, wet + silt, wet + + + unknown, dry + unknown, dry + + + unknown, mixed + unknown, mixed + + + unknown, wet + unknown, wet + + + + + site_ground_conductivity + Site: Ground Conductivity + Conductivity of the ground soil. If provided, overrides the previous site and moisture type input. + Double + Btu/hr-ft-F + false + false + + + site_ground_diffusivity + Site: Ground Diffusivity + Diffusivity of the ground soil. If provided, overrides the previous site and moisture type input. + Double + ft^2/hr + false + false + + + site_iecc_zone + Site: IECC Zone + IECC zone of the home address. + Choice + false + false + + + 1A + 1A + + + 1B + 1B + + + 1C + 1C + + + 2A + 2A + + + 2B + 2B + + + 2C + 2C + + + 3A + 3A + + + 3B + 3B + + + 3C + 3C + + + 4A + 4A + + + 4B + 4B + + + 4C + 4C + + + 5A + 5A + + + 5B + 5B + + + 5C + 5C + + + 6A + 6A + + + 6B + 6B + + + 6C + 6C + + + 7 + 7 + + + 8 + 8 + + + + + site_city + Site: City + City/municipality of the home address. + String + false + false + + + site_state_code + Site: State Code + State code of the home address. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + false + false + + + AK + AK + + + AL + AL + + + AR + AR + + + AZ + AZ + + + CA + CA + + + CO + CO + + + CT + CT + + + DC + DC + + + DE + DE + + + FL + FL + + + GA + GA + + + HI + HI + + + IA + IA + + + ID + ID + + + IL + IL + + + IN + IN + + + KS + KS + + + KY + KY + + + LA + LA + + + MA + MA + + + MD + MD + + + ME + ME + + + MI + MI + + + MN + MN + + + MO + MO + + + MS + MS + + + MT + MT + + + NC + NC + + + ND + ND + + + NE + NE + + + NH + NH + + + NJ + NJ + + + NM + NM + + + NV + NV + + + NY + NY + + + OH + OH + + + OK + OK + + + OR + OR + + + PA + PA + + + RI + RI + + + SC + SC + + + SD + SD + + + TN + TN + + + TX + TX + + + UT + UT + + + VA + VA + + + VT + VT + + + WA + WA + + + WI + WI + + + WV + WV + + + WY + WY + + + + + site_zip_code + Site: Zip Code + Zip code of the home address. + String + false + false + + + site_time_zone_utc_offset + Site: Time Zone UTC Offset + Time zone UTC offset of the home address. Must be between -12 and 14. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + hr + false + false + + + site_elevation + Site: Elevation + Elevation of the home address. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + site_latitude + Site: Latitude + Latitude of the home address. Must be between -90 and 90. Use negative values for southern hemisphere. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + deg + false + false + + + site_longitude + Site: Longitude + Longitude of the home address. Must be between -180 and 180. Use negative values for the western hemisphere. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + deg + false + false + + + weather_station_epw_filepath + Weather Station: EnergyPlus Weather (EPW) Filepath + Path of the EPW file. + String + true + false + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + year_built + Building Construction: Year Built + The year the building was built. + Integer + false + false + + + unit_multiplier + Building Construction: Unit Multiplier + The number of similar dwelling units. EnergyPlus simulation results will be multiplied this value. If not provided, defaults to 1. + Integer + false + false + + + geometry_unit_type + Geometry: Unit Type + The type of dwelling unit. Use single-family attached for a dwelling unit with 1 or more stories, attached units to one or both sides, and no units above/below. Use apartment unit for a dwelling unit with 1 story, attached units to one, two, or three sides, and units above and/or below. + Choice + true + false + single-family detached + + + single-family detached + single-family detached + + + single-family attached + single-family attached + + + apartment unit + apartment unit + + + manufactured home + manufactured home + + + + + geometry_unit_left_wall_is_adiabatic + Geometry: Unit Left Wall Is Adiabatic + Presence of an adiabatic left wall. + Boolean + false + false + false + + + true + true + + + false + false + + + + + geometry_unit_right_wall_is_adiabatic + Geometry: Unit Right Wall Is Adiabatic + Presence of an adiabatic right wall. + Boolean + false + false + false + + + true + true + + + false + false + + + + + geometry_unit_front_wall_is_adiabatic + Geometry: Unit Front Wall Is Adiabatic + Presence of an adiabatic front wall, for example, the unit is adjacent to a conditioned corridor. + Boolean + false + false + false + + + true + true + + + false + false + + + + + geometry_unit_back_wall_is_adiabatic + Geometry: Unit Back Wall Is Adiabatic + Presence of an adiabatic back wall. + Boolean + false + false + false + + + true + true + + + false + false + + + + + geometry_unit_num_floors_above_grade + Geometry: Unit Number of Floors Above Grade + The number of floors above grade in the unit. Attic type ConditionedAttic is included. Assumed to be 1 for apartment units. + Integer + # + true + false + 2 + + + geometry_unit_cfa + Geometry: Unit Conditioned Floor Area + The total floor area of the unit's conditioned space (including any conditioned basement floor area). + Double + ft^2 + true + false + 2000 + + + geometry_unit_aspect_ratio + Geometry: Unit Aspect Ratio + The ratio of front/back wall length to left/right wall length for the unit, excluding any protruding garage wall area. + Double + Frac + true + false + 2 + + + geometry_unit_orientation + Geometry: Unit Orientation + The unit's orientation is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + geometry_unit_num_bedrooms + Geometry: Unit Number of Bedrooms + The number of bedrooms in the unit. + Integer + # + true + false + 3 + + + geometry_unit_num_bathrooms + Geometry: Unit Number of Bathrooms + The number of bathrooms in the unit. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-construction'>HPXML Building Construction</a>) is used. + Integer + # + false + false + + + geometry_unit_num_occupants + Geometry: Unit Number of Occupants + The number of occupants in the unit. If not provided, an *asset* calculation is performed assuming standard occupancy, in which various end use defaults (e.g., plug loads, appliances, and hot water usage) are calculated based on Number of Bedrooms and Conditioned Floor Area per ANSI/RESNET/ICC 301-2019. If provided, an *operational* calculation is instead performed in which the end use defaults are adjusted using the relationship between Number of Bedrooms and Number of Occupants from RECS 2015. + Double + # + false + false + + + geometry_building_num_units + Geometry: Building Number of Units + The number of units in the building. Required for single-family attached and apartment units. + Integer + # + false + false + + + geometry_average_ceiling_height + Geometry: Average Ceiling Height + Average distance from the floor to the ceiling. + Double + ft + true + false + 8 + + + geometry_garage_width + Geometry: Garage Width + The width of the garage. Enter zero for no garage. Only applies to single-family detached units. + Double + ft + true + false + 0 + + + geometry_garage_depth + Geometry: Garage Depth + The depth of the garage. Only applies to single-family detached units. + Double + ft + true + false + 20 + + + geometry_garage_protrusion + Geometry: Garage Protrusion + The fraction of the garage that is protruding from the conditioned space. Only applies to single-family detached units. + Double + Frac + true + false + 0 + + + geometry_garage_position + Geometry: Garage Position + The position of the garage. Only applies to single-family detached units. + Choice + true + false + Right + + + Right + Right + + + Left + Left + + + + + geometry_foundation_type + Geometry: Foundation Type + The foundation type of the building. Foundation types ConditionedBasement and ConditionedCrawlspace are not allowed for apartment units. + Choice + true + false + SlabOnGrade + + + SlabOnGrade + SlabOnGrade + + + VentedCrawlspace + VentedCrawlspace + + + UnventedCrawlspace + UnventedCrawlspace + + + ConditionedCrawlspace + ConditionedCrawlspace + + + UnconditionedBasement + UnconditionedBasement + + + ConditionedBasement + ConditionedBasement + + + Ambient + Ambient + + + AboveApartment + AboveApartment + + + BellyAndWingWithSkirt + BellyAndWingWithSkirt + + + BellyAndWingNoSkirt + BellyAndWingNoSkirt + + + + + geometry_foundation_height + Geometry: Foundation Height + The height of the foundation (e.g., 3ft for crawlspace, 8ft for basement). Only applies to basements/crawlspaces. + Double + ft + true + false + 0 + + + geometry_foundation_height_above_grade + Geometry: Foundation Height Above Grade + The depth above grade of the foundation wall. Only applies to basements/crawlspaces. + Double + ft + true + false + 0 + + + geometry_rim_joist_height + Geometry: Rim Joist Height + The height of the rim joists. Only applies to basements/crawlspaces. + Double + in + false + false + + + geometry_attic_type + Geometry: Attic Type + The attic type of the building. Attic type ConditionedAttic is not allowed for apartment units. + Choice + true + false + VentedAttic + + + FlatRoof + FlatRoof + + + VentedAttic + VentedAttic + + + UnventedAttic + UnventedAttic + + + ConditionedAttic + ConditionedAttic + + + BelowApartment + BelowApartment + + + + + geometry_roof_type + Geometry: Roof Type + The roof type of the building. Ignored if the building has a flat roof. + Choice + true + false + gable + + + gable + gable + + + hip + hip + + + + + geometry_roof_pitch + Geometry: Roof Pitch + The roof pitch of the attic. Ignored if the building has a flat roof. + Choice + true + false + 6:12 + + + 1:12 + 1:12 + + + 2:12 + 2:12 + + + 3:12 + 3:12 + + + 4:12 + 4:12 + + + 5:12 + 5:12 + + + 6:12 + 6:12 + + + 7:12 + 7:12 + + + 8:12 + 8:12 + + + 9:12 + 9:12 + + + 10:12 + 10:12 + + + 11:12 + 11:12 + + + 12:12 + 12:12 + + + + + geometry_eaves_depth + Geometry: Eaves Depth + The eaves depth of the roof. + Double + ft + true + false + 2 + + + neighbor_front_distance + Neighbor: Front Distance + The distance between the unit and the neighboring building to the front (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 0 + + + neighbor_back_distance + Neighbor: Back Distance + The distance between the unit and the neighboring building to the back (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 0 + + + neighbor_left_distance + Neighbor: Left Distance + The distance between the unit and the neighboring building to the left (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 10 + + + neighbor_right_distance + Neighbor: Right Distance + The distance between the unit and the neighboring building to the right (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 10 + + + neighbor_front_height + Neighbor: Front Height + The height of the neighboring building to the front. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + neighbor_back_height + Neighbor: Back Height + The height of the neighboring building to the back. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + neighbor_left_height + Neighbor: Left Height + The height of the neighboring building to the left. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + neighbor_right_height + Neighbor: Right Height + The height of the neighboring building to the right. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + floor_over_foundation_assembly_r + Floor: Over Foundation Assembly R-value + Assembly R-value for the floor over the foundation. Ignored if the building has a slab-on-grade foundation. + Double + h-ft^2-R/Btu + true + false + 28.1 + + + floor_over_garage_assembly_r + Floor: Over Garage Assembly R-value + Assembly R-value for the floor over the garage. Ignored unless the building has a garage under conditioned space. + Double + h-ft^2-R/Btu + true + false + 28.1 + + + floor_type + Floor: Type + The type of floors. + Choice + true + false + WoodFrame + + + WoodFrame + WoodFrame + + + StructuralInsulatedPanel + StructuralInsulatedPanel + + + SolidConcrete + SolidConcrete + + + SteelFrame + SteelFrame + + + + + foundation_wall_type + Foundation Wall: Type + The material type of the foundation wall. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Choice + false + false + + + solid concrete + solid concrete + + + concrete block + concrete block + + + concrete block foam core + concrete block foam core + + + concrete block perlite core + concrete block perlite core + + + concrete block vermiculite core + concrete block vermiculite core + + + concrete block solid core + concrete block solid core + + + double brick + double brick + + + wood + wood + + + + + foundation_wall_thickness + Foundation Wall: Thickness + The thickness of the foundation wall. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Double + in + false + false + + + foundation_wall_insulation_r + Foundation Wall: Insulation Nominal R-value + Nominal R-value for the foundation wall insulation. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + foundation_wall_insulation_location + Foundation Wall: Insulation Location + Whether the insulation is on the interior or exterior of the foundation wall. Only applies to basements/crawlspaces. + Choice + ft + false + false + exterior + + + interior + interior + + + exterior + exterior + + + + + foundation_wall_insulation_distance_to_top + Foundation Wall: Insulation Distance To Top + The distance from the top of the foundation wall to the top of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Double + ft + false + false + + + foundation_wall_insulation_distance_to_bottom + Foundation Wall: Insulation Distance To Bottom + The distance from the top of the foundation wall to the bottom of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Double + ft + false + false + + + foundation_wall_assembly_r + Foundation Wall: Assembly R-value + Assembly R-value for the foundation walls. Only applies to basements/crawlspaces. If provided, overrides the previous foundation wall insulation inputs. If not provided, it is ignored. + Double + h-ft^2-R/Btu + false + false + + + rim_joist_assembly_r + Rim Joist: Assembly R-value + Assembly R-value for the rim joists. Only applies to basements/crawlspaces. Required if a rim joist height is provided. + Double + h-ft^2-R/Btu + false + false + + + slab_perimeter_insulation_r + Slab: Perimeter Insulation Nominal R-value + Nominal R-value of the vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + h-ft^2-R/Btu + true + false + 0 + + + slab_perimeter_depth + Slab: Perimeter Insulation Depth + Depth from grade to bottom of vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + ft + true + false + 0 + + + slab_under_insulation_r + Slab: Under Slab Insulation Nominal R-value + Nominal R-value of the horizontal under slab insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + h-ft^2-R/Btu + true + false + 0 + + + slab_under_width + Slab: Under Slab Insulation Width + Width from slab edge inward of horizontal under-slab insulation. Enter 999 to specify that the under slab insulation spans the entire slab. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + ft + true + false + 0 + + + slab_thickness + Slab: Thickness + The thickness of the slab. Zero can be entered if there is a dirt floor instead of a slab. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + Double + in + false + false + + + slab_carpet_fraction + Slab: Carpet Fraction + Fraction of the slab floor area that is carpeted. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + Double + Frac + false + false + + + slab_carpet_r + Slab: Carpet R-value + R-value of the slab carpet. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + Double + h-ft^2-R/Btu + false + false + + + ceiling_assembly_r + Ceiling: Assembly R-value + Assembly R-value for the ceiling (attic floor). + Double + h-ft^2-R/Btu + true + false + 31.6 + + + roof_material_type + Roof: Material Type + The material type of the roof. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + false + false + + + asphalt or fiberglass shingles + asphalt or fiberglass shingles + + + concrete + concrete + + + cool roof + cool roof + + + slate or tile shingles + slate or tile shingles + + + expanded polystyrene sheathing + expanded polystyrene sheathing + + + metal surfacing + metal surfacing + + + plastic/rubber/synthetic sheeting + plastic/rubber/synthetic sheeting + + + shingles + shingles + + + wood shingles or shakes + wood shingles or shakes + + + + + roof_color + Roof: Color + The color of the roof. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + false + false + + + dark + dark + + + light + light + + + medium + medium + + + medium dark + medium dark + + + reflective + reflective + + + + + roof_assembly_r + Roof: Assembly R-value + Assembly R-value of the roof. + Double + h-ft^2-R/Btu + true + false + 2.3 + + + radiant_barrier_attic_location + Attic: Radiant Barrier Location + The location of the radiant barrier in the attic. + Choice + false + false + + + none + none + + + Attic roof only + Attic roof only + + + Attic roof and gable walls + Attic roof and gable walls + + + Attic floor + Attic floor + + + + + radiant_barrier_grade + Attic: Radiant Barrier Grade + The grade of the radiant barrier in the attic. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + false + false + + + 1 + 1 + + + 2 + 2 + + + 3 + 3 + + + + + wall_type + Wall: Type + The type of walls. + Choice + true + false + WoodStud + + + WoodStud + WoodStud + + + ConcreteMasonryUnit + ConcreteMasonryUnit + + + DoubleWoodStud + DoubleWoodStud + + + InsulatedConcreteForms + InsulatedConcreteForms + + + LogWall + LogWall + + + StructuralInsulatedPanel + StructuralInsulatedPanel + + + SolidConcrete + SolidConcrete + + + SteelFrame + SteelFrame + + + Stone + Stone + + + StrawBale + StrawBale + + + StructuralBrick + StructuralBrick + + + + + wall_siding_type + Wall: Siding Type + The siding type of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-walls'>HPXML Walls</a>) is used. + Choice + false + false + + + aluminum siding + aluminum siding + + + asbestos siding + asbestos siding + + + brick veneer + brick veneer + + + composite shingle siding + composite shingle siding + + + fiber cement siding + fiber cement siding + + + masonite siding + masonite siding + + + none + none + + + stucco + stucco + + + synthetic stucco + synthetic stucco + + + vinyl siding + vinyl siding + + + wood siding + wood siding + + + + + wall_color + Wall: Color + The color of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-walls'>HPXML Walls</a>) is used. + Choice + false + false + + + dark + dark + + + light + light + + + medium + medium + + + medium dark + medium dark + + + reflective + reflective + + + + + wall_assembly_r + Wall: Assembly R-value + Assembly R-value of the walls. + Double + h-ft^2-R/Btu + true + false + 11.9 + + + window_front_wwr + Windows: Front Window-to-Wall Ratio + The ratio of window area to wall area for the unit's front facade. Enter 0 if specifying Front Window Area instead. + Double + Frac + true + false + 0.18 + + + window_back_wwr + Windows: Back Window-to-Wall Ratio + The ratio of window area to wall area for the unit's back facade. Enter 0 if specifying Back Window Area instead. + Double + Frac + true + false + 0.18 + + + window_left_wwr + Windows: Left Window-to-Wall Ratio + The ratio of window area to wall area for the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window Area instead. + Double + Frac + true + false + 0.18 + + + window_right_wwr + Windows: Right Window-to-Wall Ratio + The ratio of window area to wall area for the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window Area instead. + Double + Frac + true + false + 0.18 + + + window_area_front + Windows: Front Window Area + The amount of window area on the unit's front facade. Enter 0 if specifying Front Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_back + Windows: Back Window Area + The amount of window area on the unit's back facade. Enter 0 if specifying Back Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_left + Windows: Left Window Area + The amount of window area on the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_right + Windows: Right Window Area + The amount of window area on the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_aspect_ratio + Windows: Aspect Ratio + Ratio of window height to width. + Double + Frac + true + false + 1.333 + + + window_fraction_operable + Windows: Fraction Operable + Fraction of windows that are operable. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_natvent_availability + Windows: Natural Ventilation Availability + For operable windows, the number of days/week that windows can be opened by occupants for natural ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Integer + Days/week + false + false + + + window_ufactor + Windows: U-Factor + Full-assembly NFRC U-factor. + Double + Btu/hr-ft^2-R + true + false + 0.37 + + + window_shgc + Windows: SHGC + Full-assembly NFRC solar heat gain coefficient. + Double + true + false + 0.3 + + + window_interior_shading_winter + Windows: Winter Interior Shading + Interior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_interior_shading_summer + Windows: Summer Interior Shading + Interior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_exterior_shading_winter + Windows: Winter Exterior Shading + Exterior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_exterior_shading_summer + Windows: Summer Exterior Shading + Exterior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_shading_summer_season + Windows: Shading Summer Season + Enter a date like 'May 1 - Sep 30'. Defines the summer season for purposes of shading coefficients; the rest of the year is assumed to be winter. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + false + false + + + window_storm_type + Windows: Storm Type + The type of storm, if present. If not provided, assumes there is no storm. + Choice + false + false + + + clear + clear + + + low-e + low-e + + + + + overhangs_front_depth + Overhangs: Front Depth + The depth of overhangs for windows for the front facade. + Double + ft + true + false + 0 + + + overhangs_front_distance_to_top_of_window + Overhangs: Front Distance to Top of Window + The overhangs distance to the top of window for the front facade. + Double + ft + true + false + 0 + + + overhangs_front_distance_to_bottom_of_window + Overhangs: Front Distance to Bottom of Window + The overhangs distance to the bottom of window for the front facade. + Double + ft + true + false + 4 + + + overhangs_back_depth + Overhangs: Back Depth + The depth of overhangs for windows for the back facade. + Double + ft + true + false + 0 + + + overhangs_back_distance_to_top_of_window + Overhangs: Back Distance to Top of Window + The overhangs distance to the top of window for the back facade. + Double + ft + true + false + 0 + + + overhangs_back_distance_to_bottom_of_window + Overhangs: Back Distance to Bottom of Window + The overhangs distance to the bottom of window for the back facade. + Double + ft + true + false + 4 + + + overhangs_left_depth + Overhangs: Left Depth + The depth of overhangs for windows for the left facade. + Double + ft + true + false + 0 + + + overhangs_left_distance_to_top_of_window + Overhangs: Left Distance to Top of Window + The overhangs distance to the top of window for the left facade. + Double + ft + true + false + 0 + + + overhangs_left_distance_to_bottom_of_window + Overhangs: Left Distance to Bottom of Window + The overhangs distance to the bottom of window for the left facade. + Double + ft + true + false + 4 + + + overhangs_right_depth + Overhangs: Right Depth + The depth of overhangs for windows for the right facade. + Double + ft + true + false + 0 + + + overhangs_right_distance_to_top_of_window + Overhangs: Right Distance to Top of Window + The overhangs distance to the top of window for the right facade. + Double + ft + true + false + 0 + + + overhangs_right_distance_to_bottom_of_window + Overhangs: Right Distance to Bottom of Window + The overhangs distance to the bottom of window for the right facade. + Double + ft + true + false + 4 + + + skylight_area_front + Skylights: Front Roof Area + The amount of skylight area on the unit's front conditioned roof facade. + Double + ft^2 + true + false + 0 + + + skylight_area_back + Skylights: Back Roof Area + The amount of skylight area on the unit's back conditioned roof facade. + Double + ft^2 + true + false + 0 + + + skylight_area_left + Skylights: Left Roof Area + The amount of skylight area on the unit's left conditioned roof facade (when viewed from the front). + Double + ft^2 + true + false + 0 + + + skylight_area_right + Skylights: Right Roof Area + The amount of skylight area on the unit's right conditioned roof facade (when viewed from the front). + Double + ft^2 + true + false + 0 + + + skylight_ufactor + Skylights: U-Factor + Full-assembly NFRC U-factor. + Double + Btu/hr-ft^2-R + true + false + 0.33 + + + skylight_shgc + Skylights: SHGC + Full-assembly NFRC solar heat gain coefficient. + Double + true + false + 0.45 + + + skylight_storm_type + Skylights: Storm Type + The type of storm, if present. If not provided, assumes there is no storm. + Choice + false + false + + + clear + clear + + + low-e + low-e + + + + + door_area + Doors: Area + The area of the opaque door(s). + Double + ft^2 + true + false + 20 + + + door_rvalue + Doors: R-value + R-value of the opaque door(s). + Double + h-ft^2-R/Btu + true + false + 4.4 + + + air_leakage_units + Air Leakage: Units + The unit of measure for the air leakage. + Choice + true + false + ACH + + + ACH + ACH + + + CFM + CFM + + + ACHnatural + ACHnatural + + + CFMnatural + CFMnatural + + + EffectiveLeakageArea + EffectiveLeakageArea + + + + + air_leakage_house_pressure + Air Leakage: House Pressure + The house pressure relative to outside. Required when units are ACH or CFM. + Double + Pa + true + false + 50 + + + air_leakage_value + Air Leakage: Value + Air exchange rate value. For 'EffectiveLeakageArea', provide value in sq. in. + Double + true + false + 3 + + + air_leakage_type + Air Leakage: Type + Type of air leakage. If 'unit total', represents the total infiltration to the unit as measured by a compartmentalization test, in which case the air leakage value will be adjusted by the ratio of exterior envelope surface area to total envelope surface area. Otherwise, if 'unit exterior only', represents the infiltration to the unit from outside only as measured by a guarded test. Required when unit type is single-family attached or apartment unit. + Choice + false + false + + + unit total + unit total + + + unit exterior only + unit exterior only + + + + + air_leakage_has_flue_or_chimney_in_conditioned_space + Air Leakage: Has Flue or Chimney in Conditioned Space + Presence of flue or chimney with combustion air from conditioned space; used for infiltration model. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#flue-or-chimney'>Flue or Chimney</a>) is used. + Boolean + false + false + + + true + true + + + false + false + + + + + heating_system_type + Heating System: Type + The type of heating system. Use 'none' if there is no heating system or if there is a heat pump serving a heating load. + Choice + true + false + Furnace + + + none + none + + + Furnace + Furnace + + + WallFurnace + WallFurnace + + + FloorFurnace + FloorFurnace + + + Boiler + Boiler + + + ElectricResistance + ElectricResistance + + + Stove + Stove + + + SpaceHeater + SpaceHeater + + + Fireplace + Fireplace + + + Shared Boiler w/ Baseboard + Shared Boiler w/ Baseboard + + + Shared Boiler w/ Ductless Fan Coil + Shared Boiler w/ Ductless Fan Coil + + + + + heating_system_fuel + Heating System: Fuel Type + The fuel type of the heating system. Ignored for ElectricResistance. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + heating_system_heating_efficiency + Heating System: Rated AFUE or Percent + The rated heating efficiency value of the heating system. + Double + Frac + true + false + 0.78 + + + heating_system_heating_capacity + Heating System: Heating Capacity + The output heating capacity of the heating system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>) is used. + Double + Btu/hr + false + false + + + heating_system_heating_autosizing_factor + Heating System: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + heating_system_heating_autosizing_limit + Heating System: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + heating_system_fraction_heat_load_served + Heating System: Fraction Heat Load Served + The heating load served by the heating system. + Double + Frac + true + false + 1 + + + heating_system_pilot_light + Heating System: Pilot Light + The fuel usage of the pilot light. Applies only to Furnace, WallFurnace, FloorFurnace, Stove, Boiler, and Fireplace with non-electric fuel type. If not provided, assumes no pilot light. + Double + Btuh + false + false + + + heating_system_airflow_defect_ratio + Heating System: Airflow Defect Ratio + The airflow defect ratio, defined as (InstalledAirflow - DesignAirflow) / DesignAirflow, of the heating system per ANSI/RESNET/ACCA Standard 310. A value of zero means no airflow defect. Applies only to Furnace. If not provided, assumes no defect. + Double + Frac + false + false + + + cooling_system_type + Cooling System: Type + The type of cooling system. Use 'none' if there is no cooling system or if there is a heat pump serving a cooling load. + Choice + true + false + central air conditioner + + + none + none + + + central air conditioner + central air conditioner + + + room air conditioner + room air conditioner + + + evaporative cooler + evaporative cooler + + + mini-split + mini-split + + + packaged terminal air conditioner + packaged terminal air conditioner + + + + + cooling_system_cooling_efficiency_type + Cooling System: Efficiency Type + The efficiency type of the cooling system. System types central air conditioner and mini-split use SEER or SEER2. System types room air conditioner and packaged terminal air conditioner use EER or CEER. Ignored for system type evaporative cooler. + Choice + true + false + SEER + + + SEER + SEER + + + SEER2 + SEER2 + + + EER + EER + + + CEER + CEER + + + + + cooling_system_cooling_efficiency + Cooling System: Efficiency + The rated efficiency value of the cooling system. Ignored for evaporative cooler. + Double + true + false + 13 + + + cooling_system_cooling_compressor_type + Cooling System: Cooling Compressor Type + The compressor type of the cooling system. Only applies to central air conditioner and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Choice + false + false + + + single stage + single stage + + + two stage + two stage + + + variable speed + variable speed + + + + + cooling_system_cooling_sensible_heat_fraction + Cooling System: Cooling Sensible Heat Fraction + The sensible heat fraction of the cooling system. Ignored for evaporative cooler. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Double + Frac + false + false + + + cooling_system_cooling_capacity + Cooling System: Cooling Capacity + The output cooling capacity of the cooling system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#evaporative-cooler'>Evaporative Cooler</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Double + Btu/hr + false + false + + + cooling_system_cooling_autosizing_factor + Cooling System: Cooling Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + cooling_system_cooling_autosizing_limit + Cooling System: Cooling Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + cooling_system_fraction_cool_load_served + Cooling System: Fraction Cool Load Served + The cooling load served by the cooling system. + Double + Frac + true + false + 1 + + + cooling_system_is_ducted + Cooling System: Is Ducted + Whether the cooling system is ducted or not. Only used for mini-split and evaporative cooler. It's assumed that central air conditioner is ducted, and room air conditioner and packaged terminal air conditioner are not ducted. + Boolean + false + false + false + + + true + true + + + false + false + + + + + cooling_system_airflow_defect_ratio + Cooling System: Airflow Defect Ratio + The airflow defect ratio, defined as (InstalledAirflow - DesignAirflow) / DesignAirflow, of the cooling system per ANSI/RESNET/ACCA Standard 310. A value of zero means no airflow defect. Applies only to central air conditioner and ducted mini-split. If not provided, assumes no defect. + Double + Frac + false + false + + + cooling_system_charge_defect_ratio + Cooling System: Charge Defect Ratio + The refrigerant charge defect ratio, defined as (InstalledCharge - DesignCharge) / DesignCharge, of the cooling system per ANSI/RESNET/ACCA Standard 310. A value of zero means no refrigerant charge defect. Applies only to central air conditioner and mini-split. If not provided, assumes no defect. + Double + Frac + false + false + + + cooling_system_crankcase_heater_watts + Cooling System: Crankcase Heater Power Watts + Cooling system crankcase heater power consumption in Watts. Applies only to central air conditioner, room air conditioner, packaged terminal air conditioner and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Double + W + false + false + + + cooling_system_integrated_heating_system_fuel + Cooling System: Integrated Heating System Fuel Type + The fuel type of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + Choice + false + false + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + cooling_system_integrated_heating_system_efficiency_percent + Cooling System: Integrated Heating System Efficiency + The rated heating efficiency value of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + Double + Frac + false + false + + + cooling_system_integrated_heating_system_capacity + Cooling System: Integrated Heating System Heating Capacity + The output heating capacity of the heating system integrated into cooling system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>) is used. Only used for room air conditioner and packaged terminal air conditioner. + Double + Btu/hr + false + false + + + cooling_system_integrated_heating_system_fraction_heat_load_served + Cooling System: Integrated Heating System Fraction Heat Load Served + The heating load served by the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + Double + Frac + false + false + + + heat_pump_type + Heat Pump: Type + The type of heat pump. Use 'none' if there is no heat pump. + Choice + true + false + none + + + none + none + + + air-to-air + air-to-air + + + mini-split + mini-split + + + ground-to-air + ground-to-air + + + packaged terminal heat pump + packaged terminal heat pump + + + room air conditioner with reverse cycle + room air conditioner with reverse cycle + + + + + heat_pump_heating_efficiency_type + Heat Pump: Heating Efficiency Type + The heating efficiency type of heat pump. System types air-to-air and mini-split use HSPF or HSPF2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use COP. + Choice + true + false + HSPF + + + HSPF + HSPF + + + HSPF2 + HSPF2 + + + COP + COP + + + + + heat_pump_heating_efficiency + Heat Pump: Heating Efficiency + The rated heating efficiency value of the heat pump. + Double + true + false + 7.7 + + + heat_pump_cooling_efficiency_type + Heat Pump: Cooling Efficiency Type + The cooling efficiency type of heat pump. System types air-to-air and mini-split use SEER or SEER2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use EER. + Choice + true + false + SEER + + + SEER + SEER + + + SEER2 + SEER2 + + + EER + EER + + + CEER + CEER + + + + + heat_pump_cooling_efficiency + Heat Pump: Cooling Efficiency + The rated cooling efficiency value of the heat pump. + Double + true + false + 13 + + + heat_pump_cooling_compressor_type + Heat Pump: Cooling Compressor Type + The compressor type of the heat pump. Only applies to air-to-air and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>) is used. + Choice + false + false + + + single stage + single stage + + + two stage + two stage + + + variable speed + variable speed + + + + + heat_pump_cooling_sensible_heat_fraction + Heat Pump: Cooling Sensible Heat Fraction + The sensible heat fraction of the heat pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Double + Frac + false + false + + + heat_pump_heating_capacity + Heat Pump: Heating Capacity + The output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Double + Btu/hr + false + false + + + heat_pump_heating_autosizing_factor + Heat Pump: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + heat_pump_heating_autosizing_limit + Heat Pump: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + heat_pump_heating_capacity_retention_fraction + Heat Pump: Heating Capacity Retention Fraction + The output heating capacity of the heat pump at a user-specified temperature (e.g., 17F or 5F) divided by the above nominal heating capacity. Applies to all heat pump types except ground-to-air. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + Double + Frac + false + false + + + heat_pump_heating_capacity_retention_temp + Heat Pump: Heating Capacity Retention Temperature + The user-specified temperature (e.g., 17F or 5F) for the above heating capacity retention fraction. Applies to all heat pump types except ground-to-air. Required if the Heating Capacity Retention Fraction is provided. + Double + deg-F + false + false + + + heat_pump_cooling_capacity + Heat Pump: Cooling Capacity + The output cooling capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Double + Btu/hr + false + false + + + heat_pump_cooling_autosizing_factor + Heat Pump: Cooling Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + heat_pump_cooling_autosizing_limit + Heat Pump: Cooling Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + heat_pump_fraction_heat_load_served + Heat Pump: Fraction Heat Load Served + The heating load served by the heat pump. + Double + Frac + true + false + 1 + + + heat_pump_fraction_cool_load_served + Heat Pump: Fraction Cool Load Served + The cooling load served by the heat pump. + Double + Frac + true + false + 1 + + + heat_pump_compressor_lockout_temp + Heat Pump: Compressor Lockout Temperature + The temperature below which the heat pump compressor is disabled. If both this and Backup Heating Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies to all heat pump types other than ground-to-air. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + Double + deg-F + false + false + + + heat_pump_backup_type + Heat Pump: Backup Type + The backup type of the heat pump. If 'integrated', represents e.g. built-in electric strip heat or dual-fuel integrated furnace. If 'separate', represents e.g. electric baseboard or boiler based on the Heating System 2 specified below. Use 'none' if there is no backup heating. + Choice + true + false + integrated + + + none + none + + + integrated + integrated + + + separate + separate + + + + + heat_pump_backup_heating_autosizing_factor + Heat Pump: Backup Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, 1.0 is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Factor. + Double + false + false + + + heat_pump_backup_heating_autosizing_limit + Heat Pump: Backup Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, no limit is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Limit. + Double + Btu/hr + false + false + + + heat_pump_backup_fuel + Heat Pump: Backup Fuel Type + The backup fuel type of the heat pump. Only applies if Backup Type is 'integrated'. + Choice + true + false + electricity + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + + + heat_pump_backup_heating_efficiency + Heat Pump: Backup Rated Efficiency + The backup rated efficiency value of the heat pump. Percent for electricity fuel type. AFUE otherwise. Only applies if Backup Type is 'integrated'. + Double + true + false + 1 + + + heat_pump_backup_heating_capacity + Heat Pump: Backup Heating Capacity + The backup output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#backup'>Backup</a>) is used. Only applies if Backup Type is 'integrated'. + Double + Btu/hr + false + false + + + heat_pump_backup_heating_lockout_temp + Heat Pump: Backup Heating Lockout Temperature + The temperature above which the heat pump backup system is disabled. If both this and Compressor Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies for both Backup Type of 'integrated' and 'separate'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#backup'>Backup</a>) is used. + Double + deg-F + false + false + + + heat_pump_sizing_methodology + Heat Pump: Sizing Methodology + The auto-sizing methodology to use when the heat pump capacity is not provided. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-sizing-control'>HPXML HVAC Sizing Control</a>) is used. + Choice + false + false + + + ACCA + ACCA + + + HERS + HERS + + + MaxLoad + MaxLoad + + + + + heat_pump_backup_sizing_methodology + Heat Pump: Backup Sizing Methodology + The auto-sizing methodology to use when the heat pump backup capacity is not provided. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-sizing-control'>HPXML HVAC Sizing Control</a>) is used. + Choice + false + false + + + emergency + emergency + + + supplemental + supplemental + + + + + heat_pump_is_ducted + Heat Pump: Is Ducted + Whether the heat pump is ducted or not. Only used for mini-split. It's assumed that air-to-air and ground-to-air are ducted, and packaged terminal heat pump and room air conditioner with reverse cycle are not ducted. If not provided, assumes not ducted. + Boolean + false + false + + + true + true + + + false + false + + + + + heat_pump_airflow_defect_ratio + Heat Pump: Airflow Defect Ratio + The airflow defect ratio, defined as (InstalledAirflow - DesignAirflow) / DesignAirflow, of the heat pump per ANSI/RESNET/ACCA Standard 310. A value of zero means no airflow defect. Applies only to air-to-air, ducted mini-split, and ground-to-air. If not provided, assumes no defect. + Double + Frac + false + false + + + heat_pump_charge_defect_ratio + Heat Pump: Charge Defect Ratio + The refrigerant charge defect ratio, defined as (InstalledCharge - DesignCharge) / DesignCharge, of the heat pump per ANSI/RESNET/ACCA Standard 310. A value of zero means no refrigerant charge defect. Applies to all heat pump types. If not provided, assumes no defect. + Double + Frac + false + false + + + heat_pump_crankcase_heater_watts + Heat Pump: Crankcase Heater Power Watts + Heat Pump crankcase heater power consumption in Watts. Applies only to air-to-air, mini-split, packaged terminal heat pump and room air conditioner with reverse cycle. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + Double + W + false + false + + + hvac_perf_data_capacity_type + HVAC Detailed Performance Data: Capacity Type + Type of capacity values for detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). + Choice + Absolute capacities + false + false + + + Absolute capacities + Absolute capacities + + + Normalized capacity fractions + Normalized capacity fractions + + + + + hvac_perf_data_heating_outdoor_temperatures + HVAC Detailed Performance Data: Heating Outdoor Temperatures + Outdoor temperatures of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 47 deg-F. At least two performance data points are required using a comma-separated list. + String + deg-F + false + false + + + hvac_perf_data_heating_min_speed_capacities + HVAC Detailed Performance Data: Heating Minimum Speed Capacities + Minimum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_heating_max_speed_capacities + HVAC Detailed Performance Data: Heating Maximum Speed Capacities + Maximum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_heating_min_speed_cops + HVAC Detailed Performance Data: Heating Minimum Speed COPs + Minimum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_heating_max_speed_cops + HVAC Detailed Performance Data: Heating Maximum Speed COPs + Maximum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_cooling_outdoor_temperatures + HVAC Detailed Performance Data: Cooling Outdoor Temperatures + Outdoor temperatures of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 95 deg-F. At least two performance data points are required using a comma-separated list. + String + deg-F + false + false + + + hvac_perf_data_cooling_min_speed_capacities + HVAC Detailed Performance Data: Cooling Minimum Speed Capacities + Minimum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_cooling_max_speed_capacities + HVAC Detailed Performance Data: Cooling Maximum Speed Capacities + Maximum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_cooling_min_speed_cops + HVAC Detailed Performance Data: Cooling Minimum Speed COPs + Minimum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_cooling_max_speed_cops + HVAC Detailed Performance Data: Cooling Maximum Speed COPs + Maximum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + geothermal_loop_configuration + Geothermal Loop: Configuration + Configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Choice + false + false + + + none + none + + + vertical + vertical + + + + + geothermal_loop_borefield_configuration + Geothermal Loop: Borefield Configuration + Borefield configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + false + false + + + Rectangle + Rectangle + + + Open Rectangle + Open Rectangle + + + C + C + + + L + L + + + U + U + + + Lopsided U + Lopsided U + + + + + geothermal_loop_loop_flow + Geothermal Loop: Loop Flow + Water flow rate through the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Double + gpm + false + false + + + geothermal_loop_boreholes_count + Geothermal Loop: Boreholes Count + Number of boreholes. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Integer + # + false + false + + + geothermal_loop_boreholes_length + Geothermal Loop: Boreholes Length + Average length of each borehole (vertical). Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Double + ft + false + false + + + geothermal_loop_boreholes_spacing + Geothermal Loop: Boreholes Spacing + Distance between bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Double + ft + false + false + + + geothermal_loop_boreholes_diameter + Geothermal Loop: Boreholes Diameter + Diameter of bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Double + in + false + false + + + geothermal_loop_grout_type + Geothermal Loop: Grout Type + Grout type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + false + false + + + standard + standard + + + thermally enhanced + thermally enhanced + + + + + geothermal_loop_pipe_type + Geothermal Loop: Pipe Type + Pipe type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + false + false + + + standard + standard + + + thermally enhanced + thermally enhanced + + + + + geothermal_loop_pipe_diameter + Geothermal Loop: Pipe Diameter + Pipe diameter of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + in + false + false + + + 3/4" pipe + 3/4" pipe + + + 1" pipe + 1" pipe + + + 1-1/4" pipe + 1-1/4" pipe + + + + + heating_system_2_type + Heating System 2: Type + The type of the second heating system. + Choice + true + false + none + + + none + none + + + Furnace + Furnace + + + WallFurnace + WallFurnace + + + FloorFurnace + FloorFurnace + + + Boiler + Boiler + + + ElectricResistance + ElectricResistance + + + Stove + Stove + + + SpaceHeater + SpaceHeater + + + Fireplace + Fireplace + + + + + heating_system_2_fuel + Heating System 2: Fuel Type + The fuel type of the second heating system. Ignored for ElectricResistance. + Choice + true + false + electricity + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + heating_system_2_heating_efficiency + Heating System 2: Rated AFUE or Percent + The rated heating efficiency value of the second heating system. + Double + Frac + true + false + 1 + + + heating_system_2_heating_capacity + Heating System 2: Heating Capacity + The output heating capacity of the second heating system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>) is used. + Double + Btu/hr + false + false + + + heating_system_2_heating_autosizing_factor + Heating System 2: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + heating_system_2_heating_autosizing_limit + Heating System 2: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + heating_system_2_fraction_heat_load_served + Heating System 2: Fraction Heat Load Served + The heat load served fraction of the second heating system. Ignored if this heating system serves as a backup system for a heat pump. + Double + Frac + true + false + 0.25 + + + hvac_control_heating_weekday_setpoint + HVAC Control: Heating Weekday Setpoint Schedule + Specify the constant or 24-hour comma-separated weekday heating setpoint schedule. Required unless a detailed CSV schedule is provided. + String + deg-F + false + false + + + hvac_control_heating_weekend_setpoint + HVAC Control: Heating Weekend Setpoint Schedule + Specify the constant or 24-hour comma-separated weekend heating setpoint schedule. Required unless a detailed CSV schedule is provided. + String + deg-F + false + false + + + hvac_control_cooling_weekday_setpoint + HVAC Control: Cooling Weekday Setpoint Schedule + Specify the constant or 24-hour comma-separated weekday cooling setpoint schedule. Required unless a detailed CSV schedule is provided. + String + deg-F + false + false + + + hvac_control_cooling_weekend_setpoint + HVAC Control: Cooling Weekend Setpoint Schedule + Specify the constant or 24-hour comma-separated weekend cooling setpoint schedule. Required unless a detailed CSV schedule is provided. + String + deg-F + false + false + + + hvac_control_heating_season_period + HVAC Control: Heating Season Period + Enter a date like 'Nov 1 - Jun 30'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-control'>HPXML HVAC Control</a>) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + String + false + false + + + hvac_control_cooling_season_period + HVAC Control: Cooling Season Period + Enter a date like 'Jun 1 - Oct 31'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-control'>HPXML HVAC Control</a>) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + String + false + false + + + hvac_blower_fan_watts_per_cfm + HVAC Blower: Fan Efficiency + The blower fan efficiency at maximum fan speed. Applies only to split (not packaged) systems (i.e., applies to ducted systems as well as ductless mini-split systems). If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooling-systems'>HPXML Cooling Systems</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heat-pumps'>HPXML Heat Pumps</a>) is used. + Double + W/CFM + false + false + + + ducts_leakage_units + Ducts: Leakage Units + The leakage units of the ducts. + Choice + true + false + Percent + + + CFM25 + CFM25 + + + CFM50 + CFM50 + + + Percent + Percent + + + + + ducts_supply_leakage_to_outside_value + Ducts: Supply Leakage to Outside Value + The leakage value to outside for the supply ducts. + Double + true + false + 0.1 + + + ducts_supply_location + Ducts: Supply Location + The location of the supply ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + exterior wall + exterior wall + + + under slab + under slab + + + roof deck + roof deck + + + outside + outside + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + manufactured home belly + manufactured home belly + + + + + ducts_supply_insulation_r + Ducts: Supply Insulation R-Value + The nominal insulation r-value of the supply ducts excluding air films. Use 0 for uninsulated ducts. + Double + h-ft^2-R/Btu + true + false + 0 + + + ducts_supply_buried_insulation_level + Ducts: Supply Buried Insulation Level + Whether the supply 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. + Choice + false + false + + + not buried + not buried + + + partially buried + partially buried + + + fully buried + fully buried + + + deeply buried + deeply buried + + + + + ducts_supply_surface_area + Ducts: Supply Surface Area + The supply ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + ft^2 + false + false + + + ducts_supply_surface_area_fraction + Ducts: Supply Area Fraction + The fraction of supply ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + frac + false + false + + + ducts_supply_fraction_rectangular + Ducts: Supply Fraction Rectangular + The fraction of supply ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + frac + false + false + + + ducts_return_leakage_to_outside_value + Ducts: Return Leakage to Outside Value + The leakage value to outside for the return ducts. + Double + true + false + 0.1 + + + ducts_return_location + Ducts: Return Location + The location of the return ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + exterior wall + exterior wall + + + under slab + under slab + + + roof deck + roof deck + + + outside + outside + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + manufactured home belly + manufactured home belly + + + + + ducts_return_insulation_r + Ducts: Return Insulation R-Value + The nominal insulation r-value of the return ducts excluding air films. Use 0 for uninsulated ducts. + Double + h-ft^2-R/Btu + true + false + 0 + + + ducts_return_buried_insulation_level + Ducts: Return Buried Insulation Level + Whether the return 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. + Choice + false + false + + + not buried + not buried + + + partially buried + partially buried + + + fully buried + fully buried + + + deeply buried + deeply buried + + + + + ducts_return_surface_area + Ducts: Return Surface Area + The return ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + ft^2 + false + false + + + ducts_return_surface_area_fraction + Ducts: Return Area Fraction + The fraction of return ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + frac + false + false + + + ducts_number_of_return_registers + Ducts: Number of Return Registers + The number of return registers of the ducts. Only used to calculate default return duct surface area. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Integer + # + false + false + + + ducts_return_fraction_rectangular + Ducts: Return Fraction Rectangular + The fraction of return ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + frac + false + false + + + mech_vent_fan_type + Mechanical Ventilation: Fan Type + The type of the mechanical ventilation. Use 'none' if there is no mechanical ventilation system. + Choice + true + false + none + + + none + none + + + exhaust only + exhaust only + + + supply only + supply only + + + energy recovery ventilator + energy recovery ventilator + + + heat recovery ventilator + heat recovery ventilator + + + balanced + balanced + + + central fan integrated supply + central fan integrated supply + + + + + mech_vent_flow_rate + Mechanical Ventilation: Flow Rate + The flow rate of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + Double + CFM + false + false + + + mech_vent_hours_in_operation + Mechanical Ventilation: Hours In Operation + The hours in operation of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + Double + hrs/day + false + false + + + mech_vent_recovery_efficiency_type + Mechanical Ventilation: Total Recovery Efficiency Type + The total recovery efficiency type of the mechanical ventilation. + Choice + true + false + Unadjusted + + + Unadjusted + Unadjusted + + + Adjusted + Adjusted + + + + + mech_vent_total_recovery_efficiency + Mechanical Ventilation: Total Recovery Efficiency + The Unadjusted or Adjusted total recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator. + Double + Frac + true + false + 0.48 + + + mech_vent_sensible_recovery_efficiency + Mechanical Ventilation: Sensible Recovery Efficiency + The Unadjusted or Adjusted sensible recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + Double + Frac + true + false + 0.72 + + + mech_vent_fan_power + Mechanical Ventilation: Fan Power + The fan power of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + Double + W + false + false + + + mech_vent_num_units_served + Mechanical Ventilation: Number of Units Served + Number of dwelling units served by the mechanical ventilation system. Must be 1 if single-family detached. Used to apportion flow rate and fan power to the unit. + Integer + # + true + false + 1 + + + mech_vent_shared_frac_recirculation + Shared Mechanical Ventilation: Fraction Recirculation + Fraction of the total supply air that is recirculated, with the remainder assumed to be outdoor air. The value must be 0 for exhaust only systems. Required for a shared mechanical ventilation system. + Double + Frac + false + false + + + mech_vent_shared_preheating_fuel + Shared Mechanical Ventilation: Preheating Fuel + Fuel type of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + Choice + false + false + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + mech_vent_shared_preheating_efficiency + Shared Mechanical Ventilation: Preheating Efficiency + Efficiency of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + Double + COP + false + false + + + mech_vent_shared_preheating_fraction_heat_load_served + Shared Mechanical Ventilation: Preheating Fraction Ventilation Heat Load Served + Fraction of heating load introduced by the shared ventilation system that is met by the preconditioning heating equipment. If not provided, assumes no preheating. + Double + Frac + false + false + + + mech_vent_shared_precooling_fuel + Shared Mechanical Ventilation: Precooling Fuel + Fuel type of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + Choice + false + false + + + electricity + electricity + + + + + mech_vent_shared_precooling_efficiency + Shared Mechanical Ventilation: Precooling Efficiency + Efficiency of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + Double + COP + false + false + + + mech_vent_shared_precooling_fraction_cool_load_served + Shared Mechanical Ventilation: Precooling Fraction Ventilation Cool Load Served + Fraction of cooling load introduced by the shared ventilation system that is met by the preconditioning cooling equipment. If not provided, assumes no precooling. + Double + Frac + false + false + + + mech_vent_2_fan_type + Mechanical Ventilation 2: Fan Type + The type of the second mechanical ventilation. Use 'none' if there is no second mechanical ventilation system. + Choice + true + false + none + + + none + none + + + exhaust only + exhaust only + + + supply only + supply only + + + energy recovery ventilator + energy recovery ventilator + + + heat recovery ventilator + heat recovery ventilator + + + balanced + balanced + + + + + mech_vent_2_flow_rate + Mechanical Ventilation 2: Flow Rate + The flow rate of the second mechanical ventilation. + Double + CFM + true + false + 110 + + + mech_vent_2_hours_in_operation + Mechanical Ventilation 2: Hours In Operation + The hours in operation of the second mechanical ventilation. + Double + hrs/day + true + false + 24 + + + mech_vent_2_recovery_efficiency_type + Mechanical Ventilation 2: Total Recovery Efficiency Type + The total recovery efficiency type of the second mechanical ventilation. + Choice + true + false + Unadjusted + + + Unadjusted + Unadjusted + + + Adjusted + Adjusted + + + + + mech_vent_2_total_recovery_efficiency + Mechanical Ventilation 2: Total Recovery Efficiency + The Unadjusted or Adjusted total recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator. + Double + Frac + true + false + 0.48 + + + mech_vent_2_sensible_recovery_efficiency + Mechanical Ventilation 2: Sensible Recovery Efficiency + The Unadjusted or Adjusted sensible recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + Double + Frac + true + false + 0.72 + + + mech_vent_2_fan_power + Mechanical Ventilation 2: Fan Power + The fan power of the second mechanical ventilation. + Double + W + true + false + 30 + + + kitchen_fans_quantity + Kitchen Fans: Quantity + The quantity of the kitchen fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Integer + # + false + false + + + kitchen_fans_flow_rate + Kitchen Fans: Flow Rate + The flow rate of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + CFM + false + false + + + kitchen_fans_hours_in_operation + Kitchen Fans: Hours In Operation + The hours in operation of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + hrs/day + false + false + + + kitchen_fans_power + Kitchen Fans: Fan Power + The fan power of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + W + false + false + + + kitchen_fans_start_hour + Kitchen Fans: Start Hour + The start hour of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Integer + hr + false + false + + + bathroom_fans_quantity + Bathroom Fans: Quantity + The quantity of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Integer + # + false + false + + + bathroom_fans_flow_rate + Bathroom Fans: Flow Rate + The flow rate of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + CFM + false + false + + + bathroom_fans_hours_in_operation + Bathroom Fans: Hours In Operation + The hours in operation of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + hrs/day + false + false + + + bathroom_fans_power + Bathroom Fans: Fan Power + The fan power of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + W + false + false + + + bathroom_fans_start_hour + Bathroom Fans: Start Hour + The start hour of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Integer + hr + false + false + + + whole_house_fan_present + Whole House Fan: Present + Whether there is a whole house fan. + Boolean + true + false + false + + + true + true + + + false + false + + + + + whole_house_fan_flow_rate + Whole House Fan: Flow Rate + The flow rate of the whole house fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-whole-house-fans'>HPXML Whole House Fans</a>) is used. + Double + CFM + false + false + + + whole_house_fan_power + Whole House Fan: Fan Power + The fan power of the whole house fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-whole-house-fans'>HPXML Whole House Fans</a>) is used. + Double + W + false + false + + + water_heater_type + Water Heater: Type + The type of water heater. Use 'none' if there is no water heater. + Choice + true + false + storage water heater + + + none + none + + + storage water heater + storage water heater + + + instantaneous water heater + instantaneous water heater + + + heat pump water heater + heat pump water heater + + + space-heating boiler with storage tank + space-heating boiler with storage tank + + + space-heating boiler with tankless coil + space-heating boiler with tankless coil + + + + + water_heater_fuel_type + Water Heater: Fuel Type + The fuel type of water heater. Ignored for heat pump water heater. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + water_heater_location + Water Heater: Location + The location of water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-heating-systems'>HPXML Water Heating Systems</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + other exterior + other exterior + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + water_heater_tank_volume + Water Heater: Tank Volume + Nominal volume of water heater tank. Only applies to storage water heater, heat pump water heater, and space-heating boiler with storage tank. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#combi-boiler-w-storage'>Combi Boiler w/ Storage</a>) is used. + Double + gal + false + false + + + water_heater_efficiency_type + Water Heater: Efficiency Type + The efficiency type of water heater. Does not apply to space-heating boilers. + Choice + true + false + EnergyFactor + + + EnergyFactor + EnergyFactor + + + UniformEnergyFactor + UniformEnergyFactor + + + + + water_heater_efficiency + Water Heater: Efficiency + Rated Energy Factor or Uniform Energy Factor. Does not apply to space-heating boilers. + Double + true + false + 0.67 + + + water_heater_usage_bin + Water Heater: Usage Bin + The usage of the water heater. Only applies if Efficiency Type is UniformEnergyFactor and Type is not instantaneous water heater. Does not apply to space-heating boilers. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>) is used. + Choice + false + false + + + very small + very small + + + low + low + + + medium + medium + + + high + high + + + + + water_heater_recovery_efficiency + Water Heater: Recovery Efficiency + Ratio of energy delivered to water heater to the energy content of the fuel consumed by the water heater. Only used for non-electric storage water heaters. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + Double + Frac + false + false + + + water_heater_heating_capacity + Water Heater: Heating Capacity + Heating capacity. Only applies to storage water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + Double + Btu/hr + false + false + + + water_heater_standby_loss + Water Heater: Standby Loss + The standby loss of water heater. Only applies to space-heating boilers. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#combi-boiler-w-storage'>Combi Boiler w/ Storage</a>) is used. + Double + deg-F/hr + false + false + + + water_heater_jacket_rvalue + Water Heater: Jacket R-value + The jacket R-value of water heater. Doesn't apply to instantaneous water heater or space-heating boiler with tankless coil. If not provided, defaults to no jacket insulation. + Double + h-ft^2-R/Btu + false + false + + + water_heater_setpoint_temperature + Water Heater: Setpoint Temperature + The setpoint temperature of water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-heating-systems'>HPXML Water Heating Systems</a>) is used. + Double + deg-F + false + false + + + water_heater_num_bedrooms_served + Water Heater: Number of Bedrooms Served + Number of bedrooms served (directly or indirectly) by the water heater. Only needed if single-family attached or apartment unit and it is a shared water heater serving multiple dwelling units. Used to apportion water heater tank losses to the unit. + Integer + # + false + false + + + water_heater_uses_desuperheater + Water Heater: Uses Desuperheater + Requires that the dwelling unit has a air-to-air, mini-split, or ground-to-air heat pump or a central air conditioner or mini-split air conditioner. If not provided, assumes no desuperheater. + Boolean + false + false + + + true + true + + + false + false + + + + + water_heater_tank_model_type + Water Heater: Tank Type + Type of tank model to use. The 'stratified' tank generally provide more accurate results, but may significantly increase run time. Applies only to storage water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + Choice + false + false + + + mixed + mixed + + + stratified + stratified + + + + + water_heater_operating_mode + Water Heater: Operating Mode + The water heater operating mode. The 'heat pump only' option only uses the heat pump, while 'hybrid/auto' allows the backup electric resistance to come on in high demand situations. This is ignored if a scheduled operating mode type is selected. Applies only to heat pump water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>) is used. + Choice + false + false + + + hybrid/auto + hybrid/auto + + + heat pump only + heat pump only + + + + + hot_water_distribution_system_type + Hot Water Distribution: System Type + The type of the hot water distribution system. + Choice + true + false + Standard + + + Standard + Standard + + + Recirculation + Recirculation + + + + + hot_water_distribution_standard_piping_length + Hot Water Distribution: Standard Piping Length + If the distribution system is Standard, the length of the piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#standard'>Standard</a>) is used. + Double + ft + false + false + + + hot_water_distribution_recirc_control_type + Hot Water Distribution: Recirculation Control Type + If the distribution system is Recirculation, the type of hot water recirculation control, if any. + Choice + false + false + no control + + + no control + no control + + + timer + timer + + + temperature + temperature + + + presence sensor demand control + presence sensor demand control + + + manual demand control + manual demand control + + + + + hot_water_distribution_recirc_piping_length + Hot Water Distribution: Recirculation Piping Length + If the distribution system is Recirculation, the length of the recirculation piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + Double + ft + false + false + + + hot_water_distribution_recirc_branch_piping_length + Hot Water Distribution: Recirculation Branch Piping Length + If the distribution system is Recirculation, the length of the recirculation branch piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + Double + ft + false + false + + + hot_water_distribution_recirc_pump_power + Hot Water Distribution: Recirculation Pump Power + If the distribution system is Recirculation, the recirculation pump power. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + Double + W + false + false + + + hot_water_distribution_pipe_r + Hot Water Distribution: Pipe Insulation Nominal R-Value + Nominal R-value of the pipe insulation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hot-water-distribution'>HPXML Hot Water Distribution</a>) is used. + Double + h-ft^2-R/Btu + false + false + + + dwhr_facilities_connected + Drain Water Heat Recovery: Facilities Connected + Which facilities are connected for the drain water heat recovery. Use 'none' if there is no drain water heat recovery system. + Choice + true + false + none + + + none + none + + + one + one + + + all + all + + + + + dwhr_equal_flow + Drain Water Heat Recovery: Equal Flow + Whether the drain water heat recovery has equal flow. + Boolean + false + false + true + + + true + true + + + false + false + + + + + dwhr_efficiency + Drain Water Heat Recovery: Efficiency + The efficiency of the drain water heat recovery. + Double + Frac + false + false + 0.55 + + + water_fixtures_shower_low_flow + Hot Water Fixtures: Is Shower Low Flow + Whether the shower fixture is low flow. + Boolean + true + false + false + + + true + true + + + false + false + + + + + water_fixtures_sink_low_flow + Hot Water Fixtures: Is Sink Low Flow + Whether the sink fixture is low flow. + Boolean + true + false + false + + + true + true + + + false + false + + + + + water_fixtures_usage_multiplier + Hot Water Fixtures: Usage Multiplier + Multiplier on the hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-fixtures'>HPXML Water Fixtures</a>) is used. + Double + false + false + + + general_water_use_usage_multiplier + General Water Use: Usage Multiplier + Multiplier on internal gains from general water use (floor mopping, shower evaporation, water films on showers, tubs & sinks surfaces, plant watering, etc.) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-occupancy'>HPXML Building Occupancy</a>) is used. + Double + false + false + + + solar_thermal_system_type + Solar Thermal: System Type + The type of solar thermal system. Use 'none' if there is no solar thermal system. + Choice + true + false + none + + + none + none + + + hot water + hot water + + + + + solar_thermal_collector_area + Solar Thermal: Collector Area + The collector area of the solar thermal system. + Double + ft^2 + true + false + 40 + + + solar_thermal_collector_loop_type + Solar Thermal: Collector Loop Type + The collector loop type of the solar thermal system. + Choice + true + false + liquid direct + + + liquid direct + liquid direct + + + liquid indirect + liquid indirect + + + passive thermosyphon + passive thermosyphon + + + + + solar_thermal_collector_type + Solar Thermal: Collector Type + The collector type of the solar thermal system. + Choice + true + false + evacuated tube + + + evacuated tube + evacuated tube + + + single glazing black + single glazing black + + + double glazing black + double glazing black + + + integrated collector storage + integrated collector storage + + + + + solar_thermal_collector_azimuth + Solar Thermal: Collector Azimuth + The collector azimuth of the solar thermal system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + solar_thermal_collector_tilt + Solar Thermal: Collector Tilt + The collector tilt of the solar thermal system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + solar_thermal_collector_rated_optical_efficiency + Solar Thermal: Collector Rated Optical Efficiency + The collector rated optical efficiency of the solar thermal system. + Double + Frac + true + false + 0.5 + + + solar_thermal_collector_rated_thermal_losses + Solar Thermal: Collector Rated Thermal Losses + The collector rated thermal losses of the solar thermal system. + Double + Btu/hr-ft^2-R + true + false + 0.2799 + + + solar_thermal_storage_volume + Solar Thermal: Storage Volume + The storage volume of the solar thermal system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#detailed-inputs'>Detailed Inputs</a>) is used. + Double + gal + false + false + + + solar_thermal_solar_fraction + Solar Thermal: Solar Fraction + The solar fraction of the solar thermal system. If provided, overrides all other solar thermal inputs. + Double + Frac + true + false + 0 + + + pv_system_present + PV System: Present + Whether there is a PV system present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pv_system_module_type + PV System: Module Type + Module type of the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + standard + standard + + + premium + premium + + + thin film + thin film + + + + + pv_system_location + PV System: Location + Location of the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + roof + roof + + + ground + ground + + + + + pv_system_tracking + PV System: Tracking + Type of tracking for the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + fixed + fixed + + + 1-axis + 1-axis + + + 1-axis backtracked + 1-axis backtracked + + + 2-axis + 2-axis + + + + + pv_system_array_azimuth + PV System: Array Azimuth + Array azimuth of the PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + pv_system_array_tilt + PV System: Array Tilt + Array tilt of the PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + pv_system_max_power_output + PV System: Maximum Power Output + Maximum power output of the PV system. For a shared system, this is the total building maximum power output. + Double + W + true + false + 4000 + + + pv_system_inverter_efficiency + PV System: Inverter Efficiency + Inverter efficiency of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Double + Frac + false + false + + + pv_system_system_losses_fraction + PV System: System Losses Fraction + System losses fraction of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Double + Frac + false + false + + + pv_system_num_bedrooms_served + PV System: Number of Bedrooms Served + Number of bedrooms served by PV system. Only needed if single-family attached or apartment unit and it is a shared PV system serving multiple dwelling units. Used to apportion PV generation to the unit of a SFA/MF building. If there are two PV systems, this will apply to both. + Integer + # + false + false + + + pv_system_2_present + PV System 2: Present + Whether there is a second PV system present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pv_system_2_module_type + PV System 2: Module Type + Module type of the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + standard + standard + + + premium + premium + + + thin film + thin film + + + + + pv_system_2_location + PV System 2: Location + Location of the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + roof + roof + + + ground + ground + + + + + pv_system_2_tracking + PV System 2: Tracking + Type of tracking for the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + fixed + fixed + + + 1-axis + 1-axis + + + 1-axis backtracked + 1-axis backtracked + + + 2-axis + 2-axis + + + + + pv_system_2_array_azimuth + PV System 2: Array Azimuth + Array azimuth of the second PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + pv_system_2_array_tilt + PV System 2: Array Tilt + Array tilt of the second PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + pv_system_2_max_power_output + PV System 2: Maximum Power Output + Maximum power output of the second PV system. For a shared system, this is the total building maximum power output. + Double + W + true + false + 4000 + + + battery_present + Battery: Present + Whether there is a lithium ion battery present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + battery_location + Battery: Location + The space type for the lithium ion battery location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + outside + outside + + + + + battery_power + Battery: Rated Power Output + The rated power output of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Double + W + false + false + + + battery_capacity + Battery: Nominal Capacity + The nominal capacity of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Double + kWh + false + false + + + battery_usable_capacity + Battery: Usable Capacity + The usable capacity of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Double + kWh + false + false + + + battery_round_trip_efficiency + Battery: Round Trip Efficiency + The round trip efficiency of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Double + Frac + false + false + + + battery_num_bedrooms_served + Battery: Number of Bedrooms Served + Number of bedrooms served by the lithium ion battery. Only needed if single-family attached or apartment unit and it is a shared battery serving multiple dwelling units. Used to apportion battery charging/discharging to the unit of a SFA/MF building. + Integer + # + false + false + + + lighting_present + Lighting: Present + Whether there is lighting energy use. + Boolean + true + false + true + + + true + true + + + false + false + + + + + lighting_interior_fraction_cfl + Lighting: Interior Fraction CFL + Fraction of all lamps (interior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0.1 + + + lighting_interior_fraction_lfl + Lighting: Interior Fraction LFL + Fraction of all lamps (interior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_interior_fraction_led + Lighting: Interior Fraction LED + Fraction of all lamps (interior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_interior_usage_multiplier + Lighting: Interior Usage Multiplier + Multiplier on the lighting energy usage (interior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + Double + false + false + + + lighting_exterior_fraction_cfl + Lighting: Exterior Fraction CFL + Fraction of all lamps (exterior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_fraction_lfl + Lighting: Exterior Fraction LFL + Fraction of all lamps (exterior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_fraction_led + Lighting: Exterior Fraction LED + Fraction of all lamps (exterior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_usage_multiplier + Lighting: Exterior Usage Multiplier + Multiplier on the lighting energy usage (exterior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + Double + false + false + + + lighting_garage_fraction_cfl + Lighting: Garage Fraction CFL + Fraction of all lamps (garage) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_fraction_lfl + Lighting: Garage Fraction LFL + Fraction of all lamps (garage) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_fraction_led + Lighting: Garage Fraction LED + Fraction of all lamps (garage) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_usage_multiplier + Lighting: Garage Usage Multiplier + Multiplier on the lighting energy usage (garage) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + Double + false + false + + + holiday_lighting_present + Holiday Lighting: Present + Whether there is holiday lighting. + Boolean + true + false + false + + + true + true + + + false + false + + + + + holiday_lighting_daily_kwh + Holiday Lighting: Daily Consumption + The daily energy consumption for holiday lighting (exterior). If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + Double + kWh/day + false + false + + + holiday_lighting_period + Holiday Lighting: Period + Enter a date like 'Nov 25 - Jan 5'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + false + false + + + dehumidifier_type + Dehumidifier: Type + The type of dehumidifier. + Choice + true + false + none + + + none + none + + + portable + portable + + + whole-home + whole-home + + + + + dehumidifier_efficiency_type + Dehumidifier: Efficiency Type + The efficiency type of dehumidifier. + Choice + true + false + IntegratedEnergyFactor + + + EnergyFactor + EnergyFactor + + + IntegratedEnergyFactor + IntegratedEnergyFactor + + + + + dehumidifier_efficiency + Dehumidifier: Efficiency + The efficiency of the dehumidifier. + Double + liters/kWh + true + false + 1.5 + + + dehumidifier_capacity + Dehumidifier: Capacity + The capacity (water removal rate) of the dehumidifier. + Double + pint/day + true + false + 40 + + + dehumidifier_rh_setpoint + Dehumidifier: Relative Humidity Setpoint + The relative humidity setpoint of the dehumidifier. + Double + Frac + true + false + 0.5 + + + dehumidifier_fraction_dehumidification_load_served + Dehumidifier: Fraction Dehumidification Load Served + The dehumidification load served fraction of the dehumidifier. + Double + Frac + true + false + 1 + + + clothes_washer_present + Clothes Washer: Present + Whether there is a clothes washer present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + clothes_washer_location + Clothes Washer: Location + The space type for the clothes washer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + clothes_washer_efficiency_type + Clothes Washer: Efficiency Type + The efficiency type of the clothes washer. + Choice + true + false + IntegratedModifiedEnergyFactor + + + ModifiedEnergyFactor + ModifiedEnergyFactor + + + IntegratedModifiedEnergyFactor + IntegratedModifiedEnergyFactor + + + + + clothes_washer_efficiency + Clothes Washer: Efficiency + The efficiency of the clothes washer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + ft^3/kWh-cyc + false + false + + + clothes_washer_rated_annual_kwh + Clothes Washer: Rated Annual Consumption + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + kWh/yr + false + false + + + clothes_washer_label_electric_rate + Clothes Washer: Label Electric Rate + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + $/kWh + false + false + + + clothes_washer_label_gas_rate + Clothes Washer: Label Gas Rate + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + $/therm + false + false + + + clothes_washer_label_annual_gas_cost + Clothes Washer: Label Annual Cost with Gas DHW + The annual cost of using the system under test conditions. Input is obtained from the EnergyGuide label. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + $ + false + false + + + clothes_washer_label_usage + Clothes Washer: Label Usage + The clothes washer loads per week. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + cyc/wk + false + false + + + clothes_washer_capacity + Clothes Washer: Drum Volume + Volume of the washer drum. Obtained from the EnergyStar website or the manufacturer's literature. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + ft^3 + false + false + + + clothes_washer_usage_multiplier + Clothes Washer: Usage Multiplier + Multiplier on the clothes washer energy and hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + false + false + + + clothes_dryer_present + Clothes Dryer: Present + Whether there is a clothes dryer present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + clothes_dryer_location + Clothes Dryer: Location + The space type for the clothes dryer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + clothes_dryer_fuel_type + Clothes Dryer: Fuel Type + Type of fuel used by the clothes dryer. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + clothes_dryer_efficiency_type + Clothes Dryer: Efficiency Type + The efficiency type of the clothes dryer. + Choice + true + false + CombinedEnergyFactor + + + EnergyFactor + EnergyFactor + + + CombinedEnergyFactor + CombinedEnergyFactor + + + + + clothes_dryer_efficiency + Clothes Dryer: Efficiency + The efficiency of the clothes dryer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Double + lb/kWh + false + false + + + clothes_dryer_vented_flow_rate + Clothes Dryer: Vented Flow Rate + The exhaust flow rate of the vented clothes dryer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Double + CFM + false + false + + + clothes_dryer_usage_multiplier + Clothes Dryer: Usage Multiplier + Multiplier on the clothes dryer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Double + false + false + + + dishwasher_present + Dishwasher: Present + Whether there is a dishwasher present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + dishwasher_location + Dishwasher: Location + The space type for the dishwasher location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + dishwasher_efficiency_type + Dishwasher: Efficiency Type + The efficiency type of dishwasher. + Choice + true + false + RatedAnnualkWh + + + RatedAnnualkWh + RatedAnnualkWh + + + EnergyFactor + EnergyFactor + + + + + dishwasher_efficiency + Dishwasher: Efficiency + The efficiency of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + RatedAnnualkWh or EnergyFactor + false + false + + + dishwasher_label_electric_rate + Dishwasher: Label Electric Rate + The label electric rate of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + $/kWh + false + false + + + dishwasher_label_gas_rate + Dishwasher: Label Gas Rate + The label gas rate of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + $/therm + false + false + + + dishwasher_label_annual_gas_cost + Dishwasher: Label Annual Gas Cost + The label annual gas cost of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + $ + false + false + + + dishwasher_label_usage + Dishwasher: Label Usage + The dishwasher loads per week. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + cyc/wk + false + false + + + dishwasher_place_setting_capacity + Dishwasher: Number of Place Settings + The number of place settings for the unit. Data obtained from manufacturer's literature. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Integer + # + false + false + + + dishwasher_usage_multiplier + Dishwasher: Usage Multiplier + Multiplier on the dishwasher energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + false + false + + + refrigerator_present + Refrigerator: Present + Whether there is a refrigerator present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + refrigerator_location + Refrigerator: Location + The space type for the refrigerator location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + refrigerator_rated_annual_kwh + Refrigerator: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for a refrigerator. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Double + kWh/yr + false + false + + + refrigerator_usage_multiplier + Refrigerator: Usage Multiplier + Multiplier on the refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Double + false + false + + + extra_refrigerator_present + Extra Refrigerator: Present + Whether there is an extra refrigerator present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + extra_refrigerator_location + Extra Refrigerator: Location + The space type for the extra refrigerator location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + extra_refrigerator_rated_annual_kwh + Extra Refrigerator: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for an extra rrefrigerator. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Double + kWh/yr + false + false + + + extra_refrigerator_usage_multiplier + Extra Refrigerator: Usage Multiplier + Multiplier on the extra refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Double + false + false + + + freezer_present + Freezer: Present + Whether there is a freezer present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + freezer_location + Freezer: Location + The space type for the freezer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + freezer_rated_annual_kwh + Freezer: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for a freezer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + Double + kWh/yr + false + false + + + freezer_usage_multiplier + Freezer: Usage Multiplier + Multiplier on the freezer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + Double + false + false + + + cooking_range_oven_present + Cooking Range/Oven: Present + Whether there is a cooking range/oven present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + cooking_range_oven_location + Cooking Range/Oven: Location + The space type for the cooking range/oven location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + cooking_range_oven_fuel_type + Cooking Range/Oven: Fuel Type + Type of fuel used by the cooking range/oven. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + cooking_range_oven_is_induction + Cooking Range/Oven: Is Induction + Whether the cooking range is induction. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Boolean + false + false + + + true + true + + + false + false + + + + + cooking_range_oven_is_convection + Cooking Range/Oven: Is Convection + Whether the oven is convection. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Boolean + false + false + + + true + true + + + false + false + + + + + cooking_range_oven_usage_multiplier + Cooking Range/Oven: Usage Multiplier + Multiplier on the cooking range/oven energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Double + false + false + + + ceiling_fan_present + Ceiling Fan: Present + Whether there are any ceiling fans. + Boolean + true + false + true + + + true + true + + + false + false + + + + + ceiling_fan_label_energy_use + Ceiling Fan: Label Energy Use + The label average energy use of the ceiling fan(s). If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + Double + W + false + false + + + ceiling_fan_efficiency + Ceiling Fan: Efficiency + The efficiency rating of the ceiling fan(s) at medium speed. Only used if Label Energy Use not provided. If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + Double + CFM/W + false + false + + + ceiling_fan_quantity + Ceiling Fan: Quantity + Total number of ceiling fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + Integer + # + false + false + + + ceiling_fan_cooling_setpoint_temp_offset + Ceiling Fan: Cooling Setpoint Temperature Offset + The cooling setpoint temperature offset during months when the ceiling fans are operating. Only applies if ceiling fan quantity is greater than zero. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + Double + deg-F + false + false + + + misc_plug_loads_television_present + Misc Plug Loads: Television Present + Whether there are televisions. + Boolean + true + false + true + + + true + true + + + false + false + + + + + misc_plug_loads_television_annual_kwh + Misc Plug Loads: Television Annual kWh + The annual energy consumption of the television plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + kWh/yr + false + false + + + misc_plug_loads_television_usage_multiplier + Misc Plug Loads: Television Usage Multiplier + Multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + false + false + + + misc_plug_loads_other_annual_kwh + Misc Plug Loads: Other Annual kWh + The annual energy consumption of the other residual plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + kWh/yr + false + false + + + misc_plug_loads_other_frac_sensible + Misc Plug Loads: Other Sensible Fraction + Fraction of other residual plug loads' internal gains that are sensible. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + Frac + false + false + + + misc_plug_loads_other_frac_latent + Misc Plug Loads: Other Latent Fraction + Fraction of other residual plug loads' internal gains that are latent. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + Frac + false + false + + + misc_plug_loads_other_usage_multiplier + Misc Plug Loads: Other Usage Multiplier + Multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + false + false + + + misc_plug_loads_well_pump_present + Misc Plug Loads: Well Pump Present + Whether there is a well pump. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_plug_loads_well_pump_annual_kwh + Misc Plug Loads: Well Pump Annual kWh + The annual energy consumption of the well pump plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + kWh/yr + false + false + + + misc_plug_loads_well_pump_usage_multiplier + Misc Plug Loads: Well Pump Usage Multiplier + Multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + false + false + + + misc_plug_loads_vehicle_present + Misc Plug Loads: Vehicle Present + Whether there is an electric vehicle. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_plug_loads_vehicle_annual_kwh + Misc Plug Loads: Vehicle Annual kWh + The annual energy consumption of the electric vehicle plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + kWh/yr + false + false + + + misc_plug_loads_vehicle_usage_multiplier + Misc Plug Loads: Vehicle Usage Multiplier + Multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + false + false + + + misc_fuel_loads_grill_present + Misc Fuel Loads: Grill Present + Whether there is a fuel loads grill. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_grill_fuel_type + Misc Fuel Loads: Grill Fuel Type + The fuel type of the fuel loads grill. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_grill_annual_therm + Misc Fuel Loads: Grill Annual therm + The annual energy consumption of the fuel loads grill. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + therm/yr + false + false + + + misc_fuel_loads_grill_usage_multiplier + Misc Fuel Loads: Grill Usage Multiplier + Multiplier on the fuel loads grill energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + false + false + + + misc_fuel_loads_lighting_present + Misc Fuel Loads: Lighting Present + Whether there is fuel loads lighting. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_lighting_fuel_type + Misc Fuel Loads: Lighting Fuel Type + The fuel type of the fuel loads lighting. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_lighting_annual_therm + Misc Fuel Loads: Lighting Annual therm + The annual energy consumption of the fuel loads lighting. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>)is used. + Double + therm/yr + false + false + + + misc_fuel_loads_lighting_usage_multiplier + Misc Fuel Loads: Lighting Usage Multiplier + Multiplier on the fuel loads lighting energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + false + false + + + misc_fuel_loads_fireplace_present + Misc Fuel Loads: Fireplace Present + Whether there is fuel loads fireplace. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_fireplace_fuel_type + Misc Fuel Loads: Fireplace Fuel Type + The fuel type of the fuel loads fireplace. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_fireplace_annual_therm + Misc Fuel Loads: Fireplace Annual therm + The annual energy consumption of the fuel loads fireplace. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + therm/yr + false + false + + + misc_fuel_loads_fireplace_frac_sensible + Misc Fuel Loads: Fireplace Sensible Fraction + Fraction of fireplace residual fuel loads' internal gains that are sensible. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + Frac + false + false + + + misc_fuel_loads_fireplace_frac_latent + Misc Fuel Loads: Fireplace Latent Fraction + Fraction of fireplace residual fuel loads' internal gains that are latent. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + Frac + false + false + + + misc_fuel_loads_fireplace_usage_multiplier + Misc Fuel Loads: Fireplace Usage Multiplier + Multiplier on the fuel loads fireplace energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + false + false + + + pool_present + Pool: Present + Whether there is a pool. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pool_pump_annual_kwh + Pool: Pump Annual kWh + The annual energy consumption of the pool pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-pump'>Pool Pump</a>) is used. + Double + kWh/yr + false + false + + + pool_pump_usage_multiplier + Pool: Pump Usage Multiplier + Multiplier on the pool pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-pump'>Pool Pump</a>) is used. + Double + false + false + + + pool_heater_type + Pool: Heater Type + The type of pool heater. Use 'none' if there is no pool heater. + Choice + true + false + none + + + none + none + + + electric resistance + electric resistance + + + gas fired + gas fired + + + heat pump + heat pump + + + + + pool_heater_annual_kwh + Pool: Heater Annual kWh + The annual energy consumption of the electric resistance pool heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + Double + kWh/yr + false + false + + + pool_heater_annual_therm + Pool: Heater Annual therm + The annual energy consumption of the gas fired pool heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + Double + therm/yr + false + false + + + pool_heater_usage_multiplier + Pool: Heater Usage Multiplier + Multiplier on the pool heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + Double + false + false + + + permanent_spa_present + Permanent Spa: Present + Whether there is a permanent spa. + Boolean + true + false + false + + + true + true + + + false + false + + + + + permanent_spa_pump_annual_kwh + Permanent Spa: Pump Annual kWh + The annual energy consumption of the permanent spa pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-pump'>Permanent Spa Pump</a>) is used. + Double + kWh/yr + false + false + + + permanent_spa_pump_usage_multiplier + Permanent Spa: Pump Usage Multiplier + Multiplier on the permanent spa pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-pump'>Permanent Spa Pump</a>) is used. + Double + false + false + + + permanent_spa_heater_type + Permanent Spa: Heater Type + The type of permanent spa heater. Use 'none' if there is no permanent spa heater. + Choice + true + false + none + + + none + none + + + electric resistance + electric resistance + + + gas fired + gas fired + + + heat pump + heat pump + + + + + permanent_spa_heater_annual_kwh + Permanent Spa: Heater Annual kWh + The annual energy consumption of the electric resistance permanent spa heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + Double + kWh/yr + false + false + + + permanent_spa_heater_annual_therm + Permanent Spa: Heater Annual therm + The annual energy consumption of the gas fired permanent spa heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + Double + therm/yr + false + false + + + permanent_spa_heater_usage_multiplier + Permanent Spa: Heater Usage Multiplier + Multiplier on the permanent spa heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + Double + false + false + + + emissions_scenario_names + Emissions: Scenario Names + Names of emissions scenarios. If multiple scenarios, use a comma-separated list. If not provided, no emissions scenarios are calculated. + String + false + false + + + emissions_types + Emissions: Types + Types of emissions (e.g., CO2e, NOx, etc.). If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_electricity_units + Emissions: Electricity Units + Electricity emissions factors units. If multiple scenarios, use a comma-separated list. Only lb/MWh and kg/MWh are allowed. + String + false + false + + + emissions_electricity_values_or_filepaths + Emissions: Electricity Values or File Paths + Electricity emissions factors values, specified as either an annual factor or an absolute/relative path to a file with hourly factors. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_electricity_number_of_header_rows + Emissions: Electricity Files Number of Header Rows + The number of header rows in the electricity emissions factor file. Only applies when an electricity filepath is used. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_electricity_column_numbers + Emissions: Electricity Files Column Numbers + The column number in the electricity emissions factor file. Only applies when an electricity filepath is used. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_fossil_fuel_units + Emissions: Fossil Fuel Units + Fossil fuel emissions factors units. If multiple scenarios, use a comma-separated list. Only lb/MBtu and kg/MBtu are allowed. + String + false + false + + + emissions_natural_gas_values + Emissions: Natural Gas Values + Natural gas emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_propane_values + Emissions: Propane Values + Propane emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_fuel_oil_values + Emissions: Fuel Oil Values + Fuel oil emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_coal_values + Emissions: Coal Values + Coal emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_wood_values + Emissions: Wood Values + Wood emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_wood_pellets_values + Emissions: Wood Pellets Values + Wood pellets emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_scenario_names + Utility Bills: Scenario Names + Names of utility bill scenarios. If multiple scenarios, use a comma-separated list. If not provided, no utility bills scenarios are calculated. + String + false + false + + + utility_bill_electricity_filepaths + Utility Bills: Electricity File Paths + Electricity tariff file specified as an absolute/relative path to a file with utility rate structure information. Tariff file must be formatted to OpenEI API version 7. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_electricity_fixed_charges + Utility Bills: Electricity Fixed Charges + Electricity utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_natural_gas_fixed_charges + Utility Bills: Natural Gas Fixed Charges + Natural gas utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_propane_fixed_charges + Utility Bills: Propane Fixed Charges + Propane utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_fuel_oil_fixed_charges + Utility Bills: Fuel Oil Fixed Charges + Fuel oil utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_coal_fixed_charges + Utility Bills: Coal Fixed Charges + Coal utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_fixed_charges + Utility Bills: Wood Fixed Charges + Wood utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_pellets_fixed_charges + Utility Bills: Wood Pellets Fixed Charges + Wood pellets utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_electricity_marginal_rates + Utility Bills: Electricity Marginal Rates + Electricity utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_natural_gas_marginal_rates + Utility Bills: Natural Gas Marginal Rates + Natural gas utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_propane_marginal_rates + Utility Bills: Propane Marginal Rates + Propane utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_fuel_oil_marginal_rates + Utility Bills: Fuel Oil Marginal Rates + Fuel oil utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_coal_marginal_rates + Utility Bills: Coal Marginal Rates + Coal utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_marginal_rates + Utility Bills: Wood Marginal Rates + Wood utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_pellets_marginal_rates + Utility Bills: Wood Pellets Marginal Rates + Wood pellets utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_compensation_types + Utility Bills: PV Compensation Types + Utility bill PV compensation types. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_net_metering_annual_excess_sellback_rate_types + Utility Bills: PV Net Metering Annual Excess Sellback Rate Types + Utility bill PV net metering annual excess sellback rate types. Only applies if the PV compensation type is 'NetMetering'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_net_metering_annual_excess_sellback_rates + Utility Bills: PV Net Metering Annual Excess Sellback Rates + Utility bill PV net metering annual excess sellback rates. Only applies if the PV compensation type is 'NetMetering' and the PV annual excess sellback rate type is 'User-Specified'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_feed_in_tariff_rates + Utility Bills: PV Feed-In Tariff Rates + Utility bill PV annual full/gross feed-in tariff rates. Only applies if the PV compensation type is 'FeedInTariff'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_monthly_grid_connection_fee_units + Utility Bills: PV Monthly Grid Connection Fee Units + Utility bill PV monthly grid connection fee units. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_monthly_grid_connection_fees + Utility Bills: PV Monthly Grid Connection Fees + Utility bill PV monthly grid connection fees. If multiple scenarios, use a comma-separated list. + String + false + false + + + additional_properties + Additional Properties + Additional properties specified as key-value pairs (i.e., key=value). If multiple additional properties, use a |-separated list. For example, 'LowIncome=false|Remodeled|Description=2-story home in Denver'. These properties will be stored in the HPXML file under /HPXML/SoftwareInfo/extension/AdditionalProperties. + String + false + false + + + combine_like_surfaces + Combine like surfaces? + If true, combines like surfaces to simplify the HPXML file generated. + Boolean + false + false + false + + + true + true + + + false + false + + + + + apply_defaults + Apply Default Values? + If true, applies OS-HPXML default values to the HPXML output file. Setting to true will also force validation of the HPXML output file before applying OS-HPXML default values. + Boolean + false + false + false + + + true + true + + + false + false + + + + + apply_validation + Apply Validation? + If true, validates the HPXML output file. Set to false for faster performance. Note that validation is not needed if the HPXML file will be validated downstream (e.g., via the HPXMLtoOpenStudio measure). + Boolean + false + false + false + + + true + true + + + false + false + + + + + + + + Whole Building.Space Types + + + + Measure Type + ModelMeasure + string + + + + + README.md + md + readme + 65DD9340 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.9.0 + 2.9.0 + + measure.rb + rb + script + 4D94208D + + + geometry.rb + rb + resource + 21677482 + + + test_build_residential_hpxml.rb + rb + test + 40884FE2 + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildResidentialScheduleFile/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildResidentialScheduleFile/measure.xml new file mode 100644 index 00000000..3fe6b1c6 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/BuildResidentialScheduleFile/measure.xml @@ -0,0 +1,937 @@ + + + 3.1 + build_residential_schedule_file + f770b2db-1a9f-4e99-99a7-7f3161a594b1 + 406f0554-ab0a-4bd1-a3c3-9c88a80cc4a8 + 2024-05-03T22:58:10Z + 03F02484 + BuildResidentialScheduleFile + Schedule File Builder + Builds a residential schedule file. + Generates a CSV of schedules at the specified file path, and inserts the CSV schedule file path into the output HPXML file (or overwrites it if one already exists). Stochastic schedules are generated using time-inhomogeneous Markov chains derived from American Time Use Survey data, and supplemented with sampling duration and power level from NEEA RBSA data as well as DHW draw duration and flow rate from Aquacraft/AWWA data. + + + hpxml_path + HPXML File Path + Absolute/relative path of the HPXML file. + String + true + false + + + schedules_column_names + Schedules: Column Names + A comma-separated list of the column names to generate. If not provided, defaults to all columns. Possible column names are: occupants, lighting_interior, lighting_garage, cooking_range, dishwasher, clothes_washer, clothes_dryer, ceiling_fan, plug_loads_other, plug_loads_tv, hot_water_dishwasher, hot_water_clothes_washer, hot_water_fixtures. + String + false + false + + + schedules_random_seed + Schedules: Random Seed + This numeric field is the seed for the random number generator. + Integer + # + false + false + + + output_csv_path + Schedules: Output CSV Path + Absolute/relative path of the CSV file containing occupancy schedules. Relative paths are relative to the HPXML output path. + String + true + false + + + hpxml_output_path + HPXML Output File Path + Absolute/relative output path of the HPXML file. This HPXML file will include the output CSV path. + String + true + false + + + append_output + Append Output? + If true and the output CSV file already exists, appends columns to the file rather than overwriting it. The existing output CSV file must have the same number of rows (i.e., timeseries frequency) as the new columns being appended. + Boolean + false + false + false + + + true + true + + + false + false + + + + + debug + Debug Mode? + If true, writes extra column(s) for informational purposes. + Boolean + false + false + false + + + true + true + + + false + false + + + + + building_id + BuildingID + The ID of the HPXML Building. Only required if there are multiple Building elements in the HPXML file. Use 'ALL' to apply schedules to all the HPXML Buildings (dwelling units) of a multifamily building. + String + false + false + + + + + + Whole Building.Whole Building Schedules + + + + Measure Type + ModelMeasure + string + + + + + README.md + md + readme + 5852D2EF + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.2.0 + 3.2.0 + + measure.rb + rb + script + C8870249 + + + README.md + md + resource + A8A141BE + + + clothes_dryer_consumption_dist.csv + csv + resource + C11EB889 + + + clothes_dryer_duration_dist.csv + csv + resource + E26C2515 + + + clothes_washer_consumption_dist.csv + csv + resource + B82EBBFB + + + clothes_washer_duration_dist.csv + csv + resource + 7F0BFEDA + + + constants.rb + rb + resource + 49CEA4F9 + + + cooking_consumption_dist.csv + csv + resource + 1C8AAA92 + + + cooking_duration_dist.csv + csv + resource + 66C47C80 + + + dishwasher_consumption_dist.csv + csv + resource + 50A1CFBC + + + dishwasher_duration_dist.csv + csv + resource + A7E76021 + + + hot_water_clothes_washer_cluster_size_probability.csv + csv + resource + 2401A66F + + + hot_water_clothes_washer_event_duration_probability.csv + csv + resource + 9D369386 + + + hot_water_dishwasher_cluster_size_probability.csv + csv + resource + 93DCD6FD + + + hot_water_dishwasher_event_duration_probability.csv + csv + resource + 419E598E + + + schedules.rb + rb + resource + B5E26248 + + + schedules_config.md + md + resource + 916BF4C3 + + + shower_cluster_size_probability.csv + csv + resource + DBE185CA + + + shower_event_duration_probability.csv + csv + resource + F8A366F2 + + + weekday/duration_probability/cluster_0_cooking_evening_duration_probability.csv + csv + resource + 4986DD68 + + + weekday/duration_probability/cluster_0_cooking_midday_duration_probability.csv + csv + resource + FBF76CFC + + + weekday/duration_probability/cluster_0_cooking_morning_duration_probability.csv + csv + resource + C54497C3 + + + weekday/duration_probability/cluster_0_dishwashing_evening_duration_probability.csv + csv + resource + 7C95D22E + + + weekday/duration_probability/cluster_0_dishwashing_midday_duration_probability.csv + csv + resource + 05C8905F + + + weekday/duration_probability/cluster_0_dishwashing_morning_duration_probability.csv + csv + resource + DDD537E9 + + + weekday/duration_probability/cluster_0_laundry_evening_duration_probability.csv + csv + resource + C3A5357C + + + weekday/duration_probability/cluster_0_laundry_midday_duration_probability.csv + csv + resource + CA0C9069 + + + weekday/duration_probability/cluster_0_laundry_morning_duration_probability.csv + csv + resource + 8CDCA30E + + + weekday/duration_probability/cluster_0_shower_evening_duration_probability.csv + csv + resource + 54EB60DE + + + weekday/duration_probability/cluster_0_shower_midday_duration_probability.csv + csv + resource + 1AD7139F + + + weekday/duration_probability/cluster_0_shower_morning_duration_probability.csv + csv + resource + 8300EB00 + + + weekday/duration_probability/cluster_1_cooking_evening_duration_probability.csv + csv + resource + B817132C + + + weekday/duration_probability/cluster_1_cooking_midday_duration_probability.csv + csv + resource + D45A9584 + + + weekday/duration_probability/cluster_1_cooking_morning_duration_probability.csv + csv + resource + 407A312C + + + weekday/duration_probability/cluster_1_dishwashing_evening_duration_probability.csv + csv + resource + 652AD618 + + + weekday/duration_probability/cluster_1_dishwashing_midday_duration_probability.csv + csv + resource + 018B32BA + + + weekday/duration_probability/cluster_1_dishwashing_morning_duration_probability.csv + csv + resource + F3A0A48E + + + weekday/duration_probability/cluster_1_laundry_evening_duration_probability.csv + csv + resource + 56010915 + + + weekday/duration_probability/cluster_1_laundry_midday_duration_probability.csv + csv + resource + 9843CD4C + + + weekday/duration_probability/cluster_1_laundry_morning_duration_probability.csv + csv + resource + 746D40E8 + + + weekday/duration_probability/cluster_1_shower_evening_duration_probability.csv + csv + resource + AE9ED85B + + + weekday/duration_probability/cluster_1_shower_midday_duration_probability.csv + csv + resource + D4FBDE56 + + + weekday/duration_probability/cluster_1_shower_morning_duration_probability.csv + csv + resource + D897D4A1 + + + weekday/duration_probability/cluster_2_cooking_evening_duration_probability.csv + csv + resource + 8E88C92D + + + weekday/duration_probability/cluster_2_cooking_midday_duration_probability.csv + csv + resource + 2244D290 + + + weekday/duration_probability/cluster_2_cooking_morning_duration_probability.csv + csv + resource + 0E99EBF7 + + + weekday/duration_probability/cluster_2_dishwashing_evening_duration_probability.csv + csv + resource + 379A086A + + + weekday/duration_probability/cluster_2_dishwashing_midday_duration_probability.csv + csv + resource + F9891815 + + + weekday/duration_probability/cluster_2_dishwashing_morning_duration_probability.csv + csv + resource + 23E18003 + + + weekday/duration_probability/cluster_2_laundry_evening_duration_probability.csv + csv + resource + B250D83A + + + weekday/duration_probability/cluster_2_laundry_midday_duration_probability.csv + csv + resource + ACB5BCD2 + + + weekday/duration_probability/cluster_2_laundry_morning_duration_probability.csv + csv + resource + 26CFB684 + + + weekday/duration_probability/cluster_2_shower_evening_duration_probability.csv + csv + resource + 1CCBCB69 + + + weekday/duration_probability/cluster_2_shower_midday_duration_probability.csv + csv + resource + 41C774DB + + + weekday/duration_probability/cluster_2_shower_morning_duration_probability.csv + csv + resource + 84737EBC + + + weekday/duration_probability/cluster_3_cooking_evening_duration_probability.csv + csv + resource + 6F2B7686 + + + weekday/duration_probability/cluster_3_cooking_midday_duration_probability.csv + csv + resource + 34A7D406 + + + weekday/duration_probability/cluster_3_cooking_morning_duration_probability.csv + csv + resource + 615CD1D7 + + + weekday/duration_probability/cluster_3_dishwashing_evening_duration_probability.csv + csv + resource + DACA45E5 + + + weekday/duration_probability/cluster_3_dishwashing_midday_duration_probability.csv + csv + resource + D119B4D0 + + + weekday/duration_probability/cluster_3_dishwashing_morning_duration_probability.csv + csv + resource + 120B9428 + + + weekday/duration_probability/cluster_3_laundry_evening_duration_probability.csv + csv + resource + 267E8883 + + + weekday/duration_probability/cluster_3_laundry_midday_duration_probability.csv + csv + resource + C3A5DA8B + + + weekday/duration_probability/cluster_3_laundry_morning_duration_probability.csv + csv + resource + D614AB97 + + + weekday/duration_probability/cluster_3_shower_evening_duration_probability.csv + csv + resource + 7FFBFD68 + + + weekday/duration_probability/cluster_3_shower_midday_duration_probability.csv + csv + resource + 8C62CEDB + + + weekday/duration_probability/cluster_3_shower_morning_duration_probability.csv + csv + resource + E3A10BE2 + + + weekday/mkv_chain_initial_prob_cluster_0.csv + csv + resource + 0AC88E84 + + + weekday/mkv_chain_initial_prob_cluster_1.csv + csv + resource + AE298C53 + + + weekday/mkv_chain_initial_prob_cluster_2.csv + csv + resource + 42FB1588 + + + weekday/mkv_chain_initial_prob_cluster_3.csv + csv + resource + 5AAC2E9E + + + weekday/mkv_chain_transition_prob_cluster_0.csv + csv + resource + 1BCCAC5C + + + weekday/mkv_chain_transition_prob_cluster_1.csv + csv + resource + BBB50EE1 + + + weekday/mkv_chain_transition_prob_cluster_2.csv + csv + resource + 7DBA15B4 + + + weekday/mkv_chain_transition_prob_cluster_3.csv + csv + resource + CAC5CB5F + + + weekday/state_and_monthly_schedule_shift.csv + csv + resource + FFDA057E + + + weekend/duration_probability/cluster_0_cooking_evening_duration_probability.csv + csv + resource + F6CB80B1 + + + weekend/duration_probability/cluster_0_cooking_midday_duration_probability.csv + csv + resource + 3CFFA67D + + + weekend/duration_probability/cluster_0_cooking_morning_duration_probability.csv + csv + resource + 44F4FB7B + + + weekend/duration_probability/cluster_0_dishwashing_evening_duration_probability.csv + csv + resource + AB0BE66C + + + weekend/duration_probability/cluster_0_dishwashing_midday_duration_probability.csv + csv + resource + 9120E2FD + + + weekend/duration_probability/cluster_0_dishwashing_morning_duration_probability.csv + csv + resource + A4EB422A + + + weekend/duration_probability/cluster_0_laundry_evening_duration_probability.csv + csv + resource + 8ABEC58D + + + weekend/duration_probability/cluster_0_laundry_midday_duration_probability.csv + csv + resource + 80C3640C + + + weekend/duration_probability/cluster_0_laundry_morning_duration_probability.csv + csv + resource + 6DA7C30F + + + weekend/duration_probability/cluster_0_shower_evening_duration_probability.csv + csv + resource + ED525953 + + + weekend/duration_probability/cluster_0_shower_midday_duration_probability.csv + csv + resource + 332088E2 + + + weekend/duration_probability/cluster_0_shower_morning_duration_probability.csv + csv + resource + 86F7DFDE + + + weekend/duration_probability/cluster_1_cooking_evening_duration_probability.csv + csv + resource + 2209A5BF + + + weekend/duration_probability/cluster_1_cooking_midday_duration_probability.csv + csv + resource + 768859FF + + + weekend/duration_probability/cluster_1_cooking_morning_duration_probability.csv + csv + resource + 2927CF95 + + + weekend/duration_probability/cluster_1_dishwashing_evening_duration_probability.csv + csv + resource + B304EB88 + + + weekend/duration_probability/cluster_1_dishwashing_midday_duration_probability.csv + csv + resource + 5E7982A4 + + + weekend/duration_probability/cluster_1_dishwashing_morning_duration_probability.csv + csv + resource + 58BCE2B4 + + + weekend/duration_probability/cluster_1_laundry_evening_duration_probability.csv + csv + resource + 9FEF76FF + + + weekend/duration_probability/cluster_1_laundry_midday_duration_probability.csv + csv + resource + 63F777DC + + + weekend/duration_probability/cluster_1_laundry_morning_duration_probability.csv + csv + resource + E731D060 + + + weekend/duration_probability/cluster_1_shower_evening_duration_probability.csv + csv + resource + 3E947E31 + + + weekend/duration_probability/cluster_1_shower_midday_duration_probability.csv + csv + resource + FE78DD0B + + + weekend/duration_probability/cluster_1_shower_morning_duration_probability.csv + csv + resource + C6D1F192 + + + weekend/duration_probability/cluster_2_cooking_evening_duration_probability.csv + csv + resource + 26C904EC + + + weekend/duration_probability/cluster_2_cooking_midday_duration_probability.csv + csv + resource + 51CF51D3 + + + weekend/duration_probability/cluster_2_cooking_morning_duration_probability.csv + csv + resource + 34855051 + + + weekend/duration_probability/cluster_2_dishwashing_evening_duration_probability.csv + csv + resource + 479CD610 + + + weekend/duration_probability/cluster_2_dishwashing_midday_duration_probability.csv + csv + resource + 29AAEE1E + + + weekend/duration_probability/cluster_2_dishwashing_morning_duration_probability.csv + csv + resource + F3A11DE1 + + + weekend/duration_probability/cluster_2_laundry_evening_duration_probability.csv + csv + resource + EA68360B + + + weekend/duration_probability/cluster_2_laundry_midday_duration_probability.csv + csv + resource + 78DC5051 + + + weekend/duration_probability/cluster_2_laundry_morning_duration_probability.csv + csv + resource + 1D1FB07E + + + weekend/duration_probability/cluster_2_shower_evening_duration_probability.csv + csv + resource + 829DBC41 + + + weekend/duration_probability/cluster_2_shower_midday_duration_probability.csv + csv + resource + E97FEBA7 + + + weekend/duration_probability/cluster_2_shower_morning_duration_probability.csv + csv + resource + 2DDD3D0B + + + weekend/duration_probability/cluster_3_cooking_evening_duration_probability.csv + csv + resource + EC70F74E + + + weekend/duration_probability/cluster_3_cooking_midday_duration_probability.csv + csv + resource + 7C8976F3 + + + weekend/duration_probability/cluster_3_cooking_morning_duration_probability.csv + csv + resource + 5825338A + + + weekend/duration_probability/cluster_3_dishwashing_evening_duration_probability.csv + csv + resource + 37B5AF9C + + + weekend/duration_probability/cluster_3_dishwashing_midday_duration_probability.csv + csv + resource + EDD63C21 + + + weekend/duration_probability/cluster_3_dishwashing_morning_duration_probability.csv + csv + resource + 99F23B28 + + + weekend/duration_probability/cluster_3_laundry_evening_duration_probability.csv + csv + resource + C3963FF9 + + + weekend/duration_probability/cluster_3_laundry_midday_duration_probability.csv + csv + resource + 0B329C66 + + + weekend/duration_probability/cluster_3_laundry_morning_duration_probability.csv + csv + resource + 1761FEF6 + + + weekend/duration_probability/cluster_3_shower_evening_duration_probability.csv + csv + resource + 35AD8E7F + + + weekend/duration_probability/cluster_3_shower_midday_duration_probability.csv + csv + resource + DAF2049F + + + weekend/duration_probability/cluster_3_shower_morning_duration_probability.csv + csv + resource + C2CA1416 + + + weekend/mkv_chain_initial_prob_cluster_0.csv + csv + resource + 3F16AE89 + + + weekend/mkv_chain_initial_prob_cluster_1.csv + csv + resource + 49FEAE44 + + + weekend/mkv_chain_initial_prob_cluster_2.csv + csv + resource + B48A47D6 + + + weekend/mkv_chain_initial_prob_cluster_3.csv + csv + resource + B47E790B + + + weekend/mkv_chain_transition_prob_cluster_0.csv + csv + resource + E4089705 + + + weekend/mkv_chain_transition_prob_cluster_1.csv + csv + resource + 25700CD2 + + + weekend/mkv_chain_transition_prob_cluster_2.csv + csv + resource + 032B846A + + + weekend/mkv_chain_transition_prob_cluster_3.csv + csv + resource + F0F0F886 + + + weekend/state_and_monthly_schedule_shift.csv + csv + resource + 5FC694CF + + + test_build_residential_schedule_file.rb + rb + test + 8B111B4B + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/HPXMLtoOpenStudio/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/HPXMLtoOpenStudio/measure.xml new file mode 100644 index 00000000..fad5806b --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/HPXMLtoOpenStudio/measure.xml @@ -0,0 +1,735 @@ + + + 3.1 + hpxm_lto_openstudio + b1543b30-9465-45ff-ba04-1d1f85e763bc + a3010ed3-bfec-4d89-b425-0ec627863167 + 2024-05-18T15:40:55Z + D8922A73 + HPXMLtoOpenStudio + HPXML to OpenStudio Translator + Translates HPXML file to OpenStudio Model + TODO + + + hpxml_path + HPXML File Path + Absolute/relative path of the HPXML file. + String + true + false + + + output_dir + Directory for Output Files + Absolute/relative path for the output files directory. + String + true + false + + + output_format + Output Format + The file format of the HVAC design load details output. + Choice + false + false + csv + + + csv + csv + + + json + json + + + msgpack + msgpack + + + + + annual_output_file_name + Annual Output File Name + The name of the file w/ HVAC design loads and capacities. If not provided, defaults to 'results_annual.csv' (or 'results_annual.json' or 'results_annual.msgpack'). + String + false + false + results_annual + + + design_load_details_output_file_name + Design Load Details Output File Name + The name of the file w/ additional HVAC design load details. If not provided, defaults to 'results_design_load_details.csv' (or 'results_design_load_details.json' or 'results_design_load_details.msgpack'). + String + false + false + results_design_load_details + + + add_component_loads + Add component loads? + If true, adds the calculation of heating/cooling component loads (not enabled by default for faster performance). + Boolean + false + false + false + + + true + true + + + false + false + + + + + building_id + BuildingID + The ID of the HPXML Building. Only required if the HPXML has multiple Building elements and WholeSFAorMFBuildingSimulation is not true. + String + false + false + + + skip_validation + Skip Validation? + If true, bypasses HPXML input validation for faster performance. WARNING: This should only be used if the supplied HPXML file has already been validated against the Schema & Schematron documents. + Boolean + false + false + false + + + true + true + + + false + false + + + + + debug + Debug Mode? + If true: 1) Writes in.osm file, 2) Generates additional log output, and 3) Creates all EnergyPlus output files. + Boolean + false + false + false + + + true + true + + + false + false + + + + + + + + Whole Building.Space Types + + + + Measure Type + ModelMeasure + string + + + Intended Software Tool + Apply Measure Now + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + 394CB1D5 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.3.0 + 3.3.0 + + measure.rb + rb + script + 4D2BAEDD + + + airflow.rb + rb + resource + CC83F731 + + + battery.rb + rb + resource + E8ED081B + + + constants.rb + rb + resource + 7B2EC023 + + + constructions.rb + rb + resource + 1F9097D1 + + + data/Xing_okstate_0664D_13659_Table_A-3.csv + csv + resource + 50B7055C + + + data/ashrae_622_wsf.csv + csv + resource + 308F75BA + + + data/cambium/LRMER_95DecarbBy2035.csv + csv + resource + 5E60A9EE + + + data/cambium/LRMER_95DecarbBy2050.csv + csv + resource + 01B9A892 + + + data/cambium/LRMER_HighRECosts.csv + csv + resource + A46DE564 + + + data/cambium/LRMER_LowRECosts.csv + csv + resource + 58B8E01E + + + data/cambium/LRMER_MidCase.csv + csv + resource + 4C7D519B + + + data/cambium/README.md + md + resource + FC171B98 + + + data/climate_zones.csv + csv + resource + 63C6A1E2 + + + data/g_functions/C_configurations_5m_v1.0.json + json + resource + E97DCCDD + + + data/g_functions/L_configurations_5m_v1.0.json + json + resource + 6B2B3787 + + + data/g_functions/LopU_configurations_5m_v1.0.json + json + resource + B13FA813 + + + data/g_functions/Open_configurations_5m_v1.0.json + json + resource + FF25A024 + + + data/g_functions/README.md + md + resource + 48D1301C + + + data/g_functions/U_configurations_5m_v1.0.json + json + resource + B5BEF270 + + + data/g_functions/rectangle_5m_v1.0.json + json + resource + 25FFB6A8 + + + data/g_functions/util.rb + rb + resource + 2BEF07FA + + + data/unavailable_periods.csv + csv + resource + 73BFECE2 + + + energyplus.rb + rb + resource + 8DB21849 + + + generator.rb + rb + resource + C0DD8C33 + + + geometry.rb + rb + resource + D9A7A70C + + + hotwater_appliances.rb + rb + resource + 063242D8 + + + hpxml.rb + rb + resource + 65FDCD3D + + + hpxml_defaults.rb + rb + resource + DCEA4986 + + + hpxml_schema/HPXML.xsd + xsd + resource + DE05BDEC + + + hpxml_schema/README.md + md + resource + D05DFB8A + + + hpxml_schematron/EPvalidator.xml + xml + resource + 960E3924 + + + hpxml_schematron/iso-schematron.xsd + xsd + resource + 2785B05C + + + hvac.rb + rb + resource + 0370F183 + + + hvac_sizing.rb + rb + resource + 8526074F + + + lighting.rb + rb + resource + 720F24C6 + + + location.rb + rb + resource + AC8FD8C6 + + + materials.rb + rb + resource + 74EB5B1D + + + meta_measure.rb + rb + resource + 24807304 + + + minitest_helper.rb + rb + resource + 923B05E5 + + + misc_loads.rb + rb + resource + 8BDAA188 + + + output.rb + rb + resource + 4E4BE5F9 + + + psychrometrics.rb + rb + resource + B81E536D + + + pv.rb + rb + resource + B4742C47 + + + schedule_files/battery.csv + csv + resource + C1350909 + + + schedule_files/hvac-variable-system-maximum-power-ratios-varied.csv + csv + resource + B93B3701 + + + schedule_files/occupancy-non-stochastic.csv + csv + resource + A54803E1 + + + schedule_files/occupancy-stochastic-10-mins.csv + csv + resource + F88479B3 + + + schedule_files/occupancy-stochastic-30-mins.csv + csv + resource + F88479B3 + + + schedule_files/occupancy-stochastic.csv + csv + resource + B0187567 + + + schedule_files/occupancy-stochastic_2.csv + csv + resource + 86E85543 + + + schedule_files/occupancy-stochastic_3.csv + csv + resource + 902A544E + + + schedule_files/occupancy-stochastic_4.csv + csv + resource + 3A0C7E92 + + + schedule_files/occupancy-stochastic_5.csv + csv + resource + F0FB0913 + + + schedule_files/occupancy-stochastic_6.csv + csv + resource + B071AE65 + + + schedule_files/setpoints-10-mins.csv + csv + resource + BC2195A6 + + + schedule_files/setpoints-cooling-only.csv + csv + resource + 7465D8DD + + + schedule_files/setpoints-daily-schedules.csv + csv + resource + A60258DE + + + schedule_files/setpoints-daily-setbacks.csv + csv + resource + 74292B8C + + + schedule_files/setpoints-heating-only.csv + csv + resource + BD935921 + + + schedule_files/setpoints.csv + csv + resource + 706A63BC + + + schedule_files/water-heater-operating-modes.csv + csv + resource + 86F45903 + + + schedule_files/water-heater-setpoints-10-mins.csv + csv + resource + F9C90051 + + + schedule_files/water-heater-setpoints.csv + csv + resource + 2DFF87CD + + + schedules.rb + rb + resource + 42F9AD9E + + + simcontrols.rb + rb + resource + DA4D108D + + + unit_conversions.rb + rb + resource + 61BEEB21 + + + util.rb + rb + resource + 79EA8844 + + + utility_bills.rb + rb + resource + 410C185C + + + version.rb + rb + resource + 02782C5B + + + waterheater.rb + rb + resource + E1F1BEAF + + + weather.rb + rb + resource + 29B9C210 + + + xmlhelper.rb + rb + resource + 17D30902 + + + xmlvalidator.rb + rb + resource + 87937B84 + + + test_airflow.rb + rb + test + DDCAE919 + + + test_battery.rb + rb + test + 06598B29 + + + test_defaults.rb + rb + test + A84FE910 + + + test_enclosure.rb + rb + test + 68F1127B + + + test_generator.rb + rb + test + C4F6CF9B + + + test_hotwater_appliance.rb + rb + test + E3A99BA1 + + + test_hvac.rb + rb + test + 8CDA3FA3 + + + test_hvac_sizing.rb + rb + test + BA43A919 + + + test_lighting.rb + rb + test + A15B8208 + + + test_location.rb + rb + test + 663B10FB + + + test_miscloads.rb + rb + test + 0135301B + + + test_pv.rb + rb + test + DB1DEFCF + + + test_schedules.rb + rb + test + C6CCF641 + + + test_simcontrols.rb + rb + test + 211EB384 + + + test_validation.rb + rb + test + 81FC99DF + + + test_water_heater.rb + rb + test + 485EE23B + + + test_weather.rb + rb + test + 156AAC98 + + + util.rb + rb + test + 71ED3EE3 + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/QOIReport/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/QOIReport/measure.xml new file mode 100644 index 00000000..06ec3dea --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/QOIReport/measure.xml @@ -0,0 +1,63 @@ + + + 3.1 + qoi_report + be0bfc7f-25c6-435a-9acd-2f5fa8ac817d + 7f664618-267c-40c9-9245-03246f5e633c + 2023-11-28T23:34:12Z + 15BF4E57 + QOIReport + QOI Report + Reports uncertainty quantification quantities of interest. + TODO + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + + + README.md + md + readme + A65EDE50 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.9.0 + 2.9.0 + + measure.rb + rb + script + 7CE1484F + + + constants.rb + rb + resource + 4A01E6CA + + + qoi_report_test.rb + rb + test + CCE950C4 + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml new file mode 100644 index 00000000..f8f0ed72 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml @@ -0,0 +1,91 @@ + + + 3.1 + report_hpxml_output + 9561a0d7-60ad-48c5-8337-2461df044d80 + 222e94cd-c586-4745-8cde-55e933a00392 + 2024-01-26T00:28:04Z + 9BF1E6AC + ReportHPXMLOutput + HPXML Output Report + Reports HPXML outputs for residential HPXML-based models. + Parses the HPXML file and reports pre-defined outputs. + + + output_format + Output Format + The file format of the annual (and timeseries, if requested) outputs. + Choice + false + false + csv + + + csv + csv + + + json + json + + + msgpack + msgpack + + + + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + 0BB92B1A + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.2.0 + 3.2.0 + + measure.rb + rb + script + BA1983C8 + + + constants.rb + rb + resource + 64289999 + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportSimulationOutput/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportSimulationOutput/measure.xml new file mode 100644 index 00000000..4f6cc261 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportSimulationOutput/measure.xml @@ -0,0 +1,1941 @@ + + + 3.1 + report_simulation_output + df9d170c-c21a-4130-866d-0d46b06073fd + ed19a212-e363-4767-a721-201bc1f56936 + 2024-05-17T20:22:37Z + 9BF1E6AC + ReportSimulationOutput + HPXML Simulation Output Report + Reports simulation outputs for residential HPXML-based models. + Processes EnergyPlus simulation outputs in order to generate an annual output file and an optional timeseries output file. + + + output_format + Output Format + The file format of the annual (and timeseries, if requested) outputs. If 'csv_dview' is selected, the timeseries CSV file will include header rows that facilitate opening the file in the DView application. + Choice + false + false + csv + + + csv + csv + + + json + json + + + msgpack + msgpack + + + csv_dview + csv_dview + + + + + include_annual_total_consumptions + Generate Annual Output: Total Consumptions + Generates annual energy consumptions for the total building. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_fuel_consumptions + Generate Annual Output: Fuel Consumptions + Generates annual energy consumptions for each fuel type. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_end_use_consumptions + Generate Annual Output: End Use Consumptions + Generates annual energy consumptions for each end use. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_system_use_consumptions + Generate Annual Output: System Use Consumptions + Generates annual energy consumptions for each end use of each HVAC and water heating system. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_emissions + Generate Annual Output: Emissions + Generates annual emissions. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_emission_fuels + Generate Annual Output: Emission Fuel Uses + Generates annual emissions for each fuel type. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_emission_end_uses + Generate Annual Output: Emission End Uses + Generates annual emissions for each end use. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_total_loads + Generate Annual Output: Total Loads + Generates annual heating, cooling, and hot water loads. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_unmet_hours + Generate Annual Output: Unmet Hours + Generates annual unmet hours for heating and cooling. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_peak_fuels + Generate Annual Output: Peak Fuels + Generates annual electricity peaks for summer/winter. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_peak_loads + Generate Annual Output: Peak Loads + Generates annual peak loads for heating/cooling. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_component_loads + Generate Annual Output: Component Loads + Generates annual heating and cooling loads disaggregated by component type. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_hot_water_uses + Generate Annual Output: Hot Water Uses + Generates annual hot water usages for each end use. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_hvac_summary + Generate Annual Output: HVAC Summary + Generates HVAC capacities, design temperatures, and design loads. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_resilience + Generate Annual Output: Resilience + Generates annual resilience outputs. + Boolean + false + false + true + + + true + true + + + false + false + + + + + timeseries_frequency + Timeseries Reporting Frequency + The frequency at which to report timeseries output data. Using 'none' will disable timeseries outputs. + Choice + false + false + none + + + none + none + + + timestep + timestep + + + hourly + hourly + + + daily + daily + + + monthly + monthly + + + + + include_timeseries_total_consumptions + Generate Timeseries Output: Total Consumptions + Generates timeseries energy consumptions for the total building. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_fuel_consumptions + Generate Timeseries Output: Fuel Consumptions + Generates timeseries energy consumptions for each fuel type. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_end_use_consumptions + Generate Timeseries Output: End Use Consumptions + Generates timeseries energy consumptions for each end use. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_system_use_consumptions + Generate Timeseries Output: System Use Consumptions + Generates timeseries energy consumptions for each end use of each HVAC and water heating system. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_emissions + Generate Timeseries Output: Emissions + Generates timeseries emissions. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_emission_fuels + Generate Timeseries Output: Emission Fuel Uses + Generates timeseries emissions for each fuel type. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_emission_end_uses + Generate Timeseries Output: Emission End Uses + Generates timeseries emissions for each end use. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_hot_water_uses + Generate Timeseries Output: Hot Water Uses + Generates timeseries hot water usages for each end use. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_total_loads + Generate Timeseries Output: Total Loads + Generates timeseries heating, cooling, and hot water loads. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_component_loads + Generate Timeseries Output: Component Loads + Generates timeseries heating and cooling loads disaggregated by component type. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_unmet_hours + Generate Timeseries Output: Unmet Hours + Generates timeseries unmet hours for heating and cooling. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_zone_temperatures + Generate Timeseries Output: Zone Temperatures + Generates timeseries temperatures for each thermal zone. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_airflows + Generate Timeseries Output: Airflows + Generates timeseries airflows. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_weather + Generate Timeseries Output: Weather + Generates timeseries weather data. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_resilience + Generate Timeseries Output: Resilience + Generates timeseries resilience outputs. + Boolean + false + false + false + + + true + true + + + false + false + + + + + timeseries_timestamp_convention + Generate Timeseries Output: Timestamp Convention + Determines whether timeseries timestamps use the start-of-period or end-of-period convention. Doesn't apply if the output format is 'csv_dview'. + Choice + false + false + start + + + start + start + + + end + end + + + + + timeseries_num_decimal_places + Generate Timeseries Output: Number of Decimal Places + Allows overriding the default number of decimal places for timeseries output. Does not apply if output format is msgpack, where no rounding is performed because there is no file size penalty to storing full precision. + Integer + false + false + + + add_timeseries_dst_column + Generate Timeseries Output: Add TimeDST Column + Optionally add, in addition to the default local standard Time column, a local clock TimeDST column. Requires that daylight saving time is enabled. + Boolean + false + false + false + + + true + true + + + false + false + + + + + add_timeseries_utc_column + Generate Timeseries Output: Add TimeUTC Column + Optionally add, in addition to the default local standard Time column, a local clock TimeUTC column. If the time zone UTC offset is not provided in the HPXML file, the time zone in the EPW header will be used. + Boolean + false + false + false + + + true + true + + + false + false + + + + + user_output_variables + Generate Timeseries Output: EnergyPlus Output Variables + Optionally generates timeseries EnergyPlus output variables. If multiple output variables are desired, use a comma-separated list. Do not include key values; by default all key values will be requested. Example: "Zone People Occupant Count, Zone People Total Heating Energy" + String + false + false + + + annual_output_file_name + Annual Output File Name + If not provided, defaults to 'results_annual.csv' (or 'results_annual.json' or 'results_annual.msgpack'). + String + false + false + + + timeseries_output_file_name + Timeseries Output File Name + If not provided, defaults to 'results_timeseries.csv' (or 'results_timeseries.json' or 'results_timeseries.msgpack'). + String + false + false + + + + + energy_use_total_m_btu + energy_use_total_m_btu + energy_use_total_m_btu + Double + false + + + energy_use_net_m_btu + energy_use_net_m_btu + energy_use_net_m_btu + Double + false + + + fuel_use_electricity_total_m_btu + fuel_use_electricity_total_m_btu + fuel_use_electricity_total_m_btu + Double + false + + + fuel_use_natural_gas_total_m_btu + fuel_use_natural_gas_total_m_btu + fuel_use_natural_gas_total_m_btu + Double + false + + + fuel_use_fuel_oil_total_m_btu + fuel_use_fuel_oil_total_m_btu + fuel_use_fuel_oil_total_m_btu + Double + false + + + fuel_use_propane_total_m_btu + fuel_use_propane_total_m_btu + fuel_use_propane_total_m_btu + Double + false + + + fuel_use_wood_cord_total_m_btu + fuel_use_wood_cord_total_m_btu + fuel_use_wood_cord_total_m_btu + Double + false + + + fuel_use_wood_pellets_total_m_btu + fuel_use_wood_pellets_total_m_btu + fuel_use_wood_pellets_total_m_btu + Double + false + + + fuel_use_coal_total_m_btu + fuel_use_coal_total_m_btu + fuel_use_coal_total_m_btu + Double + false + + + end_use_electricity_heating_m_btu + end_use_electricity_heating_m_btu + end_use_electricity_heating_m_btu + Double + false + + + end_use_electricity_heating_fans_pumps_m_btu + end_use_electricity_heating_fans_pumps_m_btu + end_use_electricity_heating_fans_pumps_m_btu + Double + false + + + end_use_electricity_heating_heat_pump_backup_m_btu + end_use_electricity_heating_heat_pump_backup_m_btu + end_use_electricity_heating_heat_pump_backup_m_btu + Double + false + + + end_use_electricity_heating_heat_pump_backup_fans_pumps_m_btu + end_use_electricity_heating_heat_pump_backup_fans_pumps_m_btu + end_use_electricity_heating_heat_pump_backup_fans_pumps_m_btu + Double + false + + + end_use_electricity_cooling_m_btu + end_use_electricity_cooling_m_btu + end_use_electricity_cooling_m_btu + Double + false + + + end_use_electricity_cooling_fans_pumps_m_btu + end_use_electricity_cooling_fans_pumps_m_btu + end_use_electricity_cooling_fans_pumps_m_btu + Double + false + + + end_use_electricity_hot_water_m_btu + end_use_electricity_hot_water_m_btu + end_use_electricity_hot_water_m_btu + Double + false + + + end_use_electricity_hot_water_recirc_pump_m_btu + end_use_electricity_hot_water_recirc_pump_m_btu + end_use_electricity_hot_water_recirc_pump_m_btu + Double + false + + + end_use_electricity_hot_water_solar_thermal_pump_m_btu + end_use_electricity_hot_water_solar_thermal_pump_m_btu + end_use_electricity_hot_water_solar_thermal_pump_m_btu + Double + false + + + end_use_electricity_lighting_interior_m_btu + end_use_electricity_lighting_interior_m_btu + end_use_electricity_lighting_interior_m_btu + Double + false + + + end_use_electricity_lighting_garage_m_btu + end_use_electricity_lighting_garage_m_btu + end_use_electricity_lighting_garage_m_btu + Double + false + + + end_use_electricity_lighting_exterior_m_btu + end_use_electricity_lighting_exterior_m_btu + end_use_electricity_lighting_exterior_m_btu + Double + false + + + end_use_electricity_mech_vent_m_btu + end_use_electricity_mech_vent_m_btu + end_use_electricity_mech_vent_m_btu + Double + false + + + end_use_electricity_mech_vent_preheating_m_btu + end_use_electricity_mech_vent_preheating_m_btu + end_use_electricity_mech_vent_preheating_m_btu + Double + false + + + end_use_electricity_mech_vent_precooling_m_btu + end_use_electricity_mech_vent_precooling_m_btu + end_use_electricity_mech_vent_precooling_m_btu + Double + false + + + end_use_electricity_whole_house_fan_m_btu + end_use_electricity_whole_house_fan_m_btu + end_use_electricity_whole_house_fan_m_btu + Double + false + + + end_use_electricity_refrigerator_m_btu + end_use_electricity_refrigerator_m_btu + end_use_electricity_refrigerator_m_btu + Double + false + + + end_use_electricity_freezer_m_btu + end_use_electricity_freezer_m_btu + end_use_electricity_freezer_m_btu + Double + false + + + end_use_electricity_dehumidifier_m_btu + end_use_electricity_dehumidifier_m_btu + end_use_electricity_dehumidifier_m_btu + Double + false + + + end_use_electricity_dishwasher_m_btu + end_use_electricity_dishwasher_m_btu + end_use_electricity_dishwasher_m_btu + Double + false + + + end_use_electricity_clothes_washer_m_btu + end_use_electricity_clothes_washer_m_btu + end_use_electricity_clothes_washer_m_btu + Double + false + + + end_use_electricity_clothes_dryer_m_btu + end_use_electricity_clothes_dryer_m_btu + end_use_electricity_clothes_dryer_m_btu + Double + false + + + end_use_electricity_range_oven_m_btu + end_use_electricity_range_oven_m_btu + end_use_electricity_range_oven_m_btu + Double + false + + + end_use_electricity_ceiling_fan_m_btu + end_use_electricity_ceiling_fan_m_btu + end_use_electricity_ceiling_fan_m_btu + Double + false + + + end_use_electricity_television_m_btu + end_use_electricity_television_m_btu + end_use_electricity_television_m_btu + Double + false + + + end_use_electricity_plug_loads_m_btu + end_use_electricity_plug_loads_m_btu + end_use_electricity_plug_loads_m_btu + Double + false + + + end_use_electricity_electric_vehicle_charging_m_btu + end_use_electricity_electric_vehicle_charging_m_btu + end_use_electricity_electric_vehicle_charging_m_btu + Double + false + + + end_use_electricity_well_pump_m_btu + end_use_electricity_well_pump_m_btu + end_use_electricity_well_pump_m_btu + Double + false + + + end_use_electricity_pool_heater_m_btu + end_use_electricity_pool_heater_m_btu + end_use_electricity_pool_heater_m_btu + Double + false + + + end_use_electricity_pool_pump_m_btu + end_use_electricity_pool_pump_m_btu + end_use_electricity_pool_pump_m_btu + Double + false + + + end_use_electricity_permanent_spa_heater_m_btu + end_use_electricity_permanent_spa_heater_m_btu + end_use_electricity_permanent_spa_heater_m_btu + Double + false + + + end_use_electricity_permanent_spa_pump_m_btu + end_use_electricity_permanent_spa_pump_m_btu + end_use_electricity_permanent_spa_pump_m_btu + Double + false + + + end_use_electricity_pv_m_btu + end_use_electricity_pv_m_btu + end_use_electricity_pv_m_btu + Double + false + + + end_use_electricity_generator_m_btu + end_use_electricity_generator_m_btu + end_use_electricity_generator_m_btu + Double + false + + + end_use_electricity_battery_m_btu + end_use_electricity_battery_m_btu + end_use_electricity_battery_m_btu + Double + false + + + end_use_natural_gas_heating_m_btu + end_use_natural_gas_heating_m_btu + end_use_natural_gas_heating_m_btu + Double + false + + + end_use_natural_gas_heating_heat_pump_backup_m_btu + end_use_natural_gas_heating_heat_pump_backup_m_btu + end_use_natural_gas_heating_heat_pump_backup_m_btu + Double + false + + + end_use_natural_gas_hot_water_m_btu + end_use_natural_gas_hot_water_m_btu + end_use_natural_gas_hot_water_m_btu + Double + false + + + end_use_natural_gas_clothes_dryer_m_btu + end_use_natural_gas_clothes_dryer_m_btu + end_use_natural_gas_clothes_dryer_m_btu + Double + false + + + end_use_natural_gas_range_oven_m_btu + end_use_natural_gas_range_oven_m_btu + end_use_natural_gas_range_oven_m_btu + Double + false + + + end_use_natural_gas_mech_vent_preheating_m_btu + end_use_natural_gas_mech_vent_preheating_m_btu + end_use_natural_gas_mech_vent_preheating_m_btu + Double + false + + + end_use_natural_gas_pool_heater_m_btu + end_use_natural_gas_pool_heater_m_btu + end_use_natural_gas_pool_heater_m_btu + Double + false + + + end_use_natural_gas_permanent_spa_heater_m_btu + end_use_natural_gas_permanent_spa_heater_m_btu + end_use_natural_gas_permanent_spa_heater_m_btu + Double + false + + + end_use_natural_gas_grill_m_btu + end_use_natural_gas_grill_m_btu + end_use_natural_gas_grill_m_btu + Double + false + + + end_use_natural_gas_lighting_m_btu + end_use_natural_gas_lighting_m_btu + end_use_natural_gas_lighting_m_btu + Double + false + + + end_use_natural_gas_fireplace_m_btu + end_use_natural_gas_fireplace_m_btu + end_use_natural_gas_fireplace_m_btu + Double + false + + + end_use_natural_gas_generator_m_btu + end_use_natural_gas_generator_m_btu + end_use_natural_gas_generator_m_btu + Double + false + + + end_use_fuel_oil_heating_m_btu + end_use_fuel_oil_heating_m_btu + end_use_fuel_oil_heating_m_btu + Double + false + + + end_use_fuel_oil_heating_heat_pump_backup_m_btu + end_use_fuel_oil_heating_heat_pump_backup_m_btu + end_use_fuel_oil_heating_heat_pump_backup_m_btu + Double + false + + + end_use_fuel_oil_hot_water_m_btu + end_use_fuel_oil_hot_water_m_btu + end_use_fuel_oil_hot_water_m_btu + Double + false + + + end_use_fuel_oil_clothes_dryer_m_btu + end_use_fuel_oil_clothes_dryer_m_btu + end_use_fuel_oil_clothes_dryer_m_btu + Double + false + + + end_use_fuel_oil_range_oven_m_btu + end_use_fuel_oil_range_oven_m_btu + end_use_fuel_oil_range_oven_m_btu + Double + false + + + end_use_fuel_oil_mech_vent_preheating_m_btu + end_use_fuel_oil_mech_vent_preheating_m_btu + end_use_fuel_oil_mech_vent_preheating_m_btu + Double + false + + + end_use_fuel_oil_grill_m_btu + end_use_fuel_oil_grill_m_btu + end_use_fuel_oil_grill_m_btu + Double + false + + + end_use_fuel_oil_lighting_m_btu + end_use_fuel_oil_lighting_m_btu + end_use_fuel_oil_lighting_m_btu + Double + false + + + end_use_fuel_oil_fireplace_m_btu + end_use_fuel_oil_fireplace_m_btu + end_use_fuel_oil_fireplace_m_btu + Double + false + + + end_use_fuel_oil_generator_m_btu + end_use_fuel_oil_generator_m_btu + end_use_fuel_oil_generator_m_btu + Double + false + + + end_use_propane_heating_m_btu + end_use_propane_heating_m_btu + end_use_propane_heating_m_btu + Double + false + + + end_use_propane_heating_heat_pump_backup_m_btu + end_use_propane_heating_heat_pump_backup_m_btu + end_use_propane_heating_heat_pump_backup_m_btu + Double + false + + + end_use_propane_hot_water_m_btu + end_use_propane_hot_water_m_btu + end_use_propane_hot_water_m_btu + Double + false + + + end_use_propane_clothes_dryer_m_btu + end_use_propane_clothes_dryer_m_btu + end_use_propane_clothes_dryer_m_btu + Double + false + + + end_use_propane_range_oven_m_btu + end_use_propane_range_oven_m_btu + end_use_propane_range_oven_m_btu + Double + false + + + end_use_propane_mech_vent_preheating_m_btu + end_use_propane_mech_vent_preheating_m_btu + end_use_propane_mech_vent_preheating_m_btu + Double + false + + + end_use_propane_grill_m_btu + end_use_propane_grill_m_btu + end_use_propane_grill_m_btu + Double + false + + + end_use_propane_lighting_m_btu + end_use_propane_lighting_m_btu + end_use_propane_lighting_m_btu + Double + false + + + end_use_propane_fireplace_m_btu + end_use_propane_fireplace_m_btu + end_use_propane_fireplace_m_btu + Double + false + + + end_use_propane_generator_m_btu + end_use_propane_generator_m_btu + end_use_propane_generator_m_btu + Double + false + + + end_use_wood_cord_heating_m_btu + end_use_wood_cord_heating_m_btu + end_use_wood_cord_heating_m_btu + Double + false + + + end_use_wood_cord_heating_heat_pump_backup_m_btu + end_use_wood_cord_heating_heat_pump_backup_m_btu + end_use_wood_cord_heating_heat_pump_backup_m_btu + Double + false + + + end_use_wood_cord_hot_water_m_btu + end_use_wood_cord_hot_water_m_btu + end_use_wood_cord_hot_water_m_btu + Double + false + + + end_use_wood_cord_clothes_dryer_m_btu + end_use_wood_cord_clothes_dryer_m_btu + end_use_wood_cord_clothes_dryer_m_btu + Double + false + + + end_use_wood_cord_range_oven_m_btu + end_use_wood_cord_range_oven_m_btu + end_use_wood_cord_range_oven_m_btu + Double + false + + + end_use_wood_cord_mech_vent_preheating_m_btu + end_use_wood_cord_mech_vent_preheating_m_btu + end_use_wood_cord_mech_vent_preheating_m_btu + Double + false + + + end_use_wood_cord_grill_m_btu + end_use_wood_cord_grill_m_btu + end_use_wood_cord_grill_m_btu + Double + false + + + end_use_wood_cord_lighting_m_btu + end_use_wood_cord_lighting_m_btu + end_use_wood_cord_lighting_m_btu + Double + false + + + end_use_wood_cord_fireplace_m_btu + end_use_wood_cord_fireplace_m_btu + end_use_wood_cord_fireplace_m_btu + Double + false + + + end_use_wood_cord_generator_m_btu + end_use_wood_cord_generator_m_btu + end_use_wood_cord_generator_m_btu + Double + false + + + end_use_wood_pellets_heating_m_btu + end_use_wood_pellets_heating_m_btu + end_use_wood_pellets_heating_m_btu + Double + false + + + end_use_wood_pellets_heating_heat_pump_backup_m_btu + end_use_wood_pellets_heating_heat_pump_backup_m_btu + end_use_wood_pellets_heating_heat_pump_backup_m_btu + Double + false + + + end_use_wood_pellets_hot_water_m_btu + end_use_wood_pellets_hot_water_m_btu + end_use_wood_pellets_hot_water_m_btu + Double + false + + + end_use_wood_pellets_clothes_dryer_m_btu + end_use_wood_pellets_clothes_dryer_m_btu + end_use_wood_pellets_clothes_dryer_m_btu + Double + false + + + end_use_wood_pellets_range_oven_m_btu + end_use_wood_pellets_range_oven_m_btu + end_use_wood_pellets_range_oven_m_btu + Double + false + + + end_use_wood_pellets_mech_vent_preheating_m_btu + end_use_wood_pellets_mech_vent_preheating_m_btu + end_use_wood_pellets_mech_vent_preheating_m_btu + Double + false + + + end_use_wood_pellets_grill_m_btu + end_use_wood_pellets_grill_m_btu + end_use_wood_pellets_grill_m_btu + Double + false + + + end_use_wood_pellets_lighting_m_btu + end_use_wood_pellets_lighting_m_btu + end_use_wood_pellets_lighting_m_btu + Double + false + + + end_use_wood_pellets_fireplace_m_btu + end_use_wood_pellets_fireplace_m_btu + end_use_wood_pellets_fireplace_m_btu + Double + false + + + end_use_wood_pellets_generator_m_btu + end_use_wood_pellets_generator_m_btu + end_use_wood_pellets_generator_m_btu + Double + false + + + end_use_coal_heating_m_btu + end_use_coal_heating_m_btu + end_use_coal_heating_m_btu + Double + false + + + end_use_coal_heating_heat_pump_backup_m_btu + end_use_coal_heating_heat_pump_backup_m_btu + end_use_coal_heating_heat_pump_backup_m_btu + Double + false + + + end_use_coal_hot_water_m_btu + end_use_coal_hot_water_m_btu + end_use_coal_hot_water_m_btu + Double + false + + + end_use_coal_clothes_dryer_m_btu + end_use_coal_clothes_dryer_m_btu + end_use_coal_clothes_dryer_m_btu + Double + false + + + end_use_coal_range_oven_m_btu + end_use_coal_range_oven_m_btu + end_use_coal_range_oven_m_btu + Double + false + + + end_use_coal_mech_vent_preheating_m_btu + end_use_coal_mech_vent_preheating_m_btu + end_use_coal_mech_vent_preheating_m_btu + Double + false + + + end_use_coal_grill_m_btu + end_use_coal_grill_m_btu + end_use_coal_grill_m_btu + Double + false + + + end_use_coal_lighting_m_btu + end_use_coal_lighting_m_btu + end_use_coal_lighting_m_btu + Double + false + + + end_use_coal_fireplace_m_btu + end_use_coal_fireplace_m_btu + end_use_coal_fireplace_m_btu + Double + false + + + end_use_coal_generator_m_btu + end_use_coal_generator_m_btu + end_use_coal_generator_m_btu + Double + false + + + load_heating_delivered_m_btu + load_heating_delivered_m_btu + load_heating_delivered_m_btu + Double + false + + + load_heating_heat_pump_backup_m_btu + load_heating_heat_pump_backup_m_btu + load_heating_heat_pump_backup_m_btu + Double + false + + + load_cooling_delivered_m_btu + load_cooling_delivered_m_btu + load_cooling_delivered_m_btu + Double + false + + + load_hot_water_delivered_m_btu + load_hot_water_delivered_m_btu + load_hot_water_delivered_m_btu + Double + false + + + load_hot_water_tank_losses_m_btu + load_hot_water_tank_losses_m_btu + load_hot_water_tank_losses_m_btu + Double + false + + + load_hot_water_desuperheater_m_btu + load_hot_water_desuperheater_m_btu + load_hot_water_desuperheater_m_btu + Double + false + + + load_hot_water_solar_thermal_m_btu + load_hot_water_solar_thermal_m_btu + load_hot_water_solar_thermal_m_btu + Double + false + + + unmet_hours_heating_hr + unmet_hours_heating_hr + unmet_hours_heating_hr + Double + false + + + unmet_hours_cooling_hr + unmet_hours_cooling_hr + unmet_hours_cooling_hr + Double + false + + + peak_electricity_winter_total_w + peak_electricity_winter_total_w + peak_electricity_winter_total_w + Double + false + + + peak_electricity_summer_total_w + peak_electricity_summer_total_w + peak_electricity_summer_total_w + Double + false + + + peak_electricity_annual_total_w + peak_electricity_annual_total_w + peak_electricity_annual_total_w + Double + false + + + peak_load_heating_delivered_k_btu_hr + peak_load_heating_delivered_k_btu_hr + peak_load_heating_delivered_k_btu_hr + Double + false + + + peak_load_cooling_delivered_k_btu_hr + peak_load_cooling_delivered_k_btu_hr + peak_load_cooling_delivered_k_btu_hr + Double + false + + + component_load_heating_roofs_m_btu + component_load_heating_roofs_m_btu + component_load_heating_roofs_m_btu + Double + false + + + component_load_heating_ceilings_m_btu + component_load_heating_ceilings_m_btu + component_load_heating_ceilings_m_btu + Double + false + + + component_load_heating_walls_m_btu + component_load_heating_walls_m_btu + component_load_heating_walls_m_btu + Double + false + + + component_load_heating_rim_joists_m_btu + component_load_heating_rim_joists_m_btu + component_load_heating_rim_joists_m_btu + Double + false + + + component_load_heating_foundation_walls_m_btu + component_load_heating_foundation_walls_m_btu + component_load_heating_foundation_walls_m_btu + Double + false + + + component_load_heating_doors_m_btu + component_load_heating_doors_m_btu + component_load_heating_doors_m_btu + Double + false + + + component_load_heating_windows_conduction_m_btu + component_load_heating_windows_conduction_m_btu + component_load_heating_windows_conduction_m_btu + Double + false + + + component_load_heating_windows_solar_m_btu + component_load_heating_windows_solar_m_btu + component_load_heating_windows_solar_m_btu + Double + false + + + component_load_heating_skylights_conduction_m_btu + component_load_heating_skylights_conduction_m_btu + component_load_heating_skylights_conduction_m_btu + Double + false + + + component_load_heating_skylights_solar_m_btu + component_load_heating_skylights_solar_m_btu + component_load_heating_skylights_solar_m_btu + Double + false + + + component_load_heating_floors_m_btu + component_load_heating_floors_m_btu + component_load_heating_floors_m_btu + Double + false + + + component_load_heating_slabs_m_btu + component_load_heating_slabs_m_btu + component_load_heating_slabs_m_btu + Double + false + + + component_load_heating_internal_mass_m_btu + component_load_heating_internal_mass_m_btu + component_load_heating_internal_mass_m_btu + Double + false + + + component_load_heating_infiltration_m_btu + component_load_heating_infiltration_m_btu + component_load_heating_infiltration_m_btu + Double + false + + + component_load_heating_natural_ventilation_m_btu + component_load_heating_natural_ventilation_m_btu + component_load_heating_natural_ventilation_m_btu + Double + false + + + component_load_heating_mechanical_ventilation_m_btu + component_load_heating_mechanical_ventilation_m_btu + component_load_heating_mechanical_ventilation_m_btu + Double + false + + + component_load_heating_whole_house_fan_m_btu + component_load_heating_whole_house_fan_m_btu + component_load_heating_whole_house_fan_m_btu + Double + false + + + component_load_heating_ducts_m_btu + component_load_heating_ducts_m_btu + component_load_heating_ducts_m_btu + Double + false + + + component_load_heating_internal_gains_m_btu + component_load_heating_internal_gains_m_btu + component_load_heating_internal_gains_m_btu + Double + false + + + component_load_heating_lighting_m_btu + component_load_heating_lighting_m_btu + component_load_heating_lighting_m_btu + Double + false + + + component_load_cooling_roofs_m_btu + component_load_cooling_roofs_m_btu + component_load_cooling_roofs_m_btu + Double + false + + + component_load_cooling_ceilings_m_btu + component_load_cooling_ceilings_m_btu + component_load_cooling_ceilings_m_btu + Double + false + + + component_load_cooling_walls_m_btu + component_load_cooling_walls_m_btu + component_load_cooling_walls_m_btu + Double + false + + + component_load_cooling_rim_joists_m_btu + component_load_cooling_rim_joists_m_btu + component_load_cooling_rim_joists_m_btu + Double + false + + + component_load_cooling_foundation_walls_m_btu + component_load_cooling_foundation_walls_m_btu + component_load_cooling_foundation_walls_m_btu + Double + false + + + component_load_cooling_doors_m_btu + component_load_cooling_doors_m_btu + component_load_cooling_doors_m_btu + Double + false + + + component_load_cooling_windows_conduction_m_btu + component_load_cooling_windows_conduction_m_btu + component_load_cooling_windows_conduction_m_btu + Double + false + + + component_load_cooling_windows_solar_m_btu + component_load_cooling_windows_solar_m_btu + component_load_cooling_windows_solar_m_btu + Double + false + + + component_load_cooling_skylights_conduction_m_btu + component_load_cooling_skylights_conduction_m_btu + component_load_cooling_skylights_conduction_m_btu + Double + false + + + component_load_cooling_skylights_solar_m_btu + component_load_cooling_skylights_solar_m_btu + component_load_cooling_skylights_solar_m_btu + Double + false + + + component_load_cooling_floors_m_btu + component_load_cooling_floors_m_btu + component_load_cooling_floors_m_btu + Double + false + + + component_load_cooling_slabs_m_btu + component_load_cooling_slabs_m_btu + component_load_cooling_slabs_m_btu + Double + false + + + component_load_cooling_internal_mass_m_btu + component_load_cooling_internal_mass_m_btu + component_load_cooling_internal_mass_m_btu + Double + false + + + component_load_cooling_infiltration_m_btu + component_load_cooling_infiltration_m_btu + component_load_cooling_infiltration_m_btu + Double + false + + + component_load_cooling_natural_ventilation_m_btu + component_load_cooling_natural_ventilation_m_btu + component_load_cooling_natural_ventilation_m_btu + Double + false + + + component_load_cooling_mechanical_ventilation_m_btu + component_load_cooling_mechanical_ventilation_m_btu + component_load_cooling_mechanical_ventilation_m_btu + Double + false + + + component_load_cooling_whole_house_fan_m_btu + component_load_cooling_whole_house_fan_m_btu + component_load_cooling_whole_house_fan_m_btu + Double + false + + + component_load_cooling_ducts_m_btu + component_load_cooling_ducts_m_btu + component_load_cooling_ducts_m_btu + Double + false + + + component_load_cooling_internal_gains_m_btu + component_load_cooling_internal_gains_m_btu + component_load_cooling_internal_gains_m_btu + Double + false + + + component_load_cooling_lighting_m_btu + component_load_cooling_lighting_m_btu + component_load_cooling_lighting_m_btu + Double + false + + + hot_water_clothes_washer_gal + hot_water_clothes_washer_gal + hot_water_clothes_washer_gal + Double + false + + + hot_water_dishwasher_gal + hot_water_dishwasher_gal + hot_water_dishwasher_gal + Double + false + + + hot_water_fixtures_gal + hot_water_fixtures_gal + hot_water_fixtures_gal + Double + false + + + hot_water_distribution_waste_gal + hot_water_distribution_waste_gal + hot_water_distribution_waste_gal + Double + false + + + resilience_battery_hr + resilience_battery_hr + resilience_battery_hr + Double + false + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + 86FD2C61 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.9.1 + 2.9.1 + + measure.rb + rb + script + 04252AFC + + + test_report_sim_output.rb + rb + test + 75F6B186 + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportUtilityBills/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportUtilityBills/measure.xml new file mode 100644 index 00000000..ac1a522b --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportUtilityBills/measure.xml @@ -0,0 +1,328 @@ + + + 3.1 + report_utility_bills + ca88a425-e59a-4bc4-af51-c7e7d1e960fe + 23d2e18e-c2ac-4c68-a5c4-fd4372203a39 + 2024-05-18T14:35:04Z + 15BF4E57 + ReportUtilityBills + Utility Bills Report + Calculates and reports utility bills for residential HPXML-based models. + Calculate electric/gas utility bills based on monthly fixed charges and marginal rates. Calculate other utility bills based on marginal rates for oil, propane, wood cord, wood pellets, and coal. User can specify PV compensation types of 'Net-Metering' or 'Feed-In Tariff', along with corresponding rates and connection fees. + + + output_format + Output Format + The file format of the annual (and timeseries, if requested) outputs. + Choice + false + false + csv + + + csv + csv + + + json + json + + + msgpack + msgpack + + + + + include_annual_bills + Generate Annual Utility Bills + Generates annual utility bills. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_monthly_bills + Generate Monthly Utility Bills + Generates monthly utility bills. + Boolean + false + false + true + + + true + true + + + false + false + + + + + monthly_timestamp_convention + Generate Monthly Output: Timestamp Convention + Determines whether monthly timestamps use the start-of-period or end-of-period convention. + Choice + false + false + start + + + start + start + + + end + end + + + + + annual_output_file_name + Annual Output File Name + If not provided, defaults to 'results_bills.csv' (or 'results_bills.json' or 'results_bills.msgpack'). + String + false + false + + + monthly_output_file_name + Monthly Output File Name + If not provided, defaults to 'results_bills_monthly.csv' (or 'results_bills_monthly.json' or 'results_bills_monthly.msgpack'). + String + false + false + + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + + + README.md + md + readme + E137125B + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.3.0 + 3.3.0 + + measure.rb + rb + script + 22A6665F + + + detailed_rates/Sample Flat Rate Min Annual Charge.json + json + resource + 453ED6BD + + + detailed_rates/Sample Flat Rate Min Monthly Charge.json + json + resource + A39362E3 + + + detailed_rates/Sample Flat Rate.json + json + resource + C0FCBE3B + + + detailed_rates/Sample Real-Time Pricing Rate Min Annual Charge.json + json + resource + 12C12981 + + + detailed_rates/Sample Real-Time Pricing Rate Min Monthly Charge.json + json + resource + DE28BDA1 + + + detailed_rates/Sample Real-Time Pricing Rate.json + json + resource + 40D684ED + + + detailed_rates/Sample Tiered Rate Min Annual Charge.json + json + resource + 05C5F7BD + + + detailed_rates/Sample Tiered Rate Min Monthly Charge.json + json + resource + 9177D651 + + + detailed_rates/Sample Tiered Rate.json + json + resource + 27936FC1 + + + detailed_rates/Sample Tiered Time-of-Use Rate Min Annual Charge.json + json + resource + E59E9AEE + + + detailed_rates/Sample Tiered Time-of-Use Rate Min Monthly Charge.json + json + resource + 75AD92DF + + + detailed_rates/Sample Tiered Time-of-Use Rate.json + json + resource + 4508028D + + + detailed_rates/Sample Time-of-Use Rate Min Annual Charge.json + json + resource + 2CC2386E + + + detailed_rates/Sample Time-of-Use Rate Min Monthly Charge.json + json + resource + 387337AD + + + detailed_rates/Sample Time-of-Use Rate.json + json + resource + AD93D08A + + + detailed_rates/openei_rates.zip + zip + resource + 56DDA6EC + + + simple_rates/Average_retail_price_of_electricity.csv + csv + resource + 02EEEF39 + + + simple_rates/HouseholdConsumption.csv + csv + resource + 0BEECB93 + + + simple_rates/NG_PRI_SUM_A_EPG0_PRS_DMCF_A.csv + csv + resource + C5FFF659 + + + simple_rates/PET_PRI_WFR_A_EPD2F_PRS_DPGAL_W.csv + csv + resource + 8C00508D + + + simple_rates/PET_PRI_WFR_A_EPLLPA_PRS_DPGAL_W.csv + csv + resource + 614B155F + + + simple_rates/README.md + md + resource + 7832E08F + + + util.rb + rb + resource + 70347ABF + + + Contains Demand Charges.json + json + test + 31A7BE3B + + + Detailed Rate.json + json + test + 953EE2AC + + + Invalid Fixed Charge Units.json + json + test + 6CDC3F13 + + + Invalid Min Charge Units.json + json + test + 32FB5BA8 + + + Missing Required Fields.json + json + test + 3DCED656 + + + data.csv + csv + test + F96CB80F + + + test_report_utility_bills.rb + rb + test + 3C2DECE9 + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md new file mode 100644 index 00000000..2969a571 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md @@ -0,0 +1,5656 @@ + +###### (Automatically generated documentation) + +# ResStock Arguments + +## Description +Measure that pre-processes the arguments passed to the BuildResidentialHPXML and BuildResidentialScheduleFile measures. + +Passes in all arguments from the options lookup, processes them, and then registers values to the runner to be used by other measures. + +## Arguments + + +**Schedules: Vacancy Periods** + +Specifies the vacancy periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + +- **Name:** ``schedules_vacancy_periods`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Schedules: Power Outage Periods** + +Specifies the power outage periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + +- **Name:** ``schedules_power_outage_periods`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Schedules: Power Outage Periods Window Natural Ventilation Availability** + +The availability of the natural ventilation schedule during the power outage periods. Valid choices are 'regular schedule', 'always available', 'always unavailable'. If multiple periods, use a comma-separated list. + +- **Name:** ``schedules_power_outage_periods_window_natvent_availability`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Simulation Control: Daylight Saving Enabled** + +Whether to use daylight saving. If not provided, the OS-HPXML default (see HPXML Building Site) is used. + +- **Name:** ``simulation_control_daylight_saving_enabled`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `true`, `false` + +
+ +**Site: Type** + +The type of site. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``site_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `suburban`, `urban`, `rural` + +
+ +**Site: Shielding of Home** + +Presence of nearby buildings, trees, obstructions for infiltration model. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``site_shielding_of_home`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `exposed`, `normal`, `well-shielded` + +
+ +**Site: Soil and Moisture Type** + +Type of soil and moisture. This is used to inform ground conductivity and diffusivity. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``site_soil_and_moisture_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `clay, dry`, `clay, mixed`, `clay, wet`, `gravel, dry`, `gravel, mixed`, `gravel, wet`, `loam, dry`, `loam, mixed`, `loam, wet`, `sand, dry`, `sand, mixed`, `sand, wet`, `silt, dry`, `silt, mixed`, `silt, wet`, `unknown, dry`, `unknown, mixed`, `unknown, wet` + +
+ +**Site: Ground Conductivity** + +Conductivity of the ground soil. If provided, overrides the previous site and moisture type input. + +- **Name:** ``site_ground_conductivity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Site: Ground Diffusivity** + +Diffusivity of the ground soil. If provided, overrides the previous site and moisture type input. + +- **Name:** ``site_ground_diffusivity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Site: IECC Zone** + +IECC zone of the home address. + +- **Name:** ``site_iecc_zone`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `1A`, `1B`, `1C`, `2A`, `2B`, `2C`, `3A`, `3B`, `3C`, `4A`, `4B`, `4C`, `5A`, `5B`, `5C`, `6A`, `6B`, `6C`, `7`, `8` + +
+ +**Site: City** + +City/municipality of the home address. + +- **Name:** ``site_city`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Site: State Code** + +State code of the home address. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``site_state_code`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `AK`, `AL`, `AR`, `AZ`, `CA`, `CO`, `CT`, `DC`, `DE`, `FL`, `GA`, `HI`, `IA`, `ID`, `IL`, `IN`, `KS`, `KY`, `LA`, `MA`, `MD`, `ME`, `MI`, `MN`, `MO`, `MS`, `MT`, `NC`, `ND`, `NE`, `NH`, `NJ`, `NM`, `NV`, `NY`, `OH`, `OK`, `OR`, `PA`, `RI`, `SC`, `SD`, `TN`, `TX`, `UT`, `VA`, `VT`, `WA`, `WI`, `WV`, `WY` + +
+ +**Site: Zip Code** + +Zip code of the home address. + +- **Name:** ``site_zip_code`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Site: Time Zone UTC Offset** + +Time zone UTC offset of the home address. Must be between -12 and 14. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``site_time_zone_utc_offset`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Site: Elevation** + +Elevation of the home address. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``site_elevation`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Site: Latitude** + +Latitude of the home address. Must be between -90 and 90. Use negative values for southern hemisphere. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``site_latitude`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Site: Longitude** + +Longitude of the home address. Must be between -180 and 180. Use negative values for the western hemisphere. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``site_longitude`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Weather Station: EnergyPlus Weather (EPW) Filepath** + +Path of the EPW file. + +- **Name:** ``weather_station_epw_filepath`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Building Construction: Year Built** + +The year the building was built. + +- **Name:** ``year_built`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geometry: Unit Type** + +The type of dwelling unit. Use single-family attached for a dwelling unit with 1 or more stories, attached units to one or both sides, and no units above/below. Use apartment unit for a dwelling unit with 1 story, attached units to one, two, or three sides, and units above and/or below. + +- **Name:** ``geometry_unit_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `single-family detached`, `single-family attached`, `apartment unit`, `manufactured home` + +
+ +**Geometry: Unit Aspect Ratio** + +The ratio of front/back wall length to left/right wall length for the unit, excluding any protruding garage wall area. + +- **Name:** ``geometry_unit_aspect_ratio`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Geometry: Unit Orientation** + +The unit's orientation is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + +- **Name:** ``geometry_unit_orientation`` +- **Type:** ``Double`` + +- **Units:** ``degrees`` + +- **Required:** ``true`` + +
+ +**Geometry: Unit Number of Bedrooms** + +The number of bedrooms in the unit. + +- **Name:** ``geometry_unit_num_bedrooms`` +- **Type:** ``Integer`` + +- **Units:** ``#`` + +- **Required:** ``true`` + +
+ +**Geometry: Unit Number of Bathrooms** + +The number of bathrooms in the unit. If not provided, the OS-HPXML default (see HPXML Building Construction) is used. + +- **Name:** ``geometry_unit_num_bathrooms`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geometry: Unit Number of Occupants** + +The number of occupants in the unit. If not provided, an *asset* calculation is performed assuming standard occupancy, in which various end use defaults (e.g., plug loads, appliances, and hot water usage) are calculated based on Number of Bedrooms and Conditioned Floor Area per ANSI/RESNET/ICC 301-2019. If provided, an *operational* calculation is instead performed in which the end use defaults are adjusted using the relationship between Number of Bedrooms and Number of Occupants from RECS 2015. + +- **Name:** ``geometry_unit_num_occupants`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geometry: Building Number of Units** + +The number of units in the building. Required for single-family attached and apartment units. + +- **Name:** ``geometry_building_num_units`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geometry: Average Ceiling Height** + +Average distance from the floor to the ceiling. + +- **Name:** ``geometry_average_ceiling_height`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Geometry: Garage Width** + +The width of the garage. Enter zero for no garage. Only applies to single-family detached units. + +- **Name:** ``geometry_garage_width`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Geometry: Garage Depth** + +The depth of the garage. Only applies to single-family detached units. + +- **Name:** ``geometry_garage_depth`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Geometry: Garage Protrusion** + +The fraction of the garage that is protruding from the conditioned space. Only applies to single-family detached units. + +- **Name:** ``geometry_garage_protrusion`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Geometry: Garage Position** + +The position of the garage. Only applies to single-family detached units. + +- **Name:** ``geometry_garage_position`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `Right`, `Left` + +
+ +**Geometry: Foundation Type** + +The foundation type of the building. Foundation types ConditionedBasement and ConditionedCrawlspace are not allowed for apartment units. + +- **Name:** ``geometry_foundation_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `SlabOnGrade`, `VentedCrawlspace`, `UnventedCrawlspace`, `ConditionedCrawlspace`, `UnconditionedBasement`, `ConditionedBasement`, `Ambient`, `AboveApartment`, `BellyAndWingWithSkirt`, `BellyAndWingNoSkirt` + +
+ +**Geometry: Foundation Height** + +The height of the foundation (e.g., 3ft for crawlspace, 8ft for basement). Only applies to basements/crawlspaces. + +- **Name:** ``geometry_foundation_height`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Geometry: Foundation Height Above Grade** + +The depth above grade of the foundation wall. Only applies to basements/crawlspaces. + +- **Name:** ``geometry_foundation_height_above_grade`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Geometry: Rim Joist Height** + +The height of the rim joists. Only applies to basements/crawlspaces. + +- **Name:** ``geometry_rim_joist_height`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geometry: Attic Type** + +The attic type of the building. Attic type ConditionedAttic is not allowed for apartment units. + +- **Name:** ``geometry_attic_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `FlatRoof`, `VentedAttic`, `UnventedAttic`, `ConditionedAttic`, `BelowApartment` + +
+ +**Geometry: Roof Type** + +The roof type of the building. Ignored if the building has a flat roof. + +- **Name:** ``geometry_roof_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `gable`, `hip` + +
+ +**Geometry: Roof Pitch** + +The roof pitch of the attic. Ignored if the building has a flat roof. + +- **Name:** ``geometry_roof_pitch`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `1:12`, `2:12`, `3:12`, `4:12`, `5:12`, `6:12`, `7:12`, `8:12`, `9:12`, `10:12`, `11:12`, `12:12` + +
+ +**Geometry: Eaves Depth** + +The eaves depth of the roof. + +- **Name:** ``geometry_eaves_depth`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Neighbor: Front Distance** + +The distance between the unit and the neighboring building to the front (not including eaves). A value of zero indicates no neighbors. Used for shading. + +- **Name:** ``neighbor_front_distance`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Neighbor: Back Distance** + +The distance between the unit and the neighboring building to the back (not including eaves). A value of zero indicates no neighbors. Used for shading. + +- **Name:** ``neighbor_back_distance`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Neighbor: Left Distance** + +The distance between the unit and the neighboring building to the left (not including eaves). A value of zero indicates no neighbors. Used for shading. + +- **Name:** ``neighbor_left_distance`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Neighbor: Right Distance** + +The distance between the unit and the neighboring building to the right (not including eaves). A value of zero indicates no neighbors. Used for shading. + +- **Name:** ``neighbor_right_distance`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Neighbor: Front Height** + +The height of the neighboring building to the front. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``neighbor_front_height`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Neighbor: Back Height** + +The height of the neighboring building to the back. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``neighbor_back_height`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Neighbor: Left Height** + +The height of the neighboring building to the left. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``neighbor_left_height`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Neighbor: Right Height** + +The height of the neighboring building to the right. If not provided, the OS-HPXML default (see HPXML Site) is used. + +- **Name:** ``neighbor_right_height`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Floor: Over Foundation Assembly R-value** + +Assembly R-value for the floor over the foundation. Ignored if the building has a slab-on-grade foundation. + +- **Name:** ``floor_over_foundation_assembly_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Floor: Over Garage Assembly R-value** + +Assembly R-value for the floor over the garage. Ignored unless the building has a garage under conditioned space. + +- **Name:** ``floor_over_garage_assembly_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Floor: Type** + +The type of floors. + +- **Name:** ``floor_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `WoodFrame`, `StructuralInsulatedPanel`, `SolidConcrete`, `SteelFrame` + +
+ +**Foundation Wall: Type** + +The material type of the foundation wall. If not provided, the OS-HPXML default (see HPXML Foundation Walls) is used. + +- **Name:** ``foundation_wall_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `solid concrete`, `concrete block`, `concrete block foam core`, `concrete block perlite core`, `concrete block vermiculite core`, `concrete block solid core`, `double brick`, `wood` + +
+ +**Foundation Wall: Thickness** + +The thickness of the foundation wall. If not provided, the OS-HPXML default (see HPXML Foundation Walls) is used. + +- **Name:** ``foundation_wall_thickness`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Foundation Wall: Insulation Nominal R-value** + +Nominal R-value for the foundation wall insulation. Only applies to basements/crawlspaces. + +- **Name:** ``foundation_wall_insulation_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Foundation Wall: Insulation Location** + +Whether the insulation is on the interior or exterior of the foundation wall. Only applies to basements/crawlspaces. + +- **Name:** ``foundation_wall_insulation_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `interior`, `exterior` + +
+ +**Foundation Wall: Insulation Distance To Top** + +The distance from the top of the foundation wall to the top of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see HPXML Foundation Walls) is used. + +- **Name:** ``foundation_wall_insulation_distance_to_top`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Foundation Wall: Insulation Distance To Bottom** + +The distance from the top of the foundation wall to the bottom of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see HPXML Foundation Walls) is used. + +- **Name:** ``foundation_wall_insulation_distance_to_bottom`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Foundation Wall: Assembly R-value** + +Assembly R-value for the foundation walls. Only applies to basements/crawlspaces. If provided, overrides the previous foundation wall insulation inputs. If not provided, it is ignored. + +- **Name:** ``foundation_wall_assembly_r`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Rim Joist: Assembly R-value** + +Assembly R-value for the rim joists. Only applies to basements/crawlspaces. Required if a rim joist height is provided. + +- **Name:** ``rim_joist_assembly_r`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Slab: Perimeter Insulation Nominal R-value** + +Nominal R-value of the vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + +- **Name:** ``slab_perimeter_insulation_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Slab: Perimeter Insulation Depth** + +Depth from grade to bottom of vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + +- **Name:** ``slab_perimeter_depth`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Slab: Under Slab Insulation Nominal R-value** + +Nominal R-value of the horizontal under slab insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + +- **Name:** ``slab_under_insulation_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Slab: Under Slab Insulation Width** + +Width from slab edge inward of horizontal under-slab insulation. Enter 999 to specify that the under slab insulation spans the entire slab. Applies to slab-on-grade foundations and basement/crawlspace floors. + +- **Name:** ``slab_under_width`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Slab: Thickness** + +The thickness of the slab. Zero can be entered if there is a dirt floor instead of a slab. If not provided, the OS-HPXML default (see HPXML Slabs) is used. + +- **Name:** ``slab_thickness`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Slab: Carpet Fraction** + +Fraction of the slab floor area that is carpeted. If not provided, the OS-HPXML default (see HPXML Slabs) is used. + +- **Name:** ``slab_carpet_fraction`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Slab: Carpet R-value** + +R-value of the slab carpet. If not provided, the OS-HPXML default (see HPXML Slabs) is used. + +- **Name:** ``slab_carpet_r`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ceiling: Assembly R-value** + +Assembly R-value for the ceiling (attic floor). + +- **Name:** ``ceiling_assembly_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Roof: Material Type** + +The material type of the roof. If not provided, the OS-HPXML default (see HPXML Roofs) is used. + +- **Name:** ``roof_material_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `asphalt or fiberglass shingles`, `concrete`, `cool roof`, `slate or tile shingles`, `expanded polystyrene sheathing`, `metal surfacing`, `plastic/rubber/synthetic sheeting`, `shingles`, `wood shingles or shakes` + +
+ +**Roof: Color** + +The color of the roof. If not provided, the OS-HPXML default (see HPXML Roofs) is used. + +- **Name:** ``roof_color`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `dark`, `light`, `medium`, `medium dark`, `reflective` + +
+ +**Roof: Assembly R-value** + +Assembly R-value of the roof. + +- **Name:** ``roof_assembly_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Attic: Radiant Barrier Location** + +The location of the radiant barrier in the attic. + +- **Name:** ``radiant_barrier_attic_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `none`, `Attic roof only`, `Attic roof and gable walls`, `Attic floor` + +
+ +**Attic: Radiant Barrier Grade** + +The grade of the radiant barrier in the attic. If not provided, the OS-HPXML default (see HPXML Roofs) is used. + +- **Name:** ``radiant_barrier_grade`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `1`, `2`, `3` + +
+ +**Wall: Type** + +The type of walls. + +- **Name:** ``wall_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `WoodStud`, `ConcreteMasonryUnit`, `DoubleWoodStud`, `InsulatedConcreteForms`, `LogWall`, `StructuralInsulatedPanel`, `SolidConcrete`, `SteelFrame`, `Stone`, `StrawBale`, `StructuralBrick` + +
+ +**Wall: Siding Type** + +The siding type of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see HPXML Walls) is used. + +- **Name:** ``wall_siding_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `aluminum siding`, `asbestos siding`, `brick veneer`, `composite shingle siding`, `fiber cement siding`, `masonite siding`, `none`, `stucco`, `synthetic stucco`, `vinyl siding`, `wood siding` + +
+ +**Wall: Color** + +The color of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see HPXML Walls) is used. + +- **Name:** ``wall_color`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `dark`, `light`, `medium`, `medium dark`, `reflective` + +
+ +**Wall: Assembly R-value** + +Assembly R-value of the walls. + +- **Name:** ``wall_assembly_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Windows: Front Window-to-Wall Ratio** + +The ratio of window area to wall area for the unit's front facade. Enter 0 if specifying Front Window Area instead. + +- **Name:** ``window_front_wwr`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Windows: Back Window-to-Wall Ratio** + +The ratio of window area to wall area for the unit's back facade. Enter 0 if specifying Back Window Area instead. + +- **Name:** ``window_back_wwr`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Windows: Left Window-to-Wall Ratio** + +The ratio of window area to wall area for the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window Area instead. + +- **Name:** ``window_left_wwr`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Windows: Right Window-to-Wall Ratio** + +The ratio of window area to wall area for the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window Area instead. + +- **Name:** ``window_right_wwr`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Windows: Front Window Area** + +The amount of window area on the unit's front facade. Enter 0 if specifying Front Window-to-Wall Ratio instead. + +- **Name:** ``window_area_front`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Windows: Back Window Area** + +The amount of window area on the unit's back facade. Enter 0 if specifying Back Window-to-Wall Ratio instead. + +- **Name:** ``window_area_back`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Windows: Left Window Area** + +The amount of window area on the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window-to-Wall Ratio instead. + +- **Name:** ``window_area_left`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Windows: Right Window Area** + +The amount of window area on the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window-to-Wall Ratio instead. + +- **Name:** ``window_area_right`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Windows: Aspect Ratio** + +Ratio of window height to width. + +- **Name:** ``window_aspect_ratio`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Windows: Fraction Operable** + +Fraction of windows that are operable. If not provided, the OS-HPXML default (see HPXML Windows) is used. + +- **Name:** ``window_fraction_operable`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Windows: Natural Ventilation Availability** + +For operable windows, the number of days/week that windows can be opened by occupants for natural ventilation. If not provided, the OS-HPXML default (see HPXML Windows) is used. + +- **Name:** ``window_natvent_availability`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Windows: U-Factor** + +Full-assembly NFRC U-factor. + +- **Name:** ``window_ufactor`` +- **Type:** ``Double`` + +- **Units:** ``Btu/hr-ft^2-R`` + +- **Required:** ``true`` + +
+ +**Windows: SHGC** + +Full-assembly NFRC solar heat gain coefficient. + +- **Name:** ``window_shgc`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Windows: Winter Interior Shading** + +Interior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see HPXML Windows) is used. + +- **Name:** ``window_interior_shading_winter`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Windows: Summer Interior Shading** + +Interior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see HPXML Windows) is used. + +- **Name:** ``window_interior_shading_summer`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Windows: Winter Exterior Shading** + +Exterior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see HPXML Windows) is used. + +- **Name:** ``window_exterior_shading_winter`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Windows: Summer Exterior Shading** + +Exterior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see HPXML Windows) is used. + +- **Name:** ``window_exterior_shading_summer`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Windows: Shading Summer Season** + +Enter a date like 'May 1 - Sep 30'. Defines the summer season for purposes of shading coefficients; the rest of the year is assumed to be winter. If not provided, the OS-HPXML default (see HPXML Windows) is used. + +- **Name:** ``window_shading_summer_season`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Windows: Storm Type** + +The type of storm, if present. If not provided, assumes there is no storm. + +- **Name:** ``window_storm_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `clear`, `low-e` + +
+ +**Overhangs: Front Depth** + +The depth of overhangs for windows for the front facade. + +- **Name:** ``overhangs_front_depth`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Front Distance to Top of Window** + +The overhangs distance to the top of window for the front facade. + +- **Name:** ``overhangs_front_distance_to_top_of_window`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Front Distance to Bottom of Window** + +The overhangs distance to the bottom of window for the front facade. + +- **Name:** ``overhangs_front_distance_to_bottom_of_window`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Back Depth** + +The depth of overhangs for windows for the back facade. + +- **Name:** ``overhangs_back_depth`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Back Distance to Top of Window** + +The overhangs distance to the top of window for the back facade. + +- **Name:** ``overhangs_back_distance_to_top_of_window`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Back Distance to Bottom of Window** + +The overhangs distance to the bottom of window for the back facade. + +- **Name:** ``overhangs_back_distance_to_bottom_of_window`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Left Depth** + +The depth of overhangs for windows for the left facade. + +- **Name:** ``overhangs_left_depth`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Left Distance to Top of Window** + +The overhangs distance to the top of window for the left facade. + +- **Name:** ``overhangs_left_distance_to_top_of_window`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Left Distance to Bottom of Window** + +The overhangs distance to the bottom of window for the left facade. + +- **Name:** ``overhangs_left_distance_to_bottom_of_window`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Right Depth** + +The depth of overhangs for windows for the right facade. + +- **Name:** ``overhangs_right_depth`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Right Distance to Top of Window** + +The overhangs distance to the top of window for the right facade. + +- **Name:** ``overhangs_right_distance_to_top_of_window`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Overhangs: Right Distance to Bottom of Window** + +The overhangs distance to the bottom of window for the right facade. + +- **Name:** ``overhangs_right_distance_to_bottom_of_window`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Skylights: Front Roof Area** + +The amount of skylight area on the unit's front conditioned roof facade. + +- **Name:** ``skylight_area_front`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Skylights: Back Roof Area** + +The amount of skylight area on the unit's back conditioned roof facade. + +- **Name:** ``skylight_area_back`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Skylights: Left Roof Area** + +The amount of skylight area on the unit's left conditioned roof facade (when viewed from the front). + +- **Name:** ``skylight_area_left`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Skylights: Right Roof Area** + +The amount of skylight area on the unit's right conditioned roof facade (when viewed from the front). + +- **Name:** ``skylight_area_right`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Skylights: U-Factor** + +Full-assembly NFRC U-factor. + +- **Name:** ``skylight_ufactor`` +- **Type:** ``Double`` + +- **Units:** ``Btu/hr-ft^2-R`` + +- **Required:** ``true`` + +
+ +**Skylights: SHGC** + +Full-assembly NFRC solar heat gain coefficient. + +- **Name:** ``skylight_shgc`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Skylights: Storm Type** + +The type of storm, if present. If not provided, assumes there is no storm. + +- **Name:** ``skylight_storm_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `clear`, `low-e` + +
+ +**Doors: Area** + +The area of the opaque door(s). + +- **Name:** ``door_area`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Doors: R-value** + +R-value of the opaque door(s). + +- **Name:** ``door_rvalue`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Air Leakage: Units** + +The unit of measure for the air leakage. + +- **Name:** ``air_leakage_units`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `ACH`, `CFM`, `ACHnatural`, `CFMnatural`, `EffectiveLeakageArea` + +
+ +**Air Leakage: House Pressure** + +The house pressure relative to outside. Required when units are ACH or CFM. + +- **Name:** ``air_leakage_house_pressure`` +- **Type:** ``Double`` + +- **Units:** ``Pa`` + +- **Required:** ``true`` + +
+ +**Air Leakage: Value** + +Air exchange rate value. For 'EffectiveLeakageArea', provide value in sq. in. + +- **Name:** ``air_leakage_value`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Air Leakage: Type** + +Type of air leakage. If 'unit total', represents the total infiltration to the unit as measured by a compartmentalization test, in which case the air leakage value will be adjusted by the ratio of exterior envelope surface area to total envelope surface area. Otherwise, if 'unit exterior only', represents the infiltration to the unit from outside only as measured by a guarded test. Required when unit type is single-family attached or apartment unit. + +- **Name:** ``air_leakage_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `unit total`, `unit exterior only` + +
+ +**Heating System: Type** + +The type of heating system. Use 'none' if there is no heating system or if there is a heat pump serving a heating load. + +- **Name:** ``heating_system_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `Furnace`, `WallFurnace`, `FloorFurnace`, `Boiler`, `ElectricResistance`, `Stove`, `SpaceHeater`, `Fireplace`, `Shared Boiler w/ Baseboard`, `Shared Boiler w/ Ductless Fan Coil` + +
+ +**Heating System: Fuel Type** + +The fuel type of the heating system. Ignored for ElectricResistance. + +- **Name:** ``heating_system_fuel`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets`, `coal` + +
+ +**Heating System: Rated AFUE or Percent** + +The rated heating efficiency value of the heating system. + +- **Name:** ``heating_system_heating_efficiency`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Heating System: Heating Capacity** + +The output heating capacity of the heating system. If not provided, the OS-HPXML autosized default (see HPXML Heating Systems) is used. + +- **Name:** ``heating_system_heating_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heating System: Heating Autosizing Factor** + +The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + +- **Name:** ``heating_system_heating_autosizing_factor`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heating System: Heating Autosizing Limit** + +The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + +- **Name:** ``heating_system_heating_autosizing_limit`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heating System: Fraction Heat Load Served** + +The heating load served by the heating system. + +- **Name:** ``heating_system_fraction_heat_load_served`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Heating System: Pilot Light** + +The fuel usage of the pilot light. Applies only to Furnace, WallFurnace, FloorFurnace, Stove, Boiler, and Fireplace with non-electric fuel type. If not provided, assumes no pilot light. + +- **Name:** ``heating_system_pilot_light`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Cooling System: Type** + +The type of cooling system. Use 'none' if there is no cooling system or if there is a heat pump serving a cooling load. + +- **Name:** ``cooling_system_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `central air conditioner`, `room air conditioner`, `evaporative cooler`, `mini-split`, `packaged terminal air conditioner` + +
+ +**Cooling System: Efficiency Type** + +The efficiency type of the cooling system. System types central air conditioner and mini-split use SEER or SEER2. System types room air conditioner and packaged terminal air conditioner use EER or CEER. Ignored for system type evaporative cooler. + +- **Name:** ``cooling_system_cooling_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `SEER`, `SEER2`, `EER`, `CEER` + +
+ +**Cooling System: Efficiency** + +The rated efficiency value of the cooling system. Ignored for evaporative cooler. + +- **Name:** ``cooling_system_cooling_efficiency`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Cooling System: Cooling Compressor Type** + +The compressor type of the cooling system. Only applies to central air conditioner and mini-split. If not provided, the OS-HPXML default (see Central Air Conditioner, Mini-Split Air Conditioner) is used. + +- **Name:** ``cooling_system_cooling_compressor_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `single stage`, `two stage`, `variable speed` + +
+ +**Cooling System: Cooling Sensible Heat Fraction** + +The sensible heat fraction of the cooling system. Ignored for evaporative cooler. If not provided, the OS-HPXML default (see Central Air Conditioner, Room Air Conditioner, Packaged Terminal Air Conditioner, Mini-Split Air Conditioner) is used. + +- **Name:** ``cooling_system_cooling_sensible_heat_fraction`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Cooling System: Cooling Capacity** + +The output cooling capacity of the cooling system. If not provided, the OS-HPXML autosized default (see Central Air Conditioner, Room Air Conditioner, Packaged Terminal Air Conditioner, Evaporative Cooler, Mini-Split Air Conditioner) is used. + +- **Name:** ``cooling_system_cooling_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Cooling System: Cooling Autosizing Factor** + +The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + +- **Name:** ``cooling_system_cooling_autosizing_factor`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Cooling System: Cooling Autosizing Limit** + +The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + +- **Name:** ``cooling_system_cooling_autosizing_limit`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Cooling System: Fraction Cool Load Served** + +The cooling load served by the cooling system. + +- **Name:** ``cooling_system_fraction_cool_load_served`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Cooling System: Is Ducted** + +Whether the cooling system is ducted or not. Only used for mini-split and evaporative cooler. It's assumed that central air conditioner is ducted, and room air conditioner and packaged terminal air conditioner are not ducted. + +- **Name:** ``cooling_system_is_ducted`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `true`, `false` + +
+ +**Cooling System: Crankcase Heater Power Watts** + +Cooling system crankcase heater power consumption in Watts. Applies only to central air conditioner, room air conditioner, packaged terminal air conditioner and mini-split. If not provided, the OS-HPXML default (see Central Air Conditioner, Room Air Conditioner, Packaged Terminal Air Conditioner, Mini-Split Air Conditioner) is used. + +- **Name:** ``cooling_system_crankcase_heater_watts`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Cooling System: Integrated Heating System Fuel Type** + +The fuel type of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + +- **Name:** ``cooling_system_integrated_heating_system_fuel`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets`, `coal` + +
+ +**Cooling System: Integrated Heating System Efficiency** + +The rated heating efficiency value of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + +- **Name:** ``cooling_system_integrated_heating_system_efficiency_percent`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Cooling System: Integrated Heating System Heating Capacity** + +The output heating capacity of the heating system integrated into cooling system. If not provided, the OS-HPXML autosized default (see Room Air Conditioner, Packaged Terminal Air Conditioner) is used. Only used for room air conditioner and packaged terminal air conditioner. + +- **Name:** ``cooling_system_integrated_heating_system_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Cooling System: Integrated Heating System Fraction Heat Load Served** + +The heating load served by the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + +- **Name:** ``cooling_system_integrated_heating_system_fraction_heat_load_served`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Type** + +The type of heat pump. Use 'none' if there is no heat pump. + +- **Name:** ``heat_pump_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `air-to-air`, `mini-split`, `ground-to-air`, `packaged terminal heat pump`, `room air conditioner with reverse cycle` + +
+ +**Heat Pump: Heating Efficiency Type** + +The heating efficiency type of heat pump. System types air-to-air and mini-split use HSPF or HSPF2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use COP. + +- **Name:** ``heat_pump_heating_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `HSPF`, `HSPF2`, `COP` + +
+ +**Heat Pump: Heating Efficiency** + +The rated heating efficiency value of the heat pump. + +- **Name:** ``heat_pump_heating_efficiency`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Heat Pump: Cooling Efficiency Type** + +The cooling efficiency type of heat pump. System types air-to-air and mini-split use SEER or SEER2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use EER. + +- **Name:** ``heat_pump_cooling_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `SEER`, `SEER2`, `EER`, `CEER` + +
+ +**Heat Pump: Cooling Efficiency** + +The rated cooling efficiency value of the heat pump. + +- **Name:** ``heat_pump_cooling_efficiency`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Heat Pump: Cooling Compressor Type** + +The compressor type of the heat pump. Only applies to air-to-air and mini-split. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump) is used. + +- **Name:** ``heat_pump_cooling_compressor_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `single stage`, `two stage`, `variable speed` + +
+ +**Heat Pump: Cooling Sensible Heat Fraction** + +The sensible heat fraction of the heat pump. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle, Ground-to-Air Heat Pump) is used. + +- **Name:** ``heat_pump_cooling_sensible_heat_fraction`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Heating Capacity** + +The output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle, Ground-to-Air Heat Pump) is used. + +- **Name:** ``heat_pump_heating_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Heating Autosizing Factor** + +The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + +- **Name:** ``heat_pump_heating_autosizing_factor`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Heating Autosizing Limit** + +The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + +- **Name:** ``heat_pump_heating_autosizing_limit`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Heating Capacity Retention Fraction** + +The output heating capacity of the heat pump at a user-specified temperature (e.g., 17F or 5F) divided by the above nominal heating capacity. Applies to all heat pump types except ground-to-air. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle) is used. + +- **Name:** ``heat_pump_heating_capacity_retention_fraction`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Heating Capacity Retention Temperature** + +The user-specified temperature (e.g., 17F or 5F) for the above heating capacity retention fraction. Applies to all heat pump types except ground-to-air. Required if the Heating Capacity Retention Fraction is provided. + +- **Name:** ``heat_pump_heating_capacity_retention_temp`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Cooling Capacity** + +The output cooling capacity of the heat pump. If not provided, the OS-HPXML autosized default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle, Ground-to-Air Heat Pump) is used. + +- **Name:** ``heat_pump_cooling_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Cooling Autosizing Factor** + +The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + +- **Name:** ``heat_pump_cooling_autosizing_factor`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Cooling Autosizing Limit** + +The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + +- **Name:** ``heat_pump_cooling_autosizing_limit`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Fraction Heat Load Served** + +The heating load served by the heat pump. + +- **Name:** ``heat_pump_fraction_heat_load_served`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Heat Pump: Fraction Cool Load Served** + +The cooling load served by the heat pump. + +- **Name:** ``heat_pump_fraction_cool_load_served`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Heat Pump: Compressor Lockout Temperature** + +The temperature below which the heat pump compressor is disabled. If both this and Backup Heating Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies to all heat pump types other than ground-to-air. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle) is used. + +- **Name:** ``heat_pump_compressor_lockout_temp`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Backup Type** + +The backup type of the heat pump. If 'integrated', represents e.g. built-in electric strip heat or dual-fuel integrated furnace. If 'separate', represents e.g. electric baseboard or boiler based on the Heating System 2 specified below. Use 'none' if there is no backup heating. + +- **Name:** ``heat_pump_backup_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `integrated`, `separate` + +
+ +**Heat Pump: Backup Heating Autosizing Factor** + +The capacity scaling factor applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, 1.0 is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Factor. + +- **Name:** ``heat_pump_backup_heating_autosizing_factor`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Backup Heating Autosizing Limit** + +The maximum capacity limit applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, no limit is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Limit. + +- **Name:** ``heat_pump_backup_heating_autosizing_limit`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Backup Fuel Type** + +The backup fuel type of the heat pump. Only applies if Backup Type is 'integrated'. + +- **Name:** ``heat_pump_backup_fuel`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane` + +
+ +**Heat Pump: Backup Rated Efficiency** + +The backup rated efficiency value of the heat pump. Percent for electricity fuel type. AFUE otherwise. Only applies if Backup Type is 'integrated'. + +- **Name:** ``heat_pump_backup_heating_efficiency`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Heat Pump: Backup Heating Capacity** + +The backup output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see Backup) is used. Only applies if Backup Type is 'integrated'. + +- **Name:** ``heat_pump_backup_heating_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Backup Heating Lockout Temperature** + +The temperature above which the heat pump backup system is disabled. If both this and Compressor Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies for both Backup Type of 'integrated' and 'separate'. If not provided, the OS-HPXML default (see Backup) is used. + +- **Name:** ``heat_pump_backup_heating_lockout_temp`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Sizing Methodology** + +The auto-sizing methodology to use when the heat pump capacity is not provided. If not provided, the OS-HPXML default (see HPXML HVAC Sizing Control) is used. + +- **Name:** ``heat_pump_sizing_methodology`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `ACCA`, `HERS`, `MaxLoad` + +
+ +**Heat Pump: Backup Sizing Methodology** + +The auto-sizing methodology to use when the heat pump backup capacity is not provided. If not provided, the OS-HPXML default (see HPXML HVAC Sizing Control) is used. + +- **Name:** ``heat_pump_backup_sizing_methodology`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `emergency`, `supplemental` + +
+ +**Heat Pump: Is Ducted** + +Whether the heat pump is ducted or not. Only used for mini-split. It's assumed that air-to-air and ground-to-air are ducted, and packaged terminal heat pump and room air conditioner with reverse cycle are not ducted. If not provided, assumes not ducted. + +- **Name:** ``heat_pump_is_ducted`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `true`, `false` + +
+ +**Heat Pump: Crankcase Heater Power Watts** + +Heat Pump crankcase heater power consumption in Watts. Applies only to air-to-air, mini-split, packaged terminal heat pump and room air conditioner with reverse cycle. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle) is used. + +- **Name:** ``heat_pump_crankcase_heater_watts`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Capacity Type** + +Type of capacity values for detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). + +- **Name:** ``hvac_perf_data_capacity_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `Absolute capacities`, `Normalized capacity fractions` + +
+ +**HVAC Detailed Performance Data: Heating Outdoor Temperatures** + +Outdoor temperatures of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 47 deg-F. At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_heating_outdoor_temperatures`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Heating Minimum Speed Capacities** + +Minimum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_heating_min_speed_capacities`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Heating Maximum Speed Capacities** + +Maximum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_heating_max_speed_capacities`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Heating Minimum Speed COPs** + +Minimum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_heating_min_speed_cops`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Heating Maximum Speed COPs** + +Maximum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_heating_max_speed_cops`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Cooling Outdoor Temperatures** + +Outdoor temperatures of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 95 deg-F. At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_cooling_outdoor_temperatures`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Cooling Minimum Speed Capacities** + +Minimum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_cooling_min_speed_capacities`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Cooling Maximum Speed Capacities** + +Maximum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_cooling_max_speed_capacities`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Cooling Minimum Speed COPs** + +Minimum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_cooling_min_speed_cops`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Detailed Performance Data: Cooling Maximum Speed COPs** + +Maximum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + +- **Name:** ``hvac_perf_data_cooling_max_speed_cops`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geothermal Loop: Configuration** + +Configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see Ground-to-Air Heat Pump) is used. + +- **Name:** ``geothermal_loop_configuration`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `none`, `vertical` + +
+ +**Geothermal Loop: Borefield Configuration** + +Borefield configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. + +- **Name:** ``geothermal_loop_borefield_configuration`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `Rectangle`, `Open Rectangle`, `C`, `L`, `U`, `Lopsided U` + +
+ +**Geothermal Loop: Loop Flow** + +Water flow rate through the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see HPXML Geothermal Loops) is used. + +- **Name:** ``geothermal_loop_loop_flow`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geothermal Loop: Boreholes Count** + +Number of boreholes. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see HPXML Geothermal Loops) is used. + +- **Name:** ``geothermal_loop_boreholes_count`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geothermal Loop: Boreholes Length** + +Average length of each borehole (vertical). Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see HPXML Geothermal Loops) is used. + +- **Name:** ``geothermal_loop_boreholes_length`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geothermal Loop: Boreholes Spacing** + +Distance between bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. + +- **Name:** ``geothermal_loop_boreholes_spacing`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geothermal Loop: Boreholes Diameter** + +Diameter of bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. + +- **Name:** ``geothermal_loop_boreholes_diameter`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geothermal Loop: Grout Type** + +Grout type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. + +- **Name:** ``geothermal_loop_grout_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `standard`, `thermally enhanced` + +
+ +**Geothermal Loop: Pipe Type** + +Pipe type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. + +- **Name:** ``geothermal_loop_pipe_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `standard`, `thermally enhanced` + +
+ +**Geothermal Loop: Pipe Diameter** + +Pipe diameter of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. + +- **Name:** ``geothermal_loop_pipe_diameter`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `3/4" pipe`, `1" pipe`, `1-1/4" pipe` + +
+ +**Heating System 2: Type** + +The type of the second heating system. + +- **Name:** ``heating_system_2_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `Furnace`, `WallFurnace`, `FloorFurnace`, `Boiler`, `ElectricResistance`, `Stove`, `SpaceHeater`, `Fireplace` + +
+ +**Heating System 2: Fuel Type** + +The fuel type of the second heating system. Ignored for ElectricResistance. + +- **Name:** ``heating_system_2_fuel`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets`, `coal` + +
+ +**Heating System 2: Rated AFUE or Percent** + +The rated heating efficiency value of the second heating system. + +- **Name:** ``heating_system_2_heating_efficiency`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Heating System 2: Heating Capacity** + +The output heating capacity of the second heating system. If not provided, the OS-HPXML autosized default (see HPXML Heating Systems) is used. + +- **Name:** ``heating_system_2_heating_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heating System 2: Heating Autosizing Factor** + +The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + +- **Name:** ``heating_system_2_heating_autosizing_factor`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heating System 2: Heating Autosizing Limit** + +The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + +- **Name:** ``heating_system_2_heating_autosizing_limit`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Heating System 2: Fraction Heat Load Served** + +The heat load served fraction of the second heating system. Ignored if this heating system serves as a backup system for a heat pump. + +- **Name:** ``heating_system_2_fraction_heat_load_served`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**HVAC Control: Heating Season Period** + +Enter a date like 'Nov 1 - Jun 30'. If not provided, the OS-HPXML default (see HPXML HVAC Control) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + +- **Name:** ``hvac_control_heating_season_period`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Control: Cooling Season Period** + +Enter a date like 'Jun 1 - Oct 31'. If not provided, the OS-HPXML default (see HPXML HVAC Control) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + +- **Name:** ``hvac_control_cooling_season_period`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**HVAC Blower: Fan Efficiency** + +The blower fan efficiency at maximum fan speed. Applies only to split (not packaged) systems (i.e., applies to ducted systems as well as ductless mini-split systems). If not provided, the OS-HPXML default (see HPXML Heating Systems, HPXML Cooling Systems, HPXML Heat Pumps) is used. + +- **Name:** ``hvac_blower_fan_watts_per_cfm`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ducts: Leakage Units** + +The leakage units of the ducts. + +- **Name:** ``ducts_leakage_units`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `CFM25`, `CFM50`, `Percent` + +
+ +**Ducts: Supply Leakage to Outside Value** + +The leakage value to outside for the supply ducts. + +- **Name:** ``ducts_supply_leakage_to_outside_value`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Ducts: Supply Location** + +The location of the supply ducts. If not provided, the OS-HPXML default (see Air Distribution) is used. + +- **Name:** ``ducts_supply_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `crawlspace`, `crawlspace - vented`, `crawlspace - unvented`, `crawlspace - conditioned`, `attic`, `attic - vented`, `attic - unvented`, `garage`, `exterior wall`, `under slab`, `roof deck`, `outside`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space`, `manufactured home belly` + +
+ +**Ducts: Supply Insulation R-Value** + +The nominal insulation r-value of the supply ducts excluding air films. Use 0 for uninsulated ducts. + +- **Name:** ``ducts_supply_insulation_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Ducts: Supply Buried Insulation Level** + +Whether the supply 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. + +- **Name:** ``ducts_supply_buried_insulation_level`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `not buried`, `partially buried`, `fully buried`, `deeply buried` + +
+ +**Ducts: Supply Surface Area** + +The supply ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see Air Distribution) is used. + +- **Name:** ``ducts_supply_surface_area`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ducts: Supply Area Fraction** + +The fraction of supply ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see Air Distribution) is used. + +- **Name:** ``ducts_supply_surface_area_fraction`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ducts: Supply Fraction Rectangular** + +The fraction of supply ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see Air Distribution) is used. + +- **Name:** ``ducts_supply_fraction_rectangular`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ducts: Return Leakage to Outside Value** + +The leakage value to outside for the return ducts. + +- **Name:** ``ducts_return_leakage_to_outside_value`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Ducts: Return Location** + +The location of the return ducts. If not provided, the OS-HPXML default (see Air Distribution) is used. + +- **Name:** ``ducts_return_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `crawlspace`, `crawlspace - vented`, `crawlspace - unvented`, `crawlspace - conditioned`, `attic`, `attic - vented`, `attic - unvented`, `garage`, `exterior wall`, `under slab`, `roof deck`, `outside`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space`, `manufactured home belly` + +
+ +**Ducts: Return Insulation R-Value** + +The nominal insulation r-value of the return ducts excluding air films. Use 0 for uninsulated ducts. + +- **Name:** ``ducts_return_insulation_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Ducts: Return Buried Insulation Level** + +Whether the return 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. + +- **Name:** ``ducts_return_buried_insulation_level`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `not buried`, `partially buried`, `fully buried`, `deeply buried` + +
+ +**Ducts: Return Surface Area** + +The return ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see Air Distribution) is used. + +- **Name:** ``ducts_return_surface_area`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ducts: Return Area Fraction** + +The fraction of return ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see Air Distribution) is used. + +- **Name:** ``ducts_return_surface_area_fraction`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ducts: Number of Return Registers** + +The number of return registers of the ducts. Only used to calculate default return duct surface area. If not provided, the OS-HPXML default (see Air Distribution) is used. + +- **Name:** ``ducts_number_of_return_registers`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ducts: Return Fraction Rectangular** + +The fraction of return ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see Air Distribution) is used. + +- **Name:** ``ducts_return_fraction_rectangular`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Mechanical Ventilation: Fan Type** + +The type of the mechanical ventilation. Use 'none' if there is no mechanical ventilation system. + +- **Name:** ``mech_vent_fan_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `exhaust only`, `supply only`, `energy recovery ventilator`, `heat recovery ventilator`, `balanced`, `central fan integrated supply` + +
+ +**Mechanical Ventilation: Flow Rate** + +The flow rate of the mechanical ventilation. If not provided, the OS-HPXML default (see HPXML Mechanical Ventilation Fans) is used. + +- **Name:** ``mech_vent_flow_rate`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Mechanical Ventilation: Hours In Operation** + +The hours in operation of the mechanical ventilation. If not provided, the OS-HPXML default (see HPXML Mechanical Ventilation Fans) is used. + +- **Name:** ``mech_vent_hours_in_operation`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Mechanical Ventilation: Total Recovery Efficiency Type** + +The total recovery efficiency type of the mechanical ventilation. + +- **Name:** ``mech_vent_recovery_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `Unadjusted`, `Adjusted` + +
+ +**Mechanical Ventilation: Total Recovery Efficiency** + +The Unadjusted or Adjusted total recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator. + +- **Name:** ``mech_vent_total_recovery_efficiency`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Mechanical Ventilation: Sensible Recovery Efficiency** + +The Unadjusted or Adjusted sensible recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + +- **Name:** ``mech_vent_sensible_recovery_efficiency`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Mechanical Ventilation: Fan Power** + +The fan power of the mechanical ventilation. If not provided, the OS-HPXML default (see HPXML Mechanical Ventilation Fans) is used. + +- **Name:** ``mech_vent_fan_power`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Mechanical Ventilation: Number of Units Served** + +Number of dwelling units served by the mechanical ventilation system. Must be 1 if single-family detached. Used to apportion flow rate and fan power to the unit. + +- **Name:** ``mech_vent_num_units_served`` +- **Type:** ``Integer`` + +- **Units:** ``#`` + +- **Required:** ``true`` + +
+ +**Shared Mechanical Ventilation: Fraction Recirculation** + +Fraction of the total supply air that is recirculated, with the remainder assumed to be outdoor air. The value must be 0 for exhaust only systems. Required for a shared mechanical ventilation system. + +- **Name:** ``mech_vent_shared_frac_recirculation`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Shared Mechanical Ventilation: Preheating Fuel** + +Fuel type of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + +- **Name:** ``mech_vent_shared_preheating_fuel`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets`, `coal` + +
+ +**Shared Mechanical Ventilation: Preheating Efficiency** + +Efficiency of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + +- **Name:** ``mech_vent_shared_preheating_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Shared Mechanical Ventilation: Preheating Fraction Ventilation Heat Load Served** + +Fraction of heating load introduced by the shared ventilation system that is met by the preconditioning heating equipment. If not provided, assumes no preheating. + +- **Name:** ``mech_vent_shared_preheating_fraction_heat_load_served`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Shared Mechanical Ventilation: Precooling Fuel** + +Fuel type of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + +- **Name:** ``mech_vent_shared_precooling_fuel`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `electricity` + +
+ +**Shared Mechanical Ventilation: Precooling Efficiency** + +Efficiency of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + +- **Name:** ``mech_vent_shared_precooling_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Shared Mechanical Ventilation: Precooling Fraction Ventilation Cool Load Served** + +Fraction of cooling load introduced by the shared ventilation system that is met by the preconditioning cooling equipment. If not provided, assumes no precooling. + +- **Name:** ``mech_vent_shared_precooling_fraction_cool_load_served`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Mechanical Ventilation 2: Fan Type** + +The type of the second mechanical ventilation. Use 'none' if there is no second mechanical ventilation system. + +- **Name:** ``mech_vent_2_fan_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `exhaust only`, `supply only`, `energy recovery ventilator`, `heat recovery ventilator`, `balanced` + +
+ +**Mechanical Ventilation 2: Flow Rate** + +The flow rate of the second mechanical ventilation. + +- **Name:** ``mech_vent_2_flow_rate`` +- **Type:** ``Double`` + +- **Units:** ``CFM`` + +- **Required:** ``true`` + +
+ +**Mechanical Ventilation 2: Hours In Operation** + +The hours in operation of the second mechanical ventilation. + +- **Name:** ``mech_vent_2_hours_in_operation`` +- **Type:** ``Double`` + +- **Units:** ``hrs/day`` + +- **Required:** ``true`` + +
+ +**Mechanical Ventilation 2: Total Recovery Efficiency Type** + +The total recovery efficiency type of the second mechanical ventilation. + +- **Name:** ``mech_vent_2_recovery_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `Unadjusted`, `Adjusted` + +
+ +**Mechanical Ventilation 2: Total Recovery Efficiency** + +The Unadjusted or Adjusted total recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator. + +- **Name:** ``mech_vent_2_total_recovery_efficiency`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Mechanical Ventilation 2: Sensible Recovery Efficiency** + +The Unadjusted or Adjusted sensible recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + +- **Name:** ``mech_vent_2_sensible_recovery_efficiency`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Mechanical Ventilation 2: Fan Power** + +The fan power of the second mechanical ventilation. + +- **Name:** ``mech_vent_2_fan_power`` +- **Type:** ``Double`` + +- **Units:** ``W`` + +- **Required:** ``true`` + +
+ +**Kitchen Fans: Quantity** + +The quantity of the kitchen fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``kitchen_fans_quantity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Kitchen Fans: Flow Rate** + +The flow rate of the kitchen fan. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``kitchen_fans_flow_rate`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Kitchen Fans: Hours In Operation** + +The hours in operation of the kitchen fan. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``kitchen_fans_hours_in_operation`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Kitchen Fans: Fan Power** + +The fan power of the kitchen fan. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``kitchen_fans_power`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Kitchen Fans: Start Hour** + +The start hour of the kitchen fan. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``kitchen_fans_start_hour`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Bathroom Fans: Quantity** + +The quantity of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``bathroom_fans_quantity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Bathroom Fans: Flow Rate** + +The flow rate of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``bathroom_fans_flow_rate`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Bathroom Fans: Hours In Operation** + +The hours in operation of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``bathroom_fans_hours_in_operation`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Bathroom Fans: Fan Power** + +The fan power of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``bathroom_fans_power`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Bathroom Fans: Start Hour** + +The start hour of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. + +- **Name:** ``bathroom_fans_start_hour`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Whole House Fan: Present** + +Whether there is a whole house fan. + +- **Name:** ``whole_house_fan_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Whole House Fan: Flow Rate** + +The flow rate of the whole house fan. If not provided, the OS-HPXML default (see HPXML Whole House Fans) is used. + +- **Name:** ``whole_house_fan_flow_rate`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Whole House Fan: Fan Power** + +The fan power of the whole house fan. If not provided, the OS-HPXML default (see HPXML Whole House Fans) is used. + +- **Name:** ``whole_house_fan_power`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Water Heater: Type** + +The type of water heater. Use 'none' if there is no water heater. + +- **Name:** ``water_heater_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `storage water heater`, `instantaneous water heater`, `heat pump water heater`, `space-heating boiler with storage tank`, `space-heating boiler with tankless coil` + +
+ +**Water Heater: Fuel Type** + +The fuel type of water heater. Ignored for heat pump water heater. + +- **Name:** ``water_heater_fuel_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `coal` + +
+ +**Water Heater: Location** + +The location of water heater. If not provided, the OS-HPXML default (see HPXML Water Heating Systems) is used. + +- **Name:** ``water_heater_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `attic`, `attic - vented`, `attic - unvented`, `crawlspace`, `crawlspace - vented`, `crawlspace - unvented`, `crawlspace - conditioned`, `other exterior`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` + +
+ +**Water Heater: Tank Volume** + +Nominal volume of water heater tank. Only applies to storage water heater, heat pump water heater, and space-heating boiler with storage tank. If not provided, the OS-HPXML default (see Conventional Storage, Heat Pump, Combi Boiler w/ Storage) is used. + +- **Name:** ``water_heater_tank_volume`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Water Heater: Efficiency Type** + +The efficiency type of water heater. Does not apply to space-heating boilers. + +- **Name:** ``water_heater_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `EnergyFactor`, `UniformEnergyFactor` + +
+ +**Water Heater: Efficiency** + +Rated Energy Factor or Uniform Energy Factor. Does not apply to space-heating boilers. + +- **Name:** ``water_heater_efficiency`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Water Heater: Usage Bin** + +The usage of the water heater. Only applies if Efficiency Type is UniformEnergyFactor and Type is not instantaneous water heater. Does not apply to space-heating boilers. If not provided, the OS-HPXML default (see Conventional Storage, Heat Pump) is used. + +- **Name:** ``water_heater_usage_bin`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `very small`, `low`, `medium`, `high` + +
+ +**Water Heater: Recovery Efficiency** + +Ratio of energy delivered to water heater to the energy content of the fuel consumed by the water heater. Only used for non-electric storage water heaters. If not provided, the OS-HPXML default (see Conventional Storage) is used. + +- **Name:** ``water_heater_recovery_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Water Heater: Heating Capacity** + +Heating capacity. Only applies to storage water heater. If not provided, the OS-HPXML default (see Conventional Storage) is used. + +- **Name:** ``water_heater_heating_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Water Heater: Standby Loss** + +The standby loss of water heater. Only applies to space-heating boilers. If not provided, the OS-HPXML default (see Combi Boiler w/ Storage) is used. + +- **Name:** ``water_heater_standby_loss`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Water Heater: Jacket R-value** + +The jacket R-value of water heater. Doesn't apply to instantaneous water heater or space-heating boiler with tankless coil. If not provided, defaults to no jacket insulation. + +- **Name:** ``water_heater_jacket_rvalue`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Water Heater: Setpoint Temperature** + +The setpoint temperature of water heater. If not provided, the OS-HPXML default (see HPXML Water Heating Systems) is used. + +- **Name:** ``water_heater_setpoint_temperature`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Water Heater: Number of Bedrooms Served** + +Number of bedrooms served (directly or indirectly) by the water heater. Only needed if single-family attached or apartment unit and it is a shared water heater serving multiple dwelling units. Used to apportion water heater tank losses to the unit. + +- **Name:** ``water_heater_num_bedrooms_served`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Water Heater: Uses Desuperheater** + +Requires that the dwelling unit has a air-to-air, mini-split, or ground-to-air heat pump or a central air conditioner or mini-split air conditioner. If not provided, assumes no desuperheater. + +- **Name:** ``water_heater_uses_desuperheater`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `true`, `false` + +
+ +**Water Heater: Tank Type** + +Type of tank model to use. The 'stratified' tank generally provide more accurate results, but may significantly increase run time. Applies only to storage water heater. If not provided, the OS-HPXML default (see Conventional Storage) is used. + +- **Name:** ``water_heater_tank_model_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `mixed`, `stratified` + +
+ +**Water Heater: Operating Mode** + +The water heater operating mode. The 'heat pump only' option only uses the heat pump, while 'hybrid/auto' allows the backup electric resistance to come on in high demand situations. This is ignored if a scheduled operating mode type is selected. Applies only to heat pump water heater. If not provided, the OS-HPXML default (see Heat Pump) is used. + +- **Name:** ``water_heater_operating_mode`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `hybrid/auto`, `heat pump only` + +
+ +**Hot Water Distribution: System Type** + +The type of the hot water distribution system. + +- **Name:** ``hot_water_distribution_system_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `Standard`, `Recirculation` + +
+ +**Hot Water Distribution: Standard Piping Length** + +If the distribution system is Standard, the length of the piping. If not provided, the OS-HPXML default (see Standard) is used. + +- **Name:** ``hot_water_distribution_standard_piping_length`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Hot Water Distribution: Recirculation Control Type** + +If the distribution system is Recirculation, the type of hot water recirculation control, if any. + +- **Name:** ``hot_water_distribution_recirc_control_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `no control`, `timer`, `temperature`, `presence sensor demand control`, `manual demand control` + +
+ +**Hot Water Distribution: Recirculation Piping Length** + +If the distribution system is Recirculation, the length of the recirculation piping. If not provided, the OS-HPXML default (see Recirculation (In-Unit)) is used. + +- **Name:** ``hot_water_distribution_recirc_piping_length`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Hot Water Distribution: Recirculation Branch Piping Length** + +If the distribution system is Recirculation, the length of the recirculation branch piping. If not provided, the OS-HPXML default (see Recirculation (In-Unit)) is used. + +- **Name:** ``hot_water_distribution_recirc_branch_piping_length`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Hot Water Distribution: Recirculation Pump Power** + +If the distribution system is Recirculation, the recirculation pump power. If not provided, the OS-HPXML default (see Recirculation (In-Unit)) is used. + +- **Name:** ``hot_water_distribution_recirc_pump_power`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Hot Water Distribution: Pipe Insulation Nominal R-Value** + +Nominal R-value of the pipe insulation. If not provided, the OS-HPXML default (see HPXML Hot Water Distribution) is used. + +- **Name:** ``hot_water_distribution_pipe_r`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Drain Water Heat Recovery: Facilities Connected** + +Which facilities are connected for the drain water heat recovery. Use 'none' if there is no drain water heat recovery system. + +- **Name:** ``dwhr_facilities_connected`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `one`, `all` + +
+ +**Drain Water Heat Recovery: Equal Flow** + +Whether the drain water heat recovery has equal flow. + +- **Name:** ``dwhr_equal_flow`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `true`, `false` + +
+ +**Drain Water Heat Recovery: Efficiency** + +The efficiency of the drain water heat recovery. + +- **Name:** ``dwhr_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Hot Water Fixtures: Is Shower Low Flow** + +Whether the shower fixture is low flow. + +- **Name:** ``water_fixtures_shower_low_flow`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Hot Water Fixtures: Is Sink Low Flow** + +Whether the sink fixture is low flow. + +- **Name:** ``water_fixtures_sink_low_flow`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Hot Water Fixtures: Usage Multiplier** + +Multiplier on the hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Water Fixtures) is used. + +- **Name:** ``water_fixtures_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**General Water Use: Usage Multiplier** + +Multiplier on internal gains from general water use (floor mopping, shower evaporation, water films on showers, tubs & sinks surfaces, plant watering, etc.) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Building Occupancy) is used. + +- **Name:** ``general_water_use_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Solar Thermal: System Type** + +The type of solar thermal system. Use 'none' if there is no solar thermal system. + +- **Name:** ``solar_thermal_system_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `hot water` + +
+ +**Solar Thermal: Collector Area** + +The collector area of the solar thermal system. + +- **Name:** ``solar_thermal_collector_area`` +- **Type:** ``Double`` + +- **Units:** ``ft^2`` + +- **Required:** ``true`` + +
+ +**Solar Thermal: Collector Loop Type** + +The collector loop type of the solar thermal system. + +- **Name:** ``solar_thermal_collector_loop_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `liquid direct`, `liquid indirect`, `passive thermosyphon` + +
+ +**Solar Thermal: Collector Type** + +The collector type of the solar thermal system. + +- **Name:** ``solar_thermal_collector_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `evacuated tube`, `single glazing black`, `double glazing black`, `integrated collector storage` + +
+ +**Solar Thermal: Collector Azimuth** + +The collector azimuth of the solar thermal system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + +- **Name:** ``solar_thermal_collector_azimuth`` +- **Type:** ``Double`` + +- **Units:** ``degrees`` + +- **Required:** ``true`` + +
+ +**Solar Thermal: Collector Tilt** + +The collector tilt of the solar thermal system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + +- **Name:** ``solar_thermal_collector_tilt`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Solar Thermal: Collector Rated Optical Efficiency** + +The collector rated optical efficiency of the solar thermal system. + +- **Name:** ``solar_thermal_collector_rated_optical_efficiency`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Solar Thermal: Collector Rated Thermal Losses** + +The collector rated thermal losses of the solar thermal system. + +- **Name:** ``solar_thermal_collector_rated_thermal_losses`` +- **Type:** ``Double`` + +- **Units:** ``Btu/hr-ft^2-R`` + +- **Required:** ``true`` + +
+ +**Solar Thermal: Storage Volume** + +The storage volume of the solar thermal system. If not provided, the OS-HPXML default (see Detailed Inputs) is used. + +- **Name:** ``solar_thermal_storage_volume`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Solar Thermal: Solar Fraction** + +The solar fraction of the solar thermal system. If provided, overrides all other solar thermal inputs. + +- **Name:** ``solar_thermal_solar_fraction`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**PV System: Present** + +Whether there is a PV system present. + +- **Name:** ``pv_system_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**PV System: Module Type** + +Module type of the PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. + +- **Name:** ``pv_system_module_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `standard`, `premium`, `thin film` + +
+ +**PV System: Location** + +Location of the PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. + +- **Name:** ``pv_system_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `roof`, `ground` + +
+ +**PV System: Tracking** + +Type of tracking for the PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. + +- **Name:** ``pv_system_tracking`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `fixed`, `1-axis`, `1-axis backtracked`, `2-axis` + +
+ +**PV System: Array Azimuth** + +Array azimuth of the PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + +- **Name:** ``pv_system_array_azimuth`` +- **Type:** ``Double`` + +- **Units:** ``degrees`` + +- **Required:** ``true`` + +
+ +**PV System: Array Tilt** + +Array tilt of the PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + +- **Name:** ``pv_system_array_tilt`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**PV System: Maximum Power Output** + +Maximum power output of the PV system. For a shared system, this is the total building maximum power output. + +- **Name:** ``pv_system_max_power_output`` +- **Type:** ``Double`` + +- **Units:** ``W`` + +- **Required:** ``true`` + +
+ +**PV System: Inverter Efficiency** + +Inverter efficiency of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. + +- **Name:** ``pv_system_inverter_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**PV System: System Losses Fraction** + +System losses fraction of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. + +- **Name:** ``pv_system_system_losses_fraction`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**PV System 2: Present** + +Whether there is a second PV system present. + +- **Name:** ``pv_system_2_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**PV System 2: Module Type** + +Module type of the second PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. + +- **Name:** ``pv_system_2_module_type`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `standard`, `premium`, `thin film` + +
+ +**PV System 2: Location** + +Location of the second PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. + +- **Name:** ``pv_system_2_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `roof`, `ground` + +
+ +**PV System 2: Tracking** + +Type of tracking for the second PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. + +- **Name:** ``pv_system_2_tracking`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `fixed`, `1-axis`, `1-axis backtracked`, `2-axis` + +
+ +**PV System 2: Array Azimuth** + +Array azimuth of the second PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + +- **Name:** ``pv_system_2_array_azimuth`` +- **Type:** ``Double`` + +- **Units:** ``degrees`` + +- **Required:** ``true`` + +
+ +**PV System 2: Array Tilt** + +Array tilt of the second PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + +- **Name:** ``pv_system_2_array_tilt`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**PV System 2: Maximum Power Output** + +Maximum power output of the second PV system. For a shared system, this is the total building maximum power output. + +- **Name:** ``pv_system_2_max_power_output`` +- **Type:** ``Double`` + +- **Units:** ``W`` + +- **Required:** ``true`` + +
+ +**Battery: Present** + +Whether there is a lithium ion battery present. + +- **Name:** ``battery_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Battery: Location** + +The space type for the lithium ion battery location. If not provided, the OS-HPXML default (see HPXML Batteries) is used. + +- **Name:** ``battery_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `crawlspace`, `crawlspace - vented`, `crawlspace - unvented`, `crawlspace - conditioned`, `attic`, `attic - vented`, `attic - unvented`, `garage`, `outside` + +
+ +**Battery: Rated Power Output** + +The rated power output of the lithium ion battery. If not provided, the OS-HPXML default (see HPXML Batteries) is used. + +- **Name:** ``battery_power`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Battery: Nominal Capacity** + +The nominal capacity of the lithium ion battery. If not provided, the OS-HPXML default (see HPXML Batteries) is used. + +- **Name:** ``battery_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Battery: Usable Capacity** + +The usable capacity of the lithium ion battery. If not provided, the OS-HPXML default (see HPXML Batteries) is used. + +- **Name:** ``battery_usable_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Battery: Round Trip Efficiency** + +The round trip efficiency of the lithium ion battery. If not provided, the OS-HPXML default (see HPXML Batteries) is used. + +- **Name:** ``battery_round_trip_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Lighting: Present** + +Whether there is lighting energy use. + +- **Name:** ``lighting_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Lighting: Interior Fraction CFL** + +Fraction of all lamps (interior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + +- **Name:** ``lighting_interior_fraction_cfl`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Lighting: Interior Fraction LFL** + +Fraction of all lamps (interior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + +- **Name:** ``lighting_interior_fraction_lfl`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Lighting: Interior Fraction LED** + +Fraction of all lamps (interior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + +- **Name:** ``lighting_interior_fraction_led`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Lighting: Interior Usage Multiplier** + +Multiplier on the lighting energy usage (interior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Lighting) is used. + +- **Name:** ``lighting_interior_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Lighting: Exterior Fraction CFL** + +Fraction of all lamps (exterior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + +- **Name:** ``lighting_exterior_fraction_cfl`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Lighting: Exterior Fraction LFL** + +Fraction of all lamps (exterior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + +- **Name:** ``lighting_exterior_fraction_lfl`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Lighting: Exterior Fraction LED** + +Fraction of all lamps (exterior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + +- **Name:** ``lighting_exterior_fraction_led`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Lighting: Exterior Usage Multiplier** + +Multiplier on the lighting energy usage (exterior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Lighting) is used. + +- **Name:** ``lighting_exterior_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Lighting: Garage Fraction CFL** + +Fraction of all lamps (garage) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + +- **Name:** ``lighting_garage_fraction_cfl`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Lighting: Garage Fraction LFL** + +Fraction of all lamps (garage) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + +- **Name:** ``lighting_garage_fraction_lfl`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Lighting: Garage Fraction LED** + +Fraction of all lamps (garage) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + +- **Name:** ``lighting_garage_fraction_led`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Lighting: Garage Usage Multiplier** + +Multiplier on the lighting energy usage (garage) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Lighting) is used. + +- **Name:** ``lighting_garage_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Holiday Lighting: Present** + +Whether there is holiday lighting. + +- **Name:** ``holiday_lighting_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Holiday Lighting: Daily Consumption** + +The daily energy consumption for holiday lighting (exterior). If not provided, the OS-HPXML default (see HPXML Lighting) is used. + +- **Name:** ``holiday_lighting_daily_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Holiday Lighting: Period** + +Enter a date like 'Nov 25 - Jan 5'. If not provided, the OS-HPXML default (see HPXML Lighting) is used. + +- **Name:** ``holiday_lighting_period`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Dehumidifier: Type** + +The type of dehumidifier. + +- **Name:** ``dehumidifier_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `portable`, `whole-home` + +
+ +**Dehumidifier: Efficiency Type** + +The efficiency type of dehumidifier. + +- **Name:** ``dehumidifier_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `EnergyFactor`, `IntegratedEnergyFactor` + +
+ +**Dehumidifier: Efficiency** + +The efficiency of the dehumidifier. + +- **Name:** ``dehumidifier_efficiency`` +- **Type:** ``Double`` + +- **Units:** ``liters/kWh`` + +- **Required:** ``true`` + +
+ +**Dehumidifier: Capacity** + +The capacity (water removal rate) of the dehumidifier. + +- **Name:** ``dehumidifier_capacity`` +- **Type:** ``Double`` + +- **Units:** ``pint/day`` + +- **Required:** ``true`` + +
+ +**Dehumidifier: Relative Humidity Setpoint** + +The relative humidity setpoint of the dehumidifier. + +- **Name:** ``dehumidifier_rh_setpoint`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Dehumidifier: Fraction Dehumidification Load Served** + +The dehumidification load served fraction of the dehumidifier. + +- **Name:** ``dehumidifier_fraction_dehumidification_load_served`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``true`` + +
+ +**Clothes Washer: Present** + +Whether there is a clothes washer present. + +- **Name:** ``clothes_washer_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Clothes Washer: Location** + +The space type for the clothes washer location. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. + +- **Name:** ``clothes_washer_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` + +
+ +**Clothes Washer: Efficiency Type** + +The efficiency type of the clothes washer. + +- **Name:** ``clothes_washer_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `ModifiedEnergyFactor`, `IntegratedModifiedEnergyFactor` + +
+ +**Clothes Washer: Efficiency** + +The efficiency of the clothes washer. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. + +- **Name:** ``clothes_washer_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Washer: Rated Annual Consumption** + +The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. + +- **Name:** ``clothes_washer_rated_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Washer: Label Electric Rate** + +The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. + +- **Name:** ``clothes_washer_label_electric_rate`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Washer: Label Gas Rate** + +The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. + +- **Name:** ``clothes_washer_label_gas_rate`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Washer: Label Annual Cost with Gas DHW** + +The annual cost of using the system under test conditions. Input is obtained from the EnergyGuide label. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. + +- **Name:** ``clothes_washer_label_annual_gas_cost`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Washer: Label Usage** + +The clothes washer loads per week. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. + +- **Name:** ``clothes_washer_label_usage`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Washer: Drum Volume** + +Volume of the washer drum. Obtained from the EnergyStar website or the manufacturer's literature. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. + +- **Name:** ``clothes_washer_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Washer: Usage Multiplier** + +Multiplier on the clothes washer energy and hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. + +- **Name:** ``clothes_washer_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Dryer: Present** + +Whether there is a clothes dryer present. + +- **Name:** ``clothes_dryer_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Clothes Dryer: Location** + +The space type for the clothes dryer location. If not provided, the OS-HPXML default (see HPXML Clothes Dryer) is used. + +- **Name:** ``clothes_dryer_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` + +
+ +**Clothes Dryer: Fuel Type** + +Type of fuel used by the clothes dryer. + +- **Name:** ``clothes_dryer_fuel_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `coal` + +
+ +**Clothes Dryer: Efficiency Type** + +The efficiency type of the clothes dryer. + +- **Name:** ``clothes_dryer_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `EnergyFactor`, `CombinedEnergyFactor` + +
+ +**Clothes Dryer: Efficiency** + +The efficiency of the clothes dryer. If not provided, the OS-HPXML default (see HPXML Clothes Dryer) is used. + +- **Name:** ``clothes_dryer_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Dryer: Vented Flow Rate** + +The exhaust flow rate of the vented clothes dryer. If not provided, the OS-HPXML default (see HPXML Clothes Dryer) is used. + +- **Name:** ``clothes_dryer_vented_flow_rate`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Clothes Dryer: Usage Multiplier** + +Multiplier on the clothes dryer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Clothes Dryer) is used. + +- **Name:** ``clothes_dryer_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Dishwasher: Present** + +Whether there is a dishwasher present. + +- **Name:** ``dishwasher_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Dishwasher: Location** + +The space type for the dishwasher location. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. + +- **Name:** ``dishwasher_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` + +
+ +**Dishwasher: Efficiency Type** + +The efficiency type of dishwasher. + +- **Name:** ``dishwasher_efficiency_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `RatedAnnualkWh`, `EnergyFactor` + +
+ +**Dishwasher: Efficiency** + +The efficiency of the dishwasher. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. + +- **Name:** ``dishwasher_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Dishwasher: Label Electric Rate** + +The label electric rate of the dishwasher. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. + +- **Name:** ``dishwasher_label_electric_rate`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Dishwasher: Label Gas Rate** + +The label gas rate of the dishwasher. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. + +- **Name:** ``dishwasher_label_gas_rate`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Dishwasher: Label Annual Gas Cost** + +The label annual gas cost of the dishwasher. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. + +- **Name:** ``dishwasher_label_annual_gas_cost`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Dishwasher: Label Usage** + +The dishwasher loads per week. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. + +- **Name:** ``dishwasher_label_usage`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Dishwasher: Number of Place Settings** + +The number of place settings for the unit. Data obtained from manufacturer's literature. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. + +- **Name:** ``dishwasher_place_setting_capacity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Dishwasher: Usage Multiplier** + +Multiplier on the dishwasher energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. + +- **Name:** ``dishwasher_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Refrigerator: Present** + +Whether there is a refrigerator present. + +- **Name:** ``refrigerator_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Refrigerator: Location** + +The space type for the refrigerator location. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. + +- **Name:** ``refrigerator_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` + +
+ +**Refrigerator: Rated Annual Consumption** + +The EnergyGuide rated annual energy consumption for a refrigerator. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. + +- **Name:** ``refrigerator_rated_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Refrigerator: Usage Multiplier** + +Multiplier on the refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. + +- **Name:** ``refrigerator_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Extra Refrigerator: Present** + +Whether there is an extra refrigerator present. + +- **Name:** ``extra_refrigerator_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Extra Refrigerator: Location** + +The space type for the extra refrigerator location. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. + +- **Name:** ``extra_refrigerator_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` + +
+ +**Extra Refrigerator: Rated Annual Consumption** + +The EnergyGuide rated annual energy consumption for an extra rrefrigerator. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. + +- **Name:** ``extra_refrigerator_rated_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Extra Refrigerator: Usage Multiplier** + +Multiplier on the extra refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. + +- **Name:** ``extra_refrigerator_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Freezer: Present** + +Whether there is a freezer present. + +- **Name:** ``freezer_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Freezer: Location** + +The space type for the freezer location. If not provided, the OS-HPXML default (see HPXML Freezers) is used. + +- **Name:** ``freezer_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` + +
+ +**Freezer: Rated Annual Consumption** + +The EnergyGuide rated annual energy consumption for a freezer. If not provided, the OS-HPXML default (see HPXML Freezers) is used. + +- **Name:** ``freezer_rated_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Freezer: Usage Multiplier** + +Multiplier on the freezer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Freezers) is used. + +- **Name:** ``freezer_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Cooking Range/Oven: Present** + +Whether there is a cooking range/oven present. + +- **Name:** ``cooking_range_oven_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Cooking Range/Oven: Location** + +The space type for the cooking range/oven location. If not provided, the OS-HPXML default (see HPXML Cooking Range/Oven) is used. + +- **Name:** ``cooking_range_oven_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` + +
+ +**Cooking Range/Oven: Fuel Type** + +Type of fuel used by the cooking range/oven. + +- **Name:** ``cooking_range_oven_fuel_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `coal` + +
+ +**Cooking Range/Oven: Is Induction** + +Whether the cooking range is induction. If not provided, the OS-HPXML default (see HPXML Cooking Range/Oven) is used. + +- **Name:** ``cooking_range_oven_is_induction`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `true`, `false` + +
+ +**Cooking Range/Oven: Is Convection** + +Whether the oven is convection. If not provided, the OS-HPXML default (see HPXML Cooking Range/Oven) is used. + +- **Name:** ``cooking_range_oven_is_convection`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `auto`, `true`, `false` + +
+ +**Cooking Range/Oven: Usage Multiplier** + +Multiplier on the cooking range/oven energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Cooking Range/Oven) is used. + +- **Name:** ``cooking_range_oven_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ceiling Fan: Present** + +Whether there are any ceiling fans. + +- **Name:** ``ceiling_fan_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Ceiling Fan: Label Energy Use** + +The label average energy use of the ceiling fan(s). If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see HPXML Ceiling Fans) is used. + +- **Name:** ``ceiling_fan_label_energy_use`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ceiling Fan: Efficiency** + +The efficiency rating of the ceiling fan(s) at medium speed. Only used if Label Energy Use not provided. If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see HPXML Ceiling Fans) is used. + +- **Name:** ``ceiling_fan_efficiency`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ceiling Fan: Quantity** + +Total number of ceiling fans. If not provided, the OS-HPXML default (see HPXML Ceiling Fans) is used. + +- **Name:** ``ceiling_fan_quantity`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Ceiling Fan: Cooling Setpoint Temperature Offset** + +The cooling setpoint temperature offset during months when the ceiling fans are operating. Only applies if ceiling fan quantity is greater than zero. If not provided, the OS-HPXML default (see HPXML Ceiling Fans) is used. + +- **Name:** ``ceiling_fan_cooling_setpoint_temp_offset`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Television Present** + +Whether there are televisions. + +- **Name:** ``misc_plug_loads_television_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Misc Plug Loads: Television Annual kWh** + +The annual energy consumption of the television plug loads. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_television_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Television Usage Multiplier** + +Multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_television_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Other Annual kWh** + +The annual energy consumption of the other residual plug loads. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_other_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Other Sensible Fraction** + +Fraction of other residual plug loads' internal gains that are sensible. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_other_frac_sensible`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Other Latent Fraction** + +Fraction of other residual plug loads' internal gains that are latent. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_other_frac_latent`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Other Usage Multiplier** + +Multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_other_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Well Pump Present** + +Whether there is a well pump. + +- **Name:** ``misc_plug_loads_well_pump_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Misc Plug Loads: Well Pump Annual kWh** + +The annual energy consumption of the well pump plug loads. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_well_pump_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Well Pump Usage Multiplier** + +Multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_well_pump_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Vehicle Present** + +Whether there is an electric vehicle. + +- **Name:** ``misc_plug_loads_vehicle_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Misc Plug Loads: Vehicle Annual kWh** + +The annual energy consumption of the electric vehicle plug loads. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_vehicle_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Plug Loads: Vehicle Usage Multiplier** + +Multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. + +- **Name:** ``misc_plug_loads_vehicle_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Fuel Loads: Grill Present** + +Whether there is a fuel loads grill. + +- **Name:** ``misc_fuel_loads_grill_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Misc Fuel Loads: Grill Fuel Type** + +The fuel type of the fuel loads grill. + +- **Name:** ``misc_fuel_loads_grill_fuel_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets` + +
+ +**Misc Fuel Loads: Grill Annual therm** + +The annual energy consumption of the fuel loads grill. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. + +- **Name:** ``misc_fuel_loads_grill_annual_therm`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Fuel Loads: Grill Usage Multiplier** + +Multiplier on the fuel loads grill energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. + +- **Name:** ``misc_fuel_loads_grill_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Fuel Loads: Lighting Present** + +Whether there is fuel loads lighting. + +- **Name:** ``misc_fuel_loads_lighting_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Misc Fuel Loads: Lighting Fuel Type** + +The fuel type of the fuel loads lighting. + +- **Name:** ``misc_fuel_loads_lighting_fuel_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets` + +
+ +**Misc Fuel Loads: Lighting Annual therm** + +The annual energy consumption of the fuel loads lighting. If not provided, the OS-HPXML default (see HPXML Fuel Loads)is used. + +- **Name:** ``misc_fuel_loads_lighting_annual_therm`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Fuel Loads: Lighting Usage Multiplier** + +Multiplier on the fuel loads lighting energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. + +- **Name:** ``misc_fuel_loads_lighting_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Fuel Loads: Fireplace Present** + +Whether there is fuel loads fireplace. + +- **Name:** ``misc_fuel_loads_fireplace_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Misc Fuel Loads: Fireplace Fuel Type** + +The fuel type of the fuel loads fireplace. + +- **Name:** ``misc_fuel_loads_fireplace_fuel_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets` + +
+ +**Misc Fuel Loads: Fireplace Annual therm** + +The annual energy consumption of the fuel loads fireplace. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. + +- **Name:** ``misc_fuel_loads_fireplace_annual_therm`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Fuel Loads: Fireplace Sensible Fraction** + +Fraction of fireplace residual fuel loads' internal gains that are sensible. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. + +- **Name:** ``misc_fuel_loads_fireplace_frac_sensible`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Fuel Loads: Fireplace Latent Fraction** + +Fraction of fireplace residual fuel loads' internal gains that are latent. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. + +- **Name:** ``misc_fuel_loads_fireplace_frac_latent`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Misc Fuel Loads: Fireplace Usage Multiplier** + +Multiplier on the fuel loads fireplace energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. + +- **Name:** ``misc_fuel_loads_fireplace_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Pool: Present** + +Whether there is a pool. + +- **Name:** ``pool_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Pool: Pump Annual kWh** + +The annual energy consumption of the pool pump. If not provided, the OS-HPXML default (see Pool Pump) is used. + +- **Name:** ``pool_pump_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Pool: Pump Usage Multiplier** + +Multiplier on the pool pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see Pool Pump) is used. + +- **Name:** ``pool_pump_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Pool: Heater Type** + +The type of pool heater. Use 'none' if there is no pool heater. + +- **Name:** ``pool_heater_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `electric resistance`, `gas fired`, `heat pump` + +
+ +**Pool: Heater Annual kWh** + +The annual energy consumption of the electric resistance pool heater. If not provided, the OS-HPXML default (see Pool Heater) is used. + +- **Name:** ``pool_heater_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Pool: Heater Annual therm** + +The annual energy consumption of the gas fired pool heater. If not provided, the OS-HPXML default (see Pool Heater) is used. + +- **Name:** ``pool_heater_annual_therm`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Pool: Heater Usage Multiplier** + +Multiplier on the pool heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see Pool Heater) is used. + +- **Name:** ``pool_heater_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Permanent Spa: Present** + +Whether there is a permanent spa. + +- **Name:** ``permanent_spa_present`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Permanent Spa: Pump Annual kWh** + +The annual energy consumption of the permanent spa pump. If not provided, the OS-HPXML default (see Permanent Spa Pump) is used. + +- **Name:** ``permanent_spa_pump_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Permanent Spa: Pump Usage Multiplier** + +Multiplier on the permanent spa pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see Permanent Spa Pump) is used. + +- **Name:** ``permanent_spa_pump_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Permanent Spa: Heater Type** + +The type of permanent spa heater. Use 'none' if there is no permanent spa heater. + +- **Name:** ``permanent_spa_heater_type`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `none`, `electric resistance`, `gas fired`, `heat pump` + +
+ +**Permanent Spa: Heater Annual kWh** + +The annual energy consumption of the electric resistance permanent spa heater. If not provided, the OS-HPXML default (see Permanent Spa Heater) is used. + +- **Name:** ``permanent_spa_heater_annual_kwh`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Permanent Spa: Heater Annual therm** + +The annual energy consumption of the gas fired permanent spa heater. If not provided, the OS-HPXML default (see Permanent Spa Heater) is used. + +- **Name:** ``permanent_spa_heater_annual_therm`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Permanent Spa: Heater Usage Multiplier** + +Multiplier on the permanent spa heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see Permanent Spa Heater) is used. + +- **Name:** ``permanent_spa_heater_usage_multiplier`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Geometry: Unit Conditioned Floor Area Bin** + +E.g., '2000-2499'. + +- **Name:** ``geometry_unit_cfa_bin`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Geometry: Unit Conditioned Floor Area** + +E.g., '2000' or 'auto'. + +- **Name:** ``geometry_unit_cfa`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Building Construction: Vintage** + +The building vintage, used for informational purposes only. + +- **Name:** ``vintage`` +- **Type:** ``String`` + +- **Required:** ``false`` + +
+ +**Building Construction: Exterior Finish R-Value** + +R-value of the exterior finish. + +- **Name:** ``exterior_finish_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Geometry: Unit Level** + +The level of the unit. This is required for apartment units. + +- **Name:** ``geometry_unit_level`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `Bottom`, `Middle`, `Top` + +
+ +**Geometry: Unit Horizontal Location** + +The horizontal location of the unit when viewing the front of the building. This is required for single-family attached and apartment units. + +- **Name:** ``geometry_unit_horizontal_location`` +- **Type:** ``Choice`` + +- **Required:** ``false`` + +- **Choices:** `None`, `Left`, `Middle`, `Right` + +
+ +**Geometry: Number of Floors Above Grade** + +The number of floors above grade (in the unit if single-family detached or single-family attached, and in the building if apartment unit). Conditioned attics are included. + +- **Name:** ``geometry_num_floors_above_grade`` +- **Type:** ``Integer`` + +- **Units:** ``#`` + +- **Required:** ``true`` + +
+ +**Geometry: Corridor Position** + +The position of the corridor. Only applies to single-family attached and apartment units. Exterior corridors are shaded, but not enclosed. Interior corridors are enclosed and conditioned. + +- **Name:** ``geometry_corridor_position`` +- **Type:** ``Choice`` + +- **Required:** ``true`` + +- **Choices:** `Double-Loaded Interior`, `Double Exterior`, `Single Exterior (Front)`, `None` + +
+ +**Geometry: Corridor Width** + +The width of the corridor. Only applies to apartment units. + +- **Name:** ``geometry_corridor_width`` +- **Type:** ``Double`` + +- **Units:** ``ft`` + +- **Required:** ``true`` + +
+ +**Wall: Continuous Exterior Insulation Nominal R-value** + +Nominal R-value for the wall continuous exterior insulation. + +- **Name:** ``wall_continuous_exterior_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``false`` + +
+ +**Ceiling: Insulation Nominal R-value** + +Nominal R-value for the ceiling (attic floor). + +- **Name:** ``ceiling_insulation_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Rim Joist: Continuous Exterior Insulation Nominal R-value** + +Nominal R-value for the rim joist continuous exterior insulation. Only applies to basements/crawlspaces. + +- **Name:** ``rim_joist_continuous_exterior_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Rim Joist: Continuous Interior Insulation Nominal R-value** + +Nominal R-value for the rim joist continuous interior insulation that runs parallel to floor joists. Only applies to basements/crawlspaces. + +- **Name:** ``rim_joist_continuous_interior_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Rim Joist: Interior Assembly R-value** + +Assembly R-value for the rim joist assembly interior insulation that runs perpendicular to floor joists. Only applies to basements/crawlspaces. + +- **Name:** ``rim_joist_assembly_interior_r`` +- **Type:** ``Double`` + +- **Units:** ``h-ft^2-R/Btu`` + +- **Required:** ``true`` + +
+ +**Air Leakage: Value Reduction** + +Reduction (%) on the air exchange rate value. + +- **Name:** ``air_leakage_percent_reduction`` +- **Type:** ``Double`` + +- **Required:** ``false`` + +
+ +**Plug Loads: Television Usage Multiplier 2** + +Additional multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. + +- **Name:** ``misc_plug_loads_television_2_usage_multiplier`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Plug Loads: Other Usage Multiplier 2** + +Additional multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. + +- **Name:** ``misc_plug_loads_other_2_usage_multiplier`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Plug Loads: Well Pump Usage Multiplier 2** + +Additional multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. + +- **Name:** ``misc_plug_loads_well_pump_2_usage_multiplier`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Plug Loads: Vehicle Usage Multiplier 2** + +Additional multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. + +- **Name:** ``misc_plug_loads_vehicle_2_usage_multiplier`` +- **Type:** ``Double`` + +- **Required:** ``true`` + +
+ +**Heating Setpoint: Weekday Temperature** + +Specify the weekday heating setpoint temperature. + +- **Name:** ``hvac_control_heating_weekday_setpoint_temp`` +- **Type:** ``Double`` + +- **Units:** ``deg-F`` + +- **Required:** ``true`` + +
+ +**Heating Setpoint: Weekend Temperature** + +Specify the weekend heating setpoint temperature. + +- **Name:** ``hvac_control_heating_weekend_setpoint_temp`` +- **Type:** ``Double`` + +- **Units:** ``deg-F`` + +- **Required:** ``true`` + +
+ +**Heating Setpoint: Weekday Offset Magnitude** + +Specify the weekday heating offset magnitude. + +- **Name:** ``hvac_control_heating_weekday_setpoint_offset_magnitude`` +- **Type:** ``Double`` + +- **Units:** ``deg-F`` + +- **Required:** ``true`` + +
+ +**Heating Setpoint: Weekend Offset Magnitude** + +Specify the weekend heating offset magnitude. + +- **Name:** ``hvac_control_heating_weekend_setpoint_offset_magnitude`` +- **Type:** ``Double`` + +- **Units:** ``deg-F`` + +- **Required:** ``true`` + +
+ +**Heating Setpoint: Weekday Schedule** + +Specify the 24-hour comma-separated weekday heating schedule of 0s and 1s. + +- **Name:** ``hvac_control_heating_weekday_setpoint_schedule`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Heating Setpoint: Weekend Schedule** + +Specify the 24-hour comma-separated weekend heating schedule of 0s and 1s. + +- **Name:** ``hvac_control_heating_weekend_setpoint_schedule`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Use Auto Heating Season** + +Specifies whether to automatically define the heating season based on the weather file. + +- **Name:** ``use_auto_heating_season`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Cooling Setpoint: Weekday Temperature** + +Specify the weekday cooling setpoint temperature. + +- **Name:** ``hvac_control_cooling_weekday_setpoint_temp`` +- **Type:** ``Double`` + +- **Units:** ``deg-F`` + +- **Required:** ``true`` + +
+ +**Cooling Setpoint: Weekend Temperature** + +Specify the weekend cooling setpoint temperature. + +- **Name:** ``hvac_control_cooling_weekend_setpoint_temp`` +- **Type:** ``Double`` + +- **Units:** ``deg-F`` + +- **Required:** ``true`` + +
+ +**Cooling Setpoint: Weekday Offset Magnitude** + +Specify the weekday cooling offset magnitude. + +- **Name:** ``hvac_control_cooling_weekday_setpoint_offset_magnitude`` +- **Type:** ``Double`` + +- **Units:** ``deg-F`` + +- **Required:** ``true`` + +
+ +**Cooling Setpoint: Weekend Offset Magnitude** + +Specify the weekend cooling offset magnitude. + +- **Name:** ``hvac_control_cooling_weekend_setpoint_offset_magnitude`` +- **Type:** ``Double`` + +- **Units:** ``deg-F`` + +- **Required:** ``true`` + +
+ +**Cooling Setpoint: Weekday Schedule** + +Specify the 24-hour comma-separated weekday cooling schedule of 0s and 1s. + +- **Name:** ``hvac_control_cooling_weekday_setpoint_schedule`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Cooling Setpoint: Weekend Schedule** + +Specify the 24-hour comma-separated weekend cooling schedule of 0s and 1s. + +- **Name:** ``hvac_control_cooling_weekend_setpoint_schedule`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Use Auto Cooling Season** + +Specifies whether to automatically define the cooling season based on the weather file. + +- **Name:** ``use_auto_cooling_season`` +- **Type:** ``Boolean`` + +- **Required:** ``true`` + +
+ +**Heating System: Has Flue or Chimney** + +Whether the heating system has a flue or chimney. + +- **Name:** ``heating_system_has_flue_or_chimney`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Heating System 2: Has Flue or Chimney** + +Whether the second heating system has a flue or chimney. + +- **Name:** ``heating_system_2_has_flue_or_chimney`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Water Heater: Has Flue or Chimney** + +Whether the water heater has a flue or chimney. + +- **Name:** ``water_heater_has_flue_or_chimney`` +- **Type:** ``String`` + +- **Required:** ``true`` + +
+ +**Heating System: Rated CFM Per Ton** + +The rated cfm per ton of the heating system. + +- **Name:** ``heating_system_rated_cfm_per_ton`` +- **Type:** ``Double`` + +- **Units:** ``cfm/ton`` + +- **Required:** ``false`` + +
+ +**Heating System: Actual CFM Per Ton** + +The actual cfm per ton of the heating system. + +- **Name:** ``heating_system_actual_cfm_per_ton`` +- **Type:** ``Double`` + +- **Units:** ``cfm/ton`` + +- **Required:** ``false`` + +
+ +**Cooling System: Rated CFM Per Ton** + +The rated cfm per ton of the cooling system. + +- **Name:** ``cooling_system_rated_cfm_per_ton`` +- **Type:** ``Double`` + +- **Units:** ``cfm/ton`` + +- **Required:** ``false`` + +
+ +**Cooling System: Actual CFM Per Ton** + +The actual cfm per ton of the cooling system. + +- **Name:** ``cooling_system_actual_cfm_per_ton`` +- **Type:** ``Double`` + +- **Units:** ``cfm/ton`` + +- **Required:** ``false`` + +
+ +**Cooling System: Fraction of Manufacturer Recommended Charge** + +The fraction of manufacturer recommended charge of the cooling system. + +- **Name:** ``cooling_system_frac_manufacturer_charge`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Rated CFM Per Ton** + +The rated cfm per ton of the heat pump. + +- **Name:** ``heat_pump_rated_cfm_per_ton`` +- **Type:** ``Double`` + +- **Units:** ``cfm/ton`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Actual CFM Per Ton** + +The actual cfm per ton of the heat pump. + +- **Name:** ``heat_pump_actual_cfm_per_ton`` +- **Type:** ``Double`` + +- **Units:** ``cfm/ton`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Fraction of Manufacturer Recommended Charge** + +The fraction of manufacturer recommended charge of the heat pump. + +- **Name:** ``heat_pump_frac_manufacturer_charge`` +- **Type:** ``Double`` + +- **Units:** ``Frac`` + +- **Required:** ``false`` + +
+ +**Heat Pump: Backup Use Existing System** + +Whether the heat pump uses the existing system as backup. + +- **Name:** ``heat_pump_backup_use_existing_system`` +- **Type:** ``Boolean`` + +- **Required:** ``false`` + +
diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md.erb b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md.erb new file mode 100644 index 00000000..0e9bc87d --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md.erb @@ -0,0 +1,41 @@ +<%#= README.md.erb is used to auto-generate README.md. %> +###### (Automatically generated documentation) + +# <%= name %> + +## Description +<%= description %> + +<%= modelerDescription %> + +## Arguments + +<% arguments.each do |argument| %> +**<%= argument[:display_name] %>** + +<%= argument[:description] %> + +- **Name:** ``<%= argument[:name] %>`` +- **Type:** ``<%= argument[:type] %>`` +<% if argument[:units] %> +- **Units:** ``<%= argument[:units] %>`` +<% end %> +- **Required:** ``<%= argument[:required] %>`` +<% if argument[:type] == "Choice" %> +- **Choices:** `<%= argument[:choice_values].join("`, `") %>` +<% end %> +
+<% end %> + +<% if arguments.size == 0 %> +<%= "This measure does not have any user arguments" %> +<% end %> + +<% if outputs.size > 0 %> +## Outputs +All possible measure outputs are listed below. Actual outputs depend on measure argument values provided. + +<% outputs.each do |output| %> +- ``<%= output[:display_name] %>`` +<% end %> +<% end %> diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.rb b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.rb new file mode 100644 index 00000000..0d7075bc --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.rb @@ -0,0 +1,812 @@ +# frozen_string_literal: true + +# see the URL below for information on how to write OpenStudio measures +# http://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/ + +require 'openstudio' +require_relative 'resources/constants' +require_relative '../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/meta_measure' + +# start the measure +class ResStockArguments < OpenStudio::Measure::ModelMeasure + # human readable name + def name + # Measure name should be the title case of the class name. + return 'ResStock Arguments' + end + + # human readable description + def description + return 'Measure that pre-processes the arguments passed to the BuildResidentialHPXML and BuildResidentialScheduleFile measures.' + end + + # human readable description of modeling approach + def modeler_description + return 'Passes in all arguments from the options lookup, processes them, and then registers values to the runner to be used by other measures.' + end + + # define the arguments that the user will input + def arguments(model) + args = OpenStudio::Measure::OSArgumentVector.new + + # BuildResidentialHPXML + + measures_dir = File.absolute_path(File.join(File.dirname(__FILE__), '../../resources/hpxml-measures')) + full_measure_path = File.join(measures_dir, 'BuildResidentialHPXML', 'measure.rb') + @build_residential_hpxml_measure_arguments = get_measure_instance(full_measure_path).arguments(model) + + @build_residential_hpxml_measure_arguments.each do |arg| + next if Constants.build_residential_hpxml_excludes.include? arg.name + + # Following are arguments with the same name but different options + next if arg.name == 'geometry_unit_cfa' + + # Convert optional arguments to string arguments that allow Constants.Auto for defaulting + if !arg.required + case arg.type.valueName.downcase + when 'choice' + choices = arg.choiceValues.map(&:to_s) + choices.unshift(Constants.Auto) + new_arg = OpenStudio::Measure::OSArgument.makeChoiceArgument(arg.name, choices, false) + when 'boolean' + choices = [Constants.Auto, 'true', 'false'] + new_arg = OpenStudio::Measure::OSArgument.makeChoiceArgument(arg.name, choices, false) + else + new_arg = OpenStudio::Measure::OSArgument.makeStringArgument(arg.name, false) + end + new_arg.setDisplayName(arg.displayName.to_s) + new_arg.setDescription(arg.description.to_s) + new_arg.setUnits(arg.units.to_s) + args << new_arg + else + args << arg + end + end + + # BuildResidentialScheduleFile + + full_measure_path = File.join(measures_dir, 'BuildResidentialScheduleFile', 'measure.rb') + @build_residential_schedule_file_measure_arguments = get_measure_instance(full_measure_path).arguments(model) + + @build_residential_schedule_file_measure_arguments.each do |arg| + next if Constants.build_residential_schedule_file_excludes.include? arg.name + + args << arg + end + + # Additional arguments + + arg = OpenStudio::Measure::OSArgument::makeStringArgument('geometry_unit_cfa_bin', true) + arg.setDisplayName('Geometry: Unit Conditioned Floor Area Bin') + arg.setDescription("E.g., '2000-2499'.") + arg.setDefaultValue('2000-2499') + args << arg + + # Adds a geometry_unit_cfa argument similar to the BuildResidentialHPXML measure, but as a string with "auto" allowed + arg = OpenStudio::Measure::OSArgument::makeStringArgument('geometry_unit_cfa', true) + arg.setDisplayName('Geometry: Unit Conditioned Floor Area') + arg.setDescription("E.g., '2000' or '#{Constants.Auto}'.") + arg.setUnits('sqft') + arg.setDefaultValue('2000') + args << arg + + arg = OpenStudio::Measure::OSArgument.makeStringArgument('vintage', false) + arg.setDisplayName('Building Construction: Vintage') + arg.setDescription('The building vintage, used for informational purposes only.') + args << arg + + arg = OpenStudio::Measure::OSArgument.makeDoubleArgument('exterior_finish_r', true) + arg.setDisplayName('Building Construction: Exterior Finish R-Value') + arg.setUnits('h-ft^2-R/Btu') + arg.setDescription('R-value of the exterior finish.') + arg.setDefaultValue(0.6) + args << arg + + level_choices = OpenStudio::StringVector.new + level_choices << 'Bottom' + level_choices << 'Middle' + level_choices << 'Top' + + arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('geometry_unit_level', level_choices, false) + arg.setDisplayName('Geometry: Unit Level') + arg.setDescription("The level of the unit. This is required for #{HPXML::ResidentialTypeApartment}s.") + args << arg + + horizontal_location_choices = OpenStudio::StringVector.new + horizontal_location_choices << 'None' + horizontal_location_choices << 'Left' + horizontal_location_choices << 'Middle' + horizontal_location_choices << 'Right' + + arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('geometry_unit_horizontal_location', horizontal_location_choices, false) + arg.setDisplayName('Geometry: Unit Horizontal Location') + arg.setDescription("The horizontal location of the unit when viewing the front of the building. This is required for #{HPXML::ResidentialTypeSFA} and #{HPXML::ResidentialTypeApartment}s.") + args << arg + + arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('geometry_num_floors_above_grade', true) + arg.setDisplayName('Geometry: Number of Floors Above Grade') + arg.setUnits('#') + arg.setDescription("The number of floors above grade (in the unit if #{HPXML::ResidentialTypeSFD} or #{HPXML::ResidentialTypeSFA}, and in the building if #{HPXML::ResidentialTypeApartment}). Conditioned attics are included.") + arg.setDefaultValue(2) + args << arg + + corridor_position_choices = OpenStudio::StringVector.new + corridor_position_choices << 'Double-Loaded Interior' + corridor_position_choices << 'Double Exterior' + corridor_position_choices << 'Single Exterior (Front)' + corridor_position_choices << 'None' + + arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('geometry_corridor_position', corridor_position_choices, true) + arg.setDisplayName('Geometry: Corridor Position') + arg.setDescription("The position of the corridor. Only applies to #{HPXML::ResidentialTypeSFA} and #{HPXML::ResidentialTypeApartment}s. Exterior corridors are shaded, but not enclosed. Interior corridors are enclosed and conditioned.") + arg.setDefaultValue('Inside') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('geometry_corridor_width', true) + arg.setDisplayName('Geometry: Corridor Width') + arg.setUnits('ft') + arg.setDescription("The width of the corridor. Only applies to #{HPXML::ResidentialTypeApartment}s.") + arg.setDefaultValue(10.0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('wall_continuous_exterior_r', false) + arg.setDisplayName('Wall: Continuous Exterior Insulation Nominal R-value') + arg.setUnits('h-ft^2-R/Btu') + arg.setDescription('Nominal R-value for the wall continuous exterior insulation.') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ceiling_insulation_r', true) + arg.setDisplayName('Ceiling: Insulation Nominal R-value') + arg.setUnits('h-ft^2-R/Btu') + arg.setDescription('Nominal R-value for the ceiling (attic floor).') + arg.setDefaultValue(0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('rim_joist_continuous_exterior_r', true) + arg.setDisplayName('Rim Joist: Continuous Exterior Insulation Nominal R-value') + arg.setUnits('h-ft^2-R/Btu') + arg.setDescription('Nominal R-value for the rim joist continuous exterior insulation. Only applies to basements/crawlspaces.') + arg.setDefaultValue(0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('rim_joist_continuous_interior_r', true) + arg.setDisplayName('Rim Joist: Continuous Interior Insulation Nominal R-value') + arg.setUnits('h-ft^2-R/Btu') + arg.setDescription('Nominal R-value for the rim joist continuous interior insulation that runs parallel to floor joists. Only applies to basements/crawlspaces.') + arg.setDefaultValue(0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('rim_joist_assembly_interior_r', true) + arg.setDisplayName('Rim Joist: Interior Assembly R-value') + arg.setUnits('h-ft^2-R/Btu') + arg.setDescription('Assembly R-value for the rim joist assembly interior insulation that runs perpendicular to floor joists. Only applies to basements/crawlspaces.') + arg.setDefaultValue(0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('air_leakage_percent_reduction', false) + arg.setDisplayName('Air Leakage: Value Reduction') + arg.setDescription('Reduction (%) on the air exchange rate value.') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('misc_plug_loads_television_2_usage_multiplier', true) + arg.setDisplayName('Plug Loads: Television Usage Multiplier 2') + arg.setDescription('Additional multiplier on the television energy usage that can reflect, e.g., high/low usage occupants.') + arg.setDefaultValue(1.0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('misc_plug_loads_other_2_usage_multiplier', true) + arg.setDisplayName('Plug Loads: Other Usage Multiplier 2') + arg.setDescription('Additional multiplier on the other energy usage that can reflect, e.g., high/low usage occupants.') + arg.setDefaultValue(1.0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('misc_plug_loads_well_pump_2_usage_multiplier', true) + arg.setDisplayName('Plug Loads: Well Pump Usage Multiplier 2') + arg.setDescription('Additional multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants.') + arg.setDefaultValue(0.0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('misc_plug_loads_vehicle_2_usage_multiplier', true) + arg.setDisplayName('Plug Loads: Vehicle Usage Multiplier 2') + arg.setDescription('Additional multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants.') + arg.setDefaultValue(0.0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_heating_weekday_setpoint_temp', true) + arg.setDisplayName('Heating Setpoint: Weekday Temperature') + arg.setDescription('Specify the weekday heating setpoint temperature.') + arg.setUnits('deg-F') + arg.setDefaultValue(71) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_heating_weekend_setpoint_temp', true) + arg.setDisplayName('Heating Setpoint: Weekend Temperature') + arg.setDescription('Specify the weekend heating setpoint temperature.') + arg.setUnits('deg-F') + arg.setDefaultValue(71) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_heating_weekday_setpoint_offset_magnitude', true) + arg.setDisplayName('Heating Setpoint: Weekday Offset Magnitude') + arg.setDescription('Specify the weekday heating offset magnitude.') + arg.setUnits('deg-F') + arg.setDefaultValue(0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_heating_weekend_setpoint_offset_magnitude', true) + arg.setDisplayName('Heating Setpoint: Weekend Offset Magnitude') + arg.setDescription('Specify the weekend heating offset magnitude.') + arg.setUnits('deg-F') + arg.setDefaultValue(0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeStringArgument('hvac_control_heating_weekday_setpoint_schedule', true) + arg.setDisplayName('Heating Setpoint: Weekday Schedule') + arg.setDescription('Specify the 24-hour comma-separated weekday heating schedule of 0s and 1s.') + arg.setDefaultValue('0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeStringArgument('hvac_control_heating_weekend_setpoint_schedule', true) + arg.setDisplayName('Heating Setpoint: Weekend Schedule') + arg.setDescription('Specify the 24-hour comma-separated weekend heating schedule of 0s and 1s.') + arg.setDefaultValue('0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeBoolArgument('use_auto_heating_season', true) + arg.setDisplayName('Use Auto Heating Season') + arg.setDescription('Specifies whether to automatically define the heating season based on the weather file.') + arg.setDefaultValue(false) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_cooling_weekday_setpoint_temp', true) + arg.setDisplayName('Cooling Setpoint: Weekday Temperature') + arg.setDescription('Specify the weekday cooling setpoint temperature.') + arg.setUnits('deg-F') + arg.setDefaultValue(76) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_cooling_weekend_setpoint_temp', true) + arg.setDisplayName('Cooling Setpoint: Weekend Temperature') + arg.setDescription('Specify the weekend cooling setpoint temperature.') + arg.setUnits('deg-F') + arg.setDefaultValue(76) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_cooling_weekday_setpoint_offset_magnitude', true) + arg.setDisplayName('Cooling Setpoint: Weekday Offset Magnitude') + arg.setDescription('Specify the weekday cooling offset magnitude.') + arg.setUnits('deg-F') + arg.setDefaultValue(0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_cooling_weekend_setpoint_offset_magnitude', true) + arg.setDisplayName('Cooling Setpoint: Weekend Offset Magnitude') + arg.setDescription('Specify the weekend cooling offset magnitude.') + arg.setUnits('deg-F') + arg.setDefaultValue(0) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeStringArgument('hvac_control_cooling_weekday_setpoint_schedule', true) + arg.setDisplayName('Cooling Setpoint: Weekday Schedule') + arg.setDescription('Specify the 24-hour comma-separated weekday cooling schedule of 0s and 1s.') + arg.setDefaultValue('0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeStringArgument('hvac_control_cooling_weekend_setpoint_schedule', true) + arg.setDisplayName('Cooling Setpoint: Weekend Schedule') + arg.setDescription('Specify the 24-hour comma-separated weekend cooling schedule of 0s and 1s.') + arg.setDefaultValue('0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeBoolArgument('use_auto_cooling_season', true) + arg.setDisplayName('Use Auto Cooling Season') + arg.setDescription('Specifies whether to automatically define the cooling season based on the weather file.') + arg.setDefaultValue(false) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeStringArgument('heating_system_has_flue_or_chimney', true) + arg.setDisplayName('Heating System: Has Flue or Chimney') + arg.setDescription('Whether the heating system has a flue or chimney.') + arg.setDefaultValue(Constants.Auto) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeStringArgument('heating_system_2_has_flue_or_chimney', true) + arg.setDisplayName('Heating System 2: Has Flue or Chimney') + arg.setDescription('Whether the second heating system has a flue or chimney.') + arg.setDefaultValue(Constants.Auto) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeStringArgument('water_heater_has_flue_or_chimney', true) + arg.setDisplayName('Water Heater: Has Flue or Chimney') + arg.setDescription('Whether the water heater has a flue or chimney.') + arg.setDefaultValue(Constants.Auto) + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heating_system_rated_cfm_per_ton', false) + arg.setDisplayName('Heating System: Rated CFM Per Ton') + arg.setDescription('The rated cfm per ton of the heating system.') + arg.setUnits('cfm/ton') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heating_system_actual_cfm_per_ton', false) + arg.setDisplayName('Heating System: Actual CFM Per Ton') + arg.setDescription('The actual cfm per ton of the heating system.') + arg.setUnits('cfm/ton') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('cooling_system_rated_cfm_per_ton', false) + arg.setDisplayName('Cooling System: Rated CFM Per Ton') + arg.setDescription('The rated cfm per ton of the cooling system.') + arg.setUnits('cfm/ton') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('cooling_system_actual_cfm_per_ton', false) + arg.setDisplayName('Cooling System: Actual CFM Per Ton') + arg.setDescription('The actual cfm per ton of the cooling system.') + arg.setUnits('cfm/ton') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('cooling_system_frac_manufacturer_charge', false) + arg.setDisplayName('Cooling System: Fraction of Manufacturer Recommended Charge') + arg.setDescription('The fraction of manufacturer recommended charge of the cooling system.') + arg.setUnits('Frac') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heat_pump_rated_cfm_per_ton', false) + arg.setDisplayName('Heat Pump: Rated CFM Per Ton') + arg.setDescription('The rated cfm per ton of the heat pump.') + arg.setUnits('cfm/ton') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heat_pump_actual_cfm_per_ton', false) + arg.setDisplayName('Heat Pump: Actual CFM Per Ton') + arg.setDescription('The actual cfm per ton of the heat pump.') + arg.setUnits('cfm/ton') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heat_pump_frac_manufacturer_charge', false) + arg.setDisplayName('Heat Pump: Fraction of Manufacturer Recommended Charge') + arg.setDescription('The fraction of manufacturer recommended charge of the heat pump.') + arg.setUnits('Frac') + args << arg + + arg = OpenStudio::Measure::OSArgument::makeBoolArgument('heat_pump_backup_use_existing_system', false) + arg.setDisplayName('Heat Pump: Backup Use Existing System') + arg.setDescription('Whether the heat pump uses the existing system as backup.') + args << arg + + return args + end + + # define what happens when the measure is run + def run(model, runner, user_arguments) + super(model, runner, user_arguments) + + # use the built-in error checking + if !runner.validateUserArguments(arguments(model), user_arguments) + return false + end + + # assign the user inputs to variables + args = runner.getArgumentValues(arguments(model), user_arguments) + args = convert_args(args) + + arg_names = [] + { @build_residential_hpxml_measure_arguments => Constants.build_residential_hpxml_excludes, + @build_residential_schedule_file_measure_arguments => Constants.build_residential_schedule_file_excludes }.each do |measure_arguments, measure_excludes| + measure_arguments.each do |arg| + next if measure_excludes.include? arg.name + + arg_names << arg.name.to_sym + end + end + + args_to_delete = args.keys - arg_names # these are the extra ones added in the arguments section + + # Conditioned floor area + if args[:geometry_unit_cfa] == Constants.Auto + # TODO: Disaggregate detached and mobile home + cfas = { ['0-499', HPXML::ResidentialTypeSFD] => 298, # AHS 2021, 1 detached and mobile home weighted average + ['0-499', HPXML::ResidentialTypeSFA] => 273, # AHS 2021, 1 attached + ['0-499', HPXML::ResidentialTypeApartment] => 322, # AHS 2021, multi-family weighted average + ['0-499', HPXML::ResidentialTypeManufactured] => 298, # AHS 2021, 1 detached and mobile home weighted average + ['500-749', HPXML::ResidentialTypeSFD] => 634, # AHS 2021, 1 detached and mobile home weighted average + ['500-749', HPXML::ResidentialTypeSFA] => 625, # AHS 2021, 1 attached + ['500-749', HPXML::ResidentialTypeApartment] => 623, # AHS 2021, multi-family weighted average + ['500-749', HPXML::ResidentialTypeManufactured] => 634, # AHS 2021, 1 detached and mobile home weighted average + ['750-999', HPXML::ResidentialTypeSFD] => 881, # AHS 2021, 1 detached and mobile home weighted average + ['750-999', HPXML::ResidentialTypeSFA] => 872, # AHS 2021, 1 attached + ['750-999', HPXML::ResidentialTypeApartment] => 854, # AHS 2021, multi-family weighted average + ['750-999', HPXML::ResidentialTypeManufactured] => 881, # AHS 2021, 1 detached and mobile home weighted average + ['1000-1499', HPXML::ResidentialTypeSFD] => 1228, # AHS 2021, 1 detached and mobile home weighted average + ['1000-1499', HPXML::ResidentialTypeSFA] => 1207, # AHS 2021, 1 attached + ['1000-1499', HPXML::ResidentialTypeApartment] => 1138, # AHS 2021, multi-family weighted average + ['1000-1499', HPXML::ResidentialTypeManufactured] => 1228, # AHS 2021, 1 detached and mobile home weighted average + ['1500-1999', HPXML::ResidentialTypeSFD] => 1698, # AHS 2021, 1 detached and mobile home weighted average + ['1500-1999', HPXML::ResidentialTypeSFA] => 1678, # AHS 2021, 1 attached + ['1500-1999', HPXML::ResidentialTypeApartment] => 1682, # AHS 2021, multi-family weighted average + ['1500-1999', HPXML::ResidentialTypeManufactured] => 1698, # AHS 2021, 1 detached and mobile home weighted average + ['2000-2499', HPXML::ResidentialTypeSFD] => 2179, # AHS 2021, 1 detached and mobile home weighted average + ['2000-2499', HPXML::ResidentialTypeSFA] => 2152, # AHS 2021, 1 attached + ['2000-2499', HPXML::ResidentialTypeApartment] => 2115, # AHS 2021, multi-family weighted average + ['2000-2499', HPXML::ResidentialTypeManufactured] => 2179, # AHS 2021, 1 detached and mobile home weighted average + ['2500-2999', HPXML::ResidentialTypeSFD] => 2678, # AHS 2021, 1 detached and mobile home weighted average + ['2500-2999', HPXML::ResidentialTypeSFA] => 2663, # AHS 2021, 1 attached + ['2500-2999', HPXML::ResidentialTypeApartment] => 2648, # AHS 2021, multi-family weighted average + ['2500-2999', HPXML::ResidentialTypeManufactured] => 2678, # AHS 2021, 1 detached and mobile home weighted average + ['3000-3999', HPXML::ResidentialTypeSFD] => 3310, # AHS 2021, 1 detached and mobile home weighted average + ['3000-3999', HPXML::ResidentialTypeSFA] => 3228, # AHS 2021, 1 attached + ['3000-3999', HPXML::ResidentialTypeApartment] => 3171, # AHS 2021, multi-family weighted average + ['3000-3999', HPXML::ResidentialTypeManufactured] => 3310, # AHS 2021, 1 detached and mobile home weighted average + ['4000+', HPXML::ResidentialTypeSFD] => 5587, # AHS 2021, 1 detached and mobile home weighted average + ['4000+', HPXML::ResidentialTypeSFA] => 7414, # AHS 2019, 1 attached + ['4000+', HPXML::ResidentialTypeApartment] => 6348, # AHS 2021, 4,000 or more all unit average + ['4000+', HPXML::ResidentialTypeManufactured] => 5587 } # AHS 2021, 1 detached and mobile home weighted average + cfa = cfas[[args[:geometry_unit_cfa_bin], args[:geometry_unit_type]]] + if cfa.nil? + runner.registerError("ResStockArguments: Could not look up conditioned floor area for '#{args[:geometry_unit_cfa_bin]}' and '#{args[:geometry_unit_type]}'.") + return false + end + args[:geometry_unit_cfa] = Float(cfa) + else + args[:geometry_unit_cfa] = args[:geometry_unit_cfa] + end + + # Vintage + if !args[:vintage].nil? && args[:year_built] == Constants.Auto + args[:year_built] = Integer(Float(args[:vintage].gsub(/[^0-9]/, ''))) # strip non-numeric + end + + # Num Occupants + if args[:geometry_unit_num_occupants] == Constants.Auto + args[:geometry_unit_num_occupants] = Geometry.get_occupancy_default_num(args[:geometry_unit_num_bedrooms]) + end + + # Plug Loads + args[:misc_plug_loads_television_usage_multiplier] = args[:misc_plug_loads_television_usage_multiplier] * args[:misc_plug_loads_television_2_usage_multiplier] + args[:misc_plug_loads_other_usage_multiplier] = args[:misc_plug_loads_other_usage_multiplier] * args[:misc_plug_loads_other_2_usage_multiplier] + args[:misc_plug_loads_well_pump_usage_multiplier] = args[:misc_plug_loads_well_pump_usage_multiplier] * args[:misc_plug_loads_well_pump_2_usage_multiplier] + args[:misc_plug_loads_vehicle_usage_multiplier] = args[:misc_plug_loads_vehicle_usage_multiplier] * args[:misc_plug_loads_vehicle_2_usage_multiplier] + + # Other + if args[:misc_plug_loads_other_annual_kwh] == Constants.Auto + # TODO: Disaggregate detached and mobile home + if [HPXML::ResidentialTypeSFD, HPXML::ResidentialTypeManufactured].include?(args[:geometry_unit_type]) + args[:misc_plug_loads_other_annual_kwh] = 863.26 + 219.26 * args[:geometry_unit_num_occupants] + 0.33 * args[:geometry_unit_cfa] # RECS 2020 + elsif [HPXML::ResidentialTypeSFA].include?(args[:geometry_unit_type]) + args[:misc_plug_loads_other_annual_kwh] = 654.92 + 206.52 * args[:geometry_unit_num_occupants] + 0.21 * args[:geometry_unit_cfa] # RECS 2020 + elsif [HPXML::ResidentialTypeApartment].include?(args[:geometry_unit_type]) + args[:misc_plug_loads_other_annual_kwh] = 706.6 + 149.27 * args[:geometry_unit_num_occupants] + 0.1 * args[:geometry_unit_cfa] # RECS 2020 + end + end + + # PV + if args[:pv_system_present] == 'true' + args[:pv_system_num_bedrooms_served] = args[:geometry_unit_num_bedrooms] + else + args[:pv_system_num_bedrooms_served] = 0 + end + + # Battery + if args[:battery_present] == 'true' + args[:battery_num_bedrooms_served] = args[:geometry_unit_num_bedrooms] + else + args[:battery_num_bedrooms_served] = 0 + end + + # Setpoints + weekday_heating_setpoints = [args[:hvac_control_heating_weekday_setpoint_temp]] * 24 + weekend_heating_setpoints = [args[:hvac_control_heating_weekend_setpoint_temp]] * 24 + + weekday_cooling_setpoints = [args[:hvac_control_cooling_weekday_setpoint_temp]] * 24 + weekend_cooling_setpoints = [args[:hvac_control_cooling_weekend_setpoint_temp]] * 24 + + hvac_control_heating_weekday_setpoint_offset_magnitude = args[:hvac_control_heating_weekday_setpoint_offset_magnitude] + hvac_control_heating_weekday_setpoint_schedule = args[:hvac_control_heating_weekday_setpoint_schedule].split(',').map { |i| Float(i) } + weekday_heating_setpoints = modify_setpoint_schedule(weekday_heating_setpoints, hvac_control_heating_weekday_setpoint_offset_magnitude, hvac_control_heating_weekday_setpoint_schedule) + + hvac_control_heating_weekend_setpoint_offset_magnitude = args[:hvac_control_heating_weekend_setpoint_offset_magnitude] + hvac_control_heating_weekend_setpoint_schedule = args[:hvac_control_heating_weekend_setpoint_schedule].split(',').map { |i| Float(i) } + weekend_heating_setpoints = modify_setpoint_schedule(weekend_heating_setpoints, hvac_control_heating_weekend_setpoint_offset_magnitude, hvac_control_heating_weekend_setpoint_schedule) + + hvac_control_cooling_weekday_setpoint_offset_magnitude = args[:hvac_control_cooling_weekday_setpoint_offset_magnitude] + hvac_control_cooling_weekday_setpoint_schedule = args[:hvac_control_cooling_weekday_setpoint_schedule].split(',').map { |i| Float(i) } + weekday_cooling_setpoints = modify_setpoint_schedule(weekday_cooling_setpoints, hvac_control_cooling_weekday_setpoint_offset_magnitude, hvac_control_cooling_weekday_setpoint_schedule) + + hvac_control_cooling_weekend_setpoint_offset_magnitude = args[:hvac_control_cooling_weekend_setpoint_offset_magnitude] + hvac_control_cooling_weekend_setpoint_schedule = args[:hvac_control_cooling_weekend_setpoint_schedule].split(',').map { |i| Float(i) } + weekend_cooling_setpoints = modify_setpoint_schedule(weekend_cooling_setpoints, hvac_control_cooling_weekend_setpoint_offset_magnitude, hvac_control_cooling_weekend_setpoint_schedule) + + args[:hvac_control_heating_weekday_setpoint] = weekday_heating_setpoints.join(', ') + args[:hvac_control_heating_weekend_setpoint] = weekend_heating_setpoints.join(', ') + args[:hvac_control_cooling_weekday_setpoint] = weekday_cooling_setpoints.join(', ') + args[:hvac_control_cooling_weekend_setpoint] = weekend_cooling_setpoints.join(', ') + + # Seasons + if args[:use_auto_heating_season] && args[:hvac_control_heating_season_period] == Constants.Auto + args[:hvac_control_heating_season_period] = HPXML::BuildingAmerica + end + + if args[:use_auto_cooling_season] && args[:hvac_control_cooling_season_period] == Constants.Auto + args[:hvac_control_cooling_season_period] = HPXML::BuildingAmerica + end + + # Flue or Chimney + if (args[:heating_system_has_flue_or_chimney] == 'false') && + (args[:heating_system_2_has_flue_or_chimney] == 'false') && + (args[:water_heater_has_flue_or_chimney] == 'false') + args[:air_leakage_has_flue_or_chimney_in_conditioned_space] = false + elsif (args[:heating_system_type] != 'none' && args[:heating_system_has_flue_or_chimney] == 'true') || + (args[:heating_system_2_type] != 'none' && args[:heating_system_2_has_flue_or_chimney] == 'true') || + (args[:water_heater_type] != 'none' && args[:water_heater_has_flue_or_chimney] == 'true') + 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].nil? && !args[:heating_system_actual_cfm_per_ton].nil? + args[:heating_system_airflow_defect_ratio] = (args[:heating_system_actual_cfm_per_ton] - args[:heating_system_rated_cfm_per_ton]) / args[:heating_system_rated_cfm_per_ton] + end + + if !args[:cooling_system_rated_cfm_per_ton].nil? && !args[:cooling_system_actual_cfm_per_ton].nil? + args[:cooling_system_airflow_defect_ratio] = (args[:cooling_system_actual_cfm_per_ton] - args[:cooling_system_rated_cfm_per_ton]) / args[:cooling_system_rated_cfm_per_ton] + end + + if !args[:cooling_system_frac_manufacturer_charge].nil? + args[:cooling_system_charge_defect_ratio] = args[:cooling_system_frac_manufacturer_charge] - 1.0 + end + + if !args[:heat_pump_rated_cfm_per_ton].nil? && !args[:heat_pump_actual_cfm_per_ton].nil? + args[:heat_pump_airflow_defect_ratio] = (args[:heat_pump_actual_cfm_per_ton] - args[:heat_pump_rated_cfm_per_ton]) / args[:heat_pump_rated_cfm_per_ton] + end + + if !args[:heat_pump_frac_manufacturer_charge].nil? + args[:heat_pump_charge_defect_ratio] = args[:heat_pump_frac_manufacturer_charge] - 1.0 + end + + # Error check geometry inputs + corridor_width = args[:geometry_corridor_width] + corridor_position = args[:geometry_corridor_position] + + if (corridor_width == 0) && (corridor_position != 'None') + corridor_position = 'None' + end + if corridor_position == 'None' + corridor_width = 0 + end + if corridor_width < 0 + runner.registerError('ResStockArguments: Invalid corridor width entered.') + return false + end + + # Adiabatic Walls + args[:geometry_unit_left_wall_is_adiabatic] = false + args[:geometry_unit_right_wall_is_adiabatic] = false + args[:geometry_unit_front_wall_is_adiabatic] = false + args[:geometry_unit_back_wall_is_adiabatic] = false + + # Map corridor arguments to adiabatic walls and shading + if [HPXML::ResidentialTypeApartment, HPXML::ResidentialTypeSFA].include? args[:geometry_unit_type] + n_floors = Float(args[:geometry_num_floors_above_grade]) + n_units = Float(args[:geometry_building_num_units]) + horiz_location = args[:geometry_unit_horizontal_location] + aspect_ratio = args[:geometry_unit_aspect_ratio] + + if args[:geometry_unit_type] == HPXML::ResidentialTypeApartment + n_units_per_floor = n_units / n_floors + if n_units_per_floor >= 4 && (corridor_position == 'Double Exterior' || corridor_position == 'None') + has_rear_units = true + args[:geometry_unit_back_wall_is_adiabatic] = true + elsif n_units_per_floor >= 4 && (corridor_position == 'Double-Loaded Interior') + has_rear_units = true + args[:geometry_unit_front_wall_is_adiabatic] = true + elsif (n_units_per_floor == 2) && (horiz_location == 'None') && (corridor_position == 'Double Exterior' || corridor_position == 'None') + has_rear_units = true + args[:geometry_unit_back_wall_is_adiabatic] = true + elsif (n_units_per_floor == 2) && (horiz_location == 'None') && (corridor_position == 'Double-Loaded Interior') + has_rear_units = true + args[:geometry_unit_front_wall_is_adiabatic] = true + elsif corridor_position == 'Single Exterior (Front)' + has_rear_units = false + args[:geometry_unit_front_wall_is_adiabatic] = false + else + has_rear_units = false + args[:geometry_unit_front_wall_is_adiabatic] = false + end + + # Error check MF & SFA geometry + if !has_rear_units && ((corridor_position == 'Double-Loaded Interior') || (corridor_position == 'Double Exterior')) + corridor_position = 'Single Exterior (Front)' + runner.registerWarning("Specified incompatible corridor; setting corridor position to '#{corridor_position}'.") + end + + # Model exterior corridors as overhangs + if (corridor_position.include? 'Exterior') && corridor_width > 0 + args[:overhangs_front_depth] = corridor_width + args[:overhangs_front_distance_to_top_of_window] = 1 + end + + elsif args[:geometry_unit_type] == HPXML::ResidentialTypeSFA + n_floors = 1.0 + n_units_per_floor = n_units + has_rear_units = false + end + + if has_rear_units + unit_width = n_units_per_floor / 2 + else + unit_width = n_units_per_floor + end + if (unit_width <= 1) && (horiz_location != 'None') + runner.registerWarning("No #{horiz_location} location exists, setting horizontal location to 'None'") + horiz_location = 'None' + end + if (unit_width > 1) && (horiz_location == 'None') + runner.registerError('ResStockArguments: Specified incompatible horizontal location for the corridor and unit configuration.') + return false + end + if (unit_width <= 2) && (horiz_location == 'Middle') + runner.registerError('ResStockArguments: Invalid horizontal location entered, no middle location exists.') + return false + end + + # Infiltration adjustment for SFA/MF units + # Calculate exposed wall area ratio for the unit (unit exposed wall area + # divided by average unit exposed wall area) + if (n_units_per_floor <= 2) || (n_units_per_floor == 4 && has_rear_units) # No middle unit(s) + exposed_wall_area_ratio = 1.0 # all units have same exterior wall area + else # Has middle unit(s) + if has_rear_units + n_end_units = 4 * n_floors + n_mid_units = n_units - n_end_units + n_bldg_fronts_backs = n_end_units + n_mid_units + n_bldg_sides = n_end_units + else + n_end_units = 2 * n_floors + n_mid_units = n_units - n_end_units + n_bldg_fronts_backs = n_end_units * 2 + n_mid_units * 2 + n_bldg_sides = n_end_units + end + if has_rear_units + n_unit_fronts_backs = 1 + else + n_unit_fronts_backs = 2 + end + if ['Middle'].include? horiz_location + n_unit_sides = 0 + elsif ['Left', 'Right'].include? horiz_location + n_unit_sides = 1 + end + n_bldg_sides_equivalent = n_bldg_sides + n_bldg_fronts_backs * aspect_ratio + n_unit_sides_equivalent = n_unit_sides + n_unit_fronts_backs * aspect_ratio + exposed_wall_area_ratio = n_unit_sides_equivalent / (n_bldg_sides_equivalent / n_units) + end + + # Apply adjustment to infiltration value + args[:air_leakage_value] *= exposed_wall_area_ratio + + if horiz_location == 'Left' + args[:geometry_unit_right_wall_is_adiabatic] = true + elsif horiz_location == 'Middle' + args[:geometry_unit_left_wall_is_adiabatic] = true + args[:geometry_unit_right_wall_is_adiabatic] = true + elsif horiz_location == 'Right' + args[:geometry_unit_left_wall_is_adiabatic] = true + end + end + + # Infiltration Reduction + if not args[:air_leakage_percent_reduction].nil? + args[:air_leakage_value] *= (1.0 - args[:air_leakage_percent_reduction] / 100.0) + end + + # Num Floors + if args[:geometry_unit_type] == HPXML::ResidentialTypeApartment + args[:geometry_unit_num_floors_above_grade] = 1 + else + args[:geometry_unit_num_floors_above_grade] = args[:geometry_num_floors_above_grade] + end + + # Adiabatic Floor/Ceiling + if not args[:geometry_unit_level].nil? + if args[:geometry_unit_level] == 'Bottom' + if args[:geometry_num_floors_above_grade] > 1 # this could be "bottom" of a 1-story building + args[:geometry_attic_type] = HPXML::AtticTypeBelowApartment + end + elsif args[:geometry_unit_level] == 'Middle' + args[:geometry_foundation_type] = HPXML::FoundationTypeAboveApartment + args[:geometry_attic_type] = HPXML::AtticTypeBelowApartment + elsif args[:geometry_unit_level] == 'Top' + args[:geometry_foundation_type] = HPXML::FoundationTypeAboveApartment + end + end + + # Wall Assembly R-Value + args[:wall_assembly_r] += args[:exterior_finish_r] + + if not args[:wall_continuous_exterior_r].nil? + args[:wall_assembly_r] += args[:wall_continuous_exterior_r] + end + + # Rim Joist Assembly R-Value + rim_joist_assembly_r = 0 + if args[:geometry_rim_joist_height] > 0 + drywall_assembly_r = 0.9 + uninsulated_wall_assembly_r = 3.4 + + assembly_exterior_r = args[:exterior_finish_r] + args[:rim_joist_continuous_exterior_r] + + if args[:rim_joist_continuous_interior_r] > 0 && args[:rim_joist_assembly_interior_r] > 0 + # rim joist assembly = siding + half continuous interior insulation + half rim joist assembly - drywall + # (rim joist assembly = nominal cavity + 1/2 in sheathing + 1/2 in drywall) + assembly_interior_r = (args[:rim_joist_continuous_interior_r] + uninsulated_wall_assembly_r - drywall_assembly_r) / 2.0 # parallel to floor joists + assembly_interior_r += (args[:rim_joist_assembly_interior_r]) / 2.0 # derated + elsif args[:rim_joist_continuous_interior_r] > 0 || args[:rim_joist_assembly_interior_r] > 0 + runner.registerError('ResStockArguments: For rim joist interior insulation, must provide both continuous and assembly R-values.') + return false + else # uninsulated interior + # rim joist assembly = siding + continuous foundation insulation + uninsulated wall - drywall + # (uninsulated wall is nominal cavity + 1/2 in sheathing + 1/2 in drywall) + assembly_interior_r = uninsulated_wall_assembly_r - drywall_assembly_r + end + + rim_joist_assembly_r = assembly_exterior_r + assembly_interior_r + end + args[:rim_joist_assembly_r] = rim_joist_assembly_r + + args.each do |arg_name, arg_value| + if args_to_delete.include?(arg_name) || (arg_value == Constants.Auto) + arg_value = '' # don't assign these to BuildResidentialHPXML or BuildResidentialScheduleFile + end + + register_value(runner, arg_name.to_s, arg_value) + end + + return true + end + + def modify_setpoint_schedule(schedule, offset_magnitude, offset_schedule) + offset_schedule.each_with_index do |direction, i| + schedule[i] += offset_magnitude * direction + end + return schedule + end + + def convert_args(args) + measure_arguments = @build_residential_hpxml_measure_arguments + measure_arguments.each do |arg| + arg_name = arg.name.to_sym + value = args[arg_name] + next if value.nil? || (value == Constants.Auto) + + case arg.type.valueName.downcase + when 'double' + args[arg_name] = Float(value) + when 'integer' + args[arg_name] = Integer(value) + end + end + return args + end +end + +# register the measure to be used by the application +ResStockArguments.new.registerWithApplication diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.xml new file mode 100644 index 00000000..6121a4da --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.xml @@ -0,0 +1,7515 @@ + + + 3.1 + res_stock_arguments + c984bb9e-4ac4-4930-a399-9d23f8f6936a + 58ec6e3c-9b3e-4fae-8807-1a73f7f3b9a8 + 2024-07-15T19:00:31Z + 2C38F48B + ResStockArguments + ResStock Arguments + Measure that pre-processes the arguments passed to the BuildResidentialHPXML and BuildResidentialScheduleFile measures. + Passes in all arguments from the options lookup, processes them, and then registers values to the runner to be used by other measures. + + + schedules_vacancy_periods + Schedules: Vacancy Periods + Specifies the vacancy periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + String + + false + false + + + schedules_power_outage_periods + Schedules: Power Outage Periods + Specifies the power outage periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + String + + false + false + + + schedules_power_outage_periods_window_natvent_availability + Schedules: Power Outage Periods Window Natural Ventilation Availability + The availability of the natural ventilation schedule during the power outage periods. Valid choices are 'regular schedule', 'always available', 'always unavailable'. If multiple periods, use a comma-separated list. + String + + false + false + + + simulation_control_daylight_saving_enabled + Simulation Control: Daylight Saving Enabled + Whether to use daylight saving. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-site'>HPXML Building Site</a>) is used. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + site_type + Site: Type + The type of site. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + + false + false + + + auto + auto + + + suburban + suburban + + + urban + urban + + + rural + rural + + + + + site_shielding_of_home + Site: Shielding of Home + Presence of nearby buildings, trees, obstructions for infiltration model. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + + false + false + + + auto + auto + + + exposed + exposed + + + normal + normal + + + well-shielded + well-shielded + + + + + site_soil_and_moisture_type + Site: Soil and Moisture Type + Type of soil and moisture. This is used to inform ground conductivity and diffusivity. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + + false + false + + + auto + auto + + + clay, dry + clay, dry + + + clay, mixed + clay, mixed + + + clay, wet + clay, wet + + + gravel, dry + gravel, dry + + + gravel, mixed + gravel, mixed + + + gravel, wet + gravel, wet + + + loam, dry + loam, dry + + + loam, mixed + loam, mixed + + + loam, wet + loam, wet + + + sand, dry + sand, dry + + + sand, mixed + sand, mixed + + + sand, wet + sand, wet + + + silt, dry + silt, dry + + + silt, mixed + silt, mixed + + + silt, wet + silt, wet + + + unknown, dry + unknown, dry + + + unknown, mixed + unknown, mixed + + + unknown, wet + unknown, wet + + + + + site_ground_conductivity + Site: Ground Conductivity + Conductivity of the ground soil. If provided, overrides the previous site and moisture type input. + String + Btu/hr-ft-F + false + false + + + site_ground_diffusivity + Site: Ground Diffusivity + Diffusivity of the ground soil. If provided, overrides the previous site and moisture type input. + String + ft^2/hr + false + false + + + site_iecc_zone + Site: IECC Zone + IECC zone of the home address. + Choice + + false + false + + + auto + auto + + + 1A + 1A + + + 1B + 1B + + + 1C + 1C + + + 2A + 2A + + + 2B + 2B + + + 2C + 2C + + + 3A + 3A + + + 3B + 3B + + + 3C + 3C + + + 4A + 4A + + + 4B + 4B + + + 4C + 4C + + + 5A + 5A + + + 5B + 5B + + + 5C + 5C + + + 6A + 6A + + + 6B + 6B + + + 6C + 6C + + + 7 + 7 + + + 8 + 8 + + + + + site_city + Site: City + City/municipality of the home address. + String + + false + false + + + site_state_code + Site: State Code + State code of the home address. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + + false + false + + + auto + auto + + + AK + AK + + + AL + AL + + + AR + AR + + + AZ + AZ + + + CA + CA + + + CO + CO + + + CT + CT + + + DC + DC + + + DE + DE + + + FL + FL + + + GA + GA + + + HI + HI + + + IA + IA + + + ID + ID + + + IL + IL + + + IN + IN + + + KS + KS + + + KY + KY + + + LA + LA + + + MA + MA + + + MD + MD + + + ME + ME + + + MI + MI + + + MN + MN + + + MO + MO + + + MS + MS + + + MT + MT + + + NC + NC + + + ND + ND + + + NE + NE + + + NH + NH + + + NJ + NJ + + + NM + NM + + + NV + NV + + + NY + NY + + + OH + OH + + + OK + OK + + + OR + OR + + + PA + PA + + + RI + RI + + + SC + SC + + + SD + SD + + + TN + TN + + + TX + TX + + + UT + UT + + + VA + VA + + + VT + VT + + + WA + WA + + + WI + WI + + + WV + WV + + + WY + WY + + + + + site_zip_code + Site: Zip Code + Zip code of the home address. + String + + false + false + + + site_time_zone_utc_offset + Site: Time Zone UTC Offset + Time zone UTC offset of the home address. Must be between -12 and 14. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + hr + false + false + + + site_elevation + Site: Elevation + Elevation of the home address. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + site_latitude + Site: Latitude + Latitude of the home address. Must be between -90 and 90. Use negative values for southern hemisphere. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + deg + false + false + + + site_longitude + Site: Longitude + Longitude of the home address. Must be between -180 and 180. Use negative values for the western hemisphere. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + deg + false + false + + + weather_station_epw_filepath + Weather Station: EnergyPlus Weather (EPW) Filepath + Path of the EPW file. + String + true + false + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + year_built + Building Construction: Year Built + The year the building was built. + String + + false + false + + + geometry_unit_type + Geometry: Unit Type + The type of dwelling unit. Use single-family attached for a dwelling unit with 1 or more stories, attached units to one or both sides, and no units above/below. Use apartment unit for a dwelling unit with 1 story, attached units to one, two, or three sides, and units above and/or below. + Choice + true + false + single-family detached + + + single-family detached + single-family detached + + + single-family attached + single-family attached + + + apartment unit + apartment unit + + + manufactured home + manufactured home + + + + + geometry_unit_aspect_ratio + Geometry: Unit Aspect Ratio + The ratio of front/back wall length to left/right wall length for the unit, excluding any protruding garage wall area. + Double + Frac + true + false + 2 + + + geometry_unit_orientation + Geometry: Unit Orientation + The unit's orientation is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + geometry_unit_num_bedrooms + Geometry: Unit Number of Bedrooms + The number of bedrooms in the unit. + Integer + # + true + false + 3 + + + geometry_unit_num_bathrooms + Geometry: Unit Number of Bathrooms + The number of bathrooms in the unit. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-construction'>HPXML Building Construction</a>) is used. + String + # + false + false + + + geometry_unit_num_occupants + Geometry: Unit Number of Occupants + The number of occupants in the unit. If not provided, an *asset* calculation is performed assuming standard occupancy, in which various end use defaults (e.g., plug loads, appliances, and hot water usage) are calculated based on Number of Bedrooms and Conditioned Floor Area per ANSI/RESNET/ICC 301-2019. If provided, an *operational* calculation is instead performed in which the end use defaults are adjusted using the relationship between Number of Bedrooms and Number of Occupants from RECS 2015. + String + # + false + false + + + geometry_building_num_units + Geometry: Building Number of Units + The number of units in the building. Required for single-family attached and apartment units. + String + # + false + false + + + geometry_average_ceiling_height + Geometry: Average Ceiling Height + Average distance from the floor to the ceiling. + Double + ft + true + false + 8 + + + geometry_garage_width + Geometry: Garage Width + The width of the garage. Enter zero for no garage. Only applies to single-family detached units. + Double + ft + true + false + 0 + + + geometry_garage_depth + Geometry: Garage Depth + The depth of the garage. Only applies to single-family detached units. + Double + ft + true + false + 20 + + + geometry_garage_protrusion + Geometry: Garage Protrusion + The fraction of the garage that is protruding from the conditioned space. Only applies to single-family detached units. + Double + Frac + true + false + 0 + + + geometry_garage_position + Geometry: Garage Position + The position of the garage. Only applies to single-family detached units. + Choice + true + false + Right + + + Right + Right + + + Left + Left + + + + + geometry_foundation_type + Geometry: Foundation Type + The foundation type of the building. Foundation types ConditionedBasement and ConditionedCrawlspace are not allowed for apartment units. + Choice + true + false + SlabOnGrade + + + SlabOnGrade + SlabOnGrade + + + VentedCrawlspace + VentedCrawlspace + + + UnventedCrawlspace + UnventedCrawlspace + + + ConditionedCrawlspace + ConditionedCrawlspace + + + UnconditionedBasement + UnconditionedBasement + + + ConditionedBasement + ConditionedBasement + + + Ambient + Ambient + + + AboveApartment + AboveApartment + + + BellyAndWingWithSkirt + BellyAndWingWithSkirt + + + BellyAndWingNoSkirt + BellyAndWingNoSkirt + + + + + geometry_foundation_height + Geometry: Foundation Height + The height of the foundation (e.g., 3ft for crawlspace, 8ft for basement). Only applies to basements/crawlspaces. + Double + ft + true + false + 0 + + + geometry_foundation_height_above_grade + Geometry: Foundation Height Above Grade + The depth above grade of the foundation wall. Only applies to basements/crawlspaces. + Double + ft + true + false + 0 + + + geometry_rim_joist_height + Geometry: Rim Joist Height + The height of the rim joists. Only applies to basements/crawlspaces. + String + in + false + false + + + geometry_attic_type + Geometry: Attic Type + The attic type of the building. Attic type ConditionedAttic is not allowed for apartment units. + Choice + true + false + VentedAttic + + + FlatRoof + FlatRoof + + + VentedAttic + VentedAttic + + + UnventedAttic + UnventedAttic + + + ConditionedAttic + ConditionedAttic + + + BelowApartment + BelowApartment + + + + + geometry_roof_type + Geometry: Roof Type + The roof type of the building. Ignored if the building has a flat roof. + Choice + true + false + gable + + + gable + gable + + + hip + hip + + + + + geometry_roof_pitch + Geometry: Roof Pitch + The roof pitch of the attic. Ignored if the building has a flat roof. + Choice + true + false + 6:12 + + + 1:12 + 1:12 + + + 2:12 + 2:12 + + + 3:12 + 3:12 + + + 4:12 + 4:12 + + + 5:12 + 5:12 + + + 6:12 + 6:12 + + + 7:12 + 7:12 + + + 8:12 + 8:12 + + + 9:12 + 9:12 + + + 10:12 + 10:12 + + + 11:12 + 11:12 + + + 12:12 + 12:12 + + + + + geometry_eaves_depth + Geometry: Eaves Depth + The eaves depth of the roof. + Double + ft + true + false + 2 + + + neighbor_front_distance + Neighbor: Front Distance + The distance between the unit and the neighboring building to the front (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 0 + + + neighbor_back_distance + Neighbor: Back Distance + The distance between the unit and the neighboring building to the back (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 0 + + + neighbor_left_distance + Neighbor: Left Distance + The distance between the unit and the neighboring building to the left (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 10 + + + neighbor_right_distance + Neighbor: Right Distance + The distance between the unit and the neighboring building to the right (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 10 + + + neighbor_front_height + Neighbor: Front Height + The height of the neighboring building to the front. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + neighbor_back_height + Neighbor: Back Height + The height of the neighboring building to the back. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + neighbor_left_height + Neighbor: Left Height + The height of the neighboring building to the left. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + neighbor_right_height + Neighbor: Right Height + The height of the neighboring building to the right. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + floor_over_foundation_assembly_r + Floor: Over Foundation Assembly R-value + Assembly R-value for the floor over the foundation. Ignored if the building has a slab-on-grade foundation. + Double + h-ft^2-R/Btu + true + false + 28.1 + + + floor_over_garage_assembly_r + Floor: Over Garage Assembly R-value + Assembly R-value for the floor over the garage. Ignored unless the building has a garage under conditioned space. + Double + h-ft^2-R/Btu + true + false + 28.1 + + + floor_type + Floor: Type + The type of floors. + Choice + true + false + WoodFrame + + + WoodFrame + WoodFrame + + + StructuralInsulatedPanel + StructuralInsulatedPanel + + + SolidConcrete + SolidConcrete + + + SteelFrame + SteelFrame + + + + + foundation_wall_type + Foundation Wall: Type + The material type of the foundation wall. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Choice + + false + false + + + auto + auto + + + solid concrete + solid concrete + + + concrete block + concrete block + + + concrete block foam core + concrete block foam core + + + concrete block perlite core + concrete block perlite core + + + concrete block vermiculite core + concrete block vermiculite core + + + concrete block solid core + concrete block solid core + + + double brick + double brick + + + wood + wood + + + + + foundation_wall_thickness + Foundation Wall: Thickness + The thickness of the foundation wall. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + String + in + false + false + + + foundation_wall_insulation_r + Foundation Wall: Insulation Nominal R-value + Nominal R-value for the foundation wall insulation. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + foundation_wall_insulation_location + Foundation Wall: Insulation Location + Whether the insulation is on the interior or exterior of the foundation wall. Only applies to basements/crawlspaces. + Choice + ft + false + false + + + auto + auto + + + interior + interior + + + exterior + exterior + + + + + foundation_wall_insulation_distance_to_top + Foundation Wall: Insulation Distance To Top + The distance from the top of the foundation wall to the top of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + String + ft + false + false + + + foundation_wall_insulation_distance_to_bottom + Foundation Wall: Insulation Distance To Bottom + The distance from the top of the foundation wall to the bottom of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + String + ft + false + false + + + foundation_wall_assembly_r + Foundation Wall: Assembly R-value + Assembly R-value for the foundation walls. Only applies to basements/crawlspaces. If provided, overrides the previous foundation wall insulation inputs. If not provided, it is ignored. + String + h-ft^2-R/Btu + false + false + + + rim_joist_assembly_r + Rim Joist: Assembly R-value + Assembly R-value for the rim joists. Only applies to basements/crawlspaces. Required if a rim joist height is provided. + String + h-ft^2-R/Btu + false + false + + + slab_perimeter_insulation_r + Slab: Perimeter Insulation Nominal R-value + Nominal R-value of the vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + h-ft^2-R/Btu + true + false + 0 + + + slab_perimeter_depth + Slab: Perimeter Insulation Depth + Depth from grade to bottom of vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + ft + true + false + 0 + + + slab_under_insulation_r + Slab: Under Slab Insulation Nominal R-value + Nominal R-value of the horizontal under slab insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + h-ft^2-R/Btu + true + false + 0 + + + slab_under_width + Slab: Under Slab Insulation Width + Width from slab edge inward of horizontal under-slab insulation. Enter 999 to specify that the under slab insulation spans the entire slab. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + ft + true + false + 0 + + + slab_thickness + Slab: Thickness + The thickness of the slab. Zero can be entered if there is a dirt floor instead of a slab. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + String + in + false + false + + + slab_carpet_fraction + Slab: Carpet Fraction + Fraction of the slab floor area that is carpeted. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + String + Frac + false + false + + + slab_carpet_r + Slab: Carpet R-value + R-value of the slab carpet. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + String + h-ft^2-R/Btu + false + false + + + ceiling_assembly_r + Ceiling: Assembly R-value + Assembly R-value for the ceiling (attic floor). + Double + h-ft^2-R/Btu + true + false + 31.6 + + + roof_material_type + Roof: Material Type + The material type of the roof. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + + false + false + + + auto + auto + + + asphalt or fiberglass shingles + asphalt or fiberglass shingles + + + concrete + concrete + + + cool roof + cool roof + + + slate or tile shingles + slate or tile shingles + + + expanded polystyrene sheathing + expanded polystyrene sheathing + + + metal surfacing + metal surfacing + + + plastic/rubber/synthetic sheeting + plastic/rubber/synthetic sheeting + + + shingles + shingles + + + wood shingles or shakes + wood shingles or shakes + + + + + roof_color + Roof: Color + The color of the roof. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + + false + false + + + auto + auto + + + dark + dark + + + light + light + + + medium + medium + + + medium dark + medium dark + + + reflective + reflective + + + + + roof_assembly_r + Roof: Assembly R-value + Assembly R-value of the roof. + Double + h-ft^2-R/Btu + true + false + 2.3 + + + radiant_barrier_attic_location + Attic: Radiant Barrier Location + The location of the radiant barrier in the attic. + Choice + + false + false + + + auto + auto + + + none + none + + + Attic roof only + Attic roof only + + + Attic roof and gable walls + Attic roof and gable walls + + + Attic floor + Attic floor + + + + + radiant_barrier_grade + Attic: Radiant Barrier Grade + The grade of the radiant barrier in the attic. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + + false + false + + + auto + auto + + + 1 + 1 + + + 2 + 2 + + + 3 + 3 + + + + + wall_type + Wall: Type + The type of walls. + Choice + true + false + WoodStud + + + WoodStud + WoodStud + + + ConcreteMasonryUnit + ConcreteMasonryUnit + + + DoubleWoodStud + DoubleWoodStud + + + InsulatedConcreteForms + InsulatedConcreteForms + + + LogWall + LogWall + + + StructuralInsulatedPanel + StructuralInsulatedPanel + + + SolidConcrete + SolidConcrete + + + SteelFrame + SteelFrame + + + Stone + Stone + + + StrawBale + StrawBale + + + StructuralBrick + StructuralBrick + + + + + wall_siding_type + Wall: Siding Type + The siding type of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-walls'>HPXML Walls</a>) is used. + Choice + + false + false + + + auto + auto + + + aluminum siding + aluminum siding + + + asbestos siding + asbestos siding + + + brick veneer + brick veneer + + + composite shingle siding + composite shingle siding + + + fiber cement siding + fiber cement siding + + + masonite siding + masonite siding + + + none + none + + + stucco + stucco + + + synthetic stucco + synthetic stucco + + + vinyl siding + vinyl siding + + + wood siding + wood siding + + + + + wall_color + Wall: Color + The color of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-walls'>HPXML Walls</a>) is used. + Choice + + false + false + + + auto + auto + + + dark + dark + + + light + light + + + medium + medium + + + medium dark + medium dark + + + reflective + reflective + + + + + wall_assembly_r + Wall: Assembly R-value + Assembly R-value of the walls. + Double + h-ft^2-R/Btu + true + false + 11.9 + + + window_front_wwr + Windows: Front Window-to-Wall Ratio + The ratio of window area to wall area for the unit's front facade. Enter 0 if specifying Front Window Area instead. + Double + Frac + true + false + 0.18 + + + window_back_wwr + Windows: Back Window-to-Wall Ratio + The ratio of window area to wall area for the unit's back facade. Enter 0 if specifying Back Window Area instead. + Double + Frac + true + false + 0.18 + + + window_left_wwr + Windows: Left Window-to-Wall Ratio + The ratio of window area to wall area for the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window Area instead. + Double + Frac + true + false + 0.18 + + + window_right_wwr + Windows: Right Window-to-Wall Ratio + The ratio of window area to wall area for the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window Area instead. + Double + Frac + true + false + 0.18 + + + window_area_front + Windows: Front Window Area + The amount of window area on the unit's front facade. Enter 0 if specifying Front Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_back + Windows: Back Window Area + The amount of window area on the unit's back facade. Enter 0 if specifying Back Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_left + Windows: Left Window Area + The amount of window area on the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_right + Windows: Right Window Area + The amount of window area on the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_aspect_ratio + Windows: Aspect Ratio + Ratio of window height to width. + Double + Frac + true + false + 1.333 + + + window_fraction_operable + Windows: Fraction Operable + Fraction of windows that are operable. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_natvent_availability + Windows: Natural Ventilation Availability + For operable windows, the number of days/week that windows can be opened by occupants for natural ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Days/week + false + false + + + window_ufactor + Windows: U-Factor + Full-assembly NFRC U-factor. + Double + Btu/hr-ft^2-R + true + false + 0.37 + + + window_shgc + Windows: SHGC + Full-assembly NFRC solar heat gain coefficient. + Double + true + false + 0.3 + + + window_interior_shading_winter + Windows: Winter Interior Shading + Interior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_interior_shading_summer + Windows: Summer Interior Shading + Interior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_exterior_shading_winter + Windows: Winter Exterior Shading + Exterior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_exterior_shading_summer + Windows: Summer Exterior Shading + Exterior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_shading_summer_season + Windows: Shading Summer Season + Enter a date like 'May 1 - Sep 30'. Defines the summer season for purposes of shading coefficients; the rest of the year is assumed to be winter. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + + false + false + + + window_storm_type + Windows: Storm Type + The type of storm, if present. If not provided, assumes there is no storm. + Choice + + false + false + + + auto + auto + + + clear + clear + + + low-e + low-e + + + + + overhangs_front_depth + Overhangs: Front Depth + The depth of overhangs for windows for the front facade. + Double + ft + true + false + 0 + + + overhangs_front_distance_to_top_of_window + Overhangs: Front Distance to Top of Window + The overhangs distance to the top of window for the front facade. + Double + ft + true + false + 0 + + + overhangs_front_distance_to_bottom_of_window + Overhangs: Front Distance to Bottom of Window + The overhangs distance to the bottom of window for the front facade. + Double + ft + true + false + 4 + + + overhangs_back_depth + Overhangs: Back Depth + The depth of overhangs for windows for the back facade. + Double + ft + true + false + 0 + + + overhangs_back_distance_to_top_of_window + Overhangs: Back Distance to Top of Window + The overhangs distance to the top of window for the back facade. + Double + ft + true + false + 0 + + + overhangs_back_distance_to_bottom_of_window + Overhangs: Back Distance to Bottom of Window + The overhangs distance to the bottom of window for the back facade. + Double + ft + true + false + 4 + + + overhangs_left_depth + Overhangs: Left Depth + The depth of overhangs for windows for the left facade. + Double + ft + true + false + 0 + + + overhangs_left_distance_to_top_of_window + Overhangs: Left Distance to Top of Window + The overhangs distance to the top of window for the left facade. + Double + ft + true + false + 0 + + + overhangs_left_distance_to_bottom_of_window + Overhangs: Left Distance to Bottom of Window + The overhangs distance to the bottom of window for the left facade. + Double + ft + true + false + 4 + + + overhangs_right_depth + Overhangs: Right Depth + The depth of overhangs for windows for the right facade. + Double + ft + true + false + 0 + + + overhangs_right_distance_to_top_of_window + Overhangs: Right Distance to Top of Window + The overhangs distance to the top of window for the right facade. + Double + ft + true + false + 0 + + + overhangs_right_distance_to_bottom_of_window + Overhangs: Right Distance to Bottom of Window + The overhangs distance to the bottom of window for the right facade. + Double + ft + true + false + 4 + + + skylight_area_front + Skylights: Front Roof Area + The amount of skylight area on the unit's front conditioned roof facade. + Double + ft^2 + true + false + 0 + + + skylight_area_back + Skylights: Back Roof Area + The amount of skylight area on the unit's back conditioned roof facade. + Double + ft^2 + true + false + 0 + + + skylight_area_left + Skylights: Left Roof Area + The amount of skylight area on the unit's left conditioned roof facade (when viewed from the front). + Double + ft^2 + true + false + 0 + + + skylight_area_right + Skylights: Right Roof Area + The amount of skylight area on the unit's right conditioned roof facade (when viewed from the front). + Double + ft^2 + true + false + 0 + + + skylight_ufactor + Skylights: U-Factor + Full-assembly NFRC U-factor. + Double + Btu/hr-ft^2-R + true + false + 0.33 + + + skylight_shgc + Skylights: SHGC + Full-assembly NFRC solar heat gain coefficient. + Double + true + false + 0.45 + + + skylight_storm_type + Skylights: Storm Type + The type of storm, if present. If not provided, assumes there is no storm. + Choice + + false + false + + + auto + auto + + + clear + clear + + + low-e + low-e + + + + + door_area + Doors: Area + The area of the opaque door(s). + Double + ft^2 + true + false + 20 + + + door_rvalue + Doors: R-value + R-value of the opaque door(s). + Double + h-ft^2-R/Btu + true + false + 4.4 + + + air_leakage_units + Air Leakage: Units + The unit of measure for the air leakage. + Choice + true + false + ACH + + + ACH + ACH + + + CFM + CFM + + + ACHnatural + ACHnatural + + + CFMnatural + CFMnatural + + + EffectiveLeakageArea + EffectiveLeakageArea + + + + + air_leakage_house_pressure + Air Leakage: House Pressure + The house pressure relative to outside. Required when units are ACH or CFM. + Double + Pa + true + false + 50 + + + air_leakage_value + Air Leakage: Value + Air exchange rate value. For 'EffectiveLeakageArea', provide value in sq. in. + Double + true + false + 3 + + + air_leakage_type + Air Leakage: Type + Type of air leakage. If 'unit total', represents the total infiltration to the unit as measured by a compartmentalization test, in which case the air leakage value will be adjusted by the ratio of exterior envelope surface area to total envelope surface area. Otherwise, if 'unit exterior only', represents the infiltration to the unit from outside only as measured by a guarded test. Required when unit type is single-family attached or apartment unit. + Choice + + false + false + + + auto + auto + + + unit total + unit total + + + unit exterior only + unit exterior only + + + + + heating_system_type + Heating System: Type + The type of heating system. Use 'none' if there is no heating system or if there is a heat pump serving a heating load. + Choice + true + false + Furnace + + + none + none + + + Furnace + Furnace + + + WallFurnace + WallFurnace + + + FloorFurnace + FloorFurnace + + + Boiler + Boiler + + + ElectricResistance + ElectricResistance + + + Stove + Stove + + + SpaceHeater + SpaceHeater + + + Fireplace + Fireplace + + + Shared Boiler w/ Baseboard + Shared Boiler w/ Baseboard + + + Shared Boiler w/ Ductless Fan Coil + Shared Boiler w/ Ductless Fan Coil + + + + + heating_system_fuel + Heating System: Fuel Type + The fuel type of the heating system. Ignored for ElectricResistance. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + heating_system_heating_efficiency + Heating System: Rated AFUE or Percent + The rated heating efficiency value of the heating system. + Double + Frac + true + false + 0.78 + + + heating_system_heating_capacity + Heating System: Heating Capacity + The output heating capacity of the heating system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>) is used. + String + Btu/hr + false + false + + + heating_system_heating_autosizing_factor + Heating System: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + heating_system_heating_autosizing_limit + Heating System: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + heating_system_fraction_heat_load_served + Heating System: Fraction Heat Load Served + The heating load served by the heating system. + Double + Frac + true + false + 1 + + + heating_system_pilot_light + Heating System: Pilot Light + The fuel usage of the pilot light. Applies only to Furnace, WallFurnace, FloorFurnace, Stove, Boiler, and Fireplace with non-electric fuel type. If not provided, assumes no pilot light. + String + Btuh + false + false + + + cooling_system_type + Cooling System: Type + The type of cooling system. Use 'none' if there is no cooling system or if there is a heat pump serving a cooling load. + Choice + true + false + central air conditioner + + + none + none + + + central air conditioner + central air conditioner + + + room air conditioner + room air conditioner + + + evaporative cooler + evaporative cooler + + + mini-split + mini-split + + + packaged terminal air conditioner + packaged terminal air conditioner + + + + + cooling_system_cooling_efficiency_type + Cooling System: Efficiency Type + The efficiency type of the cooling system. System types central air conditioner and mini-split use SEER or SEER2. System types room air conditioner and packaged terminal air conditioner use EER or CEER. Ignored for system type evaporative cooler. + Choice + true + false + SEER + + + SEER + SEER + + + SEER2 + SEER2 + + + EER + EER + + + CEER + CEER + + + + + cooling_system_cooling_efficiency + Cooling System: Efficiency + The rated efficiency value of the cooling system. Ignored for evaporative cooler. + Double + true + false + 13 + + + cooling_system_cooling_compressor_type + Cooling System: Cooling Compressor Type + The compressor type of the cooling system. Only applies to central air conditioner and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Choice + + false + false + + + auto + auto + + + single stage + single stage + + + two stage + two stage + + + variable speed + variable speed + + + + + cooling_system_cooling_sensible_heat_fraction + Cooling System: Cooling Sensible Heat Fraction + The sensible heat fraction of the cooling system. Ignored for evaporative cooler. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + String + Frac + false + false + + + cooling_system_cooling_capacity + Cooling System: Cooling Capacity + The output cooling capacity of the cooling system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#evaporative-cooler'>Evaporative Cooler</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + String + Btu/hr + false + false + + + cooling_system_cooling_autosizing_factor + Cooling System: Cooling Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + cooling_system_cooling_autosizing_limit + Cooling System: Cooling Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + cooling_system_fraction_cool_load_served + Cooling System: Fraction Cool Load Served + The cooling load served by the cooling system. + Double + Frac + true + false + 1 + + + cooling_system_is_ducted + Cooling System: Is Ducted + Whether the cooling system is ducted or not. Only used for mini-split and evaporative cooler. It's assumed that central air conditioner is ducted, and room air conditioner and packaged terminal air conditioner are not ducted. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + cooling_system_crankcase_heater_watts + Cooling System: Crankcase Heater Power Watts + Cooling system crankcase heater power consumption in Watts. Applies only to central air conditioner, room air conditioner, packaged terminal air conditioner and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + String + W + false + false + + + cooling_system_integrated_heating_system_fuel + Cooling System: Integrated Heating System Fuel Type + The fuel type of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + Choice + + false + false + + + auto + auto + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + cooling_system_integrated_heating_system_efficiency_percent + Cooling System: Integrated Heating System Efficiency + The rated heating efficiency value of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + String + Frac + false + false + + + cooling_system_integrated_heating_system_capacity + Cooling System: Integrated Heating System Heating Capacity + The output heating capacity of the heating system integrated into cooling system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>) is used. Only used for room air conditioner and packaged terminal air conditioner. + String + Btu/hr + false + false + + + cooling_system_integrated_heating_system_fraction_heat_load_served + Cooling System: Integrated Heating System Fraction Heat Load Served + The heating load served by the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + String + Frac + false + false + + + heat_pump_type + Heat Pump: Type + The type of heat pump. Use 'none' if there is no heat pump. + Choice + true + false + none + + + none + none + + + air-to-air + air-to-air + + + mini-split + mini-split + + + ground-to-air + ground-to-air + + + packaged terminal heat pump + packaged terminal heat pump + + + room air conditioner with reverse cycle + room air conditioner with reverse cycle + + + + + heat_pump_heating_efficiency_type + Heat Pump: Heating Efficiency Type + The heating efficiency type of heat pump. System types air-to-air and mini-split use HSPF or HSPF2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use COP. + Choice + true + false + HSPF + + + HSPF + HSPF + + + HSPF2 + HSPF2 + + + COP + COP + + + + + heat_pump_heating_efficiency + Heat Pump: Heating Efficiency + The rated heating efficiency value of the heat pump. + Double + true + false + 7.7 + + + heat_pump_cooling_efficiency_type + Heat Pump: Cooling Efficiency Type + The cooling efficiency type of heat pump. System types air-to-air and mini-split use SEER or SEER2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use EER. + Choice + true + false + SEER + + + SEER + SEER + + + SEER2 + SEER2 + + + EER + EER + + + CEER + CEER + + + + + heat_pump_cooling_efficiency + Heat Pump: Cooling Efficiency + The rated cooling efficiency value of the heat pump. + Double + true + false + 13 + + + heat_pump_cooling_compressor_type + Heat Pump: Cooling Compressor Type + The compressor type of the heat pump. Only applies to air-to-air and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>) is used. + Choice + + false + false + + + auto + auto + + + single stage + single stage + + + two stage + two stage + + + variable speed + variable speed + + + + + heat_pump_cooling_sensible_heat_fraction + Heat Pump: Cooling Sensible Heat Fraction + The sensible heat fraction of the heat pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + String + Frac + false + false + + + heat_pump_heating_capacity + Heat Pump: Heating Capacity + The output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + String + Btu/hr + false + false + + + heat_pump_heating_autosizing_factor + Heat Pump: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + heat_pump_heating_autosizing_limit + Heat Pump: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + heat_pump_heating_capacity_retention_fraction + Heat Pump: Heating Capacity Retention Fraction + The output heating capacity of the heat pump at a user-specified temperature (e.g., 17F or 5F) divided by the above nominal heating capacity. Applies to all heat pump types except ground-to-air. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + String + Frac + false + false + + + heat_pump_heating_capacity_retention_temp + Heat Pump: Heating Capacity Retention Temperature + The user-specified temperature (e.g., 17F or 5F) for the above heating capacity retention fraction. Applies to all heat pump types except ground-to-air. Required if the Heating Capacity Retention Fraction is provided. + String + deg-F + false + false + + + heat_pump_cooling_capacity + Heat Pump: Cooling Capacity + The output cooling capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + String + Btu/hr + false + false + + + heat_pump_cooling_autosizing_factor + Heat Pump: Cooling Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + heat_pump_cooling_autosizing_limit + Heat Pump: Cooling Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + heat_pump_fraction_heat_load_served + Heat Pump: Fraction Heat Load Served + The heating load served by the heat pump. + Double + Frac + true + false + 1 + + + heat_pump_fraction_cool_load_served + Heat Pump: Fraction Cool Load Served + The cooling load served by the heat pump. + Double + Frac + true + false + 1 + + + heat_pump_compressor_lockout_temp + Heat Pump: Compressor Lockout Temperature + The temperature below which the heat pump compressor is disabled. If both this and Backup Heating Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies to all heat pump types other than ground-to-air. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + String + deg-F + false + false + + + heat_pump_backup_type + Heat Pump: Backup Type + The backup type of the heat pump. If 'integrated', represents e.g. built-in electric strip heat or dual-fuel integrated furnace. If 'separate', represents e.g. electric baseboard or boiler based on the Heating System 2 specified below. Use 'none' if there is no backup heating. + Choice + true + false + integrated + + + none + none + + + integrated + integrated + + + separate + separate + + + + + heat_pump_backup_heating_autosizing_factor + Heat Pump: Backup Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, 1.0 is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Factor. + String + + false + false + + + heat_pump_backup_heating_autosizing_limit + Heat Pump: Backup Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, no limit is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Limit. + String + Btu/hr + false + false + + + heat_pump_backup_fuel + Heat Pump: Backup Fuel Type + The backup fuel type of the heat pump. Only applies if Backup Type is 'integrated'. + Choice + true + false + electricity + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + + + heat_pump_backup_heating_efficiency + Heat Pump: Backup Rated Efficiency + The backup rated efficiency value of the heat pump. Percent for electricity fuel type. AFUE otherwise. Only applies if Backup Type is 'integrated'. + Double + true + false + 1 + + + heat_pump_backup_heating_capacity + Heat Pump: Backup Heating Capacity + The backup output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#backup'>Backup</a>) is used. Only applies if Backup Type is 'integrated'. + String + Btu/hr + false + false + + + heat_pump_backup_heating_lockout_temp + Heat Pump: Backup Heating Lockout Temperature + The temperature above which the heat pump backup system is disabled. If both this and Compressor Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies for both Backup Type of 'integrated' and 'separate'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#backup'>Backup</a>) is used. + String + deg-F + false + false + + + heat_pump_sizing_methodology + Heat Pump: Sizing Methodology + The auto-sizing methodology to use when the heat pump capacity is not provided. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-sizing-control'>HPXML HVAC Sizing Control</a>) is used. + Choice + + false + false + + + auto + auto + + + ACCA + ACCA + + + HERS + HERS + + + MaxLoad + MaxLoad + + + + + heat_pump_backup_sizing_methodology + Heat Pump: Backup Sizing Methodology + The auto-sizing methodology to use when the heat pump backup capacity is not provided. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-sizing-control'>HPXML HVAC Sizing Control</a>) is used. + Choice + + false + false + + + auto + auto + + + emergency + emergency + + + supplemental + supplemental + + + + + heat_pump_is_ducted + Heat Pump: Is Ducted + Whether the heat pump is ducted or not. Only used for mini-split. It's assumed that air-to-air and ground-to-air are ducted, and packaged terminal heat pump and room air conditioner with reverse cycle are not ducted. If not provided, assumes not ducted. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + heat_pump_crankcase_heater_watts + Heat Pump: Crankcase Heater Power Watts + Heat Pump crankcase heater power consumption in Watts. Applies only to air-to-air, mini-split, packaged terminal heat pump and room air conditioner with reverse cycle. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + String + W + false + false + + + hvac_perf_data_capacity_type + HVAC Detailed Performance Data: Capacity Type + Type of capacity values for detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). + Choice + Absolute capacities + false + false + + + auto + auto + + + Absolute capacities + Absolute capacities + + + Normalized capacity fractions + Normalized capacity fractions + + + + + hvac_perf_data_heating_outdoor_temperatures + HVAC Detailed Performance Data: Heating Outdoor Temperatures + Outdoor temperatures of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 47 deg-F. At least two performance data points are required using a comma-separated list. + String + deg-F + false + false + + + hvac_perf_data_heating_min_speed_capacities + HVAC Detailed Performance Data: Heating Minimum Speed Capacities + Minimum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_heating_max_speed_capacities + HVAC Detailed Performance Data: Heating Maximum Speed Capacities + Maximum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_heating_min_speed_cops + HVAC Detailed Performance Data: Heating Minimum Speed COPs + Minimum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_heating_max_speed_cops + HVAC Detailed Performance Data: Heating Maximum Speed COPs + Maximum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_cooling_outdoor_temperatures + HVAC Detailed Performance Data: Cooling Outdoor Temperatures + Outdoor temperatures of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 95 deg-F. At least two performance data points are required using a comma-separated list. + String + deg-F + false + false + + + hvac_perf_data_cooling_min_speed_capacities + HVAC Detailed Performance Data: Cooling Minimum Speed Capacities + Minimum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_cooling_max_speed_capacities + HVAC Detailed Performance Data: Cooling Maximum Speed Capacities + Maximum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_cooling_min_speed_cops + HVAC Detailed Performance Data: Cooling Minimum Speed COPs + Minimum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_cooling_max_speed_cops + HVAC Detailed Performance Data: Cooling Maximum Speed COPs + Maximum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + geothermal_loop_configuration + Geothermal Loop: Configuration + Configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Choice + + false + false + + + auto + auto + + + none + none + + + vertical + vertical + + + + + geothermal_loop_borefield_configuration + Geothermal Loop: Borefield Configuration + Borefield configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + + false + false + + + auto + auto + + + Rectangle + Rectangle + + + Open Rectangle + Open Rectangle + + + C + C + + + L + L + + + U + U + + + Lopsided U + Lopsided U + + + + + geothermal_loop_loop_flow + Geothermal Loop: Loop Flow + Water flow rate through the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + gpm + false + false + + + geothermal_loop_boreholes_count + Geothermal Loop: Boreholes Count + Number of boreholes. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + # + false + false + + + geothermal_loop_boreholes_length + Geothermal Loop: Boreholes Length + Average length of each borehole (vertical). Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + ft + false + false + + + geothermal_loop_boreholes_spacing + Geothermal Loop: Boreholes Spacing + Distance between bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + ft + false + false + + + geothermal_loop_boreholes_diameter + Geothermal Loop: Boreholes Diameter + Diameter of bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + in + false + false + + + geothermal_loop_grout_type + Geothermal Loop: Grout Type + Grout type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + + false + false + + + auto + auto + + + standard + standard + + + thermally enhanced + thermally enhanced + + + + + geothermal_loop_pipe_type + Geothermal Loop: Pipe Type + Pipe type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + + false + false + + + auto + auto + + + standard + standard + + + thermally enhanced + thermally enhanced + + + + + geothermal_loop_pipe_diameter + Geothermal Loop: Pipe Diameter + Pipe diameter of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + in + false + false + + + auto + auto + + + 3/4" pipe + 3/4" pipe + + + 1" pipe + 1" pipe + + + 1-1/4" pipe + 1-1/4" pipe + + + + + heating_system_2_type + Heating System 2: Type + The type of the second heating system. + Choice + true + false + none + + + none + none + + + Furnace + Furnace + + + WallFurnace + WallFurnace + + + FloorFurnace + FloorFurnace + + + Boiler + Boiler + + + ElectricResistance + ElectricResistance + + + Stove + Stove + + + SpaceHeater + SpaceHeater + + + Fireplace + Fireplace + + + + + heating_system_2_fuel + Heating System 2: Fuel Type + The fuel type of the second heating system. Ignored for ElectricResistance. + Choice + true + false + electricity + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + heating_system_2_heating_efficiency + Heating System 2: Rated AFUE or Percent + The rated heating efficiency value of the second heating system. + Double + Frac + true + false + 1 + + + heating_system_2_heating_capacity + Heating System 2: Heating Capacity + The output heating capacity of the second heating system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>) is used. + String + Btu/hr + false + false + + + heating_system_2_heating_autosizing_factor + Heating System 2: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + heating_system_2_heating_autosizing_limit + Heating System 2: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + heating_system_2_fraction_heat_load_served + Heating System 2: Fraction Heat Load Served + The heat load served fraction of the second heating system. Ignored if this heating system serves as a backup system for a heat pump. + Double + Frac + true + false + 0.25 + + + hvac_control_heating_season_period + HVAC Control: Heating Season Period + Enter a date like 'Nov 1 - Jun 30'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-control'>HPXML HVAC Control</a>) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + String + + false + false + + + hvac_control_cooling_season_period + HVAC Control: Cooling Season Period + Enter a date like 'Jun 1 - Oct 31'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-control'>HPXML HVAC Control</a>) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + String + + false + false + + + hvac_blower_fan_watts_per_cfm + HVAC Blower: Fan Efficiency + The blower fan efficiency at maximum fan speed. Applies only to split (not packaged) systems (i.e., applies to ducted systems as well as ductless mini-split systems). If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooling-systems'>HPXML Cooling Systems</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heat-pumps'>HPXML Heat Pumps</a>) is used. + String + W/CFM + false + false + + + ducts_leakage_units + Ducts: Leakage Units + The leakage units of the ducts. + Choice + true + false + Percent + + + CFM25 + CFM25 + + + CFM50 + CFM50 + + + Percent + Percent + + + + + ducts_supply_leakage_to_outside_value + Ducts: Supply Leakage to Outside Value + The leakage value to outside for the supply ducts. + Double + true + false + 0.1 + + + ducts_supply_location + Ducts: Supply Location + The location of the supply ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + exterior wall + exterior wall + + + under slab + under slab + + + roof deck + roof deck + + + outside + outside + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + manufactured home belly + manufactured home belly + + + + + ducts_supply_insulation_r + Ducts: Supply Insulation R-Value + The nominal insulation r-value of the supply ducts excluding air films. Use 0 for uninsulated ducts. + Double + h-ft^2-R/Btu + true + false + 0 + + + ducts_supply_buried_insulation_level + Ducts: Supply Buried Insulation Level + Whether the supply 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. + Choice + + false + false + + + auto + auto + + + not buried + not buried + + + partially buried + partially buried + + + fully buried + fully buried + + + deeply buried + deeply buried + + + + + ducts_supply_surface_area + Ducts: Supply Surface Area + The supply ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + ft^2 + false + false + + + ducts_supply_surface_area_fraction + Ducts: Supply Area Fraction + The fraction of supply ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + frac + false + false + + + ducts_supply_fraction_rectangular + Ducts: Supply Fraction Rectangular + The fraction of supply ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + frac + false + false + + + ducts_return_leakage_to_outside_value + Ducts: Return Leakage to Outside Value + The leakage value to outside for the return ducts. + Double + true + false + 0.1 + + + ducts_return_location + Ducts: Return Location + The location of the return ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + exterior wall + exterior wall + + + under slab + under slab + + + roof deck + roof deck + + + outside + outside + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + manufactured home belly + manufactured home belly + + + + + ducts_return_insulation_r + Ducts: Return Insulation R-Value + The nominal insulation r-value of the return ducts excluding air films. Use 0 for uninsulated ducts. + Double + h-ft^2-R/Btu + true + false + 0 + + + ducts_return_buried_insulation_level + Ducts: Return Buried Insulation Level + Whether the return 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. + Choice + + false + false + + + auto + auto + + + not buried + not buried + + + partially buried + partially buried + + + fully buried + fully buried + + + deeply buried + deeply buried + + + + + ducts_return_surface_area + Ducts: Return Surface Area + The return ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + ft^2 + false + false + + + ducts_return_surface_area_fraction + Ducts: Return Area Fraction + The fraction of return ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + frac + false + false + + + ducts_number_of_return_registers + Ducts: Number of Return Registers + The number of return registers of the ducts. Only used to calculate default return duct surface area. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + # + false + false + + + ducts_return_fraction_rectangular + Ducts: Return Fraction Rectangular + The fraction of return ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + frac + false + false + + + mech_vent_fan_type + Mechanical Ventilation: Fan Type + The type of the mechanical ventilation. Use 'none' if there is no mechanical ventilation system. + Choice + true + false + none + + + none + none + + + exhaust only + exhaust only + + + supply only + supply only + + + energy recovery ventilator + energy recovery ventilator + + + heat recovery ventilator + heat recovery ventilator + + + balanced + balanced + + + central fan integrated supply + central fan integrated supply + + + + + mech_vent_flow_rate + Mechanical Ventilation: Flow Rate + The flow rate of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + String + CFM + false + false + + + mech_vent_hours_in_operation + Mechanical Ventilation: Hours In Operation + The hours in operation of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + String + hrs/day + false + false + + + mech_vent_recovery_efficiency_type + Mechanical Ventilation: Total Recovery Efficiency Type + The total recovery efficiency type of the mechanical ventilation. + Choice + true + false + Unadjusted + + + Unadjusted + Unadjusted + + + Adjusted + Adjusted + + + + + mech_vent_total_recovery_efficiency + Mechanical Ventilation: Total Recovery Efficiency + The Unadjusted or Adjusted total recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator. + Double + Frac + true + false + 0.48 + + + mech_vent_sensible_recovery_efficiency + Mechanical Ventilation: Sensible Recovery Efficiency + The Unadjusted or Adjusted sensible recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + Double + Frac + true + false + 0.72 + + + mech_vent_fan_power + Mechanical Ventilation: Fan Power + The fan power of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + String + W + false + false + + + mech_vent_num_units_served + Mechanical Ventilation: Number of Units Served + Number of dwelling units served by the mechanical ventilation system. Must be 1 if single-family detached. Used to apportion flow rate and fan power to the unit. + Integer + # + true + false + 1 + + + mech_vent_shared_frac_recirculation + Shared Mechanical Ventilation: Fraction Recirculation + Fraction of the total supply air that is recirculated, with the remainder assumed to be outdoor air. The value must be 0 for exhaust only systems. Required for a shared mechanical ventilation system. + String + Frac + false + false + + + mech_vent_shared_preheating_fuel + Shared Mechanical Ventilation: Preheating Fuel + Fuel type of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + Choice + + false + false + + + auto + auto + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + mech_vent_shared_preheating_efficiency + Shared Mechanical Ventilation: Preheating Efficiency + Efficiency of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + String + COP + false + false + + + mech_vent_shared_preheating_fraction_heat_load_served + Shared Mechanical Ventilation: Preheating Fraction Ventilation Heat Load Served + Fraction of heating load introduced by the shared ventilation system that is met by the preconditioning heating equipment. If not provided, assumes no preheating. + String + Frac + false + false + + + mech_vent_shared_precooling_fuel + Shared Mechanical Ventilation: Precooling Fuel + Fuel type of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + Choice + + false + false + + + auto + auto + + + electricity + electricity + + + + + mech_vent_shared_precooling_efficiency + Shared Mechanical Ventilation: Precooling Efficiency + Efficiency of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + String + COP + false + false + + + mech_vent_shared_precooling_fraction_cool_load_served + Shared Mechanical Ventilation: Precooling Fraction Ventilation Cool Load Served + Fraction of cooling load introduced by the shared ventilation system that is met by the preconditioning cooling equipment. If not provided, assumes no precooling. + String + Frac + false + false + + + mech_vent_2_fan_type + Mechanical Ventilation 2: Fan Type + The type of the second mechanical ventilation. Use 'none' if there is no second mechanical ventilation system. + Choice + true + false + none + + + none + none + + + exhaust only + exhaust only + + + supply only + supply only + + + energy recovery ventilator + energy recovery ventilator + + + heat recovery ventilator + heat recovery ventilator + + + balanced + balanced + + + + + mech_vent_2_flow_rate + Mechanical Ventilation 2: Flow Rate + The flow rate of the second mechanical ventilation. + Double + CFM + true + false + 110 + + + mech_vent_2_hours_in_operation + Mechanical Ventilation 2: Hours In Operation + The hours in operation of the second mechanical ventilation. + Double + hrs/day + true + false + 24 + + + mech_vent_2_recovery_efficiency_type + Mechanical Ventilation 2: Total Recovery Efficiency Type + The total recovery efficiency type of the second mechanical ventilation. + Choice + true + false + Unadjusted + + + Unadjusted + Unadjusted + + + Adjusted + Adjusted + + + + + mech_vent_2_total_recovery_efficiency + Mechanical Ventilation 2: Total Recovery Efficiency + The Unadjusted or Adjusted total recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator. + Double + Frac + true + false + 0.48 + + + mech_vent_2_sensible_recovery_efficiency + Mechanical Ventilation 2: Sensible Recovery Efficiency + The Unadjusted or Adjusted sensible recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + Double + Frac + true + false + 0.72 + + + mech_vent_2_fan_power + Mechanical Ventilation 2: Fan Power + The fan power of the second mechanical ventilation. + Double + W + true + false + 30 + + + kitchen_fans_quantity + Kitchen Fans: Quantity + The quantity of the kitchen fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + # + false + false + + + kitchen_fans_flow_rate + Kitchen Fans: Flow Rate + The flow rate of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + CFM + false + false + + + kitchen_fans_hours_in_operation + Kitchen Fans: Hours In Operation + The hours in operation of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + hrs/day + false + false + + + kitchen_fans_power + Kitchen Fans: Fan Power + The fan power of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + W + false + false + + + kitchen_fans_start_hour + Kitchen Fans: Start Hour + The start hour of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + hr + false + false + + + bathroom_fans_quantity + Bathroom Fans: Quantity + The quantity of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + # + false + false + + + bathroom_fans_flow_rate + Bathroom Fans: Flow Rate + The flow rate of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + CFM + false + false + + + bathroom_fans_hours_in_operation + Bathroom Fans: Hours In Operation + The hours in operation of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + hrs/day + false + false + + + bathroom_fans_power + Bathroom Fans: Fan Power + The fan power of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + W + false + false + + + bathroom_fans_start_hour + Bathroom Fans: Start Hour + The start hour of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + hr + false + false + + + whole_house_fan_present + Whole House Fan: Present + Whether there is a whole house fan. + Boolean + true + false + false + + + true + true + + + false + false + + + + + whole_house_fan_flow_rate + Whole House Fan: Flow Rate + The flow rate of the whole house fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-whole-house-fans'>HPXML Whole House Fans</a>) is used. + String + CFM + false + false + + + whole_house_fan_power + Whole House Fan: Fan Power + The fan power of the whole house fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-whole-house-fans'>HPXML Whole House Fans</a>) is used. + String + W + false + false + + + water_heater_type + Water Heater: Type + The type of water heater. Use 'none' if there is no water heater. + Choice + true + false + storage water heater + + + none + none + + + storage water heater + storage water heater + + + instantaneous water heater + instantaneous water heater + + + heat pump water heater + heat pump water heater + + + space-heating boiler with storage tank + space-heating boiler with storage tank + + + space-heating boiler with tankless coil + space-heating boiler with tankless coil + + + + + water_heater_fuel_type + Water Heater: Fuel Type + The fuel type of water heater. Ignored for heat pump water heater. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + water_heater_location + Water Heater: Location + The location of water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-heating-systems'>HPXML Water Heating Systems</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + other exterior + other exterior + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + water_heater_tank_volume + Water Heater: Tank Volume + Nominal volume of water heater tank. Only applies to storage water heater, heat pump water heater, and space-heating boiler with storage tank. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#combi-boiler-w-storage'>Combi Boiler w/ Storage</a>) is used. + String + gal + false + false + + + water_heater_efficiency_type + Water Heater: Efficiency Type + The efficiency type of water heater. Does not apply to space-heating boilers. + Choice + true + false + EnergyFactor + + + EnergyFactor + EnergyFactor + + + UniformEnergyFactor + UniformEnergyFactor + + + + + water_heater_efficiency + Water Heater: Efficiency + Rated Energy Factor or Uniform Energy Factor. Does not apply to space-heating boilers. + Double + true + false + 0.67 + + + water_heater_usage_bin + Water Heater: Usage Bin + The usage of the water heater. Only applies if Efficiency Type is UniformEnergyFactor and Type is not instantaneous water heater. Does not apply to space-heating boilers. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>) is used. + Choice + + false + false + + + auto + auto + + + very small + very small + + + low + low + + + medium + medium + + + high + high + + + + + water_heater_recovery_efficiency + Water Heater: Recovery Efficiency + Ratio of energy delivered to water heater to the energy content of the fuel consumed by the water heater. Only used for non-electric storage water heaters. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + String + Frac + false + false + + + water_heater_heating_capacity + Water Heater: Heating Capacity + Heating capacity. Only applies to storage water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + String + Btu/hr + false + false + + + water_heater_standby_loss + Water Heater: Standby Loss + The standby loss of water heater. Only applies to space-heating boilers. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#combi-boiler-w-storage'>Combi Boiler w/ Storage</a>) is used. + String + deg-F/hr + false + false + + + water_heater_jacket_rvalue + Water Heater: Jacket R-value + The jacket R-value of water heater. Doesn't apply to instantaneous water heater or space-heating boiler with tankless coil. If not provided, defaults to no jacket insulation. + String + h-ft^2-R/Btu + false + false + + + water_heater_setpoint_temperature + Water Heater: Setpoint Temperature + The setpoint temperature of water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-heating-systems'>HPXML Water Heating Systems</a>) is used. + String + deg-F + false + false + + + water_heater_num_bedrooms_served + Water Heater: Number of Bedrooms Served + Number of bedrooms served (directly or indirectly) by the water heater. Only needed if single-family attached or apartment unit and it is a shared water heater serving multiple dwelling units. Used to apportion water heater tank losses to the unit. + String + # + false + false + + + water_heater_uses_desuperheater + Water Heater: Uses Desuperheater + Requires that the dwelling unit has a air-to-air, mini-split, or ground-to-air heat pump or a central air conditioner or mini-split air conditioner. If not provided, assumes no desuperheater. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + water_heater_tank_model_type + Water Heater: Tank Type + Type of tank model to use. The 'stratified' tank generally provide more accurate results, but may significantly increase run time. Applies only to storage water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + Choice + + false + false + + + auto + auto + + + mixed + mixed + + + stratified + stratified + + + + + water_heater_operating_mode + Water Heater: Operating Mode + The water heater operating mode. The 'heat pump only' option only uses the heat pump, while 'hybrid/auto' allows the backup electric resistance to come on in high demand situations. This is ignored if a scheduled operating mode type is selected. Applies only to heat pump water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>) is used. + Choice + + false + false + + + auto + auto + + + hybrid/auto + hybrid/auto + + + heat pump only + heat pump only + + + + + hot_water_distribution_system_type + Hot Water Distribution: System Type + The type of the hot water distribution system. + Choice + true + false + Standard + + + Standard + Standard + + + Recirculation + Recirculation + + + + + hot_water_distribution_standard_piping_length + Hot Water Distribution: Standard Piping Length + If the distribution system is Standard, the length of the piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#standard'>Standard</a>) is used. + String + ft + false + false + + + hot_water_distribution_recirc_control_type + Hot Water Distribution: Recirculation Control Type + If the distribution system is Recirculation, the type of hot water recirculation control, if any. + Choice + + false + false + + + auto + auto + + + no control + no control + + + timer + timer + + + temperature + temperature + + + presence sensor demand control + presence sensor demand control + + + manual demand control + manual demand control + + + + + hot_water_distribution_recirc_piping_length + Hot Water Distribution: Recirculation Piping Length + If the distribution system is Recirculation, the length of the recirculation piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + String + ft + false + false + + + hot_water_distribution_recirc_branch_piping_length + Hot Water Distribution: Recirculation Branch Piping Length + If the distribution system is Recirculation, the length of the recirculation branch piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + String + ft + false + false + + + hot_water_distribution_recirc_pump_power + Hot Water Distribution: Recirculation Pump Power + If the distribution system is Recirculation, the recirculation pump power. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + String + W + false + false + + + hot_water_distribution_pipe_r + Hot Water Distribution: Pipe Insulation Nominal R-Value + Nominal R-value of the pipe insulation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hot-water-distribution'>HPXML Hot Water Distribution</a>) is used. + String + h-ft^2-R/Btu + false + false + + + dwhr_facilities_connected + Drain Water Heat Recovery: Facilities Connected + Which facilities are connected for the drain water heat recovery. Use 'none' if there is no drain water heat recovery system. + Choice + true + false + none + + + none + none + + + one + one + + + all + all + + + + + dwhr_equal_flow + Drain Water Heat Recovery: Equal Flow + Whether the drain water heat recovery has equal flow. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + dwhr_efficiency + Drain Water Heat Recovery: Efficiency + The efficiency of the drain water heat recovery. + String + Frac + false + false + + + water_fixtures_shower_low_flow + Hot Water Fixtures: Is Shower Low Flow + Whether the shower fixture is low flow. + Boolean + true + false + false + + + true + true + + + false + false + + + + + water_fixtures_sink_low_flow + Hot Water Fixtures: Is Sink Low Flow + Whether the sink fixture is low flow. + Boolean + true + false + false + + + true + true + + + false + false + + + + + water_fixtures_usage_multiplier + Hot Water Fixtures: Usage Multiplier + Multiplier on the hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-fixtures'>HPXML Water Fixtures</a>) is used. + String + + false + false + + + general_water_use_usage_multiplier + General Water Use: Usage Multiplier + Multiplier on internal gains from general water use (floor mopping, shower evaporation, water films on showers, tubs & sinks surfaces, plant watering, etc.) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-occupancy'>HPXML Building Occupancy</a>) is used. + String + + false + false + + + solar_thermal_system_type + Solar Thermal: System Type + The type of solar thermal system. Use 'none' if there is no solar thermal system. + Choice + true + false + none + + + none + none + + + hot water + hot water + + + + + solar_thermal_collector_area + Solar Thermal: Collector Area + The collector area of the solar thermal system. + Double + ft^2 + true + false + 40 + + + solar_thermal_collector_loop_type + Solar Thermal: Collector Loop Type + The collector loop type of the solar thermal system. + Choice + true + false + liquid direct + + + liquid direct + liquid direct + + + liquid indirect + liquid indirect + + + passive thermosyphon + passive thermosyphon + + + + + solar_thermal_collector_type + Solar Thermal: Collector Type + The collector type of the solar thermal system. + Choice + true + false + evacuated tube + + + evacuated tube + evacuated tube + + + single glazing black + single glazing black + + + double glazing black + double glazing black + + + integrated collector storage + integrated collector storage + + + + + solar_thermal_collector_azimuth + Solar Thermal: Collector Azimuth + The collector azimuth of the solar thermal system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + solar_thermal_collector_tilt + Solar Thermal: Collector Tilt + The collector tilt of the solar thermal system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + solar_thermal_collector_rated_optical_efficiency + Solar Thermal: Collector Rated Optical Efficiency + The collector rated optical efficiency of the solar thermal system. + Double + Frac + true + false + 0.5 + + + solar_thermal_collector_rated_thermal_losses + Solar Thermal: Collector Rated Thermal Losses + The collector rated thermal losses of the solar thermal system. + Double + Btu/hr-ft^2-R + true + false + 0.2799 + + + solar_thermal_storage_volume + Solar Thermal: Storage Volume + The storage volume of the solar thermal system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#detailed-inputs'>Detailed Inputs</a>) is used. + String + gal + false + false + + + solar_thermal_solar_fraction + Solar Thermal: Solar Fraction + The solar fraction of the solar thermal system. If provided, overrides all other solar thermal inputs. + Double + Frac + true + false + 0 + + + pv_system_present + PV System: Present + Whether there is a PV system present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pv_system_module_type + PV System: Module Type + Module type of the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + standard + standard + + + premium + premium + + + thin film + thin film + + + + + pv_system_location + PV System: Location + Location of the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + roof + roof + + + ground + ground + + + + + pv_system_tracking + PV System: Tracking + Type of tracking for the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + fixed + fixed + + + 1-axis + 1-axis + + + 1-axis backtracked + 1-axis backtracked + + + 2-axis + 2-axis + + + + + pv_system_array_azimuth + PV System: Array Azimuth + Array azimuth of the PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + pv_system_array_tilt + PV System: Array Tilt + Array tilt of the PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + pv_system_max_power_output + PV System: Maximum Power Output + Maximum power output of the PV system. For a shared system, this is the total building maximum power output. + Double + W + true + false + 4000 + + + pv_system_inverter_efficiency + PV System: Inverter Efficiency + Inverter efficiency of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + String + Frac + false + false + + + pv_system_system_losses_fraction + PV System: System Losses Fraction + System losses fraction of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + String + Frac + false + false + + + pv_system_2_present + PV System 2: Present + Whether there is a second PV system present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pv_system_2_module_type + PV System 2: Module Type + Module type of the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + standard + standard + + + premium + premium + + + thin film + thin film + + + + + pv_system_2_location + PV System 2: Location + Location of the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + roof + roof + + + ground + ground + + + + + pv_system_2_tracking + PV System 2: Tracking + Type of tracking for the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + fixed + fixed + + + 1-axis + 1-axis + + + 1-axis backtracked + 1-axis backtracked + + + 2-axis + 2-axis + + + + + pv_system_2_array_azimuth + PV System 2: Array Azimuth + Array azimuth of the second PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + pv_system_2_array_tilt + PV System 2: Array Tilt + Array tilt of the second PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + pv_system_2_max_power_output + PV System 2: Maximum Power Output + Maximum power output of the second PV system. For a shared system, this is the total building maximum power output. + Double + W + true + false + 4000 + + + battery_present + Battery: Present + Whether there is a lithium ion battery present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + battery_location + Battery: Location + The space type for the lithium ion battery location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + outside + outside + + + + + battery_power + Battery: Rated Power Output + The rated power output of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + String + W + false + false + + + battery_capacity + Battery: Nominal Capacity + The nominal capacity of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + String + kWh + false + false + + + battery_usable_capacity + Battery: Usable Capacity + The usable capacity of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + String + kWh + false + false + + + battery_round_trip_efficiency + Battery: Round Trip Efficiency + The round trip efficiency of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + String + Frac + false + false + + + lighting_present + Lighting: Present + Whether there is lighting energy use. + Boolean + true + false + true + + + true + true + + + false + false + + + + + lighting_interior_fraction_cfl + Lighting: Interior Fraction CFL + Fraction of all lamps (interior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0.1 + + + lighting_interior_fraction_lfl + Lighting: Interior Fraction LFL + Fraction of all lamps (interior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_interior_fraction_led + Lighting: Interior Fraction LED + Fraction of all lamps (interior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_interior_usage_multiplier + Lighting: Interior Usage Multiplier + Multiplier on the lighting energy usage (interior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + + false + false + + + lighting_exterior_fraction_cfl + Lighting: Exterior Fraction CFL + Fraction of all lamps (exterior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_fraction_lfl + Lighting: Exterior Fraction LFL + Fraction of all lamps (exterior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_fraction_led + Lighting: Exterior Fraction LED + Fraction of all lamps (exterior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_usage_multiplier + Lighting: Exterior Usage Multiplier + Multiplier on the lighting energy usage (exterior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + + false + false + + + lighting_garage_fraction_cfl + Lighting: Garage Fraction CFL + Fraction of all lamps (garage) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_fraction_lfl + Lighting: Garage Fraction LFL + Fraction of all lamps (garage) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_fraction_led + Lighting: Garage Fraction LED + Fraction of all lamps (garage) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_usage_multiplier + Lighting: Garage Usage Multiplier + Multiplier on the lighting energy usage (garage) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + + false + false + + + holiday_lighting_present + Holiday Lighting: Present + Whether there is holiday lighting. + Boolean + true + false + false + + + true + true + + + false + false + + + + + holiday_lighting_daily_kwh + Holiday Lighting: Daily Consumption + The daily energy consumption for holiday lighting (exterior). If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + kWh/day + false + false + + + holiday_lighting_period + Holiday Lighting: Period + Enter a date like 'Nov 25 - Jan 5'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + + false + false + + + dehumidifier_type + Dehumidifier: Type + The type of dehumidifier. + Choice + true + false + none + + + none + none + + + portable + portable + + + whole-home + whole-home + + + + + dehumidifier_efficiency_type + Dehumidifier: Efficiency Type + The efficiency type of dehumidifier. + Choice + true + false + IntegratedEnergyFactor + + + EnergyFactor + EnergyFactor + + + IntegratedEnergyFactor + IntegratedEnergyFactor + + + + + dehumidifier_efficiency + Dehumidifier: Efficiency + The efficiency of the dehumidifier. + Double + liters/kWh + true + false + 1.5 + + + dehumidifier_capacity + Dehumidifier: Capacity + The capacity (water removal rate) of the dehumidifier. + Double + pint/day + true + false + 40 + + + dehumidifier_rh_setpoint + Dehumidifier: Relative Humidity Setpoint + The relative humidity setpoint of the dehumidifier. + Double + Frac + true + false + 0.5 + + + dehumidifier_fraction_dehumidification_load_served + Dehumidifier: Fraction Dehumidification Load Served + The dehumidification load served fraction of the dehumidifier. + Double + Frac + true + false + 1 + + + clothes_washer_present + Clothes Washer: Present + Whether there is a clothes washer present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + clothes_washer_location + Clothes Washer: Location + The space type for the clothes washer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + clothes_washer_efficiency_type + Clothes Washer: Efficiency Type + The efficiency type of the clothes washer. + Choice + true + false + IntegratedModifiedEnergyFactor + + + ModifiedEnergyFactor + ModifiedEnergyFactor + + + IntegratedModifiedEnergyFactor + IntegratedModifiedEnergyFactor + + + + + clothes_washer_efficiency + Clothes Washer: Efficiency + The efficiency of the clothes washer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + ft^3/kWh-cyc + false + false + + + clothes_washer_rated_annual_kwh + Clothes Washer: Rated Annual Consumption + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + kWh/yr + false + false + + + clothes_washer_label_electric_rate + Clothes Washer: Label Electric Rate + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + $/kWh + false + false + + + clothes_washer_label_gas_rate + Clothes Washer: Label Gas Rate + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + $/therm + false + false + + + clothes_washer_label_annual_gas_cost + Clothes Washer: Label Annual Cost with Gas DHW + The annual cost of using the system under test conditions. Input is obtained from the EnergyGuide label. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + $ + false + false + + + clothes_washer_label_usage + Clothes Washer: Label Usage + The clothes washer loads per week. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + cyc/wk + false + false + + + clothes_washer_capacity + Clothes Washer: Drum Volume + Volume of the washer drum. Obtained from the EnergyStar website or the manufacturer's literature. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + ft^3 + false + false + + + clothes_washer_usage_multiplier + Clothes Washer: Usage Multiplier + Multiplier on the clothes washer energy and hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + + false + false + + + clothes_dryer_present + Clothes Dryer: Present + Whether there is a clothes dryer present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + clothes_dryer_location + Clothes Dryer: Location + The space type for the clothes dryer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + clothes_dryer_fuel_type + Clothes Dryer: Fuel Type + Type of fuel used by the clothes dryer. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + clothes_dryer_efficiency_type + Clothes Dryer: Efficiency Type + The efficiency type of the clothes dryer. + Choice + true + false + CombinedEnergyFactor + + + EnergyFactor + EnergyFactor + + + CombinedEnergyFactor + CombinedEnergyFactor + + + + + clothes_dryer_efficiency + Clothes Dryer: Efficiency + The efficiency of the clothes dryer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + String + lb/kWh + false + false + + + clothes_dryer_vented_flow_rate + Clothes Dryer: Vented Flow Rate + The exhaust flow rate of the vented clothes dryer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + String + CFM + false + false + + + clothes_dryer_usage_multiplier + Clothes Dryer: Usage Multiplier + Multiplier on the clothes dryer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + String + + false + false + + + dishwasher_present + Dishwasher: Present + Whether there is a dishwasher present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + dishwasher_location + Dishwasher: Location + The space type for the dishwasher location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + dishwasher_efficiency_type + Dishwasher: Efficiency Type + The efficiency type of dishwasher. + Choice + true + false + RatedAnnualkWh + + + RatedAnnualkWh + RatedAnnualkWh + + + EnergyFactor + EnergyFactor + + + + + dishwasher_efficiency + Dishwasher: Efficiency + The efficiency of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + RatedAnnualkWh or EnergyFactor + false + false + + + dishwasher_label_electric_rate + Dishwasher: Label Electric Rate + The label electric rate of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + $/kWh + false + false + + + dishwasher_label_gas_rate + Dishwasher: Label Gas Rate + The label gas rate of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + $/therm + false + false + + + dishwasher_label_annual_gas_cost + Dishwasher: Label Annual Gas Cost + The label annual gas cost of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + $ + false + false + + + dishwasher_label_usage + Dishwasher: Label Usage + The dishwasher loads per week. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + cyc/wk + false + false + + + dishwasher_place_setting_capacity + Dishwasher: Number of Place Settings + The number of place settings for the unit. Data obtained from manufacturer's literature. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + # + false + false + + + dishwasher_usage_multiplier + Dishwasher: Usage Multiplier + Multiplier on the dishwasher energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + + false + false + + + refrigerator_present + Refrigerator: Present + Whether there is a refrigerator present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + refrigerator_location + Refrigerator: Location + The space type for the refrigerator location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + refrigerator_rated_annual_kwh + Refrigerator: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for a refrigerator. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + String + kWh/yr + false + false + + + refrigerator_usage_multiplier + Refrigerator: Usage Multiplier + Multiplier on the refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + String + + false + false + + + extra_refrigerator_present + Extra Refrigerator: Present + Whether there is an extra refrigerator present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + extra_refrigerator_location + Extra Refrigerator: Location + The space type for the extra refrigerator location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + extra_refrigerator_rated_annual_kwh + Extra Refrigerator: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for an extra rrefrigerator. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + String + kWh/yr + false + false + + + extra_refrigerator_usage_multiplier + Extra Refrigerator: Usage Multiplier + Multiplier on the extra refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + String + + false + false + + + freezer_present + Freezer: Present + Whether there is a freezer present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + freezer_location + Freezer: Location + The space type for the freezer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + freezer_rated_annual_kwh + Freezer: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for a freezer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + String + kWh/yr + false + false + + + freezer_usage_multiplier + Freezer: Usage Multiplier + Multiplier on the freezer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + String + + false + false + + + cooking_range_oven_present + Cooking Range/Oven: Present + Whether there is a cooking range/oven present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + cooking_range_oven_location + Cooking Range/Oven: Location + The space type for the cooking range/oven location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + cooking_range_oven_fuel_type + Cooking Range/Oven: Fuel Type + Type of fuel used by the cooking range/oven. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + cooking_range_oven_is_induction + Cooking Range/Oven: Is Induction + Whether the cooking range is induction. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + cooking_range_oven_is_convection + Cooking Range/Oven: Is Convection + Whether the oven is convection. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + cooking_range_oven_usage_multiplier + Cooking Range/Oven: Usage Multiplier + Multiplier on the cooking range/oven energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + String + + false + false + + + ceiling_fan_present + Ceiling Fan: Present + Whether there are any ceiling fans. + Boolean + true + false + true + + + true + true + + + false + false + + + + + ceiling_fan_label_energy_use + Ceiling Fan: Label Energy Use + The label average energy use of the ceiling fan(s). If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + String + W + false + false + + + ceiling_fan_efficiency + Ceiling Fan: Efficiency + The efficiency rating of the ceiling fan(s) at medium speed. Only used if Label Energy Use not provided. If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + String + CFM/W + false + false + + + ceiling_fan_quantity + Ceiling Fan: Quantity + Total number of ceiling fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + String + # + false + false + + + ceiling_fan_cooling_setpoint_temp_offset + Ceiling Fan: Cooling Setpoint Temperature Offset + The cooling setpoint temperature offset during months when the ceiling fans are operating. Only applies if ceiling fan quantity is greater than zero. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + String + deg-F + false + false + + + misc_plug_loads_television_present + Misc Plug Loads: Television Present + Whether there are televisions. + Boolean + true + false + true + + + true + true + + + false + false + + + + + misc_plug_loads_television_annual_kwh + Misc Plug Loads: Television Annual kWh + The annual energy consumption of the television plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + kWh/yr + false + false + + + misc_plug_loads_television_usage_multiplier + Misc Plug Loads: Television Usage Multiplier + Multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + + false + false + + + misc_plug_loads_other_annual_kwh + Misc Plug Loads: Other Annual kWh + The annual energy consumption of the other residual plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + kWh/yr + false + false + + + misc_plug_loads_other_frac_sensible + Misc Plug Loads: Other Sensible Fraction + Fraction of other residual plug loads' internal gains that are sensible. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + Frac + false + false + + + misc_plug_loads_other_frac_latent + Misc Plug Loads: Other Latent Fraction + Fraction of other residual plug loads' internal gains that are latent. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + Frac + false + false + + + misc_plug_loads_other_usage_multiplier + Misc Plug Loads: Other Usage Multiplier + Multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + + false + false + + + misc_plug_loads_well_pump_present + Misc Plug Loads: Well Pump Present + Whether there is a well pump. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_plug_loads_well_pump_annual_kwh + Misc Plug Loads: Well Pump Annual kWh + The annual energy consumption of the well pump plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + kWh/yr + false + false + + + misc_plug_loads_well_pump_usage_multiplier + Misc Plug Loads: Well Pump Usage Multiplier + Multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + + false + false + + + misc_plug_loads_vehicle_present + Misc Plug Loads: Vehicle Present + Whether there is an electric vehicle. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_plug_loads_vehicle_annual_kwh + Misc Plug Loads: Vehicle Annual kWh + The annual energy consumption of the electric vehicle plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + kWh/yr + false + false + + + misc_plug_loads_vehicle_usage_multiplier + Misc Plug Loads: Vehicle Usage Multiplier + Multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + + false + false + + + misc_fuel_loads_grill_present + Misc Fuel Loads: Grill Present + Whether there is a fuel loads grill. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_grill_fuel_type + Misc Fuel Loads: Grill Fuel Type + The fuel type of the fuel loads grill. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_grill_annual_therm + Misc Fuel Loads: Grill Annual therm + The annual energy consumption of the fuel loads grill. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + therm/yr + false + false + + + misc_fuel_loads_grill_usage_multiplier + Misc Fuel Loads: Grill Usage Multiplier + Multiplier on the fuel loads grill energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + + false + false + + + misc_fuel_loads_lighting_present + Misc Fuel Loads: Lighting Present + Whether there is fuel loads lighting. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_lighting_fuel_type + Misc Fuel Loads: Lighting Fuel Type + The fuel type of the fuel loads lighting. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_lighting_annual_therm + Misc Fuel Loads: Lighting Annual therm + The annual energy consumption of the fuel loads lighting. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>)is used. + String + therm/yr + false + false + + + misc_fuel_loads_lighting_usage_multiplier + Misc Fuel Loads: Lighting Usage Multiplier + Multiplier on the fuel loads lighting energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + + false + false + + + misc_fuel_loads_fireplace_present + Misc Fuel Loads: Fireplace Present + Whether there is fuel loads fireplace. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_fireplace_fuel_type + Misc Fuel Loads: Fireplace Fuel Type + The fuel type of the fuel loads fireplace. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_fireplace_annual_therm + Misc Fuel Loads: Fireplace Annual therm + The annual energy consumption of the fuel loads fireplace. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + therm/yr + false + false + + + misc_fuel_loads_fireplace_frac_sensible + Misc Fuel Loads: Fireplace Sensible Fraction + Fraction of fireplace residual fuel loads' internal gains that are sensible. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + Frac + false + false + + + misc_fuel_loads_fireplace_frac_latent + Misc Fuel Loads: Fireplace Latent Fraction + Fraction of fireplace residual fuel loads' internal gains that are latent. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + Frac + false + false + + + misc_fuel_loads_fireplace_usage_multiplier + Misc Fuel Loads: Fireplace Usage Multiplier + Multiplier on the fuel loads fireplace energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + + false + false + + + pool_present + Pool: Present + Whether there is a pool. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pool_pump_annual_kwh + Pool: Pump Annual kWh + The annual energy consumption of the pool pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-pump'>Pool Pump</a>) is used. + String + kWh/yr + false + false + + + pool_pump_usage_multiplier + Pool: Pump Usage Multiplier + Multiplier on the pool pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-pump'>Pool Pump</a>) is used. + String + + false + false + + + pool_heater_type + Pool: Heater Type + The type of pool heater. Use 'none' if there is no pool heater. + Choice + true + false + none + + + none + none + + + electric resistance + electric resistance + + + gas fired + gas fired + + + heat pump + heat pump + + + + + pool_heater_annual_kwh + Pool: Heater Annual kWh + The annual energy consumption of the electric resistance pool heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + String + kWh/yr + false + false + + + pool_heater_annual_therm + Pool: Heater Annual therm + The annual energy consumption of the gas fired pool heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + String + therm/yr + false + false + + + pool_heater_usage_multiplier + Pool: Heater Usage Multiplier + Multiplier on the pool heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + String + + false + false + + + permanent_spa_present + Permanent Spa: Present + Whether there is a permanent spa. + Boolean + true + false + false + + + true + true + + + false + false + + + + + permanent_spa_pump_annual_kwh + Permanent Spa: Pump Annual kWh + The annual energy consumption of the permanent spa pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-pump'>Permanent Spa Pump</a>) is used. + String + kWh/yr + false + false + + + permanent_spa_pump_usage_multiplier + Permanent Spa: Pump Usage Multiplier + Multiplier on the permanent spa pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-pump'>Permanent Spa Pump</a>) is used. + String + + false + false + + + permanent_spa_heater_type + Permanent Spa: Heater Type + The type of permanent spa heater. Use 'none' if there is no permanent spa heater. + Choice + true + false + none + + + none + none + + + electric resistance + electric resistance + + + gas fired + gas fired + + + heat pump + heat pump + + + + + permanent_spa_heater_annual_kwh + Permanent Spa: Heater Annual kWh + The annual energy consumption of the electric resistance permanent spa heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + String + kWh/yr + false + false + + + permanent_spa_heater_annual_therm + Permanent Spa: Heater Annual therm + The annual energy consumption of the gas fired permanent spa heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + String + therm/yr + false + false + + + permanent_spa_heater_usage_multiplier + Permanent Spa: Heater Usage Multiplier + Multiplier on the permanent spa heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + String + + false + false + + + geometry_unit_cfa_bin + Geometry: Unit Conditioned Floor Area Bin + E.g., '2000-2499'. + String + true + false + 2000-2499 + + + geometry_unit_cfa + Geometry: Unit Conditioned Floor Area + E.g., '2000' or 'auto'. + String + sqft + true + false + 2000 + + + vintage + Building Construction: Vintage + The building vintage, used for informational purposes only. + String + false + false + + + exterior_finish_r + Building Construction: Exterior Finish R-Value + R-value of the exterior finish. + Double + h-ft^2-R/Btu + true + false + 0.6 + + + geometry_unit_level + Geometry: Unit Level + The level of the unit. This is required for apartment units. + Choice + false + false + + + Bottom + Bottom + + + Middle + Middle + + + Top + Top + + + + + geometry_unit_horizontal_location + Geometry: Unit Horizontal Location + The horizontal location of the unit when viewing the front of the building. This is required for single-family attached and apartment units. + Choice + false + false + + + None + None + + + Left + Left + + + Middle + Middle + + + Right + Right + + + + + geometry_num_floors_above_grade + Geometry: Number of Floors Above Grade + The number of floors above grade (in the unit if single-family detached or single-family attached, and in the building if apartment unit). Conditioned attics are included. + Integer + # + true + false + 2 + + + geometry_corridor_position + Geometry: Corridor Position + The position of the corridor. Only applies to single-family attached and apartment units. Exterior corridors are shaded, but not enclosed. Interior corridors are enclosed and conditioned. + Choice + true + false + + + Double-Loaded Interior + Double-Loaded Interior + + + Double Exterior + Double Exterior + + + Single Exterior (Front) + Single Exterior (Front) + + + None + None + + + + + geometry_corridor_width + Geometry: Corridor Width + The width of the corridor. Only applies to apartment units. + Double + ft + true + false + 10 + + + wall_continuous_exterior_r + Wall: Continuous Exterior Insulation Nominal R-value + Nominal R-value for the wall continuous exterior insulation. + Double + h-ft^2-R/Btu + false + false + + + ceiling_insulation_r + Ceiling: Insulation Nominal R-value + Nominal R-value for the ceiling (attic floor). + Double + h-ft^2-R/Btu + true + false + 0 + + + rim_joist_continuous_exterior_r + Rim Joist: Continuous Exterior Insulation Nominal R-value + Nominal R-value for the rim joist continuous exterior insulation. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + rim_joist_continuous_interior_r + Rim Joist: Continuous Interior Insulation Nominal R-value + Nominal R-value for the rim joist continuous interior insulation that runs parallel to floor joists. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + rim_joist_assembly_interior_r + Rim Joist: Interior Assembly R-value + Assembly R-value for the rim joist assembly interior insulation that runs perpendicular to floor joists. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + air_leakage_percent_reduction + Air Leakage: Value Reduction + Reduction (%) on the air exchange rate value. + Double + false + false + + + misc_plug_loads_television_2_usage_multiplier + Plug Loads: Television Usage Multiplier 2 + Additional multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. + Double + true + false + 1 + + + misc_plug_loads_other_2_usage_multiplier + Plug Loads: Other Usage Multiplier 2 + Additional multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. + Double + true + false + 1 + + + misc_plug_loads_well_pump_2_usage_multiplier + Plug Loads: Well Pump Usage Multiplier 2 + Additional multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. + Double + true + false + 0 + + + misc_plug_loads_vehicle_2_usage_multiplier + Plug Loads: Vehicle Usage Multiplier 2 + Additional multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. + Double + true + false + 0 + + + hvac_control_heating_weekday_setpoint_temp + Heating Setpoint: Weekday Temperature + Specify the weekday heating setpoint temperature. + Double + deg-F + true + false + 71 + + + hvac_control_heating_weekend_setpoint_temp + Heating Setpoint: Weekend Temperature + Specify the weekend heating setpoint temperature. + Double + deg-F + true + false + 71 + + + hvac_control_heating_weekday_setpoint_offset_magnitude + Heating Setpoint: Weekday Offset Magnitude + Specify the weekday heating offset magnitude. + Double + deg-F + true + false + 0 + + + hvac_control_heating_weekend_setpoint_offset_magnitude + Heating Setpoint: Weekend Offset Magnitude + Specify the weekend heating offset magnitude. + Double + deg-F + true + false + 0 + + + hvac_control_heating_weekday_setpoint_schedule + Heating Setpoint: Weekday Schedule + Specify the 24-hour comma-separated weekday heating schedule of 0s and 1s. + String + true + false + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + hvac_control_heating_weekend_setpoint_schedule + Heating Setpoint: Weekend Schedule + Specify the 24-hour comma-separated weekend heating schedule of 0s and 1s. + String + true + false + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + use_auto_heating_season + Use Auto Heating Season + Specifies whether to automatically define the heating season based on the weather file. + Boolean + true + false + false + + + true + true + + + false + false + + + + + hvac_control_cooling_weekday_setpoint_temp + Cooling Setpoint: Weekday Temperature + Specify the weekday cooling setpoint temperature. + Double + deg-F + true + false + 76 + + + hvac_control_cooling_weekend_setpoint_temp + Cooling Setpoint: Weekend Temperature + Specify the weekend cooling setpoint temperature. + Double + deg-F + true + false + 76 + + + hvac_control_cooling_weekday_setpoint_offset_magnitude + Cooling Setpoint: Weekday Offset Magnitude + Specify the weekday cooling offset magnitude. + Double + deg-F + true + false + 0 + + + hvac_control_cooling_weekend_setpoint_offset_magnitude + Cooling Setpoint: Weekend Offset Magnitude + Specify the weekend cooling offset magnitude. + Double + deg-F + true + false + 0 + + + hvac_control_cooling_weekday_setpoint_schedule + Cooling Setpoint: Weekday Schedule + Specify the 24-hour comma-separated weekday cooling schedule of 0s and 1s. + String + true + false + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + hvac_control_cooling_weekend_setpoint_schedule + Cooling Setpoint: Weekend Schedule + Specify the 24-hour comma-separated weekend cooling schedule of 0s and 1s. + String + true + false + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + use_auto_cooling_season + Use Auto Cooling Season + Specifies whether to automatically define the cooling season based on the weather file. + Boolean + true + false + false + + + true + true + + + false + false + + + + + heating_system_has_flue_or_chimney + Heating System: Has Flue or Chimney + Whether the heating system has a flue or chimney. + String + true + false + auto + + + heating_system_2_has_flue_or_chimney + Heating System 2: Has Flue or Chimney + Whether the second heating system has a flue or chimney. + String + true + false + auto + + + water_heater_has_flue_or_chimney + Water Heater: Has Flue or Chimney + Whether the water heater has a flue or chimney. + String + true + false + auto + + + heating_system_rated_cfm_per_ton + Heating System: Rated CFM Per Ton + The rated cfm per ton of the heating system. + Double + cfm/ton + false + false + + + heating_system_actual_cfm_per_ton + Heating System: Actual CFM Per Ton + The actual cfm per ton of the heating system. + Double + cfm/ton + false + false + + + cooling_system_rated_cfm_per_ton + Cooling System: Rated CFM Per Ton + The rated cfm per ton of the cooling system. + Double + cfm/ton + false + false + + + cooling_system_actual_cfm_per_ton + Cooling System: Actual CFM Per Ton + The actual cfm per ton of the cooling system. + Double + cfm/ton + false + false + + + cooling_system_frac_manufacturer_charge + Cooling System: Fraction of Manufacturer Recommended Charge + The fraction of manufacturer recommended charge of the cooling system. + Double + Frac + false + false + + + heat_pump_rated_cfm_per_ton + Heat Pump: Rated CFM Per Ton + The rated cfm per ton of the heat pump. + Double + cfm/ton + false + false + + + heat_pump_actual_cfm_per_ton + Heat Pump: Actual CFM Per Ton + The actual cfm per ton of the heat pump. + Double + cfm/ton + false + false + + + heat_pump_frac_manufacturer_charge + Heat Pump: Fraction of Manufacturer Recommended Charge + The fraction of manufacturer recommended charge of the heat pump. + Double + Frac + false + false + + + heat_pump_backup_use_existing_system + Heat Pump: Backup Use Existing System + Whether the heat pump uses the existing system as backup. + Boolean + false + false + + + true + true + + + false + false + + + + + + + + Whole Building.Space Types + + + + Measure Type + ModelMeasure + string + + + + + README.md + md + readme + EE2BA2DC + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.9.0 + 2.9.0 + + measure.rb + rb + script + 55E293EF + + + constants.rb + rb + resource + 0E27DB76 + + + resstock_arguments_test.rb + rb + test + A224A54B + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/resources/constants.rb b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/resources/constants.rb new file mode 100644 index 00000000..63310710 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/resources/constants.rb @@ -0,0 +1,98 @@ +# frozen_string_literal: true + +class Constants + def self.build_residential_hpxml_excludes + # don't make these BuildResidentialHPXML arguments into ResStockArguments arguments + return ['hpxml_path', + 'existing_hpxml_path', + 'whole_sfa_or_mf_building_sim', + 'software_info_program_used', + 'software_info_program_version', + 'schedules_filepaths', + 'simulation_control_timestep', + 'simulation_control_run_period', + 'simulation_control_run_period_calendar_year', + 'simulation_control_daylight_saving_period', + 'simulation_control_temperature_capacitance_multiplier', + 'simulation_control_defrost_model_type', + 'unit_multiplier', + 'geometry_unit_left_wall_is_adiabatic', + 'geometry_unit_right_wall_is_adiabatic', + 'geometry_unit_front_wall_is_adiabatic', + 'geometry_unit_back_wall_is_adiabatic', + 'geometry_unit_num_floors_above_grade', + 'air_leakage_has_flue_or_chimney_in_conditioned_space', + 'heating_system_airflow_defect_ratio', + 'cooling_system_airflow_defect_ratio', + 'cooling_system_charge_defect_ratio', + 'heat_pump_airflow_defect_ratio', + 'heat_pump_charge_defect_ratio', + 'hvac_control_heating_weekday_setpoint', + 'hvac_control_heating_weekend_setpoint', + 'hvac_control_cooling_weekday_setpoint', + 'hvac_control_cooling_weekend_setpoint', + 'pv_system_num_bedrooms_served', + 'battery_num_bedrooms_served', + 'emissions_scenario_names', + 'emissions_types', + 'emissions_electricity_units', + 'emissions_electricity_values_or_filepaths', + 'emissions_electricity_number_of_header_rows', + 'emissions_electricity_column_numbers', + 'emissions_fossil_fuel_units', + 'emissions_natural_gas_values', + 'emissions_propane_values', + 'emissions_fuel_oil_values', + 'emissions_wood_values', + 'emissions_coal_values', + 'emissions_wood_pellets_values', + 'utility_bill_scenario_names', + 'utility_bill_electricity_filepaths', + 'utility_bill_electricity_fixed_charges', + 'utility_bill_electricity_marginal_rates', + 'utility_bill_natural_gas_fixed_charges', + 'utility_bill_natural_gas_marginal_rates', + 'utility_bill_propane_fixed_charges', + 'utility_bill_propane_marginal_rates', + 'utility_bill_fuel_oil_fixed_charges', + 'utility_bill_fuel_oil_marginal_rates', + 'utility_bill_wood_fixed_charges', + 'utility_bill_wood_marginal_rates', + 'utility_bill_coal_fixed_charges', + 'utility_bill_coal_marginal_rates', + 'utility_bill_wood_pellets_fixed_charges', + 'utility_bill_wood_pellets_marginal_rates', + 'utility_bill_pv_compensation_types', + 'utility_bill_pv_net_metering_annual_excess_sellback_rate_types', + 'utility_bill_pv_net_metering_annual_excess_sellback_rates', + 'utility_bill_pv_feed_in_tariff_rates', + 'utility_bill_pv_monthly_grid_connection_fee_units', + 'utility_bill_pv_monthly_grid_connection_fees', + 'additional_properties', + 'combine_like_surfaces', + 'apply_defaults', + 'apply_validation'] + end + + def self.build_residential_schedule_file_excludes + # don't make these BuildResidentialScheduleFile arguments into ResStockArguments arguments + return ['hpxml_path', + 'schedules_column_names', + 'schedules_random_seed', + 'output_csv_path', + 'hpxml_output_path', + 'append_output', + 'debug', + 'building_id'] + end + + def self.other_excludes + # these are ResStockArguments that haven't made their way into options_lookup.tsv yet + return ['heating_system_actual_cfm_per_ton', + 'heating_system_rated_cfm_per_ton'] + end + + def self.Auto + return 'auto' + end +end diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/tests/resstock_arguments_test.rb b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/tests/resstock_arguments_test.rb new file mode 100644 index 00000000..04ba4ac8 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/tests/resstock_arguments_test.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require 'csv' +require 'parallel' +require 'openstudio' +require_relative '../../../resources/buildstock' +require_relative '../../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/minitest_helper' +require_relative '../../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml' +require_relative '../measure.rb' + +class ResStockArgumentsTest < Minitest::Test + def setup + resources_dir = File.absolute_path(File.join(File.dirname(__FILE__), '../../../resources')) + lookup_file = File.join(resources_dir, 'options_lookup.tsv') + @lookup_csv_data = CSV.open(lookup_file, col_sep: "\t").each.to_a + end + + def test_options_lookup_assignment + lookup_arguments = [] + @lookup_csv_data.each do |lookup_row| + next if lookup_row[2] != 'ResStockArguments' + + lookup_row[3..-1].each do |argument_value| + argument, _value = argument_value.split('=') + lookup_arguments << argument if !lookup_arguments.include?(argument) + end + end + + measure = ResStockArguments.new + model = OpenStudio::Model::Model.new + resstock_arguments = [] + measure.arguments(model).each do |arg| + next if Constants.other_excludes.include? arg.name + + resstock_arguments << arg.name + end + + resstock_arguments_extras = resstock_arguments - lookup_arguments + puts "resstock_arguments - lookup_arguments: #{resstock_arguments_extras.sort}" if !resstock_arguments_extras.empty? + assert_equal(0, resstock_arguments_extras.size) + end +end diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ServerDirectoryCleanup/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ServerDirectoryCleanup/measure.xml new file mode 100644 index 00000000..38cffb0f --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ServerDirectoryCleanup/measure.xml @@ -0,0 +1,400 @@ + + + 3.1 + server_directory_cleanup + ec7d04ad-0b7b-495b-825a-e1b6d28d1d3f + 0187da15-5c10-4a11-86d0-40696236d4ac + 2023-11-27T22:10:39Z + 5F1EDF75 + ServerDirectoryCleanup + Server Directory Cleanup + Optionally removes a significant portion of the saved results from each run, helping to alleviate memory problems. + Present a bunch of bool arguments corresponding to EnergyPlus output files. "False" deletes the file, and "True" retains it. Most arguments default to not retaining the file. Only the in.idf and schedules.csv are retained by default. + + + retain_in_osm + Retain in.osm + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_in_idf + Retain in.idf + Boolean + true + false + true + + + true + true + + + false + false + + + + + retain_pre_process_idf + Retain pre_process.idf + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_audit + Retain eplusout.audit + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_bnd + Retain eplusout.bnd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_eio + Retain eplusout.eio + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_end + Retain eplusout.end + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_err + Retain eplusout.err + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_eso + Retain eplusout.eso + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_mdd + Retain eplusout.mdd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_mtd + Retain eplusout.mtd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_rdd + Retain eplusout.rdd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_shd + Retain eplusout.shd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_msgpack + Retain eplusout.msgpack + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplustbl_htm + Retain eplustbl.htm + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_stdout_energyplus + Retain stdout-energyplus + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_stdout_expandobject + Retain stdout-expandobject. + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_schedules_csv + Retain schedules.csv. + Boolean + true + false + true + + + true + true + + + false + false + + + + + debug + Debug Mode? + If true, retain all files. + Boolean + false + false + false + + + true + true + + + false + false + + + + + + + + Calibration + + + + Measure Type + ReportingMeasure + string + + + Uses SketchUp API + false + boolean + + + + + README.md + md + readme + 93DECA02 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 1.11.5 + 1.11.5 + + measure.rb + rb + script + D28657CE + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/UpgradeCosts/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/UpgradeCosts/measure.xml new file mode 100644 index 00000000..fbf1e61f --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/UpgradeCosts/measure.xml @@ -0,0 +1,219 @@ + + + 3.1 + upgrade_costs + ef51212c-acc4-48d7-9b29-cf2a5c6c4449 + 91316c37-1384-4da6-bfc7-f3ffff7479bd + 2024-05-16T22:50:36Z + 9BF1E6AC + UpgradeCosts + Upgrade Costs + Measure that calculates upgrade costs. + Multiplies cost value by cost multiplier. + + + debug + Debug Mode? + If true, retain existing and upgraded intermediate files. + Boolean + false + false + false + + + true + true + + + false + false + + + + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + 8B802F86 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.1.0 + 3.1.0 + + measure.rb + rb + script + 9CBCFE21 + + + MF_1story_UB_Furnace_AC1_FuelTankWH.osw + osw + test + E25C10A6 + + + MF_2story_UB_ASHP2_HPWH.osw + osw + test + 2F063A50 + + + MF_2story_UB_FuelBoiler_AC1_FuelTankWH.osw + osw + test + 00DC06A5 + + + MF_2story_UB_Furnace_AC1_FuelTankWH.osw + osw + test + D96319E6 + + + SFA_2story_FB_FuelBoiler_RoomAC_FuelTankWH.osw + osw + test + 5BB5AEDD + + + SFA_2story_UB_ASHP2_HPWH.osw + osw + test + 9B276DD7 + + + SFA_2story_UB_FuelBoiler_RoomAC_FuelTankWH.osw + osw + test + 48E3E2F1 + + + SFA_2story_UB_Furnace_RoomAC_FuelTankWH.osw + osw + test + DE1353CB + + + SFD_1story_FB_UA_GRG_MSHP_FuelTanklessWH.osw + osw + test + A35D75CF + + + SFD_1story_FB_UA_GRG_RoomAC_ElecBoiler_FuelTanklessWH.osw + osw + test + 671B1CF5 + + + SFD_1story_UB_UA_ASHP2_HPWH.osw + osw + test + 633C8822 + + + SFD_1story_UB_UA_GRG_ACV_FuelFurnace_HPWH.osw + osw + test + BC978C5D + + + SFD_1story_UB_UA_GRG_ACV_FuelFurnace_PortableHeater_HPWH.osw + osw + test + 034E036E + + + SFD_2story_CS_UA_AC2_FuelBoiler_FuelTankWH.osw + osw + test + 3472996A + + + SFD_2story_CS_UA_GRG_ASHPV_FuelTanklessWH.osw + osw + test + 47092F48 + + + SFD_2story_FB_UA_GRG_AC1_ElecBaseboard_FuelTankWH.osw + osw + test + 00347BFF + + + SFD_2story_FB_UA_GRG_AC1_UnitHeater_FuelTankWH.osw + osw + test + B7ADB1FF + + + SFD_2story_FB_UA_GRG_GSHP_ElecTanklessWH.osw + osw + test + 0740B85A + + + SFD_2story_PB_UA_ElecFurnace_ElecTankWH.osw + osw + test + 4368DD0F + + + SFD_2story_S_UA_GRG_ASHP1_Fireplace_FuelTanklessWH.osw + osw + test + 20268BB9 + + + SFD_2story_S_UA_GRG_ASHP1_Fireplace_FuelTanklessWH_ERV.osw + osw + test + 51EB98B2 + + + SFD_2story_S_UA_GRG_ASHP1_FuelTanklessWH.osw + osw + test + 9494BFFE + + + upgrade_costs_test.rb + rb + test + 4695A458 + + + diff --git a/buildstockbatch/workflow_generator/residential/latest/version_info.py b/buildstockbatch/workflow_generator/residential/latest/version_info.py new file mode 100644 index 00000000..7ef31163 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/latest/version_info.py @@ -0,0 +1,7 @@ +""" +Specify the version of this workflow generator, and the version of the ResStock it is (going to be) compatible with. +Update the xmls inside test_measure_xmls with the version of ResStock it is compatible with. +""" + +version = "2024.07.19" +resstock_version = "v3.4.0" From e9944998ad8d6f76aeb59441421637c94cea0086 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 12:43:58 -0500 Subject: [PATCH 09/33] Versioning for commercial as well --- buildstockbatch/base.py | 33 +++++++++++++---- ...ate_workflow_generator_invalid_version.yml | 18 +++++++++ ...idate_workflow_generator_valid_version.yml | 18 +++++++++ buildstockbatch/test/test_validation.py | 22 +++++++++++ .../workflow_generator/__init__.py | 11 +++++- .../workflow_generator/commercial/__init__.py | 0 .../commercial/latest/__init__.py | 7 ++++ .../commercial/{ => latest}/commercial.py | 2 +- .../test_commercial_workflow_generator.py | 2 +- .../residential/latest/__init__.py | 11 ++++++ .../residential/latest/residential_hpxml.py | 37 +++++-------------- .../residential/latest/version_info.py | 7 ---- 12 files changed, 122 insertions(+), 46 deletions(-) create mode 100644 buildstockbatch/test/test_inputs/validate_workflow_generator_invalid_version.yml create mode 100644 buildstockbatch/test/test_inputs/validate_workflow_generator_valid_version.yml delete mode 100644 buildstockbatch/workflow_generator/commercial/__init__.py create mode 100644 buildstockbatch/workflow_generator/commercial/latest/__init__.py rename buildstockbatch/workflow_generator/commercial/{ => latest}/commercial.py (99%) rename buildstockbatch/workflow_generator/commercial/{ => latest}/test_commercial_workflow_generator.py (98%) delete mode 100644 buildstockbatch/workflow_generator/residential/latest/version_info.py diff --git a/buildstockbatch/base.py b/buildstockbatch/base.py index 02887af0..bdf611a0 100644 --- a/buildstockbatch/base.py +++ b/buildstockbatch/base.py @@ -81,11 +81,16 @@ def get_sampler_class(sampler_name): return getattr(sampler, sampler_class_name) @staticmethod - def get_workflow_generator_class(workflow_generator_name): - workflow_generator_class_name = ( - "".join(x.capitalize() for x in workflow_generator_name.strip().split("_")) + "WorkflowGenerator" - ) - return getattr(workflow_generator, workflow_generator_class_name) + def get_workflow_generator_class(workflow_generator_block): + generator_type = workflow_generator_block["type"] + # version can be missing in older schema -> default to latest + generator_version = workflow_generator_block.get("version", "latest") + if generator_version not in workflow_generator.version_map[generator_type]: + raise ValidationError( + f"Invalid generator version {generator_version} for {generator_type}." + f"Avaliable versions are {workflow_generator.version_map[generator_type].keys()}" + ) + return workflow_generator.version_map[generator_type][generator_version] @property def sampler(self): @@ -141,7 +146,7 @@ def get_reporting_measures(cls, cfg): if "reporting_measure_names" in cfg: return cfg["reporting_measure_names"] - WorkflowGenerator = cls.get_workflow_generator_class(cfg["workflow_generator"]["type"]) + WorkflowGenerator = cls.get_workflow_generator_class(cfg["workflow_generator"]) wg = WorkflowGenerator(cfg, 1) # Number of datapoints doesn't really matter here return wg.reporting_measures() @@ -150,7 +155,7 @@ def run_batch(self): @classmethod def create_osw(cls, cfg, n_datapoints, *args, **kwargs): - WorkflowGenerator = cls.get_workflow_generator_class(cfg["workflow_generator"]["type"]) + WorkflowGenerator = cls.get_workflow_generator_class(cfg["workflow_generator"]) osw_generator = WorkflowGenerator(cfg, n_datapoints) return osw_generator.create_osw(*args, **kwargs) @@ -370,7 +375,7 @@ def validate_buildstock_csv(project_file, buildstock_df): @classmethod def validate_workflow_generator(cls, project_file): cfg = get_project_configuration(project_file) - WorkflowGenerator = cls.get_workflow_generator_class(cfg["workflow_generator"]["type"]) + WorkflowGenerator = cls.get_workflow_generator_class(cfg["workflow_generator"]) return WorkflowGenerator(cfg, 1).validate() @staticmethod @@ -385,6 +390,18 @@ def validate_project_schema(project_file): data = yamale.make_data(project_file, parser="ruamel") return yamale.validate(schema, data, strict=True) + @staticmethod + def validate_project_schema(project_file): + cfg = get_project_configuration(project_file) + schema_version = cfg.get("schema_version") + version_schema = os.path.join(os.path.dirname(__file__), "schemas", f"v{schema_version}.yaml") + if not os.path.isfile(version_schema): + logger.error(f"Could not find validation schema for YAML version {schema_version}") + raise FileNotFoundError(version_schema) + schema = yamale.make_schema(version_schema) + data = yamale.make_data(project_file, parser="ruamel") + return yamale.validate(schema, data, strict=True) + @staticmethod def validate_misc_constraints(project_file): # validate other miscellaneous constraints diff --git a/buildstockbatch/test/test_inputs/validate_workflow_generator_invalid_version.yml b/buildstockbatch/test/test_inputs/validate_workflow_generator_invalid_version.yml new file mode 100644 index 00000000..7a496ec3 --- /dev/null +++ b/buildstockbatch/test/test_inputs/validate_workflow_generator_invalid_version.yml @@ -0,0 +1,18 @@ +schema_version: '0.4' +buildstock_directory: test_openstudio_buildstock +project_directory: project_singlefamilydetached +weather_files_url: https://fake-url +baseline: + n_buildings_represented: 81221016 + +sampler: + type: residential_quota + args: + n_datapoints: 30 + +workflow_generator: + type: residential_hpxml + version: "vNotARealVersion" + args: + build_existing_model: + simulation_control_timestep: 60 diff --git a/buildstockbatch/test/test_inputs/validate_workflow_generator_valid_version.yml b/buildstockbatch/test/test_inputs/validate_workflow_generator_valid_version.yml new file mode 100644 index 00000000..869a6491 --- /dev/null +++ b/buildstockbatch/test/test_inputs/validate_workflow_generator_valid_version.yml @@ -0,0 +1,18 @@ +schema_version: '0.4' +buildstock_directory: test_openstudio_buildstock +project_directory: project_singlefamilydetached +weather_files_url: https://fake-url +baseline: + n_buildings_represented: 81221016 + +sampler: + type: residential_quota + args: + n_datapoints: 30 + +workflow_generator: + type: residential_hpxml + version: "latest" + args: + build_existing_model: + simulation_control_timestep: 60 diff --git a/buildstockbatch/test/test_validation.py b/buildstockbatch/test/test_validation.py index 5b9d8230..fbef56fb 100644 --- a/buildstockbatch/test/test_validation.py +++ b/buildstockbatch/test/test_validation.py @@ -203,6 +203,28 @@ def test_missing_measures(project_file): raise Exception("Supposed to raise missing measure error for QOIReport") +@pytest.mark.parametrize( + "project_file", + [os.path.join(example_yml_dir, "validate_workflow_generator_invalid_version.yml")], +) +def test_missing_version(project_file): + with LogCapture(level=logging.INFO) as _: + try: + BuildStockBatchBase.validate_workflow_generator(project_file) + except (ValidationError, YamaleError) as er: + assert "Invalid generator version" in str(er) + else: + raise Exception("Supposed to raise missing measure error for QOIReport") + + +@pytest.mark.parametrize( + "project_file", + [os.path.join(example_yml_dir, "validate_workflow_generator_valid_version.yml")], +) +def test_valid_version(project_file): + BuildStockBatchBase.validate_workflow_generator(project_file) + + @pytest.mark.parametrize( "project_file", [ diff --git a/buildstockbatch/workflow_generator/__init__.py b/buildstockbatch/workflow_generator/__init__.py index 5b4b5e96..a41ab5b5 100644 --- a/buildstockbatch/workflow_generator/__init__.py +++ b/buildstockbatch/workflow_generator/__init__.py @@ -1,4 +1,11 @@ # -*- coding: utf-8 -*- -from .commercial.commercial import CommercialDefaultWorkflowGenerator # noqa F041 -from .residential.latest.residential_hpxml import ResidentialHpxmlWorkflowGenerator # noqa F041 +from .commercial.latest.commercial import CommercialDefaultWorkflowGenerator as latestComRenerator # noqa F041 +from .residential.latest.residential_hpxml import ResidentialHpxmlWorkflowGenerator as latestResGenerator # noqa F041 +from .residential import latest as residential_latest # noqa F401 +from .commercial import latest as commercial_latest # noqa F401 + +version_map = { + "commercial_default": {"latest": latestComRenerator, commercial_latest.__version__: latestComRenerator}, + "residential_hpxml": {"latest": latestResGenerator, residential_latest.__version__: latestResGenerator}, +} diff --git a/buildstockbatch/workflow_generator/commercial/__init__.py b/buildstockbatch/workflow_generator/commercial/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/buildstockbatch/workflow_generator/commercial/latest/__init__.py b/buildstockbatch/workflow_generator/commercial/latest/__init__.py new file mode 100644 index 00000000..2766fcd5 --- /dev/null +++ b/buildstockbatch/workflow_generator/commercial/latest/__init__.py @@ -0,0 +1,7 @@ +__version__ = "2024.07.19" +version_info = { + "version": __version__, + "version_description": """ +Initial version of the commercial workflow generator after refactor" +""", +} diff --git a/buildstockbatch/workflow_generator/commercial/commercial.py b/buildstockbatch/workflow_generator/commercial/latest/commercial.py similarity index 99% rename from buildstockbatch/workflow_generator/commercial/commercial.py rename to buildstockbatch/workflow_generator/commercial/latest/commercial.py index 8ab94ed0..fe38190d 100644 --- a/buildstockbatch/workflow_generator/commercial/commercial.py +++ b/buildstockbatch/workflow_generator/commercial/latest/commercial.py @@ -18,7 +18,7 @@ from xml.etree import ElementTree import yamale -from ..base import WorkflowGeneratorBase +from ...base import WorkflowGeneratorBase logger = logging.getLogger(__name__) diff --git a/buildstockbatch/workflow_generator/commercial/test_commercial_workflow_generator.py b/buildstockbatch/workflow_generator/commercial/latest/test_commercial_workflow_generator.py similarity index 98% rename from buildstockbatch/workflow_generator/commercial/test_commercial_workflow_generator.py rename to buildstockbatch/workflow_generator/commercial/latest/test_commercial_workflow_generator.py index b97cae8e..0096bc08 100644 --- a/buildstockbatch/workflow_generator/commercial/test_commercial_workflow_generator.py +++ b/buildstockbatch/workflow_generator/commercial/latest/test_commercial_workflow_generator.py @@ -1,4 +1,4 @@ -from buildstockbatch.workflow_generator.commercial.commercial import ( +from buildstockbatch.workflow_generator.commercial.latest.commercial import ( CommercialDefaultWorkflowGenerator, ) diff --git a/buildstockbatch/workflow_generator/residential/latest/__init__.py b/buildstockbatch/workflow_generator/residential/latest/__init__.py index e69de29b..418261a1 100644 --- a/buildstockbatch/workflow_generator/residential/latest/__init__.py +++ b/buildstockbatch/workflow_generator/residential/latest/__init__.py @@ -0,0 +1,11 @@ +__version__ = "2024.07.19" +version_info = { + "version": __version__, + "resstock_version": "v3.4.0", + "version_description": """ +Version information for the residential workflow generator. +This version is compatible with ResStock v3.4.0. +In this version, the UpgradeCosts measure is converted to a regular measure +and is run early in the workflow. +""", +} diff --git a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py index 2a6b7446..a8c0e94d 100644 --- a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py +++ b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py @@ -113,7 +113,16 @@ def create_osw(self, sim_id, building_id, upgrade_idx): """ logger.debug("Generating OSW, sim_id={}".format(sim_id)) workflow_args = copy.deepcopy(self.workflow_args) - workflow_key_to_measure_names = self._get_workflow_key_to_measure_names() + + workflow_key_to_measure_names = { # This is the order the osw steps will be in + "build_existing_model": "BuildExistingModel", + "hpxml_to_openstudio": "HPXMLtoOpenStudio", # Non-existing Workflow Key is fine + "simulation_output_report": "ReportSimulationOutput", + "report_hpxml_output": "ReportHPXMLOutput", + "report_utility_bills": "ReportUtilityBills", + "upgrade_costs": "UpgradeCosts", + "server_directory_cleanup": "ServerDirectoryCleanup", + } steps = [] measure_args = {} @@ -218,32 +227,6 @@ def _validate_against_xml_args(self, measure_args, measure_dir_name, xml_args): ) del measure_args[key] - def _get_workflow_key_to_measure_names(self): - upg_costs_measure_attrs = self.get_measure_attributes_from_xml(self.buildstock_dir, "UpgradeCosts") - upg_costs_measure_type = upg_costs_measure_attrs["Measure Type"] - if upg_costs_measure_type == "ModelMeasure": - measure_args_mapping = { # This is the order the osw steps will be in if UpgradeCosts is ModelMeasure - "build_existing_model": "BuildExistingModel", - "hpxml_to_openstudio": "HPXMLtoOpenStudio", # Non-existing Workflow Key is fine - "upgrade_costs": "UpgradeCosts", - "simulation_output_report": "ReportSimulationOutput", - "report_utility_bills": "ReportUtilityBills", - "server_directory_cleanup": "ServerDirectoryCleanup", - } - elif upg_costs_measure_type == "ReportingMeasure": - measure_args_mapping = { # This is the order the osw steps will be in if UpgradeCosts is ReportingMeasure - "build_existing_model": "BuildExistingModel", - "hpxml_to_openstudio": "HPXMLtoOpenStudio", # Non-existing Workflow Key is fine - "simulation_output_report": "ReportSimulationOutput", - "report_hpxml_output": "ReportHPXMLOutput", - "report_utility_bills": "ReportUtilityBills", - "upgrade_costs": "UpgradeCosts", - "server_directory_cleanup": "ServerDirectoryCleanup", - } - else: - raise ValueError(f"Measure Type '{upg_costs_measure_type}' not recognized for measure 'UpgradeCosts'") - return measure_args_mapping - def _get_mapped_args( self, workflow_args, diff --git a/buildstockbatch/workflow_generator/residential/latest/version_info.py b/buildstockbatch/workflow_generator/residential/latest/version_info.py deleted file mode 100644 index 7ef31163..00000000 --- a/buildstockbatch/workflow_generator/residential/latest/version_info.py +++ /dev/null @@ -1,7 +0,0 @@ -""" -Specify the version of this workflow generator, and the version of the ResStock it is (going to be) compatible with. -Update the xmls inside test_measure_xmls with the version of ResStock it is compatible with. -""" - -version = "2024.07.19" -resstock_version = "v3.4.0" From e484d105673ffebdb5f4236f4f0bf74fec814e35 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 12:47:00 -0500 Subject: [PATCH 10/33] remove duplicated method --- buildstockbatch/base.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/buildstockbatch/base.py b/buildstockbatch/base.py index bdf611a0..c8931de8 100644 --- a/buildstockbatch/base.py +++ b/buildstockbatch/base.py @@ -390,18 +390,6 @@ def validate_project_schema(project_file): data = yamale.make_data(project_file, parser="ruamel") return yamale.validate(schema, data, strict=True) - @staticmethod - def validate_project_schema(project_file): - cfg = get_project_configuration(project_file) - schema_version = cfg.get("schema_version") - version_schema = os.path.join(os.path.dirname(__file__), "schemas", f"v{schema_version}.yaml") - if not os.path.isfile(version_schema): - logger.error(f"Could not find validation schema for YAML version {schema_version}") - raise FileNotFoundError(version_schema) - schema = yamale.make_schema(version_schema) - data = yamale.make_data(project_file, parser="ruamel") - return yamale.validate(schema, data, strict=True) - @staticmethod def validate_misc_constraints(project_file): # validate other miscellaneous constraints From 166ab1ad3e026ea4a328a42a955df65a7d01ed78 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 12:48:13 -0500 Subject: [PATCH 11/33] Remove unused method --- .../residential/latest/residential_hpxml.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py index a8c0e94d..74ff9272 100644 --- a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py +++ b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py @@ -263,25 +263,6 @@ def get_measure_arguments_from_xml(buildstock_dir, measure_dir_name: str): arguments.add(name) return arguments - @staticmethod - def get_measure_attributes_from_xml(buildstock_dir, measure_dir_name: str): - for measure_path in ["measures", "resources/hpxml-measures"]: - measure_dir_path = os.path.join(buildstock_dir, measure_path, measure_dir_name) - if os.path.isdir(measure_dir_path): - break - else: - raise ValueError(f"Measure '{measure_dir_name}' not found in any of the measure directories") - measure_xml_path = os.path.join(measure_dir_path, "measure.xml") - if not os.path.isfile(measure_xml_path): - raise ValueError(f"Measure '{measure_dir_name}' does not have a measure xml file") - attributes = {} - root = ElementTree.parse(measure_xml_path).getroot() - for attribute in root.findall("./attributes/attribute"): - name = attribute.find("./name").text - value = attribute.find("./value").text - attributes[name] = value - return attributes - @staticmethod def _get_condensed_block(yaml_block): """ From 217b6263feaa5492a740b6a2f012b55660627207 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 13:09:05 -0500 Subject: [PATCH 12/33] Version check against ResStock --- buildstockbatch/base.py | 18 +++++++--- buildstockbatch/test/test_validation.py | 33 +++++++++++++++++++ .../workflow_generator/__init__.py | 12 ++++++- .../residential/latest/__init__.py | 2 +- 4 files changed, 59 insertions(+), 6 deletions(-) diff --git a/buildstockbatch/base.py b/buildstockbatch/base.py index c8931de8..2d6898f7 100644 --- a/buildstockbatch/base.py +++ b/buildstockbatch/base.py @@ -85,12 +85,12 @@ def get_workflow_generator_class(workflow_generator_block): generator_type = workflow_generator_block["type"] # version can be missing in older schema -> default to latest generator_version = workflow_generator_block.get("version", "latest") - if generator_version not in workflow_generator.version_map[generator_type]: + if generator_version not in workflow_generator.version2GeneratorClass[generator_type]: raise ValidationError( f"Invalid generator version {generator_version} for {generator_type}." - f"Avaliable versions are {workflow_generator.version_map[generator_type].keys()}" + f"Avaliable versions are {workflow_generator.version2GeneratorClass[generator_type].keys()}" ) - return workflow_generator.version_map[generator_type][generator_version] + return workflow_generator.version2GeneratorClass[generator_type][generator_version] @property def sampler(self): @@ -795,7 +795,7 @@ def validate_resstock_or_comstock_version(project_file): cfg = get_project_configuration(project_file) buildstock_rb = os.path.join(cfg["buildstock_directory"], "resources/buildstock.rb") - if os.path.exists(buildstock_rb): + if os.path.exists(buildstock_rb): # ResStock domain with open(buildstock_rb, "r") as f: versions = dict( re.findall( @@ -817,6 +817,16 @@ def validate_resstock_or_comstock_version(project_file): f" for ResStock or ComStock version {stock_version}. Found {bsb_version}" ) raise ValidationError(val_err) + wg_version = cfg["workflow_generator"].get("version", "latest") + wg_type = cfg["workflow_generator"].get("type") + res_version = workflow_generator.version2info[wg_type][wg_version]["resstock_version"] + ResStockVersion = semver.Version.parse(versions["ResStock"]) + if ResStockVersion < semver.Version.parse(res_version): + val_err = ( + f"ResStock version {ResStockVersion} or above is required" + f" for ResStock workflow generator version {wg_version}." + ) + raise ValidationError(val_err) return True diff --git a/buildstockbatch/test/test_validation.py b/buildstockbatch/test/test_validation.py index fbef56fb..4f662cb5 100644 --- a/buildstockbatch/test/test_validation.py +++ b/buildstockbatch/test/test_validation.py @@ -390,6 +390,39 @@ def test_validate_resstock_or_comstock_version(mocker): BuildStockBatchBase.validate_resstock_or_comstock_version(str(proj_filename)) +@resstock_required +def test_validate_workflow_gen_version_pass(mocker): + # Set the version to a 'really old' one so we trigger the version check error + mocker.patch("buildstockbatch.base.bsb_version", "3000.0.0") + mocker.patch( + "buildstockbatch.base.workflow_generator.version2info", + { + "residential_hpxml": { + "latest": {"version": "2024.07.19", "resstock_version": "0.0.0"}, + } + }, + ) + proj_filename = resstock_directory / "project_national" / "national_upgrades.yml" + BuildStockBatchBase.validate_resstock_or_comstock_version(str(proj_filename)) + + +@resstock_required +def test_validate_workflow_gen_version_fail(mocker): + # Set the version to a 'really old' one so we trigger the version check error + mocker.patch("buildstockbatch.base.bsb_version", "3000.0.0") + mocker.patch( + "buildstockbatch.base.workflow_generator.version2info", + { + "residential_hpxml": { + "latest": {"version": "2024.07.19", "resstock_version": "3000.0.0"}, + } + }, + ) + proj_filename = resstock_directory / "project_national" / "national_upgrades.yml" + with pytest.raises(ValidationError): + BuildStockBatchBase.validate_resstock_or_comstock_version(str(proj_filename)) + + def test_dask_config(): orig_filename = os.path.join(example_yml_dir, "minimal-schema.yml") cfg = get_project_configuration(orig_filename) diff --git a/buildstockbatch/workflow_generator/__init__.py b/buildstockbatch/workflow_generator/__init__.py index a41ab5b5..9e2fee01 100644 --- a/buildstockbatch/workflow_generator/__init__.py +++ b/buildstockbatch/workflow_generator/__init__.py @@ -5,7 +5,17 @@ from .residential import latest as residential_latest # noqa F401 from .commercial import latest as commercial_latest # noqa F401 -version_map = { +version2GeneratorClass = { "commercial_default": {"latest": latestComRenerator, commercial_latest.__version__: latestComRenerator}, "residential_hpxml": {"latest": latestResGenerator, residential_latest.__version__: latestResGenerator}, } +version2info = { + "commercial_default": { + "latest": commercial_latest.version_info, + commercial_latest.__version__: commercial_latest.version_info, + }, + "residential_hpxml": { + "latest": residential_latest.version_info, + residential_latest.__version__: residential_latest.version_info, + }, +} diff --git a/buildstockbatch/workflow_generator/residential/latest/__init__.py b/buildstockbatch/workflow_generator/residential/latest/__init__.py index 418261a1..35e216e1 100644 --- a/buildstockbatch/workflow_generator/residential/latest/__init__.py +++ b/buildstockbatch/workflow_generator/residential/latest/__init__.py @@ -1,7 +1,7 @@ __version__ = "2024.07.19" version_info = { "version": __version__, - "resstock_version": "v3.4.0", + "resstock_version": "3.4.0", "version_description": """ Version information for the residential workflow generator. This version is compatible with ResStock v3.4.0. From de148d01fb29fa6d253c9c80432a47aa4c767d59 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 13:15:26 -0500 Subject: [PATCH 13/33] Remove ReportHPXMLOutput --- .../residential/latest/residential_hpxml.py | 1 - .../latest/residential_hpxml_defaults.py | 1 - .../test_residential_workflow_generator.py | 4 - .../measures/ReportHPXMLOutput/measure.xml | 91 ------------------- 4 files changed, 97 deletions(-) delete mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml diff --git a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py index 74ff9272..2a431804 100644 --- a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py +++ b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py @@ -118,7 +118,6 @@ def create_osw(self, sim_id, building_id, upgrade_idx): "build_existing_model": "BuildExistingModel", "hpxml_to_openstudio": "HPXMLtoOpenStudio", # Non-existing Workflow Key is fine "simulation_output_report": "ReportSimulationOutput", - "report_hpxml_output": "ReportHPXMLOutput", "report_utility_bills": "ReportUtilityBills", "upgrade_costs": "UpgradeCosts", "server_directory_cleanup": "ServerDirectoryCleanup", diff --git a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml_defaults.py b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml_defaults.py index f39576ce..3a8d8d59 100644 --- a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml_defaults.py +++ b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml_defaults.py @@ -66,7 +66,6 @@ "timeseries_num_decimal_places": 3, "user_output_variables": "", }, - "ReportHPXMLOutput": {}, "ReportUtilityBills": {"include_annual_bills": True, "include_monthly_bills": False}, "UpgradeCosts": {"debug": False}, "ServerDirectoryCleanup": { diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py b/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py index f2fe7475..edc8a58b 100644 --- a/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py +++ b/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py @@ -295,10 +295,6 @@ def test_residential_hpxml(upgrade, dynamic_cfg): assert simulation_output_step["arguments"]["add_timeseries_utc_column"] is True index += 1 - hpxml_output_step = osw["steps"][index] - assert hpxml_output_step["measure_dir_name"] == "ReportHPXMLOutput" - index += 1 - utility_bills_step = osw["steps"][index] assert utility_bills_step["measure_dir_name"] == "ReportUtilityBills" assert utility_bills_step["arguments"]["include_annual_bills"] is True diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml deleted file mode 100644 index f8f0ed72..00000000 --- a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - 3.1 - report_hpxml_output - 9561a0d7-60ad-48c5-8337-2461df044d80 - 222e94cd-c586-4745-8cde-55e933a00392 - 2024-01-26T00:28:04Z - 9BF1E6AC - ReportHPXMLOutput - HPXML Output Report - Reports HPXML outputs for residential HPXML-based models. - Parses the HPXML file and reports pre-defined outputs. - - - output_format - Output Format - The file format of the annual (and timeseries, if requested) outputs. - Choice - false - false - csv - - - csv - csv - - - json - json - - - msgpack - msgpack - - - - - - - - Reporting.QAQC - - - - Measure Type - ReportingMeasure - string - - - Intended Software Tool - OpenStudio Application - string - - - Intended Software Tool - Parametric Analysis Tool - string - - - - - README.md - md - readme - 0BB92B1A - - - README.md.erb - erb - readmeerb - 513F28E9 - - - - OpenStudio - 3.2.0 - 3.2.0 - - measure.rb - rb - script - BA1983C8 - - - constants.rb - rb - resource - 64289999 - - - From 9753fae704afc684f6a34102e86456d623d80aa5 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 13:21:13 -0500 Subject: [PATCH 14/33] Remove unnecessary files --- .../measures/ResStockArguments/README.md | 5656 ----------------- .../measures/ResStockArguments/README.md.erb | 41 - .../measures/ResStockArguments/measure.rb | 812 --- .../ResStockArguments/resources/constants.rb | 98 - .../tests/resstock_arguments_test.rb | 42 - 5 files changed, 6649 deletions(-) delete mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md delete mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md.erb delete mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.rb delete mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/resources/constants.rb delete mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/tests/resstock_arguments_test.rb diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md deleted file mode 100644 index 2969a571..00000000 --- a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md +++ /dev/null @@ -1,5656 +0,0 @@ - -###### (Automatically generated documentation) - -# ResStock Arguments - -## Description -Measure that pre-processes the arguments passed to the BuildResidentialHPXML and BuildResidentialScheduleFile measures. - -Passes in all arguments from the options lookup, processes them, and then registers values to the runner to be used by other measures. - -## Arguments - - -**Schedules: Vacancy Periods** - -Specifies the vacancy periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. - -- **Name:** ``schedules_vacancy_periods`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Schedules: Power Outage Periods** - -Specifies the power outage periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. - -- **Name:** ``schedules_power_outage_periods`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Schedules: Power Outage Periods Window Natural Ventilation Availability** - -The availability of the natural ventilation schedule during the power outage periods. Valid choices are 'regular schedule', 'always available', 'always unavailable'. If multiple periods, use a comma-separated list. - -- **Name:** ``schedules_power_outage_periods_window_natvent_availability`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Simulation Control: Daylight Saving Enabled** - -Whether to use daylight saving. If not provided, the OS-HPXML default (see HPXML Building Site) is used. - -- **Name:** ``simulation_control_daylight_saving_enabled`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `true`, `false` - -
- -**Site: Type** - -The type of site. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``site_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `suburban`, `urban`, `rural` - -
- -**Site: Shielding of Home** - -Presence of nearby buildings, trees, obstructions for infiltration model. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``site_shielding_of_home`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `exposed`, `normal`, `well-shielded` - -
- -**Site: Soil and Moisture Type** - -Type of soil and moisture. This is used to inform ground conductivity and diffusivity. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``site_soil_and_moisture_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `clay, dry`, `clay, mixed`, `clay, wet`, `gravel, dry`, `gravel, mixed`, `gravel, wet`, `loam, dry`, `loam, mixed`, `loam, wet`, `sand, dry`, `sand, mixed`, `sand, wet`, `silt, dry`, `silt, mixed`, `silt, wet`, `unknown, dry`, `unknown, mixed`, `unknown, wet` - -
- -**Site: Ground Conductivity** - -Conductivity of the ground soil. If provided, overrides the previous site and moisture type input. - -- **Name:** ``site_ground_conductivity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Site: Ground Diffusivity** - -Diffusivity of the ground soil. If provided, overrides the previous site and moisture type input. - -- **Name:** ``site_ground_diffusivity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Site: IECC Zone** - -IECC zone of the home address. - -- **Name:** ``site_iecc_zone`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `1A`, `1B`, `1C`, `2A`, `2B`, `2C`, `3A`, `3B`, `3C`, `4A`, `4B`, `4C`, `5A`, `5B`, `5C`, `6A`, `6B`, `6C`, `7`, `8` - -
- -**Site: City** - -City/municipality of the home address. - -- **Name:** ``site_city`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Site: State Code** - -State code of the home address. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``site_state_code`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `AK`, `AL`, `AR`, `AZ`, `CA`, `CO`, `CT`, `DC`, `DE`, `FL`, `GA`, `HI`, `IA`, `ID`, `IL`, `IN`, `KS`, `KY`, `LA`, `MA`, `MD`, `ME`, `MI`, `MN`, `MO`, `MS`, `MT`, `NC`, `ND`, `NE`, `NH`, `NJ`, `NM`, `NV`, `NY`, `OH`, `OK`, `OR`, `PA`, `RI`, `SC`, `SD`, `TN`, `TX`, `UT`, `VA`, `VT`, `WA`, `WI`, `WV`, `WY` - -
- -**Site: Zip Code** - -Zip code of the home address. - -- **Name:** ``site_zip_code`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Site: Time Zone UTC Offset** - -Time zone UTC offset of the home address. Must be between -12 and 14. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``site_time_zone_utc_offset`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Site: Elevation** - -Elevation of the home address. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``site_elevation`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Site: Latitude** - -Latitude of the home address. Must be between -90 and 90. Use negative values for southern hemisphere. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``site_latitude`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Site: Longitude** - -Longitude of the home address. Must be between -180 and 180. Use negative values for the western hemisphere. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``site_longitude`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Weather Station: EnergyPlus Weather (EPW) Filepath** - -Path of the EPW file. - -- **Name:** ``weather_station_epw_filepath`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Building Construction: Year Built** - -The year the building was built. - -- **Name:** ``year_built`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geometry: Unit Type** - -The type of dwelling unit. Use single-family attached for a dwelling unit with 1 or more stories, attached units to one or both sides, and no units above/below. Use apartment unit for a dwelling unit with 1 story, attached units to one, two, or three sides, and units above and/or below. - -- **Name:** ``geometry_unit_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `single-family detached`, `single-family attached`, `apartment unit`, `manufactured home` - -
- -**Geometry: Unit Aspect Ratio** - -The ratio of front/back wall length to left/right wall length for the unit, excluding any protruding garage wall area. - -- **Name:** ``geometry_unit_aspect_ratio`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Geometry: Unit Orientation** - -The unit's orientation is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). - -- **Name:** ``geometry_unit_orientation`` -- **Type:** ``Double`` - -- **Units:** ``degrees`` - -- **Required:** ``true`` - -
- -**Geometry: Unit Number of Bedrooms** - -The number of bedrooms in the unit. - -- **Name:** ``geometry_unit_num_bedrooms`` -- **Type:** ``Integer`` - -- **Units:** ``#`` - -- **Required:** ``true`` - -
- -**Geometry: Unit Number of Bathrooms** - -The number of bathrooms in the unit. If not provided, the OS-HPXML default (see HPXML Building Construction) is used. - -- **Name:** ``geometry_unit_num_bathrooms`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geometry: Unit Number of Occupants** - -The number of occupants in the unit. If not provided, an *asset* calculation is performed assuming standard occupancy, in which various end use defaults (e.g., plug loads, appliances, and hot water usage) are calculated based on Number of Bedrooms and Conditioned Floor Area per ANSI/RESNET/ICC 301-2019. If provided, an *operational* calculation is instead performed in which the end use defaults are adjusted using the relationship between Number of Bedrooms and Number of Occupants from RECS 2015. - -- **Name:** ``geometry_unit_num_occupants`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geometry: Building Number of Units** - -The number of units in the building. Required for single-family attached and apartment units. - -- **Name:** ``geometry_building_num_units`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geometry: Average Ceiling Height** - -Average distance from the floor to the ceiling. - -- **Name:** ``geometry_average_ceiling_height`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Geometry: Garage Width** - -The width of the garage. Enter zero for no garage. Only applies to single-family detached units. - -- **Name:** ``geometry_garage_width`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Geometry: Garage Depth** - -The depth of the garage. Only applies to single-family detached units. - -- **Name:** ``geometry_garage_depth`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Geometry: Garage Protrusion** - -The fraction of the garage that is protruding from the conditioned space. Only applies to single-family detached units. - -- **Name:** ``geometry_garage_protrusion`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Geometry: Garage Position** - -The position of the garage. Only applies to single-family detached units. - -- **Name:** ``geometry_garage_position`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `Right`, `Left` - -
- -**Geometry: Foundation Type** - -The foundation type of the building. Foundation types ConditionedBasement and ConditionedCrawlspace are not allowed for apartment units. - -- **Name:** ``geometry_foundation_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `SlabOnGrade`, `VentedCrawlspace`, `UnventedCrawlspace`, `ConditionedCrawlspace`, `UnconditionedBasement`, `ConditionedBasement`, `Ambient`, `AboveApartment`, `BellyAndWingWithSkirt`, `BellyAndWingNoSkirt` - -
- -**Geometry: Foundation Height** - -The height of the foundation (e.g., 3ft for crawlspace, 8ft for basement). Only applies to basements/crawlspaces. - -- **Name:** ``geometry_foundation_height`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Geometry: Foundation Height Above Grade** - -The depth above grade of the foundation wall. Only applies to basements/crawlspaces. - -- **Name:** ``geometry_foundation_height_above_grade`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Geometry: Rim Joist Height** - -The height of the rim joists. Only applies to basements/crawlspaces. - -- **Name:** ``geometry_rim_joist_height`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geometry: Attic Type** - -The attic type of the building. Attic type ConditionedAttic is not allowed for apartment units. - -- **Name:** ``geometry_attic_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `FlatRoof`, `VentedAttic`, `UnventedAttic`, `ConditionedAttic`, `BelowApartment` - -
- -**Geometry: Roof Type** - -The roof type of the building. Ignored if the building has a flat roof. - -- **Name:** ``geometry_roof_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `gable`, `hip` - -
- -**Geometry: Roof Pitch** - -The roof pitch of the attic. Ignored if the building has a flat roof. - -- **Name:** ``geometry_roof_pitch`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `1:12`, `2:12`, `3:12`, `4:12`, `5:12`, `6:12`, `7:12`, `8:12`, `9:12`, `10:12`, `11:12`, `12:12` - -
- -**Geometry: Eaves Depth** - -The eaves depth of the roof. - -- **Name:** ``geometry_eaves_depth`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Neighbor: Front Distance** - -The distance between the unit and the neighboring building to the front (not including eaves). A value of zero indicates no neighbors. Used for shading. - -- **Name:** ``neighbor_front_distance`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Neighbor: Back Distance** - -The distance between the unit and the neighboring building to the back (not including eaves). A value of zero indicates no neighbors. Used for shading. - -- **Name:** ``neighbor_back_distance`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Neighbor: Left Distance** - -The distance between the unit and the neighboring building to the left (not including eaves). A value of zero indicates no neighbors. Used for shading. - -- **Name:** ``neighbor_left_distance`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Neighbor: Right Distance** - -The distance between the unit and the neighboring building to the right (not including eaves). A value of zero indicates no neighbors. Used for shading. - -- **Name:** ``neighbor_right_distance`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Neighbor: Front Height** - -The height of the neighboring building to the front. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``neighbor_front_height`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Neighbor: Back Height** - -The height of the neighboring building to the back. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``neighbor_back_height`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Neighbor: Left Height** - -The height of the neighboring building to the left. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``neighbor_left_height`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Neighbor: Right Height** - -The height of the neighboring building to the right. If not provided, the OS-HPXML default (see HPXML Site) is used. - -- **Name:** ``neighbor_right_height`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Floor: Over Foundation Assembly R-value** - -Assembly R-value for the floor over the foundation. Ignored if the building has a slab-on-grade foundation. - -- **Name:** ``floor_over_foundation_assembly_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Floor: Over Garage Assembly R-value** - -Assembly R-value for the floor over the garage. Ignored unless the building has a garage under conditioned space. - -- **Name:** ``floor_over_garage_assembly_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Floor: Type** - -The type of floors. - -- **Name:** ``floor_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `WoodFrame`, `StructuralInsulatedPanel`, `SolidConcrete`, `SteelFrame` - -
- -**Foundation Wall: Type** - -The material type of the foundation wall. If not provided, the OS-HPXML default (see HPXML Foundation Walls) is used. - -- **Name:** ``foundation_wall_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `solid concrete`, `concrete block`, `concrete block foam core`, `concrete block perlite core`, `concrete block vermiculite core`, `concrete block solid core`, `double brick`, `wood` - -
- -**Foundation Wall: Thickness** - -The thickness of the foundation wall. If not provided, the OS-HPXML default (see HPXML Foundation Walls) is used. - -- **Name:** ``foundation_wall_thickness`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Foundation Wall: Insulation Nominal R-value** - -Nominal R-value for the foundation wall insulation. Only applies to basements/crawlspaces. - -- **Name:** ``foundation_wall_insulation_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Foundation Wall: Insulation Location** - -Whether the insulation is on the interior or exterior of the foundation wall. Only applies to basements/crawlspaces. - -- **Name:** ``foundation_wall_insulation_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `interior`, `exterior` - -
- -**Foundation Wall: Insulation Distance To Top** - -The distance from the top of the foundation wall to the top of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see HPXML Foundation Walls) is used. - -- **Name:** ``foundation_wall_insulation_distance_to_top`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Foundation Wall: Insulation Distance To Bottom** - -The distance from the top of the foundation wall to the bottom of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see HPXML Foundation Walls) is used. - -- **Name:** ``foundation_wall_insulation_distance_to_bottom`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Foundation Wall: Assembly R-value** - -Assembly R-value for the foundation walls. Only applies to basements/crawlspaces. If provided, overrides the previous foundation wall insulation inputs. If not provided, it is ignored. - -- **Name:** ``foundation_wall_assembly_r`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Rim Joist: Assembly R-value** - -Assembly R-value for the rim joists. Only applies to basements/crawlspaces. Required if a rim joist height is provided. - -- **Name:** ``rim_joist_assembly_r`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Slab: Perimeter Insulation Nominal R-value** - -Nominal R-value of the vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. - -- **Name:** ``slab_perimeter_insulation_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Slab: Perimeter Insulation Depth** - -Depth from grade to bottom of vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. - -- **Name:** ``slab_perimeter_depth`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Slab: Under Slab Insulation Nominal R-value** - -Nominal R-value of the horizontal under slab insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. - -- **Name:** ``slab_under_insulation_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Slab: Under Slab Insulation Width** - -Width from slab edge inward of horizontal under-slab insulation. Enter 999 to specify that the under slab insulation spans the entire slab. Applies to slab-on-grade foundations and basement/crawlspace floors. - -- **Name:** ``slab_under_width`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Slab: Thickness** - -The thickness of the slab. Zero can be entered if there is a dirt floor instead of a slab. If not provided, the OS-HPXML default (see HPXML Slabs) is used. - -- **Name:** ``slab_thickness`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Slab: Carpet Fraction** - -Fraction of the slab floor area that is carpeted. If not provided, the OS-HPXML default (see HPXML Slabs) is used. - -- **Name:** ``slab_carpet_fraction`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Slab: Carpet R-value** - -R-value of the slab carpet. If not provided, the OS-HPXML default (see HPXML Slabs) is used. - -- **Name:** ``slab_carpet_r`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ceiling: Assembly R-value** - -Assembly R-value for the ceiling (attic floor). - -- **Name:** ``ceiling_assembly_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Roof: Material Type** - -The material type of the roof. If not provided, the OS-HPXML default (see HPXML Roofs) is used. - -- **Name:** ``roof_material_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `asphalt or fiberglass shingles`, `concrete`, `cool roof`, `slate or tile shingles`, `expanded polystyrene sheathing`, `metal surfacing`, `plastic/rubber/synthetic sheeting`, `shingles`, `wood shingles or shakes` - -
- -**Roof: Color** - -The color of the roof. If not provided, the OS-HPXML default (see HPXML Roofs) is used. - -- **Name:** ``roof_color`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `dark`, `light`, `medium`, `medium dark`, `reflective` - -
- -**Roof: Assembly R-value** - -Assembly R-value of the roof. - -- **Name:** ``roof_assembly_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Attic: Radiant Barrier Location** - -The location of the radiant barrier in the attic. - -- **Name:** ``radiant_barrier_attic_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `none`, `Attic roof only`, `Attic roof and gable walls`, `Attic floor` - -
- -**Attic: Radiant Barrier Grade** - -The grade of the radiant barrier in the attic. If not provided, the OS-HPXML default (see HPXML Roofs) is used. - -- **Name:** ``radiant_barrier_grade`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `1`, `2`, `3` - -
- -**Wall: Type** - -The type of walls. - -- **Name:** ``wall_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `WoodStud`, `ConcreteMasonryUnit`, `DoubleWoodStud`, `InsulatedConcreteForms`, `LogWall`, `StructuralInsulatedPanel`, `SolidConcrete`, `SteelFrame`, `Stone`, `StrawBale`, `StructuralBrick` - -
- -**Wall: Siding Type** - -The siding type of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see HPXML Walls) is used. - -- **Name:** ``wall_siding_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `aluminum siding`, `asbestos siding`, `brick veneer`, `composite shingle siding`, `fiber cement siding`, `masonite siding`, `none`, `stucco`, `synthetic stucco`, `vinyl siding`, `wood siding` - -
- -**Wall: Color** - -The color of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see HPXML Walls) is used. - -- **Name:** ``wall_color`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `dark`, `light`, `medium`, `medium dark`, `reflective` - -
- -**Wall: Assembly R-value** - -Assembly R-value of the walls. - -- **Name:** ``wall_assembly_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Windows: Front Window-to-Wall Ratio** - -The ratio of window area to wall area for the unit's front facade. Enter 0 if specifying Front Window Area instead. - -- **Name:** ``window_front_wwr`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Windows: Back Window-to-Wall Ratio** - -The ratio of window area to wall area for the unit's back facade. Enter 0 if specifying Back Window Area instead. - -- **Name:** ``window_back_wwr`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Windows: Left Window-to-Wall Ratio** - -The ratio of window area to wall area for the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window Area instead. - -- **Name:** ``window_left_wwr`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Windows: Right Window-to-Wall Ratio** - -The ratio of window area to wall area for the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window Area instead. - -- **Name:** ``window_right_wwr`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Windows: Front Window Area** - -The amount of window area on the unit's front facade. Enter 0 if specifying Front Window-to-Wall Ratio instead. - -- **Name:** ``window_area_front`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Windows: Back Window Area** - -The amount of window area on the unit's back facade. Enter 0 if specifying Back Window-to-Wall Ratio instead. - -- **Name:** ``window_area_back`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Windows: Left Window Area** - -The amount of window area on the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window-to-Wall Ratio instead. - -- **Name:** ``window_area_left`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Windows: Right Window Area** - -The amount of window area on the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window-to-Wall Ratio instead. - -- **Name:** ``window_area_right`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Windows: Aspect Ratio** - -Ratio of window height to width. - -- **Name:** ``window_aspect_ratio`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Windows: Fraction Operable** - -Fraction of windows that are operable. If not provided, the OS-HPXML default (see HPXML Windows) is used. - -- **Name:** ``window_fraction_operable`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Windows: Natural Ventilation Availability** - -For operable windows, the number of days/week that windows can be opened by occupants for natural ventilation. If not provided, the OS-HPXML default (see HPXML Windows) is used. - -- **Name:** ``window_natvent_availability`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Windows: U-Factor** - -Full-assembly NFRC U-factor. - -- **Name:** ``window_ufactor`` -- **Type:** ``Double`` - -- **Units:** ``Btu/hr-ft^2-R`` - -- **Required:** ``true`` - -
- -**Windows: SHGC** - -Full-assembly NFRC solar heat gain coefficient. - -- **Name:** ``window_shgc`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Windows: Winter Interior Shading** - -Interior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see HPXML Windows) is used. - -- **Name:** ``window_interior_shading_winter`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Windows: Summer Interior Shading** - -Interior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see HPXML Windows) is used. - -- **Name:** ``window_interior_shading_summer`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Windows: Winter Exterior Shading** - -Exterior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see HPXML Windows) is used. - -- **Name:** ``window_exterior_shading_winter`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Windows: Summer Exterior Shading** - -Exterior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see HPXML Windows) is used. - -- **Name:** ``window_exterior_shading_summer`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Windows: Shading Summer Season** - -Enter a date like 'May 1 - Sep 30'. Defines the summer season for purposes of shading coefficients; the rest of the year is assumed to be winter. If not provided, the OS-HPXML default (see HPXML Windows) is used. - -- **Name:** ``window_shading_summer_season`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Windows: Storm Type** - -The type of storm, if present. If not provided, assumes there is no storm. - -- **Name:** ``window_storm_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `clear`, `low-e` - -
- -**Overhangs: Front Depth** - -The depth of overhangs for windows for the front facade. - -- **Name:** ``overhangs_front_depth`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Front Distance to Top of Window** - -The overhangs distance to the top of window for the front facade. - -- **Name:** ``overhangs_front_distance_to_top_of_window`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Front Distance to Bottom of Window** - -The overhangs distance to the bottom of window for the front facade. - -- **Name:** ``overhangs_front_distance_to_bottom_of_window`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Back Depth** - -The depth of overhangs for windows for the back facade. - -- **Name:** ``overhangs_back_depth`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Back Distance to Top of Window** - -The overhangs distance to the top of window for the back facade. - -- **Name:** ``overhangs_back_distance_to_top_of_window`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Back Distance to Bottom of Window** - -The overhangs distance to the bottom of window for the back facade. - -- **Name:** ``overhangs_back_distance_to_bottom_of_window`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Left Depth** - -The depth of overhangs for windows for the left facade. - -- **Name:** ``overhangs_left_depth`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Left Distance to Top of Window** - -The overhangs distance to the top of window for the left facade. - -- **Name:** ``overhangs_left_distance_to_top_of_window`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Left Distance to Bottom of Window** - -The overhangs distance to the bottom of window for the left facade. - -- **Name:** ``overhangs_left_distance_to_bottom_of_window`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Right Depth** - -The depth of overhangs for windows for the right facade. - -- **Name:** ``overhangs_right_depth`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Right Distance to Top of Window** - -The overhangs distance to the top of window for the right facade. - -- **Name:** ``overhangs_right_distance_to_top_of_window`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Overhangs: Right Distance to Bottom of Window** - -The overhangs distance to the bottom of window for the right facade. - -- **Name:** ``overhangs_right_distance_to_bottom_of_window`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Skylights: Front Roof Area** - -The amount of skylight area on the unit's front conditioned roof facade. - -- **Name:** ``skylight_area_front`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Skylights: Back Roof Area** - -The amount of skylight area on the unit's back conditioned roof facade. - -- **Name:** ``skylight_area_back`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Skylights: Left Roof Area** - -The amount of skylight area on the unit's left conditioned roof facade (when viewed from the front). - -- **Name:** ``skylight_area_left`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Skylights: Right Roof Area** - -The amount of skylight area on the unit's right conditioned roof facade (when viewed from the front). - -- **Name:** ``skylight_area_right`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Skylights: U-Factor** - -Full-assembly NFRC U-factor. - -- **Name:** ``skylight_ufactor`` -- **Type:** ``Double`` - -- **Units:** ``Btu/hr-ft^2-R`` - -- **Required:** ``true`` - -
- -**Skylights: SHGC** - -Full-assembly NFRC solar heat gain coefficient. - -- **Name:** ``skylight_shgc`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Skylights: Storm Type** - -The type of storm, if present. If not provided, assumes there is no storm. - -- **Name:** ``skylight_storm_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `clear`, `low-e` - -
- -**Doors: Area** - -The area of the opaque door(s). - -- **Name:** ``door_area`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Doors: R-value** - -R-value of the opaque door(s). - -- **Name:** ``door_rvalue`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Air Leakage: Units** - -The unit of measure for the air leakage. - -- **Name:** ``air_leakage_units`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `ACH`, `CFM`, `ACHnatural`, `CFMnatural`, `EffectiveLeakageArea` - -
- -**Air Leakage: House Pressure** - -The house pressure relative to outside. Required when units are ACH or CFM. - -- **Name:** ``air_leakage_house_pressure`` -- **Type:** ``Double`` - -- **Units:** ``Pa`` - -- **Required:** ``true`` - -
- -**Air Leakage: Value** - -Air exchange rate value. For 'EffectiveLeakageArea', provide value in sq. in. - -- **Name:** ``air_leakage_value`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Air Leakage: Type** - -Type of air leakage. If 'unit total', represents the total infiltration to the unit as measured by a compartmentalization test, in which case the air leakage value will be adjusted by the ratio of exterior envelope surface area to total envelope surface area. Otherwise, if 'unit exterior only', represents the infiltration to the unit from outside only as measured by a guarded test. Required when unit type is single-family attached or apartment unit. - -- **Name:** ``air_leakage_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `unit total`, `unit exterior only` - -
- -**Heating System: Type** - -The type of heating system. Use 'none' if there is no heating system or if there is a heat pump serving a heating load. - -- **Name:** ``heating_system_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `Furnace`, `WallFurnace`, `FloorFurnace`, `Boiler`, `ElectricResistance`, `Stove`, `SpaceHeater`, `Fireplace`, `Shared Boiler w/ Baseboard`, `Shared Boiler w/ Ductless Fan Coil` - -
- -**Heating System: Fuel Type** - -The fuel type of the heating system. Ignored for ElectricResistance. - -- **Name:** ``heating_system_fuel`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets`, `coal` - -
- -**Heating System: Rated AFUE or Percent** - -The rated heating efficiency value of the heating system. - -- **Name:** ``heating_system_heating_efficiency`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Heating System: Heating Capacity** - -The output heating capacity of the heating system. If not provided, the OS-HPXML autosized default (see HPXML Heating Systems) is used. - -- **Name:** ``heating_system_heating_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heating System: Heating Autosizing Factor** - -The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. - -- **Name:** ``heating_system_heating_autosizing_factor`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heating System: Heating Autosizing Limit** - -The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. - -- **Name:** ``heating_system_heating_autosizing_limit`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heating System: Fraction Heat Load Served** - -The heating load served by the heating system. - -- **Name:** ``heating_system_fraction_heat_load_served`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Heating System: Pilot Light** - -The fuel usage of the pilot light. Applies only to Furnace, WallFurnace, FloorFurnace, Stove, Boiler, and Fireplace with non-electric fuel type. If not provided, assumes no pilot light. - -- **Name:** ``heating_system_pilot_light`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Cooling System: Type** - -The type of cooling system. Use 'none' if there is no cooling system or if there is a heat pump serving a cooling load. - -- **Name:** ``cooling_system_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `central air conditioner`, `room air conditioner`, `evaporative cooler`, `mini-split`, `packaged terminal air conditioner` - -
- -**Cooling System: Efficiency Type** - -The efficiency type of the cooling system. System types central air conditioner and mini-split use SEER or SEER2. System types room air conditioner and packaged terminal air conditioner use EER or CEER. Ignored for system type evaporative cooler. - -- **Name:** ``cooling_system_cooling_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `SEER`, `SEER2`, `EER`, `CEER` - -
- -**Cooling System: Efficiency** - -The rated efficiency value of the cooling system. Ignored for evaporative cooler. - -- **Name:** ``cooling_system_cooling_efficiency`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Cooling System: Cooling Compressor Type** - -The compressor type of the cooling system. Only applies to central air conditioner and mini-split. If not provided, the OS-HPXML default (see Central Air Conditioner, Mini-Split Air Conditioner) is used. - -- **Name:** ``cooling_system_cooling_compressor_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `single stage`, `two stage`, `variable speed` - -
- -**Cooling System: Cooling Sensible Heat Fraction** - -The sensible heat fraction of the cooling system. Ignored for evaporative cooler. If not provided, the OS-HPXML default (see Central Air Conditioner, Room Air Conditioner, Packaged Terminal Air Conditioner, Mini-Split Air Conditioner) is used. - -- **Name:** ``cooling_system_cooling_sensible_heat_fraction`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Cooling System: Cooling Capacity** - -The output cooling capacity of the cooling system. If not provided, the OS-HPXML autosized default (see Central Air Conditioner, Room Air Conditioner, Packaged Terminal Air Conditioner, Evaporative Cooler, Mini-Split Air Conditioner) is used. - -- **Name:** ``cooling_system_cooling_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Cooling System: Cooling Autosizing Factor** - -The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. - -- **Name:** ``cooling_system_cooling_autosizing_factor`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Cooling System: Cooling Autosizing Limit** - -The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. - -- **Name:** ``cooling_system_cooling_autosizing_limit`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Cooling System: Fraction Cool Load Served** - -The cooling load served by the cooling system. - -- **Name:** ``cooling_system_fraction_cool_load_served`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Cooling System: Is Ducted** - -Whether the cooling system is ducted or not. Only used for mini-split and evaporative cooler. It's assumed that central air conditioner is ducted, and room air conditioner and packaged terminal air conditioner are not ducted. - -- **Name:** ``cooling_system_is_ducted`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `true`, `false` - -
- -**Cooling System: Crankcase Heater Power Watts** - -Cooling system crankcase heater power consumption in Watts. Applies only to central air conditioner, room air conditioner, packaged terminal air conditioner and mini-split. If not provided, the OS-HPXML default (see Central Air Conditioner, Room Air Conditioner, Packaged Terminal Air Conditioner, Mini-Split Air Conditioner) is used. - -- **Name:** ``cooling_system_crankcase_heater_watts`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Cooling System: Integrated Heating System Fuel Type** - -The fuel type of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. - -- **Name:** ``cooling_system_integrated_heating_system_fuel`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets`, `coal` - -
- -**Cooling System: Integrated Heating System Efficiency** - -The rated heating efficiency value of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. - -- **Name:** ``cooling_system_integrated_heating_system_efficiency_percent`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Cooling System: Integrated Heating System Heating Capacity** - -The output heating capacity of the heating system integrated into cooling system. If not provided, the OS-HPXML autosized default (see Room Air Conditioner, Packaged Terminal Air Conditioner) is used. Only used for room air conditioner and packaged terminal air conditioner. - -- **Name:** ``cooling_system_integrated_heating_system_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Cooling System: Integrated Heating System Fraction Heat Load Served** - -The heating load served by the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. - -- **Name:** ``cooling_system_integrated_heating_system_fraction_heat_load_served`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Type** - -The type of heat pump. Use 'none' if there is no heat pump. - -- **Name:** ``heat_pump_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `air-to-air`, `mini-split`, `ground-to-air`, `packaged terminal heat pump`, `room air conditioner with reverse cycle` - -
- -**Heat Pump: Heating Efficiency Type** - -The heating efficiency type of heat pump. System types air-to-air and mini-split use HSPF or HSPF2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use COP. - -- **Name:** ``heat_pump_heating_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `HSPF`, `HSPF2`, `COP` - -
- -**Heat Pump: Heating Efficiency** - -The rated heating efficiency value of the heat pump. - -- **Name:** ``heat_pump_heating_efficiency`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Heat Pump: Cooling Efficiency Type** - -The cooling efficiency type of heat pump. System types air-to-air and mini-split use SEER or SEER2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use EER. - -- **Name:** ``heat_pump_cooling_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `SEER`, `SEER2`, `EER`, `CEER` - -
- -**Heat Pump: Cooling Efficiency** - -The rated cooling efficiency value of the heat pump. - -- **Name:** ``heat_pump_cooling_efficiency`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Heat Pump: Cooling Compressor Type** - -The compressor type of the heat pump. Only applies to air-to-air and mini-split. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump) is used. - -- **Name:** ``heat_pump_cooling_compressor_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `single stage`, `two stage`, `variable speed` - -
- -**Heat Pump: Cooling Sensible Heat Fraction** - -The sensible heat fraction of the heat pump. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle, Ground-to-Air Heat Pump) is used. - -- **Name:** ``heat_pump_cooling_sensible_heat_fraction`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Heating Capacity** - -The output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle, Ground-to-Air Heat Pump) is used. - -- **Name:** ``heat_pump_heating_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Heating Autosizing Factor** - -The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. - -- **Name:** ``heat_pump_heating_autosizing_factor`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Heating Autosizing Limit** - -The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. - -- **Name:** ``heat_pump_heating_autosizing_limit`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Heating Capacity Retention Fraction** - -The output heating capacity of the heat pump at a user-specified temperature (e.g., 17F or 5F) divided by the above nominal heating capacity. Applies to all heat pump types except ground-to-air. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle) is used. - -- **Name:** ``heat_pump_heating_capacity_retention_fraction`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Heating Capacity Retention Temperature** - -The user-specified temperature (e.g., 17F or 5F) for the above heating capacity retention fraction. Applies to all heat pump types except ground-to-air. Required if the Heating Capacity Retention Fraction is provided. - -- **Name:** ``heat_pump_heating_capacity_retention_temp`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Cooling Capacity** - -The output cooling capacity of the heat pump. If not provided, the OS-HPXML autosized default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle, Ground-to-Air Heat Pump) is used. - -- **Name:** ``heat_pump_cooling_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Cooling Autosizing Factor** - -The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. - -- **Name:** ``heat_pump_cooling_autosizing_factor`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Cooling Autosizing Limit** - -The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. - -- **Name:** ``heat_pump_cooling_autosizing_limit`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Fraction Heat Load Served** - -The heating load served by the heat pump. - -- **Name:** ``heat_pump_fraction_heat_load_served`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Heat Pump: Fraction Cool Load Served** - -The cooling load served by the heat pump. - -- **Name:** ``heat_pump_fraction_cool_load_served`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Heat Pump: Compressor Lockout Temperature** - -The temperature below which the heat pump compressor is disabled. If both this and Backup Heating Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies to all heat pump types other than ground-to-air. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle) is used. - -- **Name:** ``heat_pump_compressor_lockout_temp`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Backup Type** - -The backup type of the heat pump. If 'integrated', represents e.g. built-in electric strip heat or dual-fuel integrated furnace. If 'separate', represents e.g. electric baseboard or boiler based on the Heating System 2 specified below. Use 'none' if there is no backup heating. - -- **Name:** ``heat_pump_backup_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `integrated`, `separate` - -
- -**Heat Pump: Backup Heating Autosizing Factor** - -The capacity scaling factor applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, 1.0 is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Factor. - -- **Name:** ``heat_pump_backup_heating_autosizing_factor`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Backup Heating Autosizing Limit** - -The maximum capacity limit applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, no limit is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Limit. - -- **Name:** ``heat_pump_backup_heating_autosizing_limit`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Backup Fuel Type** - -The backup fuel type of the heat pump. Only applies if Backup Type is 'integrated'. - -- **Name:** ``heat_pump_backup_fuel`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane` - -
- -**Heat Pump: Backup Rated Efficiency** - -The backup rated efficiency value of the heat pump. Percent for electricity fuel type. AFUE otherwise. Only applies if Backup Type is 'integrated'. - -- **Name:** ``heat_pump_backup_heating_efficiency`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Heat Pump: Backup Heating Capacity** - -The backup output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see Backup) is used. Only applies if Backup Type is 'integrated'. - -- **Name:** ``heat_pump_backup_heating_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Backup Heating Lockout Temperature** - -The temperature above which the heat pump backup system is disabled. If both this and Compressor Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies for both Backup Type of 'integrated' and 'separate'. If not provided, the OS-HPXML default (see Backup) is used. - -- **Name:** ``heat_pump_backup_heating_lockout_temp`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heat Pump: Sizing Methodology** - -The auto-sizing methodology to use when the heat pump capacity is not provided. If not provided, the OS-HPXML default (see HPXML HVAC Sizing Control) is used. - -- **Name:** ``heat_pump_sizing_methodology`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `ACCA`, `HERS`, `MaxLoad` - -
- -**Heat Pump: Backup Sizing Methodology** - -The auto-sizing methodology to use when the heat pump backup capacity is not provided. If not provided, the OS-HPXML default (see HPXML HVAC Sizing Control) is used. - -- **Name:** ``heat_pump_backup_sizing_methodology`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `emergency`, `supplemental` - -
- -**Heat Pump: Is Ducted** - -Whether the heat pump is ducted or not. Only used for mini-split. It's assumed that air-to-air and ground-to-air are ducted, and packaged terminal heat pump and room air conditioner with reverse cycle are not ducted. If not provided, assumes not ducted. - -- **Name:** ``heat_pump_is_ducted`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `true`, `false` - -
- -**Heat Pump: Crankcase Heater Power Watts** - -Heat Pump crankcase heater power consumption in Watts. Applies only to air-to-air, mini-split, packaged terminal heat pump and room air conditioner with reverse cycle. If not provided, the OS-HPXML default (see Air-to-Air Heat Pump, Mini-Split Heat Pump, Packaged Terminal Heat Pump, Room Air Conditioner w/ Reverse Cycle) is used. - -- **Name:** ``heat_pump_crankcase_heater_watts`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Capacity Type** - -Type of capacity values for detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). - -- **Name:** ``hvac_perf_data_capacity_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `Absolute capacities`, `Normalized capacity fractions` - -
- -**HVAC Detailed Performance Data: Heating Outdoor Temperatures** - -Outdoor temperatures of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 47 deg-F. At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_heating_outdoor_temperatures`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Heating Minimum Speed Capacities** - -Minimum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_heating_min_speed_capacities`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Heating Maximum Speed Capacities** - -Maximum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_heating_max_speed_capacities`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Heating Minimum Speed COPs** - -Minimum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_heating_min_speed_cops`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Heating Maximum Speed COPs** - -Maximum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_heating_max_speed_cops`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Cooling Outdoor Temperatures** - -Outdoor temperatures of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 95 deg-F. At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_cooling_outdoor_temperatures`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Cooling Minimum Speed Capacities** - -Minimum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_cooling_min_speed_capacities`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Cooling Maximum Speed Capacities** - -Maximum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_cooling_max_speed_capacities`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Cooling Minimum Speed COPs** - -Minimum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_cooling_min_speed_cops`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Detailed Performance Data: Cooling Maximum Speed COPs** - -Maximum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. - -- **Name:** ``hvac_perf_data_cooling_max_speed_cops`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geothermal Loop: Configuration** - -Configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see Ground-to-Air Heat Pump) is used. - -- **Name:** ``geothermal_loop_configuration`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `none`, `vertical` - -
- -**Geothermal Loop: Borefield Configuration** - -Borefield configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. - -- **Name:** ``geothermal_loop_borefield_configuration`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `Rectangle`, `Open Rectangle`, `C`, `L`, `U`, `Lopsided U` - -
- -**Geothermal Loop: Loop Flow** - -Water flow rate through the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see HPXML Geothermal Loops) is used. - -- **Name:** ``geothermal_loop_loop_flow`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geothermal Loop: Boreholes Count** - -Number of boreholes. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see HPXML Geothermal Loops) is used. - -- **Name:** ``geothermal_loop_boreholes_count`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geothermal Loop: Boreholes Length** - -Average length of each borehole (vertical). Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see HPXML Geothermal Loops) is used. - -- **Name:** ``geothermal_loop_boreholes_length`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geothermal Loop: Boreholes Spacing** - -Distance between bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. - -- **Name:** ``geothermal_loop_boreholes_spacing`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geothermal Loop: Boreholes Diameter** - -Diameter of bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. - -- **Name:** ``geothermal_loop_boreholes_diameter`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geothermal Loop: Grout Type** - -Grout type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. - -- **Name:** ``geothermal_loop_grout_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `standard`, `thermally enhanced` - -
- -**Geothermal Loop: Pipe Type** - -Pipe type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. - -- **Name:** ``geothermal_loop_pipe_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `standard`, `thermally enhanced` - -
- -**Geothermal Loop: Pipe Diameter** - -Pipe diameter of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see HPXML Geothermal Loops) is used. - -- **Name:** ``geothermal_loop_pipe_diameter`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `3/4" pipe`, `1" pipe`, `1-1/4" pipe` - -
- -**Heating System 2: Type** - -The type of the second heating system. - -- **Name:** ``heating_system_2_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `Furnace`, `WallFurnace`, `FloorFurnace`, `Boiler`, `ElectricResistance`, `Stove`, `SpaceHeater`, `Fireplace` - -
- -**Heating System 2: Fuel Type** - -The fuel type of the second heating system. Ignored for ElectricResistance. - -- **Name:** ``heating_system_2_fuel`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets`, `coal` - -
- -**Heating System 2: Rated AFUE or Percent** - -The rated heating efficiency value of the second heating system. - -- **Name:** ``heating_system_2_heating_efficiency`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Heating System 2: Heating Capacity** - -The output heating capacity of the second heating system. If not provided, the OS-HPXML autosized default (see HPXML Heating Systems) is used. - -- **Name:** ``heating_system_2_heating_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heating System 2: Heating Autosizing Factor** - -The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. - -- **Name:** ``heating_system_2_heating_autosizing_factor`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heating System 2: Heating Autosizing Limit** - -The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. - -- **Name:** ``heating_system_2_heating_autosizing_limit`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Heating System 2: Fraction Heat Load Served** - -The heat load served fraction of the second heating system. Ignored if this heating system serves as a backup system for a heat pump. - -- **Name:** ``heating_system_2_fraction_heat_load_served`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**HVAC Control: Heating Season Period** - -Enter a date like 'Nov 1 - Jun 30'. If not provided, the OS-HPXML default (see HPXML HVAC Control) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. - -- **Name:** ``hvac_control_heating_season_period`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Control: Cooling Season Period** - -Enter a date like 'Jun 1 - Oct 31'. If not provided, the OS-HPXML default (see HPXML HVAC Control) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. - -- **Name:** ``hvac_control_cooling_season_period`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**HVAC Blower: Fan Efficiency** - -The blower fan efficiency at maximum fan speed. Applies only to split (not packaged) systems (i.e., applies to ducted systems as well as ductless mini-split systems). If not provided, the OS-HPXML default (see HPXML Heating Systems, HPXML Cooling Systems, HPXML Heat Pumps) is used. - -- **Name:** ``hvac_blower_fan_watts_per_cfm`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ducts: Leakage Units** - -The leakage units of the ducts. - -- **Name:** ``ducts_leakage_units`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `CFM25`, `CFM50`, `Percent` - -
- -**Ducts: Supply Leakage to Outside Value** - -The leakage value to outside for the supply ducts. - -- **Name:** ``ducts_supply_leakage_to_outside_value`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Ducts: Supply Location** - -The location of the supply ducts. If not provided, the OS-HPXML default (see Air Distribution) is used. - -- **Name:** ``ducts_supply_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `crawlspace`, `crawlspace - vented`, `crawlspace - unvented`, `crawlspace - conditioned`, `attic`, `attic - vented`, `attic - unvented`, `garage`, `exterior wall`, `under slab`, `roof deck`, `outside`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space`, `manufactured home belly` - -
- -**Ducts: Supply Insulation R-Value** - -The nominal insulation r-value of the supply ducts excluding air films. Use 0 for uninsulated ducts. - -- **Name:** ``ducts_supply_insulation_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Ducts: Supply Buried Insulation Level** - -Whether the supply 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. - -- **Name:** ``ducts_supply_buried_insulation_level`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `not buried`, `partially buried`, `fully buried`, `deeply buried` - -
- -**Ducts: Supply Surface Area** - -The supply ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see Air Distribution) is used. - -- **Name:** ``ducts_supply_surface_area`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ducts: Supply Area Fraction** - -The fraction of supply ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see Air Distribution) is used. - -- **Name:** ``ducts_supply_surface_area_fraction`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ducts: Supply Fraction Rectangular** - -The fraction of supply ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see Air Distribution) is used. - -- **Name:** ``ducts_supply_fraction_rectangular`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ducts: Return Leakage to Outside Value** - -The leakage value to outside for the return ducts. - -- **Name:** ``ducts_return_leakage_to_outside_value`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Ducts: Return Location** - -The location of the return ducts. If not provided, the OS-HPXML default (see Air Distribution) is used. - -- **Name:** ``ducts_return_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `crawlspace`, `crawlspace - vented`, `crawlspace - unvented`, `crawlspace - conditioned`, `attic`, `attic - vented`, `attic - unvented`, `garage`, `exterior wall`, `under slab`, `roof deck`, `outside`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space`, `manufactured home belly` - -
- -**Ducts: Return Insulation R-Value** - -The nominal insulation r-value of the return ducts excluding air films. Use 0 for uninsulated ducts. - -- **Name:** ``ducts_return_insulation_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Ducts: Return Buried Insulation Level** - -Whether the return 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. - -- **Name:** ``ducts_return_buried_insulation_level`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `not buried`, `partially buried`, `fully buried`, `deeply buried` - -
- -**Ducts: Return Surface Area** - -The return ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see Air Distribution) is used. - -- **Name:** ``ducts_return_surface_area`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ducts: Return Area Fraction** - -The fraction of return ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see Air Distribution) is used. - -- **Name:** ``ducts_return_surface_area_fraction`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ducts: Number of Return Registers** - -The number of return registers of the ducts. Only used to calculate default return duct surface area. If not provided, the OS-HPXML default (see Air Distribution) is used. - -- **Name:** ``ducts_number_of_return_registers`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ducts: Return Fraction Rectangular** - -The fraction of return ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see Air Distribution) is used. - -- **Name:** ``ducts_return_fraction_rectangular`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Mechanical Ventilation: Fan Type** - -The type of the mechanical ventilation. Use 'none' if there is no mechanical ventilation system. - -- **Name:** ``mech_vent_fan_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `exhaust only`, `supply only`, `energy recovery ventilator`, `heat recovery ventilator`, `balanced`, `central fan integrated supply` - -
- -**Mechanical Ventilation: Flow Rate** - -The flow rate of the mechanical ventilation. If not provided, the OS-HPXML default (see HPXML Mechanical Ventilation Fans) is used. - -- **Name:** ``mech_vent_flow_rate`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Mechanical Ventilation: Hours In Operation** - -The hours in operation of the mechanical ventilation. If not provided, the OS-HPXML default (see HPXML Mechanical Ventilation Fans) is used. - -- **Name:** ``mech_vent_hours_in_operation`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Mechanical Ventilation: Total Recovery Efficiency Type** - -The total recovery efficiency type of the mechanical ventilation. - -- **Name:** ``mech_vent_recovery_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `Unadjusted`, `Adjusted` - -
- -**Mechanical Ventilation: Total Recovery Efficiency** - -The Unadjusted or Adjusted total recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator. - -- **Name:** ``mech_vent_total_recovery_efficiency`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Mechanical Ventilation: Sensible Recovery Efficiency** - -The Unadjusted or Adjusted sensible recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. - -- **Name:** ``mech_vent_sensible_recovery_efficiency`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Mechanical Ventilation: Fan Power** - -The fan power of the mechanical ventilation. If not provided, the OS-HPXML default (see HPXML Mechanical Ventilation Fans) is used. - -- **Name:** ``mech_vent_fan_power`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Mechanical Ventilation: Number of Units Served** - -Number of dwelling units served by the mechanical ventilation system. Must be 1 if single-family detached. Used to apportion flow rate and fan power to the unit. - -- **Name:** ``mech_vent_num_units_served`` -- **Type:** ``Integer`` - -- **Units:** ``#`` - -- **Required:** ``true`` - -
- -**Shared Mechanical Ventilation: Fraction Recirculation** - -Fraction of the total supply air that is recirculated, with the remainder assumed to be outdoor air. The value must be 0 for exhaust only systems. Required for a shared mechanical ventilation system. - -- **Name:** ``mech_vent_shared_frac_recirculation`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Shared Mechanical Ventilation: Preheating Fuel** - -Fuel type of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. - -- **Name:** ``mech_vent_shared_preheating_fuel`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets`, `coal` - -
- -**Shared Mechanical Ventilation: Preheating Efficiency** - -Efficiency of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. - -- **Name:** ``mech_vent_shared_preheating_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Shared Mechanical Ventilation: Preheating Fraction Ventilation Heat Load Served** - -Fraction of heating load introduced by the shared ventilation system that is met by the preconditioning heating equipment. If not provided, assumes no preheating. - -- **Name:** ``mech_vent_shared_preheating_fraction_heat_load_served`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Shared Mechanical Ventilation: Precooling Fuel** - -Fuel type of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. - -- **Name:** ``mech_vent_shared_precooling_fuel`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `electricity` - -
- -**Shared Mechanical Ventilation: Precooling Efficiency** - -Efficiency of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. - -- **Name:** ``mech_vent_shared_precooling_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Shared Mechanical Ventilation: Precooling Fraction Ventilation Cool Load Served** - -Fraction of cooling load introduced by the shared ventilation system that is met by the preconditioning cooling equipment. If not provided, assumes no precooling. - -- **Name:** ``mech_vent_shared_precooling_fraction_cool_load_served`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Mechanical Ventilation 2: Fan Type** - -The type of the second mechanical ventilation. Use 'none' if there is no second mechanical ventilation system. - -- **Name:** ``mech_vent_2_fan_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `exhaust only`, `supply only`, `energy recovery ventilator`, `heat recovery ventilator`, `balanced` - -
- -**Mechanical Ventilation 2: Flow Rate** - -The flow rate of the second mechanical ventilation. - -- **Name:** ``mech_vent_2_flow_rate`` -- **Type:** ``Double`` - -- **Units:** ``CFM`` - -- **Required:** ``true`` - -
- -**Mechanical Ventilation 2: Hours In Operation** - -The hours in operation of the second mechanical ventilation. - -- **Name:** ``mech_vent_2_hours_in_operation`` -- **Type:** ``Double`` - -- **Units:** ``hrs/day`` - -- **Required:** ``true`` - -
- -**Mechanical Ventilation 2: Total Recovery Efficiency Type** - -The total recovery efficiency type of the second mechanical ventilation. - -- **Name:** ``mech_vent_2_recovery_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `Unadjusted`, `Adjusted` - -
- -**Mechanical Ventilation 2: Total Recovery Efficiency** - -The Unadjusted or Adjusted total recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator. - -- **Name:** ``mech_vent_2_total_recovery_efficiency`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Mechanical Ventilation 2: Sensible Recovery Efficiency** - -The Unadjusted or Adjusted sensible recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. - -- **Name:** ``mech_vent_2_sensible_recovery_efficiency`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Mechanical Ventilation 2: Fan Power** - -The fan power of the second mechanical ventilation. - -- **Name:** ``mech_vent_2_fan_power`` -- **Type:** ``Double`` - -- **Units:** ``W`` - -- **Required:** ``true`` - -
- -**Kitchen Fans: Quantity** - -The quantity of the kitchen fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``kitchen_fans_quantity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Kitchen Fans: Flow Rate** - -The flow rate of the kitchen fan. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``kitchen_fans_flow_rate`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Kitchen Fans: Hours In Operation** - -The hours in operation of the kitchen fan. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``kitchen_fans_hours_in_operation`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Kitchen Fans: Fan Power** - -The fan power of the kitchen fan. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``kitchen_fans_power`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Kitchen Fans: Start Hour** - -The start hour of the kitchen fan. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``kitchen_fans_start_hour`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Bathroom Fans: Quantity** - -The quantity of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``bathroom_fans_quantity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Bathroom Fans: Flow Rate** - -The flow rate of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``bathroom_fans_flow_rate`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Bathroom Fans: Hours In Operation** - -The hours in operation of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``bathroom_fans_hours_in_operation`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Bathroom Fans: Fan Power** - -The fan power of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``bathroom_fans_power`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Bathroom Fans: Start Hour** - -The start hour of the bathroom fans. If not provided, the OS-HPXML default (see HPXML Local Ventilation Fans) is used. - -- **Name:** ``bathroom_fans_start_hour`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Whole House Fan: Present** - -Whether there is a whole house fan. - -- **Name:** ``whole_house_fan_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Whole House Fan: Flow Rate** - -The flow rate of the whole house fan. If not provided, the OS-HPXML default (see HPXML Whole House Fans) is used. - -- **Name:** ``whole_house_fan_flow_rate`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Whole House Fan: Fan Power** - -The fan power of the whole house fan. If not provided, the OS-HPXML default (see HPXML Whole House Fans) is used. - -- **Name:** ``whole_house_fan_power`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Water Heater: Type** - -The type of water heater. Use 'none' if there is no water heater. - -- **Name:** ``water_heater_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `storage water heater`, `instantaneous water heater`, `heat pump water heater`, `space-heating boiler with storage tank`, `space-heating boiler with tankless coil` - -
- -**Water Heater: Fuel Type** - -The fuel type of water heater. Ignored for heat pump water heater. - -- **Name:** ``water_heater_fuel_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `coal` - -
- -**Water Heater: Location** - -The location of water heater. If not provided, the OS-HPXML default (see HPXML Water Heating Systems) is used. - -- **Name:** ``water_heater_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `attic`, `attic - vented`, `attic - unvented`, `crawlspace`, `crawlspace - vented`, `crawlspace - unvented`, `crawlspace - conditioned`, `other exterior`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` - -
- -**Water Heater: Tank Volume** - -Nominal volume of water heater tank. Only applies to storage water heater, heat pump water heater, and space-heating boiler with storage tank. If not provided, the OS-HPXML default (see Conventional Storage, Heat Pump, Combi Boiler w/ Storage) is used. - -- **Name:** ``water_heater_tank_volume`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Water Heater: Efficiency Type** - -The efficiency type of water heater. Does not apply to space-heating boilers. - -- **Name:** ``water_heater_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `EnergyFactor`, `UniformEnergyFactor` - -
- -**Water Heater: Efficiency** - -Rated Energy Factor or Uniform Energy Factor. Does not apply to space-heating boilers. - -- **Name:** ``water_heater_efficiency`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Water Heater: Usage Bin** - -The usage of the water heater. Only applies if Efficiency Type is UniformEnergyFactor and Type is not instantaneous water heater. Does not apply to space-heating boilers. If not provided, the OS-HPXML default (see Conventional Storage, Heat Pump) is used. - -- **Name:** ``water_heater_usage_bin`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `very small`, `low`, `medium`, `high` - -
- -**Water Heater: Recovery Efficiency** - -Ratio of energy delivered to water heater to the energy content of the fuel consumed by the water heater. Only used for non-electric storage water heaters. If not provided, the OS-HPXML default (see Conventional Storage) is used. - -- **Name:** ``water_heater_recovery_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Water Heater: Heating Capacity** - -Heating capacity. Only applies to storage water heater. If not provided, the OS-HPXML default (see Conventional Storage) is used. - -- **Name:** ``water_heater_heating_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Water Heater: Standby Loss** - -The standby loss of water heater. Only applies to space-heating boilers. If not provided, the OS-HPXML default (see Combi Boiler w/ Storage) is used. - -- **Name:** ``water_heater_standby_loss`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Water Heater: Jacket R-value** - -The jacket R-value of water heater. Doesn't apply to instantaneous water heater or space-heating boiler with tankless coil. If not provided, defaults to no jacket insulation. - -- **Name:** ``water_heater_jacket_rvalue`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Water Heater: Setpoint Temperature** - -The setpoint temperature of water heater. If not provided, the OS-HPXML default (see HPXML Water Heating Systems) is used. - -- **Name:** ``water_heater_setpoint_temperature`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Water Heater: Number of Bedrooms Served** - -Number of bedrooms served (directly or indirectly) by the water heater. Only needed if single-family attached or apartment unit and it is a shared water heater serving multiple dwelling units. Used to apportion water heater tank losses to the unit. - -- **Name:** ``water_heater_num_bedrooms_served`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Water Heater: Uses Desuperheater** - -Requires that the dwelling unit has a air-to-air, mini-split, or ground-to-air heat pump or a central air conditioner or mini-split air conditioner. If not provided, assumes no desuperheater. - -- **Name:** ``water_heater_uses_desuperheater`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `true`, `false` - -
- -**Water Heater: Tank Type** - -Type of tank model to use. The 'stratified' tank generally provide more accurate results, but may significantly increase run time. Applies only to storage water heater. If not provided, the OS-HPXML default (see Conventional Storage) is used. - -- **Name:** ``water_heater_tank_model_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `mixed`, `stratified` - -
- -**Water Heater: Operating Mode** - -The water heater operating mode. The 'heat pump only' option only uses the heat pump, while 'hybrid/auto' allows the backup electric resistance to come on in high demand situations. This is ignored if a scheduled operating mode type is selected. Applies only to heat pump water heater. If not provided, the OS-HPXML default (see Heat Pump) is used. - -- **Name:** ``water_heater_operating_mode`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `hybrid/auto`, `heat pump only` - -
- -**Hot Water Distribution: System Type** - -The type of the hot water distribution system. - -- **Name:** ``hot_water_distribution_system_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `Standard`, `Recirculation` - -
- -**Hot Water Distribution: Standard Piping Length** - -If the distribution system is Standard, the length of the piping. If not provided, the OS-HPXML default (see Standard) is used. - -- **Name:** ``hot_water_distribution_standard_piping_length`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Hot Water Distribution: Recirculation Control Type** - -If the distribution system is Recirculation, the type of hot water recirculation control, if any. - -- **Name:** ``hot_water_distribution_recirc_control_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `no control`, `timer`, `temperature`, `presence sensor demand control`, `manual demand control` - -
- -**Hot Water Distribution: Recirculation Piping Length** - -If the distribution system is Recirculation, the length of the recirculation piping. If not provided, the OS-HPXML default (see Recirculation (In-Unit)) is used. - -- **Name:** ``hot_water_distribution_recirc_piping_length`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Hot Water Distribution: Recirculation Branch Piping Length** - -If the distribution system is Recirculation, the length of the recirculation branch piping. If not provided, the OS-HPXML default (see Recirculation (In-Unit)) is used. - -- **Name:** ``hot_water_distribution_recirc_branch_piping_length`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Hot Water Distribution: Recirculation Pump Power** - -If the distribution system is Recirculation, the recirculation pump power. If not provided, the OS-HPXML default (see Recirculation (In-Unit)) is used. - -- **Name:** ``hot_water_distribution_recirc_pump_power`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Hot Water Distribution: Pipe Insulation Nominal R-Value** - -Nominal R-value of the pipe insulation. If not provided, the OS-HPXML default (see HPXML Hot Water Distribution) is used. - -- **Name:** ``hot_water_distribution_pipe_r`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Drain Water Heat Recovery: Facilities Connected** - -Which facilities are connected for the drain water heat recovery. Use 'none' if there is no drain water heat recovery system. - -- **Name:** ``dwhr_facilities_connected`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `one`, `all` - -
- -**Drain Water Heat Recovery: Equal Flow** - -Whether the drain water heat recovery has equal flow. - -- **Name:** ``dwhr_equal_flow`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `true`, `false` - -
- -**Drain Water Heat Recovery: Efficiency** - -The efficiency of the drain water heat recovery. - -- **Name:** ``dwhr_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Hot Water Fixtures: Is Shower Low Flow** - -Whether the shower fixture is low flow. - -- **Name:** ``water_fixtures_shower_low_flow`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Hot Water Fixtures: Is Sink Low Flow** - -Whether the sink fixture is low flow. - -- **Name:** ``water_fixtures_sink_low_flow`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Hot Water Fixtures: Usage Multiplier** - -Multiplier on the hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Water Fixtures) is used. - -- **Name:** ``water_fixtures_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**General Water Use: Usage Multiplier** - -Multiplier on internal gains from general water use (floor mopping, shower evaporation, water films on showers, tubs & sinks surfaces, plant watering, etc.) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Building Occupancy) is used. - -- **Name:** ``general_water_use_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Solar Thermal: System Type** - -The type of solar thermal system. Use 'none' if there is no solar thermal system. - -- **Name:** ``solar_thermal_system_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `hot water` - -
- -**Solar Thermal: Collector Area** - -The collector area of the solar thermal system. - -- **Name:** ``solar_thermal_collector_area`` -- **Type:** ``Double`` - -- **Units:** ``ft^2`` - -- **Required:** ``true`` - -
- -**Solar Thermal: Collector Loop Type** - -The collector loop type of the solar thermal system. - -- **Name:** ``solar_thermal_collector_loop_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `liquid direct`, `liquid indirect`, `passive thermosyphon` - -
- -**Solar Thermal: Collector Type** - -The collector type of the solar thermal system. - -- **Name:** ``solar_thermal_collector_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `evacuated tube`, `single glazing black`, `double glazing black`, `integrated collector storage` - -
- -**Solar Thermal: Collector Azimuth** - -The collector azimuth of the solar thermal system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). - -- **Name:** ``solar_thermal_collector_azimuth`` -- **Type:** ``Double`` - -- **Units:** ``degrees`` - -- **Required:** ``true`` - -
- -**Solar Thermal: Collector Tilt** - -The collector tilt of the solar thermal system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. - -- **Name:** ``solar_thermal_collector_tilt`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Solar Thermal: Collector Rated Optical Efficiency** - -The collector rated optical efficiency of the solar thermal system. - -- **Name:** ``solar_thermal_collector_rated_optical_efficiency`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Solar Thermal: Collector Rated Thermal Losses** - -The collector rated thermal losses of the solar thermal system. - -- **Name:** ``solar_thermal_collector_rated_thermal_losses`` -- **Type:** ``Double`` - -- **Units:** ``Btu/hr-ft^2-R`` - -- **Required:** ``true`` - -
- -**Solar Thermal: Storage Volume** - -The storage volume of the solar thermal system. If not provided, the OS-HPXML default (see Detailed Inputs) is used. - -- **Name:** ``solar_thermal_storage_volume`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Solar Thermal: Solar Fraction** - -The solar fraction of the solar thermal system. If provided, overrides all other solar thermal inputs. - -- **Name:** ``solar_thermal_solar_fraction`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**PV System: Present** - -Whether there is a PV system present. - -- **Name:** ``pv_system_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**PV System: Module Type** - -Module type of the PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. - -- **Name:** ``pv_system_module_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `standard`, `premium`, `thin film` - -
- -**PV System: Location** - -Location of the PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. - -- **Name:** ``pv_system_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `roof`, `ground` - -
- -**PV System: Tracking** - -Type of tracking for the PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. - -- **Name:** ``pv_system_tracking`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `fixed`, `1-axis`, `1-axis backtracked`, `2-axis` - -
- -**PV System: Array Azimuth** - -Array azimuth of the PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). - -- **Name:** ``pv_system_array_azimuth`` -- **Type:** ``Double`` - -- **Units:** ``degrees`` - -- **Required:** ``true`` - -
- -**PV System: Array Tilt** - -Array tilt of the PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. - -- **Name:** ``pv_system_array_tilt`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**PV System: Maximum Power Output** - -Maximum power output of the PV system. For a shared system, this is the total building maximum power output. - -- **Name:** ``pv_system_max_power_output`` -- **Type:** ``Double`` - -- **Units:** ``W`` - -- **Required:** ``true`` - -
- -**PV System: Inverter Efficiency** - -Inverter efficiency of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. - -- **Name:** ``pv_system_inverter_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**PV System: System Losses Fraction** - -System losses fraction of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. - -- **Name:** ``pv_system_system_losses_fraction`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**PV System 2: Present** - -Whether there is a second PV system present. - -- **Name:** ``pv_system_2_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**PV System 2: Module Type** - -Module type of the second PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. - -- **Name:** ``pv_system_2_module_type`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `standard`, `premium`, `thin film` - -
- -**PV System 2: Location** - -Location of the second PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. - -- **Name:** ``pv_system_2_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `roof`, `ground` - -
- -**PV System 2: Tracking** - -Type of tracking for the second PV system. If not provided, the OS-HPXML default (see HPXML Photovoltaics) is used. - -- **Name:** ``pv_system_2_tracking`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `fixed`, `1-axis`, `1-axis backtracked`, `2-axis` - -
- -**PV System 2: Array Azimuth** - -Array azimuth of the second PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). - -- **Name:** ``pv_system_2_array_azimuth`` -- **Type:** ``Double`` - -- **Units:** ``degrees`` - -- **Required:** ``true`` - -
- -**PV System 2: Array Tilt** - -Array tilt of the second PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. - -- **Name:** ``pv_system_2_array_tilt`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**PV System 2: Maximum Power Output** - -Maximum power output of the second PV system. For a shared system, this is the total building maximum power output. - -- **Name:** ``pv_system_2_max_power_output`` -- **Type:** ``Double`` - -- **Units:** ``W`` - -- **Required:** ``true`` - -
- -**Battery: Present** - -Whether there is a lithium ion battery present. - -- **Name:** ``battery_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Battery: Location** - -The space type for the lithium ion battery location. If not provided, the OS-HPXML default (see HPXML Batteries) is used. - -- **Name:** ``battery_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `crawlspace`, `crawlspace - vented`, `crawlspace - unvented`, `crawlspace - conditioned`, `attic`, `attic - vented`, `attic - unvented`, `garage`, `outside` - -
- -**Battery: Rated Power Output** - -The rated power output of the lithium ion battery. If not provided, the OS-HPXML default (see HPXML Batteries) is used. - -- **Name:** ``battery_power`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Battery: Nominal Capacity** - -The nominal capacity of the lithium ion battery. If not provided, the OS-HPXML default (see HPXML Batteries) is used. - -- **Name:** ``battery_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Battery: Usable Capacity** - -The usable capacity of the lithium ion battery. If not provided, the OS-HPXML default (see HPXML Batteries) is used. - -- **Name:** ``battery_usable_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Battery: Round Trip Efficiency** - -The round trip efficiency of the lithium ion battery. If not provided, the OS-HPXML default (see HPXML Batteries) is used. - -- **Name:** ``battery_round_trip_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Lighting: Present** - -Whether there is lighting energy use. - -- **Name:** ``lighting_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Lighting: Interior Fraction CFL** - -Fraction of all lamps (interior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. - -- **Name:** ``lighting_interior_fraction_cfl`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Lighting: Interior Fraction LFL** - -Fraction of all lamps (interior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. - -- **Name:** ``lighting_interior_fraction_lfl`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Lighting: Interior Fraction LED** - -Fraction of all lamps (interior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. - -- **Name:** ``lighting_interior_fraction_led`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Lighting: Interior Usage Multiplier** - -Multiplier on the lighting energy usage (interior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Lighting) is used. - -- **Name:** ``lighting_interior_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Lighting: Exterior Fraction CFL** - -Fraction of all lamps (exterior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. - -- **Name:** ``lighting_exterior_fraction_cfl`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Lighting: Exterior Fraction LFL** - -Fraction of all lamps (exterior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. - -- **Name:** ``lighting_exterior_fraction_lfl`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Lighting: Exterior Fraction LED** - -Fraction of all lamps (exterior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. - -- **Name:** ``lighting_exterior_fraction_led`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Lighting: Exterior Usage Multiplier** - -Multiplier on the lighting energy usage (exterior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Lighting) is used. - -- **Name:** ``lighting_exterior_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Lighting: Garage Fraction CFL** - -Fraction of all lamps (garage) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. - -- **Name:** ``lighting_garage_fraction_cfl`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Lighting: Garage Fraction LFL** - -Fraction of all lamps (garage) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. - -- **Name:** ``lighting_garage_fraction_lfl`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Lighting: Garage Fraction LED** - -Fraction of all lamps (garage) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. - -- **Name:** ``lighting_garage_fraction_led`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Lighting: Garage Usage Multiplier** - -Multiplier on the lighting energy usage (garage) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Lighting) is used. - -- **Name:** ``lighting_garage_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Holiday Lighting: Present** - -Whether there is holiday lighting. - -- **Name:** ``holiday_lighting_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Holiday Lighting: Daily Consumption** - -The daily energy consumption for holiday lighting (exterior). If not provided, the OS-HPXML default (see HPXML Lighting) is used. - -- **Name:** ``holiday_lighting_daily_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Holiday Lighting: Period** - -Enter a date like 'Nov 25 - Jan 5'. If not provided, the OS-HPXML default (see HPXML Lighting) is used. - -- **Name:** ``holiday_lighting_period`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Dehumidifier: Type** - -The type of dehumidifier. - -- **Name:** ``dehumidifier_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `portable`, `whole-home` - -
- -**Dehumidifier: Efficiency Type** - -The efficiency type of dehumidifier. - -- **Name:** ``dehumidifier_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `EnergyFactor`, `IntegratedEnergyFactor` - -
- -**Dehumidifier: Efficiency** - -The efficiency of the dehumidifier. - -- **Name:** ``dehumidifier_efficiency`` -- **Type:** ``Double`` - -- **Units:** ``liters/kWh`` - -- **Required:** ``true`` - -
- -**Dehumidifier: Capacity** - -The capacity (water removal rate) of the dehumidifier. - -- **Name:** ``dehumidifier_capacity`` -- **Type:** ``Double`` - -- **Units:** ``pint/day`` - -- **Required:** ``true`` - -
- -**Dehumidifier: Relative Humidity Setpoint** - -The relative humidity setpoint of the dehumidifier. - -- **Name:** ``dehumidifier_rh_setpoint`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Dehumidifier: Fraction Dehumidification Load Served** - -The dehumidification load served fraction of the dehumidifier. - -- **Name:** ``dehumidifier_fraction_dehumidification_load_served`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``true`` - -
- -**Clothes Washer: Present** - -Whether there is a clothes washer present. - -- **Name:** ``clothes_washer_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Clothes Washer: Location** - -The space type for the clothes washer location. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. - -- **Name:** ``clothes_washer_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` - -
- -**Clothes Washer: Efficiency Type** - -The efficiency type of the clothes washer. - -- **Name:** ``clothes_washer_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `ModifiedEnergyFactor`, `IntegratedModifiedEnergyFactor` - -
- -**Clothes Washer: Efficiency** - -The efficiency of the clothes washer. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. - -- **Name:** ``clothes_washer_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Washer: Rated Annual Consumption** - -The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. - -- **Name:** ``clothes_washer_rated_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Washer: Label Electric Rate** - -The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. - -- **Name:** ``clothes_washer_label_electric_rate`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Washer: Label Gas Rate** - -The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. - -- **Name:** ``clothes_washer_label_gas_rate`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Washer: Label Annual Cost with Gas DHW** - -The annual cost of using the system under test conditions. Input is obtained from the EnergyGuide label. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. - -- **Name:** ``clothes_washer_label_annual_gas_cost`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Washer: Label Usage** - -The clothes washer loads per week. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. - -- **Name:** ``clothes_washer_label_usage`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Washer: Drum Volume** - -Volume of the washer drum. Obtained from the EnergyStar website or the manufacturer's literature. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. - -- **Name:** ``clothes_washer_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Washer: Usage Multiplier** - -Multiplier on the clothes washer energy and hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Clothes Washer) is used. - -- **Name:** ``clothes_washer_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Dryer: Present** - -Whether there is a clothes dryer present. - -- **Name:** ``clothes_dryer_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Clothes Dryer: Location** - -The space type for the clothes dryer location. If not provided, the OS-HPXML default (see HPXML Clothes Dryer) is used. - -- **Name:** ``clothes_dryer_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` - -
- -**Clothes Dryer: Fuel Type** - -Type of fuel used by the clothes dryer. - -- **Name:** ``clothes_dryer_fuel_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `coal` - -
- -**Clothes Dryer: Efficiency Type** - -The efficiency type of the clothes dryer. - -- **Name:** ``clothes_dryer_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `EnergyFactor`, `CombinedEnergyFactor` - -
- -**Clothes Dryer: Efficiency** - -The efficiency of the clothes dryer. If not provided, the OS-HPXML default (see HPXML Clothes Dryer) is used. - -- **Name:** ``clothes_dryer_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Dryer: Vented Flow Rate** - -The exhaust flow rate of the vented clothes dryer. If not provided, the OS-HPXML default (see HPXML Clothes Dryer) is used. - -- **Name:** ``clothes_dryer_vented_flow_rate`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Clothes Dryer: Usage Multiplier** - -Multiplier on the clothes dryer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Clothes Dryer) is used. - -- **Name:** ``clothes_dryer_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Dishwasher: Present** - -Whether there is a dishwasher present. - -- **Name:** ``dishwasher_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Dishwasher: Location** - -The space type for the dishwasher location. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. - -- **Name:** ``dishwasher_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` - -
- -**Dishwasher: Efficiency Type** - -The efficiency type of dishwasher. - -- **Name:** ``dishwasher_efficiency_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `RatedAnnualkWh`, `EnergyFactor` - -
- -**Dishwasher: Efficiency** - -The efficiency of the dishwasher. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. - -- **Name:** ``dishwasher_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Dishwasher: Label Electric Rate** - -The label electric rate of the dishwasher. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. - -- **Name:** ``dishwasher_label_electric_rate`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Dishwasher: Label Gas Rate** - -The label gas rate of the dishwasher. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. - -- **Name:** ``dishwasher_label_gas_rate`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Dishwasher: Label Annual Gas Cost** - -The label annual gas cost of the dishwasher. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. - -- **Name:** ``dishwasher_label_annual_gas_cost`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Dishwasher: Label Usage** - -The dishwasher loads per week. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. - -- **Name:** ``dishwasher_label_usage`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Dishwasher: Number of Place Settings** - -The number of place settings for the unit. Data obtained from manufacturer's literature. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. - -- **Name:** ``dishwasher_place_setting_capacity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Dishwasher: Usage Multiplier** - -Multiplier on the dishwasher energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Dishwasher) is used. - -- **Name:** ``dishwasher_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Refrigerator: Present** - -Whether there is a refrigerator present. - -- **Name:** ``refrigerator_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Refrigerator: Location** - -The space type for the refrigerator location. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. - -- **Name:** ``refrigerator_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` - -
- -**Refrigerator: Rated Annual Consumption** - -The EnergyGuide rated annual energy consumption for a refrigerator. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. - -- **Name:** ``refrigerator_rated_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Refrigerator: Usage Multiplier** - -Multiplier on the refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. - -- **Name:** ``refrigerator_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Extra Refrigerator: Present** - -Whether there is an extra refrigerator present. - -- **Name:** ``extra_refrigerator_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Extra Refrigerator: Location** - -The space type for the extra refrigerator location. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. - -- **Name:** ``extra_refrigerator_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` - -
- -**Extra Refrigerator: Rated Annual Consumption** - -The EnergyGuide rated annual energy consumption for an extra rrefrigerator. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. - -- **Name:** ``extra_refrigerator_rated_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Extra Refrigerator: Usage Multiplier** - -Multiplier on the extra refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Refrigerators) is used. - -- **Name:** ``extra_refrigerator_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Freezer: Present** - -Whether there is a freezer present. - -- **Name:** ``freezer_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Freezer: Location** - -The space type for the freezer location. If not provided, the OS-HPXML default (see HPXML Freezers) is used. - -- **Name:** ``freezer_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` - -
- -**Freezer: Rated Annual Consumption** - -The EnergyGuide rated annual energy consumption for a freezer. If not provided, the OS-HPXML default (see HPXML Freezers) is used. - -- **Name:** ``freezer_rated_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Freezer: Usage Multiplier** - -Multiplier on the freezer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Freezers) is used. - -- **Name:** ``freezer_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Cooking Range/Oven: Present** - -Whether there is a cooking range/oven present. - -- **Name:** ``cooking_range_oven_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Cooking Range/Oven: Location** - -The space type for the cooking range/oven location. If not provided, the OS-HPXML default (see HPXML Cooking Range/Oven) is used. - -- **Name:** ``cooking_range_oven_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `conditioned space`, `basement - conditioned`, `basement - unconditioned`, `garage`, `other housing unit`, `other heated space`, `other multifamily buffer space`, `other non-freezing space` - -
- -**Cooking Range/Oven: Fuel Type** - -Type of fuel used by the cooking range/oven. - -- **Name:** ``cooking_range_oven_fuel_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `electricity`, `natural gas`, `fuel oil`, `propane`, `wood`, `coal` - -
- -**Cooking Range/Oven: Is Induction** - -Whether the cooking range is induction. If not provided, the OS-HPXML default (see HPXML Cooking Range/Oven) is used. - -- **Name:** ``cooking_range_oven_is_induction`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `true`, `false` - -
- -**Cooking Range/Oven: Is Convection** - -Whether the oven is convection. If not provided, the OS-HPXML default (see HPXML Cooking Range/Oven) is used. - -- **Name:** ``cooking_range_oven_is_convection`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `auto`, `true`, `false` - -
- -**Cooking Range/Oven: Usage Multiplier** - -Multiplier on the cooking range/oven energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Cooking Range/Oven) is used. - -- **Name:** ``cooking_range_oven_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ceiling Fan: Present** - -Whether there are any ceiling fans. - -- **Name:** ``ceiling_fan_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Ceiling Fan: Label Energy Use** - -The label average energy use of the ceiling fan(s). If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see HPXML Ceiling Fans) is used. - -- **Name:** ``ceiling_fan_label_energy_use`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ceiling Fan: Efficiency** - -The efficiency rating of the ceiling fan(s) at medium speed. Only used if Label Energy Use not provided. If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see HPXML Ceiling Fans) is used. - -- **Name:** ``ceiling_fan_efficiency`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ceiling Fan: Quantity** - -Total number of ceiling fans. If not provided, the OS-HPXML default (see HPXML Ceiling Fans) is used. - -- **Name:** ``ceiling_fan_quantity`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Ceiling Fan: Cooling Setpoint Temperature Offset** - -The cooling setpoint temperature offset during months when the ceiling fans are operating. Only applies if ceiling fan quantity is greater than zero. If not provided, the OS-HPXML default (see HPXML Ceiling Fans) is used. - -- **Name:** ``ceiling_fan_cooling_setpoint_temp_offset`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Television Present** - -Whether there are televisions. - -- **Name:** ``misc_plug_loads_television_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Misc Plug Loads: Television Annual kWh** - -The annual energy consumption of the television plug loads. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_television_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Television Usage Multiplier** - -Multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_television_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Other Annual kWh** - -The annual energy consumption of the other residual plug loads. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_other_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Other Sensible Fraction** - -Fraction of other residual plug loads' internal gains that are sensible. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_other_frac_sensible`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Other Latent Fraction** - -Fraction of other residual plug loads' internal gains that are latent. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_other_frac_latent`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Other Usage Multiplier** - -Multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_other_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Well Pump Present** - -Whether there is a well pump. - -- **Name:** ``misc_plug_loads_well_pump_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Misc Plug Loads: Well Pump Annual kWh** - -The annual energy consumption of the well pump plug loads. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_well_pump_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Well Pump Usage Multiplier** - -Multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_well_pump_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Vehicle Present** - -Whether there is an electric vehicle. - -- **Name:** ``misc_plug_loads_vehicle_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Misc Plug Loads: Vehicle Annual kWh** - -The annual energy consumption of the electric vehicle plug loads. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_vehicle_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Plug Loads: Vehicle Usage Multiplier** - -Multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Plug Loads) is used. - -- **Name:** ``misc_plug_loads_vehicle_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Fuel Loads: Grill Present** - -Whether there is a fuel loads grill. - -- **Name:** ``misc_fuel_loads_grill_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Misc Fuel Loads: Grill Fuel Type** - -The fuel type of the fuel loads grill. - -- **Name:** ``misc_fuel_loads_grill_fuel_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets` - -
- -**Misc Fuel Loads: Grill Annual therm** - -The annual energy consumption of the fuel loads grill. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. - -- **Name:** ``misc_fuel_loads_grill_annual_therm`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Fuel Loads: Grill Usage Multiplier** - -Multiplier on the fuel loads grill energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. - -- **Name:** ``misc_fuel_loads_grill_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Fuel Loads: Lighting Present** - -Whether there is fuel loads lighting. - -- **Name:** ``misc_fuel_loads_lighting_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Misc Fuel Loads: Lighting Fuel Type** - -The fuel type of the fuel loads lighting. - -- **Name:** ``misc_fuel_loads_lighting_fuel_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets` - -
- -**Misc Fuel Loads: Lighting Annual therm** - -The annual energy consumption of the fuel loads lighting. If not provided, the OS-HPXML default (see HPXML Fuel Loads)is used. - -- **Name:** ``misc_fuel_loads_lighting_annual_therm`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Fuel Loads: Lighting Usage Multiplier** - -Multiplier on the fuel loads lighting energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. - -- **Name:** ``misc_fuel_loads_lighting_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Fuel Loads: Fireplace Present** - -Whether there is fuel loads fireplace. - -- **Name:** ``misc_fuel_loads_fireplace_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Misc Fuel Loads: Fireplace Fuel Type** - -The fuel type of the fuel loads fireplace. - -- **Name:** ``misc_fuel_loads_fireplace_fuel_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `natural gas`, `fuel oil`, `propane`, `wood`, `wood pellets` - -
- -**Misc Fuel Loads: Fireplace Annual therm** - -The annual energy consumption of the fuel loads fireplace. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. - -- **Name:** ``misc_fuel_loads_fireplace_annual_therm`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Fuel Loads: Fireplace Sensible Fraction** - -Fraction of fireplace residual fuel loads' internal gains that are sensible. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. - -- **Name:** ``misc_fuel_loads_fireplace_frac_sensible`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Fuel Loads: Fireplace Latent Fraction** - -Fraction of fireplace residual fuel loads' internal gains that are latent. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. - -- **Name:** ``misc_fuel_loads_fireplace_frac_latent`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Misc Fuel Loads: Fireplace Usage Multiplier** - -Multiplier on the fuel loads fireplace energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see HPXML Fuel Loads) is used. - -- **Name:** ``misc_fuel_loads_fireplace_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Pool: Present** - -Whether there is a pool. - -- **Name:** ``pool_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Pool: Pump Annual kWh** - -The annual energy consumption of the pool pump. If not provided, the OS-HPXML default (see Pool Pump) is used. - -- **Name:** ``pool_pump_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Pool: Pump Usage Multiplier** - -Multiplier on the pool pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see Pool Pump) is used. - -- **Name:** ``pool_pump_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Pool: Heater Type** - -The type of pool heater. Use 'none' if there is no pool heater. - -- **Name:** ``pool_heater_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `electric resistance`, `gas fired`, `heat pump` - -
- -**Pool: Heater Annual kWh** - -The annual energy consumption of the electric resistance pool heater. If not provided, the OS-HPXML default (see Pool Heater) is used. - -- **Name:** ``pool_heater_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Pool: Heater Annual therm** - -The annual energy consumption of the gas fired pool heater. If not provided, the OS-HPXML default (see Pool Heater) is used. - -- **Name:** ``pool_heater_annual_therm`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Pool: Heater Usage Multiplier** - -Multiplier on the pool heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see Pool Heater) is used. - -- **Name:** ``pool_heater_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Permanent Spa: Present** - -Whether there is a permanent spa. - -- **Name:** ``permanent_spa_present`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Permanent Spa: Pump Annual kWh** - -The annual energy consumption of the permanent spa pump. If not provided, the OS-HPXML default (see Permanent Spa Pump) is used. - -- **Name:** ``permanent_spa_pump_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Permanent Spa: Pump Usage Multiplier** - -Multiplier on the permanent spa pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see Permanent Spa Pump) is used. - -- **Name:** ``permanent_spa_pump_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Permanent Spa: Heater Type** - -The type of permanent spa heater. Use 'none' if there is no permanent spa heater. - -- **Name:** ``permanent_spa_heater_type`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `none`, `electric resistance`, `gas fired`, `heat pump` - -
- -**Permanent Spa: Heater Annual kWh** - -The annual energy consumption of the electric resistance permanent spa heater. If not provided, the OS-HPXML default (see Permanent Spa Heater) is used. - -- **Name:** ``permanent_spa_heater_annual_kwh`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Permanent Spa: Heater Annual therm** - -The annual energy consumption of the gas fired permanent spa heater. If not provided, the OS-HPXML default (see Permanent Spa Heater) is used. - -- **Name:** ``permanent_spa_heater_annual_therm`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Permanent Spa: Heater Usage Multiplier** - -Multiplier on the permanent spa heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see Permanent Spa Heater) is used. - -- **Name:** ``permanent_spa_heater_usage_multiplier`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Geometry: Unit Conditioned Floor Area Bin** - -E.g., '2000-2499'. - -- **Name:** ``geometry_unit_cfa_bin`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Geometry: Unit Conditioned Floor Area** - -E.g., '2000' or 'auto'. - -- **Name:** ``geometry_unit_cfa`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Building Construction: Vintage** - -The building vintage, used for informational purposes only. - -- **Name:** ``vintage`` -- **Type:** ``String`` - -- **Required:** ``false`` - -
- -**Building Construction: Exterior Finish R-Value** - -R-value of the exterior finish. - -- **Name:** ``exterior_finish_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Geometry: Unit Level** - -The level of the unit. This is required for apartment units. - -- **Name:** ``geometry_unit_level`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `Bottom`, `Middle`, `Top` - -
- -**Geometry: Unit Horizontal Location** - -The horizontal location of the unit when viewing the front of the building. This is required for single-family attached and apartment units. - -- **Name:** ``geometry_unit_horizontal_location`` -- **Type:** ``Choice`` - -- **Required:** ``false`` - -- **Choices:** `None`, `Left`, `Middle`, `Right` - -
- -**Geometry: Number of Floors Above Grade** - -The number of floors above grade (in the unit if single-family detached or single-family attached, and in the building if apartment unit). Conditioned attics are included. - -- **Name:** ``geometry_num_floors_above_grade`` -- **Type:** ``Integer`` - -- **Units:** ``#`` - -- **Required:** ``true`` - -
- -**Geometry: Corridor Position** - -The position of the corridor. Only applies to single-family attached and apartment units. Exterior corridors are shaded, but not enclosed. Interior corridors are enclosed and conditioned. - -- **Name:** ``geometry_corridor_position`` -- **Type:** ``Choice`` - -- **Required:** ``true`` - -- **Choices:** `Double-Loaded Interior`, `Double Exterior`, `Single Exterior (Front)`, `None` - -
- -**Geometry: Corridor Width** - -The width of the corridor. Only applies to apartment units. - -- **Name:** ``geometry_corridor_width`` -- **Type:** ``Double`` - -- **Units:** ``ft`` - -- **Required:** ``true`` - -
- -**Wall: Continuous Exterior Insulation Nominal R-value** - -Nominal R-value for the wall continuous exterior insulation. - -- **Name:** ``wall_continuous_exterior_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``false`` - -
- -**Ceiling: Insulation Nominal R-value** - -Nominal R-value for the ceiling (attic floor). - -- **Name:** ``ceiling_insulation_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Rim Joist: Continuous Exterior Insulation Nominal R-value** - -Nominal R-value for the rim joist continuous exterior insulation. Only applies to basements/crawlspaces. - -- **Name:** ``rim_joist_continuous_exterior_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Rim Joist: Continuous Interior Insulation Nominal R-value** - -Nominal R-value for the rim joist continuous interior insulation that runs parallel to floor joists. Only applies to basements/crawlspaces. - -- **Name:** ``rim_joist_continuous_interior_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Rim Joist: Interior Assembly R-value** - -Assembly R-value for the rim joist assembly interior insulation that runs perpendicular to floor joists. Only applies to basements/crawlspaces. - -- **Name:** ``rim_joist_assembly_interior_r`` -- **Type:** ``Double`` - -- **Units:** ``h-ft^2-R/Btu`` - -- **Required:** ``true`` - -
- -**Air Leakage: Value Reduction** - -Reduction (%) on the air exchange rate value. - -- **Name:** ``air_leakage_percent_reduction`` -- **Type:** ``Double`` - -- **Required:** ``false`` - -
- -**Plug Loads: Television Usage Multiplier 2** - -Additional multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. - -- **Name:** ``misc_plug_loads_television_2_usage_multiplier`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Plug Loads: Other Usage Multiplier 2** - -Additional multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. - -- **Name:** ``misc_plug_loads_other_2_usage_multiplier`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Plug Loads: Well Pump Usage Multiplier 2** - -Additional multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. - -- **Name:** ``misc_plug_loads_well_pump_2_usage_multiplier`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Plug Loads: Vehicle Usage Multiplier 2** - -Additional multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. - -- **Name:** ``misc_plug_loads_vehicle_2_usage_multiplier`` -- **Type:** ``Double`` - -- **Required:** ``true`` - -
- -**Heating Setpoint: Weekday Temperature** - -Specify the weekday heating setpoint temperature. - -- **Name:** ``hvac_control_heating_weekday_setpoint_temp`` -- **Type:** ``Double`` - -- **Units:** ``deg-F`` - -- **Required:** ``true`` - -
- -**Heating Setpoint: Weekend Temperature** - -Specify the weekend heating setpoint temperature. - -- **Name:** ``hvac_control_heating_weekend_setpoint_temp`` -- **Type:** ``Double`` - -- **Units:** ``deg-F`` - -- **Required:** ``true`` - -
- -**Heating Setpoint: Weekday Offset Magnitude** - -Specify the weekday heating offset magnitude. - -- **Name:** ``hvac_control_heating_weekday_setpoint_offset_magnitude`` -- **Type:** ``Double`` - -- **Units:** ``deg-F`` - -- **Required:** ``true`` - -
- -**Heating Setpoint: Weekend Offset Magnitude** - -Specify the weekend heating offset magnitude. - -- **Name:** ``hvac_control_heating_weekend_setpoint_offset_magnitude`` -- **Type:** ``Double`` - -- **Units:** ``deg-F`` - -- **Required:** ``true`` - -
- -**Heating Setpoint: Weekday Schedule** - -Specify the 24-hour comma-separated weekday heating schedule of 0s and 1s. - -- **Name:** ``hvac_control_heating_weekday_setpoint_schedule`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Heating Setpoint: Weekend Schedule** - -Specify the 24-hour comma-separated weekend heating schedule of 0s and 1s. - -- **Name:** ``hvac_control_heating_weekend_setpoint_schedule`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Use Auto Heating Season** - -Specifies whether to automatically define the heating season based on the weather file. - -- **Name:** ``use_auto_heating_season`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Cooling Setpoint: Weekday Temperature** - -Specify the weekday cooling setpoint temperature. - -- **Name:** ``hvac_control_cooling_weekday_setpoint_temp`` -- **Type:** ``Double`` - -- **Units:** ``deg-F`` - -- **Required:** ``true`` - -
- -**Cooling Setpoint: Weekend Temperature** - -Specify the weekend cooling setpoint temperature. - -- **Name:** ``hvac_control_cooling_weekend_setpoint_temp`` -- **Type:** ``Double`` - -- **Units:** ``deg-F`` - -- **Required:** ``true`` - -
- -**Cooling Setpoint: Weekday Offset Magnitude** - -Specify the weekday cooling offset magnitude. - -- **Name:** ``hvac_control_cooling_weekday_setpoint_offset_magnitude`` -- **Type:** ``Double`` - -- **Units:** ``deg-F`` - -- **Required:** ``true`` - -
- -**Cooling Setpoint: Weekend Offset Magnitude** - -Specify the weekend cooling offset magnitude. - -- **Name:** ``hvac_control_cooling_weekend_setpoint_offset_magnitude`` -- **Type:** ``Double`` - -- **Units:** ``deg-F`` - -- **Required:** ``true`` - -
- -**Cooling Setpoint: Weekday Schedule** - -Specify the 24-hour comma-separated weekday cooling schedule of 0s and 1s. - -- **Name:** ``hvac_control_cooling_weekday_setpoint_schedule`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Cooling Setpoint: Weekend Schedule** - -Specify the 24-hour comma-separated weekend cooling schedule of 0s and 1s. - -- **Name:** ``hvac_control_cooling_weekend_setpoint_schedule`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Use Auto Cooling Season** - -Specifies whether to automatically define the cooling season based on the weather file. - -- **Name:** ``use_auto_cooling_season`` -- **Type:** ``Boolean`` - -- **Required:** ``true`` - -
- -**Heating System: Has Flue or Chimney** - -Whether the heating system has a flue or chimney. - -- **Name:** ``heating_system_has_flue_or_chimney`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Heating System 2: Has Flue or Chimney** - -Whether the second heating system has a flue or chimney. - -- **Name:** ``heating_system_2_has_flue_or_chimney`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Water Heater: Has Flue or Chimney** - -Whether the water heater has a flue or chimney. - -- **Name:** ``water_heater_has_flue_or_chimney`` -- **Type:** ``String`` - -- **Required:** ``true`` - -
- -**Heating System: Rated CFM Per Ton** - -The rated cfm per ton of the heating system. - -- **Name:** ``heating_system_rated_cfm_per_ton`` -- **Type:** ``Double`` - -- **Units:** ``cfm/ton`` - -- **Required:** ``false`` - -
- -**Heating System: Actual CFM Per Ton** - -The actual cfm per ton of the heating system. - -- **Name:** ``heating_system_actual_cfm_per_ton`` -- **Type:** ``Double`` - -- **Units:** ``cfm/ton`` - -- **Required:** ``false`` - -
- -**Cooling System: Rated CFM Per Ton** - -The rated cfm per ton of the cooling system. - -- **Name:** ``cooling_system_rated_cfm_per_ton`` -- **Type:** ``Double`` - -- **Units:** ``cfm/ton`` - -- **Required:** ``false`` - -
- -**Cooling System: Actual CFM Per Ton** - -The actual cfm per ton of the cooling system. - -- **Name:** ``cooling_system_actual_cfm_per_ton`` -- **Type:** ``Double`` - -- **Units:** ``cfm/ton`` - -- **Required:** ``false`` - -
- -**Cooling System: Fraction of Manufacturer Recommended Charge** - -The fraction of manufacturer recommended charge of the cooling system. - -- **Name:** ``cooling_system_frac_manufacturer_charge`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``false`` - -
- -**Heat Pump: Rated CFM Per Ton** - -The rated cfm per ton of the heat pump. - -- **Name:** ``heat_pump_rated_cfm_per_ton`` -- **Type:** ``Double`` - -- **Units:** ``cfm/ton`` - -- **Required:** ``false`` - -
- -**Heat Pump: Actual CFM Per Ton** - -The actual cfm per ton of the heat pump. - -- **Name:** ``heat_pump_actual_cfm_per_ton`` -- **Type:** ``Double`` - -- **Units:** ``cfm/ton`` - -- **Required:** ``false`` - -
- -**Heat Pump: Fraction of Manufacturer Recommended Charge** - -The fraction of manufacturer recommended charge of the heat pump. - -- **Name:** ``heat_pump_frac_manufacturer_charge`` -- **Type:** ``Double`` - -- **Units:** ``Frac`` - -- **Required:** ``false`` - -
- -**Heat Pump: Backup Use Existing System** - -Whether the heat pump uses the existing system as backup. - -- **Name:** ``heat_pump_backup_use_existing_system`` -- **Type:** ``Boolean`` - -- **Required:** ``false`` - -
diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md.erb b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md.erb deleted file mode 100644 index 0e9bc87d..00000000 --- a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/README.md.erb +++ /dev/null @@ -1,41 +0,0 @@ -<%#= README.md.erb is used to auto-generate README.md. %> -###### (Automatically generated documentation) - -# <%= name %> - -## Description -<%= description %> - -<%= modelerDescription %> - -## Arguments - -<% arguments.each do |argument| %> -**<%= argument[:display_name] %>** - -<%= argument[:description] %> - -- **Name:** ``<%= argument[:name] %>`` -- **Type:** ``<%= argument[:type] %>`` -<% if argument[:units] %> -- **Units:** ``<%= argument[:units] %>`` -<% end %> -- **Required:** ``<%= argument[:required] %>`` -<% if argument[:type] == "Choice" %> -- **Choices:** `<%= argument[:choice_values].join("`, `") %>` -<% end %> -
-<% end %> - -<% if arguments.size == 0 %> -<%= "This measure does not have any user arguments" %> -<% end %> - -<% if outputs.size > 0 %> -## Outputs -All possible measure outputs are listed below. Actual outputs depend on measure argument values provided. - -<% outputs.each do |output| %> -- ``<%= output[:display_name] %>`` -<% end %> -<% end %> diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.rb b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.rb deleted file mode 100644 index 0d7075bc..00000000 --- a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/measure.rb +++ /dev/null @@ -1,812 +0,0 @@ -# frozen_string_literal: true - -# see the URL below for information on how to write OpenStudio measures -# http://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/ - -require 'openstudio' -require_relative 'resources/constants' -require_relative '../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/meta_measure' - -# start the measure -class ResStockArguments < OpenStudio::Measure::ModelMeasure - # human readable name - def name - # Measure name should be the title case of the class name. - return 'ResStock Arguments' - end - - # human readable description - def description - return 'Measure that pre-processes the arguments passed to the BuildResidentialHPXML and BuildResidentialScheduleFile measures.' - end - - # human readable description of modeling approach - def modeler_description - return 'Passes in all arguments from the options lookup, processes them, and then registers values to the runner to be used by other measures.' - end - - # define the arguments that the user will input - def arguments(model) - args = OpenStudio::Measure::OSArgumentVector.new - - # BuildResidentialHPXML - - measures_dir = File.absolute_path(File.join(File.dirname(__FILE__), '../../resources/hpxml-measures')) - full_measure_path = File.join(measures_dir, 'BuildResidentialHPXML', 'measure.rb') - @build_residential_hpxml_measure_arguments = get_measure_instance(full_measure_path).arguments(model) - - @build_residential_hpxml_measure_arguments.each do |arg| - next if Constants.build_residential_hpxml_excludes.include? arg.name - - # Following are arguments with the same name but different options - next if arg.name == 'geometry_unit_cfa' - - # Convert optional arguments to string arguments that allow Constants.Auto for defaulting - if !arg.required - case arg.type.valueName.downcase - when 'choice' - choices = arg.choiceValues.map(&:to_s) - choices.unshift(Constants.Auto) - new_arg = OpenStudio::Measure::OSArgument.makeChoiceArgument(arg.name, choices, false) - when 'boolean' - choices = [Constants.Auto, 'true', 'false'] - new_arg = OpenStudio::Measure::OSArgument.makeChoiceArgument(arg.name, choices, false) - else - new_arg = OpenStudio::Measure::OSArgument.makeStringArgument(arg.name, false) - end - new_arg.setDisplayName(arg.displayName.to_s) - new_arg.setDescription(arg.description.to_s) - new_arg.setUnits(arg.units.to_s) - args << new_arg - else - args << arg - end - end - - # BuildResidentialScheduleFile - - full_measure_path = File.join(measures_dir, 'BuildResidentialScheduleFile', 'measure.rb') - @build_residential_schedule_file_measure_arguments = get_measure_instance(full_measure_path).arguments(model) - - @build_residential_schedule_file_measure_arguments.each do |arg| - next if Constants.build_residential_schedule_file_excludes.include? arg.name - - args << arg - end - - # Additional arguments - - arg = OpenStudio::Measure::OSArgument::makeStringArgument('geometry_unit_cfa_bin', true) - arg.setDisplayName('Geometry: Unit Conditioned Floor Area Bin') - arg.setDescription("E.g., '2000-2499'.") - arg.setDefaultValue('2000-2499') - args << arg - - # Adds a geometry_unit_cfa argument similar to the BuildResidentialHPXML measure, but as a string with "auto" allowed - arg = OpenStudio::Measure::OSArgument::makeStringArgument('geometry_unit_cfa', true) - arg.setDisplayName('Geometry: Unit Conditioned Floor Area') - arg.setDescription("E.g., '2000' or '#{Constants.Auto}'.") - arg.setUnits('sqft') - arg.setDefaultValue('2000') - args << arg - - arg = OpenStudio::Measure::OSArgument.makeStringArgument('vintage', false) - arg.setDisplayName('Building Construction: Vintage') - arg.setDescription('The building vintage, used for informational purposes only.') - args << arg - - arg = OpenStudio::Measure::OSArgument.makeDoubleArgument('exterior_finish_r', true) - arg.setDisplayName('Building Construction: Exterior Finish R-Value') - arg.setUnits('h-ft^2-R/Btu') - arg.setDescription('R-value of the exterior finish.') - arg.setDefaultValue(0.6) - args << arg - - level_choices = OpenStudio::StringVector.new - level_choices << 'Bottom' - level_choices << 'Middle' - level_choices << 'Top' - - arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('geometry_unit_level', level_choices, false) - arg.setDisplayName('Geometry: Unit Level') - arg.setDescription("The level of the unit. This is required for #{HPXML::ResidentialTypeApartment}s.") - args << arg - - horizontal_location_choices = OpenStudio::StringVector.new - horizontal_location_choices << 'None' - horizontal_location_choices << 'Left' - horizontal_location_choices << 'Middle' - horizontal_location_choices << 'Right' - - arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('geometry_unit_horizontal_location', horizontal_location_choices, false) - arg.setDisplayName('Geometry: Unit Horizontal Location') - arg.setDescription("The horizontal location of the unit when viewing the front of the building. This is required for #{HPXML::ResidentialTypeSFA} and #{HPXML::ResidentialTypeApartment}s.") - args << arg - - arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('geometry_num_floors_above_grade', true) - arg.setDisplayName('Geometry: Number of Floors Above Grade') - arg.setUnits('#') - arg.setDescription("The number of floors above grade (in the unit if #{HPXML::ResidentialTypeSFD} or #{HPXML::ResidentialTypeSFA}, and in the building if #{HPXML::ResidentialTypeApartment}). Conditioned attics are included.") - arg.setDefaultValue(2) - args << arg - - corridor_position_choices = OpenStudio::StringVector.new - corridor_position_choices << 'Double-Loaded Interior' - corridor_position_choices << 'Double Exterior' - corridor_position_choices << 'Single Exterior (Front)' - corridor_position_choices << 'None' - - arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('geometry_corridor_position', corridor_position_choices, true) - arg.setDisplayName('Geometry: Corridor Position') - arg.setDescription("The position of the corridor. Only applies to #{HPXML::ResidentialTypeSFA} and #{HPXML::ResidentialTypeApartment}s. Exterior corridors are shaded, but not enclosed. Interior corridors are enclosed and conditioned.") - arg.setDefaultValue('Inside') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('geometry_corridor_width', true) - arg.setDisplayName('Geometry: Corridor Width') - arg.setUnits('ft') - arg.setDescription("The width of the corridor. Only applies to #{HPXML::ResidentialTypeApartment}s.") - arg.setDefaultValue(10.0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('wall_continuous_exterior_r', false) - arg.setDisplayName('Wall: Continuous Exterior Insulation Nominal R-value') - arg.setUnits('h-ft^2-R/Btu') - arg.setDescription('Nominal R-value for the wall continuous exterior insulation.') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ceiling_insulation_r', true) - arg.setDisplayName('Ceiling: Insulation Nominal R-value') - arg.setUnits('h-ft^2-R/Btu') - arg.setDescription('Nominal R-value for the ceiling (attic floor).') - arg.setDefaultValue(0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('rim_joist_continuous_exterior_r', true) - arg.setDisplayName('Rim Joist: Continuous Exterior Insulation Nominal R-value') - arg.setUnits('h-ft^2-R/Btu') - arg.setDescription('Nominal R-value for the rim joist continuous exterior insulation. Only applies to basements/crawlspaces.') - arg.setDefaultValue(0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('rim_joist_continuous_interior_r', true) - arg.setDisplayName('Rim Joist: Continuous Interior Insulation Nominal R-value') - arg.setUnits('h-ft^2-R/Btu') - arg.setDescription('Nominal R-value for the rim joist continuous interior insulation that runs parallel to floor joists. Only applies to basements/crawlspaces.') - arg.setDefaultValue(0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('rim_joist_assembly_interior_r', true) - arg.setDisplayName('Rim Joist: Interior Assembly R-value') - arg.setUnits('h-ft^2-R/Btu') - arg.setDescription('Assembly R-value for the rim joist assembly interior insulation that runs perpendicular to floor joists. Only applies to basements/crawlspaces.') - arg.setDefaultValue(0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('air_leakage_percent_reduction', false) - arg.setDisplayName('Air Leakage: Value Reduction') - arg.setDescription('Reduction (%) on the air exchange rate value.') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('misc_plug_loads_television_2_usage_multiplier', true) - arg.setDisplayName('Plug Loads: Television Usage Multiplier 2') - arg.setDescription('Additional multiplier on the television energy usage that can reflect, e.g., high/low usage occupants.') - arg.setDefaultValue(1.0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('misc_plug_loads_other_2_usage_multiplier', true) - arg.setDisplayName('Plug Loads: Other Usage Multiplier 2') - arg.setDescription('Additional multiplier on the other energy usage that can reflect, e.g., high/low usage occupants.') - arg.setDefaultValue(1.0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('misc_plug_loads_well_pump_2_usage_multiplier', true) - arg.setDisplayName('Plug Loads: Well Pump Usage Multiplier 2') - arg.setDescription('Additional multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants.') - arg.setDefaultValue(0.0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('misc_plug_loads_vehicle_2_usage_multiplier', true) - arg.setDisplayName('Plug Loads: Vehicle Usage Multiplier 2') - arg.setDescription('Additional multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants.') - arg.setDefaultValue(0.0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_heating_weekday_setpoint_temp', true) - arg.setDisplayName('Heating Setpoint: Weekday Temperature') - arg.setDescription('Specify the weekday heating setpoint temperature.') - arg.setUnits('deg-F') - arg.setDefaultValue(71) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_heating_weekend_setpoint_temp', true) - arg.setDisplayName('Heating Setpoint: Weekend Temperature') - arg.setDescription('Specify the weekend heating setpoint temperature.') - arg.setUnits('deg-F') - arg.setDefaultValue(71) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_heating_weekday_setpoint_offset_magnitude', true) - arg.setDisplayName('Heating Setpoint: Weekday Offset Magnitude') - arg.setDescription('Specify the weekday heating offset magnitude.') - arg.setUnits('deg-F') - arg.setDefaultValue(0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_heating_weekend_setpoint_offset_magnitude', true) - arg.setDisplayName('Heating Setpoint: Weekend Offset Magnitude') - arg.setDescription('Specify the weekend heating offset magnitude.') - arg.setUnits('deg-F') - arg.setDefaultValue(0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeStringArgument('hvac_control_heating_weekday_setpoint_schedule', true) - arg.setDisplayName('Heating Setpoint: Weekday Schedule') - arg.setDescription('Specify the 24-hour comma-separated weekday heating schedule of 0s and 1s.') - arg.setDefaultValue('0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeStringArgument('hvac_control_heating_weekend_setpoint_schedule', true) - arg.setDisplayName('Heating Setpoint: Weekend Schedule') - arg.setDescription('Specify the 24-hour comma-separated weekend heating schedule of 0s and 1s.') - arg.setDefaultValue('0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeBoolArgument('use_auto_heating_season', true) - arg.setDisplayName('Use Auto Heating Season') - arg.setDescription('Specifies whether to automatically define the heating season based on the weather file.') - arg.setDefaultValue(false) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_cooling_weekday_setpoint_temp', true) - arg.setDisplayName('Cooling Setpoint: Weekday Temperature') - arg.setDescription('Specify the weekday cooling setpoint temperature.') - arg.setUnits('deg-F') - arg.setDefaultValue(76) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_cooling_weekend_setpoint_temp', true) - arg.setDisplayName('Cooling Setpoint: Weekend Temperature') - arg.setDescription('Specify the weekend cooling setpoint temperature.') - arg.setUnits('deg-F') - arg.setDefaultValue(76) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_cooling_weekday_setpoint_offset_magnitude', true) - arg.setDisplayName('Cooling Setpoint: Weekday Offset Magnitude') - arg.setDescription('Specify the weekday cooling offset magnitude.') - arg.setUnits('deg-F') - arg.setDefaultValue(0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_cooling_weekend_setpoint_offset_magnitude', true) - arg.setDisplayName('Cooling Setpoint: Weekend Offset Magnitude') - arg.setDescription('Specify the weekend cooling offset magnitude.') - arg.setUnits('deg-F') - arg.setDefaultValue(0) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeStringArgument('hvac_control_cooling_weekday_setpoint_schedule', true) - arg.setDisplayName('Cooling Setpoint: Weekday Schedule') - arg.setDescription('Specify the 24-hour comma-separated weekday cooling schedule of 0s and 1s.') - arg.setDefaultValue('0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeStringArgument('hvac_control_cooling_weekend_setpoint_schedule', true) - arg.setDisplayName('Cooling Setpoint: Weekend Schedule') - arg.setDescription('Specify the 24-hour comma-separated weekend cooling schedule of 0s and 1s.') - arg.setDefaultValue('0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeBoolArgument('use_auto_cooling_season', true) - arg.setDisplayName('Use Auto Cooling Season') - arg.setDescription('Specifies whether to automatically define the cooling season based on the weather file.') - arg.setDefaultValue(false) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeStringArgument('heating_system_has_flue_or_chimney', true) - arg.setDisplayName('Heating System: Has Flue or Chimney') - arg.setDescription('Whether the heating system has a flue or chimney.') - arg.setDefaultValue(Constants.Auto) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeStringArgument('heating_system_2_has_flue_or_chimney', true) - arg.setDisplayName('Heating System 2: Has Flue or Chimney') - arg.setDescription('Whether the second heating system has a flue or chimney.') - arg.setDefaultValue(Constants.Auto) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeStringArgument('water_heater_has_flue_or_chimney', true) - arg.setDisplayName('Water Heater: Has Flue or Chimney') - arg.setDescription('Whether the water heater has a flue or chimney.') - arg.setDefaultValue(Constants.Auto) - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heating_system_rated_cfm_per_ton', false) - arg.setDisplayName('Heating System: Rated CFM Per Ton') - arg.setDescription('The rated cfm per ton of the heating system.') - arg.setUnits('cfm/ton') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heating_system_actual_cfm_per_ton', false) - arg.setDisplayName('Heating System: Actual CFM Per Ton') - arg.setDescription('The actual cfm per ton of the heating system.') - arg.setUnits('cfm/ton') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('cooling_system_rated_cfm_per_ton', false) - arg.setDisplayName('Cooling System: Rated CFM Per Ton') - arg.setDescription('The rated cfm per ton of the cooling system.') - arg.setUnits('cfm/ton') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('cooling_system_actual_cfm_per_ton', false) - arg.setDisplayName('Cooling System: Actual CFM Per Ton') - arg.setDescription('The actual cfm per ton of the cooling system.') - arg.setUnits('cfm/ton') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('cooling_system_frac_manufacturer_charge', false) - arg.setDisplayName('Cooling System: Fraction of Manufacturer Recommended Charge') - arg.setDescription('The fraction of manufacturer recommended charge of the cooling system.') - arg.setUnits('Frac') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heat_pump_rated_cfm_per_ton', false) - arg.setDisplayName('Heat Pump: Rated CFM Per Ton') - arg.setDescription('The rated cfm per ton of the heat pump.') - arg.setUnits('cfm/ton') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heat_pump_actual_cfm_per_ton', false) - arg.setDisplayName('Heat Pump: Actual CFM Per Ton') - arg.setDescription('The actual cfm per ton of the heat pump.') - arg.setUnits('cfm/ton') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('heat_pump_frac_manufacturer_charge', false) - arg.setDisplayName('Heat Pump: Fraction of Manufacturer Recommended Charge') - arg.setDescription('The fraction of manufacturer recommended charge of the heat pump.') - arg.setUnits('Frac') - args << arg - - arg = OpenStudio::Measure::OSArgument::makeBoolArgument('heat_pump_backup_use_existing_system', false) - arg.setDisplayName('Heat Pump: Backup Use Existing System') - arg.setDescription('Whether the heat pump uses the existing system as backup.') - args << arg - - return args - end - - # define what happens when the measure is run - def run(model, runner, user_arguments) - super(model, runner, user_arguments) - - # use the built-in error checking - if !runner.validateUserArguments(arguments(model), user_arguments) - return false - end - - # assign the user inputs to variables - args = runner.getArgumentValues(arguments(model), user_arguments) - args = convert_args(args) - - arg_names = [] - { @build_residential_hpxml_measure_arguments => Constants.build_residential_hpxml_excludes, - @build_residential_schedule_file_measure_arguments => Constants.build_residential_schedule_file_excludes }.each do |measure_arguments, measure_excludes| - measure_arguments.each do |arg| - next if measure_excludes.include? arg.name - - arg_names << arg.name.to_sym - end - end - - args_to_delete = args.keys - arg_names # these are the extra ones added in the arguments section - - # Conditioned floor area - if args[:geometry_unit_cfa] == Constants.Auto - # TODO: Disaggregate detached and mobile home - cfas = { ['0-499', HPXML::ResidentialTypeSFD] => 298, # AHS 2021, 1 detached and mobile home weighted average - ['0-499', HPXML::ResidentialTypeSFA] => 273, # AHS 2021, 1 attached - ['0-499', HPXML::ResidentialTypeApartment] => 322, # AHS 2021, multi-family weighted average - ['0-499', HPXML::ResidentialTypeManufactured] => 298, # AHS 2021, 1 detached and mobile home weighted average - ['500-749', HPXML::ResidentialTypeSFD] => 634, # AHS 2021, 1 detached and mobile home weighted average - ['500-749', HPXML::ResidentialTypeSFA] => 625, # AHS 2021, 1 attached - ['500-749', HPXML::ResidentialTypeApartment] => 623, # AHS 2021, multi-family weighted average - ['500-749', HPXML::ResidentialTypeManufactured] => 634, # AHS 2021, 1 detached and mobile home weighted average - ['750-999', HPXML::ResidentialTypeSFD] => 881, # AHS 2021, 1 detached and mobile home weighted average - ['750-999', HPXML::ResidentialTypeSFA] => 872, # AHS 2021, 1 attached - ['750-999', HPXML::ResidentialTypeApartment] => 854, # AHS 2021, multi-family weighted average - ['750-999', HPXML::ResidentialTypeManufactured] => 881, # AHS 2021, 1 detached and mobile home weighted average - ['1000-1499', HPXML::ResidentialTypeSFD] => 1228, # AHS 2021, 1 detached and mobile home weighted average - ['1000-1499', HPXML::ResidentialTypeSFA] => 1207, # AHS 2021, 1 attached - ['1000-1499', HPXML::ResidentialTypeApartment] => 1138, # AHS 2021, multi-family weighted average - ['1000-1499', HPXML::ResidentialTypeManufactured] => 1228, # AHS 2021, 1 detached and mobile home weighted average - ['1500-1999', HPXML::ResidentialTypeSFD] => 1698, # AHS 2021, 1 detached and mobile home weighted average - ['1500-1999', HPXML::ResidentialTypeSFA] => 1678, # AHS 2021, 1 attached - ['1500-1999', HPXML::ResidentialTypeApartment] => 1682, # AHS 2021, multi-family weighted average - ['1500-1999', HPXML::ResidentialTypeManufactured] => 1698, # AHS 2021, 1 detached and mobile home weighted average - ['2000-2499', HPXML::ResidentialTypeSFD] => 2179, # AHS 2021, 1 detached and mobile home weighted average - ['2000-2499', HPXML::ResidentialTypeSFA] => 2152, # AHS 2021, 1 attached - ['2000-2499', HPXML::ResidentialTypeApartment] => 2115, # AHS 2021, multi-family weighted average - ['2000-2499', HPXML::ResidentialTypeManufactured] => 2179, # AHS 2021, 1 detached and mobile home weighted average - ['2500-2999', HPXML::ResidentialTypeSFD] => 2678, # AHS 2021, 1 detached and mobile home weighted average - ['2500-2999', HPXML::ResidentialTypeSFA] => 2663, # AHS 2021, 1 attached - ['2500-2999', HPXML::ResidentialTypeApartment] => 2648, # AHS 2021, multi-family weighted average - ['2500-2999', HPXML::ResidentialTypeManufactured] => 2678, # AHS 2021, 1 detached and mobile home weighted average - ['3000-3999', HPXML::ResidentialTypeSFD] => 3310, # AHS 2021, 1 detached and mobile home weighted average - ['3000-3999', HPXML::ResidentialTypeSFA] => 3228, # AHS 2021, 1 attached - ['3000-3999', HPXML::ResidentialTypeApartment] => 3171, # AHS 2021, multi-family weighted average - ['3000-3999', HPXML::ResidentialTypeManufactured] => 3310, # AHS 2021, 1 detached and mobile home weighted average - ['4000+', HPXML::ResidentialTypeSFD] => 5587, # AHS 2021, 1 detached and mobile home weighted average - ['4000+', HPXML::ResidentialTypeSFA] => 7414, # AHS 2019, 1 attached - ['4000+', HPXML::ResidentialTypeApartment] => 6348, # AHS 2021, 4,000 or more all unit average - ['4000+', HPXML::ResidentialTypeManufactured] => 5587 } # AHS 2021, 1 detached and mobile home weighted average - cfa = cfas[[args[:geometry_unit_cfa_bin], args[:geometry_unit_type]]] - if cfa.nil? - runner.registerError("ResStockArguments: Could not look up conditioned floor area for '#{args[:geometry_unit_cfa_bin]}' and '#{args[:geometry_unit_type]}'.") - return false - end - args[:geometry_unit_cfa] = Float(cfa) - else - args[:geometry_unit_cfa] = args[:geometry_unit_cfa] - end - - # Vintage - if !args[:vintage].nil? && args[:year_built] == Constants.Auto - args[:year_built] = Integer(Float(args[:vintage].gsub(/[^0-9]/, ''))) # strip non-numeric - end - - # Num Occupants - if args[:geometry_unit_num_occupants] == Constants.Auto - args[:geometry_unit_num_occupants] = Geometry.get_occupancy_default_num(args[:geometry_unit_num_bedrooms]) - end - - # Plug Loads - args[:misc_plug_loads_television_usage_multiplier] = args[:misc_plug_loads_television_usage_multiplier] * args[:misc_plug_loads_television_2_usage_multiplier] - args[:misc_plug_loads_other_usage_multiplier] = args[:misc_plug_loads_other_usage_multiplier] * args[:misc_plug_loads_other_2_usage_multiplier] - args[:misc_plug_loads_well_pump_usage_multiplier] = args[:misc_plug_loads_well_pump_usage_multiplier] * args[:misc_plug_loads_well_pump_2_usage_multiplier] - args[:misc_plug_loads_vehicle_usage_multiplier] = args[:misc_plug_loads_vehicle_usage_multiplier] * args[:misc_plug_loads_vehicle_2_usage_multiplier] - - # Other - if args[:misc_plug_loads_other_annual_kwh] == Constants.Auto - # TODO: Disaggregate detached and mobile home - if [HPXML::ResidentialTypeSFD, HPXML::ResidentialTypeManufactured].include?(args[:geometry_unit_type]) - args[:misc_plug_loads_other_annual_kwh] = 863.26 + 219.26 * args[:geometry_unit_num_occupants] + 0.33 * args[:geometry_unit_cfa] # RECS 2020 - elsif [HPXML::ResidentialTypeSFA].include?(args[:geometry_unit_type]) - args[:misc_plug_loads_other_annual_kwh] = 654.92 + 206.52 * args[:geometry_unit_num_occupants] + 0.21 * args[:geometry_unit_cfa] # RECS 2020 - elsif [HPXML::ResidentialTypeApartment].include?(args[:geometry_unit_type]) - args[:misc_plug_loads_other_annual_kwh] = 706.6 + 149.27 * args[:geometry_unit_num_occupants] + 0.1 * args[:geometry_unit_cfa] # RECS 2020 - end - end - - # PV - if args[:pv_system_present] == 'true' - args[:pv_system_num_bedrooms_served] = args[:geometry_unit_num_bedrooms] - else - args[:pv_system_num_bedrooms_served] = 0 - end - - # Battery - if args[:battery_present] == 'true' - args[:battery_num_bedrooms_served] = args[:geometry_unit_num_bedrooms] - else - args[:battery_num_bedrooms_served] = 0 - end - - # Setpoints - weekday_heating_setpoints = [args[:hvac_control_heating_weekday_setpoint_temp]] * 24 - weekend_heating_setpoints = [args[:hvac_control_heating_weekend_setpoint_temp]] * 24 - - weekday_cooling_setpoints = [args[:hvac_control_cooling_weekday_setpoint_temp]] * 24 - weekend_cooling_setpoints = [args[:hvac_control_cooling_weekend_setpoint_temp]] * 24 - - hvac_control_heating_weekday_setpoint_offset_magnitude = args[:hvac_control_heating_weekday_setpoint_offset_magnitude] - hvac_control_heating_weekday_setpoint_schedule = args[:hvac_control_heating_weekday_setpoint_schedule].split(',').map { |i| Float(i) } - weekday_heating_setpoints = modify_setpoint_schedule(weekday_heating_setpoints, hvac_control_heating_weekday_setpoint_offset_magnitude, hvac_control_heating_weekday_setpoint_schedule) - - hvac_control_heating_weekend_setpoint_offset_magnitude = args[:hvac_control_heating_weekend_setpoint_offset_magnitude] - hvac_control_heating_weekend_setpoint_schedule = args[:hvac_control_heating_weekend_setpoint_schedule].split(',').map { |i| Float(i) } - weekend_heating_setpoints = modify_setpoint_schedule(weekend_heating_setpoints, hvac_control_heating_weekend_setpoint_offset_magnitude, hvac_control_heating_weekend_setpoint_schedule) - - hvac_control_cooling_weekday_setpoint_offset_magnitude = args[:hvac_control_cooling_weekday_setpoint_offset_magnitude] - hvac_control_cooling_weekday_setpoint_schedule = args[:hvac_control_cooling_weekday_setpoint_schedule].split(',').map { |i| Float(i) } - weekday_cooling_setpoints = modify_setpoint_schedule(weekday_cooling_setpoints, hvac_control_cooling_weekday_setpoint_offset_magnitude, hvac_control_cooling_weekday_setpoint_schedule) - - hvac_control_cooling_weekend_setpoint_offset_magnitude = args[:hvac_control_cooling_weekend_setpoint_offset_magnitude] - hvac_control_cooling_weekend_setpoint_schedule = args[:hvac_control_cooling_weekend_setpoint_schedule].split(',').map { |i| Float(i) } - weekend_cooling_setpoints = modify_setpoint_schedule(weekend_cooling_setpoints, hvac_control_cooling_weekend_setpoint_offset_magnitude, hvac_control_cooling_weekend_setpoint_schedule) - - args[:hvac_control_heating_weekday_setpoint] = weekday_heating_setpoints.join(', ') - args[:hvac_control_heating_weekend_setpoint] = weekend_heating_setpoints.join(', ') - args[:hvac_control_cooling_weekday_setpoint] = weekday_cooling_setpoints.join(', ') - args[:hvac_control_cooling_weekend_setpoint] = weekend_cooling_setpoints.join(', ') - - # Seasons - if args[:use_auto_heating_season] && args[:hvac_control_heating_season_period] == Constants.Auto - args[:hvac_control_heating_season_period] = HPXML::BuildingAmerica - end - - if args[:use_auto_cooling_season] && args[:hvac_control_cooling_season_period] == Constants.Auto - args[:hvac_control_cooling_season_period] = HPXML::BuildingAmerica - end - - # Flue or Chimney - if (args[:heating_system_has_flue_or_chimney] == 'false') && - (args[:heating_system_2_has_flue_or_chimney] == 'false') && - (args[:water_heater_has_flue_or_chimney] == 'false') - args[:air_leakage_has_flue_or_chimney_in_conditioned_space] = false - elsif (args[:heating_system_type] != 'none' && args[:heating_system_has_flue_or_chimney] == 'true') || - (args[:heating_system_2_type] != 'none' && args[:heating_system_2_has_flue_or_chimney] == 'true') || - (args[:water_heater_type] != 'none' && args[:water_heater_has_flue_or_chimney] == 'true') - 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].nil? && !args[:heating_system_actual_cfm_per_ton].nil? - args[:heating_system_airflow_defect_ratio] = (args[:heating_system_actual_cfm_per_ton] - args[:heating_system_rated_cfm_per_ton]) / args[:heating_system_rated_cfm_per_ton] - end - - if !args[:cooling_system_rated_cfm_per_ton].nil? && !args[:cooling_system_actual_cfm_per_ton].nil? - args[:cooling_system_airflow_defect_ratio] = (args[:cooling_system_actual_cfm_per_ton] - args[:cooling_system_rated_cfm_per_ton]) / args[:cooling_system_rated_cfm_per_ton] - end - - if !args[:cooling_system_frac_manufacturer_charge].nil? - args[:cooling_system_charge_defect_ratio] = args[:cooling_system_frac_manufacturer_charge] - 1.0 - end - - if !args[:heat_pump_rated_cfm_per_ton].nil? && !args[:heat_pump_actual_cfm_per_ton].nil? - args[:heat_pump_airflow_defect_ratio] = (args[:heat_pump_actual_cfm_per_ton] - args[:heat_pump_rated_cfm_per_ton]) / args[:heat_pump_rated_cfm_per_ton] - end - - if !args[:heat_pump_frac_manufacturer_charge].nil? - args[:heat_pump_charge_defect_ratio] = args[:heat_pump_frac_manufacturer_charge] - 1.0 - end - - # Error check geometry inputs - corridor_width = args[:geometry_corridor_width] - corridor_position = args[:geometry_corridor_position] - - if (corridor_width == 0) && (corridor_position != 'None') - corridor_position = 'None' - end - if corridor_position == 'None' - corridor_width = 0 - end - if corridor_width < 0 - runner.registerError('ResStockArguments: Invalid corridor width entered.') - return false - end - - # Adiabatic Walls - args[:geometry_unit_left_wall_is_adiabatic] = false - args[:geometry_unit_right_wall_is_adiabatic] = false - args[:geometry_unit_front_wall_is_adiabatic] = false - args[:geometry_unit_back_wall_is_adiabatic] = false - - # Map corridor arguments to adiabatic walls and shading - if [HPXML::ResidentialTypeApartment, HPXML::ResidentialTypeSFA].include? args[:geometry_unit_type] - n_floors = Float(args[:geometry_num_floors_above_grade]) - n_units = Float(args[:geometry_building_num_units]) - horiz_location = args[:geometry_unit_horizontal_location] - aspect_ratio = args[:geometry_unit_aspect_ratio] - - if args[:geometry_unit_type] == HPXML::ResidentialTypeApartment - n_units_per_floor = n_units / n_floors - if n_units_per_floor >= 4 && (corridor_position == 'Double Exterior' || corridor_position == 'None') - has_rear_units = true - args[:geometry_unit_back_wall_is_adiabatic] = true - elsif n_units_per_floor >= 4 && (corridor_position == 'Double-Loaded Interior') - has_rear_units = true - args[:geometry_unit_front_wall_is_adiabatic] = true - elsif (n_units_per_floor == 2) && (horiz_location == 'None') && (corridor_position == 'Double Exterior' || corridor_position == 'None') - has_rear_units = true - args[:geometry_unit_back_wall_is_adiabatic] = true - elsif (n_units_per_floor == 2) && (horiz_location == 'None') && (corridor_position == 'Double-Loaded Interior') - has_rear_units = true - args[:geometry_unit_front_wall_is_adiabatic] = true - elsif corridor_position == 'Single Exterior (Front)' - has_rear_units = false - args[:geometry_unit_front_wall_is_adiabatic] = false - else - has_rear_units = false - args[:geometry_unit_front_wall_is_adiabatic] = false - end - - # Error check MF & SFA geometry - if !has_rear_units && ((corridor_position == 'Double-Loaded Interior') || (corridor_position == 'Double Exterior')) - corridor_position = 'Single Exterior (Front)' - runner.registerWarning("Specified incompatible corridor; setting corridor position to '#{corridor_position}'.") - end - - # Model exterior corridors as overhangs - if (corridor_position.include? 'Exterior') && corridor_width > 0 - args[:overhangs_front_depth] = corridor_width - args[:overhangs_front_distance_to_top_of_window] = 1 - end - - elsif args[:geometry_unit_type] == HPXML::ResidentialTypeSFA - n_floors = 1.0 - n_units_per_floor = n_units - has_rear_units = false - end - - if has_rear_units - unit_width = n_units_per_floor / 2 - else - unit_width = n_units_per_floor - end - if (unit_width <= 1) && (horiz_location != 'None') - runner.registerWarning("No #{horiz_location} location exists, setting horizontal location to 'None'") - horiz_location = 'None' - end - if (unit_width > 1) && (horiz_location == 'None') - runner.registerError('ResStockArguments: Specified incompatible horizontal location for the corridor and unit configuration.') - return false - end - if (unit_width <= 2) && (horiz_location == 'Middle') - runner.registerError('ResStockArguments: Invalid horizontal location entered, no middle location exists.') - return false - end - - # Infiltration adjustment for SFA/MF units - # Calculate exposed wall area ratio for the unit (unit exposed wall area - # divided by average unit exposed wall area) - if (n_units_per_floor <= 2) || (n_units_per_floor == 4 && has_rear_units) # No middle unit(s) - exposed_wall_area_ratio = 1.0 # all units have same exterior wall area - else # Has middle unit(s) - if has_rear_units - n_end_units = 4 * n_floors - n_mid_units = n_units - n_end_units - n_bldg_fronts_backs = n_end_units + n_mid_units - n_bldg_sides = n_end_units - else - n_end_units = 2 * n_floors - n_mid_units = n_units - n_end_units - n_bldg_fronts_backs = n_end_units * 2 + n_mid_units * 2 - n_bldg_sides = n_end_units - end - if has_rear_units - n_unit_fronts_backs = 1 - else - n_unit_fronts_backs = 2 - end - if ['Middle'].include? horiz_location - n_unit_sides = 0 - elsif ['Left', 'Right'].include? horiz_location - n_unit_sides = 1 - end - n_bldg_sides_equivalent = n_bldg_sides + n_bldg_fronts_backs * aspect_ratio - n_unit_sides_equivalent = n_unit_sides + n_unit_fronts_backs * aspect_ratio - exposed_wall_area_ratio = n_unit_sides_equivalent / (n_bldg_sides_equivalent / n_units) - end - - # Apply adjustment to infiltration value - args[:air_leakage_value] *= exposed_wall_area_ratio - - if horiz_location == 'Left' - args[:geometry_unit_right_wall_is_adiabatic] = true - elsif horiz_location == 'Middle' - args[:geometry_unit_left_wall_is_adiabatic] = true - args[:geometry_unit_right_wall_is_adiabatic] = true - elsif horiz_location == 'Right' - args[:geometry_unit_left_wall_is_adiabatic] = true - end - end - - # Infiltration Reduction - if not args[:air_leakage_percent_reduction].nil? - args[:air_leakage_value] *= (1.0 - args[:air_leakage_percent_reduction] / 100.0) - end - - # Num Floors - if args[:geometry_unit_type] == HPXML::ResidentialTypeApartment - args[:geometry_unit_num_floors_above_grade] = 1 - else - args[:geometry_unit_num_floors_above_grade] = args[:geometry_num_floors_above_grade] - end - - # Adiabatic Floor/Ceiling - if not args[:geometry_unit_level].nil? - if args[:geometry_unit_level] == 'Bottom' - if args[:geometry_num_floors_above_grade] > 1 # this could be "bottom" of a 1-story building - args[:geometry_attic_type] = HPXML::AtticTypeBelowApartment - end - elsif args[:geometry_unit_level] == 'Middle' - args[:geometry_foundation_type] = HPXML::FoundationTypeAboveApartment - args[:geometry_attic_type] = HPXML::AtticTypeBelowApartment - elsif args[:geometry_unit_level] == 'Top' - args[:geometry_foundation_type] = HPXML::FoundationTypeAboveApartment - end - end - - # Wall Assembly R-Value - args[:wall_assembly_r] += args[:exterior_finish_r] - - if not args[:wall_continuous_exterior_r].nil? - args[:wall_assembly_r] += args[:wall_continuous_exterior_r] - end - - # Rim Joist Assembly R-Value - rim_joist_assembly_r = 0 - if args[:geometry_rim_joist_height] > 0 - drywall_assembly_r = 0.9 - uninsulated_wall_assembly_r = 3.4 - - assembly_exterior_r = args[:exterior_finish_r] + args[:rim_joist_continuous_exterior_r] - - if args[:rim_joist_continuous_interior_r] > 0 && args[:rim_joist_assembly_interior_r] > 0 - # rim joist assembly = siding + half continuous interior insulation + half rim joist assembly - drywall - # (rim joist assembly = nominal cavity + 1/2 in sheathing + 1/2 in drywall) - assembly_interior_r = (args[:rim_joist_continuous_interior_r] + uninsulated_wall_assembly_r - drywall_assembly_r) / 2.0 # parallel to floor joists - assembly_interior_r += (args[:rim_joist_assembly_interior_r]) / 2.0 # derated - elsif args[:rim_joist_continuous_interior_r] > 0 || args[:rim_joist_assembly_interior_r] > 0 - runner.registerError('ResStockArguments: For rim joist interior insulation, must provide both continuous and assembly R-values.') - return false - else # uninsulated interior - # rim joist assembly = siding + continuous foundation insulation + uninsulated wall - drywall - # (uninsulated wall is nominal cavity + 1/2 in sheathing + 1/2 in drywall) - assembly_interior_r = uninsulated_wall_assembly_r - drywall_assembly_r - end - - rim_joist_assembly_r = assembly_exterior_r + assembly_interior_r - end - args[:rim_joist_assembly_r] = rim_joist_assembly_r - - args.each do |arg_name, arg_value| - if args_to_delete.include?(arg_name) || (arg_value == Constants.Auto) - arg_value = '' # don't assign these to BuildResidentialHPXML or BuildResidentialScheduleFile - end - - register_value(runner, arg_name.to_s, arg_value) - end - - return true - end - - def modify_setpoint_schedule(schedule, offset_magnitude, offset_schedule) - offset_schedule.each_with_index do |direction, i| - schedule[i] += offset_magnitude * direction - end - return schedule - end - - def convert_args(args) - measure_arguments = @build_residential_hpxml_measure_arguments - measure_arguments.each do |arg| - arg_name = arg.name.to_sym - value = args[arg_name] - next if value.nil? || (value == Constants.Auto) - - case arg.type.valueName.downcase - when 'double' - args[arg_name] = Float(value) - when 'integer' - args[arg_name] = Integer(value) - end - end - return args - end -end - -# register the measure to be used by the application -ResStockArguments.new.registerWithApplication diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/resources/constants.rb b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/resources/constants.rb deleted file mode 100644 index 63310710..00000000 --- a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/resources/constants.rb +++ /dev/null @@ -1,98 +0,0 @@ -# frozen_string_literal: true - -class Constants - def self.build_residential_hpxml_excludes - # don't make these BuildResidentialHPXML arguments into ResStockArguments arguments - return ['hpxml_path', - 'existing_hpxml_path', - 'whole_sfa_or_mf_building_sim', - 'software_info_program_used', - 'software_info_program_version', - 'schedules_filepaths', - 'simulation_control_timestep', - 'simulation_control_run_period', - 'simulation_control_run_period_calendar_year', - 'simulation_control_daylight_saving_period', - 'simulation_control_temperature_capacitance_multiplier', - 'simulation_control_defrost_model_type', - 'unit_multiplier', - 'geometry_unit_left_wall_is_adiabatic', - 'geometry_unit_right_wall_is_adiabatic', - 'geometry_unit_front_wall_is_adiabatic', - 'geometry_unit_back_wall_is_adiabatic', - 'geometry_unit_num_floors_above_grade', - 'air_leakage_has_flue_or_chimney_in_conditioned_space', - 'heating_system_airflow_defect_ratio', - 'cooling_system_airflow_defect_ratio', - 'cooling_system_charge_defect_ratio', - 'heat_pump_airflow_defect_ratio', - 'heat_pump_charge_defect_ratio', - 'hvac_control_heating_weekday_setpoint', - 'hvac_control_heating_weekend_setpoint', - 'hvac_control_cooling_weekday_setpoint', - 'hvac_control_cooling_weekend_setpoint', - 'pv_system_num_bedrooms_served', - 'battery_num_bedrooms_served', - 'emissions_scenario_names', - 'emissions_types', - 'emissions_electricity_units', - 'emissions_electricity_values_or_filepaths', - 'emissions_electricity_number_of_header_rows', - 'emissions_electricity_column_numbers', - 'emissions_fossil_fuel_units', - 'emissions_natural_gas_values', - 'emissions_propane_values', - 'emissions_fuel_oil_values', - 'emissions_wood_values', - 'emissions_coal_values', - 'emissions_wood_pellets_values', - 'utility_bill_scenario_names', - 'utility_bill_electricity_filepaths', - 'utility_bill_electricity_fixed_charges', - 'utility_bill_electricity_marginal_rates', - 'utility_bill_natural_gas_fixed_charges', - 'utility_bill_natural_gas_marginal_rates', - 'utility_bill_propane_fixed_charges', - 'utility_bill_propane_marginal_rates', - 'utility_bill_fuel_oil_fixed_charges', - 'utility_bill_fuel_oil_marginal_rates', - 'utility_bill_wood_fixed_charges', - 'utility_bill_wood_marginal_rates', - 'utility_bill_coal_fixed_charges', - 'utility_bill_coal_marginal_rates', - 'utility_bill_wood_pellets_fixed_charges', - 'utility_bill_wood_pellets_marginal_rates', - 'utility_bill_pv_compensation_types', - 'utility_bill_pv_net_metering_annual_excess_sellback_rate_types', - 'utility_bill_pv_net_metering_annual_excess_sellback_rates', - 'utility_bill_pv_feed_in_tariff_rates', - 'utility_bill_pv_monthly_grid_connection_fee_units', - 'utility_bill_pv_monthly_grid_connection_fees', - 'additional_properties', - 'combine_like_surfaces', - 'apply_defaults', - 'apply_validation'] - end - - def self.build_residential_schedule_file_excludes - # don't make these BuildResidentialScheduleFile arguments into ResStockArguments arguments - return ['hpxml_path', - 'schedules_column_names', - 'schedules_random_seed', - 'output_csv_path', - 'hpxml_output_path', - 'append_output', - 'debug', - 'building_id'] - end - - def self.other_excludes - # these are ResStockArguments that haven't made their way into options_lookup.tsv yet - return ['heating_system_actual_cfm_per_ton', - 'heating_system_rated_cfm_per_ton'] - end - - def self.Auto - return 'auto' - end -end diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/tests/resstock_arguments_test.rb b/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/tests/resstock_arguments_test.rb deleted file mode 100644 index 04ba4ac8..00000000 --- a/buildstockbatch/workflow_generator/residential/latest/tests/testing_resstock_data/measures/ResStockArguments/tests/resstock_arguments_test.rb +++ /dev/null @@ -1,42 +0,0 @@ -# frozen_string_literal: true - -require 'csv' -require 'parallel' -require 'openstudio' -require_relative '../../../resources/buildstock' -require_relative '../../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/minitest_helper' -require_relative '../../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml' -require_relative '../measure.rb' - -class ResStockArgumentsTest < Minitest::Test - def setup - resources_dir = File.absolute_path(File.join(File.dirname(__FILE__), '../../../resources')) - lookup_file = File.join(resources_dir, 'options_lookup.tsv') - @lookup_csv_data = CSV.open(lookup_file, col_sep: "\t").each.to_a - end - - def test_options_lookup_assignment - lookup_arguments = [] - @lookup_csv_data.each do |lookup_row| - next if lookup_row[2] != 'ResStockArguments' - - lookup_row[3..-1].each do |argument_value| - argument, _value = argument_value.split('=') - lookup_arguments << argument if !lookup_arguments.include?(argument) - end - end - - measure = ResStockArguments.new - model = OpenStudio::Model::Model.new - resstock_arguments = [] - measure.arguments(model).each do |arg| - next if Constants.other_excludes.include? arg.name - - resstock_arguments << arg.name - end - - resstock_arguments_extras = resstock_arguments - lookup_arguments - puts "resstock_arguments - lookup_arguments: #{resstock_arguments_extras.sort}" if !resstock_arguments_extras.empty? - assert_equal(0, resstock_arguments_extras.size) - end -end From 65dad0602a920144525bfa4e5be07a8f57d7ba23 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 13:58:14 -0500 Subject: [PATCH 15/33] Add init to commercial --- buildstockbatch/workflow_generator/commercial/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 buildstockbatch/workflow_generator/commercial/__init__.py diff --git a/buildstockbatch/workflow_generator/commercial/__init__.py b/buildstockbatch/workflow_generator/commercial/__init__.py new file mode 100644 index 00000000..e69de29b From 7452c8e0bc42353fbb4df1caab38b30220d09054 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 13:59:45 -0500 Subject: [PATCH 16/33] Relax ResStock version requirement --- .../workflow_generator/residential/latest/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildstockbatch/workflow_generator/residential/latest/__init__.py b/buildstockbatch/workflow_generator/residential/latest/__init__.py index 35e216e1..63dfc6ef 100644 --- a/buildstockbatch/workflow_generator/residential/latest/__init__.py +++ b/buildstockbatch/workflow_generator/residential/latest/__init__.py @@ -1,7 +1,7 @@ __version__ = "2024.07.19" version_info = { "version": __version__, - "resstock_version": "3.4.0", + "resstock_version": "3.2.0", "version_description": """ Version information for the residential workflow generator. This version is compatible with ResStock v3.4.0. From 4dc7ba13528001239e6028c27137dcc1922fe904 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 14:10:40 -0500 Subject: [PATCH 17/33] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 798947d9..3f5e187a 100644 --- a/setup.py +++ b/setup.py @@ -41,7 +41,7 @@ packages=setuptools.find_packages(), python_requires=">=3.8", package_data={ - "buildstockbatch": ["*.sh", "schemas/*.yaml", "workflow_generator/residential/*.yml"], + "buildstockbatch": ["*.sh", "schemas/*.yaml", "workflow_generator/residential/**/*.yml"], "": ["LICENSE"], }, install_requires=[ From 48613c32fa3531bbb950f7423adb593ee31892fa Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 14:21:59 -0500 Subject: [PATCH 18/33] Make testing buildstock version high for tests --- .../test_openstudio_buildstock/resources/buildstock.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb index ec9bab1a..75d2ffd1 100644 --- a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb +++ b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true class Version - ResStock_Version = '3.1.0' # Version of ResStock + ResStock_Version = '2000.1.0' # Version of ResStock BuildStockBatch_Version = '2023.5.0' # Minimum required version of BuildStockBatch def self.check_buildstockbatch_version From c19d0682035d5d44bcf54c7eecbfd9098abf2fe9 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 15:06:01 -0500 Subject: [PATCH 19/33] Better versioning --- buildstockbatch/base.py | 11 ++++-- buildstockbatch/test/test_validation.py | 35 +++++++++++++++++-- .../residential/latest/__init__.py | 5 +-- .../workflow_generators/residential_hpxml.rst | 6 ++-- 4 files changed, 47 insertions(+), 10 deletions(-) diff --git a/buildstockbatch/base.py b/buildstockbatch/base.py index 2d6898f7..d32bc90f 100644 --- a/buildstockbatch/base.py +++ b/buildstockbatch/base.py @@ -819,14 +819,21 @@ def validate_resstock_or_comstock_version(project_file): raise ValidationError(val_err) wg_version = cfg["workflow_generator"].get("version", "latest") wg_type = cfg["workflow_generator"].get("type") - res_version = workflow_generator.version2info[wg_type][wg_version]["resstock_version"] + min_res_version = workflow_generator.version2info[wg_type][wg_version]["minimum_resstock_version"] + max_res_version = workflow_generator.version2info[wg_type][wg_version]["maximum_resstock_version"] ResStockVersion = semver.Version.parse(versions["ResStock"]) - if ResStockVersion < semver.Version.parse(res_version): + if ResStockVersion < semver.Version.parse(min_res_version): val_err = ( f"ResStock version {ResStockVersion} or above is required" f" for ResStock workflow generator version {wg_version}." ) raise ValidationError(val_err) + if max_res_version and ResStockVersion > semver.Version.parse(max_res_version): + val_err = ( + f"ResStock version {ResStockVersion} or below is required" + f" for ResStock workflow generator version {wg_version}." + ) + raise ValidationError(val_err) return True diff --git a/buildstockbatch/test/test_validation.py b/buildstockbatch/test/test_validation.py index 4f662cb5..9a196a00 100644 --- a/buildstockbatch/test/test_validation.py +++ b/buildstockbatch/test/test_validation.py @@ -398,7 +398,11 @@ def test_validate_workflow_gen_version_pass(mocker): "buildstockbatch.base.workflow_generator.version2info", { "residential_hpxml": { - "latest": {"version": "2024.07.19", "resstock_version": "0.0.0"}, + "latest": { + "version": "2024.07.19", + "minimum_resstock_version": "0.0.0", + "maximum_resstock_version": None, + }, } }, ) @@ -407,14 +411,39 @@ def test_validate_workflow_gen_version_pass(mocker): @resstock_required -def test_validate_workflow_gen_version_fail(mocker): +def test_validate_workflow_gen_version_fail_min(mocker): # Set the version to a 'really old' one so we trigger the version check error mocker.patch("buildstockbatch.base.bsb_version", "3000.0.0") mocker.patch( "buildstockbatch.base.workflow_generator.version2info", { "residential_hpxml": { - "latest": {"version": "2024.07.19", "resstock_version": "3000.0.0"}, + "latest": { + "version": "2024.07.19", + "minimum_resstock_version": "3000.0.0", + "maximum_resstock_version": None, + }, + } + }, + ) + proj_filename = resstock_directory / "project_national" / "national_upgrades.yml" + with pytest.raises(ValidationError): + BuildStockBatchBase.validate_resstock_or_comstock_version(str(proj_filename)) + + +@resstock_required +def test_validate_workflow_gen_version_fail_max(mocker): + # Set the version to a 'really old' one so we trigger the version check error + mocker.patch("buildstockbatch.base.bsb_version", "3000.0.0") + mocker.patch( + "buildstockbatch.base.workflow_generator.version2info", + { + "residential_hpxml": { + "latest": { + "version": "2024.07.19", + "minimum_resstock_version": "0.0.0", + "maximum_resstock_version": "0.0.0", + }, } }, ) diff --git a/buildstockbatch/workflow_generator/residential/latest/__init__.py b/buildstockbatch/workflow_generator/residential/latest/__init__.py index 63dfc6ef..f40d3797 100644 --- a/buildstockbatch/workflow_generator/residential/latest/__init__.py +++ b/buildstockbatch/workflow_generator/residential/latest/__init__.py @@ -1,10 +1,11 @@ __version__ = "2024.07.19" version_info = { "version": __version__, - "resstock_version": "3.2.0", + "minimum_resstock_version": "3.2.0", + "maximum_resstock_version": None, "version_description": """ Version information for the residential workflow generator. -This version is compatible with ResStock v3.4.0. +This version is compatible with ResStock v3.2.0 and later. In this version, the UpgradeCosts measure is converted to a regular measure and is run early in the workflow. """, diff --git a/docs/workflow_generators/residential_hpxml.rst b/docs/workflow_generators/residential_hpxml.rst index e7624c27..984fb31e 100644 --- a/docs/workflow_generators/residential_hpxml.rst +++ b/docs/workflow_generators/residential_hpxml.rst @@ -146,7 +146,7 @@ Arguments Build Existing Model Defaults ............................. -.. include:: ../../buildstockbatch/workflow_generator/residential/residential_hpxml_defaults.py +.. include:: ../../buildstockbatch/workflow_generator/residential/latest/residential_hpxml_defaults.py :code: python :start-after: BuildExistingModel": { :end-before: } @@ -156,7 +156,7 @@ Build Existing Model Defaults Simulation Output Report Defaults .................................. -.. include:: ../../buildstockbatch/workflow_generator/residential/residential_hpxml_defaults.py +.. include:: ../../buildstockbatch/workflow_generator/residential/latest/residential_hpxml_defaults.py :code: python :start-after: ReportSimulationOutput": { :end-before: } @@ -166,7 +166,7 @@ Simulation Output Report Defaults Server Directory Cleanup Defaults ................................. -.. include:: ../../buildstockbatch/workflow_generator/residential/residential_hpxml_defaults.py +.. include:: ../../buildstockbatch/workflow_generator/residential/latest/residential_hpxml_defaults.py :code: python :start-after: ServerDirectoryCleanup": { :end-before: } From 3489e6bc69a7dc625e12100c19f05967ad39f6cc Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 15:17:19 -0500 Subject: [PATCH 20/33] Add older version --- .../residential/latest/tests/__init__.py | 0 .../residential/v2024_07_18/__init__.py | 10 + .../v2024_07_18/residential_hpxml.py | 370 + .../residential_hpxml_arg_mapping.py | 67 + .../v2024_07_18/residential_hpxml_defaults.py | 93 + .../v2024_07_18/residential_hpxml_schema.yml | 91 + .../residential/v2024_07_18/tests/__init__.py | 0 .../test_residential_workflow_generator.py | 480 ++ .../measures/ApplyUpgrade/measure.xml | 6360 ++++++++++++++ .../measures/BuildExistingModel/measure.xml | 355 + .../BuildResidentialHPXML/measure.xml | 7378 ++++++++++++++++ .../BuildResidentialScheduleFile/measure.xml | 937 ++ .../measures/HPXMLtoOpenStudio/measure.xml | 735 ++ .../measures/QOIReport/measure.xml | 63 + .../measures/ReportHPXMLOutput/measure.xml | 91 + .../ReportSimulationOutput/measure.xml | 1941 +++++ .../measures/ReportUtilityBills/measure.xml | 328 + .../measures/ResStockArguments/measure.xml | 7515 +++++++++++++++++ .../ServerDirectoryCleanup/measure.xml | 400 + .../measures/UpgradeCosts/measure.xml | 219 + 20 files changed, 27433 insertions(+) create mode 100644 buildstockbatch/workflow_generator/residential/latest/tests/__init__.py create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml.py create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_arg_mapping.py create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_defaults.py create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_schema.yml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/__init__.py create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ApplyUpgrade/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildExistingModel/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildResidentialHPXML/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildResidentialScheduleFile/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/HPXMLtoOpenStudio/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/QOIReport/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportSimulationOutput/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportUtilityBills/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ResStockArguments/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ServerDirectoryCleanup/measure.xml create mode 100644 buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/UpgradeCosts/measure.xml diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/__init__.py b/buildstockbatch/workflow_generator/residential/latest/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py new file mode 100644 index 00000000..1c7c29ec --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py @@ -0,0 +1,10 @@ +__version__ = "2024.07.18" +version_info = { + "version": __version__, + "minimum_resstock_version": "3.2.0", # Inclusive - works with 3.2.0 + "maximum_resstock_version": "3.3.0", # Exclusive - doesn't work with 3.3.0 + "version_description": """ +This is the first version since the implementation of WorkflowGenerator versioning. +This version is compatible with ResStock v3.2.0 until v3.3.0. +""", +} diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml.py new file mode 100644 index 00000000..940e1e46 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml.py @@ -0,0 +1,370 @@ +# -*- coding: utf-8 -*- + +""" +buildstockbatch.workflow_generator.residential_hpxml +~~~~~~~~~~~~~~~ +This object contains the residential classes for generating OSW files from individual samples + +:author: Joe Robertson, Rajendra Adhikari +:copyright: (c) 2021 by The Alliance for Sustainable Energy +:license: BSD-3 +""" + +from collections import Counter +import datetime as dt +import json +import logging +import os +from xml.etree import ElementTree +import yamale +from typing import Dict, Any + +from ...base import WorkflowGeneratorBase +from buildstockbatch.exc import ValidationError +from buildstockbatch.workflow_generator.residential.v2024_07_18.residential_hpxml_defaults import DEFAULT_MEASURE_ARGS +from buildstockbatch.workflow_generator.residential.v2024_07_18.residential_hpxml_arg_mapping import ARG_MAP +import copy + +logger = logging.getLogger(__name__) + + +class ResidentialHpxmlWorkflowGenerator(WorkflowGeneratorBase): + + def __init__(self, cfg, n_datapoints): + super().__init__(cfg, n_datapoints) + self.buildstock_dir = cfg["buildstock_directory"] + self.measures_dir = os.path.join(self.buildstock_dir, "measures") + self.workflow_args = self.cfg["workflow_generator"].get("args", {}) + self.default_args = copy.deepcopy(DEFAULT_MEASURE_ARGS) + self.all_arg_map = copy.deepcopy(ARG_MAP) + + def validate(self): + """Validate arguments + + :param cfg: project configuration + :type cfg: dict + """ + workflow_generator_args = self.cfg["workflow_generator"]["args"] + schema_yml = os.path.join(os.path.dirname(__file__), "residential_hpxml_schema.yml") + schema = yamale.make_schema(schema_yml, parser="ruamel") + data = yamale.make_data(content=json.dumps(workflow_generator_args), parser="ruamel") + yamale.validate(schema, data, strict=True) + return self.validate_measures_and_arguments() + + def reporting_measures(self): + """Return a list of reporting measures to include in outputs""" + return [x["measure_dir_name"] for x in self.workflow_args.get("reporting_measures", [])] + + def _get_apply_upgrade_multipliers(self): + measure_path = os.path.join(self.measures_dir, "ApplyUpgrade") + root = ElementTree.parse(os.path.join(measure_path, "measure.xml")).getroot() + multipliers = set() + for argument in root.findall("./arguments/argument"): + name = argument.find("./name") + if name.text.endswith("_multiplier"): + for choice in argument.findall("./choices/choice"): + value = choice.find("./value") + value = value.text if value is not None else "" + multipliers.add(value) + return multipliers + + def _get_invalid_multipliers(self, upgrades, valid_multipliers): + invalid_multipliers = Counter() + for upgrade in upgrades: + for option in upgrade["options"]: + for cost_entry in option.get("costs", []): + if cost_entry["multiplier"] not in valid_multipliers: + invalid_multipliers[cost_entry["multiplier"]] += 1 + return invalid_multipliers + + def validate_measures_and_arguments(self): + error_msgs = "" + warning_msgs = "" + if "upgrades" in self.cfg: + # For ApplyUpgrade measure, verify that all the cost_multipliers used are correct + valid_multipliers = self._get_apply_upgrade_multipliers() + invalid_multipliers = self._get_invalid_multipliers(self.cfg["upgrades"], valid_multipliers) + if invalid_multipliers: + error_msgs += "* The following multipliers values are invalid: \n" + for multiplier, count in invalid_multipliers.items(): + error_msgs += f" '{multiplier}' - Used {count} times \n" + error_msgs += f" The list of valid multipliers are {valid_multipliers}.\n" + + for reporting_measure in self.workflow_args.get("reporting_measures", []): + if not os.path.isdir(os.path.join(self.measures_dir, reporting_measure["measure_dir_name"])): + error_msgs += f"* Reporting measure '{reporting_measure['measure_dir_name']}' not found\n" + + if warning_msgs: + logger.warning(warning_msgs) + + if not error_msgs: + return True + + logger.error(error_msgs) + raise ValidationError(error_msgs) + + def create_osw(self, sim_id, building_id, upgrade_idx): + """ + Generate and return the osw as a python dict + + :param sim_id: simulation id, looks like 'bldg0000001up01' + :param building_id: integer building id to use from the sampled buildstock.csv + :param upgrade_idx: integer index of the upgrade scenario to apply, None if baseline + """ + logger.debug("Generating OSW, sim_id={}".format(sim_id)) + workflow_args = copy.deepcopy(self.workflow_args) + workflow_key_to_measure_names = { # This is the order the osw steps will be in + "build_existing_model": "BuildExistingModel", + "hpxml_to_openstudio": "HPXMLtoOpenStudio", # Non-existing Workflow Key is fine + "simulation_output_report": "ReportSimulationOutput", + "report_hpxml_output": "ReportHPXMLOutput", + "report_utility_bills": "ReportUtilityBills", + "upgrade_costs": "UpgradeCosts", + "server_directory_cleanup": "ServerDirectoryCleanup", + } + + steps = [] + measure_args = {} + debug = workflow_args.get("debug", False) + + # start with defaults + for workflow_key, measure_name in workflow_key_to_measure_names.items(): + measure_args[measure_name] = self.default_args.get(measure_name, {}).copy() + + # update with mapped args + for workflow_key, measure_name in workflow_key_to_measure_names.items(): + measure_args[measure_name].update(self._get_mapped_args(workflow_args, measure_name)) + + # update with workflow block args + for workflow_key, measure_name in workflow_key_to_measure_names.items(): + measure_args[measure_name].update(workflow_args.get(workflow_key, {}).copy()) + + # Verify the arguments and add to steps + for workflow_key, measure_name in workflow_key_to_measure_names.items(): + xml_args = self.get_measure_arguments_from_xml(self.buildstock_dir, measure_name) + self._validate_against_xml_args(measure_args[measure_name], measure_name, xml_args) + if "debug" in xml_args: + measure_args[measure_name]["debug"] = debug + steps.append( + { + "measure_dir_name": measure_name, + "arguments": measure_args[measure_name], + } + ) + + measure_args["BuildExistingModel"].update( + { + "building_id": building_id, + "sample_weight": self.cfg["baseline"]["n_buildings_represented"] / self.n_datapoints, + } + ) + + osw = { + "id": sim_id, + "steps": steps, + "created_at": dt.datetime.now().isoformat(), + "measure_paths": ["measures", "resources/hpxml-measures"], + "run_options": {"skip_zip_results": True}, + } + for measure in reversed(workflow_args.get("measures", [])): + osw["steps"].insert(2, measure) + + self.add_upgrade_step_to_osw(upgrade_idx, osw) + + for reporting_measure in self.workflow_args.get("reporting_measures", []): + if "arguments" not in reporting_measure: + reporting_measure["arguments"] = {} + reporting_measure["measure_type"] = "ReportingMeasure" + osw["steps"].insert(-1, reporting_measure) # right before ServerDirectoryCleanup + + return osw + + def add_upgrade_step_to_osw(self, upgrade_idx, osw): + if upgrade_idx is None: + return + + measure_d = self.cfg["upgrades"][upgrade_idx] + apply_upgrade_measure = { + "measure_dir_name": "ApplyUpgrade", + "arguments": {"run_measure": 1}, + } + if "upgrade_name" in measure_d: + apply_upgrade_measure["arguments"]["upgrade_name"] = measure_d["upgrade_name"] + for opt_num, option in enumerate(measure_d["options"], 1): + apply_upgrade_measure["arguments"]["option_{}".format(opt_num)] = option["option"] + if "lifetime" in option: + apply_upgrade_measure["arguments"]["option_{}_lifetime".format(opt_num)] = option["lifetime"] + if "apply_logic" in option: + apply_upgrade_measure["arguments"]["option_{}_apply_logic".format(opt_num)] = self.make_apply_logic_arg( + option["apply_logic"] + ) + for cost_num, cost in enumerate(option.get("costs", []), 1): + for arg in ("value", "multiplier"): + if arg not in cost: + continue + apply_upgrade_measure["arguments"]["option_{}_cost_{}_{}".format(opt_num, cost_num, arg)] = cost[ + arg + ] + if "package_apply_logic" in measure_d: + apply_upgrade_measure["arguments"]["package_apply_logic"] = self.make_apply_logic_arg( + measure_d["package_apply_logic"] + ) + osw["steps"].insert(1, apply_upgrade_measure) # right after BuildExistingModel + + def _validate_against_xml_args(self, measure_args, measure_dir_name, xml_args): + """ + Check if the arguments in the measure_args are valid for the measure_dir_name + based on the measure.xml file in the measure directory. + Optionally add the debug argument if it is present in the measure.xml file. + """ + xml_args = self.get_measure_arguments_from_xml(self.buildstock_dir, measure_dir_name) + for key in list(measure_args.keys()): + if key not in xml_args: + logger.warning( + f"'{key}' not found in '{measure_dir_name}'. This key will not be passed" + " to the measure. This warning is expected if you are using older version of ResStock." + ) + del measure_args[key] + + def _get_mapped_args( + self, + workflow_args, + measure_dir_name, + ): + """ + Get the arguments to the measures from the workflow_args using the mapping in self.all_arg_map + """ + measure_args = {} + for yaml_blockname, arg_map in self.all_arg_map.get(measure_dir_name, {}).items(): + if yaml_blockname not in workflow_args: + continue + yaml_block = workflow_args[yaml_blockname] + measure_args.update( + self._get_mapped_args_from_block(yaml_block, arg_map, self.default_args.get(measure_dir_name, {})) + ) + return measure_args + + @staticmethod + def get_measure_arguments_from_xml(buildstock_dir, measure_dir_name: str): + for measure_path in ["measures", "resources/hpxml-measures"]: + measure_dir_path = os.path.join(buildstock_dir, measure_path, measure_dir_name) + if os.path.isdir(measure_dir_path): + break + else: + raise ValueError(f"Measure '{measure_dir_name}' not found in any of the measure directories") + measure_xml_path = os.path.join(measure_dir_path, "measure.xml") + if not os.path.isfile(measure_xml_path): + raise ValueError(f"Measure '{measure_dir_name}' does not have a measure xml file") + arguments = set() + root = ElementTree.parse(measure_xml_path).getroot() + for argument in root.findall("./arguments/argument"): + name = argument.find("./name").text + arguments.add(name) + return arguments + + @staticmethod + def _get_condensed_block(yaml_block): + """ + If the yaml_block is a list of dicts, condense it into a single dict + with values being the list of values from the dicts in the list. If + a key is missing in a particular block, use empty string as the value. + + The purpose of this function is to convert the certain blocks like utility_bills + and emissions into a single block with list values to be passed to the measures. + Example Input: + [ + {"a": 1, "b": 2}, + {"a": 3, "b": 4} + ] + Example Output: + { + "a": [1, 3], + "b": [2, 4] + } + + Example Input2: + [ + {"a": 1, "b": 2}, + {"a": 3} + ] + Example Output2: + { + "a": [1, 3], + "b": [2, ""] + } + """ + if not isinstance(yaml_block, list): + return yaml_block + condensed_block = {} + all_keys = set() + for block in yaml_block: + all_keys.update(block.keys()) + for key in all_keys: + condensed_block[key] = [block.get(key, "") for block in yaml_block] + return condensed_block + + @staticmethod + def _get_mapped_args_from_block(block, arg_map: Dict[str, str], default_args) -> Dict[str, Any]: + """ + Get the arguments to meaures using the ARG_MAP for the given block. + The block is either a dict or a list of dicts. If it is a list of dicts, it is + first condensed into a single dict using _get_condensed_block function. + + The arg_maps is a dictionary with the destination measure name as the key + and a dictionary as the value. The value dictionary has the source argument name as the key + and the destination argument name as the value. The source argument name is the key in the + yaml and destination argument name is the key to be passed to the measure. + + If a value is a list, it is joined into a comma separated string. + If a value is a list of dicts, then the "name" key is used to join into a comma separated string. + Otherwise, the value is passed as is. + Example Input1: + + block = [ + {"scenario_name": "scenario1", "simple_filepath": "file1"}, + {"scenario_name": "scenario2", "simple_filepath": "file2"} + ] + arg_map = { + "scenario_name": "utility_bill_scenario_names", + "simple_filepath": "utility_bill_simple_filepaths" + } + Example output: + output = {"utility_bill_scenario_names": "scenario1,scenario2"} + Example Input2: + block: { + "normal_arg1": 1, + "output_variables": [ + {"name": "var1"}, + {"name": "var2"} + ] + } + arg_map = {"output_variables": "user_output_variables"} + + Example output: + { + output = {"normal_arg1", 1, "user_output_variables": "var1,var2"} + "ReportSimulationOutput": { + "user_output_variables": "var1,va2", + } + """ + block_count = len(block) if isinstance(block, list) else 1 + block = ResidentialHpxmlWorkflowGenerator._get_condensed_block(block) + mapped_args = {} + + for source_arg, dest_arg in arg_map.items(): + if source_arg in block: + # Use pop to remove the key from the block since it is already consumed + if isinstance(block[source_arg], list): + if isinstance(block[source_arg][0], dict): + mapped_args[dest_arg] = ",".join(str(v.get("name", "")) for v in block.pop(source_arg)) + else: + mapped_args[dest_arg] = ",".join(str(v) for v in block.pop(source_arg)) + else: + mapped_args[dest_arg] = block.pop(source_arg) + else: + if block_count > 1: + mapped_args[dest_arg] = ",".join([str(default_args.get(dest_arg, ""))] * block_count) + else: + mapped_args[dest_arg] = default_args.get(dest_arg, "") + + return mapped_args diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_arg_mapping.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_arg_mapping.py new file mode 100644 index 00000000..5e6452f3 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_arg_mapping.py @@ -0,0 +1,67 @@ +""" +Some entries in workflow_generator args need to be mapped to a different measures. +The mapping involves changing the key names and aggregating the values across multiple entries. +For example, in the workflow generator args, multiple uitility bill scenario are specified using +mulitple block entry under utility_bills group (this will be parsed as a list of dict). The argument to the +build_existing_model measure is utility_bill_scenario_names with a comma separated list of scenario names +This ARG_MAP dictionary specifies the mapping from the workflow_generator args and to the measures. + + + +Structure of ARG_MAP: +ARG_MAP = { + "MeasureDirName": { <-- Destination + "workflow_generator_arg_group_name": { <-- Source + "workflow_generator_arg_name": "measure_arg_name", <-- Source: Destination + ... + }, + ... + }, + ... +} +""" + +ARG_MAP = { + "HPXMLtoOpenStudio": { + "build_existing_model": { + "add_component_loads": "add_component_loads", + }, + }, + "BuildExistingModel": { + "emissions": { + "scenario_name": "emissions_scenario_names", + "type": "emissions_types", + "elec_folder": "emissions_electricity_folders", + "gas_value": "emissions_natural_gas_values", + "propane_value": "emissions_propane_values", + "oil_value": "emissions_fuel_oil_values", + "wood_value": "emissions_wood_values", + }, + "utility_bills": { + "scenario_name": "utility_bill_scenario_names", + "simple_filepath": "utility_bill_simple_filepaths", + "detailed_filepath": "utility_bill_detailed_filepaths", + "elec_fixed_charge": "utility_bill_electricity_fixed_charges", + "elec_marginal_rate": "utility_bill_electricity_marginal_rates", + "gas_fixed_charge": "utility_bill_natural_gas_fixed_charges", + "gas_marginal_rate": "utility_bill_natural_gas_marginal_rates", + "propane_fixed_charge": "utility_bill_propane_fixed_charges", + "propane_marginal_rate": "utility_bill_propane_marginal_rates", + "oil_fixed_charge": "utility_bill_fuel_oil_fixed_charges", + "oil_marginal_rate": "utility_bill_fuel_oil_marginal_rates", + "wood_fixed_charge": "utility_bill_wood_fixed_charges", + "wood_marginal_rate": "utility_bill_wood_marginal_rates", + "pv_compensation_type": "utility_bill_pv_compensation_types", + "pv_net_metering_annual_excess_sellback_rate_type": "utility_bill_pv_net_metering_annual_excess_sellback_rate_types", + "pv_net_metering_annual_excess_sellback_rate": "utility_bill_pv_net_metering_annual_excess_sellback_rates", + "pv_feed_in_tariff_rate": "utility_bill_pv_feed_in_tariff_rates", + "pv_monthly_grid_connection_fee_units": "utility_bill_pv_monthly_grid_connection_fee_units", + "pv_monthly_grid_connection_fee": "utility_bill_pv_monthly_grid_connection_fees", + }, + }, + "ReportSimulationOutput": { + "simulation_output_report": { + "output_variables": "user_output_variables", + }, + }, +} diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_defaults.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_defaults.py new file mode 100644 index 00000000..f39576ce --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_defaults.py @@ -0,0 +1,93 @@ +""" +Default values for various measure arguments used in the residential HPXML workflow generator is defined here. +This default values provide a means to use different defaults than the one defined in the measure itself. + +Structure of DEFAULT_MEASURE_ARGS: +DEFAULT_MEASURE_ARGS = { + "MeasureDirName": { <-- Directory name only, path will be automatically found + "measure_arg_name": "default_value", + ... + }, + ... +} +""" + +DEFAULT_MEASURE_ARGS = { + "BuildExistingModel": { + "simulation_control_timestep": 60, + "simulation_control_run_period_begin_month": 1, + "simulation_control_run_period_begin_day_of_month": 1, + "simulation_control_run_period_end_month": 12, + "simulation_control_run_period_end_day_of_month": 31, + "simulation_control_run_period_calendar_year": 2007, + }, + "HPXMLtoOpenStudio": { + "hpxml_path": "../../run/home.xml", + "output_dir": "../../run", + "debug": False, + "add_component_loads": False, + "skip_validation": True, + }, + "ReportSimulationOutput": { + "timeseries_frequency": "none", + "include_timeseries_total_consumptions": False, + "include_timeseries_fuel_consumptions": False, + "include_timeseries_end_use_consumptions": True, + "include_timeseries_emissions": False, + "include_timeseries_emission_fuels": False, + "include_timeseries_emission_end_uses": False, + "include_timeseries_hot_water_uses": False, + "include_timeseries_total_loads": True, + "include_timeseries_component_loads": False, + "include_timeseries_zone_temperatures": False, + "include_timeseries_airflows": False, + "include_timeseries_weather": False, + "timeseries_timestamp_convention": "end", + "add_timeseries_dst_column": True, + "add_timeseries_utc_column": True, + "include_annual_total_consumptions": True, + "include_annual_fuel_consumptions": True, + "include_annual_end_use_consumptions": True, + "include_annual_system_use_consumptions": False, + "include_annual_emissions": True, + "include_annual_emission_fuels": True, + "include_annual_emission_end_uses": True, + "include_annual_total_loads": True, + "include_annual_unmet_hours": True, + "include_annual_peak_fuels": True, + "include_annual_peak_loads": True, + "include_annual_component_loads": True, + "include_annual_hot_water_uses": True, + "include_annual_hvac_summary": True, + "include_annual_resilience": True, + "include_timeseries_system_use_consumptions": False, + "include_timeseries_unmet_hours": False, + "include_timeseries_resilience": False, + "timeseries_num_decimal_places": 3, + "user_output_variables": "", + }, + "ReportHPXMLOutput": {}, + "ReportUtilityBills": {"include_annual_bills": True, "include_monthly_bills": False}, + "UpgradeCosts": {"debug": False}, + "ServerDirectoryCleanup": { + "retain_in_osm": False, + "retain_in_idf": True, + "retain_pre_process_idf": False, + "retain_eplusout_audit": False, + "retain_eplusout_bnd": False, + "retain_eplusout_eio": False, + "retain_eplusout_end": False, + "retain_eplusout_err": False, + "retain_eplusout_eso": False, + "retain_eplusout_mdd": False, + "retain_eplusout_mtd": False, + "retain_eplusout_rdd": False, + "retain_eplusout_shd": False, + "retain_eplusout_msgpack": False, + "retain_eplustbl_htm": False, + "retain_stdout_energyplus": False, + "retain_stdout_expandobject": False, + "retain_schedules_csv": True, + "debug": False, + }, +} diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_schema.yml b/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_schema.yml new file mode 100644 index 00000000..b65fdd58 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/residential_hpxml_schema.yml @@ -0,0 +1,91 @@ +build_existing_model: include('build-existing-model-spec', required=False) +emissions: list(include('emission-scenario-spec'), required=False) +utility_bills: list(include('utility-bill-scenario-spec'), required=False) +measures: list(include('measure-spec'), required=False) +reporting_measures: list(include('measure-spec'), required=False) +simulation_output_report: include('sim-output-report-spec', required=False) +server_directory_cleanup: include('server-dir-cleanup-spec', required=False) +debug: bool(required=False) +--- +build-existing-model-spec: + simulation_control_timestep: enum(60, 30, 20, 15, 12, 10, 6, 5, 4, 3, 2, 1, required=False) + simulation_control_run_period_begin_month: int(required=False) + simulation_control_run_period_begin_day_of_month: int(required=False) + simulation_control_run_period_end_month: int(required=False) + simulation_control_run_period_end_day_of_month: int(required=False) + simulation_control_run_period_calendar_year: int(required=False) + add_component_loads: bool(required=False) +emission-scenario-spec: + scenario_name: str(required=True) + type: str(required=True) + elec_folder: str(required=True) + gas_value: num(required=False) + propane_value: num(required=False) + oil_value: num(required=False) + wood_value: num(required=False) +utility-bill-scenario-spec: + scenario_name: str(required=True) + simple_filepath: str(required=False) + detailed_filepath: str(required=False) + elec_fixed_charge: num(required=False) + elec_marginal_rate: num(required=False) + gas_fixed_charge: num(required=False) + gas_marginal_rate: num(required=False) + propane_fixed_charge: num(required=False) + propane_marginal_rate: num(required=False) + oil_fixed_charge: num(required=False) + oil_marginal_rate: num(required=False) + wood_fixed_charge: num(required=False) + wood_marginal_rate: num(required=False) + pv_compensation_type: enum('NetMetering', 'FeedInTariff', required=False) + pv_net_metering_annual_excess_sellback_rate_type: enum('User-Specified', 'Retail Electricity Cost', required=False) + pv_net_metering_annual_excess_sellback_rate: num(required=False) + pv_feed_in_tariff_rate: num(required=False) + pv_monthly_grid_connection_fee_units: enum('$', '$/kW', required=False) + pv_monthly_grid_connection_fee: num(required=False) +sim-output-report-spec: + timeseries_frequency: enum('none', 'timestep', 'hourly', 'daily', 'monthly', required=False) + include_timeseries_total_consumptions: bool(required=False) + include_timeseries_fuel_consumptions: bool(required=False) + include_timeseries_end_use_consumptions: bool(required=False) + include_timeseries_emissions: bool(required=False) + include_timeseries_emission_fuels: bool(required=False) + include_timeseries_emission_end_uses: bool(required=False) + include_timeseries_hot_water_uses: bool(required=False) + include_timeseries_total_loads: bool(required=False) + include_timeseries_component_loads: bool(required=False) + include_timeseries_unmet_hours: bool(required=False) + include_timeseries_zone_temperatures: bool(required=False) + include_timeseries_airflows: bool(required=False) + include_timeseries_weather: bool(required=False) + include_timeseries_resilience: bool(required=False) + timeseries_timestamp_convention: enum('start', 'end', required=False) + timeseries_num_decimal_places: int(required=False) + add_timeseries_dst_column: bool(required=False) + add_timeseries_utc_column: bool(required=False) + output_variables: list(include('output-var-spec'), required=False) +output-var-spec: + name: str(required=True) +measure-spec: + measure_dir_name: str(required=True) + arguments: map(required=False) +server-dir-cleanup-spec: + retain_in_osm: bool(required=False) + retain_in_idf: bool(required=False) + retain_pre_process_idf: bool(required=False) + retain_eplusout_audit: bool(required=False) + retain_eplusout_bnd: bool(required=False) + retain_eplusout_eio: bool(required=False) + retain_eplusout_end: bool(required=False) + retain_eplusout_err: bool(required=False) + retain_eplusout_eso: bool(required=False) + retain_eplusout_mdd: bool(required=False) + retain_eplusout_mtd: bool(required=False) + retain_eplusout_rdd: bool(required=False) + retain_eplusout_shd: bool(required=False) + retain_eplusout_msgpack: bool(required=False) + retain_eplustbl_htm: bool(required=False) + retain_stdout_energyplus: bool(required=False) + retain_stdout_expandobject: bool(required=False) + retain_schedules_csv: bool(required=False) + debug: bool(required=False) diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/__init__.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py new file mode 100644 index 00000000..57776ef8 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py @@ -0,0 +1,480 @@ +from buildstockbatch.workflow_generator.residential.v2024_07_18.residential_hpxml import ( + ResidentialHpxmlWorkflowGenerator, +) +from buildstockbatch.workflow_generator.residential.v2024_07_18.residential_hpxml_defaults import DEFAULT_MEASURE_ARGS +from buildstockbatch.workflow_generator.residential.v2024_07_18.residential_hpxml_arg_mapping import ARG_MAP +from testfixtures import LogCapture +from buildstockbatch.test.shared_testing_stuff import resstock_directory +import os +import yamale +import logging +import copy +import itertools +import pytest + +test_cfg = { + "buildstock_directory": resstock_directory, + "baseline": {"n_buildings_represented": 100}, + "workflow_generator": { + "type": "residential_hpxml", + "args": { + "debug": True, + "build_existing_model": { + "simulation_control_timestep": 15, + "simulation_control_run_period_begin_month": 2, + "simulation_control_run_period_begin_day_of_month": 1, + "simulation_control_run_period_end_month": 2, + "simulation_control_run_period_end_day_of_month": 28, + "simulation_control_run_period_calendar_year": 2010, + "add_component_loads": True, + }, + "emissions": [ + { + "scenario_name": "LRMER_MidCase_15", + "type": "CO2e", + "elec_folder": "data/emissions/cambium/2022/LRMER_MidCase_15", + "gas_value": 147.3, + "propane_value": 177.8, + "oil_value": 195.9, + "wood_value": 200.0, + }, + { + "scenario_name": "LRMER_HighCase_15", + "type": "CO2e", + "elec_folder": "data/emissions/cambium/2022/LRMER_HighCase_15", + "gas_value": 187.3, + "propane_value": 187.8, + "oil_value": 199.9, + "wood_value": 250.0, + }, + ], + "utility_bills": [ + {"scenario_name": "Bills", "elc_fixed_charge": 10.0, "elc_marginal_rate": 0.12}, + {"scenario_name": "Bills2", "gas_fixed_charge": 12.0, "gas_marginal_rate": 0.15}, + ], + "simulation_output_report": { + "timeseries_frequency": "hourly", + "include_timeseries_total_consumptions": True, + "include_timeseries_end_use_consumptions": True, + "include_timeseries_total_loads": True, + "include_timeseries_zone_temperatures": True, + "output_variables": [ + {"name": "Zone Mean Air Temperature"}, + {"name": "Zone People Occupant Count"}, + ], + }, + "server_directory_cleanup": {"retain_in_osm": True, "retain_eplusout_msgpack": True}, + "reporting_measures": [ + { + "measure_dir_name": "TestReportingMeasure1", + "arguments": { + "TestReportingMeasure1_arg1": "TestReportingMeasure1_val1", + "TestReportingMeasure1_arg2": "TestReportingMeasure1_val2", + }, + }, + { + "measure_dir_name": "TestReportingMeasure2", + "arguments": { + "TestReportingMeasure2_arg1": "TestReportingMeasure2_val1", + "TestReportingMeasure2_arg2": "TestReportingMeasure2_val2", + }, + }, + ], + "measures": [ + { + "measure_dir_name": "TestMeasure1", + "arguments": { + "TestMeasure1_arg1": 1, + "TestMeasure1_arg2": 2, + }, + }, + {"measure_dir_name": "TestMeasure2"}, + ], + }, + }, + "upgrades": [ + { + "upgrade_name": "Upgrade 1", + "options": [ + { + "option": "Parameter|Option", + } + ], + } + ], +} + + +def pytest_generate_tests(metafunc): + # Generate various combinations of blocks in the configuration file + # because the yaml file will not always contain all the blocks - it can be any subset of the blocks + if "dynamic_cfg" in metafunc.fixturenames: + arg_blocks = [ + "build_existing_model", + "emissions", + "utility_bills", + "measures", + "reporting_measures", + "simulation_output_report", + "server_directory_cleanup", + ] + blocks_to_remove = [] + for i in range(0, len(arg_blocks) + 1): + blocks_to_remove.extend(list(itertools.combinations(arg_blocks, i))) + + cfg_variants = [] + for blocks in blocks_to_remove: + cfg = copy.deepcopy(test_cfg) + for block_name in blocks: + del cfg["workflow_generator"]["args"][block_name] + cfg_variants.append(cfg) + + # Add a variant without the add_component_loads key + if "build_existing_model" not in blocks: + cfg = copy.deepcopy(cfg) + del cfg["workflow_generator"]["args"]["build_existing_model"]["add_component_loads"] + cfg_variants.append(cfg) + + # Add a variant with only one emissions scenario + if "emissions" not in blocks: + cfg = copy.deepcopy(cfg) + cfg["workflow_generator"]["args"]["emissions"].pop() + cfg_variants.append(cfg) + + # Add a variant with only one utility bill scenario + if "utility_bills" not in blocks: + cfg = copy.deepcopy(cfg) + cfg["workflow_generator"]["args"]["utility_bills"].pop() + cfg_variants.append(cfg) + + # Add a variant with only one output_variable, and no output_variables key + if "simulation_output_report" not in blocks: + cfg = copy.deepcopy(cfg) + cfg["workflow_generator"]["args"]["simulation_output_report"]["output_variables"].pop() + cfg_variants.append(cfg) + cfg = copy.deepcopy(cfg) + del cfg["workflow_generator"]["args"]["simulation_output_report"]["output_variables"] + cfg_variants.append(cfg) + + metafunc.parametrize("dynamic_cfg", cfg_variants) + + +@pytest.mark.parametrize("upgrade", [0, None]) +def test_residential_hpxml(upgrade, dynamic_cfg): + sim_id = "bldb1up1" + building_id = 13 + n_datapoints = 10 + cfg = copy.deepcopy(dynamic_cfg) + + osw_gen = ResidentialHpxmlWorkflowGenerator(cfg, n_datapoints) + osw = osw_gen.create_osw(sim_id, building_id, upgrade) + + index = 0 + + build_existing_model_step = osw["steps"][index] + assert build_existing_model_step["measure_dir_name"] == "BuildExistingModel" + assert build_existing_model_step["arguments"]["building_id"] == building_id + + workflow_args = cfg["workflow_generator"].get("args", {}) + + if "build_existing_model" in workflow_args: + assert build_existing_model_step["arguments"]["simulation_control_timestep"] == 15 + assert build_existing_model_step["arguments"]["simulation_control_run_period_begin_month"] == 2 + assert build_existing_model_step["arguments"]["simulation_control_run_period_begin_day_of_month"] == 1 + assert build_existing_model_step["arguments"]["simulation_control_run_period_end_month"] == 2 + assert build_existing_model_step["arguments"]["simulation_control_run_period_end_day_of_month"] == 28 + assert build_existing_model_step["arguments"]["simulation_control_run_period_calendar_year"] == 2010 + else: + # Defaults + assert build_existing_model_step["arguments"]["simulation_control_run_period_begin_month"] == 1 + assert build_existing_model_step["arguments"]["simulation_control_run_period_begin_day_of_month"] == 1 + assert build_existing_model_step["arguments"]["simulation_control_run_period_end_month"] == 12 + assert build_existing_model_step["arguments"]["simulation_control_run_period_end_day_of_month"] == 31 + assert build_existing_model_step["arguments"]["simulation_control_run_period_calendar_year"] == 2007 + assert build_existing_model_step["arguments"]["simulation_control_timestep"] == 60 + + if "emissions" in workflow_args: + + assert build_existing_model_step["arguments"]["emissions_scenario_names"] == ",".join( + e["scenario_name"] for e in workflow_args["emissions"] + ) + assert build_existing_model_step["arguments"]["emissions_natural_gas_values"] == ",".join( + str(e["gas_value"]) for e in workflow_args["emissions"] + ) + + if "utility_bills" in workflow_args: + assert build_existing_model_step["arguments"]["utility_bill_scenario_names"] == ",".join( + u["scenario_name"] for u in workflow_args["utility_bills"] + ) + assert build_existing_model_step["arguments"]["utility_bill_natural_gas_fixed_charges"] == ",".join( + str(u.get("gas_fixed_charge", "")) for u in workflow_args["utility_bills"] + ) + assert build_existing_model_step["arguments"]["utility_bill_simple_filepaths"] == ",".join( + u.get("simple_filepath", "") for u in workflow_args["utility_bills"] + ) + index += 1 + + if upgrade is not None: + apply_upgrade_step = osw["steps"][index] + assert apply_upgrade_step["measure_dir_name"] == "ApplyUpgrade" + assert apply_upgrade_step["arguments"]["upgrade_name"] == "Upgrade 1" + assert apply_upgrade_step["arguments"]["run_measure"] == 1 + assert apply_upgrade_step["arguments"]["option_1"] == "Parameter|Option" + index += 1 + + hpxml_to_os_step = osw["steps"][index] + assert hpxml_to_os_step["measure_dir_name"] == "HPXMLtoOpenStudio" + if "build_existing_model" in workflow_args: + assert hpxml_to_os_step["arguments"]["add_component_loads"] == workflow_args["build_existing_model"].get( + "add_component_loads", False + ) + else: + assert hpxml_to_os_step["arguments"]["add_component_loads"] is False + assert hpxml_to_os_step["arguments"]["debug"] is True + index += 1 + + if "measures" in workflow_args: + assert osw["steps"][index]["measure_dir_name"] == "TestMeasure1" + assert osw["steps"][index]["arguments"]["TestMeasure1_arg1"] == 1 + assert osw["steps"][index]["arguments"]["TestMeasure1_arg2"] == 2 + index += 1 + + assert osw["steps"][index]["measure_dir_name"] == "TestMeasure2" + assert osw["steps"][index].get("arguments") is None + index += 1 + + simulation_output_step = osw["steps"][index] + assert simulation_output_step["measure_dir_name"] == "ReportSimulationOutput" + if "simulation_output_report" in workflow_args: + assert simulation_output_step["arguments"]["timeseries_frequency"] == "hourly" + assert simulation_output_step["arguments"]["include_timeseries_total_consumptions"] is True + assert simulation_output_step["arguments"]["include_timeseries_end_use_consumptions"] is True + assert simulation_output_step["arguments"]["include_timeseries_total_loads"] is True + assert simulation_output_step["arguments"]["include_timeseries_zone_temperatures"] is True + if "output_variables" in workflow_args["simulation_output_report"]: + assert simulation_output_step["arguments"]["user_output_variables"] == ",".join( + v["name"] for v in workflow_args["simulation_output_report"]["output_variables"] + ) + else: # Defaults + assert simulation_output_step["arguments"]["timeseries_frequency"] == "none" + assert simulation_output_step["arguments"]["include_timeseries_total_consumptions"] is False + assert simulation_output_step["arguments"]["include_timeseries_end_use_consumptions"] is True + assert simulation_output_step["arguments"]["include_timeseries_total_loads"] is True + assert simulation_output_step["arguments"]["include_timeseries_zone_temperatures"] is False + assert simulation_output_step["arguments"]["user_output_variables"] == "" + + assert simulation_output_step["arguments"]["include_annual_total_consumptions"] is True + assert simulation_output_step["arguments"]["include_annual_fuel_consumptions"] is True + assert simulation_output_step["arguments"]["include_annual_end_use_consumptions"] is True + assert simulation_output_step["arguments"]["include_annual_system_use_consumptions"] is False + assert simulation_output_step["arguments"]["include_annual_emissions"] is True + assert simulation_output_step["arguments"]["include_annual_emission_fuels"] is True + assert simulation_output_step["arguments"]["include_annual_emission_end_uses"] is True + assert simulation_output_step["arguments"]["include_annual_total_loads"] is True + assert simulation_output_step["arguments"]["include_annual_unmet_hours"] is True + assert simulation_output_step["arguments"]["include_annual_peak_fuels"] is True + assert simulation_output_step["arguments"]["include_annual_peak_loads"] is True + assert simulation_output_step["arguments"]["include_annual_component_loads"] is True + assert simulation_output_step["arguments"]["include_annual_hot_water_uses"] is True + assert simulation_output_step["arguments"]["include_annual_hvac_summary"] is True + assert simulation_output_step["arguments"]["include_annual_resilience"] is True + assert simulation_output_step["arguments"]["include_timeseries_fuel_consumptions"] is False + assert simulation_output_step["arguments"]["include_timeseries_system_use_consumptions"] is False + assert simulation_output_step["arguments"]["include_timeseries_emissions"] is False + assert simulation_output_step["arguments"]["include_timeseries_emission_fuels"] is False + assert simulation_output_step["arguments"]["include_timeseries_emission_end_uses"] is False + assert simulation_output_step["arguments"]["include_timeseries_hot_water_uses"] is False + assert simulation_output_step["arguments"]["include_timeseries_component_loads"] is False + assert simulation_output_step["arguments"]["include_timeseries_unmet_hours"] is False + assert simulation_output_step["arguments"]["include_timeseries_airflows"] is False + assert simulation_output_step["arguments"]["include_timeseries_weather"] is False + assert simulation_output_step["arguments"]["include_timeseries_resilience"] is False + assert simulation_output_step["arguments"]["timeseries_timestamp_convention"] == "end" + assert simulation_output_step["arguments"]["timeseries_num_decimal_places"] == 3 + assert simulation_output_step["arguments"]["add_timeseries_dst_column"] is True + assert simulation_output_step["arguments"]["add_timeseries_utc_column"] is True + + index += 1 + + hpxml_output_step = osw["steps"][index] + assert hpxml_output_step["measure_dir_name"] == "ReportHPXMLOutput" + index += 1 + + utility_bills_step = osw["steps"][index] + assert utility_bills_step["measure_dir_name"] == "ReportUtilityBills" + assert utility_bills_step["arguments"]["include_annual_bills"] is True + assert utility_bills_step["arguments"]["include_monthly_bills"] is False + index += 1 + + upgrade_costs_step = osw["steps"][index] + assert upgrade_costs_step["measure_dir_name"] == "UpgradeCosts" + assert upgrade_costs_step["arguments"]["debug"] is True + index += 1 + + if "reporting_measures" in workflow_args: + assert osw["steps"][index]["measure_dir_name"] == "TestReportingMeasure1" + assert osw["steps"][index]["arguments"]["TestReportingMeasure1_arg1"] == "TestReportingMeasure1_val1" + assert osw["steps"][index]["arguments"]["TestReportingMeasure1_arg2"] == "TestReportingMeasure1_val2" + index += 1 + + assert osw["steps"][index]["measure_dir_name"] == "TestReportingMeasure2" + assert osw["steps"][index]["arguments"]["TestReportingMeasure2_arg1"] == "TestReportingMeasure2_val1" + assert osw["steps"][index]["arguments"]["TestReportingMeasure2_arg2"] == "TestReportingMeasure2_val2" + index += 1 + + server_dir_cleanup_step = osw["steps"][index] + assert server_dir_cleanup_step["measure_dir_name"] == "ServerDirectoryCleanup" + assert server_dir_cleanup_step["arguments"]["debug"] is True + if "server_directory_cleanup" in workflow_args: + assert server_dir_cleanup_step["arguments"]["retain_in_osm"] is True + assert server_dir_cleanup_step["arguments"]["retain_eplusout_msgpack"] is True + else: # Defaults + assert server_dir_cleanup_step["arguments"]["retain_in_osm"] is False + assert server_dir_cleanup_step["arguments"]["retain_eplusout_msgpack"] is False + index += 1 + + +def test_missing_arg_warning(): + """ + Some keys defined in schema can be unavailable in the measure. + This test verifies that such keys are not passed to the measure, but warnings are raised. + """ + cfg = { + "buildstock_directory": resstock_directory, + "baseline": {"n_buildings_represented": 100}, + "workflow_generator": { + "type": "residential_hpxml", + "args": { + "build_existing_model": { + "simulation_control_run_period_begin_month": 2, + "add_component_loads": True, + "new_key1": "test_value", # simulate old resstock by adding a new key not in the measure + }, + }, + }, + } + n_datapoints = 10 + osw_gen = ResidentialHpxmlWorkflowGenerator(cfg, n_datapoints) + osw_gen.default_args["BuildExistingModel"]["new_key2"] = "test_value" + + with LogCapture(level=logging.INFO) as log: + measure_args = osw_gen.create_osw("bldb1up1", 13, None) + assert len(log.records) == 2 + all_msg = "\n".join([record.msg for record in log.records]) + assert "'new_key1' not found in 'BuildExistingModel'" in all_msg + assert "'new_key2' not found in 'BuildExistingModel'" in all_msg + assert "new_key1" not in measure_args + assert "new_key2" not in measure_args + + del cfg["workflow_generator"]["args"]["build_existing_model"]["new_key1"] + osw_gen = ResidentialHpxmlWorkflowGenerator(cfg, n_datapoints) + with LogCapture(level=logging.INFO) as log: + measure_args = osw_gen.create_osw("bldb1up1", 13, None) + assert len(log.records) == 0 + + +def test_hpmxl_schema_defaults_and_mapping(): + """ + Verify that the keys used in the defaults, workflow schema and arg mapping are available in the measure + """ + schema_yaml = os.path.join(os.path.dirname(__file__), "..", "residential_hpxml_schema.yml") + schema_obj = yamale.make_schema(schema_yaml, parser="ruamel") + + def assert_valid_mapped_keys(measure_dir_name, valid_args): + for yaml_block_name, measure_arg_map in ARG_MAP.items(): + for measure_arg in measure_arg_map.get(measure_dir_name, {}).values(): + assert measure_arg in valid_args, f"{measure_arg} in ARG_MAP[{yaml_block_name}] not available" + f"as input to {measure_dir_name} measure" + + def assert_valid_schema_keys(yaml_block_name, valid_keys, exclude_keys): + schema_keys = set(schema_obj.includes[schema_obj.dict[yaml_block_name].include_name].dict.keys()) + for key in schema_keys - exclude_keys: + assert key in valid_keys, f"{key} in {yaml_block_name} not available as input to the measure" + + def assert_valid_default_keys(measure_dir_name, valid_keys, exclude_keys): + default_keys = set(DEFAULT_MEASURE_ARGS[measure_dir_name].keys()) + for key in default_keys - exclude_keys: + assert key in valid_keys, f"{key} in defaults not available in {measure_dir_name} measure" + + def assert_valid_keys(measure_dir_name, yaml_block_name, exclude_keys): + avilable_measure_input = ResidentialHpxmlWorkflowGenerator.get_measure_arguments_from_xml( + resstock_directory, measure_dir_name + ) + assert_valid_default_keys(measure_dir_name, avilable_measure_input, exclude_keys) + assert_valid_mapped_keys(measure_dir_name, avilable_measure_input) + if yaml_block_name: # Not all measures have input defined/allowed in the schema + assert_valid_schema_keys(yaml_block_name, avilable_measure_input, exclude_keys) + + assert_valid_keys("BuildExistingModel", "build_existing_model", {"add_component_loads"}) + assert_valid_keys("HPXMLtoOpenStudio", None, set()) + assert_valid_keys("ReportSimulationOutput", "simulation_output_report", {"output_variables"}) + assert_valid_keys("ReportHPXMLOutput", None, set()) + assert_valid_keys("ReportUtilityBills", None, set()) + assert_valid_keys("UpgradeCosts", None, set()) + assert_valid_keys("ServerDirectoryCleanup", "server_directory_cleanup", set()) + + +def test_block_compression_and_argmap(): + test_wf_arg = { + "block1": {"key1": "v1", "key2": "v2", "key3": ["v3", "v4"], "key4": "v4"}, + "block2": [ + { + "key1": "val1", + "key2": "val2", + }, + { + "key1": "val11", + "key3": "val33", + }, + ], + } + compressed_block = ResidentialHpxmlWorkflowGenerator._get_condensed_block(test_wf_arg["block1"]) + assert compressed_block == test_wf_arg["block1"] + compressed_block = ResidentialHpxmlWorkflowGenerator._get_condensed_block(test_wf_arg["block2"]) + assert compressed_block == {"key1": ["val1", "val11"], "key2": ["val2", ""], "key3": ["", "val33"]} + arg_map = { + "measure1": { + "block1": { + # "key1": "arg1", # key1 is passed to measure 2 + "key2": "arg2", + "key3": "arg3", + "key_not_in_block": "arg5", + "key_not_in_block2": "arg6", + } + }, + "measure2": { + "block2": { + "key1": "arg1", + "key2": "arg2", + "key3": "arg3", + }, + "block1": {"key1": "arg4"}, + }, + } + measure_args = ResidentialHpxmlWorkflowGenerator._get_mapped_args_from_block( + test_wf_arg["block1"], arg_map["measure1"]["block1"], {"arg6": False} + ) + assert measure_args == { + "arg2": "v2", + "arg3": "v3,v4", + "arg5": "", + "arg6": False, + } + measure_args = ResidentialHpxmlWorkflowGenerator._get_mapped_args_from_block( + test_wf_arg["block1"], arg_map["measure2"]["block1"], {} + ) + assert measure_args == { + "arg4": "v1", + } + + measure_args = ResidentialHpxmlWorkflowGenerator._get_mapped_args_from_block( + test_wf_arg["block2"], arg_map["measure2"]["block2"], {} + ) + assert measure_args == { + "arg1": "val1,val11", + "arg2": "val2,", + "arg3": ",val33", + } + + # Only key4 should be remaining since the other three is already mapped to measure + assert test_wf_arg["block1"] == {"key4": "v4"} diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ApplyUpgrade/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ApplyUpgrade/measure.xml new file mode 100644 index 00000000..a4cc51ee --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ApplyUpgrade/measure.xml @@ -0,0 +1,6360 @@ + + + 3.1 + apply_upgrade + 33f1654c-f734-43d1-b35d-9d2856e41b5a + 87e246ae-6e4d-4404-96f0-e943d95cf9cc + 2024-05-03T19:56:25Z + 9339BE01 + ApplyUpgrade + Apply Upgrade + Measure that applies an upgrade (one or more child measures) to a building model based on the specified logic. + Determines if the upgrade should apply to a given building model. If so, calls one or more child measures with the appropriate arguments. + + + upgrade_name + Upgrade Name + User-specificed name that describes the upgrade. + String + true + false + My Upgrade + + + option_1 + Option 1 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + true + false + + + option_1_apply_logic + Option 1 Apply Logic + Logic that specifies if the Option 1 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_1_cost_1_value + Option 1 Cost 1 Value + Total option 1 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_1_cost_1_multiplier + Option 1 Cost 1 Multiplier + Total option 1 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_1_cost_2_value + Option 1 Cost 2 Value + Total option 1 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_1_cost_2_multiplier + Option 1 Cost 2 Multiplier + Total option 1 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_1_lifetime + Option 1 Lifetime + The option lifetime. + Double + years + false + false + + + option_2 + Option 2 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_2_apply_logic + Option 2 Apply Logic + Logic that specifies if the Option 2 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_2_cost_1_value + Option 2 Cost 1 Value + Total option 2 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_2_cost_1_multiplier + Option 2 Cost 1 Multiplier + Total option 2 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_2_cost_2_value + Option 2 Cost 2 Value + Total option 2 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_2_cost_2_multiplier + Option 2 Cost 2 Multiplier + Total option 2 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_2_lifetime + Option 2 Lifetime + The option lifetime. + Double + years + false + false + + + option_3 + Option 3 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_3_apply_logic + Option 3 Apply Logic + Logic that specifies if the Option 3 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_3_cost_1_value + Option 3 Cost 1 Value + Total option 3 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_3_cost_1_multiplier + Option 3 Cost 1 Multiplier + Total option 3 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_3_cost_2_value + Option 3 Cost 2 Value + Total option 3 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_3_cost_2_multiplier + Option 3 Cost 2 Multiplier + Total option 3 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_3_lifetime + Option 3 Lifetime + The option lifetime. + Double + years + false + false + + + option_4 + Option 4 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_4_apply_logic + Option 4 Apply Logic + Logic that specifies if the Option 4 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_4_cost_1_value + Option 4 Cost 1 Value + Total option 4 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_4_cost_1_multiplier + Option 4 Cost 1 Multiplier + Total option 4 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_4_cost_2_value + Option 4 Cost 2 Value + Total option 4 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_4_cost_2_multiplier + Option 4 Cost 2 Multiplier + Total option 4 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_4_lifetime + Option 4 Lifetime + The option lifetime. + Double + years + false + false + + + option_5 + Option 5 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_5_apply_logic + Option 5 Apply Logic + Logic that specifies if the Option 5 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_5_cost_1_value + Option 5 Cost 1 Value + Total option 5 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_5_cost_1_multiplier + Option 5 Cost 1 Multiplier + Total option 5 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_5_cost_2_value + Option 5 Cost 2 Value + Total option 5 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_5_cost_2_multiplier + Option 5 Cost 2 Multiplier + Total option 5 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_5_lifetime + Option 5 Lifetime + The option lifetime. + Double + years + false + false + + + option_6 + Option 6 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_6_apply_logic + Option 6 Apply Logic + Logic that specifies if the Option 6 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_6_cost_1_value + Option 6 Cost 1 Value + Total option 6 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_6_cost_1_multiplier + Option 6 Cost 1 Multiplier + Total option 6 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_6_cost_2_value + Option 6 Cost 2 Value + Total option 6 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_6_cost_2_multiplier + Option 6 Cost 2 Multiplier + Total option 6 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_6_lifetime + Option 6 Lifetime + The option lifetime. + Double + years + false + false + + + option_7 + Option 7 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_7_apply_logic + Option 7 Apply Logic + Logic that specifies if the Option 7 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_7_cost_1_value + Option 7 Cost 1 Value + Total option 7 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_7_cost_1_multiplier + Option 7 Cost 1 Multiplier + Total option 7 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_7_cost_2_value + Option 7 Cost 2 Value + Total option 7 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_7_cost_2_multiplier + Option 7 Cost 2 Multiplier + Total option 7 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_7_lifetime + Option 7 Lifetime + The option lifetime. + Double + years + false + false + + + option_8 + Option 8 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_8_apply_logic + Option 8 Apply Logic + Logic that specifies if the Option 8 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_8_cost_1_value + Option 8 Cost 1 Value + Total option 8 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_8_cost_1_multiplier + Option 8 Cost 1 Multiplier + Total option 8 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_8_cost_2_value + Option 8 Cost 2 Value + Total option 8 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_8_cost_2_multiplier + Option 8 Cost 2 Multiplier + Total option 8 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_8_lifetime + Option 8 Lifetime + The option lifetime. + Double + years + false + false + + + option_9 + Option 9 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_9_apply_logic + Option 9 Apply Logic + Logic that specifies if the Option 9 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_9_cost_1_value + Option 9 Cost 1 Value + Total option 9 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_9_cost_1_multiplier + Option 9 Cost 1 Multiplier + Total option 9 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_9_cost_2_value + Option 9 Cost 2 Value + Total option 9 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_9_cost_2_multiplier + Option 9 Cost 2 Multiplier + Total option 9 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_9_lifetime + Option 9 Lifetime + The option lifetime. + Double + years + false + false + + + option_10 + Option 10 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_10_apply_logic + Option 10 Apply Logic + Logic that specifies if the Option 10 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_10_cost_1_value + Option 10 Cost 1 Value + Total option 10 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_10_cost_1_multiplier + Option 10 Cost 1 Multiplier + Total option 10 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_10_cost_2_value + Option 10 Cost 2 Value + Total option 10 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_10_cost_2_multiplier + Option 10 Cost 2 Multiplier + Total option 10 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_10_lifetime + Option 10 Lifetime + The option lifetime. + Double + years + false + false + + + option_11 + Option 11 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_11_apply_logic + Option 11 Apply Logic + Logic that specifies if the Option 11 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_11_cost_1_value + Option 11 Cost 1 Value + Total option 11 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_11_cost_1_multiplier + Option 11 Cost 1 Multiplier + Total option 11 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_11_cost_2_value + Option 11 Cost 2 Value + Total option 11 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_11_cost_2_multiplier + Option 11 Cost 2 Multiplier + Total option 11 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_11_lifetime + Option 11 Lifetime + The option lifetime. + Double + years + false + false + + + option_12 + Option 12 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_12_apply_logic + Option 12 Apply Logic + Logic that specifies if the Option 12 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_12_cost_1_value + Option 12 Cost 1 Value + Total option 12 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_12_cost_1_multiplier + Option 12 Cost 1 Multiplier + Total option 12 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_12_cost_2_value + Option 12 Cost 2 Value + Total option 12 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_12_cost_2_multiplier + Option 12 Cost 2 Multiplier + Total option 12 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_12_lifetime + Option 12 Lifetime + The option lifetime. + Double + years + false + false + + + option_13 + Option 13 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_13_apply_logic + Option 13 Apply Logic + Logic that specifies if the Option 13 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_13_cost_1_value + Option 13 Cost 1 Value + Total option 13 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_13_cost_1_multiplier + Option 13 Cost 1 Multiplier + Total option 13 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_13_cost_2_value + Option 13 Cost 2 Value + Total option 13 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_13_cost_2_multiplier + Option 13 Cost 2 Multiplier + Total option 13 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_13_lifetime + Option 13 Lifetime + The option lifetime. + Double + years + false + false + + + option_14 + Option 14 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_14_apply_logic + Option 14 Apply Logic + Logic that specifies if the Option 14 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_14_cost_1_value + Option 14 Cost 1 Value + Total option 14 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_14_cost_1_multiplier + Option 14 Cost 1 Multiplier + Total option 14 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_14_cost_2_value + Option 14 Cost 2 Value + Total option 14 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_14_cost_2_multiplier + Option 14 Cost 2 Multiplier + Total option 14 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_14_lifetime + Option 14 Lifetime + The option lifetime. + Double + years + false + false + + + option_15 + Option 15 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_15_apply_logic + Option 15 Apply Logic + Logic that specifies if the Option 15 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_15_cost_1_value + Option 15 Cost 1 Value + Total option 15 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_15_cost_1_multiplier + Option 15 Cost 1 Multiplier + Total option 15 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_15_cost_2_value + Option 15 Cost 2 Value + Total option 15 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_15_cost_2_multiplier + Option 15 Cost 2 Multiplier + Total option 15 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_15_lifetime + Option 15 Lifetime + The option lifetime. + Double + years + false + false + + + option_16 + Option 16 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_16_apply_logic + Option 16 Apply Logic + Logic that specifies if the Option 16 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_16_cost_1_value + Option 16 Cost 1 Value + Total option 16 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_16_cost_1_multiplier + Option 16 Cost 1 Multiplier + Total option 16 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_16_cost_2_value + Option 16 Cost 2 Value + Total option 16 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_16_cost_2_multiplier + Option 16 Cost 2 Multiplier + Total option 16 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_16_lifetime + Option 16 Lifetime + The option lifetime. + Double + years + false + false + + + option_17 + Option 17 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_17_apply_logic + Option 17 Apply Logic + Logic that specifies if the Option 17 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_17_cost_1_value + Option 17 Cost 1 Value + Total option 17 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_17_cost_1_multiplier + Option 17 Cost 1 Multiplier + Total option 17 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_17_cost_2_value + Option 17 Cost 2 Value + Total option 17 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_17_cost_2_multiplier + Option 17 Cost 2 Multiplier + Total option 17 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_17_lifetime + Option 17 Lifetime + The option lifetime. + Double + years + false + false + + + option_18 + Option 18 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_18_apply_logic + Option 18 Apply Logic + Logic that specifies if the Option 18 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_18_cost_1_value + Option 18 Cost 1 Value + Total option 18 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_18_cost_1_multiplier + Option 18 Cost 1 Multiplier + Total option 18 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_18_cost_2_value + Option 18 Cost 2 Value + Total option 18 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_18_cost_2_multiplier + Option 18 Cost 2 Multiplier + Total option 18 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_18_lifetime + Option 18 Lifetime + The option lifetime. + Double + years + false + false + + + option_19 + Option 19 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_19_apply_logic + Option 19 Apply Logic + Logic that specifies if the Option 19 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_19_cost_1_value + Option 19 Cost 1 Value + Total option 19 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_19_cost_1_multiplier + Option 19 Cost 1 Multiplier + Total option 19 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_19_cost_2_value + Option 19 Cost 2 Value + Total option 19 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_19_cost_2_multiplier + Option 19 Cost 2 Multiplier + Total option 19 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_19_lifetime + Option 19 Lifetime + The option lifetime. + Double + years + false + false + + + option_20 + Option 20 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_20_apply_logic + Option 20 Apply Logic + Logic that specifies if the Option 20 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_20_cost_1_value + Option 20 Cost 1 Value + Total option 20 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_20_cost_1_multiplier + Option 20 Cost 1 Multiplier + Total option 20 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_20_cost_2_value + Option 20 Cost 2 Value + Total option 20 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_20_cost_2_multiplier + Option 20 Cost 2 Multiplier + Total option 20 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_20_lifetime + Option 20 Lifetime + The option lifetime. + Double + years + false + false + + + option_21 + Option 21 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_21_apply_logic + Option 21 Apply Logic + Logic that specifies if the Option 21 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_21_cost_1_value + Option 21 Cost 1 Value + Total option 21 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_21_cost_1_multiplier + Option 21 Cost 1 Multiplier + Total option 21 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_21_cost_2_value + Option 21 Cost 2 Value + Total option 21 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_21_cost_2_multiplier + Option 21 Cost 2 Multiplier + Total option 21 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_21_lifetime + Option 21 Lifetime + The option lifetime. + Double + years + false + false + + + option_22 + Option 22 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_22_apply_logic + Option 22 Apply Logic + Logic that specifies if the Option 22 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_22_cost_1_value + Option 22 Cost 1 Value + Total option 22 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_22_cost_1_multiplier + Option 22 Cost 1 Multiplier + Total option 22 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_22_cost_2_value + Option 22 Cost 2 Value + Total option 22 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_22_cost_2_multiplier + Option 22 Cost 2 Multiplier + Total option 22 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_22_lifetime + Option 22 Lifetime + The option lifetime. + Double + years + false + false + + + option_23 + Option 23 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_23_apply_logic + Option 23 Apply Logic + Logic that specifies if the Option 23 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_23_cost_1_value + Option 23 Cost 1 Value + Total option 23 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_23_cost_1_multiplier + Option 23 Cost 1 Multiplier + Total option 23 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_23_cost_2_value + Option 23 Cost 2 Value + Total option 23 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_23_cost_2_multiplier + Option 23 Cost 2 Multiplier + Total option 23 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_23_lifetime + Option 23 Lifetime + The option lifetime. + Double + years + false + false + + + option_24 + Option 24 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_24_apply_logic + Option 24 Apply Logic + Logic that specifies if the Option 24 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_24_cost_1_value + Option 24 Cost 1 Value + Total option 24 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_24_cost_1_multiplier + Option 24 Cost 1 Multiplier + Total option 24 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_24_cost_2_value + Option 24 Cost 2 Value + Total option 24 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_24_cost_2_multiplier + Option 24 Cost 2 Multiplier + Total option 24 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_24_lifetime + Option 24 Lifetime + The option lifetime. + Double + years + false + false + + + option_25 + Option 25 + Specify the parameter|option as found in resources\options_lookup.tsv. + String + false + false + + + option_25_apply_logic + Option 25 Apply Logic + Logic that specifies if the Option 25 upgrade will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + option_25_cost_1_value + Option 25 Cost 1 Value + Total option 25 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_25_cost_1_multiplier + Option 25 Cost 1 Multiplier + Total option 25 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_25_cost_2_value + Option 25 Cost 2 Value + Total option 25 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Double + $ + false + false + + + option_25_cost_2_multiplier + Option 25 Cost 2 Multiplier + Total option 25 cost is the sum of all: (Cost N Value) x (Cost N Multiplier). + Choice + false + false + + + + + + + + Fixed (1) + Fixed (1) + + + Wall Area, Above-Grade, Conditioned (ft^2) + Wall Area, Above-Grade, Conditioned (ft^2) + + + Wall Area, Above-Grade, Exterior (ft^2) + Wall Area, Above-Grade, Exterior (ft^2) + + + Wall Area, Below-Grade (ft^2) + Wall Area, Below-Grade (ft^2) + + + Floor Area, Conditioned (ft^2) + Floor Area, Conditioned (ft^2) + + + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + Floor Area, Conditioned * Infiltration Reduction (ft^2 * Delta ACH50) + + + Floor Area, Lighting (ft^2) + Floor Area, Lighting (ft^2) + + + Floor Area, Foundation (ft^2) + Floor Area, Foundation (ft^2) + + + Floor Area, Attic (ft^2) + Floor Area, Attic (ft^2) + + + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + Floor Area, Attic * Insulation Increase (ft^2 * Delta R-value) + + + Roof Area (ft^2) + Roof Area (ft^2) + + + Window Area (ft^2) + Window Area (ft^2) + + + Door Area (ft^2) + Door Area (ft^2) + + + Duct Unconditioned Surface Area (ft^2) + Duct Unconditioned Surface Area (ft^2) + + + Rim Joist Area, Above-Grade, Exterior (ft^2) + Rim Joist Area, Above-Grade, Exterior (ft^2) + + + Slab Perimeter, Exposed, Conditioned (ft) + Slab Perimeter, Exposed, Conditioned (ft) + + + Size, Heating System Primary (kBtu/h) + Size, Heating System Primary (kBtu/h) + + + Size, Heating System Secondary (kBtu/h) + Size, Heating System Secondary (kBtu/h) + + + Size, Cooling System Primary (kBtu/h) + Size, Cooling System Primary (kBtu/h) + + + Size, Heat Pump Backup Primary (kBtu/h) + Size, Heat Pump Backup Primary (kBtu/h) + + + Size, Water Heater (gal) + Size, Water Heater (gal) + + + Flow Rate, Mechanical Ventilation (cfm) + Flow Rate, Mechanical Ventilation (cfm) + + + + + option_25_lifetime + Option 25 Lifetime + The option lifetime. + Double + years + false + false + + + package_apply_logic + Package Apply Logic + Logic that specifies if the entire package upgrade (all options) will apply based on the existing building's options. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + run_measure + Run Measure + integer argument to run measure [1 is run, 0 is no run] + Integer + true + false + 1 + + + + + + Whole Building.Space Types + + + + Intended Software Tool + Apply Measure Now + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + Intended Software Tool + Apply Measure Now + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + Measure Type + ModelMeasure + string + + + Intended Software Tool + Apply Measure Now + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + DBE96A53 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 1.9.0 + 1.9.0 + + measure.rb + rb + script + BE6713C6 + + + constants.rb + rb + resource + F595D17B + + + apply_upgrade_test.rb + rb + test + 108FF5AA + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildExistingModel/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildExistingModel/measure.xml new file mode 100644 index 00000000..1428e29b --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildExistingModel/measure.xml @@ -0,0 +1,355 @@ + + + 3.1 + build_existing_model + dedf59bb-3b88-4f16-8755-2c1ff5519cbf + bf17a245-5f48-4ade-ab7e-bb285015e6ce + 2024-06-18T16:38:18Z + 2C38F48B + BuildExistingModel + Build Existing Model + Builds the OpenStudio Model for an existing building. + Builds the OpenStudio Model using the sampling csv file, which contains the specified parameters for each existing building. Based on the supplied building number, those parameters are used to run the OpenStudio measures with appropriate arguments and build up the OpenStudio model. + + + buildstock_csv_path + Buildstock CSV File Path + Absolute/relative path of the buildstock CSV file. Relative is compared to the 'lib/housing_characteristics' directory. + String + false + false + buildstock.csv + + + building_id + Building Unit ID + The building unit number (between 1 and the number of samples). + Integer + true + false + + + sample_weight + Sample Weight of Simulation + Number of buildings this simulation represents. + Double + false + false + + + downselect_logic + Downselect Logic + Logic that specifies the subset of the building stock to be considered in the analysis. Specify one or more parameter|option as found in resources\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not. + String + false + false + + + simulation_control_timestep + Simulation Control: Timestep + Value must be a divisor of 60. + Integer + min + false + false + + + simulation_control_run_period_begin_month + Simulation Control: Run Period Begin Month + This numeric field should contain the starting month number (1 = January, 2 = February, etc.) for the annual run period desired. + Integer + month + false + false + + + simulation_control_run_period_begin_day_of_month + Simulation Control: Run Period Begin Day of Month + This numeric field should contain the starting day of the starting month (must be valid for month) for the annual run period desired. + Integer + day + false + false + + + simulation_control_run_period_end_month + Simulation Control: Run Period End Month + This numeric field should contain the end month number (1 = January, 2 = February, etc.) for the annual run period desired. + Integer + month + false + false + + + simulation_control_run_period_end_day_of_month + Simulation Control: Run Period End Day of Month + This numeric field should contain the ending day of the ending month (must be valid for month) for the annual run period desired. + Integer + day + false + false + + + simulation_control_run_period_calendar_year + Simulation Control: Run Period Calendar Year + This numeric field should contain the calendar year that determines the start day of week. If you are running simulations using AMY weather files, the value entered for calendar year will not be used; it will be overridden by the actual year found in the AMY weather file. + Integer + year + false + false + + + os_hescore_directory + HEScore Workflow: OpenStudio-HEScore directory path + Path to the OpenStudio-HEScore directory. If specified, the HEScore workflow will run. + String + false + false + + + emissions_scenario_names + Emissions: Scenario Names + Names of emissions scenarios. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_types + Emissions: Types + Types of emissions (e.g., CO2e, NOx, etc.). If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_electricity_folders + Emissions: Electricity Folders + Relative paths of electricity emissions factor schedule files with hourly values. Paths are relative to the resources folder. If multiple scenarios, use a comma-separated list. File names must contain GEA region names. + String + false + false + + + emissions_natural_gas_values + Emissions: Natural Gas Values + Natural gas emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_propane_values + Emissions: Propane Values + Propane emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_fuel_oil_values + Emissions: Fuel Oil Values + Fuel oil emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_wood_values + Emissions: Wood Values + Wood emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_scenario_names + Utility Bills: Scenario Names + Names of utility bill scenarios. If multiple scenarios, use a comma-separated list. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_simple_filepaths + Utility Bills: Simple Filepaths + Relative paths of simple utility rates. Paths are relative to the resources folder. If multiple scenarios, use a comma-separated list. Files must contain the name of the Parameter as the column header. + String + false + false + + + utility_bill_detailed_filepaths + Utility Bills: Detailed Filepaths + Relative paths of detailed utility rates. Paths are relative to the resources folder. If multiple scenarios, use a comma-separated list. Files must contain the name of the Parameter as the column header. + String + false + false + + + utility_bill_electricity_fixed_charges + Utility Bills: Electricity Fixed Charges + Electricity utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_electricity_marginal_rates + Utility Bills: Electricity Marginal Rates + Electricity utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_natural_gas_fixed_charges + Utility Bills: Natural Gas Fixed Charges + Natural gas utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_natural_gas_marginal_rates + Utility Bills: Natural Gas Marginal Rates + Natural gas utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_propane_fixed_charges + Utility Bills: Propane Fixed Charges + Propane utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_propane_marginal_rates + Utility Bills: Propane Marginal Rates + Propane utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_fuel_oil_fixed_charges + Utility Bills: Fuel Oil Fixed Charges + Fuel oil utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_fuel_oil_marginal_rates + Utility Bills: Fuel Oil Marginal Rates + Fuel oil utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_fixed_charges + Utility Bills: Wood Fixed Charges + Wood utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_marginal_rates + Utility Bills: Wood Marginal Rates + Wood utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_compensation_types + Utility Bills: PV Compensation Types + Utility bill PV compensation types. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_net_metering_annual_excess_sellback_rate_types + Utility Bills: PV Net Metering Annual Excess Sellback Rate Types + Utility bill PV net metering annual excess sellback rate types. Only applies if the PV compensation type is 'NetMetering'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_net_metering_annual_excess_sellback_rates + Utility Bills: PV Net Metering Annual Excess Sellback Rates + Utility bill PV net metering annual excess sellback rates. Only applies if the PV compensation type is 'NetMetering' and the PV annual excess sellback rate type is 'User-Specified'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_feed_in_tariff_rates + Utility Bills: PV Feed-In Tariff Rates + Utility bill PV annual full/gross feed-in tariff rates. Only applies if the PV compensation type is 'FeedInTariff'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_monthly_grid_connection_fee_units + Utility Bills: PV Monthly Grid Connection Fee Units + Utility bill PV monthly grid connection fee units. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_monthly_grid_connection_fees + Utility Bills: PV Monthly Grid Connection Fees + Utility bill PV monthly grid connection fees. If multiple scenarios, use a comma-separated list. + String + false + false + + + + + + Whole Building.Space Types + + + + Measure Type + ModelMeasure + string + + + + + README.md + md + readme + 52F0E677 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.6.1 + 2.6.1 + + measure.rb + rb + script + B302DB7E + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildResidentialHPXML/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildResidentialHPXML/measure.xml new file mode 100644 index 00000000..8472f0e0 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildResidentialHPXML/measure.xml @@ -0,0 +1,7378 @@ + + + 3.1 + build_residential_hpxml + a13a8983-2b01-4930-8af2-42030b6e4233 + d6c720db-f7cf-4aff-b36e-a6e133c6ddc9 + 2024-05-17T22:42:28Z + 2C38F48B + BuildResidentialHPXML + HPXML Builder + Builds a residential HPXML file. + The measure handles geometry by 1) translating high-level geometry inputs (conditioned floor area, number of stories, etc.) to 3D closed-form geometry in an OpenStudio model and then 2) mapping the OpenStudio surfaces to HPXML surfaces (using surface type, boundary condition, area, orientation, etc.). Like surfaces are collapsed into a single surface with aggregate surface area. Note: OS-HPXML default values can be found in the documentation or can be seen by using the 'apply_defaults' argument. + + + hpxml_path + HPXML File Path + Absolute/relative path of the HPXML file. + String + true + false + + + existing_hpxml_path + Existing HPXML File Path + Absolute/relative path of the existing HPXML file. If not provided, a new HPXML file with one Building element is created. If provided, a new Building element will be appended to this HPXML file (e.g., to create a multifamily HPXML file describing multiple dwelling units). + String + false + false + + + whole_sfa_or_mf_building_sim + Whole SFA/MF Building Simulation? + If the HPXML file represents a single family-attached/multifamily building with multiple dwelling units defined, specifies whether to run the HPXML file as a single whole building model. + Boolean + false + false + + + true + true + + + false + false + + + + + software_info_program_used + Software Info: Program Used + The name of the software program used. + String + false + false + + + software_info_program_version + Software Info: Program Version + The version of the software program used. + String + false + false + + + schedules_filepaths + Schedules: CSV File Paths + Absolute/relative paths of csv files containing user-specified detailed schedules. If multiple files, use a comma-separated list. + String + false + false + + + schedules_vacancy_periods + Schedules: Vacancy Periods + Specifies the vacancy periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + String + false + false + + + schedules_power_outage_periods + Schedules: Power Outage Periods + Specifies the power outage periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + String + false + false + + + schedules_power_outage_periods_window_natvent_availability + Schedules: Power Outage Periods Window Natural Ventilation Availability + The availability of the natural ventilation schedule during the power outage periods. Valid choices are 'regular schedule', 'always available', 'always unavailable'. If multiple periods, use a comma-separated list. + String + false + false + + + simulation_control_timestep + Simulation Control: Timestep + Value must be a divisor of 60. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + Integer + min + false + false + + + simulation_control_run_period + Simulation Control: Run Period + Enter a date like 'Jan 1 - Dec 31'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + String + false + false + + + simulation_control_run_period_calendar_year + Simulation Control: Run Period Calendar Year + This numeric field should contain the calendar year that determines the start day of week. If you are running simulations using AMY weather files, the value entered for calendar year will not be used; it will be overridden by the actual year found in the AMY weather file. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + Integer + year + false + false + + + simulation_control_daylight_saving_enabled + Simulation Control: Daylight Saving Enabled + Whether to use daylight saving. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-site'>HPXML Building Site</a>) is used. + Boolean + false + false + + + true + true + + + false + false + + + + + simulation_control_daylight_saving_period + Simulation Control: Daylight Saving Period + Enter a date like 'Mar 15 - Dec 15'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-site'>HPXML Building Site</a>) is used. + String + false + false + + + simulation_control_temperature_capacitance_multiplier + Simulation Control: Temperature Capacitance Multiplier + Affects the transient calculation of indoor air temperatures. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + String + false + false + + + simulation_control_defrost_model_type + Simulation Control: Defrost Model Type + Research feature to select the type of defrost model. Use standard for default E+ defrost setting. Use advanced for an improved model that better accounts for load and energy use during defrost; using advanced may impact simulation runtime. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-simulation-control'>HPXML Simulation Control</a>) is used. + Choice + false + false + + + standard + standard + + + advanced + advanced + + + + + site_type + Site: Type + The type of site. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + false + false + + + suburban + suburban + + + urban + urban + + + rural + rural + + + + + site_shielding_of_home + Site: Shielding of Home + Presence of nearby buildings, trees, obstructions for infiltration model. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + false + false + + + exposed + exposed + + + normal + normal + + + well-shielded + well-shielded + + + + + site_soil_and_moisture_type + Site: Soil and Moisture Type + Type of soil and moisture. This is used to inform ground conductivity and diffusivity. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + false + false + + + clay, dry + clay, dry + + + clay, mixed + clay, mixed + + + clay, wet + clay, wet + + + gravel, dry + gravel, dry + + + gravel, mixed + gravel, mixed + + + gravel, wet + gravel, wet + + + loam, dry + loam, dry + + + loam, mixed + loam, mixed + + + loam, wet + loam, wet + + + sand, dry + sand, dry + + + sand, mixed + sand, mixed + + + sand, wet + sand, wet + + + silt, dry + silt, dry + + + silt, mixed + silt, mixed + + + silt, wet + silt, wet + + + unknown, dry + unknown, dry + + + unknown, mixed + unknown, mixed + + + unknown, wet + unknown, wet + + + + + site_ground_conductivity + Site: Ground Conductivity + Conductivity of the ground soil. If provided, overrides the previous site and moisture type input. + Double + Btu/hr-ft-F + false + false + + + site_ground_diffusivity + Site: Ground Diffusivity + Diffusivity of the ground soil. If provided, overrides the previous site and moisture type input. + Double + ft^2/hr + false + false + + + site_iecc_zone + Site: IECC Zone + IECC zone of the home address. + Choice + false + false + + + 1A + 1A + + + 1B + 1B + + + 1C + 1C + + + 2A + 2A + + + 2B + 2B + + + 2C + 2C + + + 3A + 3A + + + 3B + 3B + + + 3C + 3C + + + 4A + 4A + + + 4B + 4B + + + 4C + 4C + + + 5A + 5A + + + 5B + 5B + + + 5C + 5C + + + 6A + 6A + + + 6B + 6B + + + 6C + 6C + + + 7 + 7 + + + 8 + 8 + + + + + site_city + Site: City + City/municipality of the home address. + String + false + false + + + site_state_code + Site: State Code + State code of the home address. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + false + false + + + AK + AK + + + AL + AL + + + AR + AR + + + AZ + AZ + + + CA + CA + + + CO + CO + + + CT + CT + + + DC + DC + + + DE + DE + + + FL + FL + + + GA + GA + + + HI + HI + + + IA + IA + + + ID + ID + + + IL + IL + + + IN + IN + + + KS + KS + + + KY + KY + + + LA + LA + + + MA + MA + + + MD + MD + + + ME + ME + + + MI + MI + + + MN + MN + + + MO + MO + + + MS + MS + + + MT + MT + + + NC + NC + + + ND + ND + + + NE + NE + + + NH + NH + + + NJ + NJ + + + NM + NM + + + NV + NV + + + NY + NY + + + OH + OH + + + OK + OK + + + OR + OR + + + PA + PA + + + RI + RI + + + SC + SC + + + SD + SD + + + TN + TN + + + TX + TX + + + UT + UT + + + VA + VA + + + VT + VT + + + WA + WA + + + WI + WI + + + WV + WV + + + WY + WY + + + + + site_zip_code + Site: Zip Code + Zip code of the home address. + String + false + false + + + site_time_zone_utc_offset + Site: Time Zone UTC Offset + Time zone UTC offset of the home address. Must be between -12 and 14. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + hr + false + false + + + site_elevation + Site: Elevation + Elevation of the home address. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + site_latitude + Site: Latitude + Latitude of the home address. Must be between -90 and 90. Use negative values for southern hemisphere. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + deg + false + false + + + site_longitude + Site: Longitude + Longitude of the home address. Must be between -180 and 180. Use negative values for the western hemisphere. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + deg + false + false + + + weather_station_epw_filepath + Weather Station: EnergyPlus Weather (EPW) Filepath + Path of the EPW file. + String + true + false + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + year_built + Building Construction: Year Built + The year the building was built. + Integer + false + false + + + unit_multiplier + Building Construction: Unit Multiplier + The number of similar dwelling units. EnergyPlus simulation results will be multiplied this value. If not provided, defaults to 1. + Integer + false + false + + + geometry_unit_type + Geometry: Unit Type + The type of dwelling unit. Use single-family attached for a dwelling unit with 1 or more stories, attached units to one or both sides, and no units above/below. Use apartment unit for a dwelling unit with 1 story, attached units to one, two, or three sides, and units above and/or below. + Choice + true + false + single-family detached + + + single-family detached + single-family detached + + + single-family attached + single-family attached + + + apartment unit + apartment unit + + + manufactured home + manufactured home + + + + + geometry_unit_left_wall_is_adiabatic + Geometry: Unit Left Wall Is Adiabatic + Presence of an adiabatic left wall. + Boolean + false + false + false + + + true + true + + + false + false + + + + + geometry_unit_right_wall_is_adiabatic + Geometry: Unit Right Wall Is Adiabatic + Presence of an adiabatic right wall. + Boolean + false + false + false + + + true + true + + + false + false + + + + + geometry_unit_front_wall_is_adiabatic + Geometry: Unit Front Wall Is Adiabatic + Presence of an adiabatic front wall, for example, the unit is adjacent to a conditioned corridor. + Boolean + false + false + false + + + true + true + + + false + false + + + + + geometry_unit_back_wall_is_adiabatic + Geometry: Unit Back Wall Is Adiabatic + Presence of an adiabatic back wall. + Boolean + false + false + false + + + true + true + + + false + false + + + + + geometry_unit_num_floors_above_grade + Geometry: Unit Number of Floors Above Grade + The number of floors above grade in the unit. Attic type ConditionedAttic is included. Assumed to be 1 for apartment units. + Integer + # + true + false + 2 + + + geometry_unit_cfa + Geometry: Unit Conditioned Floor Area + The total floor area of the unit's conditioned space (including any conditioned basement floor area). + Double + ft^2 + true + false + 2000 + + + geometry_unit_aspect_ratio + Geometry: Unit Aspect Ratio + The ratio of front/back wall length to left/right wall length for the unit, excluding any protruding garage wall area. + Double + Frac + true + false + 2 + + + geometry_unit_orientation + Geometry: Unit Orientation + The unit's orientation is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + geometry_unit_num_bedrooms + Geometry: Unit Number of Bedrooms + The number of bedrooms in the unit. + Integer + # + true + false + 3 + + + geometry_unit_num_bathrooms + Geometry: Unit Number of Bathrooms + The number of bathrooms in the unit. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-construction'>HPXML Building Construction</a>) is used. + Integer + # + false + false + + + geometry_unit_num_occupants + Geometry: Unit Number of Occupants + The number of occupants in the unit. If not provided, an *asset* calculation is performed assuming standard occupancy, in which various end use defaults (e.g., plug loads, appliances, and hot water usage) are calculated based on Number of Bedrooms and Conditioned Floor Area per ANSI/RESNET/ICC 301-2019. If provided, an *operational* calculation is instead performed in which the end use defaults are adjusted using the relationship between Number of Bedrooms and Number of Occupants from RECS 2015. + Double + # + false + false + + + geometry_building_num_units + Geometry: Building Number of Units + The number of units in the building. Required for single-family attached and apartment units. + Integer + # + false + false + + + geometry_average_ceiling_height + Geometry: Average Ceiling Height + Average distance from the floor to the ceiling. + Double + ft + true + false + 8 + + + geometry_garage_width + Geometry: Garage Width + The width of the garage. Enter zero for no garage. Only applies to single-family detached units. + Double + ft + true + false + 0 + + + geometry_garage_depth + Geometry: Garage Depth + The depth of the garage. Only applies to single-family detached units. + Double + ft + true + false + 20 + + + geometry_garage_protrusion + Geometry: Garage Protrusion + The fraction of the garage that is protruding from the conditioned space. Only applies to single-family detached units. + Double + Frac + true + false + 0 + + + geometry_garage_position + Geometry: Garage Position + The position of the garage. Only applies to single-family detached units. + Choice + true + false + Right + + + Right + Right + + + Left + Left + + + + + geometry_foundation_type + Geometry: Foundation Type + The foundation type of the building. Foundation types ConditionedBasement and ConditionedCrawlspace are not allowed for apartment units. + Choice + true + false + SlabOnGrade + + + SlabOnGrade + SlabOnGrade + + + VentedCrawlspace + VentedCrawlspace + + + UnventedCrawlspace + UnventedCrawlspace + + + ConditionedCrawlspace + ConditionedCrawlspace + + + UnconditionedBasement + UnconditionedBasement + + + ConditionedBasement + ConditionedBasement + + + Ambient + Ambient + + + AboveApartment + AboveApartment + + + BellyAndWingWithSkirt + BellyAndWingWithSkirt + + + BellyAndWingNoSkirt + BellyAndWingNoSkirt + + + + + geometry_foundation_height + Geometry: Foundation Height + The height of the foundation (e.g., 3ft for crawlspace, 8ft for basement). Only applies to basements/crawlspaces. + Double + ft + true + false + 0 + + + geometry_foundation_height_above_grade + Geometry: Foundation Height Above Grade + The depth above grade of the foundation wall. Only applies to basements/crawlspaces. + Double + ft + true + false + 0 + + + geometry_rim_joist_height + Geometry: Rim Joist Height + The height of the rim joists. Only applies to basements/crawlspaces. + Double + in + false + false + + + geometry_attic_type + Geometry: Attic Type + The attic type of the building. Attic type ConditionedAttic is not allowed for apartment units. + Choice + true + false + VentedAttic + + + FlatRoof + FlatRoof + + + VentedAttic + VentedAttic + + + UnventedAttic + UnventedAttic + + + ConditionedAttic + ConditionedAttic + + + BelowApartment + BelowApartment + + + + + geometry_roof_type + Geometry: Roof Type + The roof type of the building. Ignored if the building has a flat roof. + Choice + true + false + gable + + + gable + gable + + + hip + hip + + + + + geometry_roof_pitch + Geometry: Roof Pitch + The roof pitch of the attic. Ignored if the building has a flat roof. + Choice + true + false + 6:12 + + + 1:12 + 1:12 + + + 2:12 + 2:12 + + + 3:12 + 3:12 + + + 4:12 + 4:12 + + + 5:12 + 5:12 + + + 6:12 + 6:12 + + + 7:12 + 7:12 + + + 8:12 + 8:12 + + + 9:12 + 9:12 + + + 10:12 + 10:12 + + + 11:12 + 11:12 + + + 12:12 + 12:12 + + + + + geometry_eaves_depth + Geometry: Eaves Depth + The eaves depth of the roof. + Double + ft + true + false + 2 + + + neighbor_front_distance + Neighbor: Front Distance + The distance between the unit and the neighboring building to the front (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 0 + + + neighbor_back_distance + Neighbor: Back Distance + The distance between the unit and the neighboring building to the back (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 0 + + + neighbor_left_distance + Neighbor: Left Distance + The distance between the unit and the neighboring building to the left (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 10 + + + neighbor_right_distance + Neighbor: Right Distance + The distance between the unit and the neighboring building to the right (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 10 + + + neighbor_front_height + Neighbor: Front Height + The height of the neighboring building to the front. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + neighbor_back_height + Neighbor: Back Height + The height of the neighboring building to the back. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + neighbor_left_height + Neighbor: Left Height + The height of the neighboring building to the left. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + neighbor_right_height + Neighbor: Right Height + The height of the neighboring building to the right. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Double + ft + false + false + + + floor_over_foundation_assembly_r + Floor: Over Foundation Assembly R-value + Assembly R-value for the floor over the foundation. Ignored if the building has a slab-on-grade foundation. + Double + h-ft^2-R/Btu + true + false + 28.1 + + + floor_over_garage_assembly_r + Floor: Over Garage Assembly R-value + Assembly R-value for the floor over the garage. Ignored unless the building has a garage under conditioned space. + Double + h-ft^2-R/Btu + true + false + 28.1 + + + floor_type + Floor: Type + The type of floors. + Choice + true + false + WoodFrame + + + WoodFrame + WoodFrame + + + StructuralInsulatedPanel + StructuralInsulatedPanel + + + SolidConcrete + SolidConcrete + + + SteelFrame + SteelFrame + + + + + foundation_wall_type + Foundation Wall: Type + The material type of the foundation wall. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Choice + false + false + + + solid concrete + solid concrete + + + concrete block + concrete block + + + concrete block foam core + concrete block foam core + + + concrete block perlite core + concrete block perlite core + + + concrete block vermiculite core + concrete block vermiculite core + + + concrete block solid core + concrete block solid core + + + double brick + double brick + + + wood + wood + + + + + foundation_wall_thickness + Foundation Wall: Thickness + The thickness of the foundation wall. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Double + in + false + false + + + foundation_wall_insulation_r + Foundation Wall: Insulation Nominal R-value + Nominal R-value for the foundation wall insulation. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + foundation_wall_insulation_location + Foundation Wall: Insulation Location + Whether the insulation is on the interior or exterior of the foundation wall. Only applies to basements/crawlspaces. + Choice + ft + false + false + exterior + + + interior + interior + + + exterior + exterior + + + + + foundation_wall_insulation_distance_to_top + Foundation Wall: Insulation Distance To Top + The distance from the top of the foundation wall to the top of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Double + ft + false + false + + + foundation_wall_insulation_distance_to_bottom + Foundation Wall: Insulation Distance To Bottom + The distance from the top of the foundation wall to the bottom of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Double + ft + false + false + + + foundation_wall_assembly_r + Foundation Wall: Assembly R-value + Assembly R-value for the foundation walls. Only applies to basements/crawlspaces. If provided, overrides the previous foundation wall insulation inputs. If not provided, it is ignored. + Double + h-ft^2-R/Btu + false + false + + + rim_joist_assembly_r + Rim Joist: Assembly R-value + Assembly R-value for the rim joists. Only applies to basements/crawlspaces. Required if a rim joist height is provided. + Double + h-ft^2-R/Btu + false + false + + + slab_perimeter_insulation_r + Slab: Perimeter Insulation Nominal R-value + Nominal R-value of the vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + h-ft^2-R/Btu + true + false + 0 + + + slab_perimeter_depth + Slab: Perimeter Insulation Depth + Depth from grade to bottom of vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + ft + true + false + 0 + + + slab_under_insulation_r + Slab: Under Slab Insulation Nominal R-value + Nominal R-value of the horizontal under slab insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + h-ft^2-R/Btu + true + false + 0 + + + slab_under_width + Slab: Under Slab Insulation Width + Width from slab edge inward of horizontal under-slab insulation. Enter 999 to specify that the under slab insulation spans the entire slab. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + ft + true + false + 0 + + + slab_thickness + Slab: Thickness + The thickness of the slab. Zero can be entered if there is a dirt floor instead of a slab. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + Double + in + false + false + + + slab_carpet_fraction + Slab: Carpet Fraction + Fraction of the slab floor area that is carpeted. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + Double + Frac + false + false + + + slab_carpet_r + Slab: Carpet R-value + R-value of the slab carpet. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + Double + h-ft^2-R/Btu + false + false + + + ceiling_assembly_r + Ceiling: Assembly R-value + Assembly R-value for the ceiling (attic floor). + Double + h-ft^2-R/Btu + true + false + 31.6 + + + roof_material_type + Roof: Material Type + The material type of the roof. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + false + false + + + asphalt or fiberglass shingles + asphalt or fiberglass shingles + + + concrete + concrete + + + cool roof + cool roof + + + slate or tile shingles + slate or tile shingles + + + expanded polystyrene sheathing + expanded polystyrene sheathing + + + metal surfacing + metal surfacing + + + plastic/rubber/synthetic sheeting + plastic/rubber/synthetic sheeting + + + shingles + shingles + + + wood shingles or shakes + wood shingles or shakes + + + + + roof_color + Roof: Color + The color of the roof. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + false + false + + + dark + dark + + + light + light + + + medium + medium + + + medium dark + medium dark + + + reflective + reflective + + + + + roof_assembly_r + Roof: Assembly R-value + Assembly R-value of the roof. + Double + h-ft^2-R/Btu + true + false + 2.3 + + + radiant_barrier_attic_location + Attic: Radiant Barrier Location + The location of the radiant barrier in the attic. + Choice + false + false + + + none + none + + + Attic roof only + Attic roof only + + + Attic roof and gable walls + Attic roof and gable walls + + + Attic floor + Attic floor + + + + + radiant_barrier_grade + Attic: Radiant Barrier Grade + The grade of the radiant barrier in the attic. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + false + false + + + 1 + 1 + + + 2 + 2 + + + 3 + 3 + + + + + wall_type + Wall: Type + The type of walls. + Choice + true + false + WoodStud + + + WoodStud + WoodStud + + + ConcreteMasonryUnit + ConcreteMasonryUnit + + + DoubleWoodStud + DoubleWoodStud + + + InsulatedConcreteForms + InsulatedConcreteForms + + + LogWall + LogWall + + + StructuralInsulatedPanel + StructuralInsulatedPanel + + + SolidConcrete + SolidConcrete + + + SteelFrame + SteelFrame + + + Stone + Stone + + + StrawBale + StrawBale + + + StructuralBrick + StructuralBrick + + + + + wall_siding_type + Wall: Siding Type + The siding type of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-walls'>HPXML Walls</a>) is used. + Choice + false + false + + + aluminum siding + aluminum siding + + + asbestos siding + asbestos siding + + + brick veneer + brick veneer + + + composite shingle siding + composite shingle siding + + + fiber cement siding + fiber cement siding + + + masonite siding + masonite siding + + + none + none + + + stucco + stucco + + + synthetic stucco + synthetic stucco + + + vinyl siding + vinyl siding + + + wood siding + wood siding + + + + + wall_color + Wall: Color + The color of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-walls'>HPXML Walls</a>) is used. + Choice + false + false + + + dark + dark + + + light + light + + + medium + medium + + + medium dark + medium dark + + + reflective + reflective + + + + + wall_assembly_r + Wall: Assembly R-value + Assembly R-value of the walls. + Double + h-ft^2-R/Btu + true + false + 11.9 + + + window_front_wwr + Windows: Front Window-to-Wall Ratio + The ratio of window area to wall area for the unit's front facade. Enter 0 if specifying Front Window Area instead. + Double + Frac + true + false + 0.18 + + + window_back_wwr + Windows: Back Window-to-Wall Ratio + The ratio of window area to wall area for the unit's back facade. Enter 0 if specifying Back Window Area instead. + Double + Frac + true + false + 0.18 + + + window_left_wwr + Windows: Left Window-to-Wall Ratio + The ratio of window area to wall area for the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window Area instead. + Double + Frac + true + false + 0.18 + + + window_right_wwr + Windows: Right Window-to-Wall Ratio + The ratio of window area to wall area for the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window Area instead. + Double + Frac + true + false + 0.18 + + + window_area_front + Windows: Front Window Area + The amount of window area on the unit's front facade. Enter 0 if specifying Front Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_back + Windows: Back Window Area + The amount of window area on the unit's back facade. Enter 0 if specifying Back Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_left + Windows: Left Window Area + The amount of window area on the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_right + Windows: Right Window Area + The amount of window area on the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_aspect_ratio + Windows: Aspect Ratio + Ratio of window height to width. + Double + Frac + true + false + 1.333 + + + window_fraction_operable + Windows: Fraction Operable + Fraction of windows that are operable. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_natvent_availability + Windows: Natural Ventilation Availability + For operable windows, the number of days/week that windows can be opened by occupants for natural ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Integer + Days/week + false + false + + + window_ufactor + Windows: U-Factor + Full-assembly NFRC U-factor. + Double + Btu/hr-ft^2-R + true + false + 0.37 + + + window_shgc + Windows: SHGC + Full-assembly NFRC solar heat gain coefficient. + Double + true + false + 0.3 + + + window_interior_shading_winter + Windows: Winter Interior Shading + Interior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_interior_shading_summer + Windows: Summer Interior Shading + Interior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_exterior_shading_winter + Windows: Winter Exterior Shading + Exterior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_exterior_shading_summer + Windows: Summer Exterior Shading + Exterior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + Double + Frac + false + false + + + window_shading_summer_season + Windows: Shading Summer Season + Enter a date like 'May 1 - Sep 30'. Defines the summer season for purposes of shading coefficients; the rest of the year is assumed to be winter. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + false + false + + + window_storm_type + Windows: Storm Type + The type of storm, if present. If not provided, assumes there is no storm. + Choice + false + false + + + clear + clear + + + low-e + low-e + + + + + overhangs_front_depth + Overhangs: Front Depth + The depth of overhangs for windows for the front facade. + Double + ft + true + false + 0 + + + overhangs_front_distance_to_top_of_window + Overhangs: Front Distance to Top of Window + The overhangs distance to the top of window for the front facade. + Double + ft + true + false + 0 + + + overhangs_front_distance_to_bottom_of_window + Overhangs: Front Distance to Bottom of Window + The overhangs distance to the bottom of window for the front facade. + Double + ft + true + false + 4 + + + overhangs_back_depth + Overhangs: Back Depth + The depth of overhangs for windows for the back facade. + Double + ft + true + false + 0 + + + overhangs_back_distance_to_top_of_window + Overhangs: Back Distance to Top of Window + The overhangs distance to the top of window for the back facade. + Double + ft + true + false + 0 + + + overhangs_back_distance_to_bottom_of_window + Overhangs: Back Distance to Bottom of Window + The overhangs distance to the bottom of window for the back facade. + Double + ft + true + false + 4 + + + overhangs_left_depth + Overhangs: Left Depth + The depth of overhangs for windows for the left facade. + Double + ft + true + false + 0 + + + overhangs_left_distance_to_top_of_window + Overhangs: Left Distance to Top of Window + The overhangs distance to the top of window for the left facade. + Double + ft + true + false + 0 + + + overhangs_left_distance_to_bottom_of_window + Overhangs: Left Distance to Bottom of Window + The overhangs distance to the bottom of window for the left facade. + Double + ft + true + false + 4 + + + overhangs_right_depth + Overhangs: Right Depth + The depth of overhangs for windows for the right facade. + Double + ft + true + false + 0 + + + overhangs_right_distance_to_top_of_window + Overhangs: Right Distance to Top of Window + The overhangs distance to the top of window for the right facade. + Double + ft + true + false + 0 + + + overhangs_right_distance_to_bottom_of_window + Overhangs: Right Distance to Bottom of Window + The overhangs distance to the bottom of window for the right facade. + Double + ft + true + false + 4 + + + skylight_area_front + Skylights: Front Roof Area + The amount of skylight area on the unit's front conditioned roof facade. + Double + ft^2 + true + false + 0 + + + skylight_area_back + Skylights: Back Roof Area + The amount of skylight area on the unit's back conditioned roof facade. + Double + ft^2 + true + false + 0 + + + skylight_area_left + Skylights: Left Roof Area + The amount of skylight area on the unit's left conditioned roof facade (when viewed from the front). + Double + ft^2 + true + false + 0 + + + skylight_area_right + Skylights: Right Roof Area + The amount of skylight area on the unit's right conditioned roof facade (when viewed from the front). + Double + ft^2 + true + false + 0 + + + skylight_ufactor + Skylights: U-Factor + Full-assembly NFRC U-factor. + Double + Btu/hr-ft^2-R + true + false + 0.33 + + + skylight_shgc + Skylights: SHGC + Full-assembly NFRC solar heat gain coefficient. + Double + true + false + 0.45 + + + skylight_storm_type + Skylights: Storm Type + The type of storm, if present. If not provided, assumes there is no storm. + Choice + false + false + + + clear + clear + + + low-e + low-e + + + + + door_area + Doors: Area + The area of the opaque door(s). + Double + ft^2 + true + false + 20 + + + door_rvalue + Doors: R-value + R-value of the opaque door(s). + Double + h-ft^2-R/Btu + true + false + 4.4 + + + air_leakage_units + Air Leakage: Units + The unit of measure for the air leakage. + Choice + true + false + ACH + + + ACH + ACH + + + CFM + CFM + + + ACHnatural + ACHnatural + + + CFMnatural + CFMnatural + + + EffectiveLeakageArea + EffectiveLeakageArea + + + + + air_leakage_house_pressure + Air Leakage: House Pressure + The house pressure relative to outside. Required when units are ACH or CFM. + Double + Pa + true + false + 50 + + + air_leakage_value + Air Leakage: Value + Air exchange rate value. For 'EffectiveLeakageArea', provide value in sq. in. + Double + true + false + 3 + + + air_leakage_type + Air Leakage: Type + Type of air leakage. If 'unit total', represents the total infiltration to the unit as measured by a compartmentalization test, in which case the air leakage value will be adjusted by the ratio of exterior envelope surface area to total envelope surface area. Otherwise, if 'unit exterior only', represents the infiltration to the unit from outside only as measured by a guarded test. Required when unit type is single-family attached or apartment unit. + Choice + false + false + + + unit total + unit total + + + unit exterior only + unit exterior only + + + + + air_leakage_has_flue_or_chimney_in_conditioned_space + Air Leakage: Has Flue or Chimney in Conditioned Space + Presence of flue or chimney with combustion air from conditioned space; used for infiltration model. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#flue-or-chimney'>Flue or Chimney</a>) is used. + Boolean + false + false + + + true + true + + + false + false + + + + + heating_system_type + Heating System: Type + The type of heating system. Use 'none' if there is no heating system or if there is a heat pump serving a heating load. + Choice + true + false + Furnace + + + none + none + + + Furnace + Furnace + + + WallFurnace + WallFurnace + + + FloorFurnace + FloorFurnace + + + Boiler + Boiler + + + ElectricResistance + ElectricResistance + + + Stove + Stove + + + SpaceHeater + SpaceHeater + + + Fireplace + Fireplace + + + Shared Boiler w/ Baseboard + Shared Boiler w/ Baseboard + + + Shared Boiler w/ Ductless Fan Coil + Shared Boiler w/ Ductless Fan Coil + + + + + heating_system_fuel + Heating System: Fuel Type + The fuel type of the heating system. Ignored for ElectricResistance. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + heating_system_heating_efficiency + Heating System: Rated AFUE or Percent + The rated heating efficiency value of the heating system. + Double + Frac + true + false + 0.78 + + + heating_system_heating_capacity + Heating System: Heating Capacity + The output heating capacity of the heating system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>) is used. + Double + Btu/hr + false + false + + + heating_system_heating_autosizing_factor + Heating System: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + heating_system_heating_autosizing_limit + Heating System: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + heating_system_fraction_heat_load_served + Heating System: Fraction Heat Load Served + The heating load served by the heating system. + Double + Frac + true + false + 1 + + + heating_system_pilot_light + Heating System: Pilot Light + The fuel usage of the pilot light. Applies only to Furnace, WallFurnace, FloorFurnace, Stove, Boiler, and Fireplace with non-electric fuel type. If not provided, assumes no pilot light. + Double + Btuh + false + false + + + heating_system_airflow_defect_ratio + Heating System: Airflow Defect Ratio + The airflow defect ratio, defined as (InstalledAirflow - DesignAirflow) / DesignAirflow, of the heating system per ANSI/RESNET/ACCA Standard 310. A value of zero means no airflow defect. Applies only to Furnace. If not provided, assumes no defect. + Double + Frac + false + false + + + cooling_system_type + Cooling System: Type + The type of cooling system. Use 'none' if there is no cooling system or if there is a heat pump serving a cooling load. + Choice + true + false + central air conditioner + + + none + none + + + central air conditioner + central air conditioner + + + room air conditioner + room air conditioner + + + evaporative cooler + evaporative cooler + + + mini-split + mini-split + + + packaged terminal air conditioner + packaged terminal air conditioner + + + + + cooling_system_cooling_efficiency_type + Cooling System: Efficiency Type + The efficiency type of the cooling system. System types central air conditioner and mini-split use SEER or SEER2. System types room air conditioner and packaged terminal air conditioner use EER or CEER. Ignored for system type evaporative cooler. + Choice + true + false + SEER + + + SEER + SEER + + + SEER2 + SEER2 + + + EER + EER + + + CEER + CEER + + + + + cooling_system_cooling_efficiency + Cooling System: Efficiency + The rated efficiency value of the cooling system. Ignored for evaporative cooler. + Double + true + false + 13 + + + cooling_system_cooling_compressor_type + Cooling System: Cooling Compressor Type + The compressor type of the cooling system. Only applies to central air conditioner and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Choice + false + false + + + single stage + single stage + + + two stage + two stage + + + variable speed + variable speed + + + + + cooling_system_cooling_sensible_heat_fraction + Cooling System: Cooling Sensible Heat Fraction + The sensible heat fraction of the cooling system. Ignored for evaporative cooler. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Double + Frac + false + false + + + cooling_system_cooling_capacity + Cooling System: Cooling Capacity + The output cooling capacity of the cooling system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#evaporative-cooler'>Evaporative Cooler</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Double + Btu/hr + false + false + + + cooling_system_cooling_autosizing_factor + Cooling System: Cooling Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + cooling_system_cooling_autosizing_limit + Cooling System: Cooling Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + cooling_system_fraction_cool_load_served + Cooling System: Fraction Cool Load Served + The cooling load served by the cooling system. + Double + Frac + true + false + 1 + + + cooling_system_is_ducted + Cooling System: Is Ducted + Whether the cooling system is ducted or not. Only used for mini-split and evaporative cooler. It's assumed that central air conditioner is ducted, and room air conditioner and packaged terminal air conditioner are not ducted. + Boolean + false + false + false + + + true + true + + + false + false + + + + + cooling_system_airflow_defect_ratio + Cooling System: Airflow Defect Ratio + The airflow defect ratio, defined as (InstalledAirflow - DesignAirflow) / DesignAirflow, of the cooling system per ANSI/RESNET/ACCA Standard 310. A value of zero means no airflow defect. Applies only to central air conditioner and ducted mini-split. If not provided, assumes no defect. + Double + Frac + false + false + + + cooling_system_charge_defect_ratio + Cooling System: Charge Defect Ratio + The refrigerant charge defect ratio, defined as (InstalledCharge - DesignCharge) / DesignCharge, of the cooling system per ANSI/RESNET/ACCA Standard 310. A value of zero means no refrigerant charge defect. Applies only to central air conditioner and mini-split. If not provided, assumes no defect. + Double + Frac + false + false + + + cooling_system_crankcase_heater_watts + Cooling System: Crankcase Heater Power Watts + Cooling system crankcase heater power consumption in Watts. Applies only to central air conditioner, room air conditioner, packaged terminal air conditioner and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Double + W + false + false + + + cooling_system_integrated_heating_system_fuel + Cooling System: Integrated Heating System Fuel Type + The fuel type of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + Choice + false + false + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + cooling_system_integrated_heating_system_efficiency_percent + Cooling System: Integrated Heating System Efficiency + The rated heating efficiency value of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + Double + Frac + false + false + + + cooling_system_integrated_heating_system_capacity + Cooling System: Integrated Heating System Heating Capacity + The output heating capacity of the heating system integrated into cooling system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>) is used. Only used for room air conditioner and packaged terminal air conditioner. + Double + Btu/hr + false + false + + + cooling_system_integrated_heating_system_fraction_heat_load_served + Cooling System: Integrated Heating System Fraction Heat Load Served + The heating load served by the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + Double + Frac + false + false + + + heat_pump_type + Heat Pump: Type + The type of heat pump. Use 'none' if there is no heat pump. + Choice + true + false + none + + + none + none + + + air-to-air + air-to-air + + + mini-split + mini-split + + + ground-to-air + ground-to-air + + + packaged terminal heat pump + packaged terminal heat pump + + + room air conditioner with reverse cycle + room air conditioner with reverse cycle + + + + + heat_pump_heating_efficiency_type + Heat Pump: Heating Efficiency Type + The heating efficiency type of heat pump. System types air-to-air and mini-split use HSPF or HSPF2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use COP. + Choice + true + false + HSPF + + + HSPF + HSPF + + + HSPF2 + HSPF2 + + + COP + COP + + + + + heat_pump_heating_efficiency + Heat Pump: Heating Efficiency + The rated heating efficiency value of the heat pump. + Double + true + false + 7.7 + + + heat_pump_cooling_efficiency_type + Heat Pump: Cooling Efficiency Type + The cooling efficiency type of heat pump. System types air-to-air and mini-split use SEER or SEER2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use EER. + Choice + true + false + SEER + + + SEER + SEER + + + SEER2 + SEER2 + + + EER + EER + + + CEER + CEER + + + + + heat_pump_cooling_efficiency + Heat Pump: Cooling Efficiency + The rated cooling efficiency value of the heat pump. + Double + true + false + 13 + + + heat_pump_cooling_compressor_type + Heat Pump: Cooling Compressor Type + The compressor type of the heat pump. Only applies to air-to-air and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>) is used. + Choice + false + false + + + single stage + single stage + + + two stage + two stage + + + variable speed + variable speed + + + + + heat_pump_cooling_sensible_heat_fraction + Heat Pump: Cooling Sensible Heat Fraction + The sensible heat fraction of the heat pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Double + Frac + false + false + + + heat_pump_heating_capacity + Heat Pump: Heating Capacity + The output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Double + Btu/hr + false + false + + + heat_pump_heating_autosizing_factor + Heat Pump: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + heat_pump_heating_autosizing_limit + Heat Pump: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + heat_pump_heating_capacity_retention_fraction + Heat Pump: Heating Capacity Retention Fraction + The output heating capacity of the heat pump at a user-specified temperature (e.g., 17F or 5F) divided by the above nominal heating capacity. Applies to all heat pump types except ground-to-air. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + Double + Frac + false + false + + + heat_pump_heating_capacity_retention_temp + Heat Pump: Heating Capacity Retention Temperature + The user-specified temperature (e.g., 17F or 5F) for the above heating capacity retention fraction. Applies to all heat pump types except ground-to-air. Required if the Heating Capacity Retention Fraction is provided. + Double + deg-F + false + false + + + heat_pump_cooling_capacity + Heat Pump: Cooling Capacity + The output cooling capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Double + Btu/hr + false + false + + + heat_pump_cooling_autosizing_factor + Heat Pump: Cooling Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + heat_pump_cooling_autosizing_limit + Heat Pump: Cooling Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + heat_pump_fraction_heat_load_served + Heat Pump: Fraction Heat Load Served + The heating load served by the heat pump. + Double + Frac + true + false + 1 + + + heat_pump_fraction_cool_load_served + Heat Pump: Fraction Cool Load Served + The cooling load served by the heat pump. + Double + Frac + true + false + 1 + + + heat_pump_compressor_lockout_temp + Heat Pump: Compressor Lockout Temperature + The temperature below which the heat pump compressor is disabled. If both this and Backup Heating Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies to all heat pump types other than ground-to-air. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + Double + deg-F + false + false + + + heat_pump_backup_type + Heat Pump: Backup Type + The backup type of the heat pump. If 'integrated', represents e.g. built-in electric strip heat or dual-fuel integrated furnace. If 'separate', represents e.g. electric baseboard or boiler based on the Heating System 2 specified below. Use 'none' if there is no backup heating. + Choice + true + false + integrated + + + none + none + + + integrated + integrated + + + separate + separate + + + + + heat_pump_backup_heating_autosizing_factor + Heat Pump: Backup Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, 1.0 is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Factor. + Double + false + false + + + heat_pump_backup_heating_autosizing_limit + Heat Pump: Backup Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, no limit is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Limit. + Double + Btu/hr + false + false + + + heat_pump_backup_fuel + Heat Pump: Backup Fuel Type + The backup fuel type of the heat pump. Only applies if Backup Type is 'integrated'. + Choice + true + false + electricity + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + + + heat_pump_backup_heating_efficiency + Heat Pump: Backup Rated Efficiency + The backup rated efficiency value of the heat pump. Percent for electricity fuel type. AFUE otherwise. Only applies if Backup Type is 'integrated'. + Double + true + false + 1 + + + heat_pump_backup_heating_capacity + Heat Pump: Backup Heating Capacity + The backup output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#backup'>Backup</a>) is used. Only applies if Backup Type is 'integrated'. + Double + Btu/hr + false + false + + + heat_pump_backup_heating_lockout_temp + Heat Pump: Backup Heating Lockout Temperature + The temperature above which the heat pump backup system is disabled. If both this and Compressor Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies for both Backup Type of 'integrated' and 'separate'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#backup'>Backup</a>) is used. + Double + deg-F + false + false + + + heat_pump_sizing_methodology + Heat Pump: Sizing Methodology + The auto-sizing methodology to use when the heat pump capacity is not provided. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-sizing-control'>HPXML HVAC Sizing Control</a>) is used. + Choice + false + false + + + ACCA + ACCA + + + HERS + HERS + + + MaxLoad + MaxLoad + + + + + heat_pump_backup_sizing_methodology + Heat Pump: Backup Sizing Methodology + The auto-sizing methodology to use when the heat pump backup capacity is not provided. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-sizing-control'>HPXML HVAC Sizing Control</a>) is used. + Choice + false + false + + + emergency + emergency + + + supplemental + supplemental + + + + + heat_pump_is_ducted + Heat Pump: Is Ducted + Whether the heat pump is ducted or not. Only used for mini-split. It's assumed that air-to-air and ground-to-air are ducted, and packaged terminal heat pump and room air conditioner with reverse cycle are not ducted. If not provided, assumes not ducted. + Boolean + false + false + + + true + true + + + false + false + + + + + heat_pump_airflow_defect_ratio + Heat Pump: Airflow Defect Ratio + The airflow defect ratio, defined as (InstalledAirflow - DesignAirflow) / DesignAirflow, of the heat pump per ANSI/RESNET/ACCA Standard 310. A value of zero means no airflow defect. Applies only to air-to-air, ducted mini-split, and ground-to-air. If not provided, assumes no defect. + Double + Frac + false + false + + + heat_pump_charge_defect_ratio + Heat Pump: Charge Defect Ratio + The refrigerant charge defect ratio, defined as (InstalledCharge - DesignCharge) / DesignCharge, of the heat pump per ANSI/RESNET/ACCA Standard 310. A value of zero means no refrigerant charge defect. Applies to all heat pump types. If not provided, assumes no defect. + Double + Frac + false + false + + + heat_pump_crankcase_heater_watts + Heat Pump: Crankcase Heater Power Watts + Heat Pump crankcase heater power consumption in Watts. Applies only to air-to-air, mini-split, packaged terminal heat pump and room air conditioner with reverse cycle. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + Double + W + false + false + + + hvac_perf_data_capacity_type + HVAC Detailed Performance Data: Capacity Type + Type of capacity values for detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). + Choice + Absolute capacities + false + false + + + Absolute capacities + Absolute capacities + + + Normalized capacity fractions + Normalized capacity fractions + + + + + hvac_perf_data_heating_outdoor_temperatures + HVAC Detailed Performance Data: Heating Outdoor Temperatures + Outdoor temperatures of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 47 deg-F. At least two performance data points are required using a comma-separated list. + String + deg-F + false + false + + + hvac_perf_data_heating_min_speed_capacities + HVAC Detailed Performance Data: Heating Minimum Speed Capacities + Minimum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_heating_max_speed_capacities + HVAC Detailed Performance Data: Heating Maximum Speed Capacities + Maximum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_heating_min_speed_cops + HVAC Detailed Performance Data: Heating Minimum Speed COPs + Minimum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_heating_max_speed_cops + HVAC Detailed Performance Data: Heating Maximum Speed COPs + Maximum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_cooling_outdoor_temperatures + HVAC Detailed Performance Data: Cooling Outdoor Temperatures + Outdoor temperatures of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 95 deg-F. At least two performance data points are required using a comma-separated list. + String + deg-F + false + false + + + hvac_perf_data_cooling_min_speed_capacities + HVAC Detailed Performance Data: Cooling Minimum Speed Capacities + Minimum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_cooling_max_speed_capacities + HVAC Detailed Performance Data: Cooling Maximum Speed Capacities + Maximum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_cooling_min_speed_cops + HVAC Detailed Performance Data: Cooling Minimum Speed COPs + Minimum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_cooling_max_speed_cops + HVAC Detailed Performance Data: Cooling Maximum Speed COPs + Maximum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + geothermal_loop_configuration + Geothermal Loop: Configuration + Configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Choice + false + false + + + none + none + + + vertical + vertical + + + + + geothermal_loop_borefield_configuration + Geothermal Loop: Borefield Configuration + Borefield configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + false + false + + + Rectangle + Rectangle + + + Open Rectangle + Open Rectangle + + + C + C + + + L + L + + + U + U + + + Lopsided U + Lopsided U + + + + + geothermal_loop_loop_flow + Geothermal Loop: Loop Flow + Water flow rate through the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Double + gpm + false + false + + + geothermal_loop_boreholes_count + Geothermal Loop: Boreholes Count + Number of boreholes. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Integer + # + false + false + + + geothermal_loop_boreholes_length + Geothermal Loop: Boreholes Length + Average length of each borehole (vertical). Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Double + ft + false + false + + + geothermal_loop_boreholes_spacing + Geothermal Loop: Boreholes Spacing + Distance between bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Double + ft + false + false + + + geothermal_loop_boreholes_diameter + Geothermal Loop: Boreholes Diameter + Diameter of bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Double + in + false + false + + + geothermal_loop_grout_type + Geothermal Loop: Grout Type + Grout type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + false + false + + + standard + standard + + + thermally enhanced + thermally enhanced + + + + + geothermal_loop_pipe_type + Geothermal Loop: Pipe Type + Pipe type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + false + false + + + standard + standard + + + thermally enhanced + thermally enhanced + + + + + geothermal_loop_pipe_diameter + Geothermal Loop: Pipe Diameter + Pipe diameter of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + in + false + false + + + 3/4" pipe + 3/4" pipe + + + 1" pipe + 1" pipe + + + 1-1/4" pipe + 1-1/4" pipe + + + + + heating_system_2_type + Heating System 2: Type + The type of the second heating system. + Choice + true + false + none + + + none + none + + + Furnace + Furnace + + + WallFurnace + WallFurnace + + + FloorFurnace + FloorFurnace + + + Boiler + Boiler + + + ElectricResistance + ElectricResistance + + + Stove + Stove + + + SpaceHeater + SpaceHeater + + + Fireplace + Fireplace + + + + + heating_system_2_fuel + Heating System 2: Fuel Type + The fuel type of the second heating system. Ignored for ElectricResistance. + Choice + true + false + electricity + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + heating_system_2_heating_efficiency + Heating System 2: Rated AFUE or Percent + The rated heating efficiency value of the second heating system. + Double + Frac + true + false + 1 + + + heating_system_2_heating_capacity + Heating System 2: Heating Capacity + The output heating capacity of the second heating system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>) is used. + Double + Btu/hr + false + false + + + heating_system_2_heating_autosizing_factor + Heating System 2: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + Double + false + false + + + heating_system_2_heating_autosizing_limit + Heating System 2: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + Double + Btu/hr + false + false + + + heating_system_2_fraction_heat_load_served + Heating System 2: Fraction Heat Load Served + The heat load served fraction of the second heating system. Ignored if this heating system serves as a backup system for a heat pump. + Double + Frac + true + false + 0.25 + + + hvac_control_heating_weekday_setpoint + HVAC Control: Heating Weekday Setpoint Schedule + Specify the constant or 24-hour comma-separated weekday heating setpoint schedule. Required unless a detailed CSV schedule is provided. + String + deg-F + false + false + + + hvac_control_heating_weekend_setpoint + HVAC Control: Heating Weekend Setpoint Schedule + Specify the constant or 24-hour comma-separated weekend heating setpoint schedule. Required unless a detailed CSV schedule is provided. + String + deg-F + false + false + + + hvac_control_cooling_weekday_setpoint + HVAC Control: Cooling Weekday Setpoint Schedule + Specify the constant or 24-hour comma-separated weekday cooling setpoint schedule. Required unless a detailed CSV schedule is provided. + String + deg-F + false + false + + + hvac_control_cooling_weekend_setpoint + HVAC Control: Cooling Weekend Setpoint Schedule + Specify the constant or 24-hour comma-separated weekend cooling setpoint schedule. Required unless a detailed CSV schedule is provided. + String + deg-F + false + false + + + hvac_control_heating_season_period + HVAC Control: Heating Season Period + Enter a date like 'Nov 1 - Jun 30'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-control'>HPXML HVAC Control</a>) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + String + false + false + + + hvac_control_cooling_season_period + HVAC Control: Cooling Season Period + Enter a date like 'Jun 1 - Oct 31'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-control'>HPXML HVAC Control</a>) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + String + false + false + + + hvac_blower_fan_watts_per_cfm + HVAC Blower: Fan Efficiency + The blower fan efficiency at maximum fan speed. Applies only to split (not packaged) systems (i.e., applies to ducted systems as well as ductless mini-split systems). If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooling-systems'>HPXML Cooling Systems</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heat-pumps'>HPXML Heat Pumps</a>) is used. + Double + W/CFM + false + false + + + ducts_leakage_units + Ducts: Leakage Units + The leakage units of the ducts. + Choice + true + false + Percent + + + CFM25 + CFM25 + + + CFM50 + CFM50 + + + Percent + Percent + + + + + ducts_supply_leakage_to_outside_value + Ducts: Supply Leakage to Outside Value + The leakage value to outside for the supply ducts. + Double + true + false + 0.1 + + + ducts_supply_location + Ducts: Supply Location + The location of the supply ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + exterior wall + exterior wall + + + under slab + under slab + + + roof deck + roof deck + + + outside + outside + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + manufactured home belly + manufactured home belly + + + + + ducts_supply_insulation_r + Ducts: Supply Insulation R-Value + The nominal insulation r-value of the supply ducts excluding air films. Use 0 for uninsulated ducts. + Double + h-ft^2-R/Btu + true + false + 0 + + + ducts_supply_buried_insulation_level + Ducts: Supply Buried Insulation Level + Whether the supply 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. + Choice + false + false + + + not buried + not buried + + + partially buried + partially buried + + + fully buried + fully buried + + + deeply buried + deeply buried + + + + + ducts_supply_surface_area + Ducts: Supply Surface Area + The supply ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + ft^2 + false + false + + + ducts_supply_surface_area_fraction + Ducts: Supply Area Fraction + The fraction of supply ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + frac + false + false + + + ducts_supply_fraction_rectangular + Ducts: Supply Fraction Rectangular + The fraction of supply ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + frac + false + false + + + ducts_return_leakage_to_outside_value + Ducts: Return Leakage to Outside Value + The leakage value to outside for the return ducts. + Double + true + false + 0.1 + + + ducts_return_location + Ducts: Return Location + The location of the return ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + exterior wall + exterior wall + + + under slab + under slab + + + roof deck + roof deck + + + outside + outside + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + manufactured home belly + manufactured home belly + + + + + ducts_return_insulation_r + Ducts: Return Insulation R-Value + The nominal insulation r-value of the return ducts excluding air films. Use 0 for uninsulated ducts. + Double + h-ft^2-R/Btu + true + false + 0 + + + ducts_return_buried_insulation_level + Ducts: Return Buried Insulation Level + Whether the return 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. + Choice + false + false + + + not buried + not buried + + + partially buried + partially buried + + + fully buried + fully buried + + + deeply buried + deeply buried + + + + + ducts_return_surface_area + Ducts: Return Surface Area + The return ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + ft^2 + false + false + + + ducts_return_surface_area_fraction + Ducts: Return Area Fraction + The fraction of return ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + frac + false + false + + + ducts_number_of_return_registers + Ducts: Number of Return Registers + The number of return registers of the ducts. Only used to calculate default return duct surface area. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Integer + # + false + false + + + ducts_return_fraction_rectangular + Ducts: Return Fraction Rectangular + The fraction of return ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Double + frac + false + false + + + mech_vent_fan_type + Mechanical Ventilation: Fan Type + The type of the mechanical ventilation. Use 'none' if there is no mechanical ventilation system. + Choice + true + false + none + + + none + none + + + exhaust only + exhaust only + + + supply only + supply only + + + energy recovery ventilator + energy recovery ventilator + + + heat recovery ventilator + heat recovery ventilator + + + balanced + balanced + + + central fan integrated supply + central fan integrated supply + + + + + mech_vent_flow_rate + Mechanical Ventilation: Flow Rate + The flow rate of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + Double + CFM + false + false + + + mech_vent_hours_in_operation + Mechanical Ventilation: Hours In Operation + The hours in operation of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + Double + hrs/day + false + false + + + mech_vent_recovery_efficiency_type + Mechanical Ventilation: Total Recovery Efficiency Type + The total recovery efficiency type of the mechanical ventilation. + Choice + true + false + Unadjusted + + + Unadjusted + Unadjusted + + + Adjusted + Adjusted + + + + + mech_vent_total_recovery_efficiency + Mechanical Ventilation: Total Recovery Efficiency + The Unadjusted or Adjusted total recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator. + Double + Frac + true + false + 0.48 + + + mech_vent_sensible_recovery_efficiency + Mechanical Ventilation: Sensible Recovery Efficiency + The Unadjusted or Adjusted sensible recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + Double + Frac + true + false + 0.72 + + + mech_vent_fan_power + Mechanical Ventilation: Fan Power + The fan power of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + Double + W + false + false + + + mech_vent_num_units_served + Mechanical Ventilation: Number of Units Served + Number of dwelling units served by the mechanical ventilation system. Must be 1 if single-family detached. Used to apportion flow rate and fan power to the unit. + Integer + # + true + false + 1 + + + mech_vent_shared_frac_recirculation + Shared Mechanical Ventilation: Fraction Recirculation + Fraction of the total supply air that is recirculated, with the remainder assumed to be outdoor air. The value must be 0 for exhaust only systems. Required for a shared mechanical ventilation system. + Double + Frac + false + false + + + mech_vent_shared_preheating_fuel + Shared Mechanical Ventilation: Preheating Fuel + Fuel type of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + Choice + false + false + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + mech_vent_shared_preheating_efficiency + Shared Mechanical Ventilation: Preheating Efficiency + Efficiency of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + Double + COP + false + false + + + mech_vent_shared_preheating_fraction_heat_load_served + Shared Mechanical Ventilation: Preheating Fraction Ventilation Heat Load Served + Fraction of heating load introduced by the shared ventilation system that is met by the preconditioning heating equipment. If not provided, assumes no preheating. + Double + Frac + false + false + + + mech_vent_shared_precooling_fuel + Shared Mechanical Ventilation: Precooling Fuel + Fuel type of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + Choice + false + false + + + electricity + electricity + + + + + mech_vent_shared_precooling_efficiency + Shared Mechanical Ventilation: Precooling Efficiency + Efficiency of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + Double + COP + false + false + + + mech_vent_shared_precooling_fraction_cool_load_served + Shared Mechanical Ventilation: Precooling Fraction Ventilation Cool Load Served + Fraction of cooling load introduced by the shared ventilation system that is met by the preconditioning cooling equipment. If not provided, assumes no precooling. + Double + Frac + false + false + + + mech_vent_2_fan_type + Mechanical Ventilation 2: Fan Type + The type of the second mechanical ventilation. Use 'none' if there is no second mechanical ventilation system. + Choice + true + false + none + + + none + none + + + exhaust only + exhaust only + + + supply only + supply only + + + energy recovery ventilator + energy recovery ventilator + + + heat recovery ventilator + heat recovery ventilator + + + balanced + balanced + + + + + mech_vent_2_flow_rate + Mechanical Ventilation 2: Flow Rate + The flow rate of the second mechanical ventilation. + Double + CFM + true + false + 110 + + + mech_vent_2_hours_in_operation + Mechanical Ventilation 2: Hours In Operation + The hours in operation of the second mechanical ventilation. + Double + hrs/day + true + false + 24 + + + mech_vent_2_recovery_efficiency_type + Mechanical Ventilation 2: Total Recovery Efficiency Type + The total recovery efficiency type of the second mechanical ventilation. + Choice + true + false + Unadjusted + + + Unadjusted + Unadjusted + + + Adjusted + Adjusted + + + + + mech_vent_2_total_recovery_efficiency + Mechanical Ventilation 2: Total Recovery Efficiency + The Unadjusted or Adjusted total recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator. + Double + Frac + true + false + 0.48 + + + mech_vent_2_sensible_recovery_efficiency + Mechanical Ventilation 2: Sensible Recovery Efficiency + The Unadjusted or Adjusted sensible recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + Double + Frac + true + false + 0.72 + + + mech_vent_2_fan_power + Mechanical Ventilation 2: Fan Power + The fan power of the second mechanical ventilation. + Double + W + true + false + 30 + + + kitchen_fans_quantity + Kitchen Fans: Quantity + The quantity of the kitchen fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Integer + # + false + false + + + kitchen_fans_flow_rate + Kitchen Fans: Flow Rate + The flow rate of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + CFM + false + false + + + kitchen_fans_hours_in_operation + Kitchen Fans: Hours In Operation + The hours in operation of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + hrs/day + false + false + + + kitchen_fans_power + Kitchen Fans: Fan Power + The fan power of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + W + false + false + + + kitchen_fans_start_hour + Kitchen Fans: Start Hour + The start hour of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Integer + hr + false + false + + + bathroom_fans_quantity + Bathroom Fans: Quantity + The quantity of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Integer + # + false + false + + + bathroom_fans_flow_rate + Bathroom Fans: Flow Rate + The flow rate of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + CFM + false + false + + + bathroom_fans_hours_in_operation + Bathroom Fans: Hours In Operation + The hours in operation of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + hrs/day + false + false + + + bathroom_fans_power + Bathroom Fans: Fan Power + The fan power of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Double + W + false + false + + + bathroom_fans_start_hour + Bathroom Fans: Start Hour + The start hour of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + Integer + hr + false + false + + + whole_house_fan_present + Whole House Fan: Present + Whether there is a whole house fan. + Boolean + true + false + false + + + true + true + + + false + false + + + + + whole_house_fan_flow_rate + Whole House Fan: Flow Rate + The flow rate of the whole house fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-whole-house-fans'>HPXML Whole House Fans</a>) is used. + Double + CFM + false + false + + + whole_house_fan_power + Whole House Fan: Fan Power + The fan power of the whole house fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-whole-house-fans'>HPXML Whole House Fans</a>) is used. + Double + W + false + false + + + water_heater_type + Water Heater: Type + The type of water heater. Use 'none' if there is no water heater. + Choice + true + false + storage water heater + + + none + none + + + storage water heater + storage water heater + + + instantaneous water heater + instantaneous water heater + + + heat pump water heater + heat pump water heater + + + space-heating boiler with storage tank + space-heating boiler with storage tank + + + space-heating boiler with tankless coil + space-heating boiler with tankless coil + + + + + water_heater_fuel_type + Water Heater: Fuel Type + The fuel type of water heater. Ignored for heat pump water heater. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + water_heater_location + Water Heater: Location + The location of water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-heating-systems'>HPXML Water Heating Systems</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + other exterior + other exterior + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + water_heater_tank_volume + Water Heater: Tank Volume + Nominal volume of water heater tank. Only applies to storage water heater, heat pump water heater, and space-heating boiler with storage tank. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#combi-boiler-w-storage'>Combi Boiler w/ Storage</a>) is used. + Double + gal + false + false + + + water_heater_efficiency_type + Water Heater: Efficiency Type + The efficiency type of water heater. Does not apply to space-heating boilers. + Choice + true + false + EnergyFactor + + + EnergyFactor + EnergyFactor + + + UniformEnergyFactor + UniformEnergyFactor + + + + + water_heater_efficiency + Water Heater: Efficiency + Rated Energy Factor or Uniform Energy Factor. Does not apply to space-heating boilers. + Double + true + false + 0.67 + + + water_heater_usage_bin + Water Heater: Usage Bin + The usage of the water heater. Only applies if Efficiency Type is UniformEnergyFactor and Type is not instantaneous water heater. Does not apply to space-heating boilers. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>) is used. + Choice + false + false + + + very small + very small + + + low + low + + + medium + medium + + + high + high + + + + + water_heater_recovery_efficiency + Water Heater: Recovery Efficiency + Ratio of energy delivered to water heater to the energy content of the fuel consumed by the water heater. Only used for non-electric storage water heaters. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + Double + Frac + false + false + + + water_heater_heating_capacity + Water Heater: Heating Capacity + Heating capacity. Only applies to storage water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + Double + Btu/hr + false + false + + + water_heater_standby_loss + Water Heater: Standby Loss + The standby loss of water heater. Only applies to space-heating boilers. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#combi-boiler-w-storage'>Combi Boiler w/ Storage</a>) is used. + Double + deg-F/hr + false + false + + + water_heater_jacket_rvalue + Water Heater: Jacket R-value + The jacket R-value of water heater. Doesn't apply to instantaneous water heater or space-heating boiler with tankless coil. If not provided, defaults to no jacket insulation. + Double + h-ft^2-R/Btu + false + false + + + water_heater_setpoint_temperature + Water Heater: Setpoint Temperature + The setpoint temperature of water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-heating-systems'>HPXML Water Heating Systems</a>) is used. + Double + deg-F + false + false + + + water_heater_num_bedrooms_served + Water Heater: Number of Bedrooms Served + Number of bedrooms served (directly or indirectly) by the water heater. Only needed if single-family attached or apartment unit and it is a shared water heater serving multiple dwelling units. Used to apportion water heater tank losses to the unit. + Integer + # + false + false + + + water_heater_uses_desuperheater + Water Heater: Uses Desuperheater + Requires that the dwelling unit has a air-to-air, mini-split, or ground-to-air heat pump or a central air conditioner or mini-split air conditioner. If not provided, assumes no desuperheater. + Boolean + false + false + + + true + true + + + false + false + + + + + water_heater_tank_model_type + Water Heater: Tank Type + Type of tank model to use. The 'stratified' tank generally provide more accurate results, but may significantly increase run time. Applies only to storage water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + Choice + false + false + + + mixed + mixed + + + stratified + stratified + + + + + water_heater_operating_mode + Water Heater: Operating Mode + The water heater operating mode. The 'heat pump only' option only uses the heat pump, while 'hybrid/auto' allows the backup electric resistance to come on in high demand situations. This is ignored if a scheduled operating mode type is selected. Applies only to heat pump water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>) is used. + Choice + false + false + + + hybrid/auto + hybrid/auto + + + heat pump only + heat pump only + + + + + hot_water_distribution_system_type + Hot Water Distribution: System Type + The type of the hot water distribution system. + Choice + true + false + Standard + + + Standard + Standard + + + Recirculation + Recirculation + + + + + hot_water_distribution_standard_piping_length + Hot Water Distribution: Standard Piping Length + If the distribution system is Standard, the length of the piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#standard'>Standard</a>) is used. + Double + ft + false + false + + + hot_water_distribution_recirc_control_type + Hot Water Distribution: Recirculation Control Type + If the distribution system is Recirculation, the type of hot water recirculation control, if any. + Choice + false + false + no control + + + no control + no control + + + timer + timer + + + temperature + temperature + + + presence sensor demand control + presence sensor demand control + + + manual demand control + manual demand control + + + + + hot_water_distribution_recirc_piping_length + Hot Water Distribution: Recirculation Piping Length + If the distribution system is Recirculation, the length of the recirculation piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + Double + ft + false + false + + + hot_water_distribution_recirc_branch_piping_length + Hot Water Distribution: Recirculation Branch Piping Length + If the distribution system is Recirculation, the length of the recirculation branch piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + Double + ft + false + false + + + hot_water_distribution_recirc_pump_power + Hot Water Distribution: Recirculation Pump Power + If the distribution system is Recirculation, the recirculation pump power. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + Double + W + false + false + + + hot_water_distribution_pipe_r + Hot Water Distribution: Pipe Insulation Nominal R-Value + Nominal R-value of the pipe insulation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hot-water-distribution'>HPXML Hot Water Distribution</a>) is used. + Double + h-ft^2-R/Btu + false + false + + + dwhr_facilities_connected + Drain Water Heat Recovery: Facilities Connected + Which facilities are connected for the drain water heat recovery. Use 'none' if there is no drain water heat recovery system. + Choice + true + false + none + + + none + none + + + one + one + + + all + all + + + + + dwhr_equal_flow + Drain Water Heat Recovery: Equal Flow + Whether the drain water heat recovery has equal flow. + Boolean + false + false + true + + + true + true + + + false + false + + + + + dwhr_efficiency + Drain Water Heat Recovery: Efficiency + The efficiency of the drain water heat recovery. + Double + Frac + false + false + 0.55 + + + water_fixtures_shower_low_flow + Hot Water Fixtures: Is Shower Low Flow + Whether the shower fixture is low flow. + Boolean + true + false + false + + + true + true + + + false + false + + + + + water_fixtures_sink_low_flow + Hot Water Fixtures: Is Sink Low Flow + Whether the sink fixture is low flow. + Boolean + true + false + false + + + true + true + + + false + false + + + + + water_fixtures_usage_multiplier + Hot Water Fixtures: Usage Multiplier + Multiplier on the hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-fixtures'>HPXML Water Fixtures</a>) is used. + Double + false + false + + + general_water_use_usage_multiplier + General Water Use: Usage Multiplier + Multiplier on internal gains from general water use (floor mopping, shower evaporation, water films on showers, tubs & sinks surfaces, plant watering, etc.) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-occupancy'>HPXML Building Occupancy</a>) is used. + Double + false + false + + + solar_thermal_system_type + Solar Thermal: System Type + The type of solar thermal system. Use 'none' if there is no solar thermal system. + Choice + true + false + none + + + none + none + + + hot water + hot water + + + + + solar_thermal_collector_area + Solar Thermal: Collector Area + The collector area of the solar thermal system. + Double + ft^2 + true + false + 40 + + + solar_thermal_collector_loop_type + Solar Thermal: Collector Loop Type + The collector loop type of the solar thermal system. + Choice + true + false + liquid direct + + + liquid direct + liquid direct + + + liquid indirect + liquid indirect + + + passive thermosyphon + passive thermosyphon + + + + + solar_thermal_collector_type + Solar Thermal: Collector Type + The collector type of the solar thermal system. + Choice + true + false + evacuated tube + + + evacuated tube + evacuated tube + + + single glazing black + single glazing black + + + double glazing black + double glazing black + + + integrated collector storage + integrated collector storage + + + + + solar_thermal_collector_azimuth + Solar Thermal: Collector Azimuth + The collector azimuth of the solar thermal system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + solar_thermal_collector_tilt + Solar Thermal: Collector Tilt + The collector tilt of the solar thermal system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + solar_thermal_collector_rated_optical_efficiency + Solar Thermal: Collector Rated Optical Efficiency + The collector rated optical efficiency of the solar thermal system. + Double + Frac + true + false + 0.5 + + + solar_thermal_collector_rated_thermal_losses + Solar Thermal: Collector Rated Thermal Losses + The collector rated thermal losses of the solar thermal system. + Double + Btu/hr-ft^2-R + true + false + 0.2799 + + + solar_thermal_storage_volume + Solar Thermal: Storage Volume + The storage volume of the solar thermal system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#detailed-inputs'>Detailed Inputs</a>) is used. + Double + gal + false + false + + + solar_thermal_solar_fraction + Solar Thermal: Solar Fraction + The solar fraction of the solar thermal system. If provided, overrides all other solar thermal inputs. + Double + Frac + true + false + 0 + + + pv_system_present + PV System: Present + Whether there is a PV system present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pv_system_module_type + PV System: Module Type + Module type of the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + standard + standard + + + premium + premium + + + thin film + thin film + + + + + pv_system_location + PV System: Location + Location of the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + roof + roof + + + ground + ground + + + + + pv_system_tracking + PV System: Tracking + Type of tracking for the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + fixed + fixed + + + 1-axis + 1-axis + + + 1-axis backtracked + 1-axis backtracked + + + 2-axis + 2-axis + + + + + pv_system_array_azimuth + PV System: Array Azimuth + Array azimuth of the PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + pv_system_array_tilt + PV System: Array Tilt + Array tilt of the PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + pv_system_max_power_output + PV System: Maximum Power Output + Maximum power output of the PV system. For a shared system, this is the total building maximum power output. + Double + W + true + false + 4000 + + + pv_system_inverter_efficiency + PV System: Inverter Efficiency + Inverter efficiency of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Double + Frac + false + false + + + pv_system_system_losses_fraction + PV System: System Losses Fraction + System losses fraction of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Double + Frac + false + false + + + pv_system_num_bedrooms_served + PV System: Number of Bedrooms Served + Number of bedrooms served by PV system. Only needed if single-family attached or apartment unit and it is a shared PV system serving multiple dwelling units. Used to apportion PV generation to the unit of a SFA/MF building. If there are two PV systems, this will apply to both. + Integer + # + false + false + + + pv_system_2_present + PV System 2: Present + Whether there is a second PV system present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pv_system_2_module_type + PV System 2: Module Type + Module type of the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + standard + standard + + + premium + premium + + + thin film + thin film + + + + + pv_system_2_location + PV System 2: Location + Location of the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + roof + roof + + + ground + ground + + + + + pv_system_2_tracking + PV System 2: Tracking + Type of tracking for the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + false + false + + + fixed + fixed + + + 1-axis + 1-axis + + + 1-axis backtracked + 1-axis backtracked + + + 2-axis + 2-axis + + + + + pv_system_2_array_azimuth + PV System 2: Array Azimuth + Array azimuth of the second PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + pv_system_2_array_tilt + PV System 2: Array Tilt + Array tilt of the second PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + pv_system_2_max_power_output + PV System 2: Maximum Power Output + Maximum power output of the second PV system. For a shared system, this is the total building maximum power output. + Double + W + true + false + 4000 + + + battery_present + Battery: Present + Whether there is a lithium ion battery present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + battery_location + Battery: Location + The space type for the lithium ion battery location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + outside + outside + + + + + battery_power + Battery: Rated Power Output + The rated power output of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Double + W + false + false + + + battery_capacity + Battery: Nominal Capacity + The nominal capacity of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Double + kWh + false + false + + + battery_usable_capacity + Battery: Usable Capacity + The usable capacity of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Double + kWh + false + false + + + battery_round_trip_efficiency + Battery: Round Trip Efficiency + The round trip efficiency of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Double + Frac + false + false + + + battery_num_bedrooms_served + Battery: Number of Bedrooms Served + Number of bedrooms served by the lithium ion battery. Only needed if single-family attached or apartment unit and it is a shared battery serving multiple dwelling units. Used to apportion battery charging/discharging to the unit of a SFA/MF building. + Integer + # + false + false + + + lighting_present + Lighting: Present + Whether there is lighting energy use. + Boolean + true + false + true + + + true + true + + + false + false + + + + + lighting_interior_fraction_cfl + Lighting: Interior Fraction CFL + Fraction of all lamps (interior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0.1 + + + lighting_interior_fraction_lfl + Lighting: Interior Fraction LFL + Fraction of all lamps (interior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_interior_fraction_led + Lighting: Interior Fraction LED + Fraction of all lamps (interior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_interior_usage_multiplier + Lighting: Interior Usage Multiplier + Multiplier on the lighting energy usage (interior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + Double + false + false + + + lighting_exterior_fraction_cfl + Lighting: Exterior Fraction CFL + Fraction of all lamps (exterior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_fraction_lfl + Lighting: Exterior Fraction LFL + Fraction of all lamps (exterior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_fraction_led + Lighting: Exterior Fraction LED + Fraction of all lamps (exterior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_usage_multiplier + Lighting: Exterior Usage Multiplier + Multiplier on the lighting energy usage (exterior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + Double + false + false + + + lighting_garage_fraction_cfl + Lighting: Garage Fraction CFL + Fraction of all lamps (garage) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_fraction_lfl + Lighting: Garage Fraction LFL + Fraction of all lamps (garage) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_fraction_led + Lighting: Garage Fraction LED + Fraction of all lamps (garage) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_usage_multiplier + Lighting: Garage Usage Multiplier + Multiplier on the lighting energy usage (garage) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + Double + false + false + + + holiday_lighting_present + Holiday Lighting: Present + Whether there is holiday lighting. + Boolean + true + false + false + + + true + true + + + false + false + + + + + holiday_lighting_daily_kwh + Holiday Lighting: Daily Consumption + The daily energy consumption for holiday lighting (exterior). If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + Double + kWh/day + false + false + + + holiday_lighting_period + Holiday Lighting: Period + Enter a date like 'Nov 25 - Jan 5'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + false + false + + + dehumidifier_type + Dehumidifier: Type + The type of dehumidifier. + Choice + true + false + none + + + none + none + + + portable + portable + + + whole-home + whole-home + + + + + dehumidifier_efficiency_type + Dehumidifier: Efficiency Type + The efficiency type of dehumidifier. + Choice + true + false + IntegratedEnergyFactor + + + EnergyFactor + EnergyFactor + + + IntegratedEnergyFactor + IntegratedEnergyFactor + + + + + dehumidifier_efficiency + Dehumidifier: Efficiency + The efficiency of the dehumidifier. + Double + liters/kWh + true + false + 1.5 + + + dehumidifier_capacity + Dehumidifier: Capacity + The capacity (water removal rate) of the dehumidifier. + Double + pint/day + true + false + 40 + + + dehumidifier_rh_setpoint + Dehumidifier: Relative Humidity Setpoint + The relative humidity setpoint of the dehumidifier. + Double + Frac + true + false + 0.5 + + + dehumidifier_fraction_dehumidification_load_served + Dehumidifier: Fraction Dehumidification Load Served + The dehumidification load served fraction of the dehumidifier. + Double + Frac + true + false + 1 + + + clothes_washer_present + Clothes Washer: Present + Whether there is a clothes washer present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + clothes_washer_location + Clothes Washer: Location + The space type for the clothes washer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + clothes_washer_efficiency_type + Clothes Washer: Efficiency Type + The efficiency type of the clothes washer. + Choice + true + false + IntegratedModifiedEnergyFactor + + + ModifiedEnergyFactor + ModifiedEnergyFactor + + + IntegratedModifiedEnergyFactor + IntegratedModifiedEnergyFactor + + + + + clothes_washer_efficiency + Clothes Washer: Efficiency + The efficiency of the clothes washer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + ft^3/kWh-cyc + false + false + + + clothes_washer_rated_annual_kwh + Clothes Washer: Rated Annual Consumption + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + kWh/yr + false + false + + + clothes_washer_label_electric_rate + Clothes Washer: Label Electric Rate + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + $/kWh + false + false + + + clothes_washer_label_gas_rate + Clothes Washer: Label Gas Rate + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + $/therm + false + false + + + clothes_washer_label_annual_gas_cost + Clothes Washer: Label Annual Cost with Gas DHW + The annual cost of using the system under test conditions. Input is obtained from the EnergyGuide label. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + $ + false + false + + + clothes_washer_label_usage + Clothes Washer: Label Usage + The clothes washer loads per week. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + cyc/wk + false + false + + + clothes_washer_capacity + Clothes Washer: Drum Volume + Volume of the washer drum. Obtained from the EnergyStar website or the manufacturer's literature. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + ft^3 + false + false + + + clothes_washer_usage_multiplier + Clothes Washer: Usage Multiplier + Multiplier on the clothes washer energy and hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Double + false + false + + + clothes_dryer_present + Clothes Dryer: Present + Whether there is a clothes dryer present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + clothes_dryer_location + Clothes Dryer: Location + The space type for the clothes dryer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + clothes_dryer_fuel_type + Clothes Dryer: Fuel Type + Type of fuel used by the clothes dryer. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + clothes_dryer_efficiency_type + Clothes Dryer: Efficiency Type + The efficiency type of the clothes dryer. + Choice + true + false + CombinedEnergyFactor + + + EnergyFactor + EnergyFactor + + + CombinedEnergyFactor + CombinedEnergyFactor + + + + + clothes_dryer_efficiency + Clothes Dryer: Efficiency + The efficiency of the clothes dryer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Double + lb/kWh + false + false + + + clothes_dryer_vented_flow_rate + Clothes Dryer: Vented Flow Rate + The exhaust flow rate of the vented clothes dryer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Double + CFM + false + false + + + clothes_dryer_usage_multiplier + Clothes Dryer: Usage Multiplier + Multiplier on the clothes dryer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Double + false + false + + + dishwasher_present + Dishwasher: Present + Whether there is a dishwasher present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + dishwasher_location + Dishwasher: Location + The space type for the dishwasher location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + dishwasher_efficiency_type + Dishwasher: Efficiency Type + The efficiency type of dishwasher. + Choice + true + false + RatedAnnualkWh + + + RatedAnnualkWh + RatedAnnualkWh + + + EnergyFactor + EnergyFactor + + + + + dishwasher_efficiency + Dishwasher: Efficiency + The efficiency of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + RatedAnnualkWh or EnergyFactor + false + false + + + dishwasher_label_electric_rate + Dishwasher: Label Electric Rate + The label electric rate of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + $/kWh + false + false + + + dishwasher_label_gas_rate + Dishwasher: Label Gas Rate + The label gas rate of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + $/therm + false + false + + + dishwasher_label_annual_gas_cost + Dishwasher: Label Annual Gas Cost + The label annual gas cost of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + $ + false + false + + + dishwasher_label_usage + Dishwasher: Label Usage + The dishwasher loads per week. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + cyc/wk + false + false + + + dishwasher_place_setting_capacity + Dishwasher: Number of Place Settings + The number of place settings for the unit. Data obtained from manufacturer's literature. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Integer + # + false + false + + + dishwasher_usage_multiplier + Dishwasher: Usage Multiplier + Multiplier on the dishwasher energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Double + false + false + + + refrigerator_present + Refrigerator: Present + Whether there is a refrigerator present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + refrigerator_location + Refrigerator: Location + The space type for the refrigerator location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + refrigerator_rated_annual_kwh + Refrigerator: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for a refrigerator. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Double + kWh/yr + false + false + + + refrigerator_usage_multiplier + Refrigerator: Usage Multiplier + Multiplier on the refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Double + false + false + + + extra_refrigerator_present + Extra Refrigerator: Present + Whether there is an extra refrigerator present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + extra_refrigerator_location + Extra Refrigerator: Location + The space type for the extra refrigerator location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + extra_refrigerator_rated_annual_kwh + Extra Refrigerator: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for an extra rrefrigerator. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Double + kWh/yr + false + false + + + extra_refrigerator_usage_multiplier + Extra Refrigerator: Usage Multiplier + Multiplier on the extra refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Double + false + false + + + freezer_present + Freezer: Present + Whether there is a freezer present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + freezer_location + Freezer: Location + The space type for the freezer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + freezer_rated_annual_kwh + Freezer: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for a freezer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + Double + kWh/yr + false + false + + + freezer_usage_multiplier + Freezer: Usage Multiplier + Multiplier on the freezer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + Double + false + false + + + cooking_range_oven_present + Cooking Range/Oven: Present + Whether there is a cooking range/oven present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + cooking_range_oven_location + Cooking Range/Oven: Location + The space type for the cooking range/oven location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Choice + false + false + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + cooking_range_oven_fuel_type + Cooking Range/Oven: Fuel Type + Type of fuel used by the cooking range/oven. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + cooking_range_oven_is_induction + Cooking Range/Oven: Is Induction + Whether the cooking range is induction. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Boolean + false + false + + + true + true + + + false + false + + + + + cooking_range_oven_is_convection + Cooking Range/Oven: Is Convection + Whether the oven is convection. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Boolean + false + false + + + true + true + + + false + false + + + + + cooking_range_oven_usage_multiplier + Cooking Range/Oven: Usage Multiplier + Multiplier on the cooking range/oven energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Double + false + false + + + ceiling_fan_present + Ceiling Fan: Present + Whether there are any ceiling fans. + Boolean + true + false + true + + + true + true + + + false + false + + + + + ceiling_fan_label_energy_use + Ceiling Fan: Label Energy Use + The label average energy use of the ceiling fan(s). If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + Double + W + false + false + + + ceiling_fan_efficiency + Ceiling Fan: Efficiency + The efficiency rating of the ceiling fan(s) at medium speed. Only used if Label Energy Use not provided. If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + Double + CFM/W + false + false + + + ceiling_fan_quantity + Ceiling Fan: Quantity + Total number of ceiling fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + Integer + # + false + false + + + ceiling_fan_cooling_setpoint_temp_offset + Ceiling Fan: Cooling Setpoint Temperature Offset + The cooling setpoint temperature offset during months when the ceiling fans are operating. Only applies if ceiling fan quantity is greater than zero. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + Double + deg-F + false + false + + + misc_plug_loads_television_present + Misc Plug Loads: Television Present + Whether there are televisions. + Boolean + true + false + true + + + true + true + + + false + false + + + + + misc_plug_loads_television_annual_kwh + Misc Plug Loads: Television Annual kWh + The annual energy consumption of the television plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + kWh/yr + false + false + + + misc_plug_loads_television_usage_multiplier + Misc Plug Loads: Television Usage Multiplier + Multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + false + false + + + misc_plug_loads_other_annual_kwh + Misc Plug Loads: Other Annual kWh + The annual energy consumption of the other residual plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + kWh/yr + false + false + + + misc_plug_loads_other_frac_sensible + Misc Plug Loads: Other Sensible Fraction + Fraction of other residual plug loads' internal gains that are sensible. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + Frac + false + false + + + misc_plug_loads_other_frac_latent + Misc Plug Loads: Other Latent Fraction + Fraction of other residual plug loads' internal gains that are latent. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + Frac + false + false + + + misc_plug_loads_other_usage_multiplier + Misc Plug Loads: Other Usage Multiplier + Multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + false + false + + + misc_plug_loads_well_pump_present + Misc Plug Loads: Well Pump Present + Whether there is a well pump. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_plug_loads_well_pump_annual_kwh + Misc Plug Loads: Well Pump Annual kWh + The annual energy consumption of the well pump plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + kWh/yr + false + false + + + misc_plug_loads_well_pump_usage_multiplier + Misc Plug Loads: Well Pump Usage Multiplier + Multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + false + false + + + misc_plug_loads_vehicle_present + Misc Plug Loads: Vehicle Present + Whether there is an electric vehicle. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_plug_loads_vehicle_annual_kwh + Misc Plug Loads: Vehicle Annual kWh + The annual energy consumption of the electric vehicle plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + kWh/yr + false + false + + + misc_plug_loads_vehicle_usage_multiplier + Misc Plug Loads: Vehicle Usage Multiplier + Multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + Double + false + false + + + misc_fuel_loads_grill_present + Misc Fuel Loads: Grill Present + Whether there is a fuel loads grill. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_grill_fuel_type + Misc Fuel Loads: Grill Fuel Type + The fuel type of the fuel loads grill. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_grill_annual_therm + Misc Fuel Loads: Grill Annual therm + The annual energy consumption of the fuel loads grill. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + therm/yr + false + false + + + misc_fuel_loads_grill_usage_multiplier + Misc Fuel Loads: Grill Usage Multiplier + Multiplier on the fuel loads grill energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + false + false + + + misc_fuel_loads_lighting_present + Misc Fuel Loads: Lighting Present + Whether there is fuel loads lighting. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_lighting_fuel_type + Misc Fuel Loads: Lighting Fuel Type + The fuel type of the fuel loads lighting. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_lighting_annual_therm + Misc Fuel Loads: Lighting Annual therm + The annual energy consumption of the fuel loads lighting. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>)is used. + Double + therm/yr + false + false + + + misc_fuel_loads_lighting_usage_multiplier + Misc Fuel Loads: Lighting Usage Multiplier + Multiplier on the fuel loads lighting energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + false + false + + + misc_fuel_loads_fireplace_present + Misc Fuel Loads: Fireplace Present + Whether there is fuel loads fireplace. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_fireplace_fuel_type + Misc Fuel Loads: Fireplace Fuel Type + The fuel type of the fuel loads fireplace. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_fireplace_annual_therm + Misc Fuel Loads: Fireplace Annual therm + The annual energy consumption of the fuel loads fireplace. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + therm/yr + false + false + + + misc_fuel_loads_fireplace_frac_sensible + Misc Fuel Loads: Fireplace Sensible Fraction + Fraction of fireplace residual fuel loads' internal gains that are sensible. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + Frac + false + false + + + misc_fuel_loads_fireplace_frac_latent + Misc Fuel Loads: Fireplace Latent Fraction + Fraction of fireplace residual fuel loads' internal gains that are latent. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + Frac + false + false + + + misc_fuel_loads_fireplace_usage_multiplier + Misc Fuel Loads: Fireplace Usage Multiplier + Multiplier on the fuel loads fireplace energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + Double + false + false + + + pool_present + Pool: Present + Whether there is a pool. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pool_pump_annual_kwh + Pool: Pump Annual kWh + The annual energy consumption of the pool pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-pump'>Pool Pump</a>) is used. + Double + kWh/yr + false + false + + + pool_pump_usage_multiplier + Pool: Pump Usage Multiplier + Multiplier on the pool pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-pump'>Pool Pump</a>) is used. + Double + false + false + + + pool_heater_type + Pool: Heater Type + The type of pool heater. Use 'none' if there is no pool heater. + Choice + true + false + none + + + none + none + + + electric resistance + electric resistance + + + gas fired + gas fired + + + heat pump + heat pump + + + + + pool_heater_annual_kwh + Pool: Heater Annual kWh + The annual energy consumption of the electric resistance pool heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + Double + kWh/yr + false + false + + + pool_heater_annual_therm + Pool: Heater Annual therm + The annual energy consumption of the gas fired pool heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + Double + therm/yr + false + false + + + pool_heater_usage_multiplier + Pool: Heater Usage Multiplier + Multiplier on the pool heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + Double + false + false + + + permanent_spa_present + Permanent Spa: Present + Whether there is a permanent spa. + Boolean + true + false + false + + + true + true + + + false + false + + + + + permanent_spa_pump_annual_kwh + Permanent Spa: Pump Annual kWh + The annual energy consumption of the permanent spa pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-pump'>Permanent Spa Pump</a>) is used. + Double + kWh/yr + false + false + + + permanent_spa_pump_usage_multiplier + Permanent Spa: Pump Usage Multiplier + Multiplier on the permanent spa pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-pump'>Permanent Spa Pump</a>) is used. + Double + false + false + + + permanent_spa_heater_type + Permanent Spa: Heater Type + The type of permanent spa heater. Use 'none' if there is no permanent spa heater. + Choice + true + false + none + + + none + none + + + electric resistance + electric resistance + + + gas fired + gas fired + + + heat pump + heat pump + + + + + permanent_spa_heater_annual_kwh + Permanent Spa: Heater Annual kWh + The annual energy consumption of the electric resistance permanent spa heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + Double + kWh/yr + false + false + + + permanent_spa_heater_annual_therm + Permanent Spa: Heater Annual therm + The annual energy consumption of the gas fired permanent spa heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + Double + therm/yr + false + false + + + permanent_spa_heater_usage_multiplier + Permanent Spa: Heater Usage Multiplier + Multiplier on the permanent spa heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + Double + false + false + + + emissions_scenario_names + Emissions: Scenario Names + Names of emissions scenarios. If multiple scenarios, use a comma-separated list. If not provided, no emissions scenarios are calculated. + String + false + false + + + emissions_types + Emissions: Types + Types of emissions (e.g., CO2e, NOx, etc.). If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_electricity_units + Emissions: Electricity Units + Electricity emissions factors units. If multiple scenarios, use a comma-separated list. Only lb/MWh and kg/MWh are allowed. + String + false + false + + + emissions_electricity_values_or_filepaths + Emissions: Electricity Values or File Paths + Electricity emissions factors values, specified as either an annual factor or an absolute/relative path to a file with hourly factors. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_electricity_number_of_header_rows + Emissions: Electricity Files Number of Header Rows + The number of header rows in the electricity emissions factor file. Only applies when an electricity filepath is used. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_electricity_column_numbers + Emissions: Electricity Files Column Numbers + The column number in the electricity emissions factor file. Only applies when an electricity filepath is used. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_fossil_fuel_units + Emissions: Fossil Fuel Units + Fossil fuel emissions factors units. If multiple scenarios, use a comma-separated list. Only lb/MBtu and kg/MBtu are allowed. + String + false + false + + + emissions_natural_gas_values + Emissions: Natural Gas Values + Natural gas emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_propane_values + Emissions: Propane Values + Propane emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_fuel_oil_values + Emissions: Fuel Oil Values + Fuel oil emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_coal_values + Emissions: Coal Values + Coal emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_wood_values + Emissions: Wood Values + Wood emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + emissions_wood_pellets_values + Emissions: Wood Pellets Values + Wood pellets emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_scenario_names + Utility Bills: Scenario Names + Names of utility bill scenarios. If multiple scenarios, use a comma-separated list. If not provided, no utility bills scenarios are calculated. + String + false + false + + + utility_bill_electricity_filepaths + Utility Bills: Electricity File Paths + Electricity tariff file specified as an absolute/relative path to a file with utility rate structure information. Tariff file must be formatted to OpenEI API version 7. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_electricity_fixed_charges + Utility Bills: Electricity Fixed Charges + Electricity utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_natural_gas_fixed_charges + Utility Bills: Natural Gas Fixed Charges + Natural gas utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_propane_fixed_charges + Utility Bills: Propane Fixed Charges + Propane utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_fuel_oil_fixed_charges + Utility Bills: Fuel Oil Fixed Charges + Fuel oil utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_coal_fixed_charges + Utility Bills: Coal Fixed Charges + Coal utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_fixed_charges + Utility Bills: Wood Fixed Charges + Wood utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_pellets_fixed_charges + Utility Bills: Wood Pellets Fixed Charges + Wood pellets utility bill monthly fixed charges. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_electricity_marginal_rates + Utility Bills: Electricity Marginal Rates + Electricity utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_natural_gas_marginal_rates + Utility Bills: Natural Gas Marginal Rates + Natural gas utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_propane_marginal_rates + Utility Bills: Propane Marginal Rates + Propane utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_fuel_oil_marginal_rates + Utility Bills: Fuel Oil Marginal Rates + Fuel oil utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_coal_marginal_rates + Utility Bills: Coal Marginal Rates + Coal utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_marginal_rates + Utility Bills: Wood Marginal Rates + Wood utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_wood_pellets_marginal_rates + Utility Bills: Wood Pellets Marginal Rates + Wood pellets utility bill marginal rates. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_compensation_types + Utility Bills: PV Compensation Types + Utility bill PV compensation types. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_net_metering_annual_excess_sellback_rate_types + Utility Bills: PV Net Metering Annual Excess Sellback Rate Types + Utility bill PV net metering annual excess sellback rate types. Only applies if the PV compensation type is 'NetMetering'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_net_metering_annual_excess_sellback_rates + Utility Bills: PV Net Metering Annual Excess Sellback Rates + Utility bill PV net metering annual excess sellback rates. Only applies if the PV compensation type is 'NetMetering' and the PV annual excess sellback rate type is 'User-Specified'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_feed_in_tariff_rates + Utility Bills: PV Feed-In Tariff Rates + Utility bill PV annual full/gross feed-in tariff rates. Only applies if the PV compensation type is 'FeedInTariff'. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_monthly_grid_connection_fee_units + Utility Bills: PV Monthly Grid Connection Fee Units + Utility bill PV monthly grid connection fee units. If multiple scenarios, use a comma-separated list. + String + false + false + + + utility_bill_pv_monthly_grid_connection_fees + Utility Bills: PV Monthly Grid Connection Fees + Utility bill PV monthly grid connection fees. If multiple scenarios, use a comma-separated list. + String + false + false + + + additional_properties + Additional Properties + Additional properties specified as key-value pairs (i.e., key=value). If multiple additional properties, use a |-separated list. For example, 'LowIncome=false|Remodeled|Description=2-story home in Denver'. These properties will be stored in the HPXML file under /HPXML/SoftwareInfo/extension/AdditionalProperties. + String + false + false + + + combine_like_surfaces + Combine like surfaces? + If true, combines like surfaces to simplify the HPXML file generated. + Boolean + false + false + false + + + true + true + + + false + false + + + + + apply_defaults + Apply Default Values? + If true, applies OS-HPXML default values to the HPXML output file. Setting to true will also force validation of the HPXML output file before applying OS-HPXML default values. + Boolean + false + false + false + + + true + true + + + false + false + + + + + apply_validation + Apply Validation? + If true, validates the HPXML output file. Set to false for faster performance. Note that validation is not needed if the HPXML file will be validated downstream (e.g., via the HPXMLtoOpenStudio measure). + Boolean + false + false + false + + + true + true + + + false + false + + + + + + + + Whole Building.Space Types + + + + Measure Type + ModelMeasure + string + + + + + README.md + md + readme + 65DD9340 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.9.0 + 2.9.0 + + measure.rb + rb + script + 4D94208D + + + geometry.rb + rb + resource + 21677482 + + + test_build_residential_hpxml.rb + rb + test + 40884FE2 + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildResidentialScheduleFile/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildResidentialScheduleFile/measure.xml new file mode 100644 index 00000000..3fe6b1c6 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/BuildResidentialScheduleFile/measure.xml @@ -0,0 +1,937 @@ + + + 3.1 + build_residential_schedule_file + f770b2db-1a9f-4e99-99a7-7f3161a594b1 + 406f0554-ab0a-4bd1-a3c3-9c88a80cc4a8 + 2024-05-03T22:58:10Z + 03F02484 + BuildResidentialScheduleFile + Schedule File Builder + Builds a residential schedule file. + Generates a CSV of schedules at the specified file path, and inserts the CSV schedule file path into the output HPXML file (or overwrites it if one already exists). Stochastic schedules are generated using time-inhomogeneous Markov chains derived from American Time Use Survey data, and supplemented with sampling duration and power level from NEEA RBSA data as well as DHW draw duration and flow rate from Aquacraft/AWWA data. + + + hpxml_path + HPXML File Path + Absolute/relative path of the HPXML file. + String + true + false + + + schedules_column_names + Schedules: Column Names + A comma-separated list of the column names to generate. If not provided, defaults to all columns. Possible column names are: occupants, lighting_interior, lighting_garage, cooking_range, dishwasher, clothes_washer, clothes_dryer, ceiling_fan, plug_loads_other, plug_loads_tv, hot_water_dishwasher, hot_water_clothes_washer, hot_water_fixtures. + String + false + false + + + schedules_random_seed + Schedules: Random Seed + This numeric field is the seed for the random number generator. + Integer + # + false + false + + + output_csv_path + Schedules: Output CSV Path + Absolute/relative path of the CSV file containing occupancy schedules. Relative paths are relative to the HPXML output path. + String + true + false + + + hpxml_output_path + HPXML Output File Path + Absolute/relative output path of the HPXML file. This HPXML file will include the output CSV path. + String + true + false + + + append_output + Append Output? + If true and the output CSV file already exists, appends columns to the file rather than overwriting it. The existing output CSV file must have the same number of rows (i.e., timeseries frequency) as the new columns being appended. + Boolean + false + false + false + + + true + true + + + false + false + + + + + debug + Debug Mode? + If true, writes extra column(s) for informational purposes. + Boolean + false + false + false + + + true + true + + + false + false + + + + + building_id + BuildingID + The ID of the HPXML Building. Only required if there are multiple Building elements in the HPXML file. Use 'ALL' to apply schedules to all the HPXML Buildings (dwelling units) of a multifamily building. + String + false + false + + + + + + Whole Building.Whole Building Schedules + + + + Measure Type + ModelMeasure + string + + + + + README.md + md + readme + 5852D2EF + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.2.0 + 3.2.0 + + measure.rb + rb + script + C8870249 + + + README.md + md + resource + A8A141BE + + + clothes_dryer_consumption_dist.csv + csv + resource + C11EB889 + + + clothes_dryer_duration_dist.csv + csv + resource + E26C2515 + + + clothes_washer_consumption_dist.csv + csv + resource + B82EBBFB + + + clothes_washer_duration_dist.csv + csv + resource + 7F0BFEDA + + + constants.rb + rb + resource + 49CEA4F9 + + + cooking_consumption_dist.csv + csv + resource + 1C8AAA92 + + + cooking_duration_dist.csv + csv + resource + 66C47C80 + + + dishwasher_consumption_dist.csv + csv + resource + 50A1CFBC + + + dishwasher_duration_dist.csv + csv + resource + A7E76021 + + + hot_water_clothes_washer_cluster_size_probability.csv + csv + resource + 2401A66F + + + hot_water_clothes_washer_event_duration_probability.csv + csv + resource + 9D369386 + + + hot_water_dishwasher_cluster_size_probability.csv + csv + resource + 93DCD6FD + + + hot_water_dishwasher_event_duration_probability.csv + csv + resource + 419E598E + + + schedules.rb + rb + resource + B5E26248 + + + schedules_config.md + md + resource + 916BF4C3 + + + shower_cluster_size_probability.csv + csv + resource + DBE185CA + + + shower_event_duration_probability.csv + csv + resource + F8A366F2 + + + weekday/duration_probability/cluster_0_cooking_evening_duration_probability.csv + csv + resource + 4986DD68 + + + weekday/duration_probability/cluster_0_cooking_midday_duration_probability.csv + csv + resource + FBF76CFC + + + weekday/duration_probability/cluster_0_cooking_morning_duration_probability.csv + csv + resource + C54497C3 + + + weekday/duration_probability/cluster_0_dishwashing_evening_duration_probability.csv + csv + resource + 7C95D22E + + + weekday/duration_probability/cluster_0_dishwashing_midday_duration_probability.csv + csv + resource + 05C8905F + + + weekday/duration_probability/cluster_0_dishwashing_morning_duration_probability.csv + csv + resource + DDD537E9 + + + weekday/duration_probability/cluster_0_laundry_evening_duration_probability.csv + csv + resource + C3A5357C + + + weekday/duration_probability/cluster_0_laundry_midday_duration_probability.csv + csv + resource + CA0C9069 + + + weekday/duration_probability/cluster_0_laundry_morning_duration_probability.csv + csv + resource + 8CDCA30E + + + weekday/duration_probability/cluster_0_shower_evening_duration_probability.csv + csv + resource + 54EB60DE + + + weekday/duration_probability/cluster_0_shower_midday_duration_probability.csv + csv + resource + 1AD7139F + + + weekday/duration_probability/cluster_0_shower_morning_duration_probability.csv + csv + resource + 8300EB00 + + + weekday/duration_probability/cluster_1_cooking_evening_duration_probability.csv + csv + resource + B817132C + + + weekday/duration_probability/cluster_1_cooking_midday_duration_probability.csv + csv + resource + D45A9584 + + + weekday/duration_probability/cluster_1_cooking_morning_duration_probability.csv + csv + resource + 407A312C + + + weekday/duration_probability/cluster_1_dishwashing_evening_duration_probability.csv + csv + resource + 652AD618 + + + weekday/duration_probability/cluster_1_dishwashing_midday_duration_probability.csv + csv + resource + 018B32BA + + + weekday/duration_probability/cluster_1_dishwashing_morning_duration_probability.csv + csv + resource + F3A0A48E + + + weekday/duration_probability/cluster_1_laundry_evening_duration_probability.csv + csv + resource + 56010915 + + + weekday/duration_probability/cluster_1_laundry_midday_duration_probability.csv + csv + resource + 9843CD4C + + + weekday/duration_probability/cluster_1_laundry_morning_duration_probability.csv + csv + resource + 746D40E8 + + + weekday/duration_probability/cluster_1_shower_evening_duration_probability.csv + csv + resource + AE9ED85B + + + weekday/duration_probability/cluster_1_shower_midday_duration_probability.csv + csv + resource + D4FBDE56 + + + weekday/duration_probability/cluster_1_shower_morning_duration_probability.csv + csv + resource + D897D4A1 + + + weekday/duration_probability/cluster_2_cooking_evening_duration_probability.csv + csv + resource + 8E88C92D + + + weekday/duration_probability/cluster_2_cooking_midday_duration_probability.csv + csv + resource + 2244D290 + + + weekday/duration_probability/cluster_2_cooking_morning_duration_probability.csv + csv + resource + 0E99EBF7 + + + weekday/duration_probability/cluster_2_dishwashing_evening_duration_probability.csv + csv + resource + 379A086A + + + weekday/duration_probability/cluster_2_dishwashing_midday_duration_probability.csv + csv + resource + F9891815 + + + weekday/duration_probability/cluster_2_dishwashing_morning_duration_probability.csv + csv + resource + 23E18003 + + + weekday/duration_probability/cluster_2_laundry_evening_duration_probability.csv + csv + resource + B250D83A + + + weekday/duration_probability/cluster_2_laundry_midday_duration_probability.csv + csv + resource + ACB5BCD2 + + + weekday/duration_probability/cluster_2_laundry_morning_duration_probability.csv + csv + resource + 26CFB684 + + + weekday/duration_probability/cluster_2_shower_evening_duration_probability.csv + csv + resource + 1CCBCB69 + + + weekday/duration_probability/cluster_2_shower_midday_duration_probability.csv + csv + resource + 41C774DB + + + weekday/duration_probability/cluster_2_shower_morning_duration_probability.csv + csv + resource + 84737EBC + + + weekday/duration_probability/cluster_3_cooking_evening_duration_probability.csv + csv + resource + 6F2B7686 + + + weekday/duration_probability/cluster_3_cooking_midday_duration_probability.csv + csv + resource + 34A7D406 + + + weekday/duration_probability/cluster_3_cooking_morning_duration_probability.csv + csv + resource + 615CD1D7 + + + weekday/duration_probability/cluster_3_dishwashing_evening_duration_probability.csv + csv + resource + DACA45E5 + + + weekday/duration_probability/cluster_3_dishwashing_midday_duration_probability.csv + csv + resource + D119B4D0 + + + weekday/duration_probability/cluster_3_dishwashing_morning_duration_probability.csv + csv + resource + 120B9428 + + + weekday/duration_probability/cluster_3_laundry_evening_duration_probability.csv + csv + resource + 267E8883 + + + weekday/duration_probability/cluster_3_laundry_midday_duration_probability.csv + csv + resource + C3A5DA8B + + + weekday/duration_probability/cluster_3_laundry_morning_duration_probability.csv + csv + resource + D614AB97 + + + weekday/duration_probability/cluster_3_shower_evening_duration_probability.csv + csv + resource + 7FFBFD68 + + + weekday/duration_probability/cluster_3_shower_midday_duration_probability.csv + csv + resource + 8C62CEDB + + + weekday/duration_probability/cluster_3_shower_morning_duration_probability.csv + csv + resource + E3A10BE2 + + + weekday/mkv_chain_initial_prob_cluster_0.csv + csv + resource + 0AC88E84 + + + weekday/mkv_chain_initial_prob_cluster_1.csv + csv + resource + AE298C53 + + + weekday/mkv_chain_initial_prob_cluster_2.csv + csv + resource + 42FB1588 + + + weekday/mkv_chain_initial_prob_cluster_3.csv + csv + resource + 5AAC2E9E + + + weekday/mkv_chain_transition_prob_cluster_0.csv + csv + resource + 1BCCAC5C + + + weekday/mkv_chain_transition_prob_cluster_1.csv + csv + resource + BBB50EE1 + + + weekday/mkv_chain_transition_prob_cluster_2.csv + csv + resource + 7DBA15B4 + + + weekday/mkv_chain_transition_prob_cluster_3.csv + csv + resource + CAC5CB5F + + + weekday/state_and_monthly_schedule_shift.csv + csv + resource + FFDA057E + + + weekend/duration_probability/cluster_0_cooking_evening_duration_probability.csv + csv + resource + F6CB80B1 + + + weekend/duration_probability/cluster_0_cooking_midday_duration_probability.csv + csv + resource + 3CFFA67D + + + weekend/duration_probability/cluster_0_cooking_morning_duration_probability.csv + csv + resource + 44F4FB7B + + + weekend/duration_probability/cluster_0_dishwashing_evening_duration_probability.csv + csv + resource + AB0BE66C + + + weekend/duration_probability/cluster_0_dishwashing_midday_duration_probability.csv + csv + resource + 9120E2FD + + + weekend/duration_probability/cluster_0_dishwashing_morning_duration_probability.csv + csv + resource + A4EB422A + + + weekend/duration_probability/cluster_0_laundry_evening_duration_probability.csv + csv + resource + 8ABEC58D + + + weekend/duration_probability/cluster_0_laundry_midday_duration_probability.csv + csv + resource + 80C3640C + + + weekend/duration_probability/cluster_0_laundry_morning_duration_probability.csv + csv + resource + 6DA7C30F + + + weekend/duration_probability/cluster_0_shower_evening_duration_probability.csv + csv + resource + ED525953 + + + weekend/duration_probability/cluster_0_shower_midday_duration_probability.csv + csv + resource + 332088E2 + + + weekend/duration_probability/cluster_0_shower_morning_duration_probability.csv + csv + resource + 86F7DFDE + + + weekend/duration_probability/cluster_1_cooking_evening_duration_probability.csv + csv + resource + 2209A5BF + + + weekend/duration_probability/cluster_1_cooking_midday_duration_probability.csv + csv + resource + 768859FF + + + weekend/duration_probability/cluster_1_cooking_morning_duration_probability.csv + csv + resource + 2927CF95 + + + weekend/duration_probability/cluster_1_dishwashing_evening_duration_probability.csv + csv + resource + B304EB88 + + + weekend/duration_probability/cluster_1_dishwashing_midday_duration_probability.csv + csv + resource + 5E7982A4 + + + weekend/duration_probability/cluster_1_dishwashing_morning_duration_probability.csv + csv + resource + 58BCE2B4 + + + weekend/duration_probability/cluster_1_laundry_evening_duration_probability.csv + csv + resource + 9FEF76FF + + + weekend/duration_probability/cluster_1_laundry_midday_duration_probability.csv + csv + resource + 63F777DC + + + weekend/duration_probability/cluster_1_laundry_morning_duration_probability.csv + csv + resource + E731D060 + + + weekend/duration_probability/cluster_1_shower_evening_duration_probability.csv + csv + resource + 3E947E31 + + + weekend/duration_probability/cluster_1_shower_midday_duration_probability.csv + csv + resource + FE78DD0B + + + weekend/duration_probability/cluster_1_shower_morning_duration_probability.csv + csv + resource + C6D1F192 + + + weekend/duration_probability/cluster_2_cooking_evening_duration_probability.csv + csv + resource + 26C904EC + + + weekend/duration_probability/cluster_2_cooking_midday_duration_probability.csv + csv + resource + 51CF51D3 + + + weekend/duration_probability/cluster_2_cooking_morning_duration_probability.csv + csv + resource + 34855051 + + + weekend/duration_probability/cluster_2_dishwashing_evening_duration_probability.csv + csv + resource + 479CD610 + + + weekend/duration_probability/cluster_2_dishwashing_midday_duration_probability.csv + csv + resource + 29AAEE1E + + + weekend/duration_probability/cluster_2_dishwashing_morning_duration_probability.csv + csv + resource + F3A11DE1 + + + weekend/duration_probability/cluster_2_laundry_evening_duration_probability.csv + csv + resource + EA68360B + + + weekend/duration_probability/cluster_2_laundry_midday_duration_probability.csv + csv + resource + 78DC5051 + + + weekend/duration_probability/cluster_2_laundry_morning_duration_probability.csv + csv + resource + 1D1FB07E + + + weekend/duration_probability/cluster_2_shower_evening_duration_probability.csv + csv + resource + 829DBC41 + + + weekend/duration_probability/cluster_2_shower_midday_duration_probability.csv + csv + resource + E97FEBA7 + + + weekend/duration_probability/cluster_2_shower_morning_duration_probability.csv + csv + resource + 2DDD3D0B + + + weekend/duration_probability/cluster_3_cooking_evening_duration_probability.csv + csv + resource + EC70F74E + + + weekend/duration_probability/cluster_3_cooking_midday_duration_probability.csv + csv + resource + 7C8976F3 + + + weekend/duration_probability/cluster_3_cooking_morning_duration_probability.csv + csv + resource + 5825338A + + + weekend/duration_probability/cluster_3_dishwashing_evening_duration_probability.csv + csv + resource + 37B5AF9C + + + weekend/duration_probability/cluster_3_dishwashing_midday_duration_probability.csv + csv + resource + EDD63C21 + + + weekend/duration_probability/cluster_3_dishwashing_morning_duration_probability.csv + csv + resource + 99F23B28 + + + weekend/duration_probability/cluster_3_laundry_evening_duration_probability.csv + csv + resource + C3963FF9 + + + weekend/duration_probability/cluster_3_laundry_midday_duration_probability.csv + csv + resource + 0B329C66 + + + weekend/duration_probability/cluster_3_laundry_morning_duration_probability.csv + csv + resource + 1761FEF6 + + + weekend/duration_probability/cluster_3_shower_evening_duration_probability.csv + csv + resource + 35AD8E7F + + + weekend/duration_probability/cluster_3_shower_midday_duration_probability.csv + csv + resource + DAF2049F + + + weekend/duration_probability/cluster_3_shower_morning_duration_probability.csv + csv + resource + C2CA1416 + + + weekend/mkv_chain_initial_prob_cluster_0.csv + csv + resource + 3F16AE89 + + + weekend/mkv_chain_initial_prob_cluster_1.csv + csv + resource + 49FEAE44 + + + weekend/mkv_chain_initial_prob_cluster_2.csv + csv + resource + B48A47D6 + + + weekend/mkv_chain_initial_prob_cluster_3.csv + csv + resource + B47E790B + + + weekend/mkv_chain_transition_prob_cluster_0.csv + csv + resource + E4089705 + + + weekend/mkv_chain_transition_prob_cluster_1.csv + csv + resource + 25700CD2 + + + weekend/mkv_chain_transition_prob_cluster_2.csv + csv + resource + 032B846A + + + weekend/mkv_chain_transition_prob_cluster_3.csv + csv + resource + F0F0F886 + + + weekend/state_and_monthly_schedule_shift.csv + csv + resource + 5FC694CF + + + test_build_residential_schedule_file.rb + rb + test + 8B111B4B + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/HPXMLtoOpenStudio/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/HPXMLtoOpenStudio/measure.xml new file mode 100644 index 00000000..fad5806b --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/HPXMLtoOpenStudio/measure.xml @@ -0,0 +1,735 @@ + + + 3.1 + hpxm_lto_openstudio + b1543b30-9465-45ff-ba04-1d1f85e763bc + a3010ed3-bfec-4d89-b425-0ec627863167 + 2024-05-18T15:40:55Z + D8922A73 + HPXMLtoOpenStudio + HPXML to OpenStudio Translator + Translates HPXML file to OpenStudio Model + TODO + + + hpxml_path + HPXML File Path + Absolute/relative path of the HPXML file. + String + true + false + + + output_dir + Directory for Output Files + Absolute/relative path for the output files directory. + String + true + false + + + output_format + Output Format + The file format of the HVAC design load details output. + Choice + false + false + csv + + + csv + csv + + + json + json + + + msgpack + msgpack + + + + + annual_output_file_name + Annual Output File Name + The name of the file w/ HVAC design loads and capacities. If not provided, defaults to 'results_annual.csv' (or 'results_annual.json' or 'results_annual.msgpack'). + String + false + false + results_annual + + + design_load_details_output_file_name + Design Load Details Output File Name + The name of the file w/ additional HVAC design load details. If not provided, defaults to 'results_design_load_details.csv' (or 'results_design_load_details.json' or 'results_design_load_details.msgpack'). + String + false + false + results_design_load_details + + + add_component_loads + Add component loads? + If true, adds the calculation of heating/cooling component loads (not enabled by default for faster performance). + Boolean + false + false + false + + + true + true + + + false + false + + + + + building_id + BuildingID + The ID of the HPXML Building. Only required if the HPXML has multiple Building elements and WholeSFAorMFBuildingSimulation is not true. + String + false + false + + + skip_validation + Skip Validation? + If true, bypasses HPXML input validation for faster performance. WARNING: This should only be used if the supplied HPXML file has already been validated against the Schema & Schematron documents. + Boolean + false + false + false + + + true + true + + + false + false + + + + + debug + Debug Mode? + If true: 1) Writes in.osm file, 2) Generates additional log output, and 3) Creates all EnergyPlus output files. + Boolean + false + false + false + + + true + true + + + false + false + + + + + + + + Whole Building.Space Types + + + + Measure Type + ModelMeasure + string + + + Intended Software Tool + Apply Measure Now + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + 394CB1D5 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.3.0 + 3.3.0 + + measure.rb + rb + script + 4D2BAEDD + + + airflow.rb + rb + resource + CC83F731 + + + battery.rb + rb + resource + E8ED081B + + + constants.rb + rb + resource + 7B2EC023 + + + constructions.rb + rb + resource + 1F9097D1 + + + data/Xing_okstate_0664D_13659_Table_A-3.csv + csv + resource + 50B7055C + + + data/ashrae_622_wsf.csv + csv + resource + 308F75BA + + + data/cambium/LRMER_95DecarbBy2035.csv + csv + resource + 5E60A9EE + + + data/cambium/LRMER_95DecarbBy2050.csv + csv + resource + 01B9A892 + + + data/cambium/LRMER_HighRECosts.csv + csv + resource + A46DE564 + + + data/cambium/LRMER_LowRECosts.csv + csv + resource + 58B8E01E + + + data/cambium/LRMER_MidCase.csv + csv + resource + 4C7D519B + + + data/cambium/README.md + md + resource + FC171B98 + + + data/climate_zones.csv + csv + resource + 63C6A1E2 + + + data/g_functions/C_configurations_5m_v1.0.json + json + resource + E97DCCDD + + + data/g_functions/L_configurations_5m_v1.0.json + json + resource + 6B2B3787 + + + data/g_functions/LopU_configurations_5m_v1.0.json + json + resource + B13FA813 + + + data/g_functions/Open_configurations_5m_v1.0.json + json + resource + FF25A024 + + + data/g_functions/README.md + md + resource + 48D1301C + + + data/g_functions/U_configurations_5m_v1.0.json + json + resource + B5BEF270 + + + data/g_functions/rectangle_5m_v1.0.json + json + resource + 25FFB6A8 + + + data/g_functions/util.rb + rb + resource + 2BEF07FA + + + data/unavailable_periods.csv + csv + resource + 73BFECE2 + + + energyplus.rb + rb + resource + 8DB21849 + + + generator.rb + rb + resource + C0DD8C33 + + + geometry.rb + rb + resource + D9A7A70C + + + hotwater_appliances.rb + rb + resource + 063242D8 + + + hpxml.rb + rb + resource + 65FDCD3D + + + hpxml_defaults.rb + rb + resource + DCEA4986 + + + hpxml_schema/HPXML.xsd + xsd + resource + DE05BDEC + + + hpxml_schema/README.md + md + resource + D05DFB8A + + + hpxml_schematron/EPvalidator.xml + xml + resource + 960E3924 + + + hpxml_schematron/iso-schematron.xsd + xsd + resource + 2785B05C + + + hvac.rb + rb + resource + 0370F183 + + + hvac_sizing.rb + rb + resource + 8526074F + + + lighting.rb + rb + resource + 720F24C6 + + + location.rb + rb + resource + AC8FD8C6 + + + materials.rb + rb + resource + 74EB5B1D + + + meta_measure.rb + rb + resource + 24807304 + + + minitest_helper.rb + rb + resource + 923B05E5 + + + misc_loads.rb + rb + resource + 8BDAA188 + + + output.rb + rb + resource + 4E4BE5F9 + + + psychrometrics.rb + rb + resource + B81E536D + + + pv.rb + rb + resource + B4742C47 + + + schedule_files/battery.csv + csv + resource + C1350909 + + + schedule_files/hvac-variable-system-maximum-power-ratios-varied.csv + csv + resource + B93B3701 + + + schedule_files/occupancy-non-stochastic.csv + csv + resource + A54803E1 + + + schedule_files/occupancy-stochastic-10-mins.csv + csv + resource + F88479B3 + + + schedule_files/occupancy-stochastic-30-mins.csv + csv + resource + F88479B3 + + + schedule_files/occupancy-stochastic.csv + csv + resource + B0187567 + + + schedule_files/occupancy-stochastic_2.csv + csv + resource + 86E85543 + + + schedule_files/occupancy-stochastic_3.csv + csv + resource + 902A544E + + + schedule_files/occupancy-stochastic_4.csv + csv + resource + 3A0C7E92 + + + schedule_files/occupancy-stochastic_5.csv + csv + resource + F0FB0913 + + + schedule_files/occupancy-stochastic_6.csv + csv + resource + B071AE65 + + + schedule_files/setpoints-10-mins.csv + csv + resource + BC2195A6 + + + schedule_files/setpoints-cooling-only.csv + csv + resource + 7465D8DD + + + schedule_files/setpoints-daily-schedules.csv + csv + resource + A60258DE + + + schedule_files/setpoints-daily-setbacks.csv + csv + resource + 74292B8C + + + schedule_files/setpoints-heating-only.csv + csv + resource + BD935921 + + + schedule_files/setpoints.csv + csv + resource + 706A63BC + + + schedule_files/water-heater-operating-modes.csv + csv + resource + 86F45903 + + + schedule_files/water-heater-setpoints-10-mins.csv + csv + resource + F9C90051 + + + schedule_files/water-heater-setpoints.csv + csv + resource + 2DFF87CD + + + schedules.rb + rb + resource + 42F9AD9E + + + simcontrols.rb + rb + resource + DA4D108D + + + unit_conversions.rb + rb + resource + 61BEEB21 + + + util.rb + rb + resource + 79EA8844 + + + utility_bills.rb + rb + resource + 410C185C + + + version.rb + rb + resource + 02782C5B + + + waterheater.rb + rb + resource + E1F1BEAF + + + weather.rb + rb + resource + 29B9C210 + + + xmlhelper.rb + rb + resource + 17D30902 + + + xmlvalidator.rb + rb + resource + 87937B84 + + + test_airflow.rb + rb + test + DDCAE919 + + + test_battery.rb + rb + test + 06598B29 + + + test_defaults.rb + rb + test + A84FE910 + + + test_enclosure.rb + rb + test + 68F1127B + + + test_generator.rb + rb + test + C4F6CF9B + + + test_hotwater_appliance.rb + rb + test + E3A99BA1 + + + test_hvac.rb + rb + test + 8CDA3FA3 + + + test_hvac_sizing.rb + rb + test + BA43A919 + + + test_lighting.rb + rb + test + A15B8208 + + + test_location.rb + rb + test + 663B10FB + + + test_miscloads.rb + rb + test + 0135301B + + + test_pv.rb + rb + test + DB1DEFCF + + + test_schedules.rb + rb + test + C6CCF641 + + + test_simcontrols.rb + rb + test + 211EB384 + + + test_validation.rb + rb + test + 81FC99DF + + + test_water_heater.rb + rb + test + 485EE23B + + + test_weather.rb + rb + test + 156AAC98 + + + util.rb + rb + test + 71ED3EE3 + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/QOIReport/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/QOIReport/measure.xml new file mode 100644 index 00000000..06ec3dea --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/QOIReport/measure.xml @@ -0,0 +1,63 @@ + + + 3.1 + qoi_report + be0bfc7f-25c6-435a-9acd-2f5fa8ac817d + 7f664618-267c-40c9-9245-03246f5e633c + 2023-11-28T23:34:12Z + 15BF4E57 + QOIReport + QOI Report + Reports uncertainty quantification quantities of interest. + TODO + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + + + README.md + md + readme + A65EDE50 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.9.0 + 2.9.0 + + measure.rb + rb + script + 7CE1484F + + + constants.rb + rb + resource + 4A01E6CA + + + qoi_report_test.rb + rb + test + CCE950C4 + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml new file mode 100644 index 00000000..f8f0ed72 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportHPXMLOutput/measure.xml @@ -0,0 +1,91 @@ + + + 3.1 + report_hpxml_output + 9561a0d7-60ad-48c5-8337-2461df044d80 + 222e94cd-c586-4745-8cde-55e933a00392 + 2024-01-26T00:28:04Z + 9BF1E6AC + ReportHPXMLOutput + HPXML Output Report + Reports HPXML outputs for residential HPXML-based models. + Parses the HPXML file and reports pre-defined outputs. + + + output_format + Output Format + The file format of the annual (and timeseries, if requested) outputs. + Choice + false + false + csv + + + csv + csv + + + json + json + + + msgpack + msgpack + + + + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + 0BB92B1A + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.2.0 + 3.2.0 + + measure.rb + rb + script + BA1983C8 + + + constants.rb + rb + resource + 64289999 + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportSimulationOutput/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportSimulationOutput/measure.xml new file mode 100644 index 00000000..4f6cc261 --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportSimulationOutput/measure.xml @@ -0,0 +1,1941 @@ + + + 3.1 + report_simulation_output + df9d170c-c21a-4130-866d-0d46b06073fd + ed19a212-e363-4767-a721-201bc1f56936 + 2024-05-17T20:22:37Z + 9BF1E6AC + ReportSimulationOutput + HPXML Simulation Output Report + Reports simulation outputs for residential HPXML-based models. + Processes EnergyPlus simulation outputs in order to generate an annual output file and an optional timeseries output file. + + + output_format + Output Format + The file format of the annual (and timeseries, if requested) outputs. If 'csv_dview' is selected, the timeseries CSV file will include header rows that facilitate opening the file in the DView application. + Choice + false + false + csv + + + csv + csv + + + json + json + + + msgpack + msgpack + + + csv_dview + csv_dview + + + + + include_annual_total_consumptions + Generate Annual Output: Total Consumptions + Generates annual energy consumptions for the total building. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_fuel_consumptions + Generate Annual Output: Fuel Consumptions + Generates annual energy consumptions for each fuel type. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_end_use_consumptions + Generate Annual Output: End Use Consumptions + Generates annual energy consumptions for each end use. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_system_use_consumptions + Generate Annual Output: System Use Consumptions + Generates annual energy consumptions for each end use of each HVAC and water heating system. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_emissions + Generate Annual Output: Emissions + Generates annual emissions. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_emission_fuels + Generate Annual Output: Emission Fuel Uses + Generates annual emissions for each fuel type. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_emission_end_uses + Generate Annual Output: Emission End Uses + Generates annual emissions for each end use. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_total_loads + Generate Annual Output: Total Loads + Generates annual heating, cooling, and hot water loads. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_unmet_hours + Generate Annual Output: Unmet Hours + Generates annual unmet hours for heating and cooling. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_peak_fuels + Generate Annual Output: Peak Fuels + Generates annual electricity peaks for summer/winter. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_peak_loads + Generate Annual Output: Peak Loads + Generates annual peak loads for heating/cooling. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_component_loads + Generate Annual Output: Component Loads + Generates annual heating and cooling loads disaggregated by component type. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_hot_water_uses + Generate Annual Output: Hot Water Uses + Generates annual hot water usages for each end use. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_hvac_summary + Generate Annual Output: HVAC Summary + Generates HVAC capacities, design temperatures, and design loads. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_annual_resilience + Generate Annual Output: Resilience + Generates annual resilience outputs. + Boolean + false + false + true + + + true + true + + + false + false + + + + + timeseries_frequency + Timeseries Reporting Frequency + The frequency at which to report timeseries output data. Using 'none' will disable timeseries outputs. + Choice + false + false + none + + + none + none + + + timestep + timestep + + + hourly + hourly + + + daily + daily + + + monthly + monthly + + + + + include_timeseries_total_consumptions + Generate Timeseries Output: Total Consumptions + Generates timeseries energy consumptions for the total building. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_fuel_consumptions + Generate Timeseries Output: Fuel Consumptions + Generates timeseries energy consumptions for each fuel type. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_end_use_consumptions + Generate Timeseries Output: End Use Consumptions + Generates timeseries energy consumptions for each end use. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_system_use_consumptions + Generate Timeseries Output: System Use Consumptions + Generates timeseries energy consumptions for each end use of each HVAC and water heating system. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_emissions + Generate Timeseries Output: Emissions + Generates timeseries emissions. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_emission_fuels + Generate Timeseries Output: Emission Fuel Uses + Generates timeseries emissions for each fuel type. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_emission_end_uses + Generate Timeseries Output: Emission End Uses + Generates timeseries emissions for each end use. Requires the appropriate HPXML inputs to be specified. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_hot_water_uses + Generate Timeseries Output: Hot Water Uses + Generates timeseries hot water usages for each end use. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_total_loads + Generate Timeseries Output: Total Loads + Generates timeseries heating, cooling, and hot water loads. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_component_loads + Generate Timeseries Output: Component Loads + Generates timeseries heating and cooling loads disaggregated by component type. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_unmet_hours + Generate Timeseries Output: Unmet Hours + Generates timeseries unmet hours for heating and cooling. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_zone_temperatures + Generate Timeseries Output: Zone Temperatures + Generates timeseries temperatures for each thermal zone. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_airflows + Generate Timeseries Output: Airflows + Generates timeseries airflows. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_weather + Generate Timeseries Output: Weather + Generates timeseries weather data. + Boolean + false + false + false + + + true + true + + + false + false + + + + + include_timeseries_resilience + Generate Timeseries Output: Resilience + Generates timeseries resilience outputs. + Boolean + false + false + false + + + true + true + + + false + false + + + + + timeseries_timestamp_convention + Generate Timeseries Output: Timestamp Convention + Determines whether timeseries timestamps use the start-of-period or end-of-period convention. Doesn't apply if the output format is 'csv_dview'. + Choice + false + false + start + + + start + start + + + end + end + + + + + timeseries_num_decimal_places + Generate Timeseries Output: Number of Decimal Places + Allows overriding the default number of decimal places for timeseries output. Does not apply if output format is msgpack, where no rounding is performed because there is no file size penalty to storing full precision. + Integer + false + false + + + add_timeseries_dst_column + Generate Timeseries Output: Add TimeDST Column + Optionally add, in addition to the default local standard Time column, a local clock TimeDST column. Requires that daylight saving time is enabled. + Boolean + false + false + false + + + true + true + + + false + false + + + + + add_timeseries_utc_column + Generate Timeseries Output: Add TimeUTC Column + Optionally add, in addition to the default local standard Time column, a local clock TimeUTC column. If the time zone UTC offset is not provided in the HPXML file, the time zone in the EPW header will be used. + Boolean + false + false + false + + + true + true + + + false + false + + + + + user_output_variables + Generate Timeseries Output: EnergyPlus Output Variables + Optionally generates timeseries EnergyPlus output variables. If multiple output variables are desired, use a comma-separated list. Do not include key values; by default all key values will be requested. Example: "Zone People Occupant Count, Zone People Total Heating Energy" + String + false + false + + + annual_output_file_name + Annual Output File Name + If not provided, defaults to 'results_annual.csv' (or 'results_annual.json' or 'results_annual.msgpack'). + String + false + false + + + timeseries_output_file_name + Timeseries Output File Name + If not provided, defaults to 'results_timeseries.csv' (or 'results_timeseries.json' or 'results_timeseries.msgpack'). + String + false + false + + + + + energy_use_total_m_btu + energy_use_total_m_btu + energy_use_total_m_btu + Double + false + + + energy_use_net_m_btu + energy_use_net_m_btu + energy_use_net_m_btu + Double + false + + + fuel_use_electricity_total_m_btu + fuel_use_electricity_total_m_btu + fuel_use_electricity_total_m_btu + Double + false + + + fuel_use_natural_gas_total_m_btu + fuel_use_natural_gas_total_m_btu + fuel_use_natural_gas_total_m_btu + Double + false + + + fuel_use_fuel_oil_total_m_btu + fuel_use_fuel_oil_total_m_btu + fuel_use_fuel_oil_total_m_btu + Double + false + + + fuel_use_propane_total_m_btu + fuel_use_propane_total_m_btu + fuel_use_propane_total_m_btu + Double + false + + + fuel_use_wood_cord_total_m_btu + fuel_use_wood_cord_total_m_btu + fuel_use_wood_cord_total_m_btu + Double + false + + + fuel_use_wood_pellets_total_m_btu + fuel_use_wood_pellets_total_m_btu + fuel_use_wood_pellets_total_m_btu + Double + false + + + fuel_use_coal_total_m_btu + fuel_use_coal_total_m_btu + fuel_use_coal_total_m_btu + Double + false + + + end_use_electricity_heating_m_btu + end_use_electricity_heating_m_btu + end_use_electricity_heating_m_btu + Double + false + + + end_use_electricity_heating_fans_pumps_m_btu + end_use_electricity_heating_fans_pumps_m_btu + end_use_electricity_heating_fans_pumps_m_btu + Double + false + + + end_use_electricity_heating_heat_pump_backup_m_btu + end_use_electricity_heating_heat_pump_backup_m_btu + end_use_electricity_heating_heat_pump_backup_m_btu + Double + false + + + end_use_electricity_heating_heat_pump_backup_fans_pumps_m_btu + end_use_electricity_heating_heat_pump_backup_fans_pumps_m_btu + end_use_electricity_heating_heat_pump_backup_fans_pumps_m_btu + Double + false + + + end_use_electricity_cooling_m_btu + end_use_electricity_cooling_m_btu + end_use_electricity_cooling_m_btu + Double + false + + + end_use_electricity_cooling_fans_pumps_m_btu + end_use_electricity_cooling_fans_pumps_m_btu + end_use_electricity_cooling_fans_pumps_m_btu + Double + false + + + end_use_electricity_hot_water_m_btu + end_use_electricity_hot_water_m_btu + end_use_electricity_hot_water_m_btu + Double + false + + + end_use_electricity_hot_water_recirc_pump_m_btu + end_use_electricity_hot_water_recirc_pump_m_btu + end_use_electricity_hot_water_recirc_pump_m_btu + Double + false + + + end_use_electricity_hot_water_solar_thermal_pump_m_btu + end_use_electricity_hot_water_solar_thermal_pump_m_btu + end_use_electricity_hot_water_solar_thermal_pump_m_btu + Double + false + + + end_use_electricity_lighting_interior_m_btu + end_use_electricity_lighting_interior_m_btu + end_use_electricity_lighting_interior_m_btu + Double + false + + + end_use_electricity_lighting_garage_m_btu + end_use_electricity_lighting_garage_m_btu + end_use_electricity_lighting_garage_m_btu + Double + false + + + end_use_electricity_lighting_exterior_m_btu + end_use_electricity_lighting_exterior_m_btu + end_use_electricity_lighting_exterior_m_btu + Double + false + + + end_use_electricity_mech_vent_m_btu + end_use_electricity_mech_vent_m_btu + end_use_electricity_mech_vent_m_btu + Double + false + + + end_use_electricity_mech_vent_preheating_m_btu + end_use_electricity_mech_vent_preheating_m_btu + end_use_electricity_mech_vent_preheating_m_btu + Double + false + + + end_use_electricity_mech_vent_precooling_m_btu + end_use_electricity_mech_vent_precooling_m_btu + end_use_electricity_mech_vent_precooling_m_btu + Double + false + + + end_use_electricity_whole_house_fan_m_btu + end_use_electricity_whole_house_fan_m_btu + end_use_electricity_whole_house_fan_m_btu + Double + false + + + end_use_electricity_refrigerator_m_btu + end_use_electricity_refrigerator_m_btu + end_use_electricity_refrigerator_m_btu + Double + false + + + end_use_electricity_freezer_m_btu + end_use_electricity_freezer_m_btu + end_use_electricity_freezer_m_btu + Double + false + + + end_use_electricity_dehumidifier_m_btu + end_use_electricity_dehumidifier_m_btu + end_use_electricity_dehumidifier_m_btu + Double + false + + + end_use_electricity_dishwasher_m_btu + end_use_electricity_dishwasher_m_btu + end_use_electricity_dishwasher_m_btu + Double + false + + + end_use_electricity_clothes_washer_m_btu + end_use_electricity_clothes_washer_m_btu + end_use_electricity_clothes_washer_m_btu + Double + false + + + end_use_electricity_clothes_dryer_m_btu + end_use_electricity_clothes_dryer_m_btu + end_use_electricity_clothes_dryer_m_btu + Double + false + + + end_use_electricity_range_oven_m_btu + end_use_electricity_range_oven_m_btu + end_use_electricity_range_oven_m_btu + Double + false + + + end_use_electricity_ceiling_fan_m_btu + end_use_electricity_ceiling_fan_m_btu + end_use_electricity_ceiling_fan_m_btu + Double + false + + + end_use_electricity_television_m_btu + end_use_electricity_television_m_btu + end_use_electricity_television_m_btu + Double + false + + + end_use_electricity_plug_loads_m_btu + end_use_electricity_plug_loads_m_btu + end_use_electricity_plug_loads_m_btu + Double + false + + + end_use_electricity_electric_vehicle_charging_m_btu + end_use_electricity_electric_vehicle_charging_m_btu + end_use_electricity_electric_vehicle_charging_m_btu + Double + false + + + end_use_electricity_well_pump_m_btu + end_use_electricity_well_pump_m_btu + end_use_electricity_well_pump_m_btu + Double + false + + + end_use_electricity_pool_heater_m_btu + end_use_electricity_pool_heater_m_btu + end_use_electricity_pool_heater_m_btu + Double + false + + + end_use_electricity_pool_pump_m_btu + end_use_electricity_pool_pump_m_btu + end_use_electricity_pool_pump_m_btu + Double + false + + + end_use_electricity_permanent_spa_heater_m_btu + end_use_electricity_permanent_spa_heater_m_btu + end_use_electricity_permanent_spa_heater_m_btu + Double + false + + + end_use_electricity_permanent_spa_pump_m_btu + end_use_electricity_permanent_spa_pump_m_btu + end_use_electricity_permanent_spa_pump_m_btu + Double + false + + + end_use_electricity_pv_m_btu + end_use_electricity_pv_m_btu + end_use_electricity_pv_m_btu + Double + false + + + end_use_electricity_generator_m_btu + end_use_electricity_generator_m_btu + end_use_electricity_generator_m_btu + Double + false + + + end_use_electricity_battery_m_btu + end_use_electricity_battery_m_btu + end_use_electricity_battery_m_btu + Double + false + + + end_use_natural_gas_heating_m_btu + end_use_natural_gas_heating_m_btu + end_use_natural_gas_heating_m_btu + Double + false + + + end_use_natural_gas_heating_heat_pump_backup_m_btu + end_use_natural_gas_heating_heat_pump_backup_m_btu + end_use_natural_gas_heating_heat_pump_backup_m_btu + Double + false + + + end_use_natural_gas_hot_water_m_btu + end_use_natural_gas_hot_water_m_btu + end_use_natural_gas_hot_water_m_btu + Double + false + + + end_use_natural_gas_clothes_dryer_m_btu + end_use_natural_gas_clothes_dryer_m_btu + end_use_natural_gas_clothes_dryer_m_btu + Double + false + + + end_use_natural_gas_range_oven_m_btu + end_use_natural_gas_range_oven_m_btu + end_use_natural_gas_range_oven_m_btu + Double + false + + + end_use_natural_gas_mech_vent_preheating_m_btu + end_use_natural_gas_mech_vent_preheating_m_btu + end_use_natural_gas_mech_vent_preheating_m_btu + Double + false + + + end_use_natural_gas_pool_heater_m_btu + end_use_natural_gas_pool_heater_m_btu + end_use_natural_gas_pool_heater_m_btu + Double + false + + + end_use_natural_gas_permanent_spa_heater_m_btu + end_use_natural_gas_permanent_spa_heater_m_btu + end_use_natural_gas_permanent_spa_heater_m_btu + Double + false + + + end_use_natural_gas_grill_m_btu + end_use_natural_gas_grill_m_btu + end_use_natural_gas_grill_m_btu + Double + false + + + end_use_natural_gas_lighting_m_btu + end_use_natural_gas_lighting_m_btu + end_use_natural_gas_lighting_m_btu + Double + false + + + end_use_natural_gas_fireplace_m_btu + end_use_natural_gas_fireplace_m_btu + end_use_natural_gas_fireplace_m_btu + Double + false + + + end_use_natural_gas_generator_m_btu + end_use_natural_gas_generator_m_btu + end_use_natural_gas_generator_m_btu + Double + false + + + end_use_fuel_oil_heating_m_btu + end_use_fuel_oil_heating_m_btu + end_use_fuel_oil_heating_m_btu + Double + false + + + end_use_fuel_oil_heating_heat_pump_backup_m_btu + end_use_fuel_oil_heating_heat_pump_backup_m_btu + end_use_fuel_oil_heating_heat_pump_backup_m_btu + Double + false + + + end_use_fuel_oil_hot_water_m_btu + end_use_fuel_oil_hot_water_m_btu + end_use_fuel_oil_hot_water_m_btu + Double + false + + + end_use_fuel_oil_clothes_dryer_m_btu + end_use_fuel_oil_clothes_dryer_m_btu + end_use_fuel_oil_clothes_dryer_m_btu + Double + false + + + end_use_fuel_oil_range_oven_m_btu + end_use_fuel_oil_range_oven_m_btu + end_use_fuel_oil_range_oven_m_btu + Double + false + + + end_use_fuel_oil_mech_vent_preheating_m_btu + end_use_fuel_oil_mech_vent_preheating_m_btu + end_use_fuel_oil_mech_vent_preheating_m_btu + Double + false + + + end_use_fuel_oil_grill_m_btu + end_use_fuel_oil_grill_m_btu + end_use_fuel_oil_grill_m_btu + Double + false + + + end_use_fuel_oil_lighting_m_btu + end_use_fuel_oil_lighting_m_btu + end_use_fuel_oil_lighting_m_btu + Double + false + + + end_use_fuel_oil_fireplace_m_btu + end_use_fuel_oil_fireplace_m_btu + end_use_fuel_oil_fireplace_m_btu + Double + false + + + end_use_fuel_oil_generator_m_btu + end_use_fuel_oil_generator_m_btu + end_use_fuel_oil_generator_m_btu + Double + false + + + end_use_propane_heating_m_btu + end_use_propane_heating_m_btu + end_use_propane_heating_m_btu + Double + false + + + end_use_propane_heating_heat_pump_backup_m_btu + end_use_propane_heating_heat_pump_backup_m_btu + end_use_propane_heating_heat_pump_backup_m_btu + Double + false + + + end_use_propane_hot_water_m_btu + end_use_propane_hot_water_m_btu + end_use_propane_hot_water_m_btu + Double + false + + + end_use_propane_clothes_dryer_m_btu + end_use_propane_clothes_dryer_m_btu + end_use_propane_clothes_dryer_m_btu + Double + false + + + end_use_propane_range_oven_m_btu + end_use_propane_range_oven_m_btu + end_use_propane_range_oven_m_btu + Double + false + + + end_use_propane_mech_vent_preheating_m_btu + end_use_propane_mech_vent_preheating_m_btu + end_use_propane_mech_vent_preheating_m_btu + Double + false + + + end_use_propane_grill_m_btu + end_use_propane_grill_m_btu + end_use_propane_grill_m_btu + Double + false + + + end_use_propane_lighting_m_btu + end_use_propane_lighting_m_btu + end_use_propane_lighting_m_btu + Double + false + + + end_use_propane_fireplace_m_btu + end_use_propane_fireplace_m_btu + end_use_propane_fireplace_m_btu + Double + false + + + end_use_propane_generator_m_btu + end_use_propane_generator_m_btu + end_use_propane_generator_m_btu + Double + false + + + end_use_wood_cord_heating_m_btu + end_use_wood_cord_heating_m_btu + end_use_wood_cord_heating_m_btu + Double + false + + + end_use_wood_cord_heating_heat_pump_backup_m_btu + end_use_wood_cord_heating_heat_pump_backup_m_btu + end_use_wood_cord_heating_heat_pump_backup_m_btu + Double + false + + + end_use_wood_cord_hot_water_m_btu + end_use_wood_cord_hot_water_m_btu + end_use_wood_cord_hot_water_m_btu + Double + false + + + end_use_wood_cord_clothes_dryer_m_btu + end_use_wood_cord_clothes_dryer_m_btu + end_use_wood_cord_clothes_dryer_m_btu + Double + false + + + end_use_wood_cord_range_oven_m_btu + end_use_wood_cord_range_oven_m_btu + end_use_wood_cord_range_oven_m_btu + Double + false + + + end_use_wood_cord_mech_vent_preheating_m_btu + end_use_wood_cord_mech_vent_preheating_m_btu + end_use_wood_cord_mech_vent_preheating_m_btu + Double + false + + + end_use_wood_cord_grill_m_btu + end_use_wood_cord_grill_m_btu + end_use_wood_cord_grill_m_btu + Double + false + + + end_use_wood_cord_lighting_m_btu + end_use_wood_cord_lighting_m_btu + end_use_wood_cord_lighting_m_btu + Double + false + + + end_use_wood_cord_fireplace_m_btu + end_use_wood_cord_fireplace_m_btu + end_use_wood_cord_fireplace_m_btu + Double + false + + + end_use_wood_cord_generator_m_btu + end_use_wood_cord_generator_m_btu + end_use_wood_cord_generator_m_btu + Double + false + + + end_use_wood_pellets_heating_m_btu + end_use_wood_pellets_heating_m_btu + end_use_wood_pellets_heating_m_btu + Double + false + + + end_use_wood_pellets_heating_heat_pump_backup_m_btu + end_use_wood_pellets_heating_heat_pump_backup_m_btu + end_use_wood_pellets_heating_heat_pump_backup_m_btu + Double + false + + + end_use_wood_pellets_hot_water_m_btu + end_use_wood_pellets_hot_water_m_btu + end_use_wood_pellets_hot_water_m_btu + Double + false + + + end_use_wood_pellets_clothes_dryer_m_btu + end_use_wood_pellets_clothes_dryer_m_btu + end_use_wood_pellets_clothes_dryer_m_btu + Double + false + + + end_use_wood_pellets_range_oven_m_btu + end_use_wood_pellets_range_oven_m_btu + end_use_wood_pellets_range_oven_m_btu + Double + false + + + end_use_wood_pellets_mech_vent_preheating_m_btu + end_use_wood_pellets_mech_vent_preheating_m_btu + end_use_wood_pellets_mech_vent_preheating_m_btu + Double + false + + + end_use_wood_pellets_grill_m_btu + end_use_wood_pellets_grill_m_btu + end_use_wood_pellets_grill_m_btu + Double + false + + + end_use_wood_pellets_lighting_m_btu + end_use_wood_pellets_lighting_m_btu + end_use_wood_pellets_lighting_m_btu + Double + false + + + end_use_wood_pellets_fireplace_m_btu + end_use_wood_pellets_fireplace_m_btu + end_use_wood_pellets_fireplace_m_btu + Double + false + + + end_use_wood_pellets_generator_m_btu + end_use_wood_pellets_generator_m_btu + end_use_wood_pellets_generator_m_btu + Double + false + + + end_use_coal_heating_m_btu + end_use_coal_heating_m_btu + end_use_coal_heating_m_btu + Double + false + + + end_use_coal_heating_heat_pump_backup_m_btu + end_use_coal_heating_heat_pump_backup_m_btu + end_use_coal_heating_heat_pump_backup_m_btu + Double + false + + + end_use_coal_hot_water_m_btu + end_use_coal_hot_water_m_btu + end_use_coal_hot_water_m_btu + Double + false + + + end_use_coal_clothes_dryer_m_btu + end_use_coal_clothes_dryer_m_btu + end_use_coal_clothes_dryer_m_btu + Double + false + + + end_use_coal_range_oven_m_btu + end_use_coal_range_oven_m_btu + end_use_coal_range_oven_m_btu + Double + false + + + end_use_coal_mech_vent_preheating_m_btu + end_use_coal_mech_vent_preheating_m_btu + end_use_coal_mech_vent_preheating_m_btu + Double + false + + + end_use_coal_grill_m_btu + end_use_coal_grill_m_btu + end_use_coal_grill_m_btu + Double + false + + + end_use_coal_lighting_m_btu + end_use_coal_lighting_m_btu + end_use_coal_lighting_m_btu + Double + false + + + end_use_coal_fireplace_m_btu + end_use_coal_fireplace_m_btu + end_use_coal_fireplace_m_btu + Double + false + + + end_use_coal_generator_m_btu + end_use_coal_generator_m_btu + end_use_coal_generator_m_btu + Double + false + + + load_heating_delivered_m_btu + load_heating_delivered_m_btu + load_heating_delivered_m_btu + Double + false + + + load_heating_heat_pump_backup_m_btu + load_heating_heat_pump_backup_m_btu + load_heating_heat_pump_backup_m_btu + Double + false + + + load_cooling_delivered_m_btu + load_cooling_delivered_m_btu + load_cooling_delivered_m_btu + Double + false + + + load_hot_water_delivered_m_btu + load_hot_water_delivered_m_btu + load_hot_water_delivered_m_btu + Double + false + + + load_hot_water_tank_losses_m_btu + load_hot_water_tank_losses_m_btu + load_hot_water_tank_losses_m_btu + Double + false + + + load_hot_water_desuperheater_m_btu + load_hot_water_desuperheater_m_btu + load_hot_water_desuperheater_m_btu + Double + false + + + load_hot_water_solar_thermal_m_btu + load_hot_water_solar_thermal_m_btu + load_hot_water_solar_thermal_m_btu + Double + false + + + unmet_hours_heating_hr + unmet_hours_heating_hr + unmet_hours_heating_hr + Double + false + + + unmet_hours_cooling_hr + unmet_hours_cooling_hr + unmet_hours_cooling_hr + Double + false + + + peak_electricity_winter_total_w + peak_electricity_winter_total_w + peak_electricity_winter_total_w + Double + false + + + peak_electricity_summer_total_w + peak_electricity_summer_total_w + peak_electricity_summer_total_w + Double + false + + + peak_electricity_annual_total_w + peak_electricity_annual_total_w + peak_electricity_annual_total_w + Double + false + + + peak_load_heating_delivered_k_btu_hr + peak_load_heating_delivered_k_btu_hr + peak_load_heating_delivered_k_btu_hr + Double + false + + + peak_load_cooling_delivered_k_btu_hr + peak_load_cooling_delivered_k_btu_hr + peak_load_cooling_delivered_k_btu_hr + Double + false + + + component_load_heating_roofs_m_btu + component_load_heating_roofs_m_btu + component_load_heating_roofs_m_btu + Double + false + + + component_load_heating_ceilings_m_btu + component_load_heating_ceilings_m_btu + component_load_heating_ceilings_m_btu + Double + false + + + component_load_heating_walls_m_btu + component_load_heating_walls_m_btu + component_load_heating_walls_m_btu + Double + false + + + component_load_heating_rim_joists_m_btu + component_load_heating_rim_joists_m_btu + component_load_heating_rim_joists_m_btu + Double + false + + + component_load_heating_foundation_walls_m_btu + component_load_heating_foundation_walls_m_btu + component_load_heating_foundation_walls_m_btu + Double + false + + + component_load_heating_doors_m_btu + component_load_heating_doors_m_btu + component_load_heating_doors_m_btu + Double + false + + + component_load_heating_windows_conduction_m_btu + component_load_heating_windows_conduction_m_btu + component_load_heating_windows_conduction_m_btu + Double + false + + + component_load_heating_windows_solar_m_btu + component_load_heating_windows_solar_m_btu + component_load_heating_windows_solar_m_btu + Double + false + + + component_load_heating_skylights_conduction_m_btu + component_load_heating_skylights_conduction_m_btu + component_load_heating_skylights_conduction_m_btu + Double + false + + + component_load_heating_skylights_solar_m_btu + component_load_heating_skylights_solar_m_btu + component_load_heating_skylights_solar_m_btu + Double + false + + + component_load_heating_floors_m_btu + component_load_heating_floors_m_btu + component_load_heating_floors_m_btu + Double + false + + + component_load_heating_slabs_m_btu + component_load_heating_slabs_m_btu + component_load_heating_slabs_m_btu + Double + false + + + component_load_heating_internal_mass_m_btu + component_load_heating_internal_mass_m_btu + component_load_heating_internal_mass_m_btu + Double + false + + + component_load_heating_infiltration_m_btu + component_load_heating_infiltration_m_btu + component_load_heating_infiltration_m_btu + Double + false + + + component_load_heating_natural_ventilation_m_btu + component_load_heating_natural_ventilation_m_btu + component_load_heating_natural_ventilation_m_btu + Double + false + + + component_load_heating_mechanical_ventilation_m_btu + component_load_heating_mechanical_ventilation_m_btu + component_load_heating_mechanical_ventilation_m_btu + Double + false + + + component_load_heating_whole_house_fan_m_btu + component_load_heating_whole_house_fan_m_btu + component_load_heating_whole_house_fan_m_btu + Double + false + + + component_load_heating_ducts_m_btu + component_load_heating_ducts_m_btu + component_load_heating_ducts_m_btu + Double + false + + + component_load_heating_internal_gains_m_btu + component_load_heating_internal_gains_m_btu + component_load_heating_internal_gains_m_btu + Double + false + + + component_load_heating_lighting_m_btu + component_load_heating_lighting_m_btu + component_load_heating_lighting_m_btu + Double + false + + + component_load_cooling_roofs_m_btu + component_load_cooling_roofs_m_btu + component_load_cooling_roofs_m_btu + Double + false + + + component_load_cooling_ceilings_m_btu + component_load_cooling_ceilings_m_btu + component_load_cooling_ceilings_m_btu + Double + false + + + component_load_cooling_walls_m_btu + component_load_cooling_walls_m_btu + component_load_cooling_walls_m_btu + Double + false + + + component_load_cooling_rim_joists_m_btu + component_load_cooling_rim_joists_m_btu + component_load_cooling_rim_joists_m_btu + Double + false + + + component_load_cooling_foundation_walls_m_btu + component_load_cooling_foundation_walls_m_btu + component_load_cooling_foundation_walls_m_btu + Double + false + + + component_load_cooling_doors_m_btu + component_load_cooling_doors_m_btu + component_load_cooling_doors_m_btu + Double + false + + + component_load_cooling_windows_conduction_m_btu + component_load_cooling_windows_conduction_m_btu + component_load_cooling_windows_conduction_m_btu + Double + false + + + component_load_cooling_windows_solar_m_btu + component_load_cooling_windows_solar_m_btu + component_load_cooling_windows_solar_m_btu + Double + false + + + component_load_cooling_skylights_conduction_m_btu + component_load_cooling_skylights_conduction_m_btu + component_load_cooling_skylights_conduction_m_btu + Double + false + + + component_load_cooling_skylights_solar_m_btu + component_load_cooling_skylights_solar_m_btu + component_load_cooling_skylights_solar_m_btu + Double + false + + + component_load_cooling_floors_m_btu + component_load_cooling_floors_m_btu + component_load_cooling_floors_m_btu + Double + false + + + component_load_cooling_slabs_m_btu + component_load_cooling_slabs_m_btu + component_load_cooling_slabs_m_btu + Double + false + + + component_load_cooling_internal_mass_m_btu + component_load_cooling_internal_mass_m_btu + component_load_cooling_internal_mass_m_btu + Double + false + + + component_load_cooling_infiltration_m_btu + component_load_cooling_infiltration_m_btu + component_load_cooling_infiltration_m_btu + Double + false + + + component_load_cooling_natural_ventilation_m_btu + component_load_cooling_natural_ventilation_m_btu + component_load_cooling_natural_ventilation_m_btu + Double + false + + + component_load_cooling_mechanical_ventilation_m_btu + component_load_cooling_mechanical_ventilation_m_btu + component_load_cooling_mechanical_ventilation_m_btu + Double + false + + + component_load_cooling_whole_house_fan_m_btu + component_load_cooling_whole_house_fan_m_btu + component_load_cooling_whole_house_fan_m_btu + Double + false + + + component_load_cooling_ducts_m_btu + component_load_cooling_ducts_m_btu + component_load_cooling_ducts_m_btu + Double + false + + + component_load_cooling_internal_gains_m_btu + component_load_cooling_internal_gains_m_btu + component_load_cooling_internal_gains_m_btu + Double + false + + + component_load_cooling_lighting_m_btu + component_load_cooling_lighting_m_btu + component_load_cooling_lighting_m_btu + Double + false + + + hot_water_clothes_washer_gal + hot_water_clothes_washer_gal + hot_water_clothes_washer_gal + Double + false + + + hot_water_dishwasher_gal + hot_water_dishwasher_gal + hot_water_dishwasher_gal + Double + false + + + hot_water_fixtures_gal + hot_water_fixtures_gal + hot_water_fixtures_gal + Double + false + + + hot_water_distribution_waste_gal + hot_water_distribution_waste_gal + hot_water_distribution_waste_gal + Double + false + + + resilience_battery_hr + resilience_battery_hr + resilience_battery_hr + Double + false + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + 86FD2C61 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.9.1 + 2.9.1 + + measure.rb + rb + script + 04252AFC + + + test_report_sim_output.rb + rb + test + 75F6B186 + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportUtilityBills/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportUtilityBills/measure.xml new file mode 100644 index 00000000..ac1a522b --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ReportUtilityBills/measure.xml @@ -0,0 +1,328 @@ + + + 3.1 + report_utility_bills + ca88a425-e59a-4bc4-af51-c7e7d1e960fe + 23d2e18e-c2ac-4c68-a5c4-fd4372203a39 + 2024-05-18T14:35:04Z + 15BF4E57 + ReportUtilityBills + Utility Bills Report + Calculates and reports utility bills for residential HPXML-based models. + Calculate electric/gas utility bills based on monthly fixed charges and marginal rates. Calculate other utility bills based on marginal rates for oil, propane, wood cord, wood pellets, and coal. User can specify PV compensation types of 'Net-Metering' or 'Feed-In Tariff', along with corresponding rates and connection fees. + + + output_format + Output Format + The file format of the annual (and timeseries, if requested) outputs. + Choice + false + false + csv + + + csv + csv + + + json + json + + + msgpack + msgpack + + + + + include_annual_bills + Generate Annual Utility Bills + Generates annual utility bills. + Boolean + false + false + true + + + true + true + + + false + false + + + + + include_monthly_bills + Generate Monthly Utility Bills + Generates monthly utility bills. + Boolean + false + false + true + + + true + true + + + false + false + + + + + monthly_timestamp_convention + Generate Monthly Output: Timestamp Convention + Determines whether monthly timestamps use the start-of-period or end-of-period convention. + Choice + false + false + start + + + start + start + + + end + end + + + + + annual_output_file_name + Annual Output File Name + If not provided, defaults to 'results_bills.csv' (or 'results_bills.json' or 'results_bills.msgpack'). + String + false + false + + + monthly_output_file_name + Monthly Output File Name + If not provided, defaults to 'results_bills_monthly.csv' (or 'results_bills_monthly.json' or 'results_bills_monthly.msgpack'). + String + false + false + + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + + + README.md + md + readme + E137125B + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.3.0 + 3.3.0 + + measure.rb + rb + script + 22A6665F + + + detailed_rates/Sample Flat Rate Min Annual Charge.json + json + resource + 453ED6BD + + + detailed_rates/Sample Flat Rate Min Monthly Charge.json + json + resource + A39362E3 + + + detailed_rates/Sample Flat Rate.json + json + resource + C0FCBE3B + + + detailed_rates/Sample Real-Time Pricing Rate Min Annual Charge.json + json + resource + 12C12981 + + + detailed_rates/Sample Real-Time Pricing Rate Min Monthly Charge.json + json + resource + DE28BDA1 + + + detailed_rates/Sample Real-Time Pricing Rate.json + json + resource + 40D684ED + + + detailed_rates/Sample Tiered Rate Min Annual Charge.json + json + resource + 05C5F7BD + + + detailed_rates/Sample Tiered Rate Min Monthly Charge.json + json + resource + 9177D651 + + + detailed_rates/Sample Tiered Rate.json + json + resource + 27936FC1 + + + detailed_rates/Sample Tiered Time-of-Use Rate Min Annual Charge.json + json + resource + E59E9AEE + + + detailed_rates/Sample Tiered Time-of-Use Rate Min Monthly Charge.json + json + resource + 75AD92DF + + + detailed_rates/Sample Tiered Time-of-Use Rate.json + json + resource + 4508028D + + + detailed_rates/Sample Time-of-Use Rate Min Annual Charge.json + json + resource + 2CC2386E + + + detailed_rates/Sample Time-of-Use Rate Min Monthly Charge.json + json + resource + 387337AD + + + detailed_rates/Sample Time-of-Use Rate.json + json + resource + AD93D08A + + + detailed_rates/openei_rates.zip + zip + resource + 56DDA6EC + + + simple_rates/Average_retail_price_of_electricity.csv + csv + resource + 02EEEF39 + + + simple_rates/HouseholdConsumption.csv + csv + resource + 0BEECB93 + + + simple_rates/NG_PRI_SUM_A_EPG0_PRS_DMCF_A.csv + csv + resource + C5FFF659 + + + simple_rates/PET_PRI_WFR_A_EPD2F_PRS_DPGAL_W.csv + csv + resource + 8C00508D + + + simple_rates/PET_PRI_WFR_A_EPLLPA_PRS_DPGAL_W.csv + csv + resource + 614B155F + + + simple_rates/README.md + md + resource + 7832E08F + + + util.rb + rb + resource + 70347ABF + + + Contains Demand Charges.json + json + test + 31A7BE3B + + + Detailed Rate.json + json + test + 953EE2AC + + + Invalid Fixed Charge Units.json + json + test + 6CDC3F13 + + + Invalid Min Charge Units.json + json + test + 32FB5BA8 + + + Missing Required Fields.json + json + test + 3DCED656 + + + data.csv + csv + test + F96CB80F + + + test_report_utility_bills.rb + rb + test + 3C2DECE9 + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ResStockArguments/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ResStockArguments/measure.xml new file mode 100644 index 00000000..6121a4da --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ResStockArguments/measure.xml @@ -0,0 +1,7515 @@ + + + 3.1 + res_stock_arguments + c984bb9e-4ac4-4930-a399-9d23f8f6936a + 58ec6e3c-9b3e-4fae-8807-1a73f7f3b9a8 + 2024-07-15T19:00:31Z + 2C38F48B + ResStockArguments + ResStock Arguments + Measure that pre-processes the arguments passed to the BuildResidentialHPXML and BuildResidentialScheduleFile measures. + Passes in all arguments from the options lookup, processes them, and then registers values to the runner to be used by other measures. + + + schedules_vacancy_periods + Schedules: Vacancy Periods + Specifies the vacancy periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + String + + false + false + + + schedules_power_outage_periods + Schedules: Power Outage Periods + Specifies the power outage periods. Enter a date like "Dec 15 - Jan 15". Optionally, can enter hour of the day like "Dec 15 2 - Jan 15 20" (start hour can be 0 through 23 and end hour can be 1 through 24). If multiple periods, use a comma-separated list. + String + + false + false + + + schedules_power_outage_periods_window_natvent_availability + Schedules: Power Outage Periods Window Natural Ventilation Availability + The availability of the natural ventilation schedule during the power outage periods. Valid choices are 'regular schedule', 'always available', 'always unavailable'. If multiple periods, use a comma-separated list. + String + + false + false + + + simulation_control_daylight_saving_enabled + Simulation Control: Daylight Saving Enabled + Whether to use daylight saving. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-site'>HPXML Building Site</a>) is used. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + site_type + Site: Type + The type of site. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + + false + false + + + auto + auto + + + suburban + suburban + + + urban + urban + + + rural + rural + + + + + site_shielding_of_home + Site: Shielding of Home + Presence of nearby buildings, trees, obstructions for infiltration model. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + + false + false + + + auto + auto + + + exposed + exposed + + + normal + normal + + + well-shielded + well-shielded + + + + + site_soil_and_moisture_type + Site: Soil and Moisture Type + Type of soil and moisture. This is used to inform ground conductivity and diffusivity. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + + false + false + + + auto + auto + + + clay, dry + clay, dry + + + clay, mixed + clay, mixed + + + clay, wet + clay, wet + + + gravel, dry + gravel, dry + + + gravel, mixed + gravel, mixed + + + gravel, wet + gravel, wet + + + loam, dry + loam, dry + + + loam, mixed + loam, mixed + + + loam, wet + loam, wet + + + sand, dry + sand, dry + + + sand, mixed + sand, mixed + + + sand, wet + sand, wet + + + silt, dry + silt, dry + + + silt, mixed + silt, mixed + + + silt, wet + silt, wet + + + unknown, dry + unknown, dry + + + unknown, mixed + unknown, mixed + + + unknown, wet + unknown, wet + + + + + site_ground_conductivity + Site: Ground Conductivity + Conductivity of the ground soil. If provided, overrides the previous site and moisture type input. + String + Btu/hr-ft-F + false + false + + + site_ground_diffusivity + Site: Ground Diffusivity + Diffusivity of the ground soil. If provided, overrides the previous site and moisture type input. + String + ft^2/hr + false + false + + + site_iecc_zone + Site: IECC Zone + IECC zone of the home address. + Choice + + false + false + + + auto + auto + + + 1A + 1A + + + 1B + 1B + + + 1C + 1C + + + 2A + 2A + + + 2B + 2B + + + 2C + 2C + + + 3A + 3A + + + 3B + 3B + + + 3C + 3C + + + 4A + 4A + + + 4B + 4B + + + 4C + 4C + + + 5A + 5A + + + 5B + 5B + + + 5C + 5C + + + 6A + 6A + + + 6B + 6B + + + 6C + 6C + + + 7 + 7 + + + 8 + 8 + + + + + site_city + Site: City + City/municipality of the home address. + String + + false + false + + + site_state_code + Site: State Code + State code of the home address. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + Choice + + false + false + + + auto + auto + + + AK + AK + + + AL + AL + + + AR + AR + + + AZ + AZ + + + CA + CA + + + CO + CO + + + CT + CT + + + DC + DC + + + DE + DE + + + FL + FL + + + GA + GA + + + HI + HI + + + IA + IA + + + ID + ID + + + IL + IL + + + IN + IN + + + KS + KS + + + KY + KY + + + LA + LA + + + MA + MA + + + MD + MD + + + ME + ME + + + MI + MI + + + MN + MN + + + MO + MO + + + MS + MS + + + MT + MT + + + NC + NC + + + ND + ND + + + NE + NE + + + NH + NH + + + NJ + NJ + + + NM + NM + + + NV + NV + + + NY + NY + + + OH + OH + + + OK + OK + + + OR + OR + + + PA + PA + + + RI + RI + + + SC + SC + + + SD + SD + + + TN + TN + + + TX + TX + + + UT + UT + + + VA + VA + + + VT + VT + + + WA + WA + + + WI + WI + + + WV + WV + + + WY + WY + + + + + site_zip_code + Site: Zip Code + Zip code of the home address. + String + + false + false + + + site_time_zone_utc_offset + Site: Time Zone UTC Offset + Time zone UTC offset of the home address. Must be between -12 and 14. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + hr + false + false + + + site_elevation + Site: Elevation + Elevation of the home address. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + site_latitude + Site: Latitude + Latitude of the home address. Must be between -90 and 90. Use negative values for southern hemisphere. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + deg + false + false + + + site_longitude + Site: Longitude + Longitude of the home address. Must be between -180 and 180. Use negative values for the western hemisphere. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + deg + false + false + + + weather_station_epw_filepath + Weather Station: EnergyPlus Weather (EPW) Filepath + Path of the EPW file. + String + true + false + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + year_built + Building Construction: Year Built + The year the building was built. + String + + false + false + + + geometry_unit_type + Geometry: Unit Type + The type of dwelling unit. Use single-family attached for a dwelling unit with 1 or more stories, attached units to one or both sides, and no units above/below. Use apartment unit for a dwelling unit with 1 story, attached units to one, two, or three sides, and units above and/or below. + Choice + true + false + single-family detached + + + single-family detached + single-family detached + + + single-family attached + single-family attached + + + apartment unit + apartment unit + + + manufactured home + manufactured home + + + + + geometry_unit_aspect_ratio + Geometry: Unit Aspect Ratio + The ratio of front/back wall length to left/right wall length for the unit, excluding any protruding garage wall area. + Double + Frac + true + false + 2 + + + geometry_unit_orientation + Geometry: Unit Orientation + The unit's orientation is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + geometry_unit_num_bedrooms + Geometry: Unit Number of Bedrooms + The number of bedrooms in the unit. + Integer + # + true + false + 3 + + + geometry_unit_num_bathrooms + Geometry: Unit Number of Bathrooms + The number of bathrooms in the unit. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-construction'>HPXML Building Construction</a>) is used. + String + # + false + false + + + geometry_unit_num_occupants + Geometry: Unit Number of Occupants + The number of occupants in the unit. If not provided, an *asset* calculation is performed assuming standard occupancy, in which various end use defaults (e.g., plug loads, appliances, and hot water usage) are calculated based on Number of Bedrooms and Conditioned Floor Area per ANSI/RESNET/ICC 301-2019. If provided, an *operational* calculation is instead performed in which the end use defaults are adjusted using the relationship between Number of Bedrooms and Number of Occupants from RECS 2015. + String + # + false + false + + + geometry_building_num_units + Geometry: Building Number of Units + The number of units in the building. Required for single-family attached and apartment units. + String + # + false + false + + + geometry_average_ceiling_height + Geometry: Average Ceiling Height + Average distance from the floor to the ceiling. + Double + ft + true + false + 8 + + + geometry_garage_width + Geometry: Garage Width + The width of the garage. Enter zero for no garage. Only applies to single-family detached units. + Double + ft + true + false + 0 + + + geometry_garage_depth + Geometry: Garage Depth + The depth of the garage. Only applies to single-family detached units. + Double + ft + true + false + 20 + + + geometry_garage_protrusion + Geometry: Garage Protrusion + The fraction of the garage that is protruding from the conditioned space. Only applies to single-family detached units. + Double + Frac + true + false + 0 + + + geometry_garage_position + Geometry: Garage Position + The position of the garage. Only applies to single-family detached units. + Choice + true + false + Right + + + Right + Right + + + Left + Left + + + + + geometry_foundation_type + Geometry: Foundation Type + The foundation type of the building. Foundation types ConditionedBasement and ConditionedCrawlspace are not allowed for apartment units. + Choice + true + false + SlabOnGrade + + + SlabOnGrade + SlabOnGrade + + + VentedCrawlspace + VentedCrawlspace + + + UnventedCrawlspace + UnventedCrawlspace + + + ConditionedCrawlspace + ConditionedCrawlspace + + + UnconditionedBasement + UnconditionedBasement + + + ConditionedBasement + ConditionedBasement + + + Ambient + Ambient + + + AboveApartment + AboveApartment + + + BellyAndWingWithSkirt + BellyAndWingWithSkirt + + + BellyAndWingNoSkirt + BellyAndWingNoSkirt + + + + + geometry_foundation_height + Geometry: Foundation Height + The height of the foundation (e.g., 3ft for crawlspace, 8ft for basement). Only applies to basements/crawlspaces. + Double + ft + true + false + 0 + + + geometry_foundation_height_above_grade + Geometry: Foundation Height Above Grade + The depth above grade of the foundation wall. Only applies to basements/crawlspaces. + Double + ft + true + false + 0 + + + geometry_rim_joist_height + Geometry: Rim Joist Height + The height of the rim joists. Only applies to basements/crawlspaces. + String + in + false + false + + + geometry_attic_type + Geometry: Attic Type + The attic type of the building. Attic type ConditionedAttic is not allowed for apartment units. + Choice + true + false + VentedAttic + + + FlatRoof + FlatRoof + + + VentedAttic + VentedAttic + + + UnventedAttic + UnventedAttic + + + ConditionedAttic + ConditionedAttic + + + BelowApartment + BelowApartment + + + + + geometry_roof_type + Geometry: Roof Type + The roof type of the building. Ignored if the building has a flat roof. + Choice + true + false + gable + + + gable + gable + + + hip + hip + + + + + geometry_roof_pitch + Geometry: Roof Pitch + The roof pitch of the attic. Ignored if the building has a flat roof. + Choice + true + false + 6:12 + + + 1:12 + 1:12 + + + 2:12 + 2:12 + + + 3:12 + 3:12 + + + 4:12 + 4:12 + + + 5:12 + 5:12 + + + 6:12 + 6:12 + + + 7:12 + 7:12 + + + 8:12 + 8:12 + + + 9:12 + 9:12 + + + 10:12 + 10:12 + + + 11:12 + 11:12 + + + 12:12 + 12:12 + + + + + geometry_eaves_depth + Geometry: Eaves Depth + The eaves depth of the roof. + Double + ft + true + false + 2 + + + neighbor_front_distance + Neighbor: Front Distance + The distance between the unit and the neighboring building to the front (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 0 + + + neighbor_back_distance + Neighbor: Back Distance + The distance between the unit and the neighboring building to the back (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 0 + + + neighbor_left_distance + Neighbor: Left Distance + The distance between the unit and the neighboring building to the left (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 10 + + + neighbor_right_distance + Neighbor: Right Distance + The distance between the unit and the neighboring building to the right (not including eaves). A value of zero indicates no neighbors. Used for shading. + Double + ft + true + false + 10 + + + neighbor_front_height + Neighbor: Front Height + The height of the neighboring building to the front. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + neighbor_back_height + Neighbor: Back Height + The height of the neighboring building to the back. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + neighbor_left_height + Neighbor: Left Height + The height of the neighboring building to the left. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + neighbor_right_height + Neighbor: Right Height + The height of the neighboring building to the right. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-site'>HPXML Site</a>) is used. + String + ft + false + false + + + floor_over_foundation_assembly_r + Floor: Over Foundation Assembly R-value + Assembly R-value for the floor over the foundation. Ignored if the building has a slab-on-grade foundation. + Double + h-ft^2-R/Btu + true + false + 28.1 + + + floor_over_garage_assembly_r + Floor: Over Garage Assembly R-value + Assembly R-value for the floor over the garage. Ignored unless the building has a garage under conditioned space. + Double + h-ft^2-R/Btu + true + false + 28.1 + + + floor_type + Floor: Type + The type of floors. + Choice + true + false + WoodFrame + + + WoodFrame + WoodFrame + + + StructuralInsulatedPanel + StructuralInsulatedPanel + + + SolidConcrete + SolidConcrete + + + SteelFrame + SteelFrame + + + + + foundation_wall_type + Foundation Wall: Type + The material type of the foundation wall. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + Choice + + false + false + + + auto + auto + + + solid concrete + solid concrete + + + concrete block + concrete block + + + concrete block foam core + concrete block foam core + + + concrete block perlite core + concrete block perlite core + + + concrete block vermiculite core + concrete block vermiculite core + + + concrete block solid core + concrete block solid core + + + double brick + double brick + + + wood + wood + + + + + foundation_wall_thickness + Foundation Wall: Thickness + The thickness of the foundation wall. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + String + in + false + false + + + foundation_wall_insulation_r + Foundation Wall: Insulation Nominal R-value + Nominal R-value for the foundation wall insulation. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + foundation_wall_insulation_location + Foundation Wall: Insulation Location + Whether the insulation is on the interior or exterior of the foundation wall. Only applies to basements/crawlspaces. + Choice + ft + false + false + + + auto + auto + + + interior + interior + + + exterior + exterior + + + + + foundation_wall_insulation_distance_to_top + Foundation Wall: Insulation Distance To Top + The distance from the top of the foundation wall to the top of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + String + ft + false + false + + + foundation_wall_insulation_distance_to_bottom + Foundation Wall: Insulation Distance To Bottom + The distance from the top of the foundation wall to the bottom of the foundation wall insulation. Only applies to basements/crawlspaces. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-foundation-walls'>HPXML Foundation Walls</a>) is used. + String + ft + false + false + + + foundation_wall_assembly_r + Foundation Wall: Assembly R-value + Assembly R-value for the foundation walls. Only applies to basements/crawlspaces. If provided, overrides the previous foundation wall insulation inputs. If not provided, it is ignored. + String + h-ft^2-R/Btu + false + false + + + rim_joist_assembly_r + Rim Joist: Assembly R-value + Assembly R-value for the rim joists. Only applies to basements/crawlspaces. Required if a rim joist height is provided. + String + h-ft^2-R/Btu + false + false + + + slab_perimeter_insulation_r + Slab: Perimeter Insulation Nominal R-value + Nominal R-value of the vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + h-ft^2-R/Btu + true + false + 0 + + + slab_perimeter_depth + Slab: Perimeter Insulation Depth + Depth from grade to bottom of vertical slab perimeter insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + ft + true + false + 0 + + + slab_under_insulation_r + Slab: Under Slab Insulation Nominal R-value + Nominal R-value of the horizontal under slab insulation. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + h-ft^2-R/Btu + true + false + 0 + + + slab_under_width + Slab: Under Slab Insulation Width + Width from slab edge inward of horizontal under-slab insulation. Enter 999 to specify that the under slab insulation spans the entire slab. Applies to slab-on-grade foundations and basement/crawlspace floors. + Double + ft + true + false + 0 + + + slab_thickness + Slab: Thickness + The thickness of the slab. Zero can be entered if there is a dirt floor instead of a slab. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + String + in + false + false + + + slab_carpet_fraction + Slab: Carpet Fraction + Fraction of the slab floor area that is carpeted. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + String + Frac + false + false + + + slab_carpet_r + Slab: Carpet R-value + R-value of the slab carpet. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-slabs'>HPXML Slabs</a>) is used. + String + h-ft^2-R/Btu + false + false + + + ceiling_assembly_r + Ceiling: Assembly R-value + Assembly R-value for the ceiling (attic floor). + Double + h-ft^2-R/Btu + true + false + 31.6 + + + roof_material_type + Roof: Material Type + The material type of the roof. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + + false + false + + + auto + auto + + + asphalt or fiberglass shingles + asphalt or fiberglass shingles + + + concrete + concrete + + + cool roof + cool roof + + + slate or tile shingles + slate or tile shingles + + + expanded polystyrene sheathing + expanded polystyrene sheathing + + + metal surfacing + metal surfacing + + + plastic/rubber/synthetic sheeting + plastic/rubber/synthetic sheeting + + + shingles + shingles + + + wood shingles or shakes + wood shingles or shakes + + + + + roof_color + Roof: Color + The color of the roof. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + + false + false + + + auto + auto + + + dark + dark + + + light + light + + + medium + medium + + + medium dark + medium dark + + + reflective + reflective + + + + + roof_assembly_r + Roof: Assembly R-value + Assembly R-value of the roof. + Double + h-ft^2-R/Btu + true + false + 2.3 + + + radiant_barrier_attic_location + Attic: Radiant Barrier Location + The location of the radiant barrier in the attic. + Choice + + false + false + + + auto + auto + + + none + none + + + Attic roof only + Attic roof only + + + Attic roof and gable walls + Attic roof and gable walls + + + Attic floor + Attic floor + + + + + radiant_barrier_grade + Attic: Radiant Barrier Grade + The grade of the radiant barrier in the attic. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-roofs'>HPXML Roofs</a>) is used. + Choice + + false + false + + + auto + auto + + + 1 + 1 + + + 2 + 2 + + + 3 + 3 + + + + + wall_type + Wall: Type + The type of walls. + Choice + true + false + WoodStud + + + WoodStud + WoodStud + + + ConcreteMasonryUnit + ConcreteMasonryUnit + + + DoubleWoodStud + DoubleWoodStud + + + InsulatedConcreteForms + InsulatedConcreteForms + + + LogWall + LogWall + + + StructuralInsulatedPanel + StructuralInsulatedPanel + + + SolidConcrete + SolidConcrete + + + SteelFrame + SteelFrame + + + Stone + Stone + + + StrawBale + StrawBale + + + StructuralBrick + StructuralBrick + + + + + wall_siding_type + Wall: Siding Type + The siding type of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-walls'>HPXML Walls</a>) is used. + Choice + + false + false + + + auto + auto + + + aluminum siding + aluminum siding + + + asbestos siding + asbestos siding + + + brick veneer + brick veneer + + + composite shingle siding + composite shingle siding + + + fiber cement siding + fiber cement siding + + + masonite siding + masonite siding + + + none + none + + + stucco + stucco + + + synthetic stucco + synthetic stucco + + + vinyl siding + vinyl siding + + + wood siding + wood siding + + + + + wall_color + Wall: Color + The color of the walls. Also applies to rim joists. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-walls'>HPXML Walls</a>) is used. + Choice + + false + false + + + auto + auto + + + dark + dark + + + light + light + + + medium + medium + + + medium dark + medium dark + + + reflective + reflective + + + + + wall_assembly_r + Wall: Assembly R-value + Assembly R-value of the walls. + Double + h-ft^2-R/Btu + true + false + 11.9 + + + window_front_wwr + Windows: Front Window-to-Wall Ratio + The ratio of window area to wall area for the unit's front facade. Enter 0 if specifying Front Window Area instead. + Double + Frac + true + false + 0.18 + + + window_back_wwr + Windows: Back Window-to-Wall Ratio + The ratio of window area to wall area for the unit's back facade. Enter 0 if specifying Back Window Area instead. + Double + Frac + true + false + 0.18 + + + window_left_wwr + Windows: Left Window-to-Wall Ratio + The ratio of window area to wall area for the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window Area instead. + Double + Frac + true + false + 0.18 + + + window_right_wwr + Windows: Right Window-to-Wall Ratio + The ratio of window area to wall area for the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window Area instead. + Double + Frac + true + false + 0.18 + + + window_area_front + Windows: Front Window Area + The amount of window area on the unit's front facade. Enter 0 if specifying Front Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_back + Windows: Back Window Area + The amount of window area on the unit's back facade. Enter 0 if specifying Back Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_left + Windows: Left Window Area + The amount of window area on the unit's left facade (when viewed from the front). Enter 0 if specifying Left Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_area_right + Windows: Right Window Area + The amount of window area on the unit's right facade (when viewed from the front). Enter 0 if specifying Right Window-to-Wall Ratio instead. + Double + ft^2 + true + false + 0 + + + window_aspect_ratio + Windows: Aspect Ratio + Ratio of window height to width. + Double + Frac + true + false + 1.333 + + + window_fraction_operable + Windows: Fraction Operable + Fraction of windows that are operable. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_natvent_availability + Windows: Natural Ventilation Availability + For operable windows, the number of days/week that windows can be opened by occupants for natural ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Days/week + false + false + + + window_ufactor + Windows: U-Factor + Full-assembly NFRC U-factor. + Double + Btu/hr-ft^2-R + true + false + 0.37 + + + window_shgc + Windows: SHGC + Full-assembly NFRC solar heat gain coefficient. + Double + true + false + 0.3 + + + window_interior_shading_winter + Windows: Winter Interior Shading + Interior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_interior_shading_summer + Windows: Summer Interior Shading + Interior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_exterior_shading_winter + Windows: Winter Exterior Shading + Exterior shading coefficient for the winter season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_exterior_shading_summer + Windows: Summer Exterior Shading + Exterior shading coefficient for the summer season. 1.0 indicates no reduction in solar gain, 0.85 indicates 15% reduction, etc. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + Frac + false + false + + + window_shading_summer_season + Windows: Shading Summer Season + Enter a date like 'May 1 - Sep 30'. Defines the summer season for purposes of shading coefficients; the rest of the year is assumed to be winter. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-windows'>HPXML Windows</a>) is used. + String + + false + false + + + window_storm_type + Windows: Storm Type + The type of storm, if present. If not provided, assumes there is no storm. + Choice + + false + false + + + auto + auto + + + clear + clear + + + low-e + low-e + + + + + overhangs_front_depth + Overhangs: Front Depth + The depth of overhangs for windows for the front facade. + Double + ft + true + false + 0 + + + overhangs_front_distance_to_top_of_window + Overhangs: Front Distance to Top of Window + The overhangs distance to the top of window for the front facade. + Double + ft + true + false + 0 + + + overhangs_front_distance_to_bottom_of_window + Overhangs: Front Distance to Bottom of Window + The overhangs distance to the bottom of window for the front facade. + Double + ft + true + false + 4 + + + overhangs_back_depth + Overhangs: Back Depth + The depth of overhangs for windows for the back facade. + Double + ft + true + false + 0 + + + overhangs_back_distance_to_top_of_window + Overhangs: Back Distance to Top of Window + The overhangs distance to the top of window for the back facade. + Double + ft + true + false + 0 + + + overhangs_back_distance_to_bottom_of_window + Overhangs: Back Distance to Bottom of Window + The overhangs distance to the bottom of window for the back facade. + Double + ft + true + false + 4 + + + overhangs_left_depth + Overhangs: Left Depth + The depth of overhangs for windows for the left facade. + Double + ft + true + false + 0 + + + overhangs_left_distance_to_top_of_window + Overhangs: Left Distance to Top of Window + The overhangs distance to the top of window for the left facade. + Double + ft + true + false + 0 + + + overhangs_left_distance_to_bottom_of_window + Overhangs: Left Distance to Bottom of Window + The overhangs distance to the bottom of window for the left facade. + Double + ft + true + false + 4 + + + overhangs_right_depth + Overhangs: Right Depth + The depth of overhangs for windows for the right facade. + Double + ft + true + false + 0 + + + overhangs_right_distance_to_top_of_window + Overhangs: Right Distance to Top of Window + The overhangs distance to the top of window for the right facade. + Double + ft + true + false + 0 + + + overhangs_right_distance_to_bottom_of_window + Overhangs: Right Distance to Bottom of Window + The overhangs distance to the bottom of window for the right facade. + Double + ft + true + false + 4 + + + skylight_area_front + Skylights: Front Roof Area + The amount of skylight area on the unit's front conditioned roof facade. + Double + ft^2 + true + false + 0 + + + skylight_area_back + Skylights: Back Roof Area + The amount of skylight area on the unit's back conditioned roof facade. + Double + ft^2 + true + false + 0 + + + skylight_area_left + Skylights: Left Roof Area + The amount of skylight area on the unit's left conditioned roof facade (when viewed from the front). + Double + ft^2 + true + false + 0 + + + skylight_area_right + Skylights: Right Roof Area + The amount of skylight area on the unit's right conditioned roof facade (when viewed from the front). + Double + ft^2 + true + false + 0 + + + skylight_ufactor + Skylights: U-Factor + Full-assembly NFRC U-factor. + Double + Btu/hr-ft^2-R + true + false + 0.33 + + + skylight_shgc + Skylights: SHGC + Full-assembly NFRC solar heat gain coefficient. + Double + true + false + 0.45 + + + skylight_storm_type + Skylights: Storm Type + The type of storm, if present. If not provided, assumes there is no storm. + Choice + + false + false + + + auto + auto + + + clear + clear + + + low-e + low-e + + + + + door_area + Doors: Area + The area of the opaque door(s). + Double + ft^2 + true + false + 20 + + + door_rvalue + Doors: R-value + R-value of the opaque door(s). + Double + h-ft^2-R/Btu + true + false + 4.4 + + + air_leakage_units + Air Leakage: Units + The unit of measure for the air leakage. + Choice + true + false + ACH + + + ACH + ACH + + + CFM + CFM + + + ACHnatural + ACHnatural + + + CFMnatural + CFMnatural + + + EffectiveLeakageArea + EffectiveLeakageArea + + + + + air_leakage_house_pressure + Air Leakage: House Pressure + The house pressure relative to outside. Required when units are ACH or CFM. + Double + Pa + true + false + 50 + + + air_leakage_value + Air Leakage: Value + Air exchange rate value. For 'EffectiveLeakageArea', provide value in sq. in. + Double + true + false + 3 + + + air_leakage_type + Air Leakage: Type + Type of air leakage. If 'unit total', represents the total infiltration to the unit as measured by a compartmentalization test, in which case the air leakage value will be adjusted by the ratio of exterior envelope surface area to total envelope surface area. Otherwise, if 'unit exterior only', represents the infiltration to the unit from outside only as measured by a guarded test. Required when unit type is single-family attached or apartment unit. + Choice + + false + false + + + auto + auto + + + unit total + unit total + + + unit exterior only + unit exterior only + + + + + heating_system_type + Heating System: Type + The type of heating system. Use 'none' if there is no heating system or if there is a heat pump serving a heating load. + Choice + true + false + Furnace + + + none + none + + + Furnace + Furnace + + + WallFurnace + WallFurnace + + + FloorFurnace + FloorFurnace + + + Boiler + Boiler + + + ElectricResistance + ElectricResistance + + + Stove + Stove + + + SpaceHeater + SpaceHeater + + + Fireplace + Fireplace + + + Shared Boiler w/ Baseboard + Shared Boiler w/ Baseboard + + + Shared Boiler w/ Ductless Fan Coil + Shared Boiler w/ Ductless Fan Coil + + + + + heating_system_fuel + Heating System: Fuel Type + The fuel type of the heating system. Ignored for ElectricResistance. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + heating_system_heating_efficiency + Heating System: Rated AFUE or Percent + The rated heating efficiency value of the heating system. + Double + Frac + true + false + 0.78 + + + heating_system_heating_capacity + Heating System: Heating Capacity + The output heating capacity of the heating system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>) is used. + String + Btu/hr + false + false + + + heating_system_heating_autosizing_factor + Heating System: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + heating_system_heating_autosizing_limit + Heating System: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + heating_system_fraction_heat_load_served + Heating System: Fraction Heat Load Served + The heating load served by the heating system. + Double + Frac + true + false + 1 + + + heating_system_pilot_light + Heating System: Pilot Light + The fuel usage of the pilot light. Applies only to Furnace, WallFurnace, FloorFurnace, Stove, Boiler, and Fireplace with non-electric fuel type. If not provided, assumes no pilot light. + String + Btuh + false + false + + + cooling_system_type + Cooling System: Type + The type of cooling system. Use 'none' if there is no cooling system or if there is a heat pump serving a cooling load. + Choice + true + false + central air conditioner + + + none + none + + + central air conditioner + central air conditioner + + + room air conditioner + room air conditioner + + + evaporative cooler + evaporative cooler + + + mini-split + mini-split + + + packaged terminal air conditioner + packaged terminal air conditioner + + + + + cooling_system_cooling_efficiency_type + Cooling System: Efficiency Type + The efficiency type of the cooling system. System types central air conditioner and mini-split use SEER or SEER2. System types room air conditioner and packaged terminal air conditioner use EER or CEER. Ignored for system type evaporative cooler. + Choice + true + false + SEER + + + SEER + SEER + + + SEER2 + SEER2 + + + EER + EER + + + CEER + CEER + + + + + cooling_system_cooling_efficiency + Cooling System: Efficiency + The rated efficiency value of the cooling system. Ignored for evaporative cooler. + Double + true + false + 13 + + + cooling_system_cooling_compressor_type + Cooling System: Cooling Compressor Type + The compressor type of the cooling system. Only applies to central air conditioner and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + Choice + + false + false + + + auto + auto + + + single stage + single stage + + + two stage + two stage + + + variable speed + variable speed + + + + + cooling_system_cooling_sensible_heat_fraction + Cooling System: Cooling Sensible Heat Fraction + The sensible heat fraction of the cooling system. Ignored for evaporative cooler. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + String + Frac + false + false + + + cooling_system_cooling_capacity + Cooling System: Cooling Capacity + The output cooling capacity of the cooling system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#evaporative-cooler'>Evaporative Cooler</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + String + Btu/hr + false + false + + + cooling_system_cooling_autosizing_factor + Cooling System: Cooling Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + cooling_system_cooling_autosizing_limit + Cooling System: Cooling Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + cooling_system_fraction_cool_load_served + Cooling System: Fraction Cool Load Served + The cooling load served by the cooling system. + Double + Frac + true + false + 1 + + + cooling_system_is_ducted + Cooling System: Is Ducted + Whether the cooling system is ducted or not. Only used for mini-split and evaporative cooler. It's assumed that central air conditioner is ducted, and room air conditioner and packaged terminal air conditioner are not ducted. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + cooling_system_crankcase_heater_watts + Cooling System: Crankcase Heater Power Watts + Cooling system crankcase heater power consumption in Watts. Applies only to central air conditioner, room air conditioner, packaged terminal air conditioner and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used. + String + W + false + false + + + cooling_system_integrated_heating_system_fuel + Cooling System: Integrated Heating System Fuel Type + The fuel type of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + Choice + + false + false + + + auto + auto + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + cooling_system_integrated_heating_system_efficiency_percent + Cooling System: Integrated Heating System Efficiency + The rated heating efficiency value of the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + String + Frac + false + false + + + cooling_system_integrated_heating_system_capacity + Cooling System: Integrated Heating System Heating Capacity + The output heating capacity of the heating system integrated into cooling system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner'>Room Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-air-conditioner'>Packaged Terminal Air Conditioner</a>) is used. Only used for room air conditioner and packaged terminal air conditioner. + String + Btu/hr + false + false + + + cooling_system_integrated_heating_system_fraction_heat_load_served + Cooling System: Integrated Heating System Fraction Heat Load Served + The heating load served by the heating system integrated into cooling system. Only used for packaged terminal air conditioner and room air conditioner. + String + Frac + false + false + + + heat_pump_type + Heat Pump: Type + The type of heat pump. Use 'none' if there is no heat pump. + Choice + true + false + none + + + none + none + + + air-to-air + air-to-air + + + mini-split + mini-split + + + ground-to-air + ground-to-air + + + packaged terminal heat pump + packaged terminal heat pump + + + room air conditioner with reverse cycle + room air conditioner with reverse cycle + + + + + heat_pump_heating_efficiency_type + Heat Pump: Heating Efficiency Type + The heating efficiency type of heat pump. System types air-to-air and mini-split use HSPF or HSPF2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use COP. + Choice + true + false + HSPF + + + HSPF + HSPF + + + HSPF2 + HSPF2 + + + COP + COP + + + + + heat_pump_heating_efficiency + Heat Pump: Heating Efficiency + The rated heating efficiency value of the heat pump. + Double + true + false + 7.7 + + + heat_pump_cooling_efficiency_type + Heat Pump: Cooling Efficiency Type + The cooling efficiency type of heat pump. System types air-to-air and mini-split use SEER or SEER2. System types ground-to-air, packaged terminal heat pump and room air conditioner with reverse cycle use EER. + Choice + true + false + SEER + + + SEER + SEER + + + SEER2 + SEER2 + + + EER + EER + + + CEER + CEER + + + + + heat_pump_cooling_efficiency + Heat Pump: Cooling Efficiency + The rated cooling efficiency value of the heat pump. + Double + true + false + 13 + + + heat_pump_cooling_compressor_type + Heat Pump: Cooling Compressor Type + The compressor type of the heat pump. Only applies to air-to-air and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>) is used. + Choice + + false + false + + + auto + auto + + + single stage + single stage + + + two stage + two stage + + + variable speed + variable speed + + + + + heat_pump_cooling_sensible_heat_fraction + Heat Pump: Cooling Sensible Heat Fraction + The sensible heat fraction of the heat pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + String + Frac + false + false + + + heat_pump_heating_capacity + Heat Pump: Heating Capacity + The output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + String + Btu/hr + false + false + + + heat_pump_heating_autosizing_factor + Heat Pump: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + heat_pump_heating_autosizing_limit + Heat Pump: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + heat_pump_heating_capacity_retention_fraction + Heat Pump: Heating Capacity Retention Fraction + The output heating capacity of the heat pump at a user-specified temperature (e.g., 17F or 5F) divided by the above nominal heating capacity. Applies to all heat pump types except ground-to-air. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + String + Frac + false + false + + + heat_pump_heating_capacity_retention_temp + Heat Pump: Heating Capacity Retention Temperature + The user-specified temperature (e.g., 17F or 5F) for the above heating capacity retention fraction. Applies to all heat pump types except ground-to-air. Required if the Heating Capacity Retention Fraction is provided. + String + deg-F + false + false + + + heat_pump_cooling_capacity + Heat Pump: Cooling Capacity + The output cooling capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + String + Btu/hr + false + false + + + heat_pump_cooling_autosizing_factor + Heat Pump: Cooling Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + heat_pump_cooling_autosizing_limit + Heat Pump: Cooling Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + heat_pump_fraction_heat_load_served + Heat Pump: Fraction Heat Load Served + The heating load served by the heat pump. + Double + Frac + true + false + 1 + + + heat_pump_fraction_cool_load_served + Heat Pump: Fraction Cool Load Served + The cooling load served by the heat pump. + Double + Frac + true + false + 1 + + + heat_pump_compressor_lockout_temp + Heat Pump: Compressor Lockout Temperature + The temperature below which the heat pump compressor is disabled. If both this and Backup Heating Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies to all heat pump types other than ground-to-air. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + String + deg-F + false + false + + + heat_pump_backup_type + Heat Pump: Backup Type + The backup type of the heat pump. If 'integrated', represents e.g. built-in electric strip heat or dual-fuel integrated furnace. If 'separate', represents e.g. electric baseboard or boiler based on the Heating System 2 specified below. Use 'none' if there is no backup heating. + Choice + true + false + integrated + + + none + none + + + integrated + integrated + + + separate + separate + + + + + heat_pump_backup_heating_autosizing_factor + Heat Pump: Backup Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, 1.0 is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Factor. + String + + false + false + + + heat_pump_backup_heating_autosizing_limit + Heat Pump: Backup Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology if Backup Type is 'integrated'. If not provided, no limit is used. If Backup Type is 'separate', use Heating System 2: Heating Autosizing Limit. + String + Btu/hr + false + false + + + heat_pump_backup_fuel + Heat Pump: Backup Fuel Type + The backup fuel type of the heat pump. Only applies if Backup Type is 'integrated'. + Choice + true + false + electricity + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + + + heat_pump_backup_heating_efficiency + Heat Pump: Backup Rated Efficiency + The backup rated efficiency value of the heat pump. Percent for electricity fuel type. AFUE otherwise. Only applies if Backup Type is 'integrated'. + Double + true + false + 1 + + + heat_pump_backup_heating_capacity + Heat Pump: Backup Heating Capacity + The backup output heating capacity of the heat pump. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#backup'>Backup</a>) is used. Only applies if Backup Type is 'integrated'. + String + Btu/hr + false + false + + + heat_pump_backup_heating_lockout_temp + Heat Pump: Backup Heating Lockout Temperature + The temperature above which the heat pump backup system is disabled. If both this and Compressor Lockout Temperature are provided and use the same value, it essentially defines a switchover temperature (for, e.g., a dual-fuel heat pump). Applies for both Backup Type of 'integrated' and 'separate'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#backup'>Backup</a>) is used. + String + deg-F + false + false + + + heat_pump_sizing_methodology + Heat Pump: Sizing Methodology + The auto-sizing methodology to use when the heat pump capacity is not provided. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-sizing-control'>HPXML HVAC Sizing Control</a>) is used. + Choice + + false + false + + + auto + auto + + + ACCA + ACCA + + + HERS + HERS + + + MaxLoad + MaxLoad + + + + + heat_pump_backup_sizing_methodology + Heat Pump: Backup Sizing Methodology + The auto-sizing methodology to use when the heat pump backup capacity is not provided. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-sizing-control'>HPXML HVAC Sizing Control</a>) is used. + Choice + + false + false + + + auto + auto + + + emergency + emergency + + + supplemental + supplemental + + + + + heat_pump_is_ducted + Heat Pump: Is Ducted + Whether the heat pump is ducted or not. Only used for mini-split. It's assumed that air-to-air and ground-to-air are ducted, and packaged terminal heat pump and room air conditioner with reverse cycle are not ducted. If not provided, assumes not ducted. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + heat_pump_crankcase_heater_watts + Heat Pump: Crankcase Heater Power Watts + Heat Pump crankcase heater power consumption in Watts. Applies only to air-to-air, mini-split, packaged terminal heat pump and room air conditioner with reverse cycle. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#packaged-terminal-heat-pump'>Packaged Terminal Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#room-air-conditioner-w-reverse-cycle'>Room Air Conditioner w/ Reverse Cycle</a>) is used. + String + W + false + false + + + hvac_perf_data_capacity_type + HVAC Detailed Performance Data: Capacity Type + Type of capacity values for detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). + Choice + Absolute capacities + false + false + + + auto + auto + + + Absolute capacities + Absolute capacities + + + Normalized capacity fractions + Normalized capacity fractions + + + + + hvac_perf_data_heating_outdoor_temperatures + HVAC Detailed Performance Data: Heating Outdoor Temperatures + Outdoor temperatures of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 47 deg-F. At least two performance data points are required using a comma-separated list. + String + deg-F + false + false + + + hvac_perf_data_heating_min_speed_capacities + HVAC Detailed Performance Data: Heating Minimum Speed Capacities + Minimum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_heating_max_speed_capacities + HVAC Detailed Performance Data: Heating Maximum Speed Capacities + Maximum speed capacities of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_heating_min_speed_cops + HVAC Detailed Performance Data: Heating Minimum Speed COPs + Minimum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_heating_max_speed_cops + HVAC Detailed Performance Data: Heating Maximum Speed COPs + Maximum speed efficiency COP values of heating detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_cooling_outdoor_temperatures + HVAC Detailed Performance Data: Cooling Outdoor Temperatures + Outdoor temperatures of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). One of the outdoor temperatures must be 95 deg-F. At least two performance data points are required using a comma-separated list. + String + deg-F + false + false + + + hvac_perf_data_cooling_min_speed_capacities + HVAC Detailed Performance Data: Cooling Minimum Speed Capacities + Minimum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_cooling_max_speed_capacities + HVAC Detailed Performance Data: Cooling Maximum Speed Capacities + Maximum speed capacities of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + Btu/hr or Frac + false + false + + + hvac_perf_data_cooling_min_speed_cops + HVAC Detailed Performance Data: Cooling Minimum Speed COPs + Minimum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + hvac_perf_data_cooling_max_speed_cops + HVAC Detailed Performance Data: Cooling Maximum Speed COPs + Maximum speed efficiency COP values of cooling detailed performance data if available. Applies only to variable-speed air-source HVAC systems (central air conditioners, mini-split air conditioners, air-to-air heat pumps, and mini-split heat pumps). At least two performance data points are required using a comma-separated list. + String + W/W + false + false + + + geothermal_loop_configuration + Geothermal Loop: Configuration + Configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#ground-to-air-heat-pump'>Ground-to-Air Heat Pump</a>) is used. + Choice + + false + false + + + auto + auto + + + none + none + + + vertical + vertical + + + + + geothermal_loop_borefield_configuration + Geothermal Loop: Borefield Configuration + Borefield configuration of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + + false + false + + + auto + auto + + + Rectangle + Rectangle + + + Open Rectangle + Open Rectangle + + + C + C + + + L + L + + + U + U + + + Lopsided U + Lopsided U + + + + + geothermal_loop_loop_flow + Geothermal Loop: Loop Flow + Water flow rate through the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + gpm + false + false + + + geothermal_loop_boreholes_count + Geothermal Loop: Boreholes Count + Number of boreholes. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + # + false + false + + + geothermal_loop_boreholes_length + Geothermal Loop: Boreholes Length + Average length of each borehole (vertical). Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + ft + false + false + + + geothermal_loop_boreholes_spacing + Geothermal Loop: Boreholes Spacing + Distance between bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + ft + false + false + + + geothermal_loop_boreholes_diameter + Geothermal Loop: Boreholes Diameter + Diameter of bores. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + String + in + false + false + + + geothermal_loop_grout_type + Geothermal Loop: Grout Type + Grout type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + + false + false + + + auto + auto + + + standard + standard + + + thermally enhanced + thermally enhanced + + + + + geothermal_loop_pipe_type + Geothermal Loop: Pipe Type + Pipe type of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + + false + false + + + auto + auto + + + standard + standard + + + thermally enhanced + thermally enhanced + + + + + geothermal_loop_pipe_diameter + Geothermal Loop: Pipe Diameter + Pipe diameter of the geothermal loop. Only applies to ground-to-air heat pump type. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-geothermal-loops'>HPXML Geothermal Loops</a>) is used. + Choice + in + false + false + + + auto + auto + + + 3/4" pipe + 3/4" pipe + + + 1" pipe + 1" pipe + + + 1-1/4" pipe + 1-1/4" pipe + + + + + heating_system_2_type + Heating System 2: Type + The type of the second heating system. + Choice + true + false + none + + + none + none + + + Furnace + Furnace + + + WallFurnace + WallFurnace + + + FloorFurnace + FloorFurnace + + + Boiler + Boiler + + + ElectricResistance + ElectricResistance + + + Stove + Stove + + + SpaceHeater + SpaceHeater + + + Fireplace + Fireplace + + + + + heating_system_2_fuel + Heating System 2: Fuel Type + The fuel type of the second heating system. Ignored for ElectricResistance. + Choice + true + false + electricity + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + heating_system_2_heating_efficiency + Heating System 2: Rated AFUE or Percent + The rated heating efficiency value of the second heating system. + Double + Frac + true + false + 1 + + + heating_system_2_heating_capacity + Heating System 2: Heating Capacity + The output heating capacity of the second heating system. If not provided, the OS-HPXML autosized default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>) is used. + String + Btu/hr + false + false + + + heating_system_2_heating_autosizing_factor + Heating System 2: Heating Autosizing Factor + The capacity scaling factor applied to the auto-sizing methodology. If not provided, 1.0 is used. + String + + false + false + + + heating_system_2_heating_autosizing_limit + Heating System 2: Heating Autosizing Limit + The maximum capacity limit applied to the auto-sizing methodology. If not provided, no limit is used. + String + Btu/hr + false + false + + + heating_system_2_fraction_heat_load_served + Heating System 2: Fraction Heat Load Served + The heat load served fraction of the second heating system. Ignored if this heating system serves as a backup system for a heat pump. + Double + Frac + true + false + 0.25 + + + hvac_control_heating_season_period + HVAC Control: Heating Season Period + Enter a date like 'Nov 1 - Jun 30'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-control'>HPXML HVAC Control</a>) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + String + + false + false + + + hvac_control_cooling_season_period + HVAC Control: Cooling Season Period + Enter a date like 'Jun 1 - Oct 31'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hvac-control'>HPXML HVAC Control</a>) is used. Can also provide 'BuildingAmerica' to use automatic seasons from the Building America House Simulation Protocols. + String + + false + false + + + hvac_blower_fan_watts_per_cfm + HVAC Blower: Fan Efficiency + The blower fan efficiency at maximum fan speed. Applies only to split (not packaged) systems (i.e., applies to ducted systems as well as ductless mini-split systems). If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heating-systems'>HPXML Heating Systems</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooling-systems'>HPXML Cooling Systems</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-heat-pumps'>HPXML Heat Pumps</a>) is used. + String + W/CFM + false + false + + + ducts_leakage_units + Ducts: Leakage Units + The leakage units of the ducts. + Choice + true + false + Percent + + + CFM25 + CFM25 + + + CFM50 + CFM50 + + + Percent + Percent + + + + + ducts_supply_leakage_to_outside_value + Ducts: Supply Leakage to Outside Value + The leakage value to outside for the supply ducts. + Double + true + false + 0.1 + + + ducts_supply_location + Ducts: Supply Location + The location of the supply ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + exterior wall + exterior wall + + + under slab + under slab + + + roof deck + roof deck + + + outside + outside + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + manufactured home belly + manufactured home belly + + + + + ducts_supply_insulation_r + Ducts: Supply Insulation R-Value + The nominal insulation r-value of the supply ducts excluding air films. Use 0 for uninsulated ducts. + Double + h-ft^2-R/Btu + true + false + 0 + + + ducts_supply_buried_insulation_level + Ducts: Supply Buried Insulation Level + Whether the supply 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. + Choice + + false + false + + + auto + auto + + + not buried + not buried + + + partially buried + partially buried + + + fully buried + fully buried + + + deeply buried + deeply buried + + + + + ducts_supply_surface_area + Ducts: Supply Surface Area + The supply ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + ft^2 + false + false + + + ducts_supply_surface_area_fraction + Ducts: Supply Area Fraction + The fraction of supply ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + frac + false + false + + + ducts_supply_fraction_rectangular + Ducts: Supply Fraction Rectangular + The fraction of supply ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + frac + false + false + + + ducts_return_leakage_to_outside_value + Ducts: Return Leakage to Outside Value + The leakage value to outside for the return ducts. + Double + true + false + 0.1 + + + ducts_return_location + Ducts: Return Location + The location of the return ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + exterior wall + exterior wall + + + under slab + under slab + + + roof deck + roof deck + + + outside + outside + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + manufactured home belly + manufactured home belly + + + + + ducts_return_insulation_r + Ducts: Return Insulation R-Value + The nominal insulation r-value of the return ducts excluding air films. Use 0 for uninsulated ducts. + Double + h-ft^2-R/Btu + true + false + 0 + + + ducts_return_buried_insulation_level + Ducts: Return Buried Insulation Level + Whether the return 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. + Choice + + false + false + + + auto + auto + + + not buried + not buried + + + partially buried + partially buried + + + fully buried + fully buried + + + deeply buried + deeply buried + + + + + ducts_return_surface_area + Ducts: Return Surface Area + The return ducts surface area in the given location. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + ft^2 + false + false + + + ducts_return_surface_area_fraction + Ducts: Return Area Fraction + The fraction of return ducts surface area in the given location. Only used if Surface Area is not provided. If the fraction is less than 1, the remaining duct area is assumed to be in conditioned space. If neither Surface Area nor Area Fraction provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + frac + false + false + + + ducts_number_of_return_registers + Ducts: Number of Return Registers + The number of return registers of the ducts. Only used to calculate default return duct surface area. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + # + false + false + + + ducts_return_fraction_rectangular + Ducts: Return Fraction Rectangular + The fraction of return ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used. + String + frac + false + false + + + mech_vent_fan_type + Mechanical Ventilation: Fan Type + The type of the mechanical ventilation. Use 'none' if there is no mechanical ventilation system. + Choice + true + false + none + + + none + none + + + exhaust only + exhaust only + + + supply only + supply only + + + energy recovery ventilator + energy recovery ventilator + + + heat recovery ventilator + heat recovery ventilator + + + balanced + balanced + + + central fan integrated supply + central fan integrated supply + + + + + mech_vent_flow_rate + Mechanical Ventilation: Flow Rate + The flow rate of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + String + CFM + false + false + + + mech_vent_hours_in_operation + Mechanical Ventilation: Hours In Operation + The hours in operation of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + String + hrs/day + false + false + + + mech_vent_recovery_efficiency_type + Mechanical Ventilation: Total Recovery Efficiency Type + The total recovery efficiency type of the mechanical ventilation. + Choice + true + false + Unadjusted + + + Unadjusted + Unadjusted + + + Adjusted + Adjusted + + + + + mech_vent_total_recovery_efficiency + Mechanical Ventilation: Total Recovery Efficiency + The Unadjusted or Adjusted total recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator. + Double + Frac + true + false + 0.48 + + + mech_vent_sensible_recovery_efficiency + Mechanical Ventilation: Sensible Recovery Efficiency + The Unadjusted or Adjusted sensible recovery efficiency of the mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + Double + Frac + true + false + 0.72 + + + mech_vent_fan_power + Mechanical Ventilation: Fan Power + The fan power of the mechanical ventilation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-mechanical-ventilation-fans'>HPXML Mechanical Ventilation Fans</a>) is used. + String + W + false + false + + + mech_vent_num_units_served + Mechanical Ventilation: Number of Units Served + Number of dwelling units served by the mechanical ventilation system. Must be 1 if single-family detached. Used to apportion flow rate and fan power to the unit. + Integer + # + true + false + 1 + + + mech_vent_shared_frac_recirculation + Shared Mechanical Ventilation: Fraction Recirculation + Fraction of the total supply air that is recirculated, with the remainder assumed to be outdoor air. The value must be 0 for exhaust only systems. Required for a shared mechanical ventilation system. + String + Frac + false + false + + + mech_vent_shared_preheating_fuel + Shared Mechanical Ventilation: Preheating Fuel + Fuel type of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + Choice + + false + false + + + auto + auto + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + coal + coal + + + + + mech_vent_shared_preheating_efficiency + Shared Mechanical Ventilation: Preheating Efficiency + Efficiency of the preconditioning heating equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no preheating. + String + COP + false + false + + + mech_vent_shared_preheating_fraction_heat_load_served + Shared Mechanical Ventilation: Preheating Fraction Ventilation Heat Load Served + Fraction of heating load introduced by the shared ventilation system that is met by the preconditioning heating equipment. If not provided, assumes no preheating. + String + Frac + false + false + + + mech_vent_shared_precooling_fuel + Shared Mechanical Ventilation: Precooling Fuel + Fuel type of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + Choice + + false + false + + + auto + auto + + + electricity + electricity + + + + + mech_vent_shared_precooling_efficiency + Shared Mechanical Ventilation: Precooling Efficiency + Efficiency of the preconditioning cooling equipment. Only used for a shared mechanical ventilation system. If not provided, assumes no precooling. + String + COP + false + false + + + mech_vent_shared_precooling_fraction_cool_load_served + Shared Mechanical Ventilation: Precooling Fraction Ventilation Cool Load Served + Fraction of cooling load introduced by the shared ventilation system that is met by the preconditioning cooling equipment. If not provided, assumes no precooling. + String + Frac + false + false + + + mech_vent_2_fan_type + Mechanical Ventilation 2: Fan Type + The type of the second mechanical ventilation. Use 'none' if there is no second mechanical ventilation system. + Choice + true + false + none + + + none + none + + + exhaust only + exhaust only + + + supply only + supply only + + + energy recovery ventilator + energy recovery ventilator + + + heat recovery ventilator + heat recovery ventilator + + + balanced + balanced + + + + + mech_vent_2_flow_rate + Mechanical Ventilation 2: Flow Rate + The flow rate of the second mechanical ventilation. + Double + CFM + true + false + 110 + + + mech_vent_2_hours_in_operation + Mechanical Ventilation 2: Hours In Operation + The hours in operation of the second mechanical ventilation. + Double + hrs/day + true + false + 24 + + + mech_vent_2_recovery_efficiency_type + Mechanical Ventilation 2: Total Recovery Efficiency Type + The total recovery efficiency type of the second mechanical ventilation. + Choice + true + false + Unadjusted + + + Unadjusted + Unadjusted + + + Adjusted + Adjusted + + + + + mech_vent_2_total_recovery_efficiency + Mechanical Ventilation 2: Total Recovery Efficiency + The Unadjusted or Adjusted total recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator. + Double + Frac + true + false + 0.48 + + + mech_vent_2_sensible_recovery_efficiency + Mechanical Ventilation 2: Sensible Recovery Efficiency + The Unadjusted or Adjusted sensible recovery efficiency of the second mechanical ventilation. Applies to energy recovery ventilator and heat recovery ventilator. + Double + Frac + true + false + 0.72 + + + mech_vent_2_fan_power + Mechanical Ventilation 2: Fan Power + The fan power of the second mechanical ventilation. + Double + W + true + false + 30 + + + kitchen_fans_quantity + Kitchen Fans: Quantity + The quantity of the kitchen fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + # + false + false + + + kitchen_fans_flow_rate + Kitchen Fans: Flow Rate + The flow rate of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + CFM + false + false + + + kitchen_fans_hours_in_operation + Kitchen Fans: Hours In Operation + The hours in operation of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + hrs/day + false + false + + + kitchen_fans_power + Kitchen Fans: Fan Power + The fan power of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + W + false + false + + + kitchen_fans_start_hour + Kitchen Fans: Start Hour + The start hour of the kitchen fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + hr + false + false + + + bathroom_fans_quantity + Bathroom Fans: Quantity + The quantity of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + # + false + false + + + bathroom_fans_flow_rate + Bathroom Fans: Flow Rate + The flow rate of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + CFM + false + false + + + bathroom_fans_hours_in_operation + Bathroom Fans: Hours In Operation + The hours in operation of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + hrs/day + false + false + + + bathroom_fans_power + Bathroom Fans: Fan Power + The fan power of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + W + false + false + + + bathroom_fans_start_hour + Bathroom Fans: Start Hour + The start hour of the bathroom fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-local-ventilation-fans'>HPXML Local Ventilation Fans</a>) is used. + String + hr + false + false + + + whole_house_fan_present + Whole House Fan: Present + Whether there is a whole house fan. + Boolean + true + false + false + + + true + true + + + false + false + + + + + whole_house_fan_flow_rate + Whole House Fan: Flow Rate + The flow rate of the whole house fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-whole-house-fans'>HPXML Whole House Fans</a>) is used. + String + CFM + false + false + + + whole_house_fan_power + Whole House Fan: Fan Power + The fan power of the whole house fan. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-whole-house-fans'>HPXML Whole House Fans</a>) is used. + String + W + false + false + + + water_heater_type + Water Heater: Type + The type of water heater. Use 'none' if there is no water heater. + Choice + true + false + storage water heater + + + none + none + + + storage water heater + storage water heater + + + instantaneous water heater + instantaneous water heater + + + heat pump water heater + heat pump water heater + + + space-heating boiler with storage tank + space-heating boiler with storage tank + + + space-heating boiler with tankless coil + space-heating boiler with tankless coil + + + + + water_heater_fuel_type + Water Heater: Fuel Type + The fuel type of water heater. Ignored for heat pump water heater. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + water_heater_location + Water Heater: Location + The location of water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-heating-systems'>HPXML Water Heating Systems</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + other exterior + other exterior + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + water_heater_tank_volume + Water Heater: Tank Volume + Nominal volume of water heater tank. Only applies to storage water heater, heat pump water heater, and space-heating boiler with storage tank. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#combi-boiler-w-storage'>Combi Boiler w/ Storage</a>) is used. + String + gal + false + false + + + water_heater_efficiency_type + Water Heater: Efficiency Type + The efficiency type of water heater. Does not apply to space-heating boilers. + Choice + true + false + EnergyFactor + + + EnergyFactor + EnergyFactor + + + UniformEnergyFactor + UniformEnergyFactor + + + + + water_heater_efficiency + Water Heater: Efficiency + Rated Energy Factor or Uniform Energy Factor. Does not apply to space-heating boilers. + Double + true + false + 0.67 + + + water_heater_usage_bin + Water Heater: Usage Bin + The usage of the water heater. Only applies if Efficiency Type is UniformEnergyFactor and Type is not instantaneous water heater. Does not apply to space-heating boilers. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>) is used. + Choice + + false + false + + + auto + auto + + + very small + very small + + + low + low + + + medium + medium + + + high + high + + + + + water_heater_recovery_efficiency + Water Heater: Recovery Efficiency + Ratio of energy delivered to water heater to the energy content of the fuel consumed by the water heater. Only used for non-electric storage water heaters. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + String + Frac + false + false + + + water_heater_heating_capacity + Water Heater: Heating Capacity + Heating capacity. Only applies to storage water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + String + Btu/hr + false + false + + + water_heater_standby_loss + Water Heater: Standby Loss + The standby loss of water heater. Only applies to space-heating boilers. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#combi-boiler-w-storage'>Combi Boiler w/ Storage</a>) is used. + String + deg-F/hr + false + false + + + water_heater_jacket_rvalue + Water Heater: Jacket R-value + The jacket R-value of water heater. Doesn't apply to instantaneous water heater or space-heating boiler with tankless coil. If not provided, defaults to no jacket insulation. + String + h-ft^2-R/Btu + false + false + + + water_heater_setpoint_temperature + Water Heater: Setpoint Temperature + The setpoint temperature of water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-heating-systems'>HPXML Water Heating Systems</a>) is used. + String + deg-F + false + false + + + water_heater_num_bedrooms_served + Water Heater: Number of Bedrooms Served + Number of bedrooms served (directly or indirectly) by the water heater. Only needed if single-family attached or apartment unit and it is a shared water heater serving multiple dwelling units. Used to apportion water heater tank losses to the unit. + String + # + false + false + + + water_heater_uses_desuperheater + Water Heater: Uses Desuperheater + Requires that the dwelling unit has a air-to-air, mini-split, or ground-to-air heat pump or a central air conditioner or mini-split air conditioner. If not provided, assumes no desuperheater. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + water_heater_tank_model_type + Water Heater: Tank Type + Type of tank model to use. The 'stratified' tank generally provide more accurate results, but may significantly increase run time. Applies only to storage water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#conventional-storage'>Conventional Storage</a>) is used. + Choice + + false + false + + + auto + auto + + + mixed + mixed + + + stratified + stratified + + + + + water_heater_operating_mode + Water Heater: Operating Mode + The water heater operating mode. The 'heat pump only' option only uses the heat pump, while 'hybrid/auto' allows the backup electric resistance to come on in high demand situations. This is ignored if a scheduled operating mode type is selected. Applies only to heat pump water heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#heat-pump'>Heat Pump</a>) is used. + Choice + + false + false + + + auto + auto + + + hybrid/auto + hybrid/auto + + + heat pump only + heat pump only + + + + + hot_water_distribution_system_type + Hot Water Distribution: System Type + The type of the hot water distribution system. + Choice + true + false + Standard + + + Standard + Standard + + + Recirculation + Recirculation + + + + + hot_water_distribution_standard_piping_length + Hot Water Distribution: Standard Piping Length + If the distribution system is Standard, the length of the piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#standard'>Standard</a>) is used. + String + ft + false + false + + + hot_water_distribution_recirc_control_type + Hot Water Distribution: Recirculation Control Type + If the distribution system is Recirculation, the type of hot water recirculation control, if any. + Choice + + false + false + + + auto + auto + + + no control + no control + + + timer + timer + + + temperature + temperature + + + presence sensor demand control + presence sensor demand control + + + manual demand control + manual demand control + + + + + hot_water_distribution_recirc_piping_length + Hot Water Distribution: Recirculation Piping Length + If the distribution system is Recirculation, the length of the recirculation piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + String + ft + false + false + + + hot_water_distribution_recirc_branch_piping_length + Hot Water Distribution: Recirculation Branch Piping Length + If the distribution system is Recirculation, the length of the recirculation branch piping. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + String + ft + false + false + + + hot_water_distribution_recirc_pump_power + Hot Water Distribution: Recirculation Pump Power + If the distribution system is Recirculation, the recirculation pump power. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#recirculation-in-unit'>Recirculation (In-Unit)</a>) is used. + String + W + false + false + + + hot_water_distribution_pipe_r + Hot Water Distribution: Pipe Insulation Nominal R-Value + Nominal R-value of the pipe insulation. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-hot-water-distribution'>HPXML Hot Water Distribution</a>) is used. + String + h-ft^2-R/Btu + false + false + + + dwhr_facilities_connected + Drain Water Heat Recovery: Facilities Connected + Which facilities are connected for the drain water heat recovery. Use 'none' if there is no drain water heat recovery system. + Choice + true + false + none + + + none + none + + + one + one + + + all + all + + + + + dwhr_equal_flow + Drain Water Heat Recovery: Equal Flow + Whether the drain water heat recovery has equal flow. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + dwhr_efficiency + Drain Water Heat Recovery: Efficiency + The efficiency of the drain water heat recovery. + String + Frac + false + false + + + water_fixtures_shower_low_flow + Hot Water Fixtures: Is Shower Low Flow + Whether the shower fixture is low flow. + Boolean + true + false + false + + + true + true + + + false + false + + + + + water_fixtures_sink_low_flow + Hot Water Fixtures: Is Sink Low Flow + Whether the sink fixture is low flow. + Boolean + true + false + false + + + true + true + + + false + false + + + + + water_fixtures_usage_multiplier + Hot Water Fixtures: Usage Multiplier + Multiplier on the hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-water-fixtures'>HPXML Water Fixtures</a>) is used. + String + + false + false + + + general_water_use_usage_multiplier + General Water Use: Usage Multiplier + Multiplier on internal gains from general water use (floor mopping, shower evaporation, water films on showers, tubs & sinks surfaces, plant watering, etc.) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-building-occupancy'>HPXML Building Occupancy</a>) is used. + String + + false + false + + + solar_thermal_system_type + Solar Thermal: System Type + The type of solar thermal system. Use 'none' if there is no solar thermal system. + Choice + true + false + none + + + none + none + + + hot water + hot water + + + + + solar_thermal_collector_area + Solar Thermal: Collector Area + The collector area of the solar thermal system. + Double + ft^2 + true + false + 40 + + + solar_thermal_collector_loop_type + Solar Thermal: Collector Loop Type + The collector loop type of the solar thermal system. + Choice + true + false + liquid direct + + + liquid direct + liquid direct + + + liquid indirect + liquid indirect + + + passive thermosyphon + passive thermosyphon + + + + + solar_thermal_collector_type + Solar Thermal: Collector Type + The collector type of the solar thermal system. + Choice + true + false + evacuated tube + + + evacuated tube + evacuated tube + + + single glazing black + single glazing black + + + double glazing black + double glazing black + + + integrated collector storage + integrated collector storage + + + + + solar_thermal_collector_azimuth + Solar Thermal: Collector Azimuth + The collector azimuth of the solar thermal system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + solar_thermal_collector_tilt + Solar Thermal: Collector Tilt + The collector tilt of the solar thermal system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + solar_thermal_collector_rated_optical_efficiency + Solar Thermal: Collector Rated Optical Efficiency + The collector rated optical efficiency of the solar thermal system. + Double + Frac + true + false + 0.5 + + + solar_thermal_collector_rated_thermal_losses + Solar Thermal: Collector Rated Thermal Losses + The collector rated thermal losses of the solar thermal system. + Double + Btu/hr-ft^2-R + true + false + 0.2799 + + + solar_thermal_storage_volume + Solar Thermal: Storage Volume + The storage volume of the solar thermal system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#detailed-inputs'>Detailed Inputs</a>) is used. + String + gal + false + false + + + solar_thermal_solar_fraction + Solar Thermal: Solar Fraction + The solar fraction of the solar thermal system. If provided, overrides all other solar thermal inputs. + Double + Frac + true + false + 0 + + + pv_system_present + PV System: Present + Whether there is a PV system present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pv_system_module_type + PV System: Module Type + Module type of the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + standard + standard + + + premium + premium + + + thin film + thin film + + + + + pv_system_location + PV System: Location + Location of the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + roof + roof + + + ground + ground + + + + + pv_system_tracking + PV System: Tracking + Type of tracking for the PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + fixed + fixed + + + 1-axis + 1-axis + + + 1-axis backtracked + 1-axis backtracked + + + 2-axis + 2-axis + + + + + pv_system_array_azimuth + PV System: Array Azimuth + Array azimuth of the PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + pv_system_array_tilt + PV System: Array Tilt + Array tilt of the PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + pv_system_max_power_output + PV System: Maximum Power Output + Maximum power output of the PV system. For a shared system, this is the total building maximum power output. + Double + W + true + false + 4000 + + + pv_system_inverter_efficiency + PV System: Inverter Efficiency + Inverter efficiency of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + String + Frac + false + false + + + pv_system_system_losses_fraction + PV System: System Losses Fraction + System losses fraction of the PV system. If there are two PV systems, this will apply to both. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + String + Frac + false + false + + + pv_system_2_present + PV System 2: Present + Whether there is a second PV system present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pv_system_2_module_type + PV System 2: Module Type + Module type of the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + standard + standard + + + premium + premium + + + thin film + thin film + + + + + pv_system_2_location + PV System 2: Location + Location of the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + roof + roof + + + ground + ground + + + + + pv_system_2_tracking + PV System 2: Tracking + Type of tracking for the second PV system. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-photovoltaics'>HPXML Photovoltaics</a>) is used. + Choice + + false + false + + + auto + auto + + + fixed + fixed + + + 1-axis + 1-axis + + + 1-axis backtracked + 1-axis backtracked + + + 2-axis + 2-axis + + + + + pv_system_2_array_azimuth + PV System 2: Array Azimuth + Array azimuth of the second PV system. Azimuth is measured clockwise from north (e.g., North=0, East=90, South=180, West=270). + Double + degrees + true + false + 180 + + + pv_system_2_array_tilt + PV System 2: Array Tilt + Array tilt of the second PV system. Can also enter, e.g., RoofPitch, RoofPitch+20, Latitude, Latitude-15, etc. + String + degrees + true + false + RoofPitch + + + pv_system_2_max_power_output + PV System 2: Maximum Power Output + Maximum power output of the second PV system. For a shared system, this is the total building maximum power output. + Double + W + true + false + 4000 + + + battery_present + Battery: Present + Whether there is a lithium ion battery present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + battery_location + Battery: Location + The space type for the lithium ion battery location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + crawlspace + crawlspace + + + crawlspace - vented + crawlspace - vented + + + crawlspace - unvented + crawlspace - unvented + + + crawlspace - conditioned + crawlspace - conditioned + + + attic + attic + + + attic - vented + attic - vented + + + attic - unvented + attic - unvented + + + garage + garage + + + outside + outside + + + + + battery_power + Battery: Rated Power Output + The rated power output of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + String + W + false + false + + + battery_capacity + Battery: Nominal Capacity + The nominal capacity of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + String + kWh + false + false + + + battery_usable_capacity + Battery: Usable Capacity + The usable capacity of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + String + kWh + false + false + + + battery_round_trip_efficiency + Battery: Round Trip Efficiency + The round trip efficiency of the lithium ion battery. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-batteries'>HPXML Batteries</a>) is used. + String + Frac + false + false + + + lighting_present + Lighting: Present + Whether there is lighting energy use. + Boolean + true + false + true + + + true + true + + + false + false + + + + + lighting_interior_fraction_cfl + Lighting: Interior Fraction CFL + Fraction of all lamps (interior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0.1 + + + lighting_interior_fraction_lfl + Lighting: Interior Fraction LFL + Fraction of all lamps (interior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_interior_fraction_led + Lighting: Interior Fraction LED + Fraction of all lamps (interior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_interior_usage_multiplier + Lighting: Interior Usage Multiplier + Multiplier on the lighting energy usage (interior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + + false + false + + + lighting_exterior_fraction_cfl + Lighting: Exterior Fraction CFL + Fraction of all lamps (exterior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_fraction_lfl + Lighting: Exterior Fraction LFL + Fraction of all lamps (exterior) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_fraction_led + Lighting: Exterior Fraction LED + Fraction of all lamps (exterior) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_exterior_usage_multiplier + Lighting: Exterior Usage Multiplier + Multiplier on the lighting energy usage (exterior) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + + false + false + + + lighting_garage_fraction_cfl + Lighting: Garage Fraction CFL + Fraction of all lamps (garage) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_fraction_lfl + Lighting: Garage Fraction LFL + Fraction of all lamps (garage) that are linear fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_fraction_led + Lighting: Garage Fraction LED + Fraction of all lamps (garage) that are light emitting diodes. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent. + Double + true + false + 0 + + + lighting_garage_usage_multiplier + Lighting: Garage Usage Multiplier + Multiplier on the lighting energy usage (garage) that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + + false + false + + + holiday_lighting_present + Holiday Lighting: Present + Whether there is holiday lighting. + Boolean + true + false + false + + + true + true + + + false + false + + + + + holiday_lighting_daily_kwh + Holiday Lighting: Daily Consumption + The daily energy consumption for holiday lighting (exterior). If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + kWh/day + false + false + + + holiday_lighting_period + Holiday Lighting: Period + Enter a date like 'Nov 25 - Jan 5'. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-lighting'>HPXML Lighting</a>) is used. + String + + false + false + + + dehumidifier_type + Dehumidifier: Type + The type of dehumidifier. + Choice + true + false + none + + + none + none + + + portable + portable + + + whole-home + whole-home + + + + + dehumidifier_efficiency_type + Dehumidifier: Efficiency Type + The efficiency type of dehumidifier. + Choice + true + false + IntegratedEnergyFactor + + + EnergyFactor + EnergyFactor + + + IntegratedEnergyFactor + IntegratedEnergyFactor + + + + + dehumidifier_efficiency + Dehumidifier: Efficiency + The efficiency of the dehumidifier. + Double + liters/kWh + true + false + 1.5 + + + dehumidifier_capacity + Dehumidifier: Capacity + The capacity (water removal rate) of the dehumidifier. + Double + pint/day + true + false + 40 + + + dehumidifier_rh_setpoint + Dehumidifier: Relative Humidity Setpoint + The relative humidity setpoint of the dehumidifier. + Double + Frac + true + false + 0.5 + + + dehumidifier_fraction_dehumidification_load_served + Dehumidifier: Fraction Dehumidification Load Served + The dehumidification load served fraction of the dehumidifier. + Double + Frac + true + false + 1 + + + clothes_washer_present + Clothes Washer: Present + Whether there is a clothes washer present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + clothes_washer_location + Clothes Washer: Location + The space type for the clothes washer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + clothes_washer_efficiency_type + Clothes Washer: Efficiency Type + The efficiency type of the clothes washer. + Choice + true + false + IntegratedModifiedEnergyFactor + + + ModifiedEnergyFactor + ModifiedEnergyFactor + + + IntegratedModifiedEnergyFactor + IntegratedModifiedEnergyFactor + + + + + clothes_washer_efficiency + Clothes Washer: Efficiency + The efficiency of the clothes washer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + ft^3/kWh-cyc + false + false + + + clothes_washer_rated_annual_kwh + Clothes Washer: Rated Annual Consumption + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + kWh/yr + false + false + + + clothes_washer_label_electric_rate + Clothes Washer: Label Electric Rate + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + $/kWh + false + false + + + clothes_washer_label_gas_rate + Clothes Washer: Label Gas Rate + The annual energy consumed by the clothes washer, as rated, obtained from the EnergyGuide label. This includes both the appliance electricity consumption and the energy required for water heating. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + $/therm + false + false + + + clothes_washer_label_annual_gas_cost + Clothes Washer: Label Annual Cost with Gas DHW + The annual cost of using the system under test conditions. Input is obtained from the EnergyGuide label. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + $ + false + false + + + clothes_washer_label_usage + Clothes Washer: Label Usage + The clothes washer loads per week. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + cyc/wk + false + false + + + clothes_washer_capacity + Clothes Washer: Drum Volume + Volume of the washer drum. Obtained from the EnergyStar website or the manufacturer's literature. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + ft^3 + false + false + + + clothes_washer_usage_multiplier + Clothes Washer: Usage Multiplier + Multiplier on the clothes washer energy and hot water usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-washer'>HPXML Clothes Washer</a>) is used. + String + + false + false + + + clothes_dryer_present + Clothes Dryer: Present + Whether there is a clothes dryer present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + clothes_dryer_location + Clothes Dryer: Location + The space type for the clothes dryer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + clothes_dryer_fuel_type + Clothes Dryer: Fuel Type + Type of fuel used by the clothes dryer. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + clothes_dryer_efficiency_type + Clothes Dryer: Efficiency Type + The efficiency type of the clothes dryer. + Choice + true + false + CombinedEnergyFactor + + + EnergyFactor + EnergyFactor + + + CombinedEnergyFactor + CombinedEnergyFactor + + + + + clothes_dryer_efficiency + Clothes Dryer: Efficiency + The efficiency of the clothes dryer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + String + lb/kWh + false + false + + + clothes_dryer_vented_flow_rate + Clothes Dryer: Vented Flow Rate + The exhaust flow rate of the vented clothes dryer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + String + CFM + false + false + + + clothes_dryer_usage_multiplier + Clothes Dryer: Usage Multiplier + Multiplier on the clothes dryer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-clothes-dryer'>HPXML Clothes Dryer</a>) is used. + String + + false + false + + + dishwasher_present + Dishwasher: Present + Whether there is a dishwasher present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + dishwasher_location + Dishwasher: Location + The space type for the dishwasher location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + dishwasher_efficiency_type + Dishwasher: Efficiency Type + The efficiency type of dishwasher. + Choice + true + false + RatedAnnualkWh + + + RatedAnnualkWh + RatedAnnualkWh + + + EnergyFactor + EnergyFactor + + + + + dishwasher_efficiency + Dishwasher: Efficiency + The efficiency of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + RatedAnnualkWh or EnergyFactor + false + false + + + dishwasher_label_electric_rate + Dishwasher: Label Electric Rate + The label electric rate of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + $/kWh + false + false + + + dishwasher_label_gas_rate + Dishwasher: Label Gas Rate + The label gas rate of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + $/therm + false + false + + + dishwasher_label_annual_gas_cost + Dishwasher: Label Annual Gas Cost + The label annual gas cost of the dishwasher. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + $ + false + false + + + dishwasher_label_usage + Dishwasher: Label Usage + The dishwasher loads per week. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + cyc/wk + false + false + + + dishwasher_place_setting_capacity + Dishwasher: Number of Place Settings + The number of place settings for the unit. Data obtained from manufacturer's literature. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + # + false + false + + + dishwasher_usage_multiplier + Dishwasher: Usage Multiplier + Multiplier on the dishwasher energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-dishwasher'>HPXML Dishwasher</a>) is used. + String + + false + false + + + refrigerator_present + Refrigerator: Present + Whether there is a refrigerator present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + refrigerator_location + Refrigerator: Location + The space type for the refrigerator location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + refrigerator_rated_annual_kwh + Refrigerator: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for a refrigerator. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + String + kWh/yr + false + false + + + refrigerator_usage_multiplier + Refrigerator: Usage Multiplier + Multiplier on the refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + String + + false + false + + + extra_refrigerator_present + Extra Refrigerator: Present + Whether there is an extra refrigerator present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + extra_refrigerator_location + Extra Refrigerator: Location + The space type for the extra refrigerator location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + extra_refrigerator_rated_annual_kwh + Extra Refrigerator: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for an extra rrefrigerator. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + String + kWh/yr + false + false + + + extra_refrigerator_usage_multiplier + Extra Refrigerator: Usage Multiplier + Multiplier on the extra refrigerator energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-refrigerators'>HPXML Refrigerators</a>) is used. + String + + false + false + + + freezer_present + Freezer: Present + Whether there is a freezer present. + Boolean + true + false + false + + + true + true + + + false + false + + + + + freezer_location + Freezer: Location + The space type for the freezer location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + freezer_rated_annual_kwh + Freezer: Rated Annual Consumption + The EnergyGuide rated annual energy consumption for a freezer. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + String + kWh/yr + false + false + + + freezer_usage_multiplier + Freezer: Usage Multiplier + Multiplier on the freezer energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-freezers'>HPXML Freezers</a>) is used. + String + + false + false + + + cooking_range_oven_present + Cooking Range/Oven: Present + Whether there is a cooking range/oven present. + Boolean + true + false + true + + + true + true + + + false + false + + + + + cooking_range_oven_location + Cooking Range/Oven: Location + The space type for the cooking range/oven location. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Choice + + false + false + + + auto + auto + + + conditioned space + conditioned space + + + basement - conditioned + basement - conditioned + + + basement - unconditioned + basement - unconditioned + + + garage + garage + + + other housing unit + other housing unit + + + other heated space + other heated space + + + other multifamily buffer space + other multifamily buffer space + + + other non-freezing space + other non-freezing space + + + + + cooking_range_oven_fuel_type + Cooking Range/Oven: Fuel Type + Type of fuel used by the cooking range/oven. + Choice + true + false + natural gas + + + electricity + electricity + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + coal + coal + + + + + cooking_range_oven_is_induction + Cooking Range/Oven: Is Induction + Whether the cooking range is induction. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + cooking_range_oven_is_convection + Cooking Range/Oven: Is Convection + Whether the oven is convection. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + Choice + + false + false + + + auto + auto + + + true + true + + + false + false + + + + + cooking_range_oven_usage_multiplier + Cooking Range/Oven: Usage Multiplier + Multiplier on the cooking range/oven energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-cooking-range-oven'>HPXML Cooking Range/Oven</a>) is used. + String + + false + false + + + ceiling_fan_present + Ceiling Fan: Present + Whether there are any ceiling fans. + Boolean + true + false + true + + + true + true + + + false + false + + + + + ceiling_fan_label_energy_use + Ceiling Fan: Label Energy Use + The label average energy use of the ceiling fan(s). If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + String + W + false + false + + + ceiling_fan_efficiency + Ceiling Fan: Efficiency + The efficiency rating of the ceiling fan(s) at medium speed. Only used if Label Energy Use not provided. If neither Efficiency nor Label Energy Use provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + String + CFM/W + false + false + + + ceiling_fan_quantity + Ceiling Fan: Quantity + Total number of ceiling fans. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + String + # + false + false + + + ceiling_fan_cooling_setpoint_temp_offset + Ceiling Fan: Cooling Setpoint Temperature Offset + The cooling setpoint temperature offset during months when the ceiling fans are operating. Only applies if ceiling fan quantity is greater than zero. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-ceiling-fans'>HPXML Ceiling Fans</a>) is used. + String + deg-F + false + false + + + misc_plug_loads_television_present + Misc Plug Loads: Television Present + Whether there are televisions. + Boolean + true + false + true + + + true + true + + + false + false + + + + + misc_plug_loads_television_annual_kwh + Misc Plug Loads: Television Annual kWh + The annual energy consumption of the television plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + kWh/yr + false + false + + + misc_plug_loads_television_usage_multiplier + Misc Plug Loads: Television Usage Multiplier + Multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + + false + false + + + misc_plug_loads_other_annual_kwh + Misc Plug Loads: Other Annual kWh + The annual energy consumption of the other residual plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + kWh/yr + false + false + + + misc_plug_loads_other_frac_sensible + Misc Plug Loads: Other Sensible Fraction + Fraction of other residual plug loads' internal gains that are sensible. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + Frac + false + false + + + misc_plug_loads_other_frac_latent + Misc Plug Loads: Other Latent Fraction + Fraction of other residual plug loads' internal gains that are latent. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + Frac + false + false + + + misc_plug_loads_other_usage_multiplier + Misc Plug Loads: Other Usage Multiplier + Multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + + false + false + + + misc_plug_loads_well_pump_present + Misc Plug Loads: Well Pump Present + Whether there is a well pump. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_plug_loads_well_pump_annual_kwh + Misc Plug Loads: Well Pump Annual kWh + The annual energy consumption of the well pump plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + kWh/yr + false + false + + + misc_plug_loads_well_pump_usage_multiplier + Misc Plug Loads: Well Pump Usage Multiplier + Multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + + false + false + + + misc_plug_loads_vehicle_present + Misc Plug Loads: Vehicle Present + Whether there is an electric vehicle. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_plug_loads_vehicle_annual_kwh + Misc Plug Loads: Vehicle Annual kWh + The annual energy consumption of the electric vehicle plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + kWh/yr + false + false + + + misc_plug_loads_vehicle_usage_multiplier + Misc Plug Loads: Vehicle Usage Multiplier + Multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used. + String + + false + false + + + misc_fuel_loads_grill_present + Misc Fuel Loads: Grill Present + Whether there is a fuel loads grill. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_grill_fuel_type + Misc Fuel Loads: Grill Fuel Type + The fuel type of the fuel loads grill. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_grill_annual_therm + Misc Fuel Loads: Grill Annual therm + The annual energy consumption of the fuel loads grill. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + therm/yr + false + false + + + misc_fuel_loads_grill_usage_multiplier + Misc Fuel Loads: Grill Usage Multiplier + Multiplier on the fuel loads grill energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + + false + false + + + misc_fuel_loads_lighting_present + Misc Fuel Loads: Lighting Present + Whether there is fuel loads lighting. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_lighting_fuel_type + Misc Fuel Loads: Lighting Fuel Type + The fuel type of the fuel loads lighting. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_lighting_annual_therm + Misc Fuel Loads: Lighting Annual therm + The annual energy consumption of the fuel loads lighting. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>)is used. + String + therm/yr + false + false + + + misc_fuel_loads_lighting_usage_multiplier + Misc Fuel Loads: Lighting Usage Multiplier + Multiplier on the fuel loads lighting energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + + false + false + + + misc_fuel_loads_fireplace_present + Misc Fuel Loads: Fireplace Present + Whether there is fuel loads fireplace. + Boolean + true + false + false + + + true + true + + + false + false + + + + + misc_fuel_loads_fireplace_fuel_type + Misc Fuel Loads: Fireplace Fuel Type + The fuel type of the fuel loads fireplace. + Choice + true + false + natural gas + + + natural gas + natural gas + + + fuel oil + fuel oil + + + propane + propane + + + wood + wood + + + wood pellets + wood pellets + + + + + misc_fuel_loads_fireplace_annual_therm + Misc Fuel Loads: Fireplace Annual therm + The annual energy consumption of the fuel loads fireplace. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + therm/yr + false + false + + + misc_fuel_loads_fireplace_frac_sensible + Misc Fuel Loads: Fireplace Sensible Fraction + Fraction of fireplace residual fuel loads' internal gains that are sensible. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + Frac + false + false + + + misc_fuel_loads_fireplace_frac_latent + Misc Fuel Loads: Fireplace Latent Fraction + Fraction of fireplace residual fuel loads' internal gains that are latent. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + Frac + false + false + + + misc_fuel_loads_fireplace_usage_multiplier + Misc Fuel Loads: Fireplace Usage Multiplier + Multiplier on the fuel loads fireplace energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#hpxml-fuel-loads'>HPXML Fuel Loads</a>) is used. + String + + false + false + + + pool_present + Pool: Present + Whether there is a pool. + Boolean + true + false + false + + + true + true + + + false + false + + + + + pool_pump_annual_kwh + Pool: Pump Annual kWh + The annual energy consumption of the pool pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-pump'>Pool Pump</a>) is used. + String + kWh/yr + false + false + + + pool_pump_usage_multiplier + Pool: Pump Usage Multiplier + Multiplier on the pool pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-pump'>Pool Pump</a>) is used. + String + + false + false + + + pool_heater_type + Pool: Heater Type + The type of pool heater. Use 'none' if there is no pool heater. + Choice + true + false + none + + + none + none + + + electric resistance + electric resistance + + + gas fired + gas fired + + + heat pump + heat pump + + + + + pool_heater_annual_kwh + Pool: Heater Annual kWh + The annual energy consumption of the electric resistance pool heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + String + kWh/yr + false + false + + + pool_heater_annual_therm + Pool: Heater Annual therm + The annual energy consumption of the gas fired pool heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + String + therm/yr + false + false + + + pool_heater_usage_multiplier + Pool: Heater Usage Multiplier + Multiplier on the pool heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#pool-heater'>Pool Heater</a>) is used. + String + + false + false + + + permanent_spa_present + Permanent Spa: Present + Whether there is a permanent spa. + Boolean + true + false + false + + + true + true + + + false + false + + + + + permanent_spa_pump_annual_kwh + Permanent Spa: Pump Annual kWh + The annual energy consumption of the permanent spa pump. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-pump'>Permanent Spa Pump</a>) is used. + String + kWh/yr + false + false + + + permanent_spa_pump_usage_multiplier + Permanent Spa: Pump Usage Multiplier + Multiplier on the permanent spa pump energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-pump'>Permanent Spa Pump</a>) is used. + String + + false + false + + + permanent_spa_heater_type + Permanent Spa: Heater Type + The type of permanent spa heater. Use 'none' if there is no permanent spa heater. + Choice + true + false + none + + + none + none + + + electric resistance + electric resistance + + + gas fired + gas fired + + + heat pump + heat pump + + + + + permanent_spa_heater_annual_kwh + Permanent Spa: Heater Annual kWh + The annual energy consumption of the electric resistance permanent spa heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + String + kWh/yr + false + false + + + permanent_spa_heater_annual_therm + Permanent Spa: Heater Annual therm + The annual energy consumption of the gas fired permanent spa heater. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + String + therm/yr + false + false + + + permanent_spa_heater_usage_multiplier + Permanent Spa: Heater Usage Multiplier + Multiplier on the permanent spa heater energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#permanent-spa-heater'>Permanent Spa Heater</a>) is used. + String + + false + false + + + geometry_unit_cfa_bin + Geometry: Unit Conditioned Floor Area Bin + E.g., '2000-2499'. + String + true + false + 2000-2499 + + + geometry_unit_cfa + Geometry: Unit Conditioned Floor Area + E.g., '2000' or 'auto'. + String + sqft + true + false + 2000 + + + vintage + Building Construction: Vintage + The building vintage, used for informational purposes only. + String + false + false + + + exterior_finish_r + Building Construction: Exterior Finish R-Value + R-value of the exterior finish. + Double + h-ft^2-R/Btu + true + false + 0.6 + + + geometry_unit_level + Geometry: Unit Level + The level of the unit. This is required for apartment units. + Choice + false + false + + + Bottom + Bottom + + + Middle + Middle + + + Top + Top + + + + + geometry_unit_horizontal_location + Geometry: Unit Horizontal Location + The horizontal location of the unit when viewing the front of the building. This is required for single-family attached and apartment units. + Choice + false + false + + + None + None + + + Left + Left + + + Middle + Middle + + + Right + Right + + + + + geometry_num_floors_above_grade + Geometry: Number of Floors Above Grade + The number of floors above grade (in the unit if single-family detached or single-family attached, and in the building if apartment unit). Conditioned attics are included. + Integer + # + true + false + 2 + + + geometry_corridor_position + Geometry: Corridor Position + The position of the corridor. Only applies to single-family attached and apartment units. Exterior corridors are shaded, but not enclosed. Interior corridors are enclosed and conditioned. + Choice + true + false + + + Double-Loaded Interior + Double-Loaded Interior + + + Double Exterior + Double Exterior + + + Single Exterior (Front) + Single Exterior (Front) + + + None + None + + + + + geometry_corridor_width + Geometry: Corridor Width + The width of the corridor. Only applies to apartment units. + Double + ft + true + false + 10 + + + wall_continuous_exterior_r + Wall: Continuous Exterior Insulation Nominal R-value + Nominal R-value for the wall continuous exterior insulation. + Double + h-ft^2-R/Btu + false + false + + + ceiling_insulation_r + Ceiling: Insulation Nominal R-value + Nominal R-value for the ceiling (attic floor). + Double + h-ft^2-R/Btu + true + false + 0 + + + rim_joist_continuous_exterior_r + Rim Joist: Continuous Exterior Insulation Nominal R-value + Nominal R-value for the rim joist continuous exterior insulation. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + rim_joist_continuous_interior_r + Rim Joist: Continuous Interior Insulation Nominal R-value + Nominal R-value for the rim joist continuous interior insulation that runs parallel to floor joists. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + rim_joist_assembly_interior_r + Rim Joist: Interior Assembly R-value + Assembly R-value for the rim joist assembly interior insulation that runs perpendicular to floor joists. Only applies to basements/crawlspaces. + Double + h-ft^2-R/Btu + true + false + 0 + + + air_leakage_percent_reduction + Air Leakage: Value Reduction + Reduction (%) on the air exchange rate value. + Double + false + false + + + misc_plug_loads_television_2_usage_multiplier + Plug Loads: Television Usage Multiplier 2 + Additional multiplier on the television energy usage that can reflect, e.g., high/low usage occupants. + Double + true + false + 1 + + + misc_plug_loads_other_2_usage_multiplier + Plug Loads: Other Usage Multiplier 2 + Additional multiplier on the other energy usage that can reflect, e.g., high/low usage occupants. + Double + true + false + 1 + + + misc_plug_loads_well_pump_2_usage_multiplier + Plug Loads: Well Pump Usage Multiplier 2 + Additional multiplier on the well pump energy usage that can reflect, e.g., high/low usage occupants. + Double + true + false + 0 + + + misc_plug_loads_vehicle_2_usage_multiplier + Plug Loads: Vehicle Usage Multiplier 2 + Additional multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. + Double + true + false + 0 + + + hvac_control_heating_weekday_setpoint_temp + Heating Setpoint: Weekday Temperature + Specify the weekday heating setpoint temperature. + Double + deg-F + true + false + 71 + + + hvac_control_heating_weekend_setpoint_temp + Heating Setpoint: Weekend Temperature + Specify the weekend heating setpoint temperature. + Double + deg-F + true + false + 71 + + + hvac_control_heating_weekday_setpoint_offset_magnitude + Heating Setpoint: Weekday Offset Magnitude + Specify the weekday heating offset magnitude. + Double + deg-F + true + false + 0 + + + hvac_control_heating_weekend_setpoint_offset_magnitude + Heating Setpoint: Weekend Offset Magnitude + Specify the weekend heating offset magnitude. + Double + deg-F + true + false + 0 + + + hvac_control_heating_weekday_setpoint_schedule + Heating Setpoint: Weekday Schedule + Specify the 24-hour comma-separated weekday heating schedule of 0s and 1s. + String + true + false + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + hvac_control_heating_weekend_setpoint_schedule + Heating Setpoint: Weekend Schedule + Specify the 24-hour comma-separated weekend heating schedule of 0s and 1s. + String + true + false + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + use_auto_heating_season + Use Auto Heating Season + Specifies whether to automatically define the heating season based on the weather file. + Boolean + true + false + false + + + true + true + + + false + false + + + + + hvac_control_cooling_weekday_setpoint_temp + Cooling Setpoint: Weekday Temperature + Specify the weekday cooling setpoint temperature. + Double + deg-F + true + false + 76 + + + hvac_control_cooling_weekend_setpoint_temp + Cooling Setpoint: Weekend Temperature + Specify the weekend cooling setpoint temperature. + Double + deg-F + true + false + 76 + + + hvac_control_cooling_weekday_setpoint_offset_magnitude + Cooling Setpoint: Weekday Offset Magnitude + Specify the weekday cooling offset magnitude. + Double + deg-F + true + false + 0 + + + hvac_control_cooling_weekend_setpoint_offset_magnitude + Cooling Setpoint: Weekend Offset Magnitude + Specify the weekend cooling offset magnitude. + Double + deg-F + true + false + 0 + + + hvac_control_cooling_weekday_setpoint_schedule + Cooling Setpoint: Weekday Schedule + Specify the 24-hour comma-separated weekday cooling schedule of 0s and 1s. + String + true + false + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + hvac_control_cooling_weekend_setpoint_schedule + Cooling Setpoint: Weekend Schedule + Specify the 24-hour comma-separated weekend cooling schedule of 0s and 1s. + String + true + false + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + + use_auto_cooling_season + Use Auto Cooling Season + Specifies whether to automatically define the cooling season based on the weather file. + Boolean + true + false + false + + + true + true + + + false + false + + + + + heating_system_has_flue_or_chimney + Heating System: Has Flue or Chimney + Whether the heating system has a flue or chimney. + String + true + false + auto + + + heating_system_2_has_flue_or_chimney + Heating System 2: Has Flue or Chimney + Whether the second heating system has a flue or chimney. + String + true + false + auto + + + water_heater_has_flue_or_chimney + Water Heater: Has Flue or Chimney + Whether the water heater has a flue or chimney. + String + true + false + auto + + + heating_system_rated_cfm_per_ton + Heating System: Rated CFM Per Ton + The rated cfm per ton of the heating system. + Double + cfm/ton + false + false + + + heating_system_actual_cfm_per_ton + Heating System: Actual CFM Per Ton + The actual cfm per ton of the heating system. + Double + cfm/ton + false + false + + + cooling_system_rated_cfm_per_ton + Cooling System: Rated CFM Per Ton + The rated cfm per ton of the cooling system. + Double + cfm/ton + false + false + + + cooling_system_actual_cfm_per_ton + Cooling System: Actual CFM Per Ton + The actual cfm per ton of the cooling system. + Double + cfm/ton + false + false + + + cooling_system_frac_manufacturer_charge + Cooling System: Fraction of Manufacturer Recommended Charge + The fraction of manufacturer recommended charge of the cooling system. + Double + Frac + false + false + + + heat_pump_rated_cfm_per_ton + Heat Pump: Rated CFM Per Ton + The rated cfm per ton of the heat pump. + Double + cfm/ton + false + false + + + heat_pump_actual_cfm_per_ton + Heat Pump: Actual CFM Per Ton + The actual cfm per ton of the heat pump. + Double + cfm/ton + false + false + + + heat_pump_frac_manufacturer_charge + Heat Pump: Fraction of Manufacturer Recommended Charge + The fraction of manufacturer recommended charge of the heat pump. + Double + Frac + false + false + + + heat_pump_backup_use_existing_system + Heat Pump: Backup Use Existing System + Whether the heat pump uses the existing system as backup. + Boolean + false + false + + + true + true + + + false + false + + + + + + + + Whole Building.Space Types + + + + Measure Type + ModelMeasure + string + + + + + README.md + md + readme + EE2BA2DC + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 2.9.0 + 2.9.0 + + measure.rb + rb + script + 55E293EF + + + constants.rb + rb + resource + 0E27DB76 + + + resstock_arguments_test.rb + rb + test + A224A54B + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ServerDirectoryCleanup/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ServerDirectoryCleanup/measure.xml new file mode 100644 index 00000000..38cffb0f --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/ServerDirectoryCleanup/measure.xml @@ -0,0 +1,400 @@ + + + 3.1 + server_directory_cleanup + ec7d04ad-0b7b-495b-825a-e1b6d28d1d3f + 0187da15-5c10-4a11-86d0-40696236d4ac + 2023-11-27T22:10:39Z + 5F1EDF75 + ServerDirectoryCleanup + Server Directory Cleanup + Optionally removes a significant portion of the saved results from each run, helping to alleviate memory problems. + Present a bunch of bool arguments corresponding to EnergyPlus output files. "False" deletes the file, and "True" retains it. Most arguments default to not retaining the file. Only the in.idf and schedules.csv are retained by default. + + + retain_in_osm + Retain in.osm + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_in_idf + Retain in.idf + Boolean + true + false + true + + + true + true + + + false + false + + + + + retain_pre_process_idf + Retain pre_process.idf + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_audit + Retain eplusout.audit + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_bnd + Retain eplusout.bnd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_eio + Retain eplusout.eio + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_end + Retain eplusout.end + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_err + Retain eplusout.err + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_eso + Retain eplusout.eso + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_mdd + Retain eplusout.mdd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_mtd + Retain eplusout.mtd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_rdd + Retain eplusout.rdd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_shd + Retain eplusout.shd + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplusout_msgpack + Retain eplusout.msgpack + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_eplustbl_htm + Retain eplustbl.htm + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_stdout_energyplus + Retain stdout-energyplus + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_stdout_expandobject + Retain stdout-expandobject. + Boolean + true + false + false + + + true + true + + + false + false + + + + + retain_schedules_csv + Retain schedules.csv. + Boolean + true + false + true + + + true + true + + + false + false + + + + + debug + Debug Mode? + If true, retain all files. + Boolean + false + false + false + + + true + true + + + false + false + + + + + + + + Calibration + + + + Measure Type + ReportingMeasure + string + + + Uses SketchUp API + false + boolean + + + + + README.md + md + readme + 93DECA02 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 1.11.5 + 1.11.5 + + measure.rb + rb + script + D28657CE + + + diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/UpgradeCosts/measure.xml b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/UpgradeCosts/measure.xml new file mode 100644 index 00000000..fbf1e61f --- /dev/null +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/testing_resstock_data/measures/UpgradeCosts/measure.xml @@ -0,0 +1,219 @@ + + + 3.1 + upgrade_costs + ef51212c-acc4-48d7-9b29-cf2a5c6c4449 + 91316c37-1384-4da6-bfc7-f3ffff7479bd + 2024-05-16T22:50:36Z + 9BF1E6AC + UpgradeCosts + Upgrade Costs + Measure that calculates upgrade costs. + Multiplies cost value by cost multiplier. + + + debug + Debug Mode? + If true, retain existing and upgraded intermediate files. + Boolean + false + false + false + + + true + true + + + false + false + + + + + + + + Reporting.QAQC + + + + Measure Type + ReportingMeasure + string + + + Intended Software Tool + OpenStudio Application + string + + + Intended Software Tool + Parametric Analysis Tool + string + + + + + README.md + md + readme + 8B802F86 + + + README.md.erb + erb + readmeerb + 513F28E9 + + + + OpenStudio + 3.1.0 + 3.1.0 + + measure.rb + rb + script + 9CBCFE21 + + + MF_1story_UB_Furnace_AC1_FuelTankWH.osw + osw + test + E25C10A6 + + + MF_2story_UB_ASHP2_HPWH.osw + osw + test + 2F063A50 + + + MF_2story_UB_FuelBoiler_AC1_FuelTankWH.osw + osw + test + 00DC06A5 + + + MF_2story_UB_Furnace_AC1_FuelTankWH.osw + osw + test + D96319E6 + + + SFA_2story_FB_FuelBoiler_RoomAC_FuelTankWH.osw + osw + test + 5BB5AEDD + + + SFA_2story_UB_ASHP2_HPWH.osw + osw + test + 9B276DD7 + + + SFA_2story_UB_FuelBoiler_RoomAC_FuelTankWH.osw + osw + test + 48E3E2F1 + + + SFA_2story_UB_Furnace_RoomAC_FuelTankWH.osw + osw + test + DE1353CB + + + SFD_1story_FB_UA_GRG_MSHP_FuelTanklessWH.osw + osw + test + A35D75CF + + + SFD_1story_FB_UA_GRG_RoomAC_ElecBoiler_FuelTanklessWH.osw + osw + test + 671B1CF5 + + + SFD_1story_UB_UA_ASHP2_HPWH.osw + osw + test + 633C8822 + + + SFD_1story_UB_UA_GRG_ACV_FuelFurnace_HPWH.osw + osw + test + BC978C5D + + + SFD_1story_UB_UA_GRG_ACV_FuelFurnace_PortableHeater_HPWH.osw + osw + test + 034E036E + + + SFD_2story_CS_UA_AC2_FuelBoiler_FuelTankWH.osw + osw + test + 3472996A + + + SFD_2story_CS_UA_GRG_ASHPV_FuelTanklessWH.osw + osw + test + 47092F48 + + + SFD_2story_FB_UA_GRG_AC1_ElecBaseboard_FuelTankWH.osw + osw + test + 00347BFF + + + SFD_2story_FB_UA_GRG_AC1_UnitHeater_FuelTankWH.osw + osw + test + B7ADB1FF + + + SFD_2story_FB_UA_GRG_GSHP_ElecTanklessWH.osw + osw + test + 0740B85A + + + SFD_2story_PB_UA_ElecFurnace_ElecTankWH.osw + osw + test + 4368DD0F + + + SFD_2story_S_UA_GRG_ASHP1_Fireplace_FuelTanklessWH.osw + osw + test + 20268BB9 + + + SFD_2story_S_UA_GRG_ASHP1_Fireplace_FuelTanklessWH_ERV.osw + osw + test + 51EB98B2 + + + SFD_2story_S_UA_GRG_ASHP1_FuelTanklessWH.osw + osw + test + 9494BFFE + + + upgrade_costs_test.rb + rb + test + 4695A458 + + + From 2e00ee24c67b5f007d1d644e05cb37d1fe2bc775 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 15:22:39 -0500 Subject: [PATCH 21/33] Update __init__ to make the newer generator available --- buildstockbatch/workflow_generator/__init__.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/buildstockbatch/workflow_generator/__init__.py b/buildstockbatch/workflow_generator/__init__.py index 9e2fee01..1a8d42a2 100644 --- a/buildstockbatch/workflow_generator/__init__.py +++ b/buildstockbatch/workflow_generator/__init__.py @@ -4,10 +4,18 @@ from .residential.latest.residential_hpxml import ResidentialHpxmlWorkflowGenerator as latestResGenerator # noqa F041 from .residential import latest as residential_latest # noqa F401 from .commercial import latest as commercial_latest # noqa F401 +from .residential.v2024_07_18.residential_hpxml import ( + ResidentialHpxmlWorkflowGenerator as v2024_07_18_ResidentialHpxmlWorkflowGenerator, +) # noqa F401 +from .residential import v2024_07_18 as residential_v2024_07_18 # noqa F401 version2GeneratorClass = { "commercial_default": {"latest": latestComRenerator, commercial_latest.__version__: latestComRenerator}, - "residential_hpxml": {"latest": latestResGenerator, residential_latest.__version__: latestResGenerator}, + "residential_hpxml": { + "latest": latestResGenerator, + residential_latest.__version__: latestResGenerator, + residential_v2024_07_18.__version__: v2024_07_18_ResidentialHpxmlWorkflowGenerator, + }, } version2info = { "commercial_default": { @@ -17,5 +25,6 @@ "residential_hpxml": { "latest": residential_latest.version_info, residential_latest.__version__: residential_latest.version_info, + residential_v2024_07_18.__version__: residential_v2024_07_18.version_info, }, } From d17be063b15b344e9bd8f433494228dd2b1f89be Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 15:45:18 -0500 Subject: [PATCH 22/33] Update resstock_directory for test --- .../v2024_07_18/tests/test_residential_workflow_generator.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py index 57776ef8..a540ba91 100644 --- a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py @@ -4,14 +4,15 @@ from buildstockbatch.workflow_generator.residential.v2024_07_18.residential_hpxml_defaults import DEFAULT_MEASURE_ARGS from buildstockbatch.workflow_generator.residential.v2024_07_18.residential_hpxml_arg_mapping import ARG_MAP from testfixtures import LogCapture -from buildstockbatch.test.shared_testing_stuff import resstock_directory -import os +import pathlib import yamale import logging import copy import itertools import pytest +resstock_directory = pathlib.Path(__file__).parent / "testing_resstock_data" + test_cfg = { "buildstock_directory": resstock_directory, "baseline": {"n_buildings_represented": 100}, From b6f00442ef717e2b7c88e5bf3ed12c9a73cc97b0 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 16:10:20 -0500 Subject: [PATCH 23/33] Add missing import --- .../v2024_07_18/tests/test_residential_workflow_generator.py | 1 + 1 file changed, 1 insertion(+) diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py index a540ba91..34ed907c 100644 --- a/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/tests/test_residential_workflow_generator.py @@ -4,6 +4,7 @@ from buildstockbatch.workflow_generator.residential.v2024_07_18.residential_hpxml_defaults import DEFAULT_MEASURE_ARGS from buildstockbatch.workflow_generator.residential.v2024_07_18.residential_hpxml_arg_mapping import ARG_MAP from testfixtures import LogCapture +import os import pathlib import yamale import logging From c313dd954741f12492ad2c89efe18b58177581e4 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 17:21:32 -0500 Subject: [PATCH 24/33] Run UpgradeCosts at proper place --- .../residential/latest/residential_hpxml.py | 4 ++-- .../tests/test_residential_workflow_generator.py | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py index 2a431804..39eb8004 100644 --- a/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py +++ b/buildstockbatch/workflow_generator/residential/latest/residential_hpxml.py @@ -117,9 +117,9 @@ def create_osw(self, sim_id, building_id, upgrade_idx): workflow_key_to_measure_names = { # This is the order the osw steps will be in "build_existing_model": "BuildExistingModel", "hpxml_to_openstudio": "HPXMLtoOpenStudio", # Non-existing Workflow Key is fine + "upgrade_costs": "UpgradeCosts", "simulation_output_report": "ReportSimulationOutput", "report_utility_bills": "ReportUtilityBills", - "upgrade_costs": "UpgradeCosts", "server_directory_cleanup": "ServerDirectoryCleanup", } @@ -167,7 +167,7 @@ def create_osw(self, sim_id, building_id, upgrade_idx): "run_options": {"skip_zip_results": True}, } for measure in reversed(workflow_args.get("measures", [])): - osw["steps"].insert(2, measure) + osw["steps"].insert(3, measure) # After UpgradeCosts self.add_upgrade_step_to_osw(upgrade_idx, osw) diff --git a/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py b/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py index edc8a58b..cef7aef7 100644 --- a/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py +++ b/buildstockbatch/workflow_generator/residential/latest/tests/test_residential_workflow_generator.py @@ -233,6 +233,11 @@ def test_residential_hpxml(upgrade, dynamic_cfg): assert hpxml_to_os_step["arguments"]["debug"] is True index += 1 + upgrade_costs_step = osw["steps"][index] + assert upgrade_costs_step["measure_dir_name"] == "UpgradeCosts" + assert upgrade_costs_step["arguments"]["debug"] is True + index += 1 + if "measures" in workflow_args: assert osw["steps"][index]["measure_dir_name"] == "TestMeasure1" assert osw["steps"][index]["arguments"]["TestMeasure1_arg1"] == 1 @@ -301,11 +306,6 @@ def test_residential_hpxml(upgrade, dynamic_cfg): assert utility_bills_step["arguments"]["include_monthly_bills"] is False index += 1 - upgrade_costs_step = osw["steps"][index] - assert upgrade_costs_step["measure_dir_name"] == "UpgradeCosts" - assert upgrade_costs_step["arguments"]["debug"] is True - index += 1 - if "reporting_measures" in workflow_args: assert osw["steps"][index]["measure_dir_name"] == "TestReportingMeasure1" assert osw["steps"][index]["arguments"]["TestReportingMeasure1_arg1"] == "TestReportingMeasure1_val1" From 8a20cac706dcc5746faad58d6b97e0bd21256900 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 20:22:27 -0500 Subject: [PATCH 25/33] Version is specified in ResStock --- buildstockbatch/base.py | 27 +++++-------- buildstockbatch/test/test_validation.py | 39 ++----------------- .../commercial/latest/__init__.py | 2 +- 3 files changed, 15 insertions(+), 53 deletions(-) diff --git a/buildstockbatch/base.py b/buildstockbatch/base.py index d32bc90f..f15a0b9c 100644 --- a/buildstockbatch/base.py +++ b/buildstockbatch/base.py @@ -84,7 +84,7 @@ def get_sampler_class(sampler_name): def get_workflow_generator_class(workflow_generator_block): generator_type = workflow_generator_block["type"] # version can be missing in older schema -> default to latest - generator_version = workflow_generator_block.get("version", "latest") + generator_version = workflow_generator_block.get("version", "2024.07.18") if generator_version not in workflow_generator.version2GeneratorClass[generator_type]: raise ValidationError( f"Invalid generator version {generator_version} for {generator_type}." @@ -817,23 +817,16 @@ def validate_resstock_or_comstock_version(project_file): f" for ResStock or ComStock version {stock_version}. Found {bsb_version}" ) raise ValidationError(val_err) - wg_version = cfg["workflow_generator"].get("version", "latest") - wg_type = cfg["workflow_generator"].get("type") - min_res_version = workflow_generator.version2info[wg_type][wg_version]["minimum_resstock_version"] - max_res_version = workflow_generator.version2info[wg_type][wg_version]["maximum_resstock_version"] - ResStockVersion = semver.Version.parse(versions["ResStock"]) - if ResStockVersion < semver.Version.parse(min_res_version): - val_err = ( - f"ResStock version {ResStockVersion} or above is required" - f" for ResStock workflow generator version {wg_version}." + wg_version = cfg["workflow_generator"].get("version", "2024.07.18") + wg_type = cfg["workflow_generator"]["type"] + if wg_version not in workflow_generator.version2info[wg_type]: + raise ValidationError(f"Workflow generator version {wg_version} not found") + expected_version = versions.get("WorkflowGenerator_Version", "2024.07.18") + if wg_version != expected_version: + raise ValidationError( + f"Workflow generator version {expected_version} is required by the buildstock." + f"The yaml is asking for {wg_version}" ) - raise ValidationError(val_err) - if max_res_version and ResStockVersion > semver.Version.parse(max_res_version): - val_err = ( - f"ResStock version {ResStockVersion} or below is required" - f" for ResStock workflow generator version {wg_version}." - ) - raise ValidationError(val_err) return True diff --git a/buildstockbatch/test/test_validation.py b/buildstockbatch/test/test_validation.py index 9a196a00..5d699097 100644 --- a/buildstockbatch/test/test_validation.py +++ b/buildstockbatch/test/test_validation.py @@ -398,10 +398,8 @@ def test_validate_workflow_gen_version_pass(mocker): "buildstockbatch.base.workflow_generator.version2info", { "residential_hpxml": { - "latest": { - "version": "2024.07.19", - "minimum_resstock_version": "0.0.0", - "maximum_resstock_version": None, + "2024.07.18": { + "version": "2024.07.18", }, } }, @@ -411,41 +409,12 @@ def test_validate_workflow_gen_version_pass(mocker): @resstock_required -def test_validate_workflow_gen_version_fail_min(mocker): +def test_validate_workflow_gen_version_fail(mocker): # Set the version to a 'really old' one so we trigger the version check error mocker.patch("buildstockbatch.base.bsb_version", "3000.0.0") mocker.patch( "buildstockbatch.base.workflow_generator.version2info", - { - "residential_hpxml": { - "latest": { - "version": "2024.07.19", - "minimum_resstock_version": "3000.0.0", - "maximum_resstock_version": None, - }, - } - }, - ) - proj_filename = resstock_directory / "project_national" / "national_upgrades.yml" - with pytest.raises(ValidationError): - BuildStockBatchBase.validate_resstock_or_comstock_version(str(proj_filename)) - - -@resstock_required -def test_validate_workflow_gen_version_fail_max(mocker): - # Set the version to a 'really old' one so we trigger the version check error - mocker.patch("buildstockbatch.base.bsb_version", "3000.0.0") - mocker.patch( - "buildstockbatch.base.workflow_generator.version2info", - { - "residential_hpxml": { - "latest": { - "version": "2024.07.19", - "minimum_resstock_version": "0.0.0", - "maximum_resstock_version": "0.0.0", - }, - } - }, + {"residential_hpxml": {}}, # No available versions ) proj_filename = resstock_directory / "project_national" / "national_upgrades.yml" with pytest.raises(ValidationError): diff --git a/buildstockbatch/workflow_generator/commercial/latest/__init__.py b/buildstockbatch/workflow_generator/commercial/latest/__init__.py index 2766fcd5..5a2d8094 100644 --- a/buildstockbatch/workflow_generator/commercial/latest/__init__.py +++ b/buildstockbatch/workflow_generator/commercial/latest/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2024.07.19" +__version__ = "2024.07.18" version_info = { "version": __version__, "version_description": """ From 30b8ac28d9f236632e0abbbdb259e8cdf2c6d4e5 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 20:24:11 -0500 Subject: [PATCH 26/33] Get rid of min/max resstock version --- .../workflow_generator/residential/latest/__init__.py | 2 -- .../workflow_generator/residential/v2024_07_18/__init__.py | 2 -- 2 files changed, 4 deletions(-) diff --git a/buildstockbatch/workflow_generator/residential/latest/__init__.py b/buildstockbatch/workflow_generator/residential/latest/__init__.py index f40d3797..8f55cdf9 100644 --- a/buildstockbatch/workflow_generator/residential/latest/__init__.py +++ b/buildstockbatch/workflow_generator/residential/latest/__init__.py @@ -1,8 +1,6 @@ __version__ = "2024.07.19" version_info = { "version": __version__, - "minimum_resstock_version": "3.2.0", - "maximum_resstock_version": None, "version_description": """ Version information for the residential workflow generator. This version is compatible with ResStock v3.2.0 and later. diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py index 1c7c29ec..d6947554 100644 --- a/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py @@ -1,8 +1,6 @@ __version__ = "2024.07.18" version_info = { "version": __version__, - "minimum_resstock_version": "3.2.0", # Inclusive - works with 3.2.0 - "maximum_resstock_version": "3.3.0", # Exclusive - doesn't work with 3.3.0 "version_description": """ This is the first version since the implementation of WorkflowGenerator versioning. This version is compatible with ResStock v3.2.0 until v3.3.0. From 52c7610ee74d282d13814f5d380ba8e4a6fbce95 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 22:46:59 -0500 Subject: [PATCH 27/33] Update validation test --- buildstockbatch/base.py | 78 +++++++++++-------- .../resources/buildstock.rb | 1 - buildstockbatch/test/test_validation.py | 51 +++++++++++- 3 files changed, 91 insertions(+), 39 deletions(-) diff --git a/buildstockbatch/base.py b/buildstockbatch/base.py index f15a0b9c..5ae99b47 100644 --- a/buildstockbatch/base.py +++ b/buildstockbatch/base.py @@ -787,46 +787,56 @@ def validate_reference_scenario(project_file): return True # Only print the warning, but always pass the validation + @staticmethod + def get_stock_version_info(project_file): + cfg = get_project_configuration(project_file) + buildstock_dir = BuildStockBatchBase.get_buildstock_dir(project_file, cfg) + version_rb = os.path.join(buildstock_dir, "resources/buildstock.rb") + if not os.path.exists(version_rb): + return {} + + with open(version_rb, "r") as f: + versions = dict( + re.findall( + r"^\s*(ResStock|ComStock|BuildStockBatch|WorkflowGenerator)_Version\s*=\s*'(.+)'", + f.read(), + re.MULTILINE, + ) + ) + return versions + @staticmethod def validate_resstock_or_comstock_version(project_file): """ Checks the minimum required version of BuildStockBatch against the version being used """ cfg = get_project_configuration(project_file) - - buildstock_rb = os.path.join(cfg["buildstock_directory"], "resources/buildstock.rb") - if os.path.exists(buildstock_rb): # ResStock domain - with open(buildstock_rb, "r") as f: - versions = dict( - re.findall( - r"^\s*(ResStock|ComStock|BuildStockBatch)_Version\s*=\s*'(.+)'", - f.read(), - re.MULTILINE, - ) - ) - BuildStockBatch_Version = semver.Version.parse(versions["BuildStockBatch"]) - if bsb_version < BuildStockBatch_Version: - if "ResStock" in versions.keys(): - stock_version = versions["ResStock"] - elif "ComStock" in versions.keys(): - stock_version = versions["ComStock"] - else: - stock_version = "Unknown" - val_err = ( - f"BuildStockBatch version {BuildStockBatch_Version} or above is required" - f" for ResStock or ComStock version {stock_version}. Found {bsb_version}" - ) - raise ValidationError(val_err) - wg_version = cfg["workflow_generator"].get("version", "2024.07.18") - wg_type = cfg["workflow_generator"]["type"] - if wg_version not in workflow_generator.version2info[wg_type]: - raise ValidationError(f"Workflow generator version {wg_version} not found") - expected_version = versions.get("WorkflowGenerator_Version", "2024.07.18") - if wg_version != expected_version: - raise ValidationError( - f"Workflow generator version {expected_version} is required by the buildstock." - f"The yaml is asking for {wg_version}" - ) + version_info = BuildStockBatchBase.get_stock_version_info(project_file) + if not version_info: + return True + BuildStockBatch_Version = semver.Version.parse(version_info["BuildStockBatch"]) + if bsb_version < BuildStockBatch_Version: + if "ResStock" in version_info.keys(): + stock_version = version_info["ResStock"] + elif "ComStock" in version_info.keys(): + stock_version = version_info["ComStock"] + else: + stock_version = "Unknown" + val_err = ( + f"BuildStockBatch version {BuildStockBatch_Version} or above is required" + f" for ResStock or ComStock version {stock_version}. Found {bsb_version}" + ) + raise ValidationError(val_err) + wg_version = cfg["workflow_generator"].get("version", "2024.07.18") + wg_type = cfg["workflow_generator"]["type"] + if wg_version not in workflow_generator.version2info[wg_type]: + raise ValidationError(f"Workflow generator version {wg_version} not found") + expected_version = version_info.get("WorkflowGenerator", "2024.07.18") + if wg_version != expected_version: + raise ValidationError( + f"Workflow generator version {expected_version} is required by the buildstock." + f"The yaml is asking for {wg_version}" + ) return True diff --git a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb index 75d2ffd1..49a76190 100644 --- a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb +++ b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb @@ -2,7 +2,6 @@ class Version ResStock_Version = '2000.1.0' # Version of ResStock BuildStockBatch_Version = '2023.5.0' # Minimum required version of BuildStockBatch - def self.check_buildstockbatch_version if ENV.keys.include?('BUILDSTOCKBATCH_VERSION') # buildstockbatch is installed bsb_version = ENV['BUILDSTOCKBATCH_VERSION'] diff --git a/buildstockbatch/test/test_validation.py b/buildstockbatch/test/test_validation.py index 5d699097..b224b83c 100644 --- a/buildstockbatch/test/test_validation.py +++ b/buildstockbatch/test/test_validation.py @@ -398,23 +398,66 @@ def test_validate_workflow_gen_version_pass(mocker): "buildstockbatch.base.workflow_generator.version2info", { "residential_hpxml": { - "2024.07.18": { - "version": "2024.07.18", + "3024.12.23": { + "version": "3024.12.23", }, } }, ) + mocker.patch( + "buildstockbatch.base.BuildStockBatchBase.get_stock_version_info", + lambda _: {"BuildStockBatch": "0.0.0", "ResStock": "3.2.0", "WorkflowGenerator": "3024.12.23"}, + ) + mocker.patch( + "buildstockbatch.base.get_project_configuration", + lambda _: {"workflow_generator": {"version": "3024.12.23", "type": "residential_hpxml", "args": {}}}, + ) proj_filename = resstock_directory / "project_national" / "national_upgrades.yml" BuildStockBatchBase.validate_resstock_or_comstock_version(str(proj_filename)) @resstock_required -def test_validate_workflow_gen_version_fail(mocker): +def test_validate_workflow_gen_version_fail_unavailable(mocker): + # Set the version to a 'really old' one so we trigger the version check error + mocker.patch("buildstockbatch.base.bsb_version", "3000.0.0") + mocker.patch( + "buildstockbatch.base.workflow_generator.version2info", + {"residential_hpxml": {}}, + ) + mocker.patch( + "buildstockbatch.base.BuildStockBatchBase.get_stock_version_info", + lambda _: {"BuildStockBatch": "0.0.0", "ResStock": "3.2.0", "WorkflowGenerator": "3024.12.23"}, + ) + mocker.patch( + "buildstockbatch.base.get_project_configuration", + lambda _: {"workflow_generator": {"version": "3024.12.23", "type": "residential_hpxml", "args": {}}}, + ) + proj_filename = resstock_directory / "project_national" / "national_upgrades.yml" + with pytest.raises(ValidationError): + BuildStockBatchBase.validate_resstock_or_comstock_version(str(proj_filename)) + + +@resstock_required +def test_validate_workflow_gen_version_fail_mismatch(mocker): # Set the version to a 'really old' one so we trigger the version check error mocker.patch("buildstockbatch.base.bsb_version", "3000.0.0") mocker.patch( "buildstockbatch.base.workflow_generator.version2info", - {"residential_hpxml": {}}, # No available versions + { + "residential_hpxml": { + "3024.12.24": { + "version": "3024.12.24", + }, + } + }, + ) + mocker.patch( + "buildstockbatch.base.BuildStockBatchBase.get_stock_version_info", + lambda _: {"BuildStockBatch": "0.0.0", "ResStock": "3.2.0", "WorkflowGenerator": "3024.12.23"}, + ) + mocker.patch( + "buildstockbatch.base.get_project_configuration", + lambda _: {"workflow_generator": {"version": "3024.12.24", "type": "residential_hpxml", "args": {}}}, ) proj_filename = resstock_directory / "project_national" / "national_upgrades.yml" with pytest.raises(ValidationError): From dd0f7e794ed2875717d88aa8a5e7725408783610 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Thu, 18 Jul 2024 22:50:34 -0500 Subject: [PATCH 28/33] Commit new schema --- buildstockbatch/schemas/v0.4.yaml | 169 ++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 buildstockbatch/schemas/v0.4.yaml diff --git a/buildstockbatch/schemas/v0.4.yaml b/buildstockbatch/schemas/v0.4.yaml new file mode 100644 index 00000000..d199b725 --- /dev/null +++ b/buildstockbatch/schemas/v0.4.yaml @@ -0,0 +1,169 @@ +schema_version: enum('0.4') +buildstock_directory: str() +project_directory: str(required=True) +weather_files_path: str(required=False) +weather_files_url: str(required=False) +sampler: include('sampler-spec', required=True) +workflow_generator: include('workflow-generator-spec', required=True) +eagle: include('hpc-spec', required=False) +kestrel: include('hpc-spec', required=False) +gcp: include('gcp-spec', required=False) +aws: include('aws-spec', required=False) +output_directory: regex('^(.*\/)?[a-z][a-z0-9_]*\/?$', required=True) +sys_image_dir: str(required=False) +baseline: include('sim-spec', required=True) +os_version: str(required=True) +os_sha: str(required=True) +max_minutes_per_sim: int(max=1440, required=False) +upgrades: list(include('upgrade-spec'), required=False) +postprocessing: include('postprocessing-spec', required=False) +references: map(required=False) +--- +gcp-spec: + # The GCP job ID (for Batch and Cloud Run) pattern is `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. + # For postprocessing job id, we append 3 characters ("-pp"), so this can be up to 60 chars. + job_identifier: regex('^[a-z]([a-z0-9-]{0,58}[a-z0-9])?$', required=True) + project: str(required=True) + region: str(required=True) + service_account: str(required=False) + artifact_registry: include('gcp-ar-spec', required=True) + batch_array_size: num(min=1, max=10000, required=True) + parallelism: num(min=1, max=10000, required=False) + gcs: include('gcs-spec', required=True) + job_environment: include('gcp-job-environment-spec', required=False) + postprocessing_environment: include('gcp-postprocessing_environment-spec', required=False) + +gcs-spec: + bucket: str(required=True) + prefix: str(required=True) + upload_chunk_size_mib: num(min=5, max=5000, required=False) + +gcp-ar-spec: + repository: str(required=True) + +gcp-job-environment-spec: + vcpus: int(min=1, max=224, required=False) + memory_mib: int(min=512, required=False) + boot_disk_mib: int(required=False) + machine_type: str(required=False) + use_spot: bool(required=False) + minutes_per_sim: num(min=0.05, max=480, required=False) + +gcp-postprocessing_environment-spec: + # Limits documented at + # https://cloud.google.com/run/docs/configuring/services/memory-limits + # https://cloud.google.com/run/docs/configuring/services/cpu + cpus: int(min=1, max=8, required=False) + memory_mib: int(min=512, max=32768, required=False) + +aws-spec: + job_identifier: regex('^[a-zA-Z]\w{,9}$', required=True) + s3: include('s3-aws-postprocessing-spec', required=True) + region: str(required=True) + use_spot: bool(required=False) + spot_bid_percent: num(min=1, max=100, required=False) + batch_array_size: num(min=1, max=10000, required=True) + notifications_email: regex('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$', name='email', required=True) + dask: include('aws-dask-spec', required=True) + job_environment: include('aws-job-environment', required=False) + tags: map(str(), str(), required=False) + +aws-job-environment: + vcpus: int(min=1, max=36, required=False) + memory: int(min=1024, required=False) + +aws-dask-spec: + scheduler_cpu: enum(1024, 2048, 4096, 8192, 16384, required=False) + scheduler_memory: int(min=1024, required=False) + worker_cpu: enum(1024, 2048, 4096, 8192, 16384, required=False) + worker_memory: int(min=1024, required=False) + n_workers: int(min=1, required=True) + +hpc-spec: + account: str(required=True) + minutes_per_sim: num(min=0.05, max=480, required=True) + n_jobs: int(required=False) + postprocessing: include('hpc-postprocessing-spec', required=False) + sampling: include('sampling-spec', required=False) + +hpc-postprocessing-spec: + time: int(required=True) + n_workers: int(min=1, max=32, required=False) + node_memory_mb: int(min=85248, max=751616, required=False) + n_procs: int(min=1, max=36, required=False) + parquet_memory_mb: int(min=100, max=4096, required=False) + + +sampler-spec: + type: str(required=True) + args: map(key=regex(r'^[a-zA-Z_]\w*$', name='valid variable name'), required=False) + +workflow-generator-spec: + type: enum('residential_hpxml', 'commercial_default', required=True) + version: str(required=True) + args: map(key=regex(r'^[a-zA-Z_]\w*$', name='valid variable name'), required=False) + +sampling-spec: + time: int(required=True) + +sim-spec: + n_buildings_represented: int(required=True) + skip_sims: bool(required=False) + custom_gems: bool(required=False) + +upgrade-spec: + upgrade_name: str(required=True) + options: list(include('option-spec'), required=True) + package_apply_logic: include('apply-logic-spec', required=False) + reference_scenario: str(required=False) + +option-spec: + option: include('param_option-spec', required=True) + apply_logic: include('apply-logic-spec', required=False) + costs: list(include('cost-spec'), required=False) + lifetime: num(required=False) + +param_option-spec: str(exclude=':(){}[]') + +apply-logic-spec: > + any( + list( + include('and-spec'), + include('or-spec'), + include('not-spec'), + include('param_option-spec'), + ), + include('and-spec'), + include('or-spec'), + include('not-spec'), + include('param_option-spec') + ) +or-spec: + or: list(include('apply-logic-spec')) +and-spec: + and: list(include('apply-logic-spec')) +not-spec: + not: any(include('apply-logic-spec'), list(include('apply-logic-spec'))) + +cost-spec: + value: num(required=True) + multiplier: str(required=True) + +postprocessing-spec: + partition_columns: list(str(), required=False) + aws: include('aws-postprocessing-spec', required=False) + keep_individual_timeseries: bool(required=False) + +aws-postprocessing-spec: + region_name: str(required=False) + s3: include('s3-aws-postprocessing-spec', required=True) + athena: include('athena-aws-postprocessing-spec', required=False) + +s3-aws-postprocessing-spec: + bucket: str(required=True) + prefix: str(required=True) + +athena-aws-postprocessing-spec: + glue_service_role: str(required=False) + database_name: regex('^[a-z][a-z0-9_]*$', required=True) + max_crawling_time: num(requried=False) From 83deb33a37b1889da8b528decd2cd30f9d1f5bf8 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Fri, 19 Jul 2024 10:21:38 -0500 Subject: [PATCH 29/33] Add Workflowgenerator version to test buildstock.rb --- .../test_openstudio_buildstock/resources/buildstock.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb index 49a76190..c7820526 100644 --- a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb +++ b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb @@ -1,7 +1,8 @@ # frozen_string_literal: true class Version - ResStock_Version = '2000.1.0' # Version of ResStock + ResStock_Version = '3.1.0' # Version of ResStock BuildStockBatch_Version = '2023.5.0' # Minimum required version of BuildStockBatch + WorkflowGenerator_Version = '2024.07.19' def self.check_buildstockbatch_version if ENV.keys.include?('BUILDSTOCKBATCH_VERSION') # buildstockbatch is installed bsb_version = ENV['BUILDSTOCKBATCH_VERSION'] From 7d16c4164dd00f3fd9df53194ba4f01f4ab33874 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Fri, 19 Jul 2024 10:23:46 -0500 Subject: [PATCH 30/33] Edit version description text --- .../workflow_generator/residential/latest/__init__.py | 4 +--- .../workflow_generator/residential/v2024_07_18/__init__.py | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/buildstockbatch/workflow_generator/residential/latest/__init__.py b/buildstockbatch/workflow_generator/residential/latest/__init__.py index 8f55cdf9..a1497e10 100644 --- a/buildstockbatch/workflow_generator/residential/latest/__init__.py +++ b/buildstockbatch/workflow_generator/residential/latest/__init__.py @@ -2,9 +2,7 @@ version_info = { "version": __version__, "version_description": """ -Version information for the residential workflow generator. -This version is compatible with ResStock v3.2.0 and later. In this version, the UpgradeCosts measure is converted to a regular measure -and is run early in the workflow. +and is run early in the workflow. ReportHPXMLOutput measure is no longer used. """, } diff --git a/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py b/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py index d6947554..aea51842 100644 --- a/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py +++ b/buildstockbatch/workflow_generator/residential/v2024_07_18/__init__.py @@ -3,6 +3,5 @@ "version": __version__, "version_description": """ This is the first version since the implementation of WorkflowGenerator versioning. -This version is compatible with ResStock v3.2.0 until v3.3.0. """, } From 12ebb77e77f0ffcbe9929fdb966acee1523a6a31 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Fri, 19 Jul 2024 10:30:48 -0500 Subject: [PATCH 31/33] Update changelog --- docs/changelog/changelog_dev.rst | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/changelog/changelog_dev.rst b/docs/changelog/changelog_dev.rst index 9bee8600..0b309a73 100644 --- a/docs/changelog/changelog_dev.rst +++ b/docs/changelog/changelog_dev.rst @@ -83,5 +83,13 @@ Development Changelog :tags: general, feature :pullreq: 458 - For the Residential HPXML Workflow Generator, supports the UpgradeCosts measure - changing from ReportingMeasure to ModelMeasure. + Add a new version (2024.07.19) of the Residential HPXML Workflow Generator that + changes UpgradeCosts from reporting measure to a regular measure. ReportHPXMLOutput + is no longer called. This feature is created to support the corresponding update in + ResStock (https://github.com/NREL/resstock/pull/1253) + + To facilitate the creation of new version, the workflow generator code base is refactored + to have one folder for each version. New yaml schema (v0.4) is created that defines a + `version` key for the `workflow_generator` block. The base class loads the appropriate + version of the workflow_generator based on the version key. If version key is missing + (when using older schema), it is defaulted to the oldest available version (2024.07.18). From bef335d301230d6c59c8c46df086f3082f87c16c Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Fri, 19 Jul 2024 10:58:46 -0500 Subject: [PATCH 32/33] Use WG version .18 --- .../test_openstudio_buildstock/resources/buildstock.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb index c7820526..3810674f 100644 --- a/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb +++ b/buildstockbatch/test/test_inputs/test_openstudio_buildstock/resources/buildstock.rb @@ -2,7 +2,7 @@ class Version ResStock_Version = '3.1.0' # Version of ResStock BuildStockBatch_Version = '2023.5.0' # Minimum required version of BuildStockBatch - WorkflowGenerator_Version = '2024.07.19' + WorkflowGenerator_Version = '2024.07.18' def self.check_buildstockbatch_version if ENV.keys.include?('BUILDSTOCKBATCH_VERSION') # buildstockbatch is installed bsb_version = ENV['BUILDSTOCKBATCH_VERSION'] From cc152d2d5d70e462dfeae44816c22b759021ade5 Mon Sep 17 00:00:00 2001 From: Rajendra Adhikari Date: Fri, 19 Jul 2024 11:34:26 -0500 Subject: [PATCH 33/33] Point CI back to develop --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9b7710a6..54cfa7e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: with: repository: NREL/resstock path: resstock - ref: res-reporting + ref: develop - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} @@ -94,7 +94,7 @@ jobs: with: repository: NREL/resstock path: resstock - ref: res-reporting + ref: develop - uses: actions/setup-python@v4 with: python-version: 3.11