urbanopt-cli 0.8.3 → 0.9.1
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 +20 -0
- data/CMakeLists.txt +7 -7
- data/Gemfile +3 -1
- data/LICENSE.md +1 -1
- data/README.md +9 -0
- data/Rakefile +1 -1
- 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 +11 -8
- data/example_files/mappers/ChilledWaterStorage.rb +98 -0
- data/example_files/mappers/ClassProject.rb +110 -0
- data/example_files/mappers/CreateBar.rb +2 -1
- data/example_files/mappers/EvCharging.rb +1 -1
- data/example_files/mappers/FlexibleHotWater.rb +1 -1
- data/example_files/mappers/Floorspace.rb +1 -1
- data/example_files/mappers/HighEfficiency.rb +14 -12
- data/example_files/mappers/HighEfficiencyCreateBar.rb +1 -1
- data/example_files/mappers/HighEfficiencyFloorspace.rb +1 -1
- data/example_files/mappers/PeakHoursMelsShedding.rb +72 -0
- data/example_files/mappers/PeakHoursThermostatAdjust.rb +78 -0
- data/example_files/mappers/ThermalStorage.rb +2 -1
- 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 +37 -27
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.xml +42 -15
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/resources/schedules.rb +70 -51
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/tests/build_residential_schedule_file_test.rb +142 -21
- data/example_files/resources/hpxml-measures/Changelog.md +95 -19
- 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 +220 -214
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/airflow.rb +215 -170
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/battery.rb +115 -18
- 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 +305 -176
- 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 +90 -128
- 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 +471 -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 +587 -284
- 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 +4 -3
- data/example_files/resources/hpxml-measures/docs/source/workflow_inputs.rst +468 -264
- data/example_files/resources/hpxml-measures/docs/source/workflow_outputs.rst +148 -154
- 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-subset.osw +64 -0
- 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 +163 -392
- 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 +2 -2
- data/lib/uo_cli.rb +597 -97
- data/uo_cli.gemspec +6 -5
- metadata +122 -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
@@ -33,7 +33,6 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
33
33
|
model, hpxml, result = _test_measure()
|
34
34
|
|
35
35
|
info_msgs = result.info.map { |x| x.logMessage }
|
36
|
-
warn_msgs = result.warnings.map { |x| x.logMessage }
|
37
36
|
assert(info_msgs.any? { |info_msg| info_msg.include?('smooth schedule') })
|
38
37
|
assert(info_msgs.any? { |info_msg| info_msg.include?('SimYear=2007') })
|
39
38
|
assert(info_msgs.any? { |info_msg| info_msg.include?('MinutesPerStep=60') })
|
@@ -42,7 +41,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
42
41
|
assert(info_msgs.any? { |info_msg| info_msg.include?('GeometryNumOccupants=3.0') })
|
43
42
|
assert(!info_msgs.any? { |info_msg| info_msg.include?('VacancyPeriod') })
|
44
43
|
|
45
|
-
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths
|
44
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
46
45
|
sf.validate_schedules(year: 2007)
|
47
46
|
|
48
47
|
assert_in_epsilon(6020, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnOccupants, schedules: sf.tmp_schedules), 0.1)
|
@@ -72,6 +71,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
72
71
|
assert_in_epsilon(2994, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterDishwasher, schedules: sf.tmp_schedules), 0.1)
|
73
72
|
assert_in_epsilon(4158, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
74
73
|
assert_in_epsilon(4204, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterFixtures, schedules: sf.tmp_schedules), 0.1)
|
74
|
+
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnSleeping))
|
75
75
|
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnVacancy))
|
76
76
|
end
|
77
77
|
|
@@ -84,7 +84,6 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
84
84
|
model, hpxml, result = _test_measure()
|
85
85
|
|
86
86
|
info_msgs = result.info.map { |x| x.logMessage }
|
87
|
-
warn_msgs = result.warnings.map { |x| x.logMessage }
|
88
87
|
assert(info_msgs.any? { |info_msg| info_msg.include?('smooth schedule') })
|
89
88
|
assert(info_msgs.any? { |info_msg| info_msg.include?('SimYear=2007') })
|
90
89
|
assert(info_msgs.any? { |info_msg| info_msg.include?('MinutesPerStep=60') })
|
@@ -93,7 +92,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
93
92
|
assert(info_msgs.any? { |info_msg| info_msg.include?('GeometryNumOccupants=3.0') })
|
94
93
|
assert(info_msgs.any? { |info_msg| info_msg.include?('VacancyPeriod=Dec 1 - Jan 31') })
|
95
94
|
|
96
|
-
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths
|
95
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
97
96
|
sf.validate_schedules(year: 2007)
|
98
97
|
|
99
98
|
vacancy_hrs = 31.0 * 2.0 * 24.0
|
@@ -126,6 +125,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
126
125
|
assert_in_epsilon(2994 * occupied_ratio, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterDishwasher, schedules: sf.tmp_schedules), 0.1)
|
127
126
|
assert_in_epsilon(4158 * occupied_ratio, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
128
127
|
assert_in_epsilon(4204 * occupied_ratio, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterFixtures, schedules: sf.tmp_schedules), 0.1)
|
128
|
+
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnSleeping))
|
129
129
|
assert_in_epsilon(vacancy_hrs, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnVacancy, schedules: sf.tmp_schedules), 0.1)
|
130
130
|
end
|
131
131
|
|
@@ -138,7 +138,6 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
138
138
|
model, hpxml, result = _test_measure()
|
139
139
|
|
140
140
|
info_msgs = result.info.map { |x| x.logMessage }
|
141
|
-
warn_msgs = result.warnings.map { |x| x.logMessage }
|
142
141
|
assert(info_msgs.any? { |info_msg| info_msg.include?('stochastic schedule') })
|
143
142
|
assert(info_msgs.any? { |info_msg| info_msg.include?('SimYear=2007') })
|
144
143
|
assert(info_msgs.any? { |info_msg| info_msg.include?('MinutesPerStep=60') })
|
@@ -147,7 +146,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
147
146
|
assert(info_msgs.any? { |info_msg| info_msg.include?('GeometryNumOccupants=3.0') })
|
148
147
|
assert(!info_msgs.any? { |info_msg| info_msg.include?('VacancyPeriod') })
|
149
148
|
|
150
|
-
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths
|
149
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
151
150
|
sf.validate_schedules(year: 2007)
|
152
151
|
|
153
152
|
assert_in_epsilon(6689, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnOccupants, schedules: sf.tmp_schedules), 0.1)
|
@@ -177,9 +176,55 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
177
176
|
assert_in_epsilon(298, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterDishwasher, schedules: sf.tmp_schedules), 0.1)
|
178
177
|
assert_in_epsilon(325, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
179
178
|
assert_in_epsilon(887, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterFixtures, schedules: sf.tmp_schedules), 0.1)
|
179
|
+
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnSleeping))
|
180
180
|
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnVacancy))
|
181
181
|
end
|
182
182
|
|
183
|
+
def test_stochastic_subset_of_columns
|
184
|
+
hpxml = _create_hpxml('base.xml')
|
185
|
+
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
|
186
|
+
|
187
|
+
columns = [SchedulesFile::ColumnCookingRange,
|
188
|
+
SchedulesFile::ColumnDishwasher,
|
189
|
+
SchedulesFile::ColumnHotWaterDishwasher,
|
190
|
+
SchedulesFile::ColumnClothesWasher,
|
191
|
+
SchedulesFile::ColumnHotWaterClothesWasher,
|
192
|
+
SchedulesFile::ColumnClothesDryer,
|
193
|
+
SchedulesFile::ColumnHotWaterFixtures]
|
194
|
+
|
195
|
+
@args_hash['schedules_type'] = 'stochastic'
|
196
|
+
@args_hash['output_csv_path'] = File.absolute_path(File.join(@tmp_output_path, 'occupancy-stochastic.csv'))
|
197
|
+
@args_hash['schedules_column_names'] = columns.join(', ')
|
198
|
+
model, hpxml, result = _test_measure()
|
199
|
+
|
200
|
+
info_msgs = result.info.map { |x| x.logMessage }
|
201
|
+
assert(info_msgs.any? { |info_msg| info_msg.include?('ColumnNames') })
|
202
|
+
|
203
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
204
|
+
sf.validate_schedules(year: 2007)
|
205
|
+
|
206
|
+
columns.each do |column|
|
207
|
+
assert(sf.schedules.keys.include?(column))
|
208
|
+
end
|
209
|
+
(SchedulesFile.ColumnNames - columns).each do |column|
|
210
|
+
assert(!sf.schedules.keys.include?(column))
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
214
|
+
def test_stochastic_subset_of_columns_invalid_name
|
215
|
+
hpxml = _create_hpxml('base.xml')
|
216
|
+
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
|
217
|
+
|
218
|
+
@args_hash['schedules_type'] = 'stochastic'
|
219
|
+
@args_hash['output_csv_path'] = File.absolute_path(File.join(@tmp_output_path, 'occupancy-stochastic.csv'))
|
220
|
+
@args_hash['schedules_column_names'] = "foobar, #{SchedulesFile::ColumnCookingRange}, foobar2"
|
221
|
+
_model, _hpxml, result = _test_measure(expect_fail: true)
|
222
|
+
|
223
|
+
error_msgs = result.errors.map { |x| x.logMessage }
|
224
|
+
assert(error_msgs.any? { |error_msg| error_msg.include?("Invalid column name specified: 'foobar'.") })
|
225
|
+
assert(error_msgs.any? { |error_msg| error_msg.include?("Invalid column name specified: 'foobar2'.") })
|
226
|
+
end
|
227
|
+
|
183
228
|
def test_stochastic_vacancy
|
184
229
|
hpxml = _create_hpxml('base.xml')
|
185
230
|
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
|
@@ -190,7 +235,6 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
190
235
|
model, hpxml, result = _test_measure()
|
191
236
|
|
192
237
|
info_msgs = result.info.map { |x| x.logMessage }
|
193
|
-
warn_msgs = result.warnings.map { |x| x.logMessage }
|
194
238
|
assert(info_msgs.any? { |info_msg| info_msg.include?('stochastic schedule') })
|
195
239
|
assert(info_msgs.any? { |info_msg| info_msg.include?('SimYear=2007') })
|
196
240
|
assert(info_msgs.any? { |info_msg| info_msg.include?('MinutesPerStep=60') })
|
@@ -199,7 +243,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
199
243
|
assert(info_msgs.any? { |info_msg| info_msg.include?('GeometryNumOccupants=3.0') })
|
200
244
|
assert(info_msgs.any? { |info_msg| info_msg.include?('VacancyPeriod=Dec 1 - Jan 31') })
|
201
245
|
|
202
|
-
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths
|
246
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
203
247
|
sf.validate_schedules(year: 2007)
|
204
248
|
|
205
249
|
vacancy_hrs = 31.0 * 2.0 * 24.0
|
@@ -232,9 +276,62 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
232
276
|
assert_in_epsilon(298 * occupied_ratio, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterDishwasher, schedules: sf.tmp_schedules), 0.1)
|
233
277
|
assert_in_epsilon(325 * occupied_ratio, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
234
278
|
assert_in_epsilon(887 * occupied_ratio, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterFixtures, schedules: sf.tmp_schedules), 0.1)
|
279
|
+
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnSleeping))
|
235
280
|
assert_in_epsilon(vacancy_hrs, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnVacancy, schedules: sf.tmp_schedules), 0.1)
|
236
281
|
end
|
237
282
|
|
283
|
+
def test_stochastic_debug
|
284
|
+
hpxml = _create_hpxml('base.xml')
|
285
|
+
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
|
286
|
+
|
287
|
+
@args_hash['schedules_type'] = 'stochastic'
|
288
|
+
@args_hash['output_csv_path'] = File.absolute_path(File.join(@tmp_output_path, 'occupancy-stochastic.csv'))
|
289
|
+
@args_hash['debug'] = true
|
290
|
+
model, hpxml, result = _test_measure()
|
291
|
+
|
292
|
+
info_msgs = result.info.map { |x| x.logMessage }
|
293
|
+
assert(info_msgs.any? { |info_msg| info_msg.include?('stochastic schedule') })
|
294
|
+
assert(info_msgs.any? { |info_msg| info_msg.include?('SimYear=2007') })
|
295
|
+
assert(info_msgs.any? { |info_msg| info_msg.include?('MinutesPerStep=60') })
|
296
|
+
assert(info_msgs.any? { |info_msg| info_msg.include?('State=CO') })
|
297
|
+
assert(!info_msgs.any? { |info_msg| info_msg.include?('RandomSeed') })
|
298
|
+
assert(info_msgs.any? { |info_msg| info_msg.include?('GeometryNumOccupants=3.0') })
|
299
|
+
assert(!info_msgs.any? { |info_msg| info_msg.include?('VacancyPeriod') })
|
300
|
+
|
301
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
302
|
+
sf.validate_schedules(year: 2007)
|
303
|
+
|
304
|
+
assert_in_epsilon(6689, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnOccupants, schedules: sf.tmp_schedules), 0.1)
|
305
|
+
assert_in_epsilon(2086, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnLightingInterior, schedules: sf.tmp_schedules), 0.1)
|
306
|
+
assert_in_epsilon(4090, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnLightingExterior, schedules: sf.tmp_schedules), 0.1)
|
307
|
+
assert_in_epsilon(4090, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnLightingGarage, schedules: sf.tmp_schedules), 0.1)
|
308
|
+
assert_in_epsilon(150, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnLightingExteriorHoliday, schedules: sf.tmp_schedules), 0.1)
|
309
|
+
assert_in_epsilon(534, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnCookingRange, schedules: sf.tmp_schedules), 0.1)
|
310
|
+
assert_in_epsilon(6673, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnRefrigerator, schedules: sf.tmp_schedules), 0.1)
|
311
|
+
assert_in_epsilon(6673, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnExtraRefrigerator, schedules: sf.tmp_schedules), 0.1)
|
312
|
+
assert_in_epsilon(6673, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnFreezer, schedules: sf.tmp_schedules), 0.1)
|
313
|
+
assert_in_epsilon(213, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnDishwasher, schedules: sf.tmp_schedules), 0.1)
|
314
|
+
assert_in_epsilon(134, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
315
|
+
assert_in_epsilon(151, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnClothesDryer, schedules: sf.tmp_schedules), 0.1)
|
316
|
+
assert_in_epsilon(3250, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnCeilingFan, schedules: sf.tmp_schedules), 0.1)
|
317
|
+
assert_in_epsilon(4840, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnPlugLoadsOther, schedules: sf.tmp_schedules), 0.1)
|
318
|
+
assert_in_epsilon(2288, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnPlugLoadsTV, schedules: sf.tmp_schedules), 0.1)
|
319
|
+
assert_in_epsilon(8760, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnPlugLoadsVehicle, schedules: sf.tmp_schedules), 0.1)
|
320
|
+
assert_in_epsilon(3671, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnPlugLoadsWellPump, schedules: sf.tmp_schedules), 0.1)
|
321
|
+
assert_in_epsilon(2074, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnFuelLoadsGrill, schedules: sf.tmp_schedules), 0.1)
|
322
|
+
assert_in_epsilon(3671, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnFuelLoadsLighting, schedules: sf.tmp_schedules), 0.1)
|
323
|
+
assert_in_epsilon(3671, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnFuelLoadsFireplace, schedules: sf.tmp_schedules), 0.1)
|
324
|
+
assert_in_epsilon(2471, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnPoolPump, schedules: sf.tmp_schedules), 0.1)
|
325
|
+
assert_in_epsilon(2471, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnPoolHeater, schedules: sf.tmp_schedules), 0.1)
|
326
|
+
assert_in_epsilon(2502, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotTubPump, schedules: sf.tmp_schedules), 0.1)
|
327
|
+
assert_in_epsilon(2650, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotTubHeater, schedules: sf.tmp_schedules), 0.1)
|
328
|
+
assert_in_epsilon(298, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterDishwasher, schedules: sf.tmp_schedules), 0.1)
|
329
|
+
assert_in_epsilon(325, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
330
|
+
assert_in_epsilon(887, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterFixtures, schedules: sf.tmp_schedules), 0.1)
|
331
|
+
assert_in_epsilon(3067, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnSleeping, schedules: sf.tmp_schedules), 0.1)
|
332
|
+
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnVacancy))
|
333
|
+
end
|
334
|
+
|
238
335
|
def test_random_seed
|
239
336
|
hpxml = _create_hpxml('base-location-baltimore-md.xml')
|
240
337
|
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
|
@@ -245,7 +342,6 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
245
342
|
model, hpxml, result = _test_measure()
|
246
343
|
|
247
344
|
info_msgs = result.info.map { |x| x.logMessage }
|
248
|
-
warn_msgs = result.warnings.map { |x| x.logMessage }
|
249
345
|
assert(info_msgs.any? { |info_msg| info_msg.include?('stochastic schedule') })
|
250
346
|
assert(info_msgs.any? { |info_msg| info_msg.include?('SimYear=2007') })
|
251
347
|
assert(info_msgs.any? { |info_msg| info_msg.include?('MinutesPerStep=60') })
|
@@ -254,7 +350,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
254
350
|
assert(info_msgs.any? { |info_msg| info_msg.include?('GeometryNumOccupants=3.0') })
|
255
351
|
assert(!info_msgs.any? { |info_msg| info_msg.include?('VacancyPeriod') })
|
256
352
|
|
257
|
-
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths
|
353
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
258
354
|
sf.validate_schedules(year: 2007)
|
259
355
|
|
260
356
|
assert_in_epsilon(6689, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnOccupants, schedules: sf.tmp_schedules), 0.1)
|
@@ -284,13 +380,13 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
284
380
|
assert_in_epsilon(298, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterDishwasher, schedules: sf.tmp_schedules), 0.1)
|
285
381
|
assert_in_epsilon(325, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
286
382
|
assert_in_epsilon(898, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterFixtures, schedules: sf.tmp_schedules), 0.1)
|
383
|
+
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnSleeping))
|
287
384
|
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnVacancy))
|
288
385
|
|
289
386
|
@args_hash['schedules_random_seed'] = 2
|
290
387
|
model, hpxml, result = _test_measure()
|
291
388
|
|
292
389
|
info_msgs = result.info.map { |x| x.logMessage }
|
293
|
-
warn_msgs = result.warnings.map { |x| x.logMessage }
|
294
390
|
assert(info_msgs.any? { |info_msg| info_msg.include?('stochastic schedule') })
|
295
391
|
assert(info_msgs.any? { |info_msg| info_msg.include?('SimYear=2007') })
|
296
392
|
assert(info_msgs.any? { |info_msg| info_msg.include?('MinutesPerStep=60') })
|
@@ -299,7 +395,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
299
395
|
assert(info_msgs.any? { |info_msg| info_msg.include?('GeometryNumOccupants=3.0') })
|
300
396
|
assert(!info_msgs.any? { |info_msg| info_msg.include?('VacancyPeriod') })
|
301
397
|
|
302
|
-
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths
|
398
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
303
399
|
sf.validate_schedules(year: 2007)
|
304
400
|
|
305
401
|
assert_in_epsilon(6072, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnOccupants, schedules: sf.tmp_schedules), 0.1)
|
@@ -329,6 +425,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
329
425
|
assert_in_epsilon(226, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterDishwasher, schedules: sf.tmp_schedules), 0.1)
|
330
426
|
assert_in_epsilon(244, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
331
427
|
assert_in_epsilon(1077, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterFixtures, schedules: sf.tmp_schedules), 0.1)
|
428
|
+
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnSleeping))
|
332
429
|
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnVacancy))
|
333
430
|
end
|
334
431
|
|
@@ -341,7 +438,6 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
341
438
|
model, hpxml, result = _test_measure()
|
342
439
|
|
343
440
|
info_msgs = result.info.map { |x| x.logMessage }
|
344
|
-
warn_msgs = result.warnings.map { |x| x.logMessage }
|
345
441
|
assert(info_msgs.any? { |info_msg| info_msg.include?('smooth schedule') })
|
346
442
|
assert(info_msgs.any? { |info_msg| info_msg.include?('SimYear=2012') })
|
347
443
|
assert(info_msgs.any? { |info_msg| info_msg.include?('MinutesPerStep=60') })
|
@@ -350,7 +446,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
350
446
|
assert(info_msgs.any? { |info_msg| info_msg.include?('GeometryNumOccupants=3.0') })
|
351
447
|
assert(info_msgs.any? { |info_msg| info_msg.include?('VacancyPeriod=Jan 1 - Dec 31') })
|
352
448
|
|
353
|
-
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths
|
449
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
354
450
|
sf.validate_schedules(year: 2012)
|
355
451
|
|
356
452
|
vacancy_hrs = 366.0 * 24.0
|
@@ -382,6 +478,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
382
478
|
assert_in_epsilon(0, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterDishwasher, schedules: sf.tmp_schedules), 0.1)
|
383
479
|
assert_in_epsilon(0, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
384
480
|
assert_in_epsilon(0, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterFixtures, schedules: sf.tmp_schedules), 0.1)
|
481
|
+
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnSleeping))
|
385
482
|
assert_in_epsilon(vacancy_hrs, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnVacancy, schedules: sf.tmp_schedules), 0.1)
|
386
483
|
end
|
387
484
|
|
@@ -393,7 +490,6 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
393
490
|
model, hpxml, result = _test_measure()
|
394
491
|
|
395
492
|
info_msgs = result.info.map { |x| x.logMessage }
|
396
|
-
warn_msgs = result.warnings.map { |x| x.logMessage }
|
397
493
|
assert(info_msgs.any? { |info_msg| info_msg.include?('smooth schedule') })
|
398
494
|
assert(info_msgs.any? { |info_msg| info_msg.include?('SimYear=2007') })
|
399
495
|
assert(info_msgs.any? { |info_msg| info_msg.include?('MinutesPerStep=10') })
|
@@ -402,7 +498,7 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
402
498
|
assert(info_msgs.any? { |info_msg| info_msg.include?('GeometryNumOccupants=3.0') })
|
403
499
|
assert(!info_msgs.any? { |info_msg| info_msg.include?('VacancyPeriod') })
|
404
500
|
|
405
|
-
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths
|
501
|
+
sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
|
406
502
|
sf.validate_schedules(year: 2007)
|
407
503
|
|
408
504
|
assert_in_epsilon(6020, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnOccupants, schedules: sf.tmp_schedules), 0.1)
|
@@ -432,10 +528,32 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
432
528
|
assert_in_epsilon(2994, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterDishwasher, schedules: sf.tmp_schedules), 0.1)
|
433
529
|
assert_in_epsilon(4158, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterClothesWasher, schedules: sf.tmp_schedules), 0.1)
|
434
530
|
assert_in_epsilon(4204, sf.annual_equivalent_full_load_hrs(col_name: SchedulesFile::ColumnHotWaterFixtures, schedules: sf.tmp_schedules), 0.1)
|
531
|
+
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnSleeping))
|
435
532
|
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnVacancy))
|
436
533
|
end
|
437
534
|
|
438
|
-
def
|
535
|
+
def test_non_integer_number_of_occupants
|
536
|
+
['smooth', 'stochastic'].each do |schedule_mode|
|
537
|
+
num_occupants = 3.2
|
538
|
+
|
539
|
+
hpxml = _create_hpxml('base.xml')
|
540
|
+
hpxml.building_occupancy.number_of_residents = num_occupants
|
541
|
+
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
|
542
|
+
|
543
|
+
@args_hash['schedules_type'] = schedule_mode
|
544
|
+
@args_hash['output_csv_path'] = File.absolute_path(File.join(@tmp_output_path, "occupancy-#{schedule_mode}.csv"))
|
545
|
+
_model, _hpxml, result = _test_measure()
|
546
|
+
|
547
|
+
info_msgs = result.info.map { |x| x.logMessage }
|
548
|
+
if schedule_mode == 'smooth'
|
549
|
+
assert(info_msgs.any? { |info_msg| info_msg.include?("GeometryNumOccupants=#{num_occupants}") })
|
550
|
+
else
|
551
|
+
assert(info_msgs.any? { |info_msg| info_msg.include?("GeometryNumOccupants=#{Float(Integer(num_occupants))}") })
|
552
|
+
end
|
553
|
+
end
|
554
|
+
end
|
555
|
+
|
556
|
+
def _test_measure(expect_fail: false)
|
439
557
|
# create an instance of the measure
|
440
558
|
measure = BuildResidentialScheduleFile.new
|
441
559
|
|
@@ -459,11 +577,14 @@ class BuildResidentialScheduleFileTest < Minitest::Test
|
|
459
577
|
measure.run(model, runner, argument_map)
|
460
578
|
result = runner.result
|
461
579
|
|
462
|
-
# show the output
|
463
|
-
show_output(result) unless result.value.valueName == 'Success'
|
464
|
-
|
465
580
|
# assert that it ran correctly
|
466
|
-
|
581
|
+
if expect_fail
|
582
|
+
show_output(result) unless result.value.valueName == 'Fail'
|
583
|
+
assert_equal('Fail', result.value.valueName)
|
584
|
+
else
|
585
|
+
show_output(result) unless result.value.valueName == 'Success'
|
586
|
+
assert_equal('Success', result.value.valueName)
|
587
|
+
end
|
467
588
|
|
468
589
|
hpxml = HPXML.new(hpxml_path: @tmp_hpxml_path)
|
469
590
|
|
@@ -1,3 +1,79 @@
|
|
1
|
+
## OpenStudio-HPXML v1.5.1
|
2
|
+
|
3
|
+
__New Features__
|
4
|
+
- When `Battery/Location` not provided, now defaults to garage if present, otherwise outside.
|
5
|
+
- BuildResidentialScheduleFile measure:
|
6
|
+
- Allows requesting a subset of end uses (columns) to be generated.
|
7
|
+
|
8
|
+
__Bugfixes__
|
9
|
+
- Fixes total/net electricity timeseries outputs to include battery charging/discharging energy.
|
10
|
+
- Fixes error when a non-electric water heater has jacket insulation and the UEF metric is used.
|
11
|
+
|
12
|
+
## OpenStudio-HPXML v1.5.0
|
13
|
+
|
14
|
+
__New Features__
|
15
|
+
- Updates to OpenStudio 3.5.0/EnergyPlus 22.2.
|
16
|
+
- Updates to newer proposed HPXML v4.0:
|
17
|
+
- **Breaking change**: Replaces `FrameFloors/FrameFloor` with `Floors/Floor`.
|
18
|
+
- **Breaking change**: `Floor/FloorType` (WoodFrame, StructuralInsulatedPanel, SteelFrame, or SolidConcrete) is a required input.
|
19
|
+
- **Breaking change**: All `Ducts` must now have a `SystemIdentifier`.
|
20
|
+
- **Breaking change**: Replaces `WallType/StructurallyInsulatedPanel` with `WallType/StructuralInsulatedPanel`.
|
21
|
+
- **Breaking change**: Replaces `SoftwareInfo/extension/SimulationControl/DaylightSaving/Enabled` with `Building/Site/TimeZone/DSTObserved`.
|
22
|
+
- **Breaking change**: Replaces `StandbyLoss` with `StandbyLoss[Units="F/hr"]/Value` for an indirect water heater.
|
23
|
+
- **Breaking change**: Replaces `BranchPipingLoopLength` with `BranchPipingLength` for a hot water recirculation system.
|
24
|
+
- **Breaking change**: Replaces `Floor/extension/OtherSpaceAboveOrBelow` with `Floor/FloorOrCeiling`.
|
25
|
+
- **Breaking change**: For PTAC with heating, replaces `HeatingSystem` of type PackagedTerminalAirConditionerHeating with `CoolingSystem/IntegratedHeating*` elements.
|
26
|
+
- **Breaking change**: Now performs full HPXML XSD schema validation (previously just limited checks); yields runtime speed improvements.
|
27
|
+
- **Breaking change**: HVAC/DHW equipment efficiencies can no longer be defaulted (e.g., based on age of equipment); they are now required.
|
28
|
+
- **Breaking change**: Deprecates ReportHPXMLOutput measure; HVAC autosized capacities & design loads moved to `results_annual.csv`.
|
29
|
+
- **Breaking change**: BuildResidentialHPXML measure: Replaces arguments using 'auto' for defaults with optional arguments of the appropriate data type.
|
30
|
+
- Utility bill calculations:
|
31
|
+
- **Breaking change**: Removes utility rate and PV related arguments from the ReportUtilityBills measure in lieu of HPXML file inputs.
|
32
|
+
- Allows calculating one or more utility bill scenarios (e.g., net metering vs feed-in tariff compensation types for a simulation with PV).
|
33
|
+
- Adds detailed calculations for tiered, time-of-use, or real-time pricing electric rates using OpenEI tariff files.
|
34
|
+
- Lithium ion battery:
|
35
|
+
- Allows detailed charging/discharging schedules via CSV files.
|
36
|
+
- Allows setting round trip efficiency.
|
37
|
+
- **Breaking change**: Lifetime model is temporarily disabled; `Battery/extension/LifetimeModel` is not allowed.
|
38
|
+
- Allows SEER2/HSPF2 efficiency types for central air conditioners and heat pumps.
|
39
|
+
- Allows setting the natural ventilation availability (days/week that operable windows can be opened); default changed from 7 to 3 (M/W/F).
|
40
|
+
- Allows specifying duct surface area multipliers.
|
41
|
+
- Allows modeling CFIS ventilation systems with supplemental fans.
|
42
|
+
- Allows shared dishwasher/clothes washer to be attached to a hot water distribution system instead of a single water heater.
|
43
|
+
- Allows heating/cooling seasons that don't span the entire year.
|
44
|
+
- Allows modeling room air conditioners with heating or reverse cycle.
|
45
|
+
- Allows setting the ground soil conductivity used for foundation heat transfer and ground source heat pumps.
|
46
|
+
- Allows setting the EnergyPlus temperature capacitance multiplier.
|
47
|
+
- EnergyPlus modeling changes:
|
48
|
+
- Switches Kiva foundation model timestep from 'Hourly' to 'Timestep'; small increase in runtime for sub-hourly simulations.
|
49
|
+
- Improves Kiva foundation model heat transfer by providing better initial temperature assumptions based on foundation type and insulation levels.
|
50
|
+
- Annual/timeseries outputs:
|
51
|
+
- Allows timeseries timestamps to be start or end of timestep convention; **Breaking change**: now defaults to start of timestep.
|
52
|
+
- Adds annual emission outputs disaggregated by end use; timeseries emission outputs disaggregated by end use can be requested.
|
53
|
+
- Allows generating timeseries unmet hours for heating and cooling.
|
54
|
+
- Allows CSV timeseries output to be formatted for use with the DView application.
|
55
|
+
- Adds heating/cooling setpoints to timeseries outputs when requesting zone temperatures.
|
56
|
+
- Disaggregates Battery outputs from PV outputs.
|
57
|
+
- Design temperatures, used to calculate design loads for HVAC equipment autosizing, are now output in `in.xml` and `results_annual.csv`.
|
58
|
+
|
59
|
+
__Bugfixes__
|
60
|
+
- Fixes possible incorrect autosizing of heat pump *separate* backup systems with respect to duct loads.
|
61
|
+
- Fixes incorrect autosizing of heat pump *integrated* backup systems if using MaxLoad/HERS sizing methodology and cooling design load exceeds heating design load.
|
62
|
+
- Fixes heating (or cooling) setpoints affecting the conditioned space temperature outside the heating (or cooling) season.
|
63
|
+
- Fixes handling non-integer number of occupants when using the stochastic occupancy schedule generator.
|
64
|
+
- Fixes units for Peak Loads (kBtu/hr, not kBtu) in annual results file.
|
65
|
+
- Fixes possible output error for ground source heat pumps with a shared hydronic circulation loop.
|
66
|
+
- Provides an error message if the EnergyPlus simulation used infinite energy.
|
67
|
+
- Fixes zero energy use for a ventilation fan w/ non-zero fan power and zero airflow rate.
|
68
|
+
- Fixes excessive heat transfer when foundation wall interior insulation does not start from the top of the wall.
|
69
|
+
- Fixes how relative paths are treated when using an OpenStudio Workflow.
|
70
|
+
- Fixes possible simulation error if a slab has an ExposedPerimeter near zero.
|
71
|
+
- Fixes possible "Could not identify surface type for surface" error.
|
72
|
+
- Fixes possible ruby error when defaulting water heater location.
|
73
|
+
- Battery round trip efficiency now correctly affects results.
|
74
|
+
- BuildResidentialHPXML measure:
|
75
|
+
- Fixes aspect ratio convention for single-family attached and multifamily dwelling units.
|
76
|
+
|
1
77
|
## OpenStudio-HPXML v1.4.0
|
2
78
|
|
3
79
|
__New Features__
|
@@ -240,7 +316,7 @@ __Bugfixes__
|
|
240
316
|
|
241
317
|
__New Features__
|
242
318
|
- New [Schematron](http://schematron.com) validation (EPvalidator.xml) replaces custom ruby validation (EPvalidator.rb)
|
243
|
-
- **[Breaking
|
319
|
+
- **[Breaking change]** `BuildingConstruction/ResidentialFacilityType` ("single-family detached", "single-family attached", "apartment unit", or "manufactured home") is a required input
|
244
320
|
- Ability to model shared systems for Attached/Multifamily dwelling units
|
245
321
|
- Shared HVAC systems (cooling towers, chillers, central boilers, water loop heat pumps, fan coils, ground source heat pumps on shared hydronic circulation loops)
|
246
322
|
- Shared water heaters serving either A) multiple dwelling units' service hot water or B) a shared laundry/equipment room, as well as hot water recirculation systems
|
@@ -248,7 +324,7 @@ __New Features__
|
|
248
324
|
- Shared hot water recirculation systems
|
249
325
|
- Shared ventilation systems (optionally with preconditioning equipment and recirculation)
|
250
326
|
- Shared PV systems
|
251
|
-
- **[Breaking
|
327
|
+
- **[Breaking change]** Appliances located in MF spaces (i.e., "other") must now be specified in more detail (i.e., "other heated space", "other non-freezing space", "other multifamily buffer space", or "other housing unit")
|
252
328
|
- Enclosure
|
253
329
|
- New optional inputs: `Roof/RoofType`, `Wall/Siding`, and `RimJoist/Siding`
|
254
330
|
- New optional inputs: `Skylight/InteriorShading/SummerShadingCoefficient` and `Skylight/InteriorShading/SummerShadingCoefficient`
|
@@ -256,7 +332,7 @@ __New Features__
|
|
256
332
|
- New optional input to specify presence of flue/chimney, which results in increased infiltration
|
257
333
|
- Allows adobe wall type
|
258
334
|
- Allows `AirInfiltrationMeasurement/HousePressure` to be any value (previously required to be 50 Pa)
|
259
|
-
- **[Breaking
|
335
|
+
- **[Breaking change]** `Roof/RadiantBarrierGrade` input now required when there is a radiant barrier
|
260
336
|
- HVAC
|
261
337
|
- Adds optional high-level HVAC autosizing controls
|
262
338
|
- `AllowIncreasedFixedCapacities`: Describes how HVAC equipment with fixed capacities are handled. If true, the maximum of the user-specified fixed capacity and the heating/cooling design load will be used to reduce potential for unmet loads. Defaults to false.
|
@@ -268,11 +344,11 @@ __New Features__
|
|
268
344
|
- Appliances & Plug Loads
|
269
345
|
- Allows _multiple_ `Refrigerator` and `Freezer`
|
270
346
|
- Allows `Pool`, `HotTub`, `PlugLoad` of type "electric vehicle charging" and "well pump", and `FuelLoad` of type "grill", "lighting", and "fireplace"
|
271
|
-
- **[Breaking
|
347
|
+
- **[Breaking change]** "other" and "TV other" plug loads now required
|
272
348
|
- Lighting
|
273
349
|
- Allows lighting schedules and holiday lighting
|
274
|
-
- **[Breaking
|
275
|
-
- **[Breaking
|
350
|
+
- **[Breaking change]** For hydronic distributions, `HydronicDistributionType` is now required
|
351
|
+
- **[Breaking change]** For DSE distributions, `AnnualHeatingDistributionSystemEfficiency` and `AnnualCoolingDistributionSystemEfficiency` are both always required
|
276
352
|
- Allows more HPXML fuel types to be used for HVAC, water heating, appliances, etc.
|
277
353
|
- New inputs to define Daylight Saving period; defaults to enabled
|
278
354
|
- Adds more reporting of warnings/errors to run.log
|
@@ -288,7 +364,7 @@ __Bugfixes__
|
|
288
364
|
__New Features__
|
289
365
|
- Dwelling units of single-family attached/multifamily buildings:
|
290
366
|
- Adds new generic space types "other heated space", "other multifamily buffer space", and "other non-freezing space" for surface `ExteriorAdjacentTo` elements. "other housing unit", i.e. adiabatic surfaces, was already supported.
|
291
|
-
- **[Breaking
|
367
|
+
- **[Breaking change]** For `FrameFloors`, replaces "other housing unit above" and "other housing unit below" enumerations with "other housing unit". All four "other ..." spaces must have an `extension/OtherSpaceAboveOrBelow` property set to either "above" or "below".
|
292
368
|
- Allows ducts and water heaters to be located in all "other ..." spaces.
|
293
369
|
- Allows all appliances to be located in "other", in which internal gains are neglected.
|
294
370
|
- Allows `Fireplace` and `FloorFurnace` for heating system types.
|
@@ -299,15 +375,15 @@ __New Features__
|
|
299
375
|
- Allows user-specified `Refrigerator` and `CookingRange` schedules to be provided.
|
300
376
|
- HVAC capacity elements are no longer required; if not provided, ACCA Manual J autosizing calculations will be used (-1 can continue to be used for capacity elements but is discouraged).
|
301
377
|
- Duct locations/areas can be defaulted by specifying supply/return `Duct` elements without `DuctSurfaceArea` and `DuctLocation`. `HVACDistribution/DistributionSystemType/AirDistribution/NumberofReturnRegisters` can be optionally provided to inform the default duct area calculations.
|
302
|
-
- **[Breaking
|
303
|
-
- **[Breaking
|
304
|
-
- **[Breaking
|
305
|
-
- **[Breaking
|
378
|
+
- **[Breaking change]** Lighting inputs now use `LightingType[LightEmittingDiode | CompactFluorescent | FluorescentTube]` instead of `ThirdPartyCertification="ERI Tier I" or ThirdPartyCertification="ERI Tier II"`.
|
379
|
+
- **[Breaking change]** `HVACDistribution/ConditionedFloorAreaServed` is now required for air distribution systems.
|
380
|
+
- **[Breaking change]** Infiltration and attic ventilation specified using natural air changes per hour now uses `ACHnatural` instead of `extension/ConstantACHnatural`.
|
381
|
+
- **[Breaking change]** The optional `PerformanceAdjustment` input for instantaneous water heaters is now treated as a performance multiplier (e.g., 0.92) instead of derate (e.g., 0.08).
|
306
382
|
- Adds ASHRAE 140 Class II test files.
|
307
383
|
- SimulationOutputReport reporting measure:
|
308
384
|
- New optional timeseries outputs: airflows (e.g., infiltration, mechanical ventilation, natural ventilation, whole house fan) and weather (e.g., temperatures, wind speed, solar).
|
309
385
|
- Timeseries frequency can now be set to 'none' as an alternative to setting all include_timeseries_foo variables to false.
|
310
|
-
- **[Breaking
|
386
|
+
- **[Breaking change]** Renames "Wood" to "Wood Cord" to better distinguish from "Wood Pellets".
|
311
387
|
- Modeling improvements:
|
312
388
|
- Improved calculation for infiltration height
|
313
389
|
- Infiltration & mechanical ventilation now combined using ASHRAE 62.2 Normative Appendix C.
|
@@ -333,10 +409,10 @@ __Bugfixes__
|
|
333
409
|
## OpenStudio-HPXML v0.9.0 Beta
|
334
410
|
|
335
411
|
__New Features__
|
336
|
-
- **[Breaking
|
412
|
+
- **[Breaking change]** Updates to OpenStudio v3.0.0 and EnergyPlus 9.3
|
337
413
|
- Numerous HPXML inputs are now optional with built-in defaulting, particularly for water heating, appliances, and PV. Set the `debug` argument to true to output a in.xml HPXML file with defaults applied for inspection. See the documentation for defaulting equations/assumptions/references.
|
338
|
-
- **[Breaking
|
339
|
-
- **[Breaking
|
414
|
+
- **[Breaking change]** If clothes washer efficiency inputs are provided, `LabelUsage` is now required.
|
415
|
+
- **[Breaking change]** If dishwasher efficiency inputs are provided, `LabelElectricRate`, `LabelGasRate`, `LabelAnnualGasCost`, and `LabelUsage` are now required.
|
340
416
|
- Adds optional specification of simulation controls including timestep and begin/end dates.
|
341
417
|
- Adds optional `extension/UsageMultiplier` inputs for appliances, plug loads, lighting, and water fixtures. Can be used to, e.g., reflect high/low usage occupants.
|
342
418
|
- Adds ability to model a dehumidifier.
|
@@ -344,9 +420,9 @@ __New Features__
|
|
344
420
|
- Improved desuperheater model; desuperheater can now be connected to heat pump water heaters.
|
345
421
|
- Updated clothes washer/dryer and dishwasher models per ANSI/RESNET/ICC 301-2019 Addendum A.
|
346
422
|
- Solar thermal systems modeled with `SolarFraction` can now be connected to combi water heating systems.
|
347
|
-
- **[Breaking
|
348
|
-
- **[Breaking
|
349
|
-
- **[Breaking
|
423
|
+
- **[Breaking change]** Replaces optional `epw_output_path` and `osm_output_path` arguments with a single optional `output_dir` argument; adds an optional `debug` argument.
|
424
|
+
- **[Breaking change]** Replaces optional `BuildingConstruction/extension/FractionofOperableWindowArea` with optional `Window/FractionOperable`.
|
425
|
+
- **[Breaking change]** Replaces optional `extension/EPWFileName` with optional `extension/EPWFilePath` to allow absolute paths to be provided as an alternative to just the file name.
|
350
426
|
- Replaces REXML xml library with Oga for better runtime performance.
|
351
427
|
- Additional error-checking.
|
352
428
|
- SimulationOutputReport reporting measure:
|
@@ -364,7 +440,7 @@ __Bugfixes__
|
|
364
440
|
|
365
441
|
## OpenStudio-HPXML v0.8.0 Beta
|
366
442
|
|
367
|
-
__Breaking
|
443
|
+
__Breaking changes__
|
368
444
|
- Weather cache files are now in .csv instead of .cache format.
|
369
445
|
- `extension/StandbyLoss` changed to `StandbyLoss` for indirect water heaters.
|
370
446
|
- `Site/extension/DisableNaturalVentilation` changed to `BuildingConstruction/extension/FractionofOperableWindowArea` for more granularity.
|
@@ -1,12 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
source '
|
3
|
+
source 'https://rubygems.org'
|
4
4
|
|
5
|
-
gem 'nokogiri', '~> 1.10'
|
6
5
|
gem 'oga'
|
7
|
-
gem 'schematron-nokogiri'
|
8
6
|
gem 'rake'
|
9
|
-
gem 'minitest', '
|
7
|
+
gem 'minitest', '5.15'
|
10
8
|
gem 'minitest-reporters'
|
11
9
|
gem 'msgpack'
|
12
10
|
gem 'parallel'
|
@@ -5,32 +5,23 @@ GEM
|
|
5
5
|
ast (2.4.2)
|
6
6
|
builder (3.2.4)
|
7
7
|
docile (1.4.0)
|
8
|
-
mini_portile2 (2.8.0)
|
9
8
|
minitest (5.15.0)
|
10
9
|
minitest-reporters (1.5.0)
|
11
10
|
ansi
|
12
11
|
builder
|
13
12
|
minitest (>= 5.0)
|
14
13
|
ruby-progressbar
|
15
|
-
msgpack (1.5.
|
16
|
-
nokogiri (1.13.4)
|
17
|
-
mini_portile2 (~> 2.8.0)
|
18
|
-
racc (~> 1.4)
|
19
|
-
nokogiri (1.13.4-x64-mingw32)
|
20
|
-
racc (~> 1.4)
|
14
|
+
msgpack (1.5.2)
|
21
15
|
oga (3.3)
|
22
16
|
ast
|
23
17
|
ruby-ll (~> 2.1)
|
24
18
|
parallel (1.22.1)
|
25
|
-
racc (1.6.0)
|
26
19
|
rake (13.0.6)
|
27
20
|
ruby-ll (2.1.2)
|
28
21
|
ansi
|
29
22
|
ast
|
30
23
|
ruby-progressbar (1.11.0)
|
31
24
|
rubyzip (2.3.2)
|
32
|
-
schematron-nokogiri (0.0.3)
|
33
|
-
nokogiri (~> 1.6)
|
34
25
|
simplecov (0.21.2)
|
35
26
|
docile (~> 1.1)
|
36
27
|
simplecov-html (~> 0.11)
|
@@ -43,15 +34,13 @@ PLATFORMS
|
|
43
34
|
x64-mingw32
|
44
35
|
|
45
36
|
DEPENDENCIES
|
46
|
-
minitest (
|
37
|
+
minitest (= 5.15)
|
47
38
|
minitest-reporters
|
48
39
|
msgpack
|
49
|
-
nokogiri (~> 1.10)
|
50
40
|
oga
|
51
41
|
parallel
|
52
42
|
rake
|
53
43
|
rubyzip
|
54
|
-
schematron-nokogiri
|
55
44
|
simplecov
|
56
45
|
simplecov-html
|
57
46
|
|