urbanopt-cli 0.5.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +2 -2
- data/CHANGELOG.md +40 -0
- data/CMakeLists.txt +13 -13
- data/FindOpenStudioSDK.cmake +11 -6
- data/Gemfile +12 -6
- data/example_files/Gemfile +11 -8
- data/example_files/base_workflow_res.osw +10 -0
- data/example_files/example_project_combined.json +13 -3
- data/example_files/example_project_with_PV.json +751 -0
- data/example_files/example_project_with_streets.json +826 -0
- data/example_files/mappers/Baseline.rb +106 -50
- data/example_files/mappers/CreateBar.rb +31 -1
- data/example_files/mappers/FlexibleHotWater.rb +69 -0
- data/example_files/mappers/Floorspace.rb +31 -1
- data/example_files/mappers/HighEfficiency.rb +20 -8
- data/example_files/mappers/HighEfficiencyCreateBar.rb +3 -2
- data/example_files/mappers/HighEfficiencyFloorspace.rb +3 -2
- data/example_files/mappers/base_workflow.osw +5 -0
- data/example_files/mappers/createbar_workflow.osw +3 -1
- data/example_files/mappers/floorspace_workflow.osw +2 -1
- data/example_files/measures/BuildResidentialModel/measure.rb +70 -37
- data/example_files/osm_building/7.osm +0 -307
- data/example_files/osm_building/8.osm +0 -419
- data/example_files/osm_building/9.osm +0 -664
- data/example_files/reopt/base_assumptions.json +4 -4
- data/example_files/reopt/multiPV_assumptions.json +6 -5
- data/example_files/resources/hpxml-measures/.github/pull_request_template.md +1 -1
- data/example_files/resources/hpxml-measures/.github/workflows/config.yml +96 -3
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.rb +138 -73
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.xml +509 -487
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/geometry.rb +11 -11
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules.rb +33 -32
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_config.json +388 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_config.md +43 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-coal.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-dehumidifier-ief-portable.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-dehumidifier-ief-whole-home.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-dehumidifier.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-gas.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-modified.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-none.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-oil.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-propane.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-wood.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-flat.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-radiant-barrier.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-unvented-insulated-roof.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-vented.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-bldgtype-multifamily-shared-boiler-only-baseboard.osw +341 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-bldgtype-multifamily-shared-boiler-only-fan-coil.osw +341 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-bldgtype-multifamily-shared-mechvent-preconditioning.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-bldgtype-multifamily-shared-mechvent.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-bldgtype-multifamily-shared-pv.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-bldgtype-multifamily-shared-water-heater.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-bldgtype-multifamily.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-bldgtype-single-family-attached.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-combi-tankless-outside.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-combi-tankless.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-dwhr.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect-outside.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect-standbyloss.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect-with-solar-fraction.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-electric.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-gas.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-hpwh.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-indirect.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-low-flow-fixtures.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-none.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-demand.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-manual.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-nocontrol.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-temperature.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-timer.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-direct-evacuated-tube.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-direct-flat-plate.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-direct-ics.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-fraction.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-indirect-flat-plate.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-thermosyphon-flat-plate.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-coal.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-elec-uef.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-gas-outside.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-gas-uef.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-gas.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-outside.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-uef.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-with-solar-fraction.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-with-solar.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-oil.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-wood.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-electric-outside.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-electric-uef.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-electric.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas-uef.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas-with-solar-fraction.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas-with-solar.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-propane.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-2stories-garage.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-2stories.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-1.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-2.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-4.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-5.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-garage.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-ach-house-pressure.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-cfm-house-pressure.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-cfm50.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-flue.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-natural-ach.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-overhangs.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-windows-none.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-ambient.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-conditioned-basement-slab-insulation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-slab.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unconditioned-basement-assembly-r.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unconditioned-basement-wall-insulation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unconditioned-basement.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unvented-crawlspace.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-vented-crawlspace.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-1-speed-cooling-only.osw +4 -4
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-1-speed-heating-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-1-speed.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-2-speed.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-var-speed.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-coal-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-elec-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-gas-central-ac-1-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-gas-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-oil-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-propane-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-wood-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-only-1-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-only-2-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-only-var-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-mini-split-heat-pump-ducted.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-ducts-leakage-percent.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-elec-resistance-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-evap-cooler-furnace-gas.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-evap-cooler-only-ducted.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-evap-cooler-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-fireplace-wood-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-fixed-heater-gas-only.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-floor-furnace-propane-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-coal-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-elec-central-ac-1-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-elec-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-central-ac-2-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-central-ac-var-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-room-ac.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-oil-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-propane-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-wood-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-ground-to-air-heat-pump-cooling-only.osw +4 -4
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-ground-to-air-heat-pump-heating-only.osw +4 -4
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-ground-to-air-heat-pump.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-airflow-defect-furnace-gas-central-ac-1-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-air-to-air-heat-pump-1-speed.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-air-to-air-heat-pump-2-speed.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-air-to-air-heat-pump-var-speed.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-furnace-gas-central-ac-1-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-furnace-gas-central-ac-2-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-furnace-gas-central-ac-var-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-furnace-gas-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-ground-to-air-heat-pump.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-mini-split-air-conditioner-only-ducted.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-all-mini-split-heat-pump-ducted.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-charge-defect-furnace-gas-central-ac-1-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-install-quality-none-furnace-gas-central-ac-1-speed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-air-conditioner-only-ducted.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-air-conditioner-only-ductless.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ducted-cooling-only.osw +4 -4
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ducted-heating-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ducted.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ductless.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-none.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-portable-heater-gas-only.osw +6 -6
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-programmable-thermostat-detailed.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-room-ac-only-33percent.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-room-ac-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-setpoints.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-stove-oil-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-stove-wood-pellets-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-undersized.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-wall-furnace-elec-only.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-lighting-ceiling-fans.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-lighting-detailed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-AMY-2012.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-baltimore-md.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-dallas-tx.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-duluth-mn.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-helena-mt.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-honolulu-hi.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-miami-fl.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-phoenix-az.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-portland-or.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-balanced.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-bath-kitchen-fans.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-cfis-evap-cooler-only-ducted.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-cfis.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-erv-atre-asre.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-erv.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-exhaust-rated-flow-rate.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-exhaust.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-hrv-asre.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-hrv.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-supply.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-whole-house-fan.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-defaults.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-loads-large-uncommon.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-loads-large-uncommon2.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-neighbor-shading.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-shielding-of-home.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-usage-multiplier.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-pv.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-schedules-stochastic-vacant.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-schedules-stochastic.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-schedules-user-specified.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-calendar-year-custom.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-daylight-saving-custom.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-daylight-saving-disabled.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-runperiod-1-month.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-timestep-10-mins.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/build_residential_hpxml_test.rb +4 -2
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-auto.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-double-exterior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-eaves.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-single-exterior-front.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-left-bottom-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-left-bottom.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-left-middle-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-left-middle.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-left-top-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-left-top.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-middle-bottom-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-middle-bottom.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-middle-middle-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-middle-middle.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-middle-top-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-middle-top.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-right-bottom-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-right-bottom.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-right-middle-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-right-middle.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-right-top-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab-right-top.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-slab.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-left-bottom-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-left-bottom.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-left-middle-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-left-middle.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-left-top-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-left-top.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-middle-bottom-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-middle-bottom.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-middle-middle-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-middle-middle.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-middle-top-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-middle-top.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-right-bottom-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-right-bottom.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-right-middle-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-right-middle.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-right-top-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace-right-top.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-unvented-crawlspace.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-left-bottom-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-left-bottom.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-left-middle-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-left-middle.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-left-top-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-left-top.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-middle-bottom-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-middle-bottom.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-middle-middle-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-middle-middle.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-middle-top-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-middle-top.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-right-bottom-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-right-bottom.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-right-middle-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-right-middle.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-right-top-double-loaded-interior.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace-right-top.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-multifamily-vented-crawlspace.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-atticroof-conditioned-eaves-gable.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-atticroof-conditioned-eaves-hip.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-atticroof-flat.osw +339 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-double-exterior.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-double-loaded-interior.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-single-exterior-front.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-slab-middle.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-slab-right.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-slab.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-unconditioned-basement-middle.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-unconditioned-basement-right.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-unconditioned-basement.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-unvented-crawlspace-middle.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-unvented-crawlspace-right.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-unvented-crawlspace.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-vented-crawlspace-middle.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-vented-crawlspace-right.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-bldgtype-single-family-attached-vented-crawlspace.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-dhw-solar-latitude.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-enclosure-atticroof-conditioned-eaves-gable.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-enclosure-atticroof-conditioned-eaves-hip.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-enclosure-garage-atticroof-conditioned.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-enclosure-garage-partially-protruded.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-enclosure-windows-shading.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-gas-hot-tub-heater-with-zero-kwh.osw +337 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-gas-pool-heater-with-zero-kwh.osw +337 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-pv-roofpitch.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-schedules-random-seed.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-boiler-to-heat-pump.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-boiler-to-heating-system.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-fireplace-to-heat-pump.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-fireplace-to-heating-system.osw +4 -4
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-portable-heater-to-heat-pump.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-portable-heater-to-heating-system.osw +4 -4
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-refrigerator.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-zero-clothes-washer-kwh.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-zero-dishwasher-kwh.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-zero-extra-refrigerator-kwh.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-zero-freezer-kwh.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-zero-refrigerator-kwh.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/conditioned-attic-with-floor-insulation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/conditioned-attic-with-one-floor-above-grade.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/conditioned-basement-with-ceiling-insulation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/cooling-system-and-heat-pump.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/dhw-indirect-without-boiler.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/ducts-location-and-areas-not-same-type.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/foundation-wall-insulation-greater-than-height.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/heating-system-and-heat-pump.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multifamily-bottom-crawlspace-zero-foundation-height.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multifamily-bottom-slab-non-zero-foundation-height.osw +8 -8
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multifamily-no-building-orientation.osw +7 -7
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multipliers-without-fuel-loads.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multipliers-without-other-plug-loads.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multipliers-without-tv-plug-loads.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multipliers-without-vehicle-plug-loads.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multipliers-without-well-pump-plug-loads.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/non-electric-heat-pump-water-heater.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/non-integer-ceiling-fan-quantity.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/non-integer-geometry-num-bathrooms.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/second-heating-system-but-no-primary-heating.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/second-heating-system-serves-majority-heat.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/second-heating-system-serves-total-heat-load.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-attached-ambient.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-attached-no-building-orientation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-detached-finished-basement-zero-foundation-height.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-detached-slab-non-zero-foundation-height.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/{base-appliances-dehumidifier-50percent.osw → invalid_files/single-family-detached-with-shared-system.osw} +22 -22
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/slab-non-zero-foundation-height-above-grade.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/unconditioned-basement-with-wall-and-ceiling-insulation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/unvented-attic-with-floor-and-roof-insulation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/unvented-crawlspace-with-wall-and-ceiling-insulation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/vented-attic-with-floor-and-roof-insulation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/vented-crawlspace-with-wall-and-ceiling-insulation.osw +5 -5
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/zero-number-of-bedrooms.osw +5 -5
- data/example_files/resources/hpxml-measures/Changelog.md +14 -3
- data/example_files/resources/hpxml-measures/Gemfile +1 -4
- data/example_files/resources/hpxml-measures/Gemfile.lock +6 -25
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.rb +136 -528
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml +131 -106
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/BaseElements.xsd +2 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/EPvalidator.xml +31 -14
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/HPXMLDataTypes.xsd +19 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/airflow.rb +5 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constants.rb +4 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constructions.rb +62 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/energyplus.rb +1 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/generator.rb +2 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/geometry.rb +388 -4
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml.rb +54 -14
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb +40 -4
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac.rb +110 -89
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac_sizing.rb +2 -4
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/meta_measure.rb +21 -10
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/minitest_helper.rb +4 -26
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/misc_loads.rb +12 -11
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/pv.rb +2 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/schedules.rb +28 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/simcontrols.rb +20 -9
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/version.rb +1 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/waterheater.rb +1 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/xmlhelper.rb +1 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_airflow.rb +2 -28
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb +16 -7
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/{test_constructions.rb → test_enclosure.rb} +12 -16
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_generator.rb +0 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hotwater_appliance.rb +0 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hvac.rb +13 -38
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb +0 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_lighting.rb +0 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_location.rb +0 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_miscloads.rb +0 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_pv.rb +0 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_simcontrols.rb +0 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_validation.rb +1 -2
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_water_heater.rb +0 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/util.rb +26 -0
- data/example_files/resources/hpxml-measures/README.md +0 -1
- data/example_files/resources/hpxml-measures/Rakefile +1 -2
- data/example_files/resources/hpxml-measures/SimulationOutputReport/measure.rb +32 -13
- data/example_files/resources/hpxml-measures/SimulationOutputReport/measure.xml +37 -9
- data/example_files/resources/hpxml-measures/SimulationOutputReport/tests/output_report_test.rb +24 -7
- data/example_files/resources/hpxml-measures/docs/source/getting_started.rst +1 -1
- data/example_files/resources/hpxml-measures/docs/source/intro.rst +1 -0
- data/example_files/resources/hpxml-measures/docs/source/workflow_inputs.rst +75 -58
- data/example_files/resources/hpxml-measures/docs/source/workflow_outputs.rst +5 -1
- data/example_files/resources/hpxml-measures/tasks.rb +248 -263
- data/example_files/resources/hpxml-measures/weather/USA_CO_Denver.Intl.AP.725650_TMY3-cache.csv +10 -10
- data/example_files/resources/hpxml-measures/workflow/run_simulation.rb +17 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-coal.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief-portable.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief-whole-home.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-multiple.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-gas.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-modified.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-none.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-oil.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-propane.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-wood.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-cathedral.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-conditioned.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-flat.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-radiant-barrier.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-unvented-insulated-roof.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-vented.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-multifamily-buffer-space.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-multiple.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-non-freezing-space.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-other-heated-space.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-other-housing-unit.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-fan-coil.xml +0 -18
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-water-loop-heat-pump.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-cooling-tower-water-loop-heat-pump.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil-eae.xml +0 -18
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil.xml +0 -18
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-water-loop-heat-pump.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-fan-coil.xml +0 -18
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-water-loop-heat-pump.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-cooling-tower-only-water-loop-heat-pump.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-generator.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-ground-loop-ground-to-air-heat-pump.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-laundry-room.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent-multiple.xml +6 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent-preconditioning.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-pv.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-water-heater-recirc.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-water-heater.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless-outside.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-2-speed.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-gshp.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-hpwh.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-tankless.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-var-speed.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-dwhr.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-dse.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-outside.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-standbyloss.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-with-solar-fraction.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-electric.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-gas.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-hpwh.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-indirect.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-low-flow-fixtures.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-multiple.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-none.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-demand.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-manual.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-nocontrol.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-temperature.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-timer.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-evacuated-tube.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-flat-plate.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-ics.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-fraction.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-indirect-flat-plate.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-thermosyphon-flat-plate.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-coal.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-elec-uef.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-outside.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-uef.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-outside.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-uef.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar-fraction.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-oil.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-wood.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-outside.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-uef.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-uef.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar-fraction.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-propane.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories-garage.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-1.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-2.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-4.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-5.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-garage.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-ach-house-pressure.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm-house-pressure.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm50.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-flue.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-natural-ach.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-overhangs.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-rooftypes.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-shading.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-level.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces.xml +21 -20
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces2.xml +21 -20
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-walltypes.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-none.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-shading.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-ambient.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-basement-garage.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-complex.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-basement-slab-insulation.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-basement-wall-interior-insulation.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-multiple.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-slab.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-above-grade.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-assembly-r.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-wall-insulation.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unvented-crawlspace.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-vented-crawlspace.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-walkout-basement.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-cooling-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-heating-only.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-2-speed.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-cooling-only.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-heating-only.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-manual-s-oversize-allowances.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-2-speed-manual-s-oversize-allowances.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-2-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-manual-s-oversize-allowances.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-gas-central-ac-1-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-1-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-2-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-var-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-plus-air-to-air-heat-pump-heating.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-air-to-air-heat-pump-1-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-mini-split-heat-pump-ducted.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-evap-cooler-furnace-gas.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-elec-only.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-central-ac-2-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-central-ac-var-speed.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-only.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-room-ac.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-cooling-only.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-heating-only.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-manual-s-oversize-allowances.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-air-conditioner-only-ducted.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-cooling-only.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-heating-only.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-manual-s-oversize-allowances.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize.xml +1 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-coal-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-elec-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-central-ac-1-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-oil-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-propane-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-wood-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-1-speed.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-2-speed.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-var-speed.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml +6 -5
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dse.xml +2 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-mini-split-heat-pump-ducted.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-leakage-percent.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-elec-resistance-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-furnace-gas.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only-ducted.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fireplace-wood-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fixed-heater-gas-only.xml +1 -52
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-floor-furnace-propane-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-coal-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-central-ac-1-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-2-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-var-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-room-ac.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-oil-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-propane-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-wood-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-x3-dse.xml +4 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump-cooling-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump-heating-only.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-airflow-defect-furnace-gas-central-ac-1-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-air-to-air-heat-pump-1-speed.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-air-to-air-heat-pump-2-speed.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-air-to-air-heat-pump-var-speed.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-furnace-gas-central-ac-1-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-furnace-gas-central-ac-2-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-furnace-gas-central-ac-var-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-furnace-gas-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-ground-to-air-heat-pump.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-mini-split-air-conditioner-only-ducted.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-all-mini-split-heat-pump-ducted.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-blower-efficiency-furnace-gas-central-ac-1-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-charge-defect-furnace-gas-central-ac-1-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-none-furnace-gas-central-ac-1-speed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ducted.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-cooling-only.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-heating-only.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless.xml +3 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-multiple.xml +9 -5
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-portable-heater-gas-only.xml +1 -52
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-programmable-thermostat-detailed.xml +6 -5
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-programmable-thermostat.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-33percent.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-oil-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-wood-pellets-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized-allow-increased-fixed-capacities.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-wall-furnace-elec-only.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-ceiling-fans.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-detailed.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-none.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-AMY-2012.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-baltimore-md.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-dallas-tx.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-duluth-mn.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-helena-mt.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-honolulu-hi.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-miami-fl.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-phoenix-az.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-portland-or.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-balanced.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-bath-kitchen-fans.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-dse.xml +2 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-evap-cooler-only-ducted.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv-atre-asre.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust-rated-flow-rate.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv-asre.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-multiple.xml +30 -28
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-supply.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-whole-house-fan.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-defaults.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon2.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-none.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-neighbor-shading.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-shielding-of-home.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-usage-multiplier.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-multiple-buildings.xml +9 -6
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-stochastic-vacant.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-stochastic.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-user-specified.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-calendar-year-custom.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-custom.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-disabled.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-runperiod-1-month.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/base.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/boiler-invalid-afue.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/cfis-with-hydronic-distribution.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/clothes-dryer-location.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/clothes-washer-location.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/cooking-range-location.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dehumidifier-fraction-served.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dehumidifier-setpoints.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dhw-frac-load-served.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dhw-invalid-ef-tank.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dhw-invalid-uef-tank-heat-pump.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dishwasher-location.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duct-leakage-cfm25.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duct-leakage-percent.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duct-location-unconditioned-space.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duct-location.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duplicate-id.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-attic-missing-roof.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-basement-missing-exterior-foundation-wall.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-basement-missing-slab.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-floor-area-exceeds-cfa.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-floor-area-exceeds-cfa2.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-garage-missing-exterior-wall.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-garage-missing-roof-ceiling.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-garage-missing-slab.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-living-missing-ceiling-roof.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-living-missing-exterior-wall.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-living-missing-floor-slab.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/frac-sensible-fuel-load.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/frac-sensible-plug-load.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/frac-total-fuel-load.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/frac-total-plug-load.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/furnace-invalid-afue.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/generator-number-of-bedrooms-served.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/generator-output-greater-than-consumption.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/heat-pump-mixed-fixed-and-autosize-capacities.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-distribution-multiple-attached-cooling.xml +9 -5
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-distribution-multiple-attached-heating.xml +9 -5
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-distribution-return-duct-leakage-missing.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-dse-multiple-attached-cooling.xml +3 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-dse-multiple-attached-heating.xml +3 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-frac-load-served.xml +9 -5
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-inconsistent-fan-powers.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-invalid-distribution-system-type.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-shared-negative-seer-eq.xml +407 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-assembly-effective-rvalue.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-datatype-boolean.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-datatype-float.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-datatype-integer.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-daylight-saving.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-distribution-cfa-served.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-epw-filepath.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-facility-type-equipment.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-facility-type-surfaces.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-foundation-wall-properties.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-id.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-id2.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-infiltration-volume.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-input-parameters.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-neighbor-shading-azimuth.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-number-of-bedrooms-served.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-number-of-conditioned-floors.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-number-of-units-served.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-relatedhvac-desuperheater.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-relatedhvac-dhw-indirect.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-runperiod.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-schema-version.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-shared-vent-in-unit-flowrate.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-timestep.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-window-height.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/lighting-fractions.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/missing-duct-location.xml +9 -5
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/missing-elements.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-appliance.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-duct.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-surface.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-water-heater.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multiple-buildings-without-building-id.xml +9 -6
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multiple-buildings-wrong-building-id.xml +9 -6
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/net-area-negative-roof.xml +4 -3
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/net-area-negative-wall.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/num-bedrooms-exceeds-limit.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/orphaned-hvac-distribution.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/refrigerator-location.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/refrigerators-multiple-primary.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/refrigerators-no-primary.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/repeated-relatedhvac-desuperheater.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/repeated-relatedhvac-dhw-indirect.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-appliances-dehumidifier-50percent.xml → invalid_files/solar-fraction-one.xml} +570 -524
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/solar-thermal-system-with-combi-tankless.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/solar-thermal-system-with-desuperheater.xml +2 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/solar-thermal-system-with-dhw-indirect.xml +1 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-cfis.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-door.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-hvac-distribution.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-shared-clothes-washer-water-heater.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-shared-dishwasher-water-heater.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-skylight.xml +5 -4
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-solar-thermal-system.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-window.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/water-heater-location-other.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/water-heater-location.xml +3 -2
- data/example_files/resources/hpxml-measures/workflow/template.osw +1 -0
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results.csv +294 -0
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_ashrae_140.csv +27 -0
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_hvac_sizing.csv +294 -0
- data/example_files/resources/hpxml-measures/workflow/tests/compare.rb +130 -0
- data/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb +108 -38
- data/example_files/visualization/input_visualization_feature.html +15 -16
- data/example_files/visualization/input_visualization_scenario.html +16 -11
- data/lib/uo_cli/version.rb +1 -1
- data/lib/uo_cli.rb +158 -26
- data/scripts/setup-env-gitbash.sh +4 -4
- data/scripts/setup-env-unix.sh +4 -4
- data/scripts/setup-env.bat +3 -3
- data/scripts/setup-env.ps1 +3 -3
- data/uo_cli.gemspec +10 -7
- metadata +80 -24
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_config.yml +0 -74
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-multiple2.xml +0 -838
@@ -16,8 +16,7 @@ def create_osws
|
|
16
16
|
'base-appliances-dehumidifier.osw' => 'base-location-dallas-tx.osw',
|
17
17
|
'base-appliances-dehumidifier-ief-portable.osw' => 'base-appliances-dehumidifier.osw',
|
18
18
|
'base-appliances-dehumidifier-ief-whole-home.osw' => 'base-appliances-dehumidifier-ief-portable.osw',
|
19
|
-
'base-appliances-dehumidifier-
|
20
|
-
# 'base-appliances-dehumidifier-multiple.osw' => 'base-appliances-dehumidifier-50percent.osw',
|
19
|
+
# 'base-appliances-dehumidifier-multiple.osw' => 'base-appliances-dehumidifier.osw',
|
21
20
|
'base-appliances-gas.osw' => 'base.osw',
|
22
21
|
'base-appliances-modified.osw' => 'base.osw',
|
23
22
|
'base-appliances-none.osw' => 'base.osw',
|
@@ -42,8 +41,8 @@ def create_osws
|
|
42
41
|
# 'base-bldgtype-multifamily-shared-boiler-chiller-fan-coil-ducted.osw' => 'base-bldgtype-multifamily-shared-boiler-chiller-fan-coil.osw',
|
43
42
|
# 'base-bldgtype-multifamily-shared-boiler-chiller-water-loop-heat-pump.osw' => 'base-bldgtype-multifamily-shared-boiler-chiller-baseboard.osw',
|
44
43
|
# 'base-bldgtype-multifamily-shared-boiler-cooling-tower-water-loop-heat-pump.osw' => 'base-bldgtype-multifamily-shared-boiler-chiller-water-loop-heat-pump.osw',
|
45
|
-
|
46
|
-
|
44
|
+
'base-bldgtype-multifamily-shared-boiler-only-baseboard.osw' => 'base-bldgtype-multifamily.osw',
|
45
|
+
'base-bldgtype-multifamily-shared-boiler-only-fan-coil.osw' => 'base-bldgtype-multifamily-shared-boiler-only-baseboard.osw',
|
47
46
|
# 'base-bldgtype-multifamily-shared-boiler-only-fan-coil-ducted.osw' => 'base-bldgtype-multifamily-shared-boiler-only-fan-coil.osw',
|
48
47
|
# 'base-bldgtype-multifamily-shared-boiler-only-fan-coil-eae.osw' => 'base-bldgtype-multifamily-shared-boiler-only-fan-coil.osw',
|
49
48
|
# 'base-bldgtype-multifamily-shared-boiler-only-water-loop-heat-pump.osw' => 'base-bldgtype-multifamily-shared-boiler-only-baseboard.osw',
|
@@ -214,7 +213,6 @@ def create_osws
|
|
214
213
|
'base-hvac-mini-split-heat-pump-ducted-heating-only.osw' => 'base-hvac-mini-split-heat-pump-ducted.osw',
|
215
214
|
'base-hvac-mini-split-heat-pump-ductless.osw' => 'base-hvac-mini-split-heat-pump-ducted.osw',
|
216
215
|
# 'base-hvac-multiple.osw' => 'base.osw', # Not supporting multiple heating/cooling systems for now
|
217
|
-
# 'base-hvac-multiple2.osw' => 'base.osw', # Not supporting multiple heating/cooling systems for now
|
218
216
|
'base-hvac-none.osw' => 'base.osw',
|
219
217
|
'base-hvac-portable-heater-gas-only.osw' => 'base.osw',
|
220
218
|
# 'base-hvac-programmable-thermostat.osw' => 'base.osw',
|
@@ -294,6 +292,9 @@ def create_osws
|
|
294
292
|
'extra-zero-freezer-kwh.osw' => 'base.osw',
|
295
293
|
'extra-zero-clothes-washer-kwh.osw' => 'base.osw',
|
296
294
|
'extra-zero-dishwasher-kwh.osw' => 'base.osw',
|
295
|
+
'extra-bldgtype-single-family-attached-atticroof-flat.osw' => 'base-bldgtype-single-family-attached.osw',
|
296
|
+
'extra-gas-pool-heater-with-zero-kwh.osw' => 'base.osw',
|
297
|
+
'extra-gas-hot-tub-heater-with-zero-kwh.osw' => 'base.osw',
|
297
298
|
|
298
299
|
'extra-bldgtype-single-family-attached-atticroof-conditioned-eaves-gable.osw' => 'extra-bldgtype-single-family-attached-slab.osw',
|
299
300
|
'extra-bldgtype-single-family-attached-atticroof-conditioned-eaves-hip.osw' => 'extra-bldgtype-single-family-attached-atticroof-conditioned-eaves-gable.osw',
|
@@ -416,7 +417,8 @@ def create_osws
|
|
416
417
|
'invalid_files/multipliers-without-fuel-loads.osw' => 'base.osw',
|
417
418
|
'invalid_files/foundation-wall-insulation-greater-than-height.osw' => 'base-foundation-vented-crawlspace.osw',
|
418
419
|
'invalid_files/conditioned-attic-with-one-floor-above-grade.osw' => 'base.osw',
|
419
|
-
'invalid_files/zero-number-of-bedrooms.osw' => 'base.osw'
|
420
|
+
'invalid_files/zero-number-of-bedrooms.osw' => 'base.osw',
|
421
|
+
'invalid_files/single-family-detached-with-shared-system.osw' => 'base.osw'
|
420
422
|
}
|
421
423
|
|
422
424
|
puts "Generating #{osws_files.size} OSW files..."
|
@@ -592,14 +594,14 @@ def get_values(osw_file, step)
|
|
592
594
|
step.setArgument('heating_system_type', HPXML::HVACTypeFurnace)
|
593
595
|
step.setArgument('heating_system_fuel', HPXML::FuelTypeNaturalGas)
|
594
596
|
step.setArgument('heating_system_heating_efficiency', 0.92)
|
595
|
-
step.setArgument('heating_system_heating_capacity', '
|
597
|
+
step.setArgument('heating_system_heating_capacity', '36000.0')
|
596
598
|
step.setArgument('heating_system_fraction_heat_load_served', 1)
|
597
599
|
step.setArgument('cooling_system_type', HPXML::HVACTypeCentralAirConditioner)
|
598
600
|
step.setArgument('cooling_system_cooling_efficiency_type', HPXML::UnitsSEER)
|
599
601
|
step.setArgument('cooling_system_cooling_efficiency', 13.0)
|
600
602
|
step.setArgument('cooling_system_cooling_compressor_type', HPXML::HVACCompressorTypeSingleStage)
|
601
603
|
step.setArgument('cooling_system_cooling_sensible_heat_fraction', 0.73)
|
602
|
-
step.setArgument('cooling_system_cooling_capacity', '
|
604
|
+
step.setArgument('cooling_system_cooling_capacity', '24000.0')
|
603
605
|
step.setArgument('cooling_system_fraction_cool_load_served', 1)
|
604
606
|
step.setArgument('cooling_system_is_ducted', false)
|
605
607
|
step.setArgument('heat_pump_type', 'none')
|
@@ -609,14 +611,14 @@ def get_values(osw_file, step)
|
|
609
611
|
step.setArgument('heat_pump_cooling_efficiency', 13.0)
|
610
612
|
step.setArgument('heat_pump_cooling_compressor_type', HPXML::HVACCompressorTypeSingleStage)
|
611
613
|
step.setArgument('heat_pump_cooling_sensible_heat_fraction', 0.73)
|
612
|
-
step.setArgument('heat_pump_heating_capacity', '
|
614
|
+
step.setArgument('heat_pump_heating_capacity', '36000.0')
|
613
615
|
step.setArgument('heat_pump_heating_capacity_17_f', Constants.Auto)
|
614
|
-
step.setArgument('heat_pump_cooling_capacity', '
|
616
|
+
step.setArgument('heat_pump_cooling_capacity', '36000.0')
|
615
617
|
step.setArgument('heat_pump_fraction_heat_load_served', 1)
|
616
618
|
step.setArgument('heat_pump_fraction_cool_load_served', 1)
|
617
619
|
step.setArgument('heat_pump_backup_fuel', 'none')
|
618
620
|
step.setArgument('heat_pump_backup_heating_efficiency', 1)
|
619
|
-
step.setArgument('heat_pump_backup_heating_capacity', '
|
621
|
+
step.setArgument('heat_pump_backup_heating_capacity', '36000.0')
|
620
622
|
step.setArgument('setpoint_heating_weekday', '68')
|
621
623
|
step.setArgument('setpoint_heating_weekend', '68')
|
622
624
|
step.setArgument('setpoint_cooling_weekday', '78')
|
@@ -816,15 +818,17 @@ def get_values(osw_file, step)
|
|
816
818
|
step.setArgument('hot_tub_heater_annual_kwh', Constants.Auto)
|
817
819
|
step.setArgument('hot_tub_heater_annual_therm', Constants.Auto)
|
818
820
|
step.setArgument('hot_tub_heater_usage_multiplier', 1.0)
|
819
|
-
|
821
|
+
end
|
822
|
+
|
823
|
+
# Appliances
|
824
|
+
if ['base-appliances-coal.osw'].include? osw_file
|
820
825
|
step.setArgument('clothes_dryer_fuel_type', HPXML::FuelTypeCoal)
|
821
826
|
step.setArgument('clothes_dryer_efficiency', '3.3')
|
822
827
|
step.setArgument('clothes_dryer_vented_flow_rate', Constants.Auto)
|
823
828
|
step.setArgument('cooking_range_oven_fuel_type', HPXML::FuelTypeCoal)
|
824
829
|
elsif ['base-appliances-dehumidifier.osw'].include? osw_file
|
830
|
+
step.setArgument('heating_system_heating_capacity', '24000.0')
|
825
831
|
step.setArgument('dehumidifier_type', HPXML::DehumidifierTypePortable)
|
826
|
-
elsif ['base-appliances-dehumidifier-50percent.osw'].include? osw_file
|
827
|
-
step.setArgument('dehumidifier_fraction_dehumidification_load_served', 0.5)
|
828
832
|
elsif ['base-appliances-dehumidifier-ief-portable.osw'].include? osw_file
|
829
833
|
step.setArgument('dehumidifier_efficiency_type', 'IntegratedEnergyFactor')
|
830
834
|
step.setArgument('dehumidifier_efficiency', '1.5')
|
@@ -897,6 +901,7 @@ def get_values(osw_file, step)
|
|
897
901
|
step.setArgument('window_area_back', 0)
|
898
902
|
step.setArgument('window_area_left', 0)
|
899
903
|
step.setArgument('window_area_right', 0)
|
904
|
+
step.setArgument('heating_system_heating_capacity', '24000.0')
|
900
905
|
step.setArgument('plug_loads_other_annual_kwh', '1638.0')
|
901
906
|
elsif ['base-bldgtype-multifamily.osw'].include? osw_file
|
902
907
|
step.setArgument('geometry_unit_type', HPXML::ResidentialTypeApartment)
|
@@ -905,9 +910,9 @@ def get_values(osw_file, step)
|
|
905
910
|
step.setArgument('geometry_foundation_type', HPXML::FoundationTypeBasementUnconditioned)
|
906
911
|
step.setArgument('geometry_level', 'Middle')
|
907
912
|
step.setArgument('geometry_horizontal_location', 'Left')
|
908
|
-
step.setArgument('geometry_building_num_units',
|
909
|
-
step.setArgument('geometry_building_num_bedrooms',
|
910
|
-
step.setArgument('geometry_num_floors_above_grade',
|
913
|
+
step.setArgument('geometry_building_num_units', 6)
|
914
|
+
step.setArgument('geometry_building_num_bedrooms', 6 * 3)
|
915
|
+
step.setArgument('geometry_num_floors_above_grade', 3)
|
911
916
|
step.setArgument('window_front_wwr', 0.18)
|
912
917
|
step.setArgument('window_back_wwr', 0.18)
|
913
918
|
step.setArgument('window_left_wwr', 0.18)
|
@@ -916,6 +921,8 @@ def get_values(osw_file, step)
|
|
916
921
|
step.setArgument('window_area_back', 0)
|
917
922
|
step.setArgument('window_area_left', 0)
|
918
923
|
step.setArgument('window_area_right', 0)
|
924
|
+
step.setArgument('heating_system_heating_capacity', '12000.0')
|
925
|
+
step.setArgument('cooling_system_cooling_capacity', '12000.0')
|
919
926
|
step.setArgument('ducts_supply_leakage_value', 0.0)
|
920
927
|
step.setArgument('ducts_return_leakage_value', 0.0)
|
921
928
|
step.setArgument('ducts_supply_location', HPXML::LocationLivingSpace)
|
@@ -925,6 +932,12 @@ def get_values(osw_file, step)
|
|
925
932
|
step.setArgument('ducts_number_of_return_registers', '1')
|
926
933
|
step.setArgument('door_area', 20.0)
|
927
934
|
step.setArgument('plug_loads_other_annual_kwh', '819.0')
|
935
|
+
elsif ['base-bldgtype-multifamily-shared-boiler-only-baseboard.osw'].include? osw_file
|
936
|
+
step.setArgument('heating_system_type', "Shared #{HPXML::HVACTypeBoiler} w/ Baseboard")
|
937
|
+
step.setArgument('cooling_system_type', 'none')
|
938
|
+
elsif ['base-bldgtype-multifamily-shared-boiler-only-fan-coil.osw'].include? osw_file
|
939
|
+
step.setArgument('heating_system_type', "Shared #{HPXML::HVACTypeBoiler} w/ Ductless Fan Coil")
|
940
|
+
step.setArgument('cooling_system_type', 'none')
|
928
941
|
elsif ['base-bldgtype-multifamily-shared-mechvent.osw'].include? osw_file
|
929
942
|
step.setArgument('mech_vent_fan_type', HPXML::MechVentTypeSupply)
|
930
943
|
step.setArgument('mech_vent_flow_rate', 800)
|
@@ -957,7 +970,10 @@ def get_values(osw_file, step)
|
|
957
970
|
step.setArgument('water_heater_tank_volume', '120')
|
958
971
|
step.setArgument('water_heater_efficiency', 0.59)
|
959
972
|
step.setArgument('water_heater_recovery_efficiency', '0.76')
|
960
|
-
|
973
|
+
end
|
974
|
+
|
975
|
+
# DHW
|
976
|
+
if ['base-dhw-combi-tankless.osw'].include? osw_file
|
961
977
|
step.setArgument('water_heater_type', HPXML::WaterHeaterTypeCombiTankless)
|
962
978
|
step.setArgument('water_heater_tank_volume', Constants.Auto)
|
963
979
|
elsif ['base-dhw-combi-tankless-outside.osw'].include? osw_file
|
@@ -1141,13 +1157,18 @@ def get_values(osw_file, step)
|
|
1141
1157
|
step.setArgument('water_heater_fuel_type', HPXML::FuelTypeWoodCord)
|
1142
1158
|
step.setArgument('water_heater_tank_volume', '50')
|
1143
1159
|
step.setArgument('water_heater_efficiency', 0.59)
|
1144
|
-
|
1160
|
+
end
|
1161
|
+
|
1162
|
+
# Enclosure
|
1163
|
+
if ['base-enclosure-2stories.osw'].include? osw_file
|
1145
1164
|
step.setArgument('geometry_cfa', 4050.0)
|
1146
1165
|
step.setArgument('geometry_num_floors_above_grade', 2)
|
1147
1166
|
step.setArgument('window_area_front', 216.0)
|
1148
1167
|
step.setArgument('window_area_back', 216.0)
|
1149
1168
|
step.setArgument('window_area_left', 144.0)
|
1150
1169
|
step.setArgument('window_area_right', 144.0)
|
1170
|
+
step.setArgument('heating_system_heating_capacity', '48000.0')
|
1171
|
+
step.setArgument('cooling_system_cooling_capacity', '36000.0')
|
1151
1172
|
step.setArgument('ducts_number_of_return_registers', '3')
|
1152
1173
|
step.setArgument('plug_loads_other_annual_kwh', '3685.5')
|
1153
1174
|
elsif ['base-enclosure-2stories-garage.osw'].include? osw_file
|
@@ -1200,7 +1221,7 @@ def get_values(osw_file, step)
|
|
1200
1221
|
step.setArgument('geometry_has_flue_or_chimney', 'true')
|
1201
1222
|
elsif ['base-enclosure-infil-natural-ach.osw'].include? osw_file
|
1202
1223
|
step.setArgument('air_leakage_units', HPXML::UnitsACHNatural)
|
1203
|
-
step.setArgument('air_leakage_value', 0.
|
1224
|
+
step.setArgument('air_leakage_value', 0.2)
|
1204
1225
|
elsif ['base-enclosure-other-heated-space.osw'].include? osw_file
|
1205
1226
|
step.setArgument('geometry_unit_type', HPXML::ResidentialTypeApartment)
|
1206
1227
|
step.setArgument('ducts_supply_location', HPXML::LocationOtherHeatedSpace)
|
@@ -1253,7 +1274,10 @@ def get_values(osw_file, step)
|
|
1253
1274
|
step.setArgument('window_area_back', 0)
|
1254
1275
|
step.setArgument('window_area_left', 0)
|
1255
1276
|
step.setArgument('window_area_right', 0)
|
1256
|
-
|
1277
|
+
end
|
1278
|
+
|
1279
|
+
# Foundation
|
1280
|
+
if ['base-foundation-ambient.osw'].include? osw_file
|
1257
1281
|
step.setArgument('geometry_cfa', 1350.0)
|
1258
1282
|
step.setArgument('geometry_foundation_type', HPXML::FoundationTypeAmbient)
|
1259
1283
|
step.setArgument('geometry_rim_joist_height', 0)
|
@@ -1345,12 +1369,14 @@ def get_values(osw_file, step)
|
|
1345
1369
|
elsif ['base-foundation-walkout-basement.osw'].include? osw_file
|
1346
1370
|
step.setArgument('geometry_foundation_height_above_grade', 5.0)
|
1347
1371
|
step.setArgument('foundation_wall_insulation_distance_to_bottom', 4.0)
|
1348
|
-
|
1372
|
+
end
|
1373
|
+
|
1374
|
+
# HVAC
|
1375
|
+
if ['base-hvac-air-to-air-heat-pump-1-speed.osw'].include? osw_file
|
1349
1376
|
step.setArgument('heating_system_type', 'none')
|
1350
1377
|
step.setArgument('cooling_system_type', 'none')
|
1351
1378
|
step.setArgument('heat_pump_type', HPXML::HVACTypeHeatPumpAirToAir)
|
1352
|
-
step.setArgument('
|
1353
|
-
step.setArgument('heat_pump_heating_capacity_17_f', '26460.0')
|
1379
|
+
step.setArgument('heat_pump_heating_capacity_17_f', '22680.0')
|
1354
1380
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeElectricity)
|
1355
1381
|
elsif ['base-hvac-air-to-air-heat-pump-1-speed-cooling-only.osw'].include? osw_file
|
1356
1382
|
step.setArgument('heat_pump_heating_capacity', '0.0')
|
@@ -1366,8 +1392,7 @@ def get_values(osw_file, step)
|
|
1366
1392
|
step.setArgument('heat_pump_type', HPXML::HVACTypeHeatPumpAirToAir)
|
1367
1393
|
step.setArgument('heat_pump_heating_efficiency', 9.3)
|
1368
1394
|
step.setArgument('heat_pump_cooling_compressor_type', HPXML::HVACCompressorTypeTwoStage)
|
1369
|
-
step.setArgument('
|
1370
|
-
step.setArgument('heat_pump_heating_capacity_17_f', '24780.0')
|
1395
|
+
step.setArgument('heat_pump_heating_capacity_17_f', '21240.0')
|
1371
1396
|
step.setArgument('heat_pump_cooling_efficiency', 18.0)
|
1372
1397
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeElectricity)
|
1373
1398
|
elsif ['base-hvac-air-to-air-heat-pump-var-speed.osw'].include? osw_file
|
@@ -1377,8 +1402,7 @@ def get_values(osw_file, step)
|
|
1377
1402
|
step.setArgument('heat_pump_heating_efficiency', 10.0)
|
1378
1403
|
step.setArgument('heat_pump_cooling_compressor_type', HPXML::HVACCompressorTypeVariableSpeed)
|
1379
1404
|
step.setArgument('heat_pump_cooling_sensible_heat_fraction', 0.78)
|
1380
|
-
step.setArgument('
|
1381
|
-
step.setArgument('heat_pump_heating_capacity_17_f', '26880.0')
|
1405
|
+
step.setArgument('heat_pump_heating_capacity_17_f', '23040.0')
|
1382
1406
|
step.setArgument('heat_pump_cooling_efficiency', 22.0)
|
1383
1407
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeElectricity)
|
1384
1408
|
elsif ['base-hvac-boiler-coal-only.osw'].include? osw_file
|
@@ -1421,18 +1445,15 @@ def get_values(osw_file, step)
|
|
1421
1445
|
elsif ['base-hvac-central-ac-plus-air-to-air-heat-pump-heating.osw'].include? osw_file
|
1422
1446
|
step.setArgument('heat_pump_type', HPXML::HVACTypeHeatPumpAirToAir)
|
1423
1447
|
step.setArgument('heat_pump_heating_efficiency', 7.7)
|
1424
|
-
step.setArgument('
|
1425
|
-
step.setArgument('heat_pump_heating_capacity_17_f', '26460.0')
|
1448
|
+
step.setArgument('heat_pump_heating_capacity_17_f', '22680.0')
|
1426
1449
|
step.setArgument('heat_pump_fraction_cool_load_served', 0)
|
1427
1450
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeElectricity)
|
1428
1451
|
elsif ['base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.osw'].include? osw_file
|
1429
1452
|
step.setArgument('cooling_system_type', 'none')
|
1430
1453
|
step.setArgument('heat_pump_heating_efficiency', 7.7)
|
1431
|
-
step.setArgument('
|
1432
|
-
step.setArgument('heat_pump_heating_capacity_17_f', '26460.0')
|
1454
|
+
step.setArgument('heat_pump_heating_capacity_17_f', '22680.0')
|
1433
1455
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeNaturalGas)
|
1434
1456
|
step.setArgument('heat_pump_backup_heating_efficiency', 0.95)
|
1435
|
-
step.setArgument('heat_pump_backup_heating_capacity', '36000.0')
|
1436
1457
|
step.setArgument('heat_pump_backup_heating_switchover_temp', 25)
|
1437
1458
|
elsif ['base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.osw'].include? osw_file
|
1438
1459
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeElectricity)
|
@@ -1440,17 +1461,16 @@ def get_values(osw_file, step)
|
|
1440
1461
|
elsif ['base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.osw'].include? osw_file
|
1441
1462
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeNaturalGas)
|
1442
1463
|
step.setArgument('heat_pump_backup_heating_efficiency', 0.95)
|
1443
|
-
step.setArgument('heat_pump_backup_heating_capacity', '36000.0')
|
1444
1464
|
step.setArgument('heat_pump_backup_heating_switchover_temp', 25)
|
1445
1465
|
elsif ['base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.osw'].include? osw_file
|
1446
1466
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeNaturalGas)
|
1447
1467
|
step.setArgument('heat_pump_backup_heating_efficiency', 0.95)
|
1448
|
-
step.setArgument('heat_pump_backup_heating_capacity', '36000.0')
|
1449
1468
|
step.setArgument('heat_pump_backup_heating_switchover_temp', 25)
|
1450
1469
|
elsif ['base-hvac-dual-fuel-mini-split-heat-pump-ducted.osw'].include? osw_file
|
1470
|
+
step.setArgument('heat_pump_heating_capacity', '36000.0')
|
1471
|
+
step.setArgument('heat_pump_heating_capacity_17_f', '20423.0')
|
1451
1472
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeNaturalGas)
|
1452
1473
|
step.setArgument('heat_pump_backup_heating_efficiency', 0.95)
|
1453
|
-
step.setArgument('heat_pump_backup_heating_capacity', '36000.0')
|
1454
1474
|
step.setArgument('heat_pump_backup_heating_switchover_temp', 25)
|
1455
1475
|
elsif ['base-hvac-ducts-leakage-percent.osw'].include? osw_file
|
1456
1476
|
step.setArgument('ducts_supply_leakage_units', HPXML::UnitsPercent)
|
@@ -1486,6 +1506,7 @@ def get_values(osw_file, step)
|
|
1486
1506
|
elsif ['base-hvac-fixed-heater-gas-only.osw'].include? osw_file
|
1487
1507
|
step.setArgument('heating_system_type', HPXML::HVACTypeFixedHeater)
|
1488
1508
|
step.setArgument('heating_system_heating_efficiency', 1.0)
|
1509
|
+
step.setArgument('cooling_system_type', 'none')
|
1489
1510
|
elsif ['base-hvac-floor-furnace-propane-only.osw'].include? osw_file
|
1490
1511
|
step.setArgument('heating_system_type', HPXML::HVACTypeFloorFurnace)
|
1491
1512
|
step.setArgument('heating_system_fuel', HPXML::FuelTypePropane)
|
@@ -1547,7 +1568,6 @@ def get_values(osw_file, step)
|
|
1547
1568
|
step.setArgument('heat_pump_cooling_efficiency_type', HPXML::UnitsEER)
|
1548
1569
|
step.setArgument('heat_pump_cooling_efficiency', 16.6)
|
1549
1570
|
step.removeArgument('heat_pump_cooling_compressor_type')
|
1550
|
-
step.setArgument('heat_pump_heating_capacity', '42000.0')
|
1551
1571
|
step.setArgument('heat_pump_backup_fuel', HPXML::FuelTypeElectricity)
|
1552
1572
|
elsif ['base-hvac-ground-to-air-heat-pump-cooling-only.osw'].include? osw_file
|
1553
1573
|
step.setArgument('heat_pump_heating_capacity', '0.0')
|
@@ -1601,8 +1621,7 @@ def get_values(osw_file, step)
|
|
1601
1621
|
step.setArgument('heating_system_type', 'none')
|
1602
1622
|
step.setArgument('cooling_system_type', 'none')
|
1603
1623
|
step.setArgument('heat_pump_type', HPXML::HVACTypeHeatPumpMiniSplit)
|
1604
|
-
step.setArgument('
|
1605
|
-
step.setArgument('heat_pump_heating_capacity_17_f', '29500.0')
|
1624
|
+
step.setArgument('heat_pump_heating_capacity_17_f', '20423.0')
|
1606
1625
|
step.setArgument('heat_pump_heating_efficiency', 10.0)
|
1607
1626
|
step.setArgument('heat_pump_cooling_efficiency', 19.0)
|
1608
1627
|
step.removeArgument('heat_pump_cooling_compressor_type')
|
@@ -1631,10 +1650,11 @@ def get_values(osw_file, step)
|
|
1631
1650
|
elsif ['base-hvac-portable-heater-gas-only.osw'].include? osw_file
|
1632
1651
|
step.setArgument('heating_system_type', HPXML::HVACTypePortableHeater)
|
1633
1652
|
step.setArgument('heating_system_heating_efficiency', 1.0)
|
1653
|
+
step.setArgument('cooling_system_type', 'none')
|
1634
1654
|
elsif ['base-hvac-programmable-thermostat-detailed.osw'].include? osw_file
|
1635
|
-
step.setArgument('setpoint_heating_weekday', '64, 64, 64, 64, 64, 64, 64,
|
1636
|
-
step.setArgument('setpoint_heating_weekend', '
|
1637
|
-
step.setArgument('setpoint_cooling_weekday', '
|
1655
|
+
step.setArgument('setpoint_heating_weekday', '64, 64, 64, 64, 64, 64, 64, 70, 70, 66, 66, 66, 66, 66, 66, 66, 66, 68, 68, 68, 68, 68, 64, 64')
|
1656
|
+
step.setArgument('setpoint_heating_weekend', '68, 68, 68, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70')
|
1657
|
+
step.setArgument('setpoint_cooling_weekday', '80, 80, 80, 80, 80, 80, 80, 75, 75, 80, 80, 80, 80, 80, 80, 80, 80, 78, 78, 78, 78, 78, 80, 80')
|
1638
1658
|
step.setArgument('setpoint_cooling_weekend', '78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78')
|
1639
1659
|
elsif ['base-hvac-room-ac-only.osw'].include? osw_file
|
1640
1660
|
step.setArgument('heating_system_type', 'none')
|
@@ -1651,6 +1671,7 @@ def get_values(osw_file, step)
|
|
1651
1671
|
step.removeArgument('cooling_system_cooling_compressor_type')
|
1652
1672
|
step.setArgument('cooling_system_cooling_sensible_heat_fraction', 0.65)
|
1653
1673
|
step.setArgument('cooling_system_fraction_cool_load_served', 0.33)
|
1674
|
+
step.setArgument('cooling_system_cooling_capacity', '8000.0')
|
1654
1675
|
elsif ['base-hvac-setpoints.osw'].include? osw_file
|
1655
1676
|
step.setArgument('setpoint_heating_weekday', '60')
|
1656
1677
|
step.setArgument('setpoint_heating_weekend', '60')
|
@@ -1667,8 +1688,8 @@ def get_values(osw_file, step)
|
|
1667
1688
|
step.setArgument('heating_system_heating_efficiency', 0.8)
|
1668
1689
|
step.setArgument('cooling_system_type', 'none')
|
1669
1690
|
elsif ['base-hvac-undersized.osw'].include? osw_file
|
1670
|
-
step.setArgument('heating_system_heating_capacity', '
|
1671
|
-
step.setArgument('cooling_system_cooling_capacity', '
|
1691
|
+
step.setArgument('heating_system_heating_capacity', '3600.0')
|
1692
|
+
step.setArgument('cooling_system_cooling_capacity', '2400.0')
|
1672
1693
|
step.setArgument('ducts_supply_leakage_value', 7.5)
|
1673
1694
|
step.setArgument('ducts_return_leakage_value', 2.5)
|
1674
1695
|
elsif ['base-hvac-wall-furnace-elec-only.osw'].include? osw_file
|
@@ -1676,7 +1697,10 @@ def get_values(osw_file, step)
|
|
1676
1697
|
step.setArgument('heating_system_fuel', HPXML::FuelTypeElectricity)
|
1677
1698
|
step.setArgument('heating_system_heating_efficiency', 1.0)
|
1678
1699
|
step.setArgument('cooling_system_type', 'none')
|
1679
|
-
|
1700
|
+
end
|
1701
|
+
|
1702
|
+
# Lighting
|
1703
|
+
if ['base-lighting-ceiling-fans.osw'].include? osw_file
|
1680
1704
|
step.setArgument('ceiling_fan_present', true)
|
1681
1705
|
step.setArgument('ceiling_fan_efficiency', '100.0')
|
1682
1706
|
step.setArgument('ceiling_fan_quantity', '4')
|
@@ -1688,25 +1712,38 @@ def get_values(osw_file, step)
|
|
1688
1712
|
step.setArgument('holiday_lighting_period_begin_day_of_month', '24')
|
1689
1713
|
step.setArgument('holiday_lighting_period_end_month', '1')
|
1690
1714
|
step.setArgument('holiday_lighting_period_end_day_of_month', '6')
|
1691
|
-
|
1715
|
+
end
|
1716
|
+
|
1717
|
+
# Location
|
1718
|
+
if ['base-location-AMY-2012.osw'].include? osw_file
|
1692
1719
|
step.setArgument('weather_station_epw_filepath', 'US_CO_Boulder_AMY_2012.epw')
|
1693
1720
|
elsif ['base-location-baltimore-md.osw'].include? osw_file
|
1694
1721
|
step.setArgument('weather_station_epw_filepath', 'USA_MD_Baltimore-Washington.Intl.AP.724060_TMY3.epw')
|
1722
|
+
step.setArgument('heating_system_heating_capacity', '24000.0')
|
1695
1723
|
elsif ['base-location-dallas-tx.osw'].include? osw_file
|
1696
1724
|
step.setArgument('weather_station_epw_filepath', 'USA_TX_Dallas-Fort.Worth.Intl.AP.722590_TMY3.epw')
|
1725
|
+
step.setArgument('heating_system_heating_capacity', '24000.0')
|
1697
1726
|
elsif ['base-location-duluth-mn.osw'].include? osw_file
|
1698
1727
|
step.setArgument('weather_station_epw_filepath', 'USA_MN_Duluth.Intl.AP.727450_TMY3.epw')
|
1699
1728
|
elsif ['base-location-helena-mt.osw'].include? osw_file
|
1700
1729
|
step.setArgument('weather_station_epw_filepath', 'USA_MT_Helena.Rgnl.AP.727720_TMY3.epw')
|
1730
|
+
step.setArgument('heating_system_heating_capacity', '48000.0')
|
1701
1731
|
elsif ['base-location-honolulu-hi.osw'].include? osw_file
|
1702
1732
|
step.setArgument('weather_station_epw_filepath', 'USA_HI_Honolulu.Intl.AP.911820_TMY3.epw')
|
1733
|
+
step.setArgument('heating_system_heating_capacity', '12000.0')
|
1703
1734
|
elsif ['base-location-miami-fl.osw'].include? osw_file
|
1704
1735
|
step.setArgument('weather_station_epw_filepath', 'USA_FL_Miami.Intl.AP.722020_TMY3.epw')
|
1736
|
+
step.setArgument('heating_system_heating_capacity', '12000.0')
|
1705
1737
|
elsif ['base-location-phoenix-az.osw'].include? osw_file
|
1706
1738
|
step.setArgument('weather_station_epw_filepath', 'USA_AZ_Phoenix-Sky.Harbor.Intl.AP.722780_TMY3.epw')
|
1739
|
+
step.setArgument('heating_system_heating_capacity', '24000.0')
|
1707
1740
|
elsif ['base-location-portland-or.osw'].include? osw_file
|
1708
1741
|
step.setArgument('weather_station_epw_filepath', 'USA_OR_Portland.Intl.AP.726980_TMY3.epw')
|
1709
|
-
|
1742
|
+
step.setArgument('heating_system_heating_capacity', '24000.0')
|
1743
|
+
end
|
1744
|
+
|
1745
|
+
# Mechanical Ventilation
|
1746
|
+
if ['base-mechvent-balanced.osw'].include? osw_file
|
1710
1747
|
step.setArgument('mech_vent_fan_type', HPXML::MechVentTypeBalanced)
|
1711
1748
|
step.setArgument('mech_vent_fan_power', 60)
|
1712
1749
|
elsif ['base-mechvent-bath-kitchen-fans.osw'].include? osw_file
|
@@ -1755,7 +1792,10 @@ def get_values(osw_file, step)
|
|
1755
1792
|
step.setArgument('mech_vent_fan_type', HPXML::MechVentTypeSupply)
|
1756
1793
|
elsif ['base-mechvent-whole-house-fan.osw'].include? osw_file
|
1757
1794
|
step.setArgument('whole_house_fan_present', true)
|
1758
|
-
|
1795
|
+
end
|
1796
|
+
|
1797
|
+
# Misc
|
1798
|
+
if ['base-misc-defaults.osw'].include? osw_file
|
1759
1799
|
step.removeArgument('simulation_control_timestep')
|
1760
1800
|
step.removeArgument('site_type')
|
1761
1801
|
step.setArgument('geometry_num_bathrooms', Constants.Auto)
|
@@ -1903,7 +1943,10 @@ def get_values(osw_file, step)
|
|
1903
1943
|
step.setArgument('fuel_loads_fireplace_frac_sensible', '0.5')
|
1904
1944
|
step.setArgument('fuel_loads_fireplace_frac_latent', '0.1')
|
1905
1945
|
step.setArgument('fuel_loads_fireplace_usage_multiplier', 0.9)
|
1906
|
-
|
1946
|
+
end
|
1947
|
+
|
1948
|
+
# PV
|
1949
|
+
if ['base-pv.osw'].include? osw_file
|
1907
1950
|
step.setArgument('pv_system_module_type_1', HPXML::PVModuleTypeStandard)
|
1908
1951
|
step.setArgument('pv_system_location_1', HPXML::LocationRoof)
|
1909
1952
|
step.setArgument('pv_system_tracking_1', HPXML::PVTrackingTypeFixed)
|
@@ -1912,7 +1955,10 @@ def get_values(osw_file, step)
|
|
1912
1955
|
step.setArgument('pv_system_tracking_2', HPXML::PVTrackingTypeFixed)
|
1913
1956
|
step.setArgument('pv_system_array_azimuth_2', 90)
|
1914
1957
|
step.setArgument('pv_system_max_power_output_2', 1500)
|
1915
|
-
|
1958
|
+
end
|
1959
|
+
|
1960
|
+
# Simulation Control
|
1961
|
+
if ['base-simcontrol-calendar-year-custom.osw'].include? osw_file
|
1916
1962
|
step.setArgument('simulation_control_run_period_calendar_year', 2008)
|
1917
1963
|
elsif ['base-simcontrol-daylight-saving-custom.osw'].include? osw_file
|
1918
1964
|
step.setArgument('simulation_control_daylight_saving_enabled', true)
|
@@ -1922,7 +1968,17 @@ def get_values(osw_file, step)
|
|
1922
1968
|
step.setArgument('simulation_control_daylight_saving_end_day_of_month', 6)
|
1923
1969
|
elsif ['base-simcontrol-daylight-saving-disabled.osw'].include? osw_file
|
1924
1970
|
step.setArgument('simulation_control_daylight_saving_enabled', false)
|
1925
|
-
elsif ['base-
|
1971
|
+
elsif ['base-simcontrol-runperiod-1-month.osw'].include? osw_file
|
1972
|
+
step.setArgument('simulation_control_run_period_begin_month', 1)
|
1973
|
+
step.setArgument('simulation_control_run_period_begin_day_of_month', 1)
|
1974
|
+
step.setArgument('simulation_control_run_period_end_month', 1)
|
1975
|
+
step.setArgument('simulation_control_run_period_end_day_of_month', 31)
|
1976
|
+
elsif ['base-simcontrol-timestep-10-mins.osw'].include? osw_file
|
1977
|
+
step.setArgument('simulation_control_timestep', '10')
|
1978
|
+
end
|
1979
|
+
|
1980
|
+
# Schedules
|
1981
|
+
if ['base-schedules-stochastic.osw'].include? osw_file
|
1926
1982
|
step.setArgument('schedules_type', 'stochastic')
|
1927
1983
|
elsif ['base-schedules-stochastic-vacant.osw'].include? osw_file
|
1928
1984
|
step.setArgument('schedules_vacancy_begin_month', 1)
|
@@ -1932,13 +1988,6 @@ def get_values(osw_file, step)
|
|
1932
1988
|
elsif ['base-schedules-user-specified.osw'].include? osw_file
|
1933
1989
|
step.setArgument('schedules_type', 'user-specified')
|
1934
1990
|
step.setArgument('schedules_path', 'BuildResidentialHPXML/tests/schedules/user-specified.csv')
|
1935
|
-
elsif ['base-simcontrol-runperiod-1-month.osw'].include? osw_file
|
1936
|
-
step.setArgument('simulation_control_run_period_begin_month', 1)
|
1937
|
-
step.setArgument('simulation_control_run_period_begin_day_of_month', 1)
|
1938
|
-
step.setArgument('simulation_control_run_period_end_month', 1)
|
1939
|
-
step.setArgument('simulation_control_run_period_end_day_of_month', 31)
|
1940
|
-
elsif ['base-simcontrol-timestep-10-mins.osw'].include? osw_file
|
1941
|
-
step.setArgument('simulation_control_timestep', '10')
|
1942
1991
|
end
|
1943
1992
|
|
1944
1993
|
# Extras
|
@@ -2030,6 +2079,20 @@ def get_values(osw_file, step)
|
|
2030
2079
|
step.setArgument('clothes_dryer_location', 'none')
|
2031
2080
|
elsif ['extra-zero-dishwasher-kwh.osw'].include? osw_file
|
2032
2081
|
step.setArgument('dishwasher_efficiency', '0')
|
2082
|
+
elsif ['extra-bldgtype-single-family-attached-atticroof-flat.osw'].include? osw_file
|
2083
|
+
step.setArgument('geometry_roof_type', 'flat')
|
2084
|
+
step.setArgument('ducts_supply_leakage_value', 0.0)
|
2085
|
+
step.setArgument('ducts_return_leakage_value', 0.0)
|
2086
|
+
step.setArgument('ducts_supply_location', HPXML::LocationBasementConditioned)
|
2087
|
+
step.setArgument('ducts_return_location', HPXML::LocationBasementConditioned)
|
2088
|
+
elsif ['extra-gas-pool-heater-with-zero-kwh.osw'].include? osw_file
|
2089
|
+
step.setArgument('pool_present', true)
|
2090
|
+
step.setArgument('pool_heater_type', HPXML::HeaterTypeGas)
|
2091
|
+
step.setArgument('pool_heater_annual_kwh', 0)
|
2092
|
+
elsif ['extra-gas-hot-tub-heater-with-zero-kwh.osw'].include? osw_file
|
2093
|
+
step.setArgument('hot_tub_present', true)
|
2094
|
+
step.setArgument('hot_tub_heater_type', HPXML::HeaterTypeGas)
|
2095
|
+
step.setArgument('hot_tub_heater_annual_kwh', 0)
|
2033
2096
|
|
2034
2097
|
elsif ['extra-bldgtype-single-family-attached-atticroof-conditioned-eaves-gable.osw'].include? osw_file
|
2035
2098
|
step.setArgument('geometry_num_floors_above_grade', 2)
|
@@ -2089,15 +2152,18 @@ def get_values(osw_file, step)
|
|
2089
2152
|
step.setArgument('geometry_horizontal_location', 'Right')
|
2090
2153
|
|
2091
2154
|
elsif ['extra-bldgtype-multifamily-slab.osw'].include? osw_file
|
2155
|
+
step.setArgument('geometry_building_num_units', 9)
|
2092
2156
|
step.setArgument('geometry_foundation_type', HPXML::FoundationTypeSlab)
|
2093
2157
|
step.setArgument('geometry_foundation_height', 0.0)
|
2094
2158
|
step.setArgument('geometry_foundation_height_above_grade', 0.0)
|
2095
2159
|
elsif ['extra-bldgtype-multifamily-vented-crawlspace.osw'].include? osw_file
|
2160
|
+
step.setArgument('geometry_building_num_units', 9)
|
2096
2161
|
step.setArgument('geometry_foundation_type', HPXML::FoundationTypeCrawlspaceVented)
|
2097
2162
|
step.setArgument('geometry_foundation_height', 4.0)
|
2098
2163
|
step.setArgument('floor_assembly_r', 18.7)
|
2099
2164
|
step.setArgument('foundation_wall_insulation_distance_to_bottom', 4.0)
|
2100
2165
|
elsif ['extra-bldgtype-multifamily-unvented-crawlspace.osw'].include? osw_file
|
2166
|
+
step.setArgument('geometry_building_num_units', 9)
|
2101
2167
|
step.setArgument('geometry_foundation_type', HPXML::FoundationTypeCrawlspaceUnvented)
|
2102
2168
|
step.setArgument('geometry_foundation_height', 4.0)
|
2103
2169
|
step.setArgument('floor_assembly_r', 18.7)
|
@@ -2360,6 +2426,8 @@ def get_values(osw_file, step)
|
|
2360
2426
|
step.setArgument('ceiling_assembly_r', 0.0)
|
2361
2427
|
elsif ['invalid_files/zero-number-of-bedrooms.osw'].include? osw_file
|
2362
2428
|
step.setArgument('geometry_num_bedrooms', 0)
|
2429
|
+
elsif ['invalid_files/single-family-detached-with-shared-system.osw'].include? osw_file
|
2430
|
+
step.setArgument('heating_system_type', "Shared #{HPXML::HVACTypeBoiler} w/ Baseboard")
|
2363
2431
|
end
|
2364
2432
|
return step
|
2365
2433
|
end
|
@@ -2450,6 +2518,7 @@ def create_hpxmls
|
|
2450
2518
|
'invalid_files/hvac-dse-multiple-attached-heating.xml' => 'base-hvac-dse.xml',
|
2451
2519
|
'invalid_files/hvac-frac-load-served.xml' => 'base-hvac-multiple.xml',
|
2452
2520
|
'invalid_files/hvac-inconsistent-fan-powers.xml' => 'base.xml',
|
2521
|
+
'invalid_files/hvac-shared-negative-seer-eq.xml' => 'base-bldgtype-multifamily-shared-chiller-only-baseboard.xml',
|
2453
2522
|
'invalid_files/generator-number-of-bedrooms-served.xml' => 'base-bldgtype-multifamily-shared-generator.xml',
|
2454
2523
|
'invalid_files/generator-output-greater-than-consumption.xml' => 'base-misc-generators.xml',
|
2455
2524
|
'invalid_files/invalid-assembly-effective-rvalue.xml' => 'base.xml',
|
@@ -2493,6 +2562,7 @@ def create_hpxmls
|
|
2493
2562
|
'invalid_files/refrigerator-location.xml' => 'base.xml',
|
2494
2563
|
'invalid_files/repeated-relatedhvac-dhw-indirect.xml' => 'base-dhw-indirect.xml',
|
2495
2564
|
'invalid_files/repeated-relatedhvac-desuperheater.xml' => 'base-hvac-central-ac-only-1-speed.xml',
|
2565
|
+
'invalid_files/solar-fraction-one.xml' => 'base-dhw-solar-fraction.xml',
|
2496
2566
|
'invalid_files/solar-thermal-system-with-combi-tankless.xml' => 'base-dhw-combi-tankless.xml',
|
2497
2567
|
'invalid_files/solar-thermal-system-with-desuperheater.xml' => 'base-dhw-desuperheater.xml',
|
2498
2568
|
'invalid_files/solar-thermal-system-with-dhw-indirect.xml' => 'base-dhw-combi-tankless.xml',
|
@@ -2512,10 +2582,9 @@ def create_hpxmls
|
|
2512
2582
|
'invalid_files/refrigerators-no-primary.xml' => 'base.xml',
|
2513
2583
|
'base-appliances-coal.xml' => 'base.xml',
|
2514
2584
|
'base-appliances-dehumidifier.xml' => 'base-location-dallas-tx.xml',
|
2515
|
-
'base-appliances-dehumidifier-50percent.xml' => 'base-appliances-dehumidifier.xml',
|
2516
2585
|
'base-appliances-dehumidifier-ief-portable.xml' => 'base-appliances-dehumidifier.xml',
|
2517
2586
|
'base-appliances-dehumidifier-ief-whole-home.xml' => 'base-appliances-dehumidifier-ief-portable.xml',
|
2518
|
-
'base-appliances-dehumidifier-multiple.xml' => 'base-appliances-dehumidifier
|
2587
|
+
'base-appliances-dehumidifier-multiple.xml' => 'base-appliances-dehumidifier.xml',
|
2519
2588
|
'base-appliances-gas.xml' => 'base.xml',
|
2520
2589
|
'base-appliances-modified.xml' => 'base.xml',
|
2521
2590
|
'base-appliances-none.xml' => 'base.xml',
|
@@ -2750,7 +2819,6 @@ def create_hpxmls
|
|
2750
2819
|
'base-hvac-mini-split-heat-pump-ducted-heating-only.xml' => 'base-hvac-mini-split-heat-pump-ducted.xml',
|
2751
2820
|
'base-hvac-mini-split-heat-pump-ductless.xml' => 'base-hvac-mini-split-heat-pump-ducted.xml',
|
2752
2821
|
'base-hvac-multiple.xml' => 'base.xml',
|
2753
|
-
'base-hvac-multiple2.xml' => 'base.xml',
|
2754
2822
|
'base-hvac-none.xml' => 'base.xml',
|
2755
2823
|
'base-hvac-portable-heater-gas-only.xml' => 'base.xml',
|
2756
2824
|
'base-hvac-programmable-thermostat.xml' => 'base.xml',
|
@@ -2926,6 +2994,7 @@ def create_hpxmls
|
|
2926
2994
|
if errors.size > 0
|
2927
2995
|
fail "ERRORS: #{errors}"
|
2928
2996
|
end
|
2997
|
+
|
2929
2998
|
# Check for errors
|
2930
2999
|
errors = hpxml.check_for_errors()
|
2931
3000
|
if errors.size > 0
|
@@ -3209,12 +3278,16 @@ end
|
|
3209
3278
|
def set_hpxml_air_infiltration_measurements(hpxml_file, hpxml)
|
3210
3279
|
infil_volume = hpxml.building_construction.conditioned_building_volume
|
3211
3280
|
if ['ASHRAE_Standard_140/L100AC.xml',
|
3212
|
-
'ASHRAE_Standard_140/L100AL.xml'
|
3213
|
-
'base-enclosure-infil-natural-ach.xml'].include? hpxml_file
|
3281
|
+
'ASHRAE_Standard_140/L100AL.xml'].include? hpxml_file
|
3214
3282
|
hpxml.air_infiltration_measurements.clear
|
3215
3283
|
hpxml.air_infiltration_measurements.add(id: 'InfiltrationMeasurement',
|
3216
3284
|
unit_of_measure: HPXML::UnitsACHNatural,
|
3217
3285
|
air_leakage: 0.67)
|
3286
|
+
elsif ['base-enclosure-infil-natural-ach.xml'].include? hpxml_file
|
3287
|
+
hpxml.air_infiltration_measurements.clear
|
3288
|
+
hpxml.air_infiltration_measurements.add(id: 'InfiltrationMeasurement',
|
3289
|
+
unit_of_measure: HPXML::UnitsACHNatural,
|
3290
|
+
air_leakage: 0.2)
|
3218
3291
|
elsif ['ASHRAE_Standard_140/L322XC.xml'].include? hpxml_file
|
3219
3292
|
hpxml.air_infiltration_measurements[0].air_leakage = 0.335
|
3220
3293
|
elsif ['ASHRAE_Standard_140/L110AC.xml',
|
@@ -5006,6 +5079,7 @@ def set_hpxml_windows(hpxml_file, hpxml)
|
|
5006
5079
|
hpxml.windows[-1].fraction_operable = 1.0
|
5007
5080
|
end
|
5008
5081
|
next unless hpxml_file == 'base-enclosure-split-surfaces2.xml'
|
5082
|
+
|
5009
5083
|
hpxml.windows[-1].ufactor += 0.01 * i
|
5010
5084
|
hpxml.windows[-1].interior_shading_factor_summer -= 0.02 * i
|
5011
5085
|
hpxml.windows[-1].interior_shading_factor_winter -= 0.01 * i
|
@@ -5076,7 +5150,7 @@ end
|
|
5076
5150
|
def set_hpxml_skylights(hpxml_file, hpxml)
|
5077
5151
|
if ['base-enclosure-skylights.xml'].include? hpxml_file
|
5078
5152
|
hpxml.skylights.add(id: 'SkylightNorth',
|
5079
|
-
area:
|
5153
|
+
area: 15,
|
5080
5154
|
azimuth: 0,
|
5081
5155
|
ufactor: 0.33,
|
5082
5156
|
shgc: 0.45,
|
@@ -5084,7 +5158,7 @@ def set_hpxml_skylights(hpxml_file, hpxml)
|
|
5084
5158
|
interior_shading_factor_winter: 1.0,
|
5085
5159
|
roof_idref: 'Roof')
|
5086
5160
|
hpxml.skylights.add(id: 'SkylightSouth',
|
5087
|
-
area:
|
5161
|
+
area: 15,
|
5088
5162
|
azimuth: 180,
|
5089
5163
|
ufactor: 0.35,
|
5090
5164
|
shgc: 0.47,
|
@@ -5115,6 +5189,7 @@ def set_hpxml_skylights(hpxml_file, hpxml)
|
|
5115
5189
|
hpxml.skylights[-1].id += i.to_s
|
5116
5190
|
hpxml.skylights[-1].roof_idref += i.to_s if i % 2 == 0
|
5117
5191
|
next unless hpxml_file == 'base-enclosure-split-surfaces2.xml'
|
5192
|
+
|
5118
5193
|
hpxml.skylights[-1].ufactor += 0.01 * i
|
5119
5194
|
hpxml.skylights[-1].interior_shading_factor_summer -= 0.02 * i
|
5120
5195
|
hpxml.skylights[-1].interior_shading_factor_winter -= 0.01 * i
|
@@ -5235,7 +5310,7 @@ def set_hpxml_heating_systems(hpxml_file, hpxml)
|
|
5235
5310
|
distribution_system_idref: 'HVACDistribution',
|
5236
5311
|
heating_system_type: HPXML::HVACTypeFurnace,
|
5237
5312
|
heating_system_fuel: HPXML::FuelTypeNaturalGas,
|
5238
|
-
heating_capacity:
|
5313
|
+
heating_capacity: 36000,
|
5239
5314
|
heating_efficiency_afue: 0.92,
|
5240
5315
|
fraction_heat_load_served: 1)
|
5241
5316
|
elsif ['base-hvac-air-to-air-heat-pump-1-speed.xml',
|
@@ -5343,35 +5418,6 @@ def set_hpxml_heating_systems(hpxml_file, hpxml)
|
|
5343
5418
|
heating_efficiency_afue: 0.8,
|
5344
5419
|
fraction_heat_load_served: 0.1,
|
5345
5420
|
fan_watts: 0.0)
|
5346
|
-
elsif ['base-hvac-multiple2.xml'].include? hpxml_file
|
5347
|
-
hpxml.heating_systems.clear
|
5348
|
-
hpxml.heating_systems.add(id: 'HeatingSystem',
|
5349
|
-
distribution_system_idref: 'HVACDistribution',
|
5350
|
-
heating_system_type: HPXML::HVACTypeFurnace,
|
5351
|
-
heating_system_fuel: HPXML::FuelTypeElectricity,
|
5352
|
-
heating_capacity: 6400,
|
5353
|
-
heating_efficiency_afue: 1,
|
5354
|
-
fraction_heat_load_served: 0.2)
|
5355
|
-
hpxml.heating_systems.add(id: 'HeatingSystem2',
|
5356
|
-
distribution_system_idref: 'HVACDistribution2',
|
5357
|
-
heating_system_type: HPXML::HVACTypeFurnace,
|
5358
|
-
heating_system_fuel: HPXML::FuelTypeElectricity,
|
5359
|
-
heating_capacity: 6400,
|
5360
|
-
heating_efficiency_afue: 0.92,
|
5361
|
-
fraction_heat_load_served: 0.2)
|
5362
|
-
hpxml.heating_systems.add(id: 'HeatingSystem3',
|
5363
|
-
distribution_system_idref: 'HVACDistribution3',
|
5364
|
-
heating_system_type: HPXML::HVACTypeBoiler,
|
5365
|
-
heating_system_fuel: HPXML::FuelTypeElectricity,
|
5366
|
-
heating_capacity: 6400,
|
5367
|
-
heating_efficiency_afue: 1,
|
5368
|
-
fraction_heat_load_served: 0.2)
|
5369
|
-
hpxml.heating_systems.add(id: 'HeatingSystem4',
|
5370
|
-
heating_system_type: HPXML::HVACTypeElectricResistance,
|
5371
|
-
heating_system_fuel: HPXML::FuelTypeElectricity,
|
5372
|
-
heating_capacity: 3200,
|
5373
|
-
heating_efficiency_percent: 1,
|
5374
|
-
fraction_heat_load_served: 0.1)
|
5375
5421
|
elsif ['base-mechvent-multiple.xml',
|
5376
5422
|
'base-bldgtype-multifamily-shared-mechvent-multiple.xml'].include? hpxml_file
|
5377
5423
|
hpxml.heating_systems[0].heating_capacity /= 2.0
|
@@ -5444,7 +5490,7 @@ def set_hpxml_heating_systems(hpxml_file, hpxml)
|
|
5444
5490
|
end
|
5445
5491
|
elsif ['base-hvac-furnace-elec-central-ac-1-speed.xml'].include? hpxml_file
|
5446
5492
|
hpxml.heating_systems[0].heating_system_fuel = HPXML::FuelTypeElectricity
|
5447
|
-
hpxml.heating_systems[0].heating_efficiency_afue = 1
|
5493
|
+
hpxml.heating_systems[0].heating_efficiency_afue = 1.0
|
5448
5494
|
elsif ['invalid_files/unattached-hvac-distribution.xml'].include? hpxml_file
|
5449
5495
|
hpxml.heating_systems[0].distribution_system_idref = 'foobar'
|
5450
5496
|
elsif ['invalid_files/hvac-invalid-distribution-system-type.xml'].include? hpxml_file
|
@@ -5491,6 +5537,20 @@ def set_hpxml_heating_systems(hpxml_file, hpxml)
|
|
5491
5537
|
elsif ['invalid_files/boiler-invalid-afue.xml',
|
5492
5538
|
'invalid_files/furnace-invalid-afue.xml'].include? hpxml_file
|
5493
5539
|
hpxml.heating_systems[0].heating_efficiency_afue *= 100.0
|
5540
|
+
elsif ['base-location-honolulu-hi.xml',
|
5541
|
+
'base-location-miami-fl.xml',
|
5542
|
+
'base-bldgtype-multifamily.xml'].include? hpxml_file
|
5543
|
+
hpxml.heating_systems[0].heating_capacity = 12000
|
5544
|
+
elsif ['base-location-dallas-tx.xml',
|
5545
|
+
'base-location-baltimore-md.xml',
|
5546
|
+
'base-location-phoenix-az.xml',
|
5547
|
+
'base-location-portland-or.xml',
|
5548
|
+
'base-bldgtype-single-family-attached.xml'].include? hpxml_file
|
5549
|
+
hpxml.heating_systems[0].heating_capacity = 24000
|
5550
|
+
elsif ['base-location-helena-mt.xml',
|
5551
|
+
'base-enclosure-2stories.xml',
|
5552
|
+
'base-enclosure-2stories-garage.xml'].include? hpxml_file
|
5553
|
+
hpxml.heating_systems[0].heating_capacity = 48000
|
5494
5554
|
elsif hpxml_file.include?('base-hvac-autosize') && (not hpxml.heating_systems.nil?) && (hpxml.heating_systems.size > 0)
|
5495
5555
|
hpxml.heating_systems[0].heating_capacity = nil
|
5496
5556
|
end
|
@@ -5502,7 +5562,7 @@ def set_hpxml_cooling_systems(hpxml_file, hpxml)
|
|
5502
5562
|
distribution_system_idref: 'HVACDistribution',
|
5503
5563
|
cooling_system_type: HPXML::HVACTypeCentralAirConditioner,
|
5504
5564
|
cooling_system_fuel: HPXML::FuelTypeElectricity,
|
5505
|
-
cooling_capacity:
|
5565
|
+
cooling_capacity: 24000,
|
5506
5566
|
fraction_cool_load_served: 1,
|
5507
5567
|
cooling_efficiency_seer: 13,
|
5508
5568
|
cooling_shr: 0.73,
|
@@ -5518,6 +5578,7 @@ def set_hpxml_cooling_systems(hpxml_file, hpxml)
|
|
5518
5578
|
'base-hvac-boiler-wood-only.xml',
|
5519
5579
|
'base-hvac-elec-resistance-only.xml',
|
5520
5580
|
'base-hvac-fireplace-wood-only.xml',
|
5581
|
+
'base-hvac-fixed-heater-gas-only.xml',
|
5521
5582
|
'base-hvac-floor-furnace-propane-only.xml',
|
5522
5583
|
'base-hvac-furnace-coal-only.xml',
|
5523
5584
|
'base-hvac-furnace-elec-only.xml',
|
@@ -5528,6 +5589,7 @@ def set_hpxml_cooling_systems(hpxml_file, hpxml)
|
|
5528
5589
|
'base-hvac-ground-to-air-heat-pump.xml',
|
5529
5590
|
'base-hvac-mini-split-heat-pump-ducted.xml',
|
5530
5591
|
'base-hvac-none.xml',
|
5592
|
+
'base-hvac-portable-heater-gas-only.xml',
|
5531
5593
|
'base-hvac-stove-oil-only.xml',
|
5532
5594
|
'base-hvac-stove-wood-pellets-only.xml',
|
5533
5595
|
'base-hvac-wall-furnace-elec-only.xml',
|
@@ -5563,6 +5625,7 @@ def set_hpxml_cooling_systems(hpxml_file, hpxml)
|
|
5563
5625
|
hpxml.cooling_systems[0].compressor_type = nil
|
5564
5626
|
elsif ['base-hvac-room-ac-only-33percent.xml'].include? hpxml_file
|
5565
5627
|
hpxml.cooling_systems[0].fraction_cool_load_served = 0.33
|
5628
|
+
hpxml.cooling_systems[0].cooling_capacity /= 3.0
|
5566
5629
|
elsif ['base-hvac-evap-cooler-only-ducted.xml',
|
5567
5630
|
'base-hvac-evap-cooler-furnace-gas.xml',
|
5568
5631
|
'base-hvac-evap-cooler-only.xml'].include? hpxml_file
|
@@ -5586,18 +5649,6 @@ def set_hpxml_cooling_systems(hpxml_file, hpxml)
|
|
5586
5649
|
fraction_cool_load_served: 0.2,
|
5587
5650
|
cooling_efficiency_eer: 8.5,
|
5588
5651
|
cooling_shr: 0.65)
|
5589
|
-
elsif ['base-hvac-multiple2.xml'].include? hpxml_file
|
5590
|
-
hpxml.cooling_systems[0].distribution_system_idref = 'HVACDistribution'
|
5591
|
-
hpxml.cooling_systems[0].fraction_cool_load_served = 0.25
|
5592
|
-
hpxml.cooling_systems[0].cooling_capacity *= 0.25
|
5593
|
-
hpxml.cooling_systems.add(id: 'CoolingSystem2',
|
5594
|
-
distribution_system_idref: 'HVACDistribution2',
|
5595
|
-
cooling_system_type: HPXML::HVACTypeCentralAirConditioner,
|
5596
|
-
cooling_system_fuel: HPXML::FuelTypeElectricity,
|
5597
|
-
cooling_capacity: 9600,
|
5598
|
-
fraction_cool_load_served: 0.25,
|
5599
|
-
cooling_efficiency_seer: 13,
|
5600
|
-
cooling_shr: 0.65)
|
5601
5652
|
elsif ['base-mechvent-multiple.xml',
|
5602
5653
|
'base-bldgtype-multifamily-shared-mechvent-multiple.xml'].include? hpxml_file
|
5603
5654
|
hpxml.cooling_systems[0].fraction_cool_load_served /= 2.0
|
@@ -5659,6 +5710,13 @@ def set_hpxml_cooling_systems(hpxml_file, hpxml)
|
|
5659
5710
|
hpxml.cooling_systems << hpxml.cooling_systems[0].dup
|
5660
5711
|
hpxml.cooling_systems[1].id += '2'
|
5661
5712
|
hpxml.cooling_systems[1].distribution_system_idref += '2'
|
5713
|
+
elsif ['invalid_files/hvac-shared-negative-seer-eq.xml'].include? hpxml_file
|
5714
|
+
hpxml.cooling_systems[0].shared_loop_watts *= 100.0
|
5715
|
+
elsif ['base-bldgtype-multifamily.xml'].include? hpxml_file
|
5716
|
+
hpxml.cooling_systems[0].cooling_capacity = 12000
|
5717
|
+
elsif ['base-enclosure-2stories.xml',
|
5718
|
+
'base-enclosure-2stories-garage.xml'].include? hpxml_file
|
5719
|
+
hpxml.cooling_systems[0].cooling_capacity = 36000
|
5662
5720
|
elsif hpxml_file.include?('base-hvac-autosize') && (not hpxml.cooling_systems.nil?) && (hpxml.cooling_systems.size > 0)
|
5663
5721
|
hpxml.cooling_systems[0].cooling_capacity = nil
|
5664
5722
|
end
|
@@ -5671,16 +5729,16 @@ def set_hpxml_heat_pumps(hpxml_file, hpxml)
|
|
5671
5729
|
distribution_system_idref: 'HVACDistribution',
|
5672
5730
|
heat_pump_type: HPXML::HVACTypeHeatPumpAirToAir,
|
5673
5731
|
heat_pump_fuel: HPXML::FuelTypeElectricity,
|
5674
|
-
heating_capacity:
|
5675
|
-
cooling_capacity:
|
5732
|
+
heating_capacity: 36000,
|
5733
|
+
cooling_capacity: 36000,
|
5676
5734
|
backup_heating_fuel: HPXML::FuelTypeElectricity,
|
5677
|
-
backup_heating_capacity:
|
5735
|
+
backup_heating_capacity: 36000,
|
5678
5736
|
backup_heating_efficiency_percent: 1.0,
|
5679
5737
|
fraction_heat_load_served: 1,
|
5680
5738
|
fraction_cool_load_served: 1,
|
5681
5739
|
heating_efficiency_hspf: 7.7,
|
5682
5740
|
cooling_efficiency_seer: 13,
|
5683
|
-
heating_capacity_17F:
|
5741
|
+
heating_capacity_17F: 36000 * 0.630, # Based on OAT slope of default curves
|
5684
5742
|
cooling_shr: 0.73,
|
5685
5743
|
compressor_type: HPXML::HVACCompressorTypeSingleStage)
|
5686
5744
|
if hpxml_file == 'base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml'
|
@@ -5691,16 +5749,16 @@ def set_hpxml_heat_pumps(hpxml_file, hpxml)
|
|
5691
5749
|
distribution_system_idref: 'HVACDistribution',
|
5692
5750
|
heat_pump_type: HPXML::HVACTypeHeatPumpAirToAir,
|
5693
5751
|
heat_pump_fuel: HPXML::FuelTypeElectricity,
|
5694
|
-
heating_capacity:
|
5695
|
-
cooling_capacity:
|
5752
|
+
heating_capacity: 36000,
|
5753
|
+
cooling_capacity: 36000,
|
5696
5754
|
backup_heating_fuel: HPXML::FuelTypeElectricity,
|
5697
|
-
backup_heating_capacity:
|
5755
|
+
backup_heating_capacity: 36000,
|
5698
5756
|
backup_heating_efficiency_percent: 1.0,
|
5699
5757
|
fraction_heat_load_served: 1,
|
5700
5758
|
fraction_cool_load_served: 1,
|
5701
5759
|
heating_efficiency_hspf: 9.3,
|
5702
5760
|
cooling_efficiency_seer: 18,
|
5703
|
-
heating_capacity_17F:
|
5761
|
+
heating_capacity_17F: 36000 * 0.590, # Based on OAT slope of default curves
|
5704
5762
|
cooling_shr: 0.73,
|
5705
5763
|
compressor_type: HPXML::HVACCompressorTypeTwoStage)
|
5706
5764
|
elsif ['base-hvac-air-to-air-heat-pump-var-speed.xml'].include? hpxml_file
|
@@ -5708,16 +5766,16 @@ def set_hpxml_heat_pumps(hpxml_file, hpxml)
|
|
5708
5766
|
distribution_system_idref: 'HVACDistribution',
|
5709
5767
|
heat_pump_type: HPXML::HVACTypeHeatPumpAirToAir,
|
5710
5768
|
heat_pump_fuel: HPXML::FuelTypeElectricity,
|
5711
|
-
heating_capacity:
|
5712
|
-
cooling_capacity:
|
5769
|
+
heating_capacity: 36000,
|
5770
|
+
cooling_capacity: 36000,
|
5713
5771
|
backup_heating_fuel: HPXML::FuelTypeElectricity,
|
5714
|
-
backup_heating_capacity:
|
5772
|
+
backup_heating_capacity: 36000,
|
5715
5773
|
backup_heating_efficiency_percent: 1.0,
|
5716
5774
|
fraction_heat_load_served: 1,
|
5717
5775
|
fraction_cool_load_served: 1,
|
5718
5776
|
heating_efficiency_hspf: 10,
|
5719
5777
|
cooling_efficiency_seer: 22,
|
5720
|
-
heating_capacity_17F:
|
5778
|
+
heating_capacity_17F: 36000 * 0.640, # Based on OAT slope of default curves
|
5721
5779
|
cooling_shr: 0.78,
|
5722
5780
|
compressor_type: HPXML::HVACCompressorTypeVariableSpeed)
|
5723
5781
|
elsif ['base-hvac-ground-to-air-heat-pump.xml',
|
@@ -5726,10 +5784,7 @@ def set_hpxml_heat_pumps(hpxml_file, hpxml)
|
|
5726
5784
|
distribution_system_idref: 'HVACDistribution',
|
5727
5785
|
heat_pump_type: HPXML::HVACTypeHeatPumpGroundToAir,
|
5728
5786
|
heat_pump_fuel: HPXML::FuelTypeElectricity,
|
5729
|
-
heating_capacity: 42000,
|
5730
|
-
cooling_capacity: 48000,
|
5731
5787
|
backup_heating_fuel: HPXML::FuelTypeElectricity,
|
5732
|
-
backup_heating_capacity: 34121,
|
5733
5788
|
backup_heating_efficiency_percent: 1.0,
|
5734
5789
|
fraction_heat_load_served: 1,
|
5735
5790
|
fraction_cool_load_served: 1,
|
@@ -5742,6 +5797,13 @@ def set_hpxml_heat_pumps(hpxml_file, hpxml)
|
|
5742
5797
|
hpxml.heat_pumps[-1].number_of_units_served = 6
|
5743
5798
|
hpxml.heat_pumps[-1].shared_loop_watts = 600
|
5744
5799
|
hpxml.heat_pumps[-1].pump_watts_per_ton = 0.0
|
5800
|
+
hpxml.heat_pumps[-1].heating_capacity = 12000
|
5801
|
+
hpxml.heat_pumps[-1].cooling_capacity = 12000
|
5802
|
+
hpxml.heat_pumps[-1].backup_heating_capacity = 12000
|
5803
|
+
else
|
5804
|
+
hpxml.heat_pumps[-1].heating_capacity = 36000
|
5805
|
+
hpxml.heat_pumps[-1].cooling_capacity = 36000
|
5806
|
+
hpxml.heat_pumps[-1].backup_heating_capacity = 36000
|
5745
5807
|
end
|
5746
5808
|
elsif ['base-hvac-mini-split-heat-pump-ducted.xml'].include? hpxml_file
|
5747
5809
|
f = 1.0 - (1.0 - 0.25) / (47.0 + 5.0) * (47.0 - 17.0)
|
@@ -5749,16 +5811,16 @@ def set_hpxml_heat_pumps(hpxml_file, hpxml)
|
|
5749
5811
|
distribution_system_idref: 'HVACDistribution',
|
5750
5812
|
heat_pump_type: HPXML::HVACTypeHeatPumpMiniSplit,
|
5751
5813
|
heat_pump_fuel: HPXML::FuelTypeElectricity,
|
5752
|
-
heating_capacity:
|
5753
|
-
cooling_capacity:
|
5814
|
+
heating_capacity: 36000,
|
5815
|
+
cooling_capacity: 36000,
|
5754
5816
|
backup_heating_fuel: HPXML::FuelTypeElectricity,
|
5755
|
-
backup_heating_capacity:
|
5817
|
+
backup_heating_capacity: 36000,
|
5756
5818
|
backup_heating_efficiency_percent: 1.0,
|
5757
5819
|
fraction_heat_load_served: 1,
|
5758
5820
|
fraction_cool_load_served: 1,
|
5759
5821
|
heating_efficiency_hspf: 10,
|
5760
5822
|
cooling_efficiency_seer: 19,
|
5761
|
-
heating_capacity_17F:
|
5823
|
+
heating_capacity_17F: (36000 * f).round(0),
|
5762
5824
|
cooling_shr: 0.73)
|
5763
5825
|
elsif ['base-hvac-air-to-air-heat-pump-1-speed-heating-only.xml',
|
5764
5826
|
'base-hvac-ground-to-air-heat-pump-heating-only.xml',
|
@@ -5832,38 +5894,6 @@ def set_hpxml_heat_pumps(hpxml_file, hpxml)
|
|
5832
5894
|
cooling_efficiency_seer: 19,
|
5833
5895
|
heating_capacity_17F: 4800 * f,
|
5834
5896
|
cooling_shr: 0.73)
|
5835
|
-
elsif ['base-hvac-multiple2.xml'].include? hpxml_file
|
5836
|
-
hpxml.heat_pumps.add(id: 'HeatPump',
|
5837
|
-
distribution_system_idref: 'HVACDistribution4',
|
5838
|
-
heat_pump_type: HPXML::HVACTypeHeatPumpAirToAir,
|
5839
|
-
heat_pump_fuel: HPXML::FuelTypeElectricity,
|
5840
|
-
heating_capacity: 4800,
|
5841
|
-
cooling_capacity: 4800,
|
5842
|
-
backup_heating_fuel: HPXML::FuelTypeElectricity,
|
5843
|
-
backup_heating_capacity: 3412,
|
5844
|
-
backup_heating_efficiency_percent: 1.0,
|
5845
|
-
fraction_heat_load_served: 0.1,
|
5846
|
-
fraction_cool_load_served: 0.2,
|
5847
|
-
heating_efficiency_hspf: 7.7,
|
5848
|
-
cooling_efficiency_seer: 13,
|
5849
|
-
heating_capacity_17F: 4800 * 0.630, # Based on OAT slope of default curves
|
5850
|
-
cooling_shr: 0.73,
|
5851
|
-
compressor_type: HPXML::HVACCompressorTypeSingleStage)
|
5852
|
-
hpxml.heat_pumps.add(id: 'HeatPump2',
|
5853
|
-
distribution_system_idref: 'HVACDistribution5',
|
5854
|
-
heat_pump_type: HPXML::HVACTypeHeatPumpGroundToAir,
|
5855
|
-
heat_pump_fuel: HPXML::FuelTypeElectricity,
|
5856
|
-
heating_capacity: 4800,
|
5857
|
-
cooling_capacity: 4800,
|
5858
|
-
backup_heating_fuel: HPXML::FuelTypeElectricity,
|
5859
|
-
backup_heating_capacity: 3412,
|
5860
|
-
backup_heating_efficiency_percent: 1.0,
|
5861
|
-
fraction_heat_load_served: 0.1,
|
5862
|
-
fraction_cool_load_served: 0.2,
|
5863
|
-
heating_efficiency_cop: 3.6,
|
5864
|
-
cooling_efficiency_eer: 16.6,
|
5865
|
-
cooling_shr: 0.73,
|
5866
|
-
pump_watts_per_ton: 30.0)
|
5867
5897
|
elsif ['base-bldgtype-multifamily-shared-boiler-only-water-loop-heat-pump.xml',
|
5868
5898
|
'base-bldgtype-multifamily-shared-chiller-only-water-loop-heat-pump.xml',
|
5869
5899
|
'base-bldgtype-multifamily-shared-boiler-chiller-water-loop-heat-pump.xml'].include? hpxml_file
|
@@ -5940,9 +5970,9 @@ def set_hpxml_hvac_control(hpxml_file, hpxml)
|
|
5940
5970
|
hpxml.hvac_controls[0].control_type = HPXML::HVACControlTypeProgrammable
|
5941
5971
|
hpxml.hvac_controls[0].heating_setpoint_temp = nil
|
5942
5972
|
hpxml.hvac_controls[0].cooling_setpoint_temp = nil
|
5943
|
-
hpxml.hvac_controls[0].weekday_heating_setpoints = '64, 64, 64, 64, 64, 64, 64,
|
5944
|
-
hpxml.hvac_controls[0].weekend_heating_setpoints = '
|
5945
|
-
hpxml.hvac_controls[0].weekday_cooling_setpoints = '
|
5973
|
+
hpxml.hvac_controls[0].weekday_heating_setpoints = '64, 64, 64, 64, 64, 64, 64, 70, 70, 66, 66, 66, 66, 66, 66, 66, 66, 68, 68, 68, 68, 68, 64, 64'
|
5974
|
+
hpxml.hvac_controls[0].weekend_heating_setpoints = '68, 68, 68, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70'
|
5975
|
+
hpxml.hvac_controls[0].weekday_cooling_setpoints = '80, 80, 80, 80, 80, 80, 80, 75, 75, 80, 80, 80, 80, 80, 80, 80, 80, 78, 78, 78, 78, 78, 80, 80'
|
5946
5976
|
hpxml.hvac_controls[0].weekend_cooling_setpoints = '78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78'
|
5947
5977
|
elsif ['base-hvac-setpoints.xml'].include? hpxml_file
|
5948
5978
|
hpxml.hvac_controls[0].heating_setpoint_temp = 60
|
@@ -5955,7 +5985,8 @@ end
|
|
5955
5985
|
def set_hpxml_hvac_distributions(hpxml_file, hpxml)
|
5956
5986
|
if ['base.xml'].include? hpxml_file
|
5957
5987
|
hpxml.hvac_distributions.add(id: 'HVACDistribution',
|
5958
|
-
distribution_system_type: HPXML::HVACDistributionTypeAir
|
5988
|
+
distribution_system_type: HPXML::HVACDistributionTypeAir,
|
5989
|
+
air_type: HPXML::AirTypeRegularVelocity)
|
5959
5990
|
hpxml.hvac_distributions[0].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeSupply,
|
5960
5991
|
duct_leakage_units: HPXML::UnitsCFM25,
|
5961
5992
|
duct_leakage_value: 75,
|
@@ -6000,21 +6031,14 @@ def set_hpxml_hvac_distributions(hpxml_file, hpxml)
|
|
6000
6031
|
'base-bldgtype-multifamily-shared-boiler-chiller-fan-coil.xml'].include? hpxml_file
|
6001
6032
|
hpxml.hvac_distributions[0].distribution_system_type = HPXML::HVACDistributionTypeAir
|
6002
6033
|
hpxml.hvac_distributions[0].air_type = HPXML::AirTypeFanCoil
|
6003
|
-
hpxml.hvac_distributions[0].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeSupply,
|
6004
|
-
duct_leakage_units: HPXML::UnitsCFM25,
|
6005
|
-
duct_leakage_value: 0,
|
6006
|
-
duct_leakage_total_or_to_outside: HPXML::DuctLeakageToOutside)
|
6007
|
-
hpxml.hvac_distributions[0].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeReturn,
|
6008
|
-
duct_leakage_units: HPXML::UnitsCFM25,
|
6009
|
-
duct_leakage_value: 0,
|
6010
|
-
duct_leakage_total_or_to_outside: HPXML::DuctLeakageToOutside)
|
6011
6034
|
elsif ['base-hvac-boiler-gas-central-ac-1-speed.xml'].include? hpxml_file
|
6012
6035
|
hpxml.hvac_distributions[0].distribution_system_type = HPXML::HVACDistributionTypeHydronic
|
6013
6036
|
hpxml.hvac_distributions[0].hydronic_type = HPXML::HydronicTypeBaseboard
|
6014
6037
|
hpxml.hvac_distributions[0].duct_leakage_measurements.clear
|
6015
6038
|
hpxml.hvac_distributions[0].ducts.clear
|
6016
6039
|
hpxml.hvac_distributions.add(id: 'HVACDistribution2',
|
6017
|
-
distribution_system_type: HPXML::HVACDistributionTypeAir
|
6040
|
+
distribution_system_type: HPXML::HVACDistributionTypeAir,
|
6041
|
+
air_type: HPXML::AirTypeRegularVelocity)
|
6018
6042
|
hpxml.hvac_distributions[-1].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeSupply,
|
6019
6043
|
duct_leakage_units: HPXML::UnitsCFM25,
|
6020
6044
|
duct_leakage_value: 75,
|
@@ -6036,8 +6060,10 @@ def set_hpxml_hvac_distributions(hpxml_file, hpxml)
|
|
6036
6060
|
'base-hvac-evap-cooler-only.xml',
|
6037
6061
|
'base-hvac-fireplace-wood-only.xml',
|
6038
6062
|
'base-hvac-floor-furnace-propane-only.xml',
|
6063
|
+
'base-hvac-fixed-heater-gas-only.xml',
|
6039
6064
|
'base-hvac-mini-split-heat-pump-ductless.xml',
|
6040
6065
|
'base-hvac-mini-split-air-conditioner-only-ductless.xml',
|
6066
|
+
'base-hvac-portable-heater-gas-only.xml',
|
6041
6067
|
'base-hvac-room-ac-only.xml',
|
6042
6068
|
'base-hvac-stove-oil-only.xml',
|
6043
6069
|
'base-hvac-stove-wood-pellets-only.xml',
|
@@ -6046,7 +6072,8 @@ def set_hpxml_hvac_distributions(hpxml_file, hpxml)
|
|
6046
6072
|
elsif ['base-hvac-multiple.xml'].include? hpxml_file
|
6047
6073
|
hpxml.hvac_distributions.clear
|
6048
6074
|
hpxml.hvac_distributions.add(id: 'HVACDistribution',
|
6049
|
-
distribution_system_type: HPXML::HVACDistributionTypeAir
|
6075
|
+
distribution_system_type: HPXML::HVACDistributionTypeAir,
|
6076
|
+
air_type: HPXML::AirTypeRegularVelocity)
|
6050
6077
|
hpxml.hvac_distributions[-1].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeSupply,
|
6051
6078
|
duct_leakage_units: HPXML::UnitsCFM25,
|
6052
6079
|
duct_leakage_value: 75,
|
@@ -6083,43 +6110,6 @@ def set_hpxml_hvac_distributions(hpxml_file, hpxml)
|
|
6083
6110
|
hpxml.hvac_distributions[-1].id = 'HVACDistribution5'
|
6084
6111
|
hpxml.hvac_distributions << hpxml.hvac_distributions[0].dup
|
6085
6112
|
hpxml.hvac_distributions[-1].id = 'HVACDistribution6'
|
6086
|
-
elsif ['base-hvac-multiple2.xml'].include? hpxml_file
|
6087
|
-
hpxml.hvac_distributions.clear
|
6088
|
-
hpxml.hvac_distributions.add(id: 'HVACDistribution',
|
6089
|
-
distribution_system_type: HPXML::HVACDistributionTypeAir)
|
6090
|
-
hpxml.hvac_distributions[-1].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeSupply,
|
6091
|
-
duct_leakage_units: HPXML::UnitsCFM25,
|
6092
|
-
duct_leakage_value: 75,
|
6093
|
-
duct_leakage_total_or_to_outside: HPXML::DuctLeakageToOutside)
|
6094
|
-
hpxml.hvac_distributions[-1].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeReturn,
|
6095
|
-
duct_leakage_units: HPXML::UnitsCFM25,
|
6096
|
-
duct_leakage_value: 25,
|
6097
|
-
duct_leakage_total_or_to_outside: HPXML::DuctLeakageToOutside)
|
6098
|
-
hpxml.hvac_distributions[0].ducts.add(duct_type: HPXML::DuctTypeSupply,
|
6099
|
-
duct_insulation_r_value: 8,
|
6100
|
-
duct_location: HPXML::LocationAtticUnvented,
|
6101
|
-
duct_surface_area: 75)
|
6102
|
-
hpxml.hvac_distributions[0].ducts.add(duct_type: HPXML::DuctTypeSupply,
|
6103
|
-
duct_insulation_r_value: 8,
|
6104
|
-
duct_location: HPXML::LocationOutside,
|
6105
|
-
duct_surface_area: 75)
|
6106
|
-
hpxml.hvac_distributions[0].ducts.add(duct_type: HPXML::DuctTypeReturn,
|
6107
|
-
duct_insulation_r_value: 4,
|
6108
|
-
duct_location: HPXML::LocationAtticUnvented,
|
6109
|
-
duct_surface_area: 25)
|
6110
|
-
hpxml.hvac_distributions[0].ducts.add(duct_type: HPXML::DuctTypeReturn,
|
6111
|
-
duct_insulation_r_value: 4,
|
6112
|
-
duct_location: HPXML::LocationOutside,
|
6113
|
-
duct_surface_area: 25)
|
6114
|
-
hpxml.hvac_distributions << hpxml.hvac_distributions[0].dup
|
6115
|
-
hpxml.hvac_distributions[-1].id = 'HVACDistribution2'
|
6116
|
-
hpxml.hvac_distributions.add(id: 'HVACDistribution3',
|
6117
|
-
distribution_system_type: HPXML::HVACDistributionTypeHydronic,
|
6118
|
-
hydronic_type: HPXML::HydronicTypeBaseboard)
|
6119
|
-
hpxml.hvac_distributions << hpxml.hvac_distributions[0].dup
|
6120
|
-
hpxml.hvac_distributions[-1].id = 'HVACDistribution4'
|
6121
|
-
hpxml.hvac_distributions << hpxml.hvac_distributions[0].dup
|
6122
|
-
hpxml.hvac_distributions[-1].id = 'HVACDistribution5'
|
6123
6113
|
elsif ['base-mechvent-multiple.xml',
|
6124
6114
|
'base-bldgtype-multifamily-shared-mechvent-multiple.xml'].include? hpxml_file
|
6125
6115
|
hpxml.hvac_distributions << hpxml.hvac_distributions[0].dup
|
@@ -6248,22 +6238,21 @@ def set_hpxml_hvac_distributions(hpxml_file, hpxml)
|
|
6248
6238
|
if hpxml_file.include? 'fan-coil'
|
6249
6239
|
hpxml.hvac_distributions[0].distribution_system_type = HPXML::HVACDistributionTypeAir
|
6250
6240
|
hpxml.hvac_distributions[0].air_type = HPXML::AirTypeFanCoil
|
6251
|
-
hpxml.hvac_distributions[0].duct_leakage_measurements[0].duct_leakage_value = 15
|
6252
|
-
hpxml.hvac_distributions[0].duct_leakage_measurements[1].duct_leakage_value = 10
|
6253
6241
|
elsif hpxml_file.include? 'water-loop-heat-pump'
|
6254
6242
|
hpxml.hvac_distributions[0].distribution_system_type = HPXML::HVACDistributionTypeHydronic
|
6255
6243
|
hpxml.hvac_distributions[0].hydronic_type = HPXML::HydronicTypeWaterLoop
|
6256
6244
|
hpxml.hvac_distributions.add(id: 'HVACDistributionWLHP',
|
6257
|
-
distribution_system_type: HPXML::HVACDistributionTypeAir
|
6258
|
-
|
6259
|
-
duct_leakage_units: HPXML::UnitsCFM25,
|
6260
|
-
duct_leakage_value: 15,
|
6261
|
-
duct_leakage_total_or_to_outside: HPXML::DuctLeakageToOutside)
|
6262
|
-
hpxml.hvac_distributions[-1].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeReturn,
|
6263
|
-
duct_leakage_units: HPXML::UnitsCFM25,
|
6264
|
-
duct_leakage_value: 10,
|
6265
|
-
duct_leakage_total_or_to_outside: HPXML::DuctLeakageToOutside)
|
6245
|
+
distribution_system_type: HPXML::HVACDistributionTypeAir,
|
6246
|
+
air_type: HPXML::AirTypeRegularVelocity)
|
6266
6247
|
end
|
6248
|
+
hpxml.hvac_distributions[-1].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeSupply,
|
6249
|
+
duct_leakage_units: HPXML::UnitsCFM25,
|
6250
|
+
duct_leakage_value: 15,
|
6251
|
+
duct_leakage_total_or_to_outside: HPXML::DuctLeakageToOutside)
|
6252
|
+
hpxml.hvac_distributions[-1].duct_leakage_measurements.add(duct_type: HPXML::DuctTypeReturn,
|
6253
|
+
duct_leakage_units: HPXML::UnitsCFM25,
|
6254
|
+
duct_leakage_value: 10,
|
6255
|
+
duct_leakage_total_or_to_outside: HPXML::DuctLeakageToOutside)
|
6267
6256
|
hpxml.hvac_distributions[-1].ducts.add(duct_type: HPXML::DuctTypeSupply,
|
6268
6257
|
duct_insulation_r_value: 0,
|
6269
6258
|
duct_location: HPXML::LocationOtherMultifamilyBufferSpace,
|
@@ -6311,25 +6300,33 @@ def set_hpxml_hvac_distributions(hpxml_file, hpxml)
|
|
6311
6300
|
end
|
6312
6301
|
|
6313
6302
|
# Set ConditionedFloorAreaServed
|
6314
|
-
|
6315
|
-
|
6316
|
-
|
6317
|
-
|
6318
|
-
|
6319
|
-
|
6303
|
+
if not hpxml_file.include?('invalid_files')
|
6304
|
+
n_htg_systems = (hpxml.heating_systems + hpxml.heat_pumps).select { |h| h.fraction_heat_load_served.to_f > 0 }.size
|
6305
|
+
n_clg_systems = (hpxml.cooling_systems + hpxml.heat_pumps).select { |h| h.fraction_cool_load_served.to_f > 0 }.size
|
6306
|
+
hpxml.hvac_distributions.each do |hvac_distribution|
|
6307
|
+
if [HPXML::HVACDistributionTypeAir].include?(hvac_distribution.distribution_system_type) && (hvac_distribution.ducts.size > 0)
|
6308
|
+
n_hvac_systems = [n_htg_systems, n_clg_systems].max
|
6309
|
+
hvac_distribution.conditioned_floor_area_served = hpxml.building_construction.conditioned_floor_area / n_hvac_systems
|
6310
|
+
else
|
6311
|
+
hvac_distribution.conditioned_floor_area_served = nil
|
6312
|
+
end
|
6320
6313
|
end
|
6321
|
-
|
6322
|
-
if ['invalid_files/invalid-distribution-cfa-served.xml'].include? hpxml_file
|
6314
|
+
elsif ['invalid_files/invalid-distribution-cfa-served.xml'].include? hpxml_file
|
6323
6315
|
hpxml.hvac_distributions[0].conditioned_floor_area_served = hpxml.building_construction.conditioned_floor_area + 1.1
|
6324
6316
|
end
|
6325
6317
|
|
6326
6318
|
# Set number of return registers
|
6327
6319
|
if not ['base-misc-defaults.xml'].include? hpxml_file
|
6328
6320
|
hpxml.hvac_distributions.each do |hvac_distribution|
|
6321
|
+
hvac_distribution.number_of_return_registers = nil
|
6329
6322
|
next unless hvac_distribution.distribution_system_type == HPXML::HVACDistributionTypeAir
|
6330
|
-
next unless hvac_distribution.ducts.select { |d| d.duct_type == HPXML::DuctTypeReturn }.size > 0
|
6331
6323
|
|
6332
|
-
hvac_distribution.
|
6324
|
+
if hvac_distribution.ducts.select { |d| d.duct_type == HPXML::DuctTypeReturn }.size > 0
|
6325
|
+
hvac_distribution.number_of_return_registers = hpxml.building_construction.number_of_conditioned_floors.ceil
|
6326
|
+
elsif hvac_distribution.ducts.select { |d| d.duct_type == HPXML::DuctTypeSupply }.size > 0
|
6327
|
+
# E.g., evap cooler w/ only supply ducts
|
6328
|
+
hvac_distribution.number_of_return_registers = 0
|
6329
|
+
end
|
6333
6330
|
end
|
6334
6331
|
end
|
6335
6332
|
end
|
@@ -6561,36 +6558,36 @@ def set_hpxml_ventilation_fans(hpxml_file, hpxml)
|
|
6561
6558
|
used_for_seasonal_cooling_load_reduction: true)
|
6562
6559
|
hpxml.ventilation_fans.add(id: 'Supply',
|
6563
6560
|
fan_type: HPXML::MechVentTypeSupply,
|
6564
|
-
tested_flow_rate:
|
6561
|
+
tested_flow_rate: 27.5,
|
6565
6562
|
hours_in_operation: 24,
|
6566
|
-
fan_power:
|
6563
|
+
fan_power: 7.5,
|
6567
6564
|
used_for_whole_building_ventilation: true)
|
6568
6565
|
hpxml.ventilation_fans.add(id: 'Exhaust',
|
6569
6566
|
fan_type: HPXML::MechVentTypeExhaust,
|
6570
|
-
tested_flow_rate:
|
6567
|
+
tested_flow_rate: 12.5,
|
6571
6568
|
hours_in_operation: 14,
|
6572
|
-
fan_power:
|
6569
|
+
fan_power: 2.5,
|
6573
6570
|
used_for_whole_building_ventilation: true)
|
6574
6571
|
hpxml.ventilation_fans.add(id: 'Balanced',
|
6575
6572
|
fan_type: HPXML::MechVentTypeBalanced,
|
6576
|
-
tested_flow_rate:
|
6573
|
+
tested_flow_rate: 27.5,
|
6577
6574
|
hours_in_operation: 24,
|
6578
|
-
fan_power:
|
6575
|
+
fan_power: 15,
|
6579
6576
|
used_for_whole_building_ventilation: true)
|
6580
6577
|
hpxml.ventilation_fans.add(id: 'ERV',
|
6581
6578
|
fan_type: HPXML::MechVentTypeERV,
|
6582
|
-
tested_flow_rate:
|
6579
|
+
tested_flow_rate: 12.5,
|
6583
6580
|
hours_in_operation: 24,
|
6584
6581
|
total_recovery_efficiency: 0.48,
|
6585
6582
|
sensible_recovery_efficiency: 0.72,
|
6586
|
-
fan_power:
|
6583
|
+
fan_power: 6.25,
|
6587
6584
|
used_for_whole_building_ventilation: true)
|
6588
6585
|
hpxml.ventilation_fans.add(id: 'HRV',
|
6589
6586
|
fan_type: HPXML::MechVentTypeHRV,
|
6590
|
-
tested_flow_rate:
|
6587
|
+
tested_flow_rate: 15,
|
6591
6588
|
hours_in_operation: 24,
|
6592
6589
|
sensible_recovery_efficiency: 0.72,
|
6593
|
-
fan_power:
|
6590
|
+
fan_power: 7.5,
|
6594
6591
|
used_for_whole_building_ventilation: true)
|
6595
6592
|
hpxml.ventilation_fans.reverse_each do |vent_fan|
|
6596
6593
|
vent_fan.fan_power /= 2.0
|
@@ -6603,16 +6600,16 @@ def set_hpxml_ventilation_fans(hpxml_file, hpxml)
|
|
6603
6600
|
end
|
6604
6601
|
hpxml.ventilation_fans.add(id: 'CFIS',
|
6605
6602
|
fan_type: HPXML::MechVentTypeCFIS,
|
6606
|
-
tested_flow_rate:
|
6603
|
+
tested_flow_rate: 40,
|
6607
6604
|
hours_in_operation: 8,
|
6608
|
-
fan_power:
|
6605
|
+
fan_power: 37.5,
|
6609
6606
|
used_for_whole_building_ventilation: true,
|
6610
6607
|
distribution_system_idref: 'HVACDistribution')
|
6611
6608
|
hpxml.ventilation_fans.add(id: 'CFIS_2',
|
6612
6609
|
fan_type: HPXML::MechVentTypeCFIS,
|
6613
|
-
tested_flow_rate:
|
6610
|
+
tested_flow_rate: 42.5,
|
6614
6611
|
hours_in_operation: 8,
|
6615
|
-
fan_power:
|
6612
|
+
fan_power: 37.5,
|
6616
6613
|
used_for_whole_building_ventilation: true,
|
6617
6614
|
distribution_system_idref: 'HVACDistribution2')
|
6618
6615
|
end
|
@@ -7031,6 +7028,8 @@ def set_hpxml_solar_thermal_system(hpxml_file, hpxml)
|
|
7031
7028
|
water_heating_system_idref: 'WaterHeater')
|
7032
7029
|
elsif ['invalid_files/unattached-solar-thermal-system.xml'].include? hpxml_file
|
7033
7030
|
hpxml.solar_thermal_systems[0].water_heating_system_idref = 'foobar'
|
7031
|
+
elsif ['invalid_files/solar-fraction-one.xml'].include? hpxml_file
|
7032
|
+
hpxml.solar_thermal_systems[0].solar_fraction = 1.0
|
7034
7033
|
end
|
7035
7034
|
end
|
7036
7035
|
|
@@ -7084,7 +7083,7 @@ def set_hpxml_generators(hpxml_file, hpxml)
|
|
7084
7083
|
annual_consumption_kbtu: 8500,
|
7085
7084
|
annual_output_kwh: 500)
|
7086
7085
|
hpxml.generators.add(id: 'Generator2',
|
7087
|
-
fuel_type: HPXML::
|
7086
|
+
fuel_type: HPXML::FuelTypeOil,
|
7088
7087
|
annual_consumption_kbtu: 8500,
|
7089
7088
|
annual_output_kwh: 500)
|
7090
7089
|
elsif ['base-bldgtype-multifamily-shared-generator.xml'].include? hpxml_file
|
@@ -7385,14 +7384,13 @@ def set_hpxml_dehumidifier(hpxml_file, hpxml)
|
|
7385
7384
|
rh_setpoint: 0.5,
|
7386
7385
|
fraction_served: 1.0,
|
7387
7386
|
location: HPXML::LocationLivingSpace)
|
7388
|
-
elsif ['base-appliances-dehumidifier-50percent.xml'].include? hpxml_file
|
7389
|
-
hpxml.dehumidifiers[0].fraction_served = 0.5
|
7390
7387
|
elsif ['base-appliances-dehumidifier-ief-portable.xml'].include? hpxml_file
|
7391
7388
|
hpxml.dehumidifiers[0].energy_factor = nil
|
7392
7389
|
hpxml.dehumidifiers[0].integrated_energy_factor = 1.5
|
7393
7390
|
elsif ['base-appliances-dehumidifier-ief-whole-home.xml'].include? hpxml_file
|
7394
7391
|
hpxml.dehumidifiers[0].type = HPXML::DehumidifierTypeWholeHome
|
7395
7392
|
elsif ['base-appliances-dehumidifier-multiple.xml'].include? hpxml_file
|
7393
|
+
hpxml.dehumidifiers[0].fraction_served = 0.5
|
7396
7394
|
hpxml.dehumidifiers.add(id: 'Dehumidifier2',
|
7397
7395
|
type: HPXML::DehumidifierTypePortable,
|
7398
7396
|
capacity: 30,
|
@@ -8112,21 +8110,11 @@ if ARGV[0].to_sym == :create_release_zips
|
|
8112
8110
|
'workflow/sample_files/*.xml',
|
8113
8111
|
'workflow/tests/*.rb',
|
8114
8112
|
'workflow/tests/ASHRAE_Standard_140/*.xml',
|
8113
|
+
'workflow/tests/base_results/*.csv',
|
8115
8114
|
'documentation/index.html',
|
8116
8115
|
'documentation/_static/**/*.*']
|
8117
8116
|
|
8118
8117
|
if not ENV['CI']
|
8119
|
-
# Run ASHRAE 140 files
|
8120
|
-
puts 'Running ASHRAE 140 tests (this will take a minute)...'
|
8121
|
-
command = "#{OpenStudio.getOpenStudioCLI} workflow/tests/hpxml_translator_test.rb --name=test_ashrae_140 > log.txt"
|
8122
|
-
system(command)
|
8123
|
-
results_csv_path = 'workflow/tests/results/results_ashrae_140.csv'
|
8124
|
-
if not File.exist? results_csv_path
|
8125
|
-
puts 'ASHRAE 140 results CSV file not generated. Aborting...'
|
8126
|
-
exit!
|
8127
|
-
end
|
8128
|
-
File.delete('log.txt')
|
8129
|
-
|
8130
8118
|
# Generate documentation
|
8131
8119
|
puts 'Generating documentation...'
|
8132
8120
|
command = 'sphinx-build -b singlehtml docs/source documentation'
|
@@ -8165,9 +8153,6 @@ if ARGV[0].to_sym == :create_release_zips
|
|
8165
8153
|
release_map.each do |zip_path, include_all_epws|
|
8166
8154
|
puts "Creating #{zip_path}..."
|
8167
8155
|
zip = OpenStudio::ZipFile.new(zip_path, false)
|
8168
|
-
if not ENV['CI']
|
8169
|
-
zip.addFile(results_csv_path, File.join('OpenStudio-HPXML', results_csv_path))
|
8170
|
-
end
|
8171
8156
|
files.each do |f|
|
8172
8157
|
Dir[f].each do |file|
|
8173
8158
|
if file.start_with? 'documentation'
|