urbanopt-cli 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile +4 -4
- data/example_files/Gemfile +8 -8
- data/example_files/mappers/Baseline.rb +37 -36
- data/example_files/measures/BuildResidentialModel/measure.rb +70 -37
- data/example_files/reopt/base_assumptions.json +2 -2
- data/example_files/reopt/multiPV_assumptions.json +4 -3
- 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 +0 -3
- 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/lib/uo_cli/version.rb +1 -1
- data/uo_cli.gemspec +6 -6
- metadata +31 -20
- 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
|
@@ -6,7 +6,7 @@ Setup
|
|
|
6
6
|
|
|
7
7
|
To get started:
|
|
8
8
|
|
|
9
|
-
#. Download `OpenStudio 3.
|
|
9
|
+
#. Download `OpenStudio 3.2.0 <https://github.com/NREL/OpenStudio/releases/tag/v3.2.0>`_ and install the Command Line Interface/EnergyPlus components, or use the `nrel/openstudio docker image <https://hub.docker.com/r/nrel/openstudio>`_.
|
|
10
10
|
#. Download the `latest release <https://github.com/NREL/OpenStudio-HPXML/releases>`_.
|
|
11
11
|
|
|
12
12
|
Running
|
|
@@ -47,6 +47,7 @@ There are additional ways that software developers using this workflow can reduc
|
|
|
47
47
|
- Run on Linux/Mac platform, which is significantly faster than Windows.
|
|
48
48
|
- Run on computing environments with 1) fast CPUs, 2) sufficient memory, and 3) enough processors to allow all simulations to run in parallel.
|
|
49
49
|
- Limit requests for timeseries output (e.g., ``--hourly``, ``--daily``, ``--timestep`` arguments) and limit the number of output variables requested.
|
|
50
|
+
- Avoid using the ``--add-component-loads`` argument if heating/cooling component loads are not of interest.
|
|
50
51
|
- Use the ``--skip-validation`` argument if the HPXML input file has already been validated against the Schema & Schematron documents.
|
|
51
52
|
|
|
52
53
|
License
|
|
@@ -636,15 +636,15 @@ Each heating system (other than a heat pump) is entered as an ``/HPXML/Building/
|
|
|
636
636
|
================================= ======== ====== =========== ======== ========= ===============================
|
|
637
637
|
``SystemIdentifier`` id Yes Unique identifier
|
|
638
638
|
``HeatingSystemType`` element 1 [#]_ Yes Type of heating system
|
|
639
|
-
``FractionHeatLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of heating load served
|
|
640
639
|
``HeatingSystemFuel`` string See [#]_ Yes Fuel type
|
|
641
640
|
``HeatingCapacity`` double Btu/hr >= 0 No autosized Input heating capacity
|
|
641
|
+
``FractionHeatLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of heating load served
|
|
642
642
|
================================= ======== ====== =========== ======== ========= ===============================
|
|
643
643
|
|
|
644
644
|
.. [#] HeatingSystemType child element choices are ``ElectricResistance``, ``Furnace``, ``WallFurnace``, ``FloorFurnace``, ``Boiler``, ``Stove``, ``PortableHeater``, ``FixedHeater``, or ``Fireplace``.
|
|
645
|
-
.. [#] The sum of all ``FractionHeatLoadServed`` (across both HeatingSystems and HeatPumps) must be less than or equal to 1.
|
|
646
645
|
.. [#] HeatingSystemFuel choices are "electricity", "natural gas", "fuel oil", "fuel oil 1", "fuel oil 2", "fuel oil 4", "fuel oil 5/6", "diesel", "propane", "kerosene", "coal", "coke", "bituminous coal", "wood", or "wood pellets".
|
|
647
646
|
For ``ElectricResistance``, "electricity" is required.
|
|
647
|
+
.. [#] The sum of all ``FractionHeatLoadServed`` (across both HeatingSystems and HeatPumps) must be less than or equal to 1.
|
|
648
648
|
|
|
649
649
|
Electric Resistance
|
|
650
650
|
~~~~~~~~~~~~~~~~~~~
|
|
@@ -671,8 +671,8 @@ If a furnace is specified, additional information is entered in ``HeatingSystem`
|
|
|
671
671
|
``extension/AirflowDefectRatio`` double frac > -1 No 0.0 Deviation between design/installed airflows [#]_
|
|
672
672
|
=============================================== ====== ===== =========== ======== ========= ================================================
|
|
673
673
|
|
|
674
|
-
.. [#] HVACDistribution type must be AirDistribution or DSE.
|
|
675
|
-
.. [#] If FanPowerWattsPerCFM not provided, defaulted to 0.5 W/cfm if AFUE <= 0.9, else 0.375 W/cfm.
|
|
674
|
+
.. [#] HVACDistribution type must be AirDistribution (type: "regular velocity" or "gravity") or DSE.
|
|
675
|
+
.. [#] If FanPowerWattsPerCFM not provided, defaulted to 0 W/cfm if gravity distribution system, else 0.5 W/cfm if AFUE <= 0.9, else 0.375 W/cfm.
|
|
676
676
|
.. [#] If there is a cooling system attached to the DistributionSystem, the heating and cooling systems cannot have different values for FanPowerWattsPerCFM.
|
|
677
677
|
.. [#] AirflowDefectRatio is defined as (InstalledAirflow - DesignAirflow) / DesignAirflow; a value of zero means no airflow defect.
|
|
678
678
|
See ANSI/RESNET/ACCA 310-2020 Standard for Grading the Installation of HVAC Systems for more information.
|
|
@@ -702,26 +702,42 @@ If a boiler is specified, additional information is entered in ``HeatingSystem``
|
|
|
702
702
|
``IsSharedSystem`` boolean No false Whether it serves multiple dwelling units
|
|
703
703
|
``DistributionSystem`` idref See [#]_ Yes ID of attached distribution system
|
|
704
704
|
``AnnualHeatingEfficiency[Units="AFUE"]/Value`` double frac 0 - 1 Yes Rated efficiency
|
|
705
|
-
``ElectricAuxiliaryEnergy`` double kWh/yr >= 0 No [#]_ See [#]_ Electric auxiliary energy
|
|
706
705
|
========================================================================== ======== ====== =========== ======== ======== =========================================
|
|
707
706
|
|
|
708
707
|
.. [#] For in-unit boilers, HVACDistribution type must be HydronicDistribution (type: "radiator", "baseboard", "radiant floor", "radiant ceiling", or "water loop") or DSE.
|
|
709
708
|
For shared boilers, HVACDistribution type must be HydronicDistribution (type: "radiator", "baseboard", "radiant floor", "radiant ceiling", or "water loop") or AirDistribution (type: "fan coil").
|
|
710
709
|
If the shared boiler has "water loop" distribution, a :ref:`hvac_heatpump_wlhp` must also be specified.
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
- **
|
|
723
|
-
- **Gas boiler
|
|
724
|
-
|
|
710
|
+
|
|
711
|
+
If an in-unit boiler if specified, additional information is entered in ``HeatingSystem``.
|
|
712
|
+
|
|
713
|
+
=========================== ======== ====== =========== ======== ======== =========================
|
|
714
|
+
Element Type Units Constraints Required Default Notes
|
|
715
|
+
=========================== ======== ====== =========== ======== ======== =========================
|
|
716
|
+
``ElectricAuxiliaryEnergy`` double kWh/yr >= 0 No See [#]_ Electric auxiliary energy
|
|
717
|
+
=========================== ======== ====== =========== ======== ======== =========================
|
|
718
|
+
|
|
719
|
+
.. [#] If ElectricAuxiliaryEnergy not provided, defaults as follows:
|
|
720
|
+
|
|
721
|
+
- **Oil boiler**: 330 kWh/yr
|
|
722
|
+
- **Gas boiler**: 170 kWh/yr
|
|
723
|
+
|
|
724
|
+
If instead a shared boiler is specified, additional information is entered in ``HeatingSystem``.
|
|
725
|
+
|
|
726
|
+
============================================================ ======== =========== =========== ======== ======== =========================
|
|
727
|
+
Element Type Units Constraints Required Default Notes
|
|
728
|
+
============================================================ ======== =========== =========== ======== ======== =========================
|
|
729
|
+
``NumberofUnitsServed`` integer > 1 Yes Number of dwelling units served
|
|
730
|
+
``ElectricAuxiliaryEnergy`` or ``extension/SharedLoopWatts`` double kWh/yr or W >= 0 No See [#]_ Electric auxiliary energy or shared loop power
|
|
731
|
+
``ElectricAuxiliaryEnergy`` or ``extension/FanCoilWatts`` double kWh/yr or W >= 0 No [#]_ Electric auxiliary energy or fan coil power
|
|
732
|
+
============================================================ ======== =========== =========== ======== ======== =========================
|
|
733
|
+
|
|
734
|
+
.. [#] If ElectricAuxiliaryEnergy nor SharedLoopWatts provided, defaults as follows:
|
|
735
|
+
|
|
736
|
+
- **Shared boiler w/ baseboard**: 220 kWh/yr
|
|
737
|
+
- **Shared boiler w/ water loop heat pump**: 265 kWh/yr
|
|
738
|
+
- **Shared boiler w/ fan coil**: 438 kWh/yr
|
|
739
|
+
|
|
740
|
+
.. [#] FanCoilWatts only used if boiler connected to fan coil and SharedLoopWatts provided.
|
|
725
741
|
|
|
726
742
|
Stove
|
|
727
743
|
~~~~~
|
|
@@ -797,7 +813,7 @@ If a central air conditioner is specified, additional information is entered in
|
|
|
797
813
|
``extension/ChargeDefectRatio`` double frac > -1 No 0.0 Deviation between design/installed charges [#]_
|
|
798
814
|
=============================================== ======== ====== =========== ======== ========= ================================================
|
|
799
815
|
|
|
800
|
-
.. [#] HVACDistribution type must be AirDistribution or DSE.
|
|
816
|
+
.. [#] HVACDistribution type must be AirDistribution (type: "regular velocity") or DSE.
|
|
801
817
|
.. [#] CompressorType choices are "single stage", "two stage", or "variable speed".
|
|
802
818
|
.. [#] If CompressorType not provided, defaults to "single stage" if SEER <= 15, else "two stage" if SEER <= 21, else "variable speed".
|
|
803
819
|
.. [#] If FanPowerWattsPerCFM not provided, defaults to using attached furnace W/cfm if available, else 0.5 W/cfm if SEER <= 13.5, else 0.375 W/cfm.
|
|
@@ -832,7 +848,7 @@ If an evaporative cooler is specified, additional information is entered in ``Co
|
|
|
832
848
|
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling capacity
|
|
833
849
|
================================= ======== ====== =========== ======== ========= ==================================
|
|
834
850
|
|
|
835
|
-
.. [#] If provided, HVACDistribution type must be AirDistribution or DSE.
|
|
851
|
+
.. [#] If provided, HVACDistribution type must be AirDistribution (type: "regular velocity") or DSE.
|
|
836
852
|
|
|
837
853
|
Mini-Split
|
|
838
854
|
~~~~~~~~~~
|
|
@@ -849,7 +865,7 @@ If a mini-split is specified, additional information is entered in ``CoolingSyst
|
|
|
849
865
|
``extension/ChargeDefectRatio`` double frac > -1 No 0.0 Deviation between design/installed charges [#]_
|
|
850
866
|
=============================================== ======== ====== =========== ======== ========= ===============================================
|
|
851
867
|
|
|
852
|
-
.. [#] If provided, HVACDistribution type must be AirDistribution or DSE.
|
|
868
|
+
.. [#] If provided, HVACDistribution type must be AirDistribution (type: "regular velocity") or DSE.
|
|
853
869
|
.. [#] ChargeDefectRatio is defined as (InstalledCharge - DesignCharge) / DesignCharge; a value of zero means no refrigerant charge defect.
|
|
854
870
|
See ANSI/RESNET/ACCA 310-2020 Standard for Grading the Installation of HVAC Systems for more information.
|
|
855
871
|
|
|
@@ -886,7 +902,7 @@ If a chiller is specified, additional information is entered in ``CoolingSystem`
|
|
|
886
902
|
|
|
887
903
|
.. [#] HVACDistribution type must be HydronicDistribution (type: "radiator", "baseboard", "radiant floor", "radiant ceiling", or "water loop") or AirDistribution (type: "fan coil").
|
|
888
904
|
If the chiller has "water loop" distribution, a :ref:`hvac_heatpump_wlhp` must also be specified.
|
|
889
|
-
.. [#] FanCoilWatts only required if chiller connected to
|
|
905
|
+
.. [#] FanCoilWatts only required if chiller connected to fan coil.
|
|
890
906
|
|
|
891
907
|
.. note::
|
|
892
908
|
|
|
@@ -971,7 +987,7 @@ If an air-to-air heat pump is specified, additional information is entered in ``
|
|
|
971
987
|
``extension/ChargeDefectRatio`` double frac > -1 No 0.0 Deviation between design/installed charges [#]_
|
|
972
988
|
=============================================== ======== ====== =========== ======== ========= ================================================
|
|
973
989
|
|
|
974
|
-
.. [#] HVACDistribution type must be AirDistribution or DSE.
|
|
990
|
+
.. [#] HVACDistribution type must be AirDistribution (type: "regular velocity") or DSE.
|
|
975
991
|
.. [#] CompressorType choices are "single stage", "two stage", or "variable speed".
|
|
976
992
|
.. [#] If CompressorType not provided, defaults to "single stage" if SEER <= 15, else "two stage" if SEER <= 21, else "variable speed".
|
|
977
993
|
.. [#] The sum of all ``FractionHeatLoadServed`` (across both HeatingSystems and HeatPumps) must be less than or equal to 1.
|
|
@@ -1002,7 +1018,7 @@ If a mini-split heat pump is specified, additional information is entered in ``H
|
|
|
1002
1018
|
``extension/ChargeDefectRatio`` double frac > -1 No 0.0 Deviation between design/installed charges [#]_
|
|
1003
1019
|
=============================================== ======== ====== =========== ======== ========= ==============================================
|
|
1004
1020
|
|
|
1005
|
-
.. [#] If provided, HVACDistribution type must be AirDistribution or DSE.
|
|
1021
|
+
.. [#] If provided, HVACDistribution type must be AirDistribution (type: "regular velocity") or DSE.
|
|
1006
1022
|
.. [#] The sum of all ``FractionHeatLoadServed`` (across both HeatingSystems and HeatPumps) must be less than or equal to 1.
|
|
1007
1023
|
.. [#] The sum of all ``FractionCoolLoadServed`` (across both CoolingSystems and HeatPumps) must be less than or equal to 1.
|
|
1008
1024
|
.. [#] ChargeDefectRatio is defined as (InstalledCharge - DesignCharge) / DesignCharge; a value of zero means no refrigerant charge defect.
|
|
@@ -1028,7 +1044,7 @@ If a ground-to-air heat pump is specified, additional information is entered in
|
|
|
1028
1044
|
=============================================== ======== ====== =========== ======== ========= ==============================================
|
|
1029
1045
|
Element Type Units Constraints Required Default Notes
|
|
1030
1046
|
=============================================== ======== ====== =========== ======== ========= ==============================================
|
|
1031
|
-
``IsSharedSystem`` boolean No false Whether it
|
|
1047
|
+
``IsSharedSystem`` boolean No false Whether it has a shared hydronic circulation loop [#]_
|
|
1032
1048
|
``DistributionSystem`` idref See [#]_ Yes ID of attached distribution system
|
|
1033
1049
|
``HeatingCapacity`` double Btu/hr >= 0 No autosized Heating capacity (excluding any backup heating)
|
|
1034
1050
|
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling capacity
|
|
@@ -1046,7 +1062,7 @@ If a ground-to-air heat pump is specified, additional information is entered in
|
|
|
1046
1062
|
=============================================== ======== ====== =========== ======== ========= ==============================================
|
|
1047
1063
|
|
|
1048
1064
|
.. [#] IsSharedSystem should be true if the SFA/MF building has multiple ground source heat pumps connected to a shared hydronic circulation loop.
|
|
1049
|
-
.. [#] HVACDistribution type must be AirDistribution or DSE.
|
|
1065
|
+
.. [#] HVACDistribution type must be AirDistribution (type: "regular velocity") or DSE.
|
|
1050
1066
|
.. [#] The sum of all ``FractionHeatLoadServed`` (across both HeatingSystems and HeatPumps) must be less than or equal to 1.
|
|
1051
1067
|
.. [#] The sum of all ``FractionCoolLoadServed`` (across both CoolingSystems and HeatPumps) must be less than or equal to 1.
|
|
1052
1068
|
.. [#] NumberofUnitsServed only required if IsSharedSystem is true, in which case it must be > 1.
|
|
@@ -1079,7 +1095,7 @@ If a water-loop-to-air heat pump is specified, additional information is entered
|
|
|
1079
1095
|
``AnnualHeatingEfficiency[Units="COP"]/Value`` double W/W > 0 See [#]_ Rated heating efficiency
|
|
1080
1096
|
=============================================== ======== ====== =========== ======== ========= ==============================================
|
|
1081
1097
|
|
|
1082
|
-
.. [#] HVACDistribution type must be AirDistribution or DSE.
|
|
1098
|
+
.. [#] HVACDistribution type must be AirDistribution (type: "regular velocity") or DSE.
|
|
1083
1099
|
.. [#] CoolingCapacity required if there is a shared chiller or cooling tower with water loop distribution.
|
|
1084
1100
|
.. [#] AnnualCoolingEfficiency required if there is a shared chiller or cooling tower with water loop distribution.
|
|
1085
1101
|
.. [#] AnnualHeatingEfficiency required if there is a shared boiler with water loop distribution.
|
|
@@ -1166,7 +1182,7 @@ Each separate HVAC distribution system is entered as a ``/HPXML/Building/Buildin
|
|
|
1166
1182
|
============================== ======= ======= =========== ======== ========= =============================
|
|
1167
1183
|
|
|
1168
1184
|
.. [#] DistributionSystemType child element choices are ``AirDistribution``, ``HydronicDistribution``, or ``Other=DSE``.
|
|
1169
|
-
.. [#] ConditionedFloorAreaServed is
|
|
1185
|
+
.. [#] ConditionedFloorAreaServed required only when DistributionSystemType is AirDistribution and ``AirDistribution/Ducts`` are present.
|
|
1170
1186
|
|
|
1171
1187
|
.. note::
|
|
1172
1188
|
|
|
@@ -1184,17 +1200,18 @@ To define an air distribution system, additional information is entered in ``HVA
|
|
|
1184
1200
|
============================================= ======= ======= =========== ======== ========= ==========================
|
|
1185
1201
|
Element Type Units Constraints Required Default Notes
|
|
1186
1202
|
============================================= ======= ======= =========== ======== ========= ==========================
|
|
1187
|
-
``AirDistributionType`` string See [#]_
|
|
1188
|
-
``DuctLeakageMeasurement[DuctType="supply"]`` element 1
|
|
1189
|
-
``DuctLeakageMeasurement[DuctType="return"]`` element 1
|
|
1203
|
+
``AirDistributionType`` string See [#]_ Yes Type of air distribution
|
|
1204
|
+
``DuctLeakageMeasurement[DuctType="supply"]`` element 1 See [#]_ Supply duct leakage value
|
|
1205
|
+
``DuctLeakageMeasurement[DuctType="return"]`` element 1 See [#]_ Return duct leakage value
|
|
1190
1206
|
``Ducts`` element >= 0 No Supply/return ducts [#]_
|
|
1191
1207
|
``NumberofReturnRegisters`` integer >= 0 No See [#]_ Number of return registers
|
|
1192
1208
|
============================================= ======= ======= =========== ======== ========= ==========================
|
|
1193
1209
|
|
|
1194
|
-
.. [#] AirDistributionType choices are "gravity", "
|
|
1195
|
-
.. [#]
|
|
1210
|
+
.. [#] AirDistributionType choices are "regular velocity", "gravity", or "fan coil" and are further restricted based on attached HVAC system type (e.g., only "regular velocity" or "gravity" for a furnace, only "fan coil" for a shared boiler, etc.).
|
|
1211
|
+
.. [#] Supply duct leakage required if AirDistributionType is "regular velocity" or "gravity" and optional if AirDistributionType is "fan coil".
|
|
1212
|
+
.. [#] Return duct leakage required if AirDistributionType is "regular velocity" or "gravity" and optional if AirDistributionType is "fan coil".
|
|
1196
1213
|
.. [#] Provide a Ducts element for each supply duct and each return duct.
|
|
1197
|
-
.. [#] If NumberofReturnRegisters not provided, defaults to one return register per conditioned floor per `ASHRAE Standard 152 <https://www.energy.gov/eere/buildings/downloads/ashrae-standard-152-spreadsheet>`_, rounded up to the nearest integer if needed.
|
|
1214
|
+
.. [#] If NumberofReturnRegisters not provided and ``AirDistribution/Ducts`` are present, defaults to one return register per conditioned floor per `ASHRAE Standard 152 <https://www.energy.gov/eere/buildings/downloads/ashrae-standard-152-spreadsheet>`_, rounded up to the nearest integer if needed.
|
|
1198
1215
|
|
|
1199
1216
|
Additional information is entered in each ``DuctLeakageMeasurement``.
|
|
1200
1217
|
|
|
@@ -1795,7 +1812,7 @@ If not entered, the simulation will not include generators.
|
|
|
1795
1812
|
``NumberofBedroomsServed`` integer > 1 See [#]_ Number of bedrooms served
|
|
1796
1813
|
========================== ======= ======= =========== ======== ======= ============================================
|
|
1797
1814
|
|
|
1798
|
-
.. [#] FuelType choices are "natural gas"
|
|
1815
|
+
.. [#] FuelType choices are "natural gas", "fuel oil", "fuel oil 1", "fuel oil 2", "fuel oil 4", "fuel oil 5/6", "diesel", "propane", "kerosene", "coal", "coke", "bituminous coal", "anthracite coal", "wood", or "wood pellets".
|
|
1799
1816
|
.. [#] AnnualOutputkWh must also be < AnnualConsumptionkBtu*3.412 (i.e., the generator must consume more energy than it produces).
|
|
1800
1817
|
.. [#] NumberofBedroomsServed only required if IsSharedSystem is true, in which case it must be > NumberofBedrooms.
|
|
1801
1818
|
Annual consumption and annual production will be apportioned to the dwelling unit using its number of bedrooms divided by the total number of bedrooms served by the generator.
|
|
@@ -2417,28 +2434,28 @@ HPXML Locations
|
|
|
2417
2434
|
|
|
2418
2435
|
The various locations used in an HPXML file are defined as follows:
|
|
2419
2436
|
|
|
2420
|
-
==============================
|
|
2421
|
-
Value Description
|
|
2422
|
-
==============================
|
|
2423
|
-
outside Ambient environment
|
|
2424
|
-
ground
|
|
2425
|
-
living space Above-grade conditioned floor area
|
|
2426
|
-
attic - vented
|
|
2427
|
-
attic - unvented
|
|
2428
|
-
basement - conditioned Below-grade conditioned floor area
|
|
2429
|
-
basement - unconditioned
|
|
2430
|
-
crawlspace - vented
|
|
2431
|
-
crawlspace - unvented
|
|
2432
|
-
garage Single-family garage (not shared parking)
|
|
2433
|
-
other housing unit E.g., conditioned adjacent unit or corridor Same as living space SFA/MF only
|
|
2434
|
-
other heated space E.g., shared laundry/equipment space
|
|
2435
|
-
other multifamily buffer space E.g., enclosed unconditioned stairwell
|
|
2436
|
-
other non-freezing space E.g., shared parking garage ceiling
|
|
2437
|
-
other exterior Water heater outside
|
|
2438
|
-
exterior wall Ducts in exterior wall
|
|
2439
|
-
under slab Ducts under slab (ground)
|
|
2440
|
-
roof deck Ducts on roof deck (outside)
|
|
2441
|
-
==============================
|
|
2437
|
+
============================== ======================================================= ======================================= =============
|
|
2438
|
+
Value Description Temperature Building Type
|
|
2439
|
+
============================== ======================================================= ======================================= =============
|
|
2440
|
+
outside Ambient environment Weather data Any
|
|
2441
|
+
ground EnergyPlus calculation Any
|
|
2442
|
+
living space Above-grade conditioned floor area EnergyPlus calculation Any
|
|
2443
|
+
attic - vented EnergyPlus calculation Any
|
|
2444
|
+
attic - unvented EnergyPlus calculation Any
|
|
2445
|
+
basement - conditioned Below-grade conditioned floor area EnergyPlus calculation Any
|
|
2446
|
+
basement - unconditioned EnergyPlus calculation Any
|
|
2447
|
+
crawlspace - vented EnergyPlus calculation Any
|
|
2448
|
+
crawlspace - unvented EnergyPlus calculation Any
|
|
2449
|
+
garage Single-family garage (not shared parking) EnergyPlus calculation Any
|
|
2450
|
+
other housing unit E.g., conditioned adjacent unit or conditioned corridor Same as living space SFA/MF only
|
|
2451
|
+
other heated space E.g., shared laundry/equipment space Avg of living space/outside; min of 68F SFA/MF only
|
|
2452
|
+
other multifamily buffer space E.g., enclosed unconditioned stairwell Avg of living space/outside; min of 50F SFA/MF only
|
|
2453
|
+
other non-freezing space E.g., shared parking garage ceiling Floats with outside; minimum of 40F SFA/MF only
|
|
2454
|
+
other exterior Water heater outside Weather data Any
|
|
2455
|
+
exterior wall Ducts in exterior wall Avg of living space/outside Any
|
|
2456
|
+
under slab Ducts under slab (ground) EnergyPlus calculation Any
|
|
2457
|
+
roof deck Ducts on roof deck (outside) Weather data Any
|
|
2458
|
+
============================== ======================================================= ======================================= =============
|
|
2442
2459
|
|
|
2443
2460
|
Validating & Debugging Errors
|
|
2444
2461
|
-----------------------------
|
|
@@ -60,7 +60,7 @@ So the sum of all end uses for a given fuel (e.g., sum of all "End Use: Natural
|
|
|
60
60
|
End Use: Electricity: Cooling Fans/Pumps (MBtu)
|
|
61
61
|
End Use: Electricity: Hot Water (MBtu) Excludes recirc pump and solar thermal pump
|
|
62
62
|
End Use: Electricity: Hot Water Recirc Pump (MBtu)
|
|
63
|
-
End Use: Electricity: Hot Water Solar Thermal Pump (MBtu)
|
|
63
|
+
End Use: Electricity: Hot Water Solar Thermal Pump (MBtu) Non-zero only when using detailed (not simple) solar thermal inputs
|
|
64
64
|
End Use: Electricity: Lighting Interior (MBtu)
|
|
65
65
|
End Use: Electricity: Lighting Garage (MBtu)
|
|
66
66
|
End Use: Electricity: Lighting Exterior (MBtu)
|
|
@@ -208,8 +208,12 @@ Current peak building loads are listed below.
|
|
|
208
208
|
Annual Component Building Loads
|
|
209
209
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
210
210
|
|
|
211
|
+
**Note**: This section is only available if the ``--add-component-loads`` argument is used.
|
|
212
|
+
The argument is not used by default for faster performance.
|
|
213
|
+
|
|
211
214
|
Component loads represent the estimated contribution of different building components to the annual heating/cooling building loads.
|
|
212
215
|
The sum of component loads for heating (or cooling) will roughly equal the annual heating (or cooling) building load reported above.
|
|
216
|
+
|
|
213
217
|
Current component loads disaggregated by Heating/Cooling are listed below.
|
|
214
218
|
|
|
215
219
|
================================================= =========================================================================================================
|
|
@@ -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'
|