urbanopt-cli 0.8.2 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +5 -6
- data/CHANGELOG.md +21 -0
- data/CMakeLists.txt +7 -7
- data/Gemfile +3 -1
- data/README.md +9 -0
- data/example_files/Gemfile +23 -16
- data/example_files/Gemfile.lock +177 -0
- data/example_files/base_workflow_res.osw +57 -14
- data/example_files/class_project_coincident.json +1322 -0
- data/example_files/class_project_diverse.json +1322 -0
- data/example_files/disco/config.json +42 -0
- data/example_files/disco/cost_database.xlsx +0 -0
- data/example_files/disco/technical_catalog.json +12126 -0
- data/example_files/mappers/Baseline.rb +10 -7
- data/example_files/mappers/ChilledWaterStorage.rb +98 -0
- data/example_files/mappers/ClassProject.rb +110 -0
- data/example_files/mappers/CreateBar.rb +1 -0
- data/example_files/mappers/HighEfficiency.rb +13 -11
- data/example_files/mappers/PeakHoursMelsShedding.rb +72 -0
- data/example_files/mappers/PeakHoursThermostatAdjust.rb +78 -0
- data/example_files/mappers/ThermalStorage.rb +1 -0
- data/example_files/mappers/base_workflow.osw +55 -14
- data/example_files/mappers/class_project_workflow.osw +328 -0
- data/example_files/mappers/createbar_workflow.osw +16 -16
- data/example_files/measures/BuildResidentialModel/measure.rb +7 -1
- data/example_files/measures/BuildResidentialModel/measure.xml +1313 -706
- data/example_files/opendss/electrical_database.json +1446 -1446
- data/example_files/python_deps/dependencies.json +5 -0
- data/example_files/python_deps/install_python.ps1 +96 -0
- data/example_files/python_deps/install_python.sh +120 -0
- data/example_files/residential/clothes_dryer.tsv +11 -11
- data/example_files/residential/clothes_washer.tsv +3 -3
- data/example_files/residential/dishwasher.tsv +3 -3
- data/example_files/resources/hpxml-measures/.github/pull_request_template.md +0 -1
- data/example_files/resources/hpxml-measures/.github/workflows/config.yml +8 -21
- data/example_files/resources/hpxml-measures/.gitignore +2 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.rb +1272 -1094
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.xml +978 -659
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/geometry.rb +52 -74
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/build_residential_hpxml_test.rb +77 -140
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.rb +30 -27
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.xml +32 -13
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/resources/schedules.rb +55 -51
- data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/tests/build_residential_schedule_file_test.rb +89 -16
- data/example_files/resources/hpxml-measures/Changelog.md +65 -0
- data/example_files/resources/hpxml-measures/Gemfile +2 -4
- data/example_files/resources/hpxml-measures/Gemfile.lock +2 -13
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.rb +276 -300
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml +221 -215
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/airflow.rb +215 -170
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/battery.rb +108 -16
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constants.rb +24 -44
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constructions.rb +564 -197
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/data/cambium/README.md +8 -8
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/energyplus.rb +1 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/geometry.rb +7 -55
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hotwater_appliances.rb +24 -19
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml.rb +541 -211
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb +300 -172
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXML.xsd +0 -2
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXMLBaseElements.xsd +230 -141
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXMLDataTypes.xsd +145 -137
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml +191 -97
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schematron/iso-schematron.xsd +391 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac.rb +194 -198
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac_sizing.rb +140 -145
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/lighting.rb +11 -11
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/location.rb +33 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/materials.rb +4 -4
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/meta_measure.rb +17 -9
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/misc_loads.rb +14 -12
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/output.rb +39 -17
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/psychrometrics.rb +1 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/schedule_files/battery.csv +8761 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/schedules.rb +114 -57
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/simcontrols.rb +1 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/utility_bills.rb +148 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/version.rb +2 -2
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/waterheater.rb +85 -127
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/weather.rb +26 -32
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/xmlhelper.rb +2 -14
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/xmlvalidator.rb +67 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_airflow.rb +117 -56
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_battery.rb +141 -14
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb +453 -344
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_enclosure.rb +124 -20
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_generator.rb +1 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hotwater_appliance.rb +28 -32
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hvac.rb +172 -79
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb +54 -8
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_lighting.rb +3 -3
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_location.rb +4 -4
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_miscloads.rb +7 -7
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_pv.rb +1 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_schedules.rb +6 -9
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_simcontrols.rb +8 -8
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_validation.rb +213 -95
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_water_heater.rb +1 -10
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_weather.rb +76 -0
- data/example_files/resources/hpxml-measures/README.md +2 -3
- data/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.rb +585 -287
- data/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.xml +304 -352
- data/example_files/resources/hpxml-measures/ReportSimulationOutput/tests/output_report_test.rb +404 -279
- data/example_files/resources/hpxml-measures/ReportUtilityBills/measure.rb +222 -501
- data/example_files/resources/hpxml-measures/ReportUtilityBills/measure.xml +137 -200
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Flat Rate Min Annual Charge.json +649 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Flat Rate Min Monthly Charge.json +649 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Flat Rate.json +647 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Real-Time Pricing Rate Min Annual Charge.json +8776 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Real-Time Pricing Rate Min Monthly Charge.json +8776 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Real-Time Pricing Rate.json +8774 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate Min Annual Charge.json +659 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate Min Monthly Charge.json +659 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate.json +657 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Time-of-Use Rate Min Annual Charge.json +670 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Time-of-Use Rate Min Monthly Charge.json +670 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Time-of-Use Rate.json +668 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Time-of-Use Rate Min Annual Charge.json +655 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Time-of-Use Rate Min Monthly Charge.json +655 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Time-of-Use Rate.json +653 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/openei_rates.zip +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/Average_retail_price_of_electricity.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/HouseholdConsumption.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/NG_PRI_SUM_A_EPG0_PRS_DMCF_A.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/PET_PRI_WFR_A_EPD2F_PRS_DPGAL_W.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/PET_PRI_WFR_A_EPLLPA_PRS_DPGAL_W.csv +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/README.md +0 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/util.rb +506 -25
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Contains Demand Charges.json +1312 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Invalid Fixed Charge Units.json +657 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Invalid Min Charge Units.json +659 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/JacksonElectricMemberCorp-ResidentialSeniorCitizenLowIncomeAssistance.json +681 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Missing Required Fields.json +54 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/data.csv +8761 -0
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/utility_bills_test.rb +1006 -235
- data/example_files/resources/hpxml-measures/docs/source/conf.py +1 -1
- data/example_files/resources/hpxml-measures/docs/source/intro.rst +0 -1
- data/example_files/resources/hpxml-measures/docs/source/usage_instructions.rst +2 -2
- data/example_files/resources/hpxml-measures/docs/source/workflow_inputs.rst +461 -261
- data/example_files/resources/hpxml-measures/docs/source/workflow_outputs.rst +146 -152
- data/example_files/resources/hpxml-measures/tasks.rb +616 -802
- data/example_files/resources/hpxml-measures/workflow/real_homes/house001.xml +19 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house002.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house003.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house004.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house005.xml +19 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house006.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house007.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house008.xml +28 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house009.xml +28 -17
- data/example_files/resources/hpxml-measures/workflow/real_homes/house010.xml +28 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house011.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house012.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house013.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house014.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house015.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house016.xml +22 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house017.xml +19 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house018.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house019.xml +13 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house020.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house021.xml +31 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house022.xml +22 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house023.xml +21 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house024.xml +37 -22
- data/example_files/resources/hpxml-measures/workflow/real_homes/house025.xml +24 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house026.xml +33 -21
- data/example_files/resources/hpxml-measures/workflow/real_homes/house027.xml +28 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house028.xml +28 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house029.xml +30 -17
- data/example_files/resources/hpxml-measures/workflow/real_homes/house030.xml +10 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house031.xml +22 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house032.xml +12 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house033.xml +18 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house034.xml +25 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house035.xml +22 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house036.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house037.xml +26 -17
- data/example_files/resources/hpxml-measures/workflow/real_homes/house038.xml +19 -11
- data/example_files/resources/hpxml-measures/workflow/real_homes/house039.xml +25 -16
- data/example_files/resources/hpxml-measures/workflow/real_homes/house040.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house041.xml +35 -21
- data/example_files/resources/hpxml-measures/workflow/real_homes/house042.xml +28 -17
- data/example_files/resources/hpxml-measures/workflow/real_homes/house043.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house044.xml +35 -21
- data/example_files/resources/hpxml-measures/workflow/real_homes/house045.xml +20 -12
- data/example_files/resources/hpxml-measures/workflow/real_homes/house046.xml +20 -13
- data/example_files/resources/hpxml-measures/workflow/real_homes/house047.xml +12 -9
- data/example_files/resources/hpxml-measures/workflow/real_homes/house048.xml +25 -14
- data/example_files/resources/hpxml-measures/workflow/real_homes/house049.xml +10 -7
- data/example_files/resources/hpxml-measures/workflow/real_homes/house050.xml +20 -11
- data/example_files/resources/hpxml-measures/workflow/run_simulation.rb +91 -88
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-coal.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief-portable.xml +546 -535
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief-whole-home.xml +546 -535
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-multiple.xml +555 -544
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-modified.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-oil-location-miami-fl.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-oil.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-propane-location-portland-or.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-propane.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-wood.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-cathedral.xml +7 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-conditioned.xml +17 -6
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-flat.xml +7 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-radiant-barrier.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-unvented-insulated-roof.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-vented.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-battery-scheduled.xml +600 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-battery.xml +598 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-multifamily-buffer-space.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-multiple.xml +606 -593
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-non-freezing-space.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-other-heated-space.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-other-housing-unit.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-calctype-operational.xml +480 -471
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-baseboard.xml +464 -457
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-fan-coil-ducted.xml +496 -487
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-fan-coil.xml +466 -459
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-water-loop-heat-pump.xml +518 -509
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-cooling-tower-water-loop-heat-pump.xml +513 -504
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-baseboard.xml +445 -438
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil-ducted.xml +476 -467
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil-eae.xml +443 -436
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil.xml +446 -439
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-water-loop-heat-pump.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-baseboard.xml +445 -438
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-fan-coil-ducted.xml +476 -467
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-fan-coil.xml +446 -439
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-water-loop-heat-pump.xml +494 -485
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-cooling-tower-only-water-loop-heat-pump.xml +489 -480
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-generator.xml +499 -490
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-ground-loop-ground-to-air-heat-pump.xml +491 -482
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-laundry-room-multiple-water-heaters.xml +510 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-laundry-room.xml +495 -486
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent-multiple.xml +709 -695
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent-preconditioning.xml +528 -519
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent.xml +512 -503
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-pv.xml +504 -495
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-water-heater-recirc.xml +497 -488
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-water-heater.xml +490 -481
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily.xml +487 -478
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached-2stories.xml +639 -628
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached-atticroof-cathedral.xml +587 -580
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached.xml +639 -628
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational-misc-defaults.xml +539 -528
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational-misc-loads-large-uncommon.xml +644 -633
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational-misc-loads-large-uncommon2.xml +644 -633
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational.xml +575 -564
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless-outside.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-gshp.xml +585 -574
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-hpwh.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-tankless.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-dwhr.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-detailed-setpoints.xml +536 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-dse.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-outside.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-standbyloss.xml +20 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-with-solar-fraction.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-electric.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-hpwh.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-indirect.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-low-flow-fixtures.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-multiple.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-demand.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-manual.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-nocontrol.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-temperature.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-timer.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-evacuated-tube.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-flat-plate.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-ics.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-fraction.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-indirect-flat-plate.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-thermosyphon-flat-plate.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-coal.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-detailed-setpoints.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-elec-uef.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-outside.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-uef-fhr.xml +584 -573
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-uef.xml +584 -573
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-detailed-schedules.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-operating-mode-heat-pump-only.xml +585 -574
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-outside.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-uef.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar-fraction.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-model-type-stratified-detailed-occupancy-stochastic.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-model-type-stratified.xml +585 -574
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-oil.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-wood.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-detailed-setpoints.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-outside.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-uef.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-uef.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar-fraction.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-propane.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories-garage.xml +28 -11
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories.xml +20 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-1.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-2.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-4.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-5.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-ceilingtypes.xml +607 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-floortypes.xml +550 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-garage.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-ach-house-pressure.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm-house-pressure.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm50.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-flue.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-natural-ach.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-orientations.xml +589 -578
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-overhangs.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-rooftypes.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-physical-properties.xml +619 -608
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-shading.xml +620 -609
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-storms.xml +618 -607
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-level.xml +537 -526
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces.xml +90 -43
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces2.xml +2507 -2460
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-thermal-mass.xml +595 -584
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-walltypes.xml +19 -8
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-natural-ventilation-availability.xml +584 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-physical-properties.xml +594 -583
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-shading.xml +597 -586
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-storms.xml +598 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-ambient.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-basement-garage.xml +671 -656
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-complex.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-basement-slab-insulation.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-foundation-conditioned-basement-wall-interior-insulation.xml → base-foundation-conditioned-basement-wall-insulation.xml} +585 -574
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-crawlspace.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-multiple.xml +35 -16
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-slab.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-above-grade.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-assembly-r.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-wall-insulation.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unvented-crawlspace.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-vented-crawlspace.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-walkout-basement.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-backup-lockout-temperature.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-cooling-only.xml +573 -562
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-heating-only.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-seer2-hspf2.xml +583 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-backup-boiler-switchover-temperature.xml +600 -589
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-backup-boiler.xml +599 -588
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-backup-furnace.xml +629 -616
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-cooling-only.xml +573 -562
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-heating-only.xml +579 -568
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-sizing-methodology-acca.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-sizing-methodology-hers.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-sizing-methodology-maxload-miami-fl.xml +582 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-sizing-methodology-maxload.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-2-speed-sizing-methodology-acca.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-2-speed-sizing-methodology-hers.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-2-speed-sizing-methodology-maxload.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-backup-boiler.xml +598 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-backup-furnace.xml +628 -615
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-sizing-methodology-acca.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-sizing-methodology-hers.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-sizing-methodology-maxload.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-elec-only.xml +535 -526
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-gas-central-ac-1-speed.xml +589 -578
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-gas-only.xml +536 -527
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-2-speed.xml +565 -554
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-var-speed.xml +565 -554
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-plus-air-to-air-heat-pump-heating.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-air-to-air-heat-pump-1-speed-sizing-methodology-acca.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-air-to-air-heat-pump-1-speed-sizing-methodology-hers.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-air-to-air-heat-pump-1-speed-sizing-methodology-maxload.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-mini-split-heat-pump-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-elec-resistance-only.xml +526 -517
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-evap-cooler-furnace-gas.xml +573 -562
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-floor-furnace-propane-only.xml +529 -520
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-elec-only.xml +565 -554
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-central-ac-2-speed.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-central-ac-var-speed.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-only.xml +565 -554
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-room-ac.xml +578 -567
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-cooling-only.xml +575 -564
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-heating-only.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-acca.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-hers.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-maxload.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-air-conditioner-only-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-cooling-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-heating-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology-acca.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology-hers.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology-maxload.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ductless-backup-stove.xml +551 -542
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ptac-with-heating.xml +532 -530
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ptac.xml +525 -516
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-pthp-sizing-methodology-acca.xml +541 -532
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-pthp-sizing-methodology-hers.xml +541 -532
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-pthp-sizing-methodology-maxload.xml +541 -532
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-only.xml +525 -516
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-heating.xml +533 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology-acca.xml +542 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology-hers.xml +542 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology-maxload.xml +542 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-stove-oil-only.xml +529 -520
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-wall-furnace-elec-only.xml +529 -520
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize.xml +580 -569
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-coal-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-elec-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-central-ac-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-oil-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-propane-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-wood-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-1-speed-seer2.xml +567 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dse.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-mini-split-heat-pump-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-area-fractions.xml +611 -598
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-area-multipliers.xml +589 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-leakage-cfm50.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-leakage-percent.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-elec-resistance-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-furnace-gas.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only-ducted.xml +17 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fireplace-wood-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fixed-heater-gas-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-floor-furnace-propane-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-coal-only.xml +566 -555
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-central-ac-1-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-2-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-var-speed.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-only-detailed-setpoints.xml +566 -555
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-only.xml +566 -555
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-room-ac.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-oil-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-propane-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-wood-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-x3-dse.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump-cooling-only.xml +574 -563
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump-heating-only.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-air-to-air-heat-pump-1-speed.xml +587 -576
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-air-to-air-heat-pump-2-speed.xml +587 -576
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-air-to-air-heat-pump-var-speed.xml +587 -576
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-central-ac-1-speed.xml +591 -580
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-central-ac-2-speed.xml +591 -580
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-central-ac-var-speed.xml +591 -580
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-only.xml +570 -559
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml +570 -559
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-mini-split-heat-pump-ducted.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-cooling-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-heating-only.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless-backup-stove.xml +552 -543
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-multiple.xml +963 -938
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-none.xml +33 -69
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-portable-heater-gas-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ptac-with-heating-electricity.xml +535 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-hvac-ptac-with-heating.xml → base-hvac-ptac-with-heating-natural-gas.xml} +23 -21
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ptac.xml +526 -517
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-pthp.xml +541 -532
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-33percent.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-ceer.xml +526 -517
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-detailed-setpoints.xml +526 -517
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only.xml +16 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-with-heating.xml +535 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-with-reverse-cycle.xml +542 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-seasons.xml +594 -583
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints-daily-schedules.xml +586 -575
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints-daily-setbacks.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-oil-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-wood-pellets-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized-allow-increased-fixed-capacities.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-wall-furnace-elec-only.xml +530 -521
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-ceiling-fans.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-holiday.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-AMY-2012.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-baltimore-md.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-capetown-zaf.xml +591 -576
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-dallas-tx.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-duluth-mn.xml +27 -12
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-helena-mt.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-honolulu-hi.xml +537 -526
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-miami-fl.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-phoenix-az.xml +537 -526
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-portland-or.xml +601 -586
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-balanced.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-bath-kitchen-fans.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-airflow-fraction-zero.xml +601 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-dse.xml +19 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-evap-cooler-only-ducted.xml +20 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-supplemental-fan-exhaust.xml +607 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-supplemental-fan-supply.xml +607 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis.xml +21 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv-atre-asre.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust-rated-flow-rate.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv-asre.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-multiple.xml +37 -19
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-supply.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-whole-house-fan.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-additional-properties.xml +590 -579
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-none.xml +578 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-pv-detailed-only.xml +632 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-pv-mixed.xml +614 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-pv.xml +677 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills.xml +593 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-defaults.xml +27 -9
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-emissions.xml +676 -665
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators-battery-scheduled.xml +616 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators-battery.xml +615 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators.xml +598 -587
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-ground-conductivity.xml +586 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon2.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-none.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-neighbor-shading.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-shielding-of-home.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-usage-multiplier.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-multiple-buildings.xml +1700 -1677
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery-ah.xml +622 -611
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery-garage.xml +697 -682
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-pv-battery-lifetime-model.xml → base-pv-battery-round-trip-efficiency.xml} +20 -11
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery-scheduled.xml +624 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery.xml +622 -611
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-generators-battery-scheduled.xml +640 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-generators-battery.xml +639 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-generators.xml +623 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv.xml +606 -595
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-all-10-mins.xml +582 -571
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-smooth.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-stochastic-10-mins.xml +584 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-stochastic-vacancy.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-stochastic.xml +583 -572
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-setpoints-daily-schedules.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-setpoints-daily-setbacks.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-setpoints.xml +581 -570
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-simple.xml +636 -625
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-calendar-year-custom.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-custom.xml +27 -14
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-disabled.xml +21 -10
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-runperiod-1-month.xml +21 -10
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-dhw-tank-heat-pump-detailed-operating-modes.xml → base-simcontrol-temperature-capacitance-multiplier.xml} +25 -13
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins-occupancy-stochastic-10-mins.xml +584 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins-occupancy-stochastic-60-mins.xml +584 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-dhw-tank-heat-pump-detailed-setpoints.xml → base-simcontrol-timestep-30-mins.xml} +25 -14
- data/example_files/resources/hpxml-measures/workflow/sample_files/base.xml +18 -7
- data/example_files/resources/hpxml-measures/workflow/template-build-and-run-hpxml-with-stochastic-occupancy.osw +18 -13
- data/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy.osw +12 -7
- data/example_files/resources/hpxml-measures/workflow/template-run-hpxml.osw +8 -24
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AC.xml +366 -358
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AC.xml +311 -303
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AL.xml +311 -303
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AC.xml +327 -319
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AL.xml +327 -319
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AC.xml +332 -324
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AL.xml +332 -324
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AC.xml +341 -333
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AL.xml +341 -333
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AC.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AL.xml +369 -361
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L302XC.xml +383 -379
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L304XC.xml +383 -379
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L322XC.xml +538 -534
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L324XC.xml +550 -546
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results.csv +444 -410
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_ashrae_140.csv +8 -8
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_bills.csv +444 -410
- data/example_files/resources/hpxml-measures/workflow/tests/compare.py +18 -4
- data/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb +133 -288
- data/example_files/scripts/convert_urbanopt_to_disco.py +130 -0
- data/example_files/scripts/default_control_changes.csv +8 -0
- data/example_files/scripts/default_voltage_regulators.csv +3 -0
- data/example_files/scripts/read_data.py +331 -0
- data/example_files/visualization/input_visualization_feature.html +172 -81
- data/example_files/visualization/input_visualization_scenario.html +178 -82
- data/example_files/xml_building/17/README.md +2 -2
- data/example_files/xml_building/17/unit 1.xml +40 -41
- data/example_files/xml_building/17/unit 2.xml +35 -36
- data/example_files/xml_building/17/unit 3.xml +35 -36
- data/example_files/xml_building/17/unit 4.xml +41 -42
- data/lib/uo_cli/version.rb +1 -1
- data/lib/uo_cli.rb +601 -101
- data/scripts/setup-env.bat +6 -7
- data/uo_cli.gemspec +6 -5
- metadata +121 -36
- data/example_files/residential/exhaust.tsv +0 -3
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/data/hvac_equipment_efficiency.csv +0 -493
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/data/water_heater_efficiency.csv +0 -157
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schematron/HPXMLvalidator.xml +0 -620
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/validator.rb +0 -107
- data/example_files/resources/hpxml-measures/ReportHPXMLOutput/measure.rb +0 -450
- data/example_files/resources/hpxml-measures/ReportHPXMLOutput/measure.xml +0 -85
- data/example_files/resources/hpxml-measures/ReportHPXMLOutput/resources/constants.rb +0 -72
- data/example_files/resources/hpxml-measures/ReportHPXMLOutput/tests/hpxml_output_report_test.rb +0 -290
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/PV_10kW.csv +0 -8761
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/PV_1kW.csv +0 -8761
- data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/PV_None.csv +0 -8761
- data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_hvac_sizing.csv +0 -410
@@ -3,10 +3,10 @@
|
|
3
3
|
class HPXMLDefaults
|
4
4
|
# Note: Each HPXML object (e.g., HPXML::Wall) has an additional_properties
|
5
5
|
# child object where custom information can be attached to the object without
|
6
|
-
# being written to the HPXML file. This
|
7
|
-
#
|
6
|
+
# being written to the HPXML file. This will allow the custom information to
|
7
|
+
# be used by subsequent calculations/logic.
|
8
8
|
|
9
|
-
def self.apply(hpxml, eri_version, weather, epw_file: nil, schedules_file: nil, convert_shared_systems: true)
|
9
|
+
def self.apply(runner, hpxml, eri_version, weather, epw_file: nil, schedules_file: nil, convert_shared_systems: true)
|
10
10
|
cfa = hpxml.building_construction.conditioned_floor_area
|
11
11
|
nbeds = hpxml.building_construction.number_of_bedrooms
|
12
12
|
ncfl = hpxml.building_construction.number_of_conditioned_floors
|
@@ -31,8 +31,16 @@ class HPXMLDefaults
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
# Check for presence of fuels once
|
35
|
+
has_fuel = {}
|
36
|
+
hpxml_doc = hpxml.to_oga
|
37
|
+
Constants.FossilFuels.each do |fuel|
|
38
|
+
has_fuel[fuel] = hpxml.has_fuel(fuel, hpxml_doc)
|
39
|
+
end
|
40
|
+
|
34
41
|
apply_header(hpxml, epw_file)
|
35
|
-
apply_emissions_scenarios(hpxml)
|
42
|
+
apply_emissions_scenarios(hpxml, has_fuel)
|
43
|
+
apply_utility_bill_scenarios(runner, hpxml, has_fuel)
|
36
44
|
apply_site(hpxml)
|
37
45
|
apply_neighbor_buildings(hpxml)
|
38
46
|
apply_building_occupancy(hpxml, nbeds, schedules_file)
|
@@ -45,7 +53,7 @@ class HPXMLDefaults
|
|
45
53
|
apply_rim_joists(hpxml)
|
46
54
|
apply_walls(hpxml)
|
47
55
|
apply_foundation_walls(hpxml)
|
48
|
-
|
56
|
+
apply_floors(hpxml)
|
49
57
|
apply_slabs(hpxml)
|
50
58
|
apply_windows(hpxml)
|
51
59
|
apply_skylights(hpxml)
|
@@ -103,7 +111,7 @@ class HPXMLDefaults
|
|
103
111
|
if azimuth_areas.empty?
|
104
112
|
primary_azimuth = 0
|
105
113
|
else
|
106
|
-
primary_azimuth = azimuth_areas.max_by { |
|
114
|
+
primary_azimuth = azimuth_areas.max_by { |_k, v| v }[0]
|
107
115
|
end
|
108
116
|
return [primary_azimuth,
|
109
117
|
sanitize_azimuth(primary_azimuth + 90),
|
@@ -141,21 +149,15 @@ class HPXMLDefaults
|
|
141
149
|
hpxml.header.sim_end_day_isdefaulted = true
|
142
150
|
end
|
143
151
|
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
hpxml.header.sim_calendar_year_isdefaulted = true
|
149
|
-
end
|
150
|
-
else
|
151
|
-
hpxml.header.sim_calendar_year = epw_file.startDateActualYear.get
|
152
|
+
sim_calendar_year = Location.get_sim_calendar_year(hpxml.header.sim_calendar_year, epw_file)
|
153
|
+
if not hpxml.header.sim_calendar_year.nil?
|
154
|
+
if hpxml.header.sim_calendar_year != sim_calendar_year
|
155
|
+
hpxml.header.sim_calendar_year = sim_calendar_year
|
152
156
|
hpxml.header.sim_calendar_year_isdefaulted = true
|
153
157
|
end
|
154
158
|
else
|
155
|
-
|
156
|
-
|
157
|
-
hpxml.header.sim_calendar_year_isdefaulted = true
|
158
|
-
end
|
159
|
+
hpxml.header.sim_calendar_year = sim_calendar_year
|
160
|
+
hpxml.header.sim_calendar_year_isdefaulted = true
|
159
161
|
end
|
160
162
|
|
161
163
|
if hpxml.header.dst_enabled.nil?
|
@@ -208,9 +210,19 @@ class HPXMLDefaults
|
|
208
210
|
hpxml.header.time_zone_utc_offset = epw_file.timeZone
|
209
211
|
hpxml.header.time_zone_utc_offset_isdefaulted = true
|
210
212
|
end
|
213
|
+
|
214
|
+
if hpxml.header.temperature_capacitance_multiplier.nil?
|
215
|
+
hpxml.header.temperature_capacitance_multiplier = 1.0
|
216
|
+
hpxml.header.temperature_capacitance_multiplier_isdefaulted = true
|
217
|
+
end
|
218
|
+
|
219
|
+
if hpxml.header.natvent_days_per_week.nil?
|
220
|
+
hpxml.header.natvent_days_per_week = 3
|
221
|
+
hpxml.header.natvent_days_per_week_isdefaulted = true
|
222
|
+
end
|
211
223
|
end
|
212
224
|
|
213
|
-
def self.apply_emissions_scenarios(hpxml)
|
225
|
+
def self.apply_emissions_scenarios(hpxml, has_fuel)
|
214
226
|
hpxml.header.emissions_scenarios.each do |scenario|
|
215
227
|
# Electricity
|
216
228
|
if not scenario.elec_schedule_filepath.nil?
|
@@ -235,36 +247,48 @@ class HPXMLDefaults
|
|
235
247
|
else
|
236
248
|
natural_gas, propane, fuel_oil, coal, wood, wood_pellets = nil, nil, nil, nil, nil, nil
|
237
249
|
end
|
238
|
-
if
|
239
|
-
scenario.natural_gas_units
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
scenario.propane_units = default_units
|
246
|
-
scenario.propane_units_isdefaulted = true
|
247
|
-
scenario.propane_value = propane
|
248
|
-
scenario.propane_value_isdefaulted = true
|
249
|
-
end
|
250
|
-
if (scenario.fuel_oil_units.nil? || scenario.fuel_oil_value.nil?) && (not fuel_oil.nil?)
|
251
|
-
scenario.fuel_oil_units = default_units
|
252
|
-
scenario.fuel_oil_units_isdefaulted = true
|
253
|
-
scenario.fuel_oil_value = fuel_oil
|
254
|
-
scenario.fuel_oil_value_isdefaulted = true
|
255
|
-
end
|
256
|
-
if (scenario.coal_units.nil? || scenario.coal_value.nil?) && (not coal.nil?)
|
257
|
-
scenario.coal_units = default_units
|
258
|
-
scenario.coal_units_isdefaulted = true
|
259
|
-
scenario.coal_value = coal
|
260
|
-
scenario.coal_value_isdefaulted = true
|
261
|
-
end
|
262
|
-
if (scenario.wood_units.nil? || scenario.wood_value.nil?) && (not wood.nil?)
|
263
|
-
scenario.wood_units = default_units
|
264
|
-
scenario.wood_units_isdefaulted = true
|
265
|
-
scenario.wood_value = wood
|
266
|
-
scenario.wood_value_isdefaulted = true
|
250
|
+
if has_fuel[HPXML::FuelTypeNaturalGas]
|
251
|
+
if (scenario.natural_gas_units.nil? || scenario.natural_gas_value.nil?) && (not natural_gas.nil?)
|
252
|
+
scenario.natural_gas_units = default_units
|
253
|
+
scenario.natural_gas_units_isdefaulted = true
|
254
|
+
scenario.natural_gas_value = natural_gas
|
255
|
+
scenario.natural_gas_value_isdefaulted = true
|
256
|
+
end
|
267
257
|
end
|
258
|
+
if has_fuel[HPXML::FuelTypePropane]
|
259
|
+
if (scenario.propane_units.nil? || scenario.propane_value.nil?) && (not propane.nil?)
|
260
|
+
scenario.propane_units = default_units
|
261
|
+
scenario.propane_units_isdefaulted = true
|
262
|
+
scenario.propane_value = propane
|
263
|
+
scenario.propane_value_isdefaulted = true
|
264
|
+
end
|
265
|
+
end
|
266
|
+
if has_fuel[HPXML::FuelTypeOil]
|
267
|
+
if (scenario.fuel_oil_units.nil? || scenario.fuel_oil_value.nil?) && (not fuel_oil.nil?)
|
268
|
+
scenario.fuel_oil_units = default_units
|
269
|
+
scenario.fuel_oil_units_isdefaulted = true
|
270
|
+
scenario.fuel_oil_value = fuel_oil
|
271
|
+
scenario.fuel_oil_value_isdefaulted = true
|
272
|
+
end
|
273
|
+
end
|
274
|
+
if has_fuel[HPXML::FuelTypeCoal]
|
275
|
+
if (scenario.coal_units.nil? || scenario.coal_value.nil?) && (not coal.nil?)
|
276
|
+
scenario.coal_units = default_units
|
277
|
+
scenario.coal_units_isdefaulted = true
|
278
|
+
scenario.coal_value = coal
|
279
|
+
scenario.coal_value_isdefaulted = true
|
280
|
+
end
|
281
|
+
end
|
282
|
+
if has_fuel[HPXML::FuelTypeWoodCord]
|
283
|
+
if (scenario.wood_units.nil? || scenario.wood_value.nil?) && (not wood.nil?)
|
284
|
+
scenario.wood_units = default_units
|
285
|
+
scenario.wood_units_isdefaulted = true
|
286
|
+
scenario.wood_value = wood
|
287
|
+
scenario.wood_value_isdefaulted = true
|
288
|
+
end
|
289
|
+
end
|
290
|
+
next unless has_fuel[HPXML::FuelTypeWoodPellets]
|
291
|
+
|
268
292
|
next unless (scenario.wood_pellets_units.nil? || scenario.wood_pellets_value.nil?) && (not wood_pellets.nil?)
|
269
293
|
|
270
294
|
scenario.wood_pellets_units = default_units
|
@@ -274,6 +298,117 @@ class HPXMLDefaults
|
|
274
298
|
end
|
275
299
|
end
|
276
300
|
|
301
|
+
def self.apply_utility_bill_scenarios(runner, hpxml, has_fuel)
|
302
|
+
hpxml.header.utility_bill_scenarios.each do |scenario|
|
303
|
+
if scenario.elec_tariff_filepath.nil?
|
304
|
+
if scenario.elec_fixed_charge.nil?
|
305
|
+
scenario.elec_fixed_charge = 12.0 # https://www.nrdc.org/experts/samantha-williams/there-war-attrition-electricity-fixed-charges says $11.19/month in 2018
|
306
|
+
scenario.elec_fixed_charge_isdefaulted = true
|
307
|
+
end
|
308
|
+
if scenario.elec_marginal_rate.nil?
|
309
|
+
scenario.elec_marginal_rate, _ = UtilityBills.get_rates_from_eia_data(runner, hpxml.header.state_code, HPXML::FuelTypeElectricity, scenario.elec_fixed_charge)
|
310
|
+
scenario.elec_marginal_rate_isdefaulted = true
|
311
|
+
end
|
312
|
+
end
|
313
|
+
|
314
|
+
if has_fuel[HPXML::FuelTypeNaturalGas]
|
315
|
+
if scenario.natural_gas_fixed_charge.nil?
|
316
|
+
scenario.natural_gas_fixed_charge = 12.0 # https://www.aga.org/sites/default/files/aga_energy_analysis_-_natural_gas_utility_rate_structure.pdf says $11.25/month in 2015
|
317
|
+
scenario.natural_gas_fixed_charge_isdefaulted = true
|
318
|
+
end
|
319
|
+
if scenario.natural_gas_marginal_rate.nil?
|
320
|
+
scenario.natural_gas_marginal_rate, _ = UtilityBills.get_rates_from_eia_data(runner, hpxml.header.state_code, HPXML::FuelTypeNaturalGas, scenario.natural_gas_fixed_charge)
|
321
|
+
scenario.natural_gas_marginal_rate_isdefaulted = true
|
322
|
+
end
|
323
|
+
end
|
324
|
+
|
325
|
+
if has_fuel[HPXML::FuelTypePropane]
|
326
|
+
if scenario.propane_fixed_charge.nil?
|
327
|
+
scenario.propane_fixed_charge = 0.0
|
328
|
+
scenario.propane_fixed_charge_isdefaulted = true
|
329
|
+
end
|
330
|
+
if scenario.propane_marginal_rate.nil?
|
331
|
+
scenario.propane_marginal_rate, _ = UtilityBills.get_rates_from_eia_data(runner, hpxml.header.state_code, HPXML::FuelTypePropane, nil)
|
332
|
+
scenario.propane_marginal_rate_isdefaulted = true
|
333
|
+
end
|
334
|
+
end
|
335
|
+
|
336
|
+
if has_fuel[HPXML::FuelTypeOil]
|
337
|
+
if scenario.fuel_oil_fixed_charge.nil?
|
338
|
+
scenario.fuel_oil_fixed_charge = 0.0
|
339
|
+
scenario.fuel_oil_fixed_charge_isdefaulted = true
|
340
|
+
end
|
341
|
+
if scenario.fuel_oil_marginal_rate.nil?
|
342
|
+
scenario.fuel_oil_marginal_rate, _ = UtilityBills.get_rates_from_eia_data(runner, hpxml.header.state_code, HPXML::FuelTypeOil, nil)
|
343
|
+
scenario.fuel_oil_marginal_rate_isdefaulted = true
|
344
|
+
end
|
345
|
+
end
|
346
|
+
|
347
|
+
if has_fuel[HPXML::FuelTypeCoal]
|
348
|
+
if scenario.coal_fixed_charge.nil?
|
349
|
+
scenario.coal_fixed_charge = 0.0
|
350
|
+
scenario.coal_fixed_charge_isdefaulted = true
|
351
|
+
end
|
352
|
+
if scenario.coal_marginal_rate.nil?
|
353
|
+
scenario.coal_marginal_rate = 0.015
|
354
|
+
scenario.coal_marginal_rate_isdefaulted = true
|
355
|
+
end
|
356
|
+
end
|
357
|
+
|
358
|
+
if has_fuel[HPXML::FuelTypeWoodCord]
|
359
|
+
if scenario.wood_fixed_charge.nil?
|
360
|
+
scenario.wood_fixed_charge = 0.0
|
361
|
+
scenario.wood_fixed_charge_isdefaulted = true
|
362
|
+
end
|
363
|
+
if scenario.wood_marginal_rate.nil?
|
364
|
+
scenario.wood_marginal_rate = 0.015
|
365
|
+
scenario.wood_marginal_rate_isdefaulted = true
|
366
|
+
end
|
367
|
+
end
|
368
|
+
|
369
|
+
if has_fuel[HPXML::FuelTypeWoodPellets]
|
370
|
+
if scenario.wood_pellets_fixed_charge.nil?
|
371
|
+
scenario.wood_pellets_fixed_charge = 0.0
|
372
|
+
scenario.wood_pellets_fixed_charge_isdefaulted = true
|
373
|
+
end
|
374
|
+
if scenario.wood_pellets_marginal_rate.nil?
|
375
|
+
scenario.wood_pellets_marginal_rate = 0.015
|
376
|
+
scenario.wood_pellets_marginal_rate_isdefaulted = true
|
377
|
+
end
|
378
|
+
end
|
379
|
+
|
380
|
+
next unless hpxml.pv_systems.size > 0
|
381
|
+
|
382
|
+
if scenario.pv_compensation_type.nil?
|
383
|
+
scenario.pv_compensation_type = HPXML::PVCompensationTypeNetMetering
|
384
|
+
scenario.pv_compensation_type_isdefaulted = true
|
385
|
+
end
|
386
|
+
|
387
|
+
if scenario.pv_compensation_type == HPXML::PVCompensationTypeNetMetering
|
388
|
+
if scenario.pv_net_metering_annual_excess_sellback_rate_type.nil?
|
389
|
+
scenario.pv_net_metering_annual_excess_sellback_rate_type = HPXML::PVAnnualExcessSellbackRateTypeUserSpecified
|
390
|
+
scenario.pv_net_metering_annual_excess_sellback_rate_type_isdefaulted = true
|
391
|
+
end
|
392
|
+
if scenario.pv_net_metering_annual_excess_sellback_rate_type == HPXML::PVAnnualExcessSellbackRateTypeUserSpecified
|
393
|
+
if scenario.pv_net_metering_annual_excess_sellback_rate.nil?
|
394
|
+
scenario.pv_net_metering_annual_excess_sellback_rate = 0.03
|
395
|
+
scenario.pv_net_metering_annual_excess_sellback_rate_isdefaulted = true
|
396
|
+
end
|
397
|
+
end
|
398
|
+
elsif scenario.pv_compensation_type == HPXML::PVCompensationTypeFeedInTariff
|
399
|
+
if scenario.pv_feed_in_tariff_rate.nil?
|
400
|
+
scenario.pv_feed_in_tariff_rate = 0.12
|
401
|
+
scenario.pv_feed_in_tariff_rate_isdefaulted = true
|
402
|
+
end
|
403
|
+
end
|
404
|
+
|
405
|
+
if scenario.pv_monthly_grid_connection_fee_dollars_per_kw.nil? && scenario.pv_monthly_grid_connection_fee_dollars.nil?
|
406
|
+
scenario.pv_monthly_grid_connection_fee_dollars = 0.0
|
407
|
+
scenario.pv_monthly_grid_connection_fee_dollars_isdefaulted = true
|
408
|
+
end
|
409
|
+
end
|
410
|
+
end
|
411
|
+
|
277
412
|
def self.apply_site(hpxml)
|
278
413
|
if hpxml.site.site_type.nil?
|
279
414
|
hpxml.site.site_type = HPXML::SiteTypeSuburban
|
@@ -284,6 +419,12 @@ class HPXMLDefaults
|
|
284
419
|
hpxml.site.shielding_of_home = HPXML::ShieldingNormal
|
285
420
|
hpxml.site.shielding_of_home_isdefaulted = true
|
286
421
|
end
|
422
|
+
|
423
|
+
if hpxml.site.ground_conductivity.nil?
|
424
|
+
hpxml.site.ground_conductivity = 1.0 # Btu/hr-ft-F
|
425
|
+
hpxml.site.ground_conductivity_isdefaulted = true
|
426
|
+
end
|
427
|
+
|
287
428
|
hpxml.site.additional_properties.aim2_shelter_coeff = Airflow.get_aim2_shelter_coefficient(hpxml.site.shielding_of_home)
|
288
429
|
end
|
289
430
|
|
@@ -375,18 +516,13 @@ class HPXMLDefaults
|
|
375
516
|
end
|
376
517
|
|
377
518
|
def self.apply_climate_and_risk_zones(hpxml, epw_file)
|
378
|
-
if (not epw_file.nil?) &&
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
end
|
386
|
-
|
387
|
-
if (not hpxml.climate_and_risk_zones.iecc_zone.nil?) && hpxml.climate_and_risk_zones.iecc_year.nil?
|
388
|
-
hpxml.climate_and_risk_zones.iecc_year = 2006
|
389
|
-
hpxml.climate_and_risk_zones.iecc_year_isdefaulted = true
|
519
|
+
if (not epw_file.nil?) && hpxml.climate_and_risk_zones.climate_zone_ieccs.empty?
|
520
|
+
zone = Location.get_climate_zone_iecc(epw_file.wmoNumber)
|
521
|
+
if not zone.nil?
|
522
|
+
hpxml.climate_and_risk_zones.climate_zone_ieccs.add(zone: zone,
|
523
|
+
year: 2006,
|
524
|
+
zone_isdefaulted: true,
|
525
|
+
year_isdefaulted: true)
|
390
526
|
end
|
391
527
|
end
|
392
528
|
end
|
@@ -637,23 +773,33 @@ class HPXMLDefaults
|
|
637
773
|
end
|
638
774
|
end
|
639
775
|
|
640
|
-
def self.
|
641
|
-
hpxml.
|
642
|
-
if
|
643
|
-
if
|
644
|
-
|
645
|
-
|
646
|
-
|
776
|
+
def self.apply_floors(hpxml)
|
777
|
+
hpxml.floors.each do |floor|
|
778
|
+
if floor.floor_or_ceiling.nil?
|
779
|
+
if floor.is_ceiling
|
780
|
+
floor.floor_or_ceiling = HPXML::FloorOrCeilingCeiling
|
781
|
+
floor.floor_or_ceiling_isdefaulted = true
|
782
|
+
elsif floor.is_floor
|
783
|
+
floor.floor_or_ceiling = HPXML::FloorOrCeilingFloor
|
784
|
+
floor.floor_or_ceiling_isdefaulted = true
|
785
|
+
end
|
786
|
+
end
|
787
|
+
|
788
|
+
if floor.interior_finish_type.nil?
|
789
|
+
if floor.is_floor
|
790
|
+
floor.interior_finish_type = HPXML::InteriorFinishNone
|
791
|
+
elsif HPXML::conditioned_finished_locations.include? floor.interior_adjacent_to
|
792
|
+
floor.interior_finish_type = HPXML::InteriorFinishGypsumBoard
|
647
793
|
else
|
648
|
-
|
794
|
+
floor.interior_finish_type = HPXML::InteriorFinishNone
|
649
795
|
end
|
650
|
-
|
796
|
+
floor.interior_finish_type_isdefaulted = true
|
651
797
|
end
|
652
|
-
next unless
|
798
|
+
next unless floor.interior_finish_thickness.nil?
|
653
799
|
|
654
|
-
if
|
655
|
-
|
656
|
-
|
800
|
+
if floor.interior_finish_type != HPXML::InteriorFinishNone
|
801
|
+
floor.interior_finish_thickness = 0.5
|
802
|
+
floor.interior_finish_thickness_isdefaulted = true
|
657
803
|
end
|
658
804
|
end
|
659
805
|
end
|
@@ -881,75 +1027,37 @@ class HPXMLDefaults
|
|
881
1027
|
end
|
882
1028
|
end
|
883
1029
|
|
884
|
-
#
|
885
|
-
hpxml.heating_systems.each do |heating_system|
|
886
|
-
year_installed = heating_system.year_installed
|
887
|
-
heating_system_type = heating_system.heating_system_type
|
888
|
-
heating_system_fuel = heating_system.heating_system_fuel
|
889
|
-
|
890
|
-
if [HPXML::HVACTypeBoiler, HPXML::HVACTypeFurnace, HPXML::HVACTypeWallFurnace, HPXML::HVACTypeFloorFurnace].include? heating_system_type
|
891
|
-
next unless heating_system.heating_efficiency_afue.nil?
|
892
|
-
|
893
|
-
if heating_system_fuel == HPXML::FuelTypeElectricity
|
894
|
-
heating_system.heating_efficiency_afue = 0.98
|
895
|
-
else
|
896
|
-
heating_system.heating_efficiency_afue = HVAC.get_default_hvac_efficiency_by_year_installed(year_installed, heating_system_type, heating_system_fuel, HPXML::UnitsAFUE)
|
897
|
-
end
|
898
|
-
heating_system.heating_efficiency_afue_isdefaulted = true
|
899
|
-
elsif [HPXML::HVACTypeElectricResistance, HPXML::HVACTypePTACHeating].include? heating_system_type
|
900
|
-
next unless heating_system.heating_efficiency_percent.nil?
|
901
|
-
|
902
|
-
heating_system.heating_efficiency_percent = 1.0
|
903
|
-
heating_system.heating_efficiency_percent_isdefaulted = true
|
904
|
-
elsif [HPXML::HVACTypeStove, HPXML::HVACTypeFireplace, HPXML::HVACTypePortableHeater, HPXML::HVACTypeFixedHeater].include? heating_system_type
|
905
|
-
next unless heating_system.heating_efficiency_percent.nil?
|
906
|
-
|
907
|
-
if heating_system_fuel == HPXML::FuelTypeElectricity
|
908
|
-
heating_system.heating_efficiency_percent = 1.0
|
909
|
-
elsif heating_system_fuel == HPXML::FuelTypeWoodCord
|
910
|
-
heating_system.heating_efficiency_percent = 0.60 # HEScore assumption
|
911
|
-
elsif heating_system_fuel == HPXML::FuelTypeWoodPellets
|
912
|
-
heating_system.heating_efficiency_percent = 0.78 # HEScore assumption
|
913
|
-
else
|
914
|
-
heating_system.heating_efficiency_percent = 0.81 # https://www.lopistoves.com/products/ and https://www.kozyheat.com/products/
|
915
|
-
end
|
916
|
-
heating_system.heating_efficiency_percent_isdefaulted = true
|
917
|
-
end
|
918
|
-
end
|
919
|
-
|
1030
|
+
# Convert SEER2/HSPF2 to SEER/HSPF
|
920
1031
|
hpxml.cooling_systems.each do |cooling_system|
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
if cooling_system_type == HPXML::HVACTypeCentralAirConditioner
|
926
|
-
next unless cooling_system.cooling_efficiency_seer.nil?
|
927
|
-
|
928
|
-
cooling_system.cooling_efficiency_seer = HVAC.get_default_hvac_efficiency_by_year_installed(year_installed, cooling_system_type, cooling_system_fuel, HPXML::UnitsSEER)
|
929
|
-
cooling_system.cooling_efficiency_seer_isdefaulted = true
|
930
|
-
elsif [HPXML::HVACTypeRoomAirConditioner].include? cooling_system_type
|
931
|
-
next unless cooling_system.cooling_efficiency_eer.nil? && cooling_system.cooling_efficiency_ceer.nil?
|
1032
|
+
next unless [HPXML::HVACTypeCentralAirConditioner,
|
1033
|
+
HPXML::HVACTypeMiniSplitAirConditioner].include? cooling_system.cooling_system_type
|
1034
|
+
next unless cooling_system.cooling_efficiency_seer.nil?
|
932
1035
|
|
933
|
-
|
934
|
-
|
935
|
-
|
1036
|
+
is_ducted = !cooling_system.distribution_system_idref.nil?
|
1037
|
+
cooling_system.cooling_efficiency_seer = HVAC.calc_seer_from_seer2(cooling_system.cooling_efficiency_seer2, is_ducted).round(2)
|
1038
|
+
cooling_system.cooling_efficiency_seer_isdefaulted = true
|
1039
|
+
cooling_system.cooling_efficiency_seer2 = nil
|
936
1040
|
end
|
937
1041
|
|
938
1042
|
hpxml.heat_pumps.each do |heat_pump|
|
939
|
-
|
940
|
-
|
941
|
-
|
1043
|
+
next unless [HPXML::HVACTypeHeatPumpAirToAir,
|
1044
|
+
HPXML::HVACTypeHeatPumpMiniSplit].include? heat_pump.heat_pump_type
|
1045
|
+
next unless heat_pump.cooling_efficiency_seer.nil?
|
942
1046
|
|
943
|
-
|
1047
|
+
is_ducted = !heat_pump.distribution_system_idref.nil?
|
1048
|
+
heat_pump.cooling_efficiency_seer = HVAC.calc_seer_from_seer2(heat_pump.cooling_efficiency_seer2, is_ducted).round(2)
|
1049
|
+
heat_pump.cooling_efficiency_seer_isdefaulted = true
|
1050
|
+
heat_pump.cooling_efficiency_seer2 = nil
|
1051
|
+
end
|
1052
|
+
hpxml.heat_pumps.each do |heat_pump|
|
1053
|
+
next unless [HPXML::HVACTypeHeatPumpAirToAir,
|
1054
|
+
HPXML::HVACTypeHeatPumpMiniSplit].include? heat_pump.heat_pump_type
|
1055
|
+
next unless heat_pump.heating_efficiency_hspf.nil?
|
944
1056
|
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
if heat_pump.heating_efficiency_hspf.nil?
|
950
|
-
heat_pump.heating_efficiency_hspf = HVAC.get_default_hvac_efficiency_by_year_installed(year_installed, heat_pump_type, heat_pump_fuel, HPXML::UnitsHSPF)
|
951
|
-
heat_pump.heating_efficiency_hspf_isdefaulted = true
|
952
|
-
end
|
1057
|
+
is_ducted = !heat_pump.distribution_system_idref.nil?
|
1058
|
+
heat_pump.heating_efficiency_hspf = HVAC.calc_hspf_from_hspf2(heat_pump.heating_efficiency_hspf2, is_ducted).round(2)
|
1059
|
+
heat_pump.heating_efficiency_hspf_isdefaulted = true
|
1060
|
+
heat_pump.heating_efficiency_hspf2 = nil
|
953
1061
|
end
|
954
1062
|
|
955
1063
|
# Default AC/HP compressor type
|
@@ -1095,7 +1203,7 @@ class HPXMLDefaults
|
|
1095
1203
|
hpxml.heating_systems.each do |heating_system|
|
1096
1204
|
if [HPXML::HVACTypeFurnace].include? heating_system.heating_system_type
|
1097
1205
|
if heating_system.fan_watts_per_cfm.nil?
|
1098
|
-
if heating_system.distribution_system.air_type == HPXML::AirTypeGravity
|
1206
|
+
if (not heating_system.distribution_system.nil?) && (heating_system.distribution_system.air_type == HPXML::AirTypeGravity)
|
1099
1207
|
heating_system.fan_watts_per_cfm = 0.0
|
1100
1208
|
elsif heating_system.heating_efficiency_afue > 0.9 # HEScore assumption
|
1101
1209
|
heating_system.fan_watts_per_cfm = ecm_watts_per_cfm
|
@@ -1212,7 +1320,6 @@ class HPXMLDefaults
|
|
1212
1320
|
end
|
1213
1321
|
end
|
1214
1322
|
hpxml.heating_systems.each do |heating_system|
|
1215
|
-
htg_ap = heating_system.additional_properties
|
1216
1323
|
next unless [HPXML::HVACTypeStove,
|
1217
1324
|
HPXML::HVACTypePortableHeater,
|
1218
1325
|
HPXML::HVACTypeFixedHeater,
|
@@ -1225,8 +1332,9 @@ class HPXMLDefaults
|
|
1225
1332
|
hpxml.heat_pumps.each do |heat_pump|
|
1226
1333
|
hp_ap = heat_pump.additional_properties
|
1227
1334
|
if [HPXML::HVACTypeHeatPumpAirToAir,
|
1228
|
-
HPXML::HVACTypeHeatPumpPTHP
|
1229
|
-
|
1335
|
+
HPXML::HVACTypeHeatPumpPTHP,
|
1336
|
+
HPXML::HVACTypeHeatPumpRoom].include? heat_pump.heat_pump_type
|
1337
|
+
if [HPXML::HVACTypeHeatPumpPTHP, HPXML::HVACTypeHeatPumpRoom].include? heat_pump.heat_pump_type
|
1230
1338
|
use_eer_cop = true
|
1231
1339
|
else
|
1232
1340
|
use_eer_cop = false
|
@@ -1282,7 +1390,7 @@ class HPXMLDefaults
|
|
1282
1390
|
schedules_file_includes_heating_setpoint_temp = Schedule.schedules_file_includes_col_name(schedules_file, SchedulesFile::ColumnHeatingSetpoint)
|
1283
1391
|
if hvac_control.heating_setpoint_temp.nil? && hvac_control.weekday_heating_setpoints.nil? && !schedules_file_includes_heating_setpoint_temp
|
1284
1392
|
# No heating setpoints; set a default heating setpoint for, e.g., natural ventilation
|
1285
|
-
htg_sp,
|
1393
|
+
htg_sp, _htg_setback_sp, _htg_setback_hrs_per_week, _htg_setback_start_hr = HVAC.get_default_heating_setpoint(HPXML::HVACControlTypeManual)
|
1286
1394
|
hvac_control.heating_setpoint_temp = htg_sp
|
1287
1395
|
hvac_control.heating_setpoint_temp_isdefaulted = true
|
1288
1396
|
end
|
@@ -1290,7 +1398,7 @@ class HPXMLDefaults
|
|
1290
1398
|
schedules_file_includes_cooling_setpoint_temp = Schedule.schedules_file_includes_col_name(schedules_file, SchedulesFile::ColumnCoolingSetpoint)
|
1291
1399
|
if hvac_control.cooling_setpoint_temp.nil? && hvac_control.weekday_cooling_setpoints.nil? && !schedules_file_includes_cooling_setpoint_temp
|
1292
1400
|
# No cooling setpoints; set a default cooling setpoint for, e.g., natural ventilation
|
1293
|
-
clg_sp,
|
1401
|
+
clg_sp, _clg_setup_sp, _clg_setup_hrs_per_week, _clg_setup_start_hr = HVAC.get_default_cooling_setpoint(HPXML::HVACControlTypeManual)
|
1294
1402
|
hvac_control.cooling_setpoint_temp = clg_sp
|
1295
1403
|
hvac_control.cooling_setpoint_temp_isdefaulted = true
|
1296
1404
|
end
|
@@ -1333,7 +1441,7 @@ class HPXMLDefaults
|
|
1333
1441
|
|
1334
1442
|
def self.apply_hvac_distribution(hpxml, ncfl, ncfl_ag)
|
1335
1443
|
hpxml.hvac_distributions.each do |hvac_distribution|
|
1336
|
-
next unless
|
1444
|
+
next unless hvac_distribution.distribution_system_type == HPXML::HVACDistributionTypeAir
|
1337
1445
|
next if hvac_distribution.ducts.empty?
|
1338
1446
|
|
1339
1447
|
# Default ducts
|
@@ -1368,7 +1476,8 @@ class HPXMLDefaults
|
|
1368
1476
|
duct.duct_location_isdefaulted = true
|
1369
1477
|
|
1370
1478
|
if secondary_duct_area > 0
|
1371
|
-
hvac_distribution.ducts.add(
|
1479
|
+
hvac_distribution.ducts.add(id: "#{duct.id}_secondary",
|
1480
|
+
duct_type: duct.duct_type,
|
1372
1481
|
duct_insulation_r_value: duct.duct_insulation_r_value,
|
1373
1482
|
duct_location: secondary_duct_location,
|
1374
1483
|
duct_location_isdefaulted: true,
|
@@ -1406,6 +1515,13 @@ class HPXMLDefaults
|
|
1406
1515
|
duct.duct_fraction_area_isdefaulted = true
|
1407
1516
|
end
|
1408
1517
|
end
|
1518
|
+
|
1519
|
+
hvac_distribution.ducts.each do |ducts|
|
1520
|
+
next unless ducts.duct_surface_area_multiplier.nil?
|
1521
|
+
|
1522
|
+
ducts.duct_surface_area_multiplier = 1.0
|
1523
|
+
ducts.duct_surface_area_multiplier_isdefaulted = true
|
1524
|
+
end
|
1409
1525
|
end
|
1410
1526
|
end
|
1411
1527
|
|
@@ -1418,26 +1534,32 @@ class HPXMLDefaults
|
|
1418
1534
|
vent_fan.is_shared_system = false
|
1419
1535
|
vent_fan.is_shared_system_isdefaulted = true
|
1420
1536
|
end
|
1421
|
-
if vent_fan.hours_in_operation.nil?
|
1537
|
+
if vent_fan.hours_in_operation.nil? && !vent_fan.is_cfis_supplemental_fan?
|
1422
1538
|
vent_fan.hours_in_operation = (vent_fan.fan_type == HPXML::MechVentTypeCFIS) ? 8.0 : 24.0
|
1423
1539
|
vent_fan.hours_in_operation_isdefaulted = true
|
1424
1540
|
end
|
1425
1541
|
if vent_fan.rated_flow_rate.nil? && vent_fan.tested_flow_rate.nil? && vent_fan.calculated_flow_rate.nil? && vent_fan.delivered_ventilation.nil?
|
1426
|
-
if hpxml.ventilation_fans.select { |vf| vf.used_for_whole_building_ventilation }.size > 1
|
1542
|
+
if hpxml.ventilation_fans.select { |vf| vf.used_for_whole_building_ventilation && !vf.is_cfis_supplemental_fan? }.size > 1
|
1427
1543
|
fail 'Defaulting flow rates for multiple mechanical ventilation systems is currently not supported.'
|
1428
1544
|
end
|
1429
1545
|
|
1430
|
-
vent_fan.rated_flow_rate = Airflow.get_default_mech_vent_flow_rate(hpxml, vent_fan, infil_measurements, weather,
|
1546
|
+
vent_fan.rated_flow_rate = Airflow.get_default_mech_vent_flow_rate(hpxml, vent_fan, infil_measurements, weather, cfa, nbeds).round(1)
|
1431
1547
|
vent_fan.rated_flow_rate_isdefaulted = true
|
1432
1548
|
end
|
1433
1549
|
if vent_fan.fan_power.nil?
|
1434
1550
|
vent_fan.fan_power = (vent_fan.flow_rate * Airflow.get_default_mech_vent_fan_power(vent_fan)).round(1)
|
1435
1551
|
vent_fan.fan_power_isdefaulted = true
|
1436
1552
|
end
|
1437
|
-
|
1553
|
+
next unless vent_fan.fan_type == HPXML::MechVentTypeCFIS
|
1554
|
+
|
1555
|
+
if vent_fan.cfis_vent_mode_airflow_fraction.nil?
|
1438
1556
|
vent_fan.cfis_vent_mode_airflow_fraction = 1.0
|
1439
1557
|
vent_fan.cfis_vent_mode_airflow_fraction_isdefaulted = true
|
1440
1558
|
end
|
1559
|
+
if vent_fan.cfis_addtl_runtime_operating_mode.nil?
|
1560
|
+
vent_fan.cfis_addtl_runtime_operating_mode = HPXML::CFISModeAirHandler
|
1561
|
+
vent_fan.cfis_addtl_runtime_operating_mode_isdefaulted = true
|
1562
|
+
end
|
1441
1563
|
end
|
1442
1564
|
|
1443
1565
|
# Default kitchen fan
|
@@ -1522,14 +1644,16 @@ class HPXMLDefaults
|
|
1522
1644
|
water_heating_system.performance_adjustment = Waterheater.get_default_performance_adjustment(water_heating_system)
|
1523
1645
|
water_heating_system.performance_adjustment_isdefaulted = true
|
1524
1646
|
end
|
1525
|
-
if (water_heating_system.water_heater_type == HPXML::WaterHeaterTypeCombiStorage) && water_heating_system.
|
1647
|
+
if (water_heating_system.water_heater_type == HPXML::WaterHeaterTypeCombiStorage) && water_heating_system.standby_loss_value.nil?
|
1526
1648
|
# Use equation fit from AHRI database
|
1527
1649
|
# calculate independent variable SurfaceArea/vol(physically linear to standby_loss/skin_u under test condition) to fit the linear equation from AHRI database
|
1528
1650
|
act_vol = Waterheater.calc_storage_tank_actual_vol(water_heating_system.tank_volume, nil)
|
1529
1651
|
surface_area = Waterheater.calc_tank_areas(act_vol)[0]
|
1530
1652
|
sqft_by_gal = surface_area / act_vol # sqft/gal
|
1531
|
-
water_heating_system.
|
1532
|
-
water_heating_system.
|
1653
|
+
water_heating_system.standby_loss_value = (2.9721 * sqft_by_gal - 0.4732).round(3) # linear equation assuming a constant u, F/hr
|
1654
|
+
water_heating_system.standby_loss_value_isdefaulted = true
|
1655
|
+
water_heating_system.standby_loss_units = HPXML::UnitsDegFPerHour
|
1656
|
+
water_heating_system.standby_loss_units_isdefaulted = true
|
1533
1657
|
end
|
1534
1658
|
if (water_heating_system.water_heater_type == HPXML::WaterHeaterTypeStorage)
|
1535
1659
|
if water_heating_system.heating_capacity.nil?
|
@@ -1540,10 +1664,6 @@ class HPXMLDefaults
|
|
1540
1664
|
water_heating_system.tank_volume = Waterheater.get_default_tank_volume(water_heating_system.fuel_type, nbeds, hpxml.building_construction.number_of_bathrooms)
|
1541
1665
|
water_heating_system.tank_volume_isdefaulted = true
|
1542
1666
|
end
|
1543
|
-
if water_heating_system.energy_factor.nil? && water_heating_system.uniform_energy_factor.nil?
|
1544
|
-
water_heating_system.energy_factor = Waterheater.get_default_water_heater_efficiency_by_year_installed(water_heating_system.year_installed, water_heating_system.fuel_type)
|
1545
|
-
water_heating_system.energy_factor_isdefaulted = true
|
1546
|
-
end
|
1547
1667
|
if water_heating_system.recovery_efficiency.nil?
|
1548
1668
|
water_heating_system.recovery_efficiency = Waterheater.get_default_recovery_efficiency(water_heating_system)
|
1549
1669
|
water_heating_system.recovery_efficiency_isdefaulted = true
|
@@ -1561,7 +1681,7 @@ class HPXMLDefaults
|
|
1561
1681
|
end
|
1562
1682
|
end
|
1563
1683
|
if water_heating_system.location.nil?
|
1564
|
-
water_heating_system.location = Waterheater.get_default_location(hpxml, hpxml.climate_and_risk_zones.
|
1684
|
+
water_heating_system.location = Waterheater.get_default_location(hpxml, hpxml.climate_and_risk_zones.climate_zone_ieccs[0])
|
1565
1685
|
water_heating_system.location_isdefaulted = true
|
1566
1686
|
end
|
1567
1687
|
next unless water_heating_system.usage_bin.nil? && (not water_heating_system.uniform_energy_factor.nil?) # FHR & UsageBin only applies to UEF
|
@@ -1705,14 +1825,18 @@ class HPXMLDefaults
|
|
1705
1825
|
battery.location = default_values[:location]
|
1706
1826
|
battery.location_isdefaulted = true
|
1707
1827
|
end
|
1708
|
-
if battery.lifetime_model.nil?
|
1709
|
-
|
1710
|
-
|
1711
|
-
end
|
1828
|
+
# if battery.lifetime_model.nil?
|
1829
|
+
# battery.lifetime_model = default_values[:lifetime_model]
|
1830
|
+
# battery.lifetime_model_isdefaulted = true
|
1831
|
+
# end
|
1712
1832
|
if battery.nominal_voltage.nil?
|
1713
1833
|
battery.nominal_voltage = default_values[:nominal_voltage] # V
|
1714
1834
|
battery.nominal_voltage_isdefaulted = true
|
1715
1835
|
end
|
1836
|
+
if battery.round_trip_efficiency.nil?
|
1837
|
+
battery.round_trip_efficiency = default_values[:round_trip_efficiency]
|
1838
|
+
battery.round_trip_efficiency_isdefaulted = true
|
1839
|
+
end
|
1716
1840
|
if battery.nominal_capacity_kwh.nil? && battery.nominal_capacity_ah.nil?
|
1717
1841
|
# Calculate nominal capacity from usable capacity or rated power output if available
|
1718
1842
|
if not battery.usable_capacity_kwh.nil?
|
@@ -2461,7 +2585,7 @@ class HPXMLDefaults
|
|
2461
2585
|
hvacpl = hpxml.hvac_plant
|
2462
2586
|
tol = 10 # Btuh
|
2463
2587
|
|
2464
|
-
# Assign heating design loads
|
2588
|
+
# Assign heating design loads to HPXML object
|
2465
2589
|
hvacpl.hdl_total = bldg_design_loads.Heat_Tot.round
|
2466
2590
|
hvacpl.hdl_walls = bldg_design_loads.Heat_Walls.round
|
2467
2591
|
hvacpl.hdl_ceilings = bldg_design_loads.Heat_Ceilings.round
|
@@ -2481,7 +2605,7 @@ class HPXMLDefaults
|
|
2481
2605
|
fail 'Heating design loads do not sum to total.'
|
2482
2606
|
end
|
2483
2607
|
|
2484
|
-
#
|
2608
|
+
# Assign cooling sensible design loads to HPXML object
|
2485
2609
|
hvacpl.cdl_sens_total = bldg_design_loads.Cool_Sens.round
|
2486
2610
|
hvacpl.cdl_sens_walls = bldg_design_loads.Cool_Walls.round
|
2487
2611
|
hvacpl.cdl_sens_ceilings = bldg_design_loads.Cool_Ceilings.round
|
@@ -2504,7 +2628,7 @@ class HPXMLDefaults
|
|
2504
2628
|
fail 'Cooling sensible design loads do not sum to total.'
|
2505
2629
|
end
|
2506
2630
|
|
2507
|
-
#
|
2631
|
+
# Assign cooling latent design loads to HPXML object
|
2508
2632
|
hvacpl.cdl_lat_total = bldg_design_loads.Cool_Lat.round
|
2509
2633
|
hvacpl.cdl_lat_ducts = bldg_design_loads.Cool_Ducts_Lat.round
|
2510
2634
|
hvacpl.cdl_lat_infilvent = bldg_design_loads.Cool_Infil_Lat.round
|
@@ -2515,7 +2639,11 @@ class HPXMLDefaults
|
|
2515
2639
|
fail 'Cooling latent design loads do not sum to total.'
|
2516
2640
|
end
|
2517
2641
|
|
2518
|
-
# Assign
|
2642
|
+
# Assign design temperatures to HPXML object
|
2643
|
+
hvacpl.temp_heating = weather.design.HeatingDrybulb.round(2)
|
2644
|
+
hvacpl.temp_cooling = weather.design.CoolingDrybulb.round(2)
|
2645
|
+
|
2646
|
+
# Assign sizing values to HPXML objects
|
2519
2647
|
all_hvac_sizing_values.each do |hvac_system, hvac_sizing_values|
|
2520
2648
|
htg_sys = hvac_system[:heating]
|
2521
2649
|
clg_sys = hvac_system[:cooling]
|
@@ -2552,11 +2680,6 @@ class HPXMLDefaults
|
|
2552
2680
|
htg_sys.backup_heating_capacity = hvac_sizing_values.Heat_Capacity_Supp.round
|
2553
2681
|
htg_sys.backup_heating_capacity_isdefaulted = true
|
2554
2682
|
end
|
2555
|
-
elsif htg_sys.backup_type == HPXML::HeatPumpBackupTypeSeparate
|
2556
|
-
if htg_sys.backup_system.heating_capacity.nil? || ((htg_sys.backup_system.heating_capacity - hvac_sizing_values.Heat_Capacity_Supp).abs >= 1.0)
|
2557
|
-
htg_sys.backup_system.heating_capacity = hvac_sizing_values.Heat_Capacity_Supp.round
|
2558
|
-
htg_sys.backup_system.heating_capacity_isdefaulted = true
|
2559
|
-
end
|
2560
2683
|
end
|
2561
2684
|
end
|
2562
2685
|
|
@@ -2567,10 +2690,6 @@ class HPXMLDefaults
|
|
2567
2690
|
htg_sys.heating_airflow_cfm = hvac_sizing_values.Heat_Airflow.round
|
2568
2691
|
htg_sys.heating_airflow_cfm_isdefaulted = true
|
2569
2692
|
end
|
2570
|
-
if htg_sys.is_a?(HPXML::HeatPump) && (htg_sys.backup_type == HPXML::HeatPumpBackupTypeSeparate)
|
2571
|
-
htg_sys.backup_system.heating_airflow_cfm = hvac_sizing_values.Heat_Airflow_Supp.round
|
2572
|
-
htg_sys.backup_system.heating_airflow_cfm_isdefaulted = true
|
2573
|
-
end
|
2574
2693
|
|
2575
2694
|
# Heating GSHP loop
|
2576
2695
|
if htg_sys.is_a? HPXML::HeatPump
|
@@ -2589,6 +2708,15 @@ class HPXMLDefaults
|
|
2589
2708
|
clg_sys.cooling_capacity = hvac_sizing_values.Cool_Capacity.round
|
2590
2709
|
clg_sys.cooling_capacity_isdefaulted = true
|
2591
2710
|
end
|
2711
|
+
# Integrated heating system capacities
|
2712
|
+
if (clg_sys.is_a? HPXML::CoolingSystem) && clg_sys.has_integrated_heating
|
2713
|
+
if clg_sys.integrated_heating_system_capacity.nil? || ((clg_sys.integrated_heating_system_capacity - hvac_sizing_values.Heat_Capacity).abs >= 1.0)
|
2714
|
+
clg_sys.integrated_heating_system_capacity = hvac_sizing_values.Heat_Capacity.round
|
2715
|
+
clg_sys.integrated_heating_system_capacity_isdefaulted = true
|
2716
|
+
end
|
2717
|
+
clg_sys.integrated_heating_system_airflow_cfm = hvac_sizing_values.Heat_Airflow.round
|
2718
|
+
clg_sys.integrated_heating_system_airflow_cfm_isdefaulted = true
|
2719
|
+
end
|
2592
2720
|
clg_sys.additional_properties.cooling_capacity_sensible = hvac_sizing_values.Cool_Capacity_Sens.round
|
2593
2721
|
|
2594
2722
|
# Cooling airflow
|