urbanopt-cli 0.8.3 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +5 -6
- data/CHANGELOG.md +14 -0
- data/CMakeLists.txt +7 -7
- data/Gemfile +3 -1
- data/README.md +9 -0
- data/example_files/Gemfile +23 -16
- data/example_files/Gemfile.lock +177 -0
- data/example_files/base_workflow_res.osw +57 -14
- data/example_files/class_project_coincident.json +1322 -0
- data/example_files/class_project_diverse.json +1322 -0
- data/example_files/disco/config.json +42 -0
- data/example_files/disco/cost_database.xlsx +0 -0
- data/example_files/disco/technical_catalog.json +12126 -0
- data/example_files/mappers/Baseline.rb +10 -7
- data/example_files/mappers/ChilledWaterStorage.rb +98 -0
- data/example_files/mappers/ClassProject.rb +110 -0
- data/example_files/mappers/CreateBar.rb +1 -0
- data/example_files/mappers/HighEfficiency.rb +13 -11
- data/example_files/mappers/PeakHoursMelsShedding.rb +72 -0
- data/example_files/mappers/PeakHoursThermostatAdjust.rb +78 -0
- data/example_files/mappers/ThermalStorage.rb +1 -0
- data/example_files/mappers/base_workflow.osw +55 -14
- data/example_files/mappers/class_project_workflow.osw +328 -0
- data/example_files/mappers/createbar_workflow.osw +16 -16
- data/example_files/measures/BuildResidentialModel/measure.rb +7 -1
- data/example_files/measures/BuildResidentialModel/measure.xml +1313 -706
- data/example_files/opendss/electrical_database.json +1446 -1446
- data/example_files/python_deps/dependencies.json +5 -0
- data/example_files/python_deps/install_python.ps1 +96 -0
- data/example_files/python_deps/install_python.sh +120 -0
- data/example_files/residential/clothes_dryer.tsv +11 -11
- data/example_files/residential/clothes_washer.tsv +3 -3
- data/example_files/residential/dishwasher.tsv +3 -3
- data/example_files/resources/hpxml-measures/.github/pull_request_template.md +0 -1
- data/example_files/resources/hpxml-measures/.github/workflows/config.yml +8 -21
- data/example_files/resources/hpxml-measures/.gitignore +2 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.rb +1272 -1094
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.xml +978 -659
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/geometry.rb +52 -74
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/build_residential_hpxml_test.rb +77 -140
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.rb +30 -27
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.xml +32 -13
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/resources/schedules.rb +55 -51
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/tests/build_residential_schedule_file_test.rb +89 -16
- data/example_files/resources/hpxml-measures/Changelog.md +65 -0
- data/example_files/resources/hpxml-measures/Gemfile +2 -4
- data/example_files/resources/hpxml-measures/Gemfile.lock +2 -13
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.rb +276 -300
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml +221 -215
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/airflow.rb +215 -170
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/battery.rb +108 -16
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constants.rb +24 -44
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constructions.rb +564 -197
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/data/cambium/README.md +8 -8
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/energyplus.rb +1 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/geometry.rb +7 -55
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hotwater_appliances.rb +24 -19
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml.rb +541 -211
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb +300 -172
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXML.xsd +0 -2
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXMLBaseElements.xsd +230 -141
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXMLDataTypes.xsd +145 -137
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml +191 -97
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schematron/iso-schematron.xsd +391 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac.rb +194 -198
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac_sizing.rb +140 -145
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/lighting.rb +11 -11
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/location.rb +33 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/materials.rb +4 -4
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/meta_measure.rb +17 -9
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/misc_loads.rb +14 -12
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/output.rb +39 -17
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/psychrometrics.rb +1 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/schedule_files/battery.csv +8761 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/schedules.rb +114 -57
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/simcontrols.rb +1 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/utility_bills.rb +148 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/version.rb +2 -2
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/waterheater.rb +85 -127
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/weather.rb +26 -32
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/xmlhelper.rb +2 -14
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/xmlvalidator.rb +67 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_airflow.rb +117 -56
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_battery.rb +141 -14
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb +453 -344
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_enclosure.rb +124 -20
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_generator.rb +1 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hotwater_appliance.rb +28 -32
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hvac.rb +172 -79
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb +54 -8
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_lighting.rb +3 -3
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_location.rb +4 -4
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_miscloads.rb +7 -7
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_pv.rb +1 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_schedules.rb +6 -9
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_simcontrols.rb +8 -8
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_validation.rb +213 -95
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_water_heater.rb +1 -10
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_weather.rb +76 -0
- data/example_files/resources/hpxml-measures/README.md +2 -3
- data/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.rb +585 -287
- data/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.xml +304 -352
- data/example_files/resources/hpxml-measures/ReportSimulationOutput/tests/output_report_test.rb +404 -279
- data/example_files/resources/hpxml-measures/ReportUtilityBills/measure.rb +222 -501
- data/example_files/resources/hpxml-measures/ReportUtilityBills/measure.xml +137 -200
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Flat Rate Min Annual Charge.json +649 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Flat Rate Min Monthly Charge.json +649 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Flat Rate.json +647 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Real-Time Pricing Rate Min Annual Charge.json +8776 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Real-Time Pricing Rate Min Monthly Charge.json +8776 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Real-Time Pricing Rate.json +8774 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate Min Annual Charge.json +659 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate Min Monthly Charge.json +659 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate.json +657 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Time-of-Use Rate Min Annual Charge.json +670 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Time-of-Use Rate Min Monthly Charge.json +670 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Time-of-Use Rate.json +668 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Time-of-Use Rate Min Annual Charge.json +655 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Time-of-Use Rate Min Monthly Charge.json +655 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Time-of-Use Rate.json +653 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/openei_rates.zip +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/Average_retail_price_of_electricity.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/HouseholdConsumption.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/NG_PRI_SUM_A_EPG0_PRS_DMCF_A.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/PET_PRI_WFR_A_EPD2F_PRS_DPGAL_W.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/PET_PRI_WFR_A_EPLLPA_PRS_DPGAL_W.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/README.md +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/util.rb +506 -25
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Contains Demand Charges.json +1312 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Invalid Fixed Charge Units.json +657 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Invalid Min Charge Units.json +659 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/JacksonElectricMemberCorp-ResidentialSeniorCitizenLowIncomeAssistance.json +681 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Missing Required Fields.json +54 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/data.csv +8761 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/utility_bills_test.rb +1006 -235
- data/example_files/resources/hpxml-measures/docs/source/conf.py +1 -1
- data/example_files/resources/hpxml-measures/docs/source/intro.rst +0 -1
- data/example_files/resources/hpxml-measures/docs/source/usage_instructions.rst +2 -2
- data/example_files/resources/hpxml-measures/docs/source/workflow_inputs.rst +461 -261
- data/example_files/resources/hpxml-measures/docs/source/workflow_outputs.rst +146 -152
- data/example_files/resources/hpxml-measures/tasks.rb +616 -802
- data/example_files/resources/hpxml-measures/workflow/real_homes/house001.xml +19 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house002.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house003.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house004.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house005.xml +19 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house006.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house007.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house008.xml +28 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house009.xml +28 -17
- data/example_files/resources/hpxml-measures/workflow/real_homes/house010.xml +28 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house011.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house012.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house013.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house014.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house015.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house016.xml +22 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house017.xml +19 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house018.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house019.xml +13 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house020.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house021.xml +31 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house022.xml +22 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house023.xml +21 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house024.xml +37 -22
- data/example_files/resources/hpxml-measures/workflow/real_homes/house025.xml +24 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house026.xml +33 -21
- data/example_files/resources/hpxml-measures/workflow/real_homes/house027.xml +28 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house028.xml +28 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house029.xml +30 -17
- data/example_files/resources/hpxml-measures/workflow/real_homes/house030.xml +10 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house031.xml +22 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house032.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house033.xml +18 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house034.xml +25 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house035.xml +22 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house036.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house037.xml +26 -17
- data/example_files/resources/hpxml-measures/workflow/real_homes/house038.xml +19 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house039.xml +25 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house040.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house041.xml +35 -21
- data/example_files/resources/hpxml-measures/workflow/real_homes/house042.xml +28 -17
- data/example_files/resources/hpxml-measures/workflow/real_homes/house043.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house044.xml +35 -21
- data/example_files/resources/hpxml-measures/workflow/real_homes/house045.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house046.xml +20 -13
- data/example_files/resources/hpxml-measures/workflow/real_homes/house047.xml +12 -9
- data/example_files/resources/hpxml-measures/workflow/real_homes/house048.xml +25 -14
- data/example_files/resources/hpxml-measures/workflow/real_homes/house049.xml +10 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house050.xml +20 -11
- data/example_files/resources/hpxml-measures/workflow/run_simulation.rb +91 -88
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-coal.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief-portable.xml +546 -535
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief-whole-home.xml +546 -535
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-multiple.xml +555 -544
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-modified.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-oil-location-miami-fl.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-oil.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-propane-location-portland-or.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-propane.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-wood.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-cathedral.xml +7 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-conditioned.xml +17 -6
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-flat.xml +7 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-radiant-barrier.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-unvented-insulated-roof.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-vented.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-battery-scheduled.xml +600 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-battery.xml +598 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-multifamily-buffer-space.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-multiple.xml +606 -593
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-non-freezing-space.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-other-heated-space.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-other-housing-unit.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-calctype-operational.xml +480 -471
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-baseboard.xml +464 -457
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-fan-coil-ducted.xml +496 -487
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-fan-coil.xml +466 -459
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-water-loop-heat-pump.xml +518 -509
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-cooling-tower-water-loop-heat-pump.xml +513 -504
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-baseboard.xml +445 -438
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil-ducted.xml +476 -467
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil-eae.xml +443 -436
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil.xml +446 -439
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-water-loop-heat-pump.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-baseboard.xml +445 -438
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-fan-coil-ducted.xml +476 -467
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-fan-coil.xml +446 -439
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-water-loop-heat-pump.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-cooling-tower-only-water-loop-heat-pump.xml +489 -480
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-generator.xml +499 -490
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-ground-loop-ground-to-air-heat-pump.xml +491 -482
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-laundry-room-multiple-water-heaters.xml +510 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-laundry-room.xml +495 -486
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent-multiple.xml +709 -695
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent-preconditioning.xml +528 -519
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent.xml +512 -503
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-pv.xml +504 -495
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-water-heater-recirc.xml +497 -488
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-water-heater.xml +490 -481
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily.xml +487 -478
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached-2stories.xml +639 -628
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached-atticroof-cathedral.xml +587 -580
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached.xml +639 -628
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational-misc-defaults.xml +539 -528
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational-misc-loads-large-uncommon.xml +644 -633
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational-misc-loads-large-uncommon2.xml +644 -633
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational.xml +575 -564
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless-outside.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-gshp.xml +585 -574
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-hpwh.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-tankless.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-dwhr.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-detailed-setpoints.xml +536 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-dse.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-outside.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-standbyloss.xml +20 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-with-solar-fraction.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-electric.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-hpwh.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-indirect.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-low-flow-fixtures.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-multiple.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-demand.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-manual.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-nocontrol.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-temperature.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-timer.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-evacuated-tube.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-flat-plate.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-ics.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-fraction.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-indirect-flat-plate.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-thermosyphon-flat-plate.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-coal.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-detailed-setpoints.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-elec-uef.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-outside.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-uef-fhr.xml +584 -573
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-uef.xml +584 -573
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-detailed-schedules.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-operating-mode-heat-pump-only.xml +585 -574
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-outside.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-uef.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar-fraction.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-model-type-stratified-detailed-occupancy-stochastic.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-model-type-stratified.xml +585 -574
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-oil.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-wood.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-detailed-setpoints.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-outside.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-uef.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-uef.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar-fraction.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-propane.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories-garage.xml +28 -11
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories.xml +20 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-1.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-2.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-4.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-5.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-ceilingtypes.xml +607 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-floortypes.xml +550 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-garage.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-ach-house-pressure.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm-house-pressure.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm50.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-flue.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-natural-ach.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-orientations.xml +589 -578
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-overhangs.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-rooftypes.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-physical-properties.xml +619 -608
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-shading.xml +620 -609
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-storms.xml +618 -607
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-level.xml +537 -526
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces.xml +90 -43
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces2.xml +2507 -2460
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-thermal-mass.xml +595 -584
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-walltypes.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-natural-ventilation-availability.xml +584 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-physical-properties.xml +594 -583
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-shading.xml +597 -586
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-storms.xml +598 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-ambient.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-basement-garage.xml +671 -656
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-complex.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-basement-slab-insulation.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-foundation-conditioned-basement-wall-interior-insulation.xml → base-foundation-conditioned-basement-wall-insulation.xml} +585 -574
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-crawlspace.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-multiple.xml +35 -16
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-slab.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-above-grade.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-assembly-r.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-wall-insulation.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unvented-crawlspace.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-vented-crawlspace.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-walkout-basement.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-backup-lockout-temperature.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-cooling-only.xml +573 -562
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-heating-only.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-seer2-hspf2.xml +583 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-backup-boiler-switchover-temperature.xml +600 -589
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-backup-boiler.xml +599 -588
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-backup-furnace.xml +629 -616
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-cooling-only.xml +573 -562
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-heating-only.xml +579 -568
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-sizing-methodology-acca.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-sizing-methodology-hers.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-sizing-methodology-maxload-miami-fl.xml +582 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-sizing-methodology-maxload.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-2-speed-sizing-methodology-acca.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-2-speed-sizing-methodology-hers.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-2-speed-sizing-methodology-maxload.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-backup-boiler.xml +598 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-backup-furnace.xml +628 -615
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-sizing-methodology-acca.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-sizing-methodology-hers.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-sizing-methodology-maxload.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-elec-only.xml +535 -526
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-gas-central-ac-1-speed.xml +589 -578
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-gas-only.xml +536 -527
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-2-speed.xml +565 -554
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-var-speed.xml +565 -554
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-plus-air-to-air-heat-pump-heating.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-air-to-air-heat-pump-1-speed-sizing-methodology-acca.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-air-to-air-heat-pump-1-speed-sizing-methodology-hers.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-air-to-air-heat-pump-1-speed-sizing-methodology-maxload.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-mini-split-heat-pump-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-elec-resistance-only.xml +526 -517
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-evap-cooler-furnace-gas.xml +573 -562
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-floor-furnace-propane-only.xml +529 -520
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-elec-only.xml +565 -554
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-central-ac-2-speed.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-central-ac-var-speed.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-only.xml +565 -554
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-room-ac.xml +578 -567
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-cooling-only.xml +575 -564
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-heating-only.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-acca.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-hers.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-maxload.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-air-conditioner-only-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-cooling-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-heating-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology-acca.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology-hers.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology-maxload.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ductless-backup-stove.xml +551 -542
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ptac-with-heating.xml +532 -530
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ptac.xml +525 -516
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-pthp-sizing-methodology-acca.xml +541 -532
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-pthp-sizing-methodology-hers.xml +541 -532
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-pthp-sizing-methodology-maxload.xml +541 -532
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-only.xml +525 -516
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-heating.xml +533 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology-acca.xml +542 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology-hers.xml +542 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology-maxload.xml +542 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-stove-oil-only.xml +529 -520
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-wall-furnace-elec-only.xml +529 -520
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-coal-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-elec-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-central-ac-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-oil-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-propane-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-wood-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-1-speed-seer2.xml +567 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dse.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-mini-split-heat-pump-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-area-fractions.xml +611 -598
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-area-multipliers.xml +589 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-leakage-cfm50.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-leakage-percent.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-elec-resistance-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-furnace-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only-ducted.xml +17 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fireplace-wood-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fixed-heater-gas-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-floor-furnace-propane-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-coal-only.xml +566 -555
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-central-ac-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-only-detailed-setpoints.xml +566 -555
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-only.xml +566 -555
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-room-ac.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-oil-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-propane-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-wood-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-x3-dse.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump-cooling-only.xml +574 -563
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump-heating-only.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-air-to-air-heat-pump-1-speed.xml +587 -576
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-air-to-air-heat-pump-2-speed.xml +587 -576
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-air-to-air-heat-pump-var-speed.xml +587 -576
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-central-ac-1-speed.xml +591 -580
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-central-ac-2-speed.xml +591 -580
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-central-ac-var-speed.xml +591 -580
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-only.xml +570 -559
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml +570 -559
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-mini-split-heat-pump-ducted.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-cooling-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-heating-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless-backup-stove.xml +552 -543
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-multiple.xml +963 -938
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-none.xml +33 -69
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-portable-heater-gas-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ptac-with-heating-electricity.xml +535 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-hvac-ptac-with-heating.xml → base-hvac-ptac-with-heating-natural-gas.xml} +23 -21
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ptac.xml +526 -517
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-pthp.xml +541 -532
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-33percent.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-ceer.xml +526 -517
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-detailed-setpoints.xml +526 -517
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-with-heating.xml +535 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-with-reverse-cycle.xml +542 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-seasons.xml +594 -583
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints-daily-schedules.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints-daily-setbacks.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-oil-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-wood-pellets-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized-allow-increased-fixed-capacities.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-wall-furnace-elec-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-ceiling-fans.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-holiday.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-AMY-2012.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-baltimore-md.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-capetown-zaf.xml +591 -576
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-dallas-tx.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-duluth-mn.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-helena-mt.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-honolulu-hi.xml +537 -526
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-miami-fl.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-phoenix-az.xml +537 -526
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-portland-or.xml +601 -586
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-balanced.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-bath-kitchen-fans.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-airflow-fraction-zero.xml +601 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-dse.xml +19 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-evap-cooler-only-ducted.xml +20 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-supplemental-fan-exhaust.xml +607 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-supplemental-fan-supply.xml +607 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis.xml +21 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv-atre-asre.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust-rated-flow-rate.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv-asre.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-multiple.xml +37 -19
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-supply.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-whole-house-fan.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-additional-properties.xml +590 -579
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-none.xml +578 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-pv-detailed-only.xml +632 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-pv-mixed.xml +614 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-pv.xml +677 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills.xml +593 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-defaults.xml +27 -9
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-emissions.xml +676 -665
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators-battery-scheduled.xml +616 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators-battery.xml +615 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators.xml +598 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-ground-conductivity.xml +586 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon2.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-neighbor-shading.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-shielding-of-home.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-usage-multiplier.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-multiple-buildings.xml +1700 -1677
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery-ah.xml +622 -611
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery-garage.xml +697 -682
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-pv-battery-lifetime-model.xml → base-pv-battery-round-trip-efficiency.xml} +20 -11
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery-scheduled.xml +624 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery.xml +622 -611
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-generators-battery-scheduled.xml +640 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-generators-battery.xml +639 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-generators.xml +623 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv.xml +606 -595
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-all-10-mins.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-smooth.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-stochastic-10-mins.xml +584 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-stochastic-vacancy.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-stochastic.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-setpoints-daily-schedules.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-setpoints-daily-setbacks.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-setpoints.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-simple.xml +636 -625
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-calendar-year-custom.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-custom.xml +27 -14
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-disabled.xml +21 -10
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-runperiod-1-month.xml +21 -10
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-dhw-tank-heat-pump-detailed-operating-modes.xml → base-simcontrol-temperature-capacitance-multiplier.xml} +25 -13
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins-occupancy-stochastic-10-mins.xml +584 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins-occupancy-stochastic-60-mins.xml +584 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-dhw-tank-heat-pump-detailed-setpoints.xml → base-simcontrol-timestep-30-mins.xml} +25 -14
- data/example_files/resources/hpxml-measures/workflow/sample_files/base.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/template-build-and-run-hpxml-with-stochastic-occupancy.osw +18 -13
- data/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy.osw +12 -7
- data/example_files/resources/hpxml-measures/workflow/template-run-hpxml.osw +8 -24
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AC.xml +366 -358
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AC.xml +311 -303
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AL.xml +311 -303
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AC.xml +327 -319
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AL.xml +327 -319
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AC.xml +332 -324
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AL.xml +332 -324
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AC.xml +341 -333
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AL.xml +341 -333
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L302XC.xml +383 -379
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L304XC.xml +383 -379
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L322XC.xml +538 -534
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L324XC.xml +550 -546
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results.csv +444 -410
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_ashrae_140.csv +8 -8
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_bills.csv +444 -410
- data/example_files/resources/hpxml-measures/workflow/tests/compare.py +18 -4
- data/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb +133 -288
- data/example_files/scripts/convert_urbanopt_to_disco.py +130 -0
- data/example_files/scripts/default_control_changes.csv +8 -0
- data/example_files/scripts/default_voltage_regulators.csv +3 -0
- data/example_files/scripts/read_data.py +331 -0
- data/example_files/visualization/input_visualization_feature.html +172 -81
- data/example_files/visualization/input_visualization_scenario.html +178 -82
- data/example_files/xml_building/17/README.md +2 -2
- data/example_files/xml_building/17/unit 1.xml +40 -41
- data/example_files/xml_building/17/unit 2.xml +35 -36
- data/example_files/xml_building/17/unit 3.xml +35 -36
- data/example_files/xml_building/17/unit 4.xml +41 -42
- data/lib/uo_cli/version.rb +1 -1
- data/lib/uo_cli.rb +596 -96
- data/uo_cli.gemspec +6 -5
- metadata +121 -36
- data/example_files/residential/exhaust.tsv +0 -3
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/data/hvac_equipment_efficiency.csv +0 -493
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/data/water_heater_efficiency.csv +0 -157
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schematron/HPXMLvalidator.xml +0 -620
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/validator.rb +0 -107
- data/example_files/resources/hpxml-measures/ReportHPXMLOutput/measure.rb +0 -450
- data/example_files/resources/hpxml-measures/ReportHPXMLOutput/measure.xml +0 -85
- data/example_files/resources/hpxml-measures/ReportHPXMLOutput/resources/constants.rb +0 -72
- data/example_files/resources/hpxml-measures/ReportHPXMLOutput/tests/hpxml_output_report_test.rb +0 -290
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/PV_10kW.csv +0 -8761
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/PV_1kW.csv +0 -8761
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/PV_None.csv +0 -8761
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_hvac_sizing.csv +0 -410
@@ -14,26 +14,29 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_central_air_conditioner_1_speed
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
17
|
+
['base-hvac-central-ac-only-1-speed.xml',
|
18
|
+
'base-hvac-central-ac-only-1-speed-seer2.xml'].each do |hpxml_path|
|
19
|
+
args_hash = {}
|
20
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, hpxml_path))
|
21
|
+
model, hpxml = _test_measure(args_hash)
|
22
|
+
|
23
|
+
# Get HPXML values
|
24
|
+
cooling_system = hpxml.cooling_systems[0]
|
25
|
+
capacity = UnitConversions.convert(cooling_system.cooling_capacity, 'Btu/hr', 'W')
|
26
|
+
|
27
|
+
# Check cooling coil
|
28
|
+
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
29
|
+
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
30
|
+
cop = 3.73 # Expected value
|
31
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.01)
|
32
|
+
assert_in_epsilon(capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
33
|
+
|
34
|
+
# Check EMS
|
35
|
+
assert_equal(1, model.getAirLoopHVACUnitarySystems.size)
|
36
|
+
unitary_system = model.getAirLoopHVACUnitarySystems[0]
|
37
|
+
program_values = get_ems_values(model.getEnergyManagementSystemPrograms, "#{unitary_system.name} IQ")
|
38
|
+
assert(program_values.empty?) # Check no EMS program
|
39
|
+
end
|
37
40
|
end
|
38
41
|
|
39
42
|
def test_central_air_conditioner_2_speed
|
@@ -101,7 +104,7 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
101
104
|
# Check cooling coil
|
102
105
|
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
103
106
|
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
104
|
-
assert_in_epsilon(cop, clg_coil.ratedCOP
|
107
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.001)
|
105
108
|
assert_in_epsilon(capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
106
109
|
end
|
107
110
|
|
@@ -119,10 +122,40 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
119
122
|
# Check cooling coil
|
120
123
|
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
121
124
|
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
122
|
-
assert_in_epsilon(cop, clg_coil.ratedCOP
|
125
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.001)
|
123
126
|
assert_in_epsilon(capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
124
127
|
end
|
125
128
|
|
129
|
+
def test_room_ac_with_heating
|
130
|
+
args_hash = {}
|
131
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-room-ac-with-heating.xml'))
|
132
|
+
model, hpxml = _test_measure(args_hash)
|
133
|
+
|
134
|
+
# Get HPXML values
|
135
|
+
cooling_system = hpxml.cooling_systems[0]
|
136
|
+
eer = cooling_system.cooling_efficiency_eer
|
137
|
+
ceer = eer / 1.01 # convert to ceer
|
138
|
+
cop = UnitConversions.convert(ceer, 'Btu/hr', 'W') # Expected value
|
139
|
+
cool_capacity = UnitConversions.convert(cooling_system.cooling_capacity, 'Btu/hr', 'W')
|
140
|
+
|
141
|
+
heat_efficiency = cooling_system.integrated_heating_system_efficiency_percent
|
142
|
+
heat_efficiency = 1.0 if heat_efficiency.nil?
|
143
|
+
heat_capacity = UnitConversions.convert(cooling_system.integrated_heating_system_capacity, 'Btu/hr', 'W')
|
144
|
+
|
145
|
+
# Check cooling coil
|
146
|
+
assert_equal(1, model.getAirLoopHVACUnitarySystems.size)
|
147
|
+
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
148
|
+
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
149
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.001)
|
150
|
+
assert_in_epsilon(cool_capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
151
|
+
|
152
|
+
# Check heating coil
|
153
|
+
assert_equal(1, model.getCoilHeatingElectrics.size)
|
154
|
+
baseboard = model.getCoilHeatingElectrics[0]
|
155
|
+
assert_in_epsilon(heat_efficiency, baseboard.efficiency, 0.01)
|
156
|
+
assert_in_epsilon(heat_capacity, baseboard.nominalCapacity.get, 0.01)
|
157
|
+
end
|
158
|
+
|
126
159
|
def test_ptac
|
127
160
|
args_hash = {}
|
128
161
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-ptac.xml'))
|
@@ -139,13 +172,13 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
139
172
|
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
140
173
|
assert_equal(1, model.getAirLoopHVACUnitarySystems.size)
|
141
174
|
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
142
|
-
assert_in_epsilon(cop, clg_coil.ratedCOP
|
175
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.001)
|
143
176
|
assert_in_epsilon(capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
144
177
|
end
|
145
178
|
|
146
|
-
def
|
179
|
+
def test_ptac_with_heating_electricity
|
147
180
|
args_hash = {}
|
148
|
-
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-ptac-with-heating.xml'))
|
181
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-ptac-with-heating-electricity.xml'))
|
149
182
|
model, hpxml = _test_measure(args_hash)
|
150
183
|
|
151
184
|
# Get HPXML values
|
@@ -155,22 +188,51 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
155
188
|
cop = UnitConversions.convert(ceer, 'Btu/hr', 'W') # Expected value
|
156
189
|
cool_capacity = UnitConversions.convert(cooling_system.cooling_capacity, 'Btu/hr', 'W')
|
157
190
|
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
heat_capacity = UnitConversions.convert(heating_system.heating_capacity, 'Btu/hr', 'W')
|
191
|
+
heat_efficiency = cooling_system.integrated_heating_system_efficiency_percent
|
192
|
+
heat_efficiency = 1.0 if heat_efficiency.nil?
|
193
|
+
heat_capacity = UnitConversions.convert(cooling_system.integrated_heating_system_capacity, 'Btu/hr', 'W')
|
162
194
|
|
163
195
|
# Check cooling coil
|
164
|
-
assert_equal(
|
196
|
+
assert_equal(1, model.getAirLoopHVACUnitarySystems.size)
|
165
197
|
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
166
198
|
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
167
|
-
assert_in_epsilon(cop, clg_coil.ratedCOP
|
199
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.001)
|
168
200
|
assert_in_epsilon(cool_capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
169
201
|
|
170
202
|
# Check heating coil
|
171
203
|
assert_equal(1, model.getCoilHeatingElectrics.size)
|
172
204
|
baseboard = model.getCoilHeatingElectrics[0]
|
173
|
-
assert_in_epsilon(
|
205
|
+
assert_in_epsilon(heat_efficiency, baseboard.efficiency, 0.01)
|
206
|
+
assert_in_epsilon(heat_capacity, baseboard.nominalCapacity.get, 0.01)
|
207
|
+
end
|
208
|
+
|
209
|
+
def test_ptac_with_heating_gas
|
210
|
+
args_hash = {}
|
211
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-ptac-with-heating-electricity.xml'))
|
212
|
+
model, hpxml = _test_measure(args_hash)
|
213
|
+
|
214
|
+
# Get HPXML values
|
215
|
+
cooling_system = hpxml.cooling_systems[0]
|
216
|
+
eer = cooling_system.cooling_efficiency_eer
|
217
|
+
ceer = eer / 1.01 # convert to ceer
|
218
|
+
cop = UnitConversions.convert(ceer, 'Btu/hr', 'W') # Expected value
|
219
|
+
cool_capacity = UnitConversions.convert(cooling_system.cooling_capacity, 'Btu/hr', 'W')
|
220
|
+
|
221
|
+
heat_efficiency = cooling_system.integrated_heating_system_efficiency_percent
|
222
|
+
heat_efficiency = 1.0 if heat_efficiency.nil?
|
223
|
+
heat_capacity = UnitConversions.convert(cooling_system.integrated_heating_system_capacity, 'Btu/hr', 'W')
|
224
|
+
|
225
|
+
# Check cooling coil
|
226
|
+
assert_equal(1, model.getAirLoopHVACUnitarySystems.size)
|
227
|
+
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
228
|
+
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
229
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.001)
|
230
|
+
assert_in_epsilon(cool_capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
231
|
+
|
232
|
+
# Check heating coil
|
233
|
+
assert_equal(1, model.getCoilHeatingElectrics.size)
|
234
|
+
baseboard = model.getCoilHeatingElectrics[0]
|
235
|
+
assert_in_epsilon(heat_efficiency, baseboard.efficiency, 0.01)
|
174
236
|
assert_in_epsilon(heat_capacity, baseboard.nominalCapacity.get, 0.01)
|
175
237
|
end
|
176
238
|
|
@@ -193,7 +255,7 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
193
255
|
# Check cooling coil
|
194
256
|
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
195
257
|
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
196
|
-
assert_in_epsilon(cop_cool, clg_coil.ratedCOP
|
258
|
+
assert_in_epsilon(cop_cool, clg_coil.ratedCOP, 0.01)
|
197
259
|
assert_in_epsilon(clg_capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
198
260
|
|
199
261
|
# Check heating coil
|
@@ -209,6 +271,39 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
209
271
|
assert_in_epsilon(supp_htg_capacity, supp_htg_coil.nominalCapacity.get, 0.01)
|
210
272
|
end
|
211
273
|
|
274
|
+
def test_room_heat_pump
|
275
|
+
args_hash = {}
|
276
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-room-ac-with-reverse-cycle.xml'))
|
277
|
+
model, hpxml = _test_measure(args_hash)
|
278
|
+
|
279
|
+
# Get HPXML values
|
280
|
+
heat_pump = hpxml.heat_pumps[0]
|
281
|
+
clg_capacity = UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W')
|
282
|
+
htg_capacity = UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W')
|
283
|
+
supp_htg_capacity = UnitConversions.convert(heat_pump.backup_heating_capacity, 'Btu/hr', 'W')
|
284
|
+
eer = heat_pump.cooling_efficiency_eer
|
285
|
+
ceer = eer / 1.01 # convert to ceer
|
286
|
+
cop_cool = UnitConversions.convert(ceer, 'Btu/hr', 'W') # Expected value
|
287
|
+
cop_heat = heat_pump.heating_efficiency_cop
|
288
|
+
|
289
|
+
# Check cooling coil
|
290
|
+
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
291
|
+
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
292
|
+
assert_in_epsilon(cop_cool, clg_coil.ratedCOP, 0.01)
|
293
|
+
assert_in_epsilon(clg_capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
294
|
+
|
295
|
+
# Check heating coil
|
296
|
+
assert_equal(1, model.getCoilHeatingDXSingleSpeeds.size)
|
297
|
+
htg_coil = model.getCoilHeatingDXSingleSpeeds[0]
|
298
|
+
assert_in_epsilon(cop_heat, htg_coil.ratedCOP, 0.01)
|
299
|
+
assert_in_epsilon(htg_capacity, htg_coil.ratedTotalHeatingCapacity.get, 0.01)
|
300
|
+
|
301
|
+
# Check supp heating coil
|
302
|
+
assert_equal(1, model.getCoilHeatingElectrics.size)
|
303
|
+
supp_htg_coil = model.getCoilHeatingElectrics[0]
|
304
|
+
assert_in_epsilon(supp_htg_capacity, supp_htg_coil.nominalCapacity.get, 0.01)
|
305
|
+
end
|
306
|
+
|
212
307
|
def test_evap_cooler
|
213
308
|
# TODO
|
214
309
|
end
|
@@ -343,42 +438,45 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
343
438
|
end
|
344
439
|
|
345
440
|
def test_air_to_air_heat_pump_1_speed
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
441
|
+
['base-hvac-air-to-air-heat-pump-1-speed.xml',
|
442
|
+
'base-hvac-air-to-air-heat-pump-1-speed-seer2-hspf2.xml'].each do |hpxml_path|
|
443
|
+
args_hash = {}
|
444
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, hpxml_path))
|
445
|
+
model, hpxml = _test_measure(args_hash)
|
446
|
+
|
447
|
+
# Get HPXML values
|
448
|
+
heat_pump = hpxml.heat_pumps[0]
|
449
|
+
backup_efficiency = heat_pump.backup_heating_efficiency_percent
|
450
|
+
clg_capacity = UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W')
|
451
|
+
htg_capacity = UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W')
|
452
|
+
supp_htg_capacity = UnitConversions.convert(heat_pump.backup_heating_capacity, 'Btu/hr', 'W')
|
453
|
+
|
454
|
+
# Check cooling coil
|
455
|
+
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
456
|
+
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
457
|
+
cop = 3.73 # Expected value
|
458
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.01)
|
459
|
+
assert_in_epsilon(clg_capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01)
|
460
|
+
|
461
|
+
# Check heating coil
|
462
|
+
assert_equal(1, model.getCoilHeatingDXSingleSpeeds.size)
|
463
|
+
htg_coil = model.getCoilHeatingDXSingleSpeeds[0]
|
464
|
+
cop = 3.28 # Expected value
|
465
|
+
assert_in_epsilon(cop, htg_coil.ratedCOP, 0.01)
|
466
|
+
assert_in_epsilon(htg_capacity, htg_coil.ratedTotalHeatingCapacity.get, 0.01)
|
467
|
+
|
468
|
+
# Check supp heating coil
|
469
|
+
assert_equal(1, model.getCoilHeatingElectrics.size)
|
470
|
+
supp_htg_coil = model.getCoilHeatingElectrics[0]
|
471
|
+
assert_in_epsilon(backup_efficiency, supp_htg_coil.efficiency, 0.01)
|
472
|
+
assert_in_epsilon(supp_htg_capacity, supp_htg_coil.nominalCapacity.get, 0.01)
|
473
|
+
|
474
|
+
# Check EMS
|
475
|
+
assert_equal(1, model.getAirLoopHVACUnitarySystems.size)
|
476
|
+
unitary_system = model.getAirLoopHVACUnitarySystems[0]
|
477
|
+
program_values = get_ems_values(model.getEnergyManagementSystemPrograms, "#{unitary_system.name} IQ")
|
478
|
+
assert(program_values.empty?) # Check no EMS program
|
479
|
+
end
|
382
480
|
end
|
383
481
|
|
384
482
|
def test_air_to_air_heat_pump_1_speed_backup_lockout_temperature
|
@@ -597,7 +695,7 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
597
695
|
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
598
696
|
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
599
697
|
cop = 3.85 # Expected value
|
600
|
-
assert_in_epsilon(cop, clg_coil.ratedCOP
|
698
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.01)
|
601
699
|
refute_in_epsilon(capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01) # Uses autosized capacity
|
602
700
|
end
|
603
701
|
|
@@ -614,7 +712,7 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
614
712
|
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
615
713
|
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
616
714
|
cop = 3.45 # Expected value
|
617
|
-
assert_in_epsilon(cop, clg_coil.ratedCOP
|
715
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.01)
|
618
716
|
refute_in_epsilon(capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01) # Uses autosized capacity
|
619
717
|
end
|
620
718
|
|
@@ -631,7 +729,7 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
631
729
|
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
632
730
|
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
633
731
|
cop = 1.30 # Expected value
|
634
|
-
assert_in_epsilon(cop, clg_coil.ratedCOP
|
732
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.01)
|
635
733
|
refute_in_epsilon(capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01) # Uses autosized capacity
|
636
734
|
end
|
637
735
|
|
@@ -648,7 +746,7 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
648
746
|
assert_equal(1, model.getCoilCoolingDXSingleSpeeds.size)
|
649
747
|
clg_coil = model.getCoilCoolingDXSingleSpeeds[0]
|
650
748
|
cop = 3.68 # Expected value
|
651
|
-
assert_in_epsilon(cop, clg_coil.ratedCOP
|
749
|
+
assert_in_epsilon(cop, clg_coil.ratedCOP, 0.01)
|
652
750
|
refute_in_epsilon(capacity, clg_coil.ratedTotalCoolingCapacity.get, 0.01) # Uses autosized capacity
|
653
751
|
end
|
654
752
|
|
@@ -763,7 +861,6 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
763
861
|
|
764
862
|
# Get HPXML values
|
765
863
|
heat_pump = hpxml.heat_pumps[0]
|
766
|
-
airflow_defect = heat_pump.airflow_defect_ratio
|
767
864
|
charge_defect = heat_pump.charge_defect_ratio
|
768
865
|
fan_watts_cfm = heat_pump.fan_watts_per_cfm
|
769
866
|
|
@@ -825,7 +922,6 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
825
922
|
# Get HPXML values
|
826
923
|
cooling_system = hpxml.cooling_systems[0]
|
827
924
|
heating_system = hpxml.heating_systems[0]
|
828
|
-
airflow_defect_clg = cooling_system.airflow_defect_ratio
|
829
925
|
charge_defect = cooling_system.charge_defect_ratio
|
830
926
|
fan_watts_cfm = cooling_system.fan_watts_per_cfm
|
831
927
|
fan_watts_cfm2 = heating_system.fan_watts_per_cfm
|
@@ -883,7 +979,6 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
883
979
|
|
884
980
|
# Get HPXML values
|
885
981
|
heating_system = hpxml.heating_systems[0]
|
886
|
-
airflow_defect_htg = heating_system.airflow_defect_ratio
|
887
982
|
fan_watts_cfm = heating_system.fan_watts_per_cfm
|
888
983
|
|
889
984
|
assert_equal(1, model.getAirLoopHVACUnitarySystems.size)
|
@@ -901,7 +996,6 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
901
996
|
|
902
997
|
# Get HPXML values
|
903
998
|
heat_pump = hpxml.heat_pumps[0]
|
904
|
-
airflow_defect = heat_pump.airflow_defect_ratio
|
905
999
|
charge_defect = heat_pump.charge_defect_ratio
|
906
1000
|
fan_watts_cfm = heat_pump.fan_watts_per_cfm
|
907
1001
|
|
@@ -1019,7 +1113,7 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
1019
1113
|
model = OpenStudio::Model::Model.new
|
1020
1114
|
|
1021
1115
|
# get arguments
|
1022
|
-
args_hash['output_dir'] =
|
1116
|
+
args_hash['output_dir'] = File.dirname(__FILE__)
|
1023
1117
|
arguments = measure.arguments(model)
|
1024
1118
|
argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments)
|
1025
1119
|
|
@@ -1050,7 +1144,6 @@ class HPXMLtoOpenStudioHVACTest < MiniTest::Test
|
|
1050
1144
|
end
|
1051
1145
|
|
1052
1146
|
def _check_install_quality_multispeed_ratio(hpxml_clg_sys, model, hpxml_htg_sys = nil)
|
1053
|
-
airflow_defect = hpxml_clg_sys.airflow_defect_ratio
|
1054
1147
|
charge_defect = hpxml_clg_sys.charge_defect_ratio
|
1055
1148
|
fan_watts_cfm = hpxml_clg_sys.fan_watts_per_cfm
|
1056
1149
|
|
@@ -19,21 +19,22 @@ class HPXMLtoOpenStudioHVACSizingTest < MiniTest::Test
|
|
19
19
|
'base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology',
|
20
20
|
'base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology',
|
21
21
|
'base-hvac-autosize-pthp-sizing-methodology',
|
22
|
+
'base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology',
|
22
23
|
'base-hvac-autosize-dual-fuel-air-to-air-heat-pump-1-speed-sizing-methodology'].each do |hpxml_file|
|
23
24
|
# Run w/ ACCA sizing
|
24
25
|
args_hash = {}
|
25
26
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, "#{hpxml_file}-acca.xml"))
|
26
|
-
|
27
|
+
_model_acca, hpxml_acca = _test_measure(args_hash)
|
27
28
|
|
28
29
|
# Run w/ HERS sizing
|
29
30
|
args_hash = {}
|
30
31
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, "#{hpxml_file}-hers.xml"))
|
31
|
-
|
32
|
+
_model_hers, hpxml_hers = _test_measure(args_hash)
|
32
33
|
|
33
34
|
# Run w/ MaxLoad sizing
|
34
35
|
args_hash = {}
|
35
36
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, "#{hpxml_file}-maxload.xml"))
|
36
|
-
|
37
|
+
_model_maxload, hpxml_maxload = _test_measure(args_hash)
|
37
38
|
|
38
39
|
# Check that MaxLoad >= HERS > ACCA for heat pump heating capacity
|
39
40
|
hp_capacity_acca = hpxml_acca.heat_pumps[0].heating_capacity
|
@@ -44,6 +45,51 @@ class HPXMLtoOpenStudioHVACSizingTest < MiniTest::Test
|
|
44
45
|
end
|
45
46
|
end
|
46
47
|
|
48
|
+
def test_heat_pump_separate_backup_systems
|
49
|
+
# Run w/ ducted heat pump and ductless backup
|
50
|
+
args_hash = {}
|
51
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-autosize-air-to-air-heat-pump-var-speed-backup-boiler.xml'))
|
52
|
+
_model, hpxml = _test_measure(args_hash)
|
53
|
+
|
54
|
+
# Check that boiler capacity equals building heating design load w/o duct load.
|
55
|
+
htg_design_load_without_ducts = hpxml.hvac_plant.hdl_total - hpxml.hvac_plant.hdl_ducts
|
56
|
+
htg_capacity = hpxml.heating_systems[0].heating_capacity
|
57
|
+
assert_in_epsilon(htg_design_load_without_ducts, htg_capacity, 0.001) # 0.001 to handle rounding
|
58
|
+
|
59
|
+
# Run w/ ducted heat pump and ducted backup
|
60
|
+
args_hash = {}
|
61
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-autosize-air-to-air-heat-pump-var-speed-backup-furnace.xml'))
|
62
|
+
_model, hpxml = _test_measure(args_hash)
|
63
|
+
|
64
|
+
# Check that furnace capacity is between the building heating design load w/o duct load
|
65
|
+
# and the building heating design load w/ duct load. This is because the building duct
|
66
|
+
# load is the sum of the furnace duct load AND the heat pump duct load.
|
67
|
+
htg_design_load_with_ducts = hpxml.hvac_plant.hdl_total
|
68
|
+
htg_design_load_without_ducts = htg_design_load_with_ducts - hpxml.hvac_plant.hdl_ducts
|
69
|
+
htg_capacity = hpxml.heating_systems[0].heating_capacity
|
70
|
+
assert_operator(htg_capacity, :>, htg_design_load_without_ducts * 1.001) # 1.001 to handle rounding
|
71
|
+
assert_operator(htg_capacity, :<, htg_design_load_with_ducts * 0.999) # 0.999 to handle rounding
|
72
|
+
|
73
|
+
# Run w/ ductless heat pump and ductless backup
|
74
|
+
args_hash = {}
|
75
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-autosize-mini-split-heat-pump-ductless-backup-stove.xml'))
|
76
|
+
_model, hpxml = _test_measure(args_hash)
|
77
|
+
|
78
|
+
# Check that stove capacity equals building heating design load
|
79
|
+
htg_design_load = hpxml.hvac_plant.hdl_total
|
80
|
+
htg_capacity = hpxml.heating_systems[0].heating_capacity
|
81
|
+
assert_in_epsilon(htg_design_load, htg_capacity, 0.001) # 0.001 to handle rounding
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_heat_pump_integrated_backup_systems
|
85
|
+
# Check that HP backup heating capacity matches heating design load even when using MaxLoad in a hot climate (GitHub issue #1140)
|
86
|
+
args_hash = {}
|
87
|
+
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-hvac-autosize-air-to-air-heat-pump-1-speed-sizing-methodology-maxload-miami-fl.xml'))
|
88
|
+
_model, hpxml = _test_measure(args_hash)
|
89
|
+
|
90
|
+
assert_equal(hpxml.heat_pumps[0].backup_heating_capacity, hpxml.hvac_plant.hdl_total)
|
91
|
+
end
|
92
|
+
|
47
93
|
def test_slab_f_factor
|
48
94
|
def get_unins_slab()
|
49
95
|
slab = HPXML::Slab.new(nil)
|
@@ -58,28 +104,28 @@ class HPXMLtoOpenStudioHVACSizingTest < MiniTest::Test
|
|
58
104
|
|
59
105
|
# Uninsulated slab
|
60
106
|
slab = get_unins_slab()
|
61
|
-
f_factor = HVACSizing.calc_slab_f_value(slab)
|
107
|
+
f_factor = HVACSizing.calc_slab_f_value(slab, 1.0)
|
62
108
|
assert_in_epsilon(1.41, f_factor, 0.01)
|
63
109
|
|
64
110
|
# R-10, 4ft under slab insulation
|
65
111
|
slab = get_unins_slab()
|
66
112
|
slab.under_slab_insulation_width = 4
|
67
113
|
slab.under_slab_insulation_r_value = 10
|
68
|
-
f_factor = HVACSizing.calc_slab_f_value(slab)
|
114
|
+
f_factor = HVACSizing.calc_slab_f_value(slab, 1.0)
|
69
115
|
assert_in_epsilon(1.27, f_factor, 0.01)
|
70
116
|
|
71
117
|
# R-20, 4ft perimeter insulation
|
72
118
|
slab = get_unins_slab()
|
73
119
|
slab.perimeter_insulation_depth = 4
|
74
120
|
slab.perimeter_insulation_r_value = 20
|
75
|
-
f_factor = HVACSizing.calc_slab_f_value(slab)
|
121
|
+
f_factor = HVACSizing.calc_slab_f_value(slab, 1.0)
|
76
122
|
assert_in_epsilon(0.39, f_factor, 0.01)
|
77
123
|
|
78
124
|
# R-40, whole slab insulation
|
79
125
|
slab = get_unins_slab()
|
80
126
|
slab.under_slab_insulation_spans_entire_slab = true
|
81
127
|
slab.under_slab_insulation_r_value = 40
|
82
|
-
f_factor = HVACSizing.calc_slab_f_value(slab)
|
128
|
+
f_factor = HVACSizing.calc_slab_f_value(slab, 1.0)
|
83
129
|
assert_in_epsilon(1.04, f_factor, 0.01)
|
84
130
|
end
|
85
131
|
|
@@ -91,7 +137,7 @@ class HPXMLtoOpenStudioHVACSizingTest < MiniTest::Test
|
|
91
137
|
model = OpenStudio::Model::Model.new
|
92
138
|
|
93
139
|
# get arguments
|
94
|
-
args_hash['output_dir'] =
|
140
|
+
args_hash['output_dir'] = File.dirname(__FILE__)
|
95
141
|
arguments = measure.arguments(model)
|
96
142
|
argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments)
|
97
143
|
|
@@ -33,7 +33,7 @@ class HPXMLtoOpenStudioLightingTest < MiniTest::Test
|
|
33
33
|
def test_lighting
|
34
34
|
args_hash = {}
|
35
35
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base.xml'))
|
36
|
-
model,
|
36
|
+
model, _hpxml = _test_measure(args_hash)
|
37
37
|
|
38
38
|
# Check interior lighting
|
39
39
|
int_kwh_yr = get_kwh_per_year(model, Constants.ObjectNameInteriorLighting)
|
@@ -47,7 +47,7 @@ class HPXMLtoOpenStudioLightingTest < MiniTest::Test
|
|
47
47
|
def test_lighting_garage
|
48
48
|
args_hash = {}
|
49
49
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-enclosure-2stories-garage.xml'))
|
50
|
-
model,
|
50
|
+
model, _hpxml = _test_measure(args_hash)
|
51
51
|
|
52
52
|
# Check interior lighting
|
53
53
|
int_kwh_yr = get_kwh_per_year(model, Constants.ObjectNameInteriorLighting)
|
@@ -88,7 +88,7 @@ class HPXMLtoOpenStudioLightingTest < MiniTest::Test
|
|
88
88
|
model = OpenStudio::Model::Model.new
|
89
89
|
|
90
90
|
# get arguments
|
91
|
-
args_hash['output_dir'] =
|
91
|
+
args_hash['output_dir'] = File.dirname(__FILE__)
|
92
92
|
arguments = measure.arguments(model)
|
93
93
|
argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments)
|
94
94
|
|
@@ -26,7 +26,7 @@ class HPXMLtoOpenStudioLocationTest < MiniTest::Test
|
|
26
26
|
def test_dst_default
|
27
27
|
args_hash = {}
|
28
28
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base.xml'))
|
29
|
-
model,
|
29
|
+
model, _hpxml = _test_measure(args_hash)
|
30
30
|
|
31
31
|
assert_equal(1, model.getObjectsByType('OS:RunPeriodControl:DaylightSavingTime'.to_IddObjectType).size)
|
32
32
|
begin_month, begin_day, end_month, end_day = get_daylight_saving_month_and_days(model)
|
@@ -39,7 +39,7 @@ class HPXMLtoOpenStudioLocationTest < MiniTest::Test
|
|
39
39
|
def test_dst_custom
|
40
40
|
args_hash = {}
|
41
41
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-simcontrol-daylight-saving-custom.xml'))
|
42
|
-
model,
|
42
|
+
model, _hpxml = _test_measure(args_hash)
|
43
43
|
|
44
44
|
assert_equal(1, model.getObjectsByType('OS:RunPeriodControl:DaylightSavingTime'.to_IddObjectType).size)
|
45
45
|
begin_month, begin_day, end_month, end_day = get_daylight_saving_month_and_days(model)
|
@@ -52,7 +52,7 @@ class HPXMLtoOpenStudioLocationTest < MiniTest::Test
|
|
52
52
|
def test_dst_disabled
|
53
53
|
args_hash = {}
|
54
54
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-simcontrol-daylight-saving-disabled.xml'))
|
55
|
-
model,
|
55
|
+
model, _hpxml = _test_measure(args_hash)
|
56
56
|
|
57
57
|
assert_equal(0, model.getObjectsByType('OS:RunPeriodControl:DaylightSavingTime'.to_IddObjectType).size)
|
58
58
|
end
|
@@ -65,7 +65,7 @@ class HPXMLtoOpenStudioLocationTest < MiniTest::Test
|
|
65
65
|
model = OpenStudio::Model::Model.new
|
66
66
|
|
67
67
|
# get arguments
|
68
|
-
args_hash['output_dir'] =
|
68
|
+
args_hash['output_dir'] = File.dirname(__FILE__)
|
69
69
|
arguments = measure.arguments(model)
|
70
70
|
argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments)
|
71
71
|
|
@@ -39,7 +39,7 @@ class HPXMLtoOpenStudioMiscLoadsTest < MiniTest::Test
|
|
39
39
|
def test_misc_loads
|
40
40
|
args_hash = {}
|
41
41
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base.xml'))
|
42
|
-
model,
|
42
|
+
model, _hpxml = _test_measure(args_hash)
|
43
43
|
|
44
44
|
# Check misc plug loads
|
45
45
|
kwh_yr, therm_yr = get_kwh_therm_per_year(model, Constants.ObjectNameMiscPlugLoads)
|
@@ -71,7 +71,7 @@ class HPXMLtoOpenStudioMiscLoadsTest < MiniTest::Test
|
|
71
71
|
def test_large_uncommon_loads
|
72
72
|
args_hash = {}
|
73
73
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-misc-loads-large-uncommon.xml'))
|
74
|
-
model,
|
74
|
+
model, _hpxml = _test_measure(args_hash)
|
75
75
|
|
76
76
|
# Check misc plug loads
|
77
77
|
kwh_yr, therm_yr = get_kwh_therm_per_year(model, Constants.ObjectNameMiscPlugLoads)
|
@@ -132,7 +132,7 @@ class HPXMLtoOpenStudioMiscLoadsTest < MiniTest::Test
|
|
132
132
|
def test_large_uncommon_loads2
|
133
133
|
args_hash = {}
|
134
134
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-misc-loads-large-uncommon2.xml'))
|
135
|
-
model,
|
135
|
+
model, _hpxml = _test_measure(args_hash)
|
136
136
|
|
137
137
|
# Check misc plug loads
|
138
138
|
kwh_yr, therm_yr = get_kwh_therm_per_year(model, Constants.ObjectNameMiscPlugLoads)
|
@@ -193,7 +193,7 @@ class HPXMLtoOpenStudioMiscLoadsTest < MiniTest::Test
|
|
193
193
|
def test_operational_defaults
|
194
194
|
args_hash = {}
|
195
195
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-calctype-operational-misc-defaults.xml'))
|
196
|
-
model,
|
196
|
+
model, _hpxml = _test_measure(args_hash)
|
197
197
|
|
198
198
|
# Check misc plug loads
|
199
199
|
kwh_yr, therm_yr = get_kwh_therm_per_year(model, Constants.ObjectNameMiscPlugLoads)
|
@@ -254,7 +254,7 @@ class HPXMLtoOpenStudioMiscLoadsTest < MiniTest::Test
|
|
254
254
|
def test_operational_large_uncommon_loads
|
255
255
|
args_hash = {}
|
256
256
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-calctype-operational-misc-loads-large-uncommon.xml'))
|
257
|
-
model,
|
257
|
+
model, _hpxml = _test_measure(args_hash)
|
258
258
|
|
259
259
|
# Check misc plug loads
|
260
260
|
kwh_yr, therm_yr = get_kwh_therm_per_year(model, Constants.ObjectNameMiscPlugLoads)
|
@@ -315,7 +315,7 @@ class HPXMLtoOpenStudioMiscLoadsTest < MiniTest::Test
|
|
315
315
|
def test_operational_large_uncommon_loads2
|
316
316
|
args_hash = {}
|
317
317
|
args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-calctype-operational-misc-loads-large-uncommon2.xml'))
|
318
|
-
model,
|
318
|
+
model, _hpxml = _test_measure(args_hash)
|
319
319
|
|
320
320
|
# Check misc plug loads
|
321
321
|
kwh_yr, therm_yr = get_kwh_therm_per_year(model, Constants.ObjectNameMiscPlugLoads)
|
@@ -381,7 +381,7 @@ class HPXMLtoOpenStudioMiscLoadsTest < MiniTest::Test
|
|
381
381
|
model = OpenStudio::Model::Model.new
|
382
382
|
|
383
383
|
# get arguments
|
384
|
-
args_hash['output_dir'] =
|
384
|
+
args_hash['output_dir'] = File.dirname(__FILE__)
|
385
385
|
arguments = measure.arguments(model)
|
386
386
|
argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments)
|
387
387
|
|
@@ -77,7 +77,7 @@ class HPXMLtoOpenStudioPVTest < MiniTest::Test
|
|
77
77
|
model = OpenStudio::Model::Model.new
|
78
78
|
|
79
79
|
# get arguments
|
80
|
-
args_hash['output_dir'] =
|
80
|
+
args_hash['output_dir'] = File.dirname(__FILE__)
|
81
81
|
arguments = measure.arguments(model)
|
82
82
|
argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments)
|
83
83
|
|