urbanopt-cli 0.8.3 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -6
  3. data/CHANGELOG.md +20 -0
  4. data/CMakeLists.txt +7 -7
  5. data/Gemfile +3 -1
  6. data/LICENSE.md +1 -1
  7. data/README.md +9 -0
  8. data/Rakefile +1 -1
  9. data/example_files/Gemfile +23 -16
  10. data/example_files/Gemfile.lock +177 -0
  11. data/example_files/base_workflow_res.osw +57 -14
  12. data/example_files/class_project_coincident.json +1322 -0
  13. data/example_files/class_project_diverse.json +1322 -0
  14. data/example_files/disco/config.json +42 -0
  15. data/example_files/disco/cost_database.xlsx +0 -0
  16. data/example_files/disco/technical_catalog.json +12126 -0
  17. data/example_files/mappers/Baseline.rb +11 -8
  18. data/example_files/mappers/ChilledWaterStorage.rb +98 -0
  19. data/example_files/mappers/ClassProject.rb +110 -0
  20. data/example_files/mappers/CreateBar.rb +2 -1
  21. data/example_files/mappers/EvCharging.rb +1 -1
  22. data/example_files/mappers/FlexibleHotWater.rb +1 -1
  23. data/example_files/mappers/Floorspace.rb +1 -1
  24. data/example_files/mappers/HighEfficiency.rb +14 -12
  25. data/example_files/mappers/HighEfficiencyCreateBar.rb +1 -1
  26. data/example_files/mappers/HighEfficiencyFloorspace.rb +1 -1
  27. data/example_files/mappers/PeakHoursMelsShedding.rb +72 -0
  28. data/example_files/mappers/PeakHoursThermostatAdjust.rb +78 -0
  29. data/example_files/mappers/ThermalStorage.rb +2 -1
  30. data/example_files/mappers/base_workflow.osw +55 -14
  31. data/example_files/mappers/class_project_workflow.osw +328 -0
  32. data/example_files/mappers/createbar_workflow.osw +16 -16
  33. data/example_files/measures/BuildResidentialModel/measure.rb +7 -1
  34. data/example_files/measures/BuildResidentialModel/measure.xml +1313 -706
  35. data/example_files/opendss/electrical_database.json +1446 -1446
  36. data/example_files/python_deps/dependencies.json +5 -0
  37. data/example_files/python_deps/install_python.ps1 +96 -0
  38. data/example_files/python_deps/install_python.sh +120 -0
  39. data/example_files/residential/clothes_dryer.tsv +11 -11
  40. data/example_files/residential/clothes_washer.tsv +3 -3
  41. data/example_files/residential/dishwasher.tsv +3 -3
  42. data/example_files/resources/hpxml-measures/.github/pull_request_template.md +0 -1
  43. data/example_files/resources/hpxml-measures/.github/workflows/config.yml +8 -21
  44. data/example_files/resources/hpxml-measures/.gitignore +2 -0
  45. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.rb +1272 -1094
  46. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.xml +978 -659
  47. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/geometry.rb +52 -74
  48. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/build_residential_hpxml_test.rb +77 -140
  49. data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.rb +37 -27
  50. data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.xml +42 -15
  51. data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/resources/schedules.rb +70 -51
  52. data/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/tests/build_residential_schedule_file_test.rb +142 -21
  53. data/example_files/resources/hpxml-measures/Changelog.md +95 -19
  54. data/example_files/resources/hpxml-measures/Gemfile +2 -4
  55. data/example_files/resources/hpxml-measures/Gemfile.lock +2 -13
  56. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.rb +276 -300
  57. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml +220 -214
  58. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/airflow.rb +215 -170
  59. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/battery.rb +115 -18
  60. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constants.rb +24 -44
  61. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constructions.rb +564 -197
  62. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/data/cambium/README.md +8 -8
  63. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/energyplus.rb +1 -0
  64. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/geometry.rb +7 -55
  65. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hotwater_appliances.rb +24 -19
  66. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml.rb +541 -211
  67. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb +305 -176
  68. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXML.xsd +0 -2
  69. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXMLBaseElements.xsd +230 -141
  70. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schema/HPXMLDataTypes.xsd +145 -137
  71. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml +191 -97
  72. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schematron/iso-schematron.xsd +391 -0
  73. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac.rb +194 -198
  74. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac_sizing.rb +140 -145
  75. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/lighting.rb +11 -11
  76. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/location.rb +33 -1
  77. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/materials.rb +4 -4
  78. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/meta_measure.rb +17 -9
  79. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/misc_loads.rb +14 -12
  80. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/output.rb +39 -17
  81. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/psychrometrics.rb +1 -1
  82. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/schedule_files/battery.csv +8761 -0
  83. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/schedules.rb +114 -57
  84. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/simcontrols.rb +1 -0
  85. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/utility_bills.rb +148 -0
  86. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/version.rb +2 -2
  87. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/waterheater.rb +90 -128
  88. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/weather.rb +26 -32
  89. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/xmlhelper.rb +2 -14
  90. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/xmlvalidator.rb +67 -0
  91. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_airflow.rb +117 -56
  92. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_battery.rb +141 -14
  93. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb +471 -344
  94. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_enclosure.rb +124 -20
  95. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_generator.rb +1 -1
  96. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hotwater_appliance.rb +28 -32
  97. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hvac.rb +172 -79
  98. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb +54 -8
  99. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_lighting.rb +3 -3
  100. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_location.rb +4 -4
  101. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_miscloads.rb +7 -7
  102. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_pv.rb +1 -1
  103. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_schedules.rb +6 -9
  104. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_simcontrols.rb +8 -8
  105. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_validation.rb +213 -95
  106. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_water_heater.rb +1 -10
  107. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_weather.rb +76 -0
  108. data/example_files/resources/hpxml-measures/README.md +2 -3
  109. data/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.rb +587 -284
  110. data/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.xml +304 -352
  111. data/example_files/resources/hpxml-measures/ReportSimulationOutput/tests/output_report_test.rb +404 -279
  112. data/example_files/resources/hpxml-measures/ReportUtilityBills/measure.rb +222 -501
  113. data/example_files/resources/hpxml-measures/ReportUtilityBills/measure.xml +137 -200
  114. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Flat Rate Min Annual Charge.json +649 -0
  115. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Flat Rate Min Monthly Charge.json +649 -0
  116. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Flat Rate.json +647 -0
  117. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Real-Time Pricing Rate Min Annual Charge.json +8776 -0
  118. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Real-Time Pricing Rate Min Monthly Charge.json +8776 -0
  119. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Real-Time Pricing Rate.json +8774 -0
  120. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate Min Annual Charge.json +659 -0
  121. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate Min Monthly Charge.json +659 -0
  122. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate.json +657 -0
  123. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Time-of-Use Rate Min Annual Charge.json +670 -0
  124. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Time-of-Use Rate Min Monthly Charge.json +670 -0
  125. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Tiered Time-of-Use Rate.json +668 -0
  126. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Time-of-Use Rate Min Annual Charge.json +655 -0
  127. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Time-of-Use Rate Min Monthly Charge.json +655 -0
  128. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/Sample Time-of-Use Rate.json +653 -0
  129. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/detailed_rates/openei_rates.zip +0 -0
  130. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/Average_retail_price_of_electricity.csv +0 -0
  131. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/HouseholdConsumption.csv +0 -0
  132. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/NG_PRI_SUM_A_EPG0_PRS_DMCF_A.csv +0 -0
  133. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/PET_PRI_WFR_A_EPD2F_PRS_DPGAL_W.csv +0 -0
  134. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/PET_PRI_WFR_A_EPLLPA_PRS_DPGAL_W.csv +0 -0
  135. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/{Data/UtilityRates → simple_rates}/README.md +0 -0
  136. data/example_files/resources/hpxml-measures/ReportUtilityBills/resources/util.rb +506 -25
  137. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Contains Demand Charges.json +1312 -0
  138. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Invalid Fixed Charge Units.json +657 -0
  139. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Invalid Min Charge Units.json +659 -0
  140. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/JacksonElectricMemberCorp-ResidentialSeniorCitizenLowIncomeAssistance.json +681 -0
  141. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/Missing Required Fields.json +54 -0
  142. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/data.csv +8761 -0
  143. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/utility_bills_test.rb +1006 -235
  144. data/example_files/resources/hpxml-measures/docs/source/conf.py +1 -1
  145. data/example_files/resources/hpxml-measures/docs/source/intro.rst +0 -1
  146. data/example_files/resources/hpxml-measures/docs/source/usage_instructions.rst +4 -3
  147. data/example_files/resources/hpxml-measures/docs/source/workflow_inputs.rst +468 -264
  148. data/example_files/resources/hpxml-measures/docs/source/workflow_outputs.rst +148 -154
  149. data/example_files/resources/hpxml-measures/tasks.rb +616 -802
  150. data/example_files/resources/hpxml-measures/workflow/real_homes/house001.xml +19 -11
  151. data/example_files/resources/hpxml-measures/workflow/real_homes/house002.xml +20 -12
  152. data/example_files/resources/hpxml-measures/workflow/real_homes/house003.xml +12 -7
  153. data/example_files/resources/hpxml-measures/workflow/real_homes/house004.xml +12 -7
  154. data/example_files/resources/hpxml-measures/workflow/real_homes/house005.xml +19 -11
  155. data/example_files/resources/hpxml-measures/workflow/real_homes/house006.xml +12 -7
  156. data/example_files/resources/hpxml-measures/workflow/real_homes/house007.xml +20 -12
  157. data/example_files/resources/hpxml-measures/workflow/real_homes/house008.xml +28 -16
  158. data/example_files/resources/hpxml-measures/workflow/real_homes/house009.xml +28 -17
  159. data/example_files/resources/hpxml-measures/workflow/real_homes/house010.xml +28 -16
  160. data/example_files/resources/hpxml-measures/workflow/real_homes/house011.xml +20 -12
  161. data/example_files/resources/hpxml-measures/workflow/real_homes/house012.xml +20 -12
  162. data/example_files/resources/hpxml-measures/workflow/real_homes/house013.xml +20 -12
  163. data/example_files/resources/hpxml-measures/workflow/real_homes/house014.xml +20 -12
  164. data/example_files/resources/hpxml-measures/workflow/real_homes/house015.xml +20 -12
  165. data/example_files/resources/hpxml-measures/workflow/real_homes/house016.xml +22 -12
  166. data/example_files/resources/hpxml-measures/workflow/real_homes/house017.xml +19 -11
  167. data/example_files/resources/hpxml-measures/workflow/real_homes/house018.xml +20 -12
  168. data/example_files/resources/hpxml-measures/workflow/real_homes/house019.xml +13 -7
  169. data/example_files/resources/hpxml-measures/workflow/real_homes/house020.xml +12 -7
  170. data/example_files/resources/hpxml-measures/workflow/real_homes/house021.xml +31 -16
  171. data/example_files/resources/hpxml-measures/workflow/real_homes/house022.xml +22 -12
  172. data/example_files/resources/hpxml-measures/workflow/real_homes/house023.xml +21 -12
  173. data/example_files/resources/hpxml-measures/workflow/real_homes/house024.xml +37 -22
  174. data/example_files/resources/hpxml-measures/workflow/real_homes/house025.xml +24 -12
  175. data/example_files/resources/hpxml-measures/workflow/real_homes/house026.xml +33 -21
  176. data/example_files/resources/hpxml-measures/workflow/real_homes/house027.xml +28 -16
  177. data/example_files/resources/hpxml-measures/workflow/real_homes/house028.xml +28 -16
  178. data/example_files/resources/hpxml-measures/workflow/real_homes/house029.xml +30 -17
  179. data/example_files/resources/hpxml-measures/workflow/real_homes/house030.xml +10 -7
  180. data/example_files/resources/hpxml-measures/workflow/real_homes/house031.xml +22 -11
  181. data/example_files/resources/hpxml-measures/workflow/real_homes/house032.xml +12 -7
  182. data/example_files/resources/hpxml-measures/workflow/real_homes/house033.xml +18 -12
  183. data/example_files/resources/hpxml-measures/workflow/real_homes/house034.xml +25 -16
  184. data/example_files/resources/hpxml-measures/workflow/real_homes/house035.xml +22 -12
  185. data/example_files/resources/hpxml-measures/workflow/real_homes/house036.xml +20 -12
  186. data/example_files/resources/hpxml-measures/workflow/real_homes/house037.xml +26 -17
  187. data/example_files/resources/hpxml-measures/workflow/real_homes/house038.xml +19 -11
  188. data/example_files/resources/hpxml-measures/workflow/real_homes/house039.xml +25 -16
  189. data/example_files/resources/hpxml-measures/workflow/real_homes/house040.xml +20 -12
  190. data/example_files/resources/hpxml-measures/workflow/real_homes/house041.xml +35 -21
  191. data/example_files/resources/hpxml-measures/workflow/real_homes/house042.xml +28 -17
  192. data/example_files/resources/hpxml-measures/workflow/real_homes/house043.xml +20 -12
  193. data/example_files/resources/hpxml-measures/workflow/real_homes/house044.xml +35 -21
  194. data/example_files/resources/hpxml-measures/workflow/real_homes/house045.xml +20 -12
  195. data/example_files/resources/hpxml-measures/workflow/real_homes/house046.xml +20 -13
  196. data/example_files/resources/hpxml-measures/workflow/real_homes/house047.xml +12 -9
  197. data/example_files/resources/hpxml-measures/workflow/real_homes/house048.xml +25 -14
  198. data/example_files/resources/hpxml-measures/workflow/real_homes/house049.xml +10 -7
  199. data/example_files/resources/hpxml-measures/workflow/real_homes/house050.xml +20 -11
  200. data/example_files/resources/hpxml-measures/workflow/run_simulation.rb +91 -88
  201. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-coal.xml +18 -7
  202. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief-portable.xml +546 -535
  203. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief-whole-home.xml +546 -535
  204. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-multiple.xml +555 -544
  205. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier.xml +18 -7
  206. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-gas.xml +18 -7
  207. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-modified.xml +18 -7
  208. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-none.xml +18 -7
  209. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-oil-location-miami-fl.xml +580 -569
  210. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-oil.xml +18 -7
  211. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-propane-location-portland-or.xml +580 -569
  212. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-propane.xml +18 -7
  213. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-wood.xml +18 -7
  214. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-cathedral.xml +7 -0
  215. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-conditioned.xml +17 -6
  216. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-flat.xml +7 -0
  217. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-radiant-barrier.xml +18 -7
  218. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-unvented-insulated-roof.xml +18 -7
  219. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-vented.xml +18 -7
  220. data/example_files/resources/hpxml-measures/workflow/sample_files/base-battery-scheduled.xml +600 -0
  221. data/example_files/resources/hpxml-measures/workflow/sample_files/base-battery.xml +598 -587
  222. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-multifamily-buffer-space.xml +494 -485
  223. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-multiple.xml +606 -593
  224. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-non-freezing-space.xml +494 -485
  225. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-other-heated-space.xml +494 -485
  226. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-adjacent-to-other-housing-unit.xml +494 -485
  227. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-calctype-operational.xml +480 -471
  228. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-baseboard.xml +464 -457
  229. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-fan-coil-ducted.xml +496 -487
  230. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-fan-coil.xml +466 -459
  231. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-chiller-water-loop-heat-pump.xml +518 -509
  232. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-cooling-tower-water-loop-heat-pump.xml +513 -504
  233. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-baseboard.xml +445 -438
  234. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil-ducted.xml +476 -467
  235. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil-eae.xml +443 -436
  236. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-fan-coil.xml +446 -439
  237. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-boiler-only-water-loop-heat-pump.xml +494 -485
  238. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-baseboard.xml +445 -438
  239. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-fan-coil-ducted.xml +476 -467
  240. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-fan-coil.xml +446 -439
  241. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-chiller-only-water-loop-heat-pump.xml +494 -485
  242. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-cooling-tower-only-water-loop-heat-pump.xml +489 -480
  243. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-generator.xml +499 -490
  244. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-ground-loop-ground-to-air-heat-pump.xml +491 -482
  245. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-laundry-room-multiple-water-heaters.xml +510 -0
  246. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-laundry-room.xml +495 -486
  247. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent-multiple.xml +709 -695
  248. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent-preconditioning.xml +528 -519
  249. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-mechvent.xml +512 -503
  250. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-pv.xml +504 -495
  251. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-water-heater-recirc.xml +497 -488
  252. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily-shared-water-heater.xml +490 -481
  253. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-multifamily.xml +487 -478
  254. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached-2stories.xml +639 -628
  255. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached-atticroof-cathedral.xml +587 -580
  256. data/example_files/resources/hpxml-measures/workflow/sample_files/base-bldgtype-single-family-attached.xml +639 -628
  257. data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational-misc-defaults.xml +539 -528
  258. data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational-misc-loads-large-uncommon.xml +644 -633
  259. data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational-misc-loads-large-uncommon2.xml +644 -633
  260. data/example_files/resources/hpxml-measures/workflow/sample_files/base-calctype-operational.xml +575 -564
  261. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless-outside.xml +16 -7
  262. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless.xml +16 -7
  263. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-2-speed.xml +18 -7
  264. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-gshp.xml +585 -574
  265. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-hpwh.xml +18 -7
  266. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-tankless.xml +18 -7
  267. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-var-speed.xml +18 -7
  268. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater.xml +18 -7
  269. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-dwhr.xml +18 -7
  270. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-detailed-setpoints.xml +536 -0
  271. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-dse.xml +16 -7
  272. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-outside.xml +16 -7
  273. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-standbyloss.xml +20 -8
  274. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-with-solar-fraction.xml +16 -7
  275. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect.xml +16 -7
  276. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-electric.xml +18 -7
  277. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-gas.xml +18 -7
  278. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-hpwh.xml +18 -7
  279. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-indirect.xml +16 -7
  280. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-low-flow-fixtures.xml +18 -7
  281. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-multiple.xml +16 -7
  282. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-none.xml +18 -7
  283. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-demand.xml +19 -8
  284. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-manual.xml +19 -8
  285. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-nocontrol.xml +19 -8
  286. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-temperature.xml +19 -8
  287. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-timer.xml +19 -8
  288. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-evacuated-tube.xml +18 -7
  289. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-flat-plate.xml +18 -7
  290. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-ics.xml +18 -7
  291. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-fraction.xml +18 -7
  292. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-indirect-flat-plate.xml +18 -7
  293. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-thermosyphon-flat-plate.xml +18 -7
  294. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-coal.xml +18 -7
  295. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-detailed-setpoints.xml +582 -571
  296. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-elec-uef.xml +583 -572
  297. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-outside.xml +18 -7
  298. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-uef-fhr.xml +584 -573
  299. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-uef.xml +584 -573
  300. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas.xml +18 -7
  301. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-detailed-schedules.xml +583 -572
  302. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-operating-mode-heat-pump-only.xml +585 -574
  303. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-outside.xml +18 -7
  304. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-uef.xml +582 -571
  305. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar-fraction.xml +18 -7
  306. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar.xml +18 -7
  307. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump.xml +18 -7
  308. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-model-type-stratified-detailed-occupancy-stochastic.xml +586 -575
  309. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-model-type-stratified.xml +585 -574
  310. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-oil.xml +18 -7
  311. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-wood.xml +18 -7
  312. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-detailed-setpoints.xml +580 -569
  313. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-outside.xml +18 -7
  314. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-uef.xml +580 -569
  315. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric.xml +18 -7
  316. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-uef.xml +580 -569
  317. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar-fraction.xml +18 -7
  318. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar.xml +18 -7
  319. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas.xml +18 -7
  320. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-propane.xml +18 -7
  321. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories-garage.xml +28 -11
  322. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories.xml +20 -7
  323. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-1.xml +18 -7
  324. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-2.xml +18 -7
  325. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-4.xml +18 -7
  326. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-5.xml +18 -7
  327. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-ceilingtypes.xml +607 -0
  328. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-floortypes.xml +550 -0
  329. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-garage.xml +27 -12
  330. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-ach-house-pressure.xml +18 -7
  331. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm-house-pressure.xml +18 -7
  332. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm50.xml +18 -7
  333. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-flue.xml +18 -7
  334. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-natural-ach.xml +18 -7
  335. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-orientations.xml +589 -578
  336. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-overhangs.xml +18 -7
  337. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-rooftypes.xml +18 -7
  338. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-physical-properties.xml +619 -608
  339. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-shading.xml +620 -609
  340. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights-storms.xml +618 -607
  341. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights.xml +18 -7
  342. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-level.xml +537 -526
  343. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces.xml +90 -43
  344. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces2.xml +2507 -2460
  345. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-thermal-mass.xml +595 -584
  346. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-walltypes.xml +19 -8
  347. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-natural-ventilation-availability.xml +584 -0
  348. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-none.xml +18 -7
  349. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-physical-properties.xml +594 -583
  350. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-shading.xml +597 -586
  351. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-storms.xml +598 -587
  352. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-ambient.xml +27 -12
  353. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-basement-garage.xml +671 -656
  354. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-complex.xml +18 -7
  355. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-basement-slab-insulation.xml +18 -7
  356. 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
  357. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-crawlspace.xml +582 -571
  358. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-multiple.xml +35 -16
  359. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-slab.xml +18 -7
  360. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-above-grade.xml +27 -12
  361. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-assembly-r.xml +27 -12
  362. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-wall-insulation.xml +27 -12
  363. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement.xml +27 -12
  364. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unvented-crawlspace.xml +27 -12
  365. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-vented-crawlspace.xml +27 -12
  366. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-walkout-basement.xml +18 -7
  367. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-backup-lockout-temperature.xml +586 -575
  368. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-cooling-only.xml +573 -562
  369. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-heating-only.xml +580 -569
  370. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed-seer2-hspf2.xml +583 -0
  371. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed.xml +18 -7
  372. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-2-speed.xml +18 -7
  373. 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
  374. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-backup-boiler.xml +599 -588
  375. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-backup-furnace.xml +629 -616
  376. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed.xml +18 -7
  377. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-cooling-only.xml +573 -562
  378. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-1-speed-heating-only.xml +579 -568
  379. 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
  380. 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
  381. 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
  382. 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
  383. 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
  384. 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
  385. 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
  386. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-backup-boiler.xml +598 -587
  387. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-air-to-air-heat-pump-var-speed-backup-furnace.xml +628 -615
  388. 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
  389. 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
  390. 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
  391. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-elec-only.xml +535 -526
  392. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-gas-central-ac-1-speed.xml +589 -578
  393. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-boiler-gas-only.xml +536 -527
  394. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-1-speed.xml +18 -7
  395. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-2-speed.xml +565 -554
  396. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-only-var-speed.xml +565 -554
  397. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-central-ac-plus-air-to-air-heat-pump-heating.xml +18 -7
  398. 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
  399. 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
  400. 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
  401. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-dual-fuel-mini-split-heat-pump-ducted.xml +18 -7
  402. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-elec-resistance-only.xml +526 -517
  403. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-evap-cooler-furnace-gas.xml +573 -562
  404. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-floor-furnace-propane-only.xml +529 -520
  405. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-elec-only.xml +565 -554
  406. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-central-ac-2-speed.xml +580 -569
  407. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-central-ac-var-speed.xml +580 -569
  408. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-only.xml +565 -554
  409. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-furnace-gas-room-ac.xml +578 -567
  410. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-cooling-only.xml +575 -564
  411. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-heating-only.xml +581 -570
  412. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-acca.xml +583 -572
  413. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-hers.xml +583 -572
  414. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-maxload.xml +583 -572
  415. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-air-conditioner-only-ducted.xml +18 -7
  416. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-cooling-only.xml +18 -7
  417. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-heating-only.xml +18 -7
  418. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology-acca.xml +580 -569
  419. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology-hers.xml +580 -569
  420. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ducted-sizing-methodology-maxload.xml +580 -569
  421. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-mini-split-heat-pump-ductless-backup-stove.xml +551 -542
  422. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ptac-with-heating.xml +532 -530
  423. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-ptac.xml +525 -516
  424. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-pthp-sizing-methodology-acca.xml +541 -532
  425. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-pthp-sizing-methodology-hers.xml +541 -532
  426. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-pthp-sizing-methodology-maxload.xml +541 -532
  427. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-only.xml +525 -516
  428. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-heating.xml +533 -0
  429. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology-acca.xml +542 -0
  430. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology-hers.xml +542 -0
  431. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-room-ac-with-reverse-cycle-sizing-methodology-maxload.xml +542 -0
  432. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-stove-oil-only.xml +529 -520
  433. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize-wall-furnace-elec-only.xml +529 -520
  434. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-autosize.xml +580 -569
  435. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-coal-only.xml +16 -7
  436. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-elec-only.xml +16 -7
  437. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-central-ac-1-speed.xml +18 -7
  438. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-only.xml +16 -7
  439. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-oil-only.xml +16 -7
  440. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-propane-only.xml +16 -7
  441. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-wood-only.xml +16 -7
  442. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-1-speed-seer2.xml +567 -0
  443. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-1-speed.xml +18 -7
  444. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-2-speed.xml +18 -7
  445. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-var-speed.xml +18 -7
  446. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml +18 -7
  447. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dse.xml +16 -7
  448. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.xml +18 -7
  449. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.xml +18 -7
  450. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.xml +18 -7
  451. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.xml +18 -7
  452. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-mini-split-heat-pump-ducted.xml +18 -7
  453. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-area-fractions.xml +611 -598
  454. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-area-multipliers.xml +589 -0
  455. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-leakage-cfm50.xml +582 -571
  456. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-leakage-percent.xml +18 -7
  457. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-elec-resistance-only.xml +16 -7
  458. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-furnace-gas.xml +18 -7
  459. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only-ducted.xml +17 -7
  460. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only.xml +16 -7
  461. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fireplace-wood-only.xml +530 -521
  462. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fixed-heater-gas-only.xml +530 -521
  463. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-floor-furnace-propane-only.xml +530 -521
  464. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-coal-only.xml +566 -555
  465. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-central-ac-1-speed.xml +18 -7
  466. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-only.xml +18 -7
  467. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-2-speed.xml +18 -7
  468. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-var-speed.xml +18 -7
  469. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-only-detailed-setpoints.xml +566 -555
  470. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-only.xml +566 -555
  471. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-room-ac.xml +18 -7
  472. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-oil-only.xml +18 -7
  473. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-propane-only.xml +18 -7
  474. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-wood-only.xml +18 -7
  475. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-x3-dse.xml +16 -7
  476. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump-cooling-only.xml +574 -563
  477. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump-heating-only.xml +581 -570
  478. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump.xml +583 -572
  479. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-air-to-air-heat-pump-1-speed.xml +587 -576
  480. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-air-to-air-heat-pump-2-speed.xml +587 -576
  481. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-air-to-air-heat-pump-var-speed.xml +587 -576
  482. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-central-ac-1-speed.xml +591 -580
  483. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-central-ac-2-speed.xml +591 -580
  484. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-central-ac-var-speed.xml +591 -580
  485. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-furnace-gas-only.xml +570 -559
  486. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml +586 -575
  487. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml +570 -559
  488. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-install-quality-mini-split-heat-pump-ducted.xml +586 -575
  489. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ducted.xml +18 -7
  490. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless.xml +16 -7
  491. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-cooling-only.xml +18 -7
  492. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-heating-only.xml +18 -7
  493. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted.xml +18 -7
  494. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless-backup-stove.xml +552 -543
  495. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless.xml +16 -7
  496. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-multiple.xml +963 -938
  497. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-none.xml +33 -69
  498. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-portable-heater-gas-only.xml +530 -521
  499. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ptac-with-heating-electricity.xml +535 -0
  500. 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
  501. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ptac.xml +526 -517
  502. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-pthp.xml +541 -532
  503. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-33percent.xml +16 -7
  504. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-ceer.xml +526 -517
  505. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-detailed-setpoints.xml +526 -517
  506. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only.xml +16 -7
  507. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-with-heating.xml +535 -0
  508. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-with-reverse-cycle.xml +542 -0
  509. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-seasons.xml +594 -583
  510. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints-daily-schedules.xml +586 -575
  511. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints-daily-setbacks.xml +18 -7
  512. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints.xml +18 -7
  513. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-oil-only.xml +530 -521
  514. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-wood-pellets-only.xml +530 -521
  515. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized-allow-increased-fixed-capacities.xml +18 -7
  516. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized.xml +18 -7
  517. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-wall-furnace-elec-only.xml +530 -521
  518. data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-ceiling-fans.xml +18 -7
  519. data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-holiday.xml +18 -7
  520. data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-none.xml +18 -7
  521. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-AMY-2012.xml +18 -7
  522. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-baltimore-md.xml +27 -12
  523. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-capetown-zaf.xml +591 -576
  524. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-dallas-tx.xml +18 -7
  525. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-duluth-mn.xml +27 -12
  526. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-helena-mt.xml +582 -571
  527. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-honolulu-hi.xml +537 -526
  528. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-miami-fl.xml +18 -7
  529. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-phoenix-az.xml +537 -526
  530. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-portland-or.xml +601 -586
  531. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-balanced.xml +18 -7
  532. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-bath-kitchen-fans.xml +18 -7
  533. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-airflow-fraction-zero.xml +601 -587
  534. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-dse.xml +19 -7
  535. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-evap-cooler-only-ducted.xml +20 -7
  536. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-supplemental-fan-exhaust.xml +607 -0
  537. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-supplemental-fan-supply.xml +607 -0
  538. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis.xml +21 -7
  539. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv-atre-asre.xml +18 -7
  540. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv.xml +18 -7
  541. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust-rated-flow-rate.xml +18 -7
  542. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust.xml +18 -7
  543. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv-asre.xml +18 -7
  544. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv.xml +18 -7
  545. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-multiple.xml +37 -19
  546. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-supply.xml +18 -7
  547. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-whole-house-fan.xml +18 -7
  548. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-additional-properties.xml +590 -579
  549. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-none.xml +578 -0
  550. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-pv-detailed-only.xml +632 -0
  551. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-pv-mixed.xml +614 -0
  552. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills-pv.xml +677 -0
  553. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-bills.xml +593 -0
  554. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-defaults.xml +27 -9
  555. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-emissions.xml +676 -665
  556. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators-battery-scheduled.xml +616 -0
  557. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators-battery.xml +615 -0
  558. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-generators.xml +598 -587
  559. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-ground-conductivity.xml +586 -0
  560. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon.xml +18 -7
  561. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon2.xml +18 -7
  562. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-none.xml +18 -7
  563. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-neighbor-shading.xml +18 -7
  564. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-shielding-of-home.xml +583 -572
  565. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-usage-multiplier.xml +18 -7
  566. data/example_files/resources/hpxml-measures/workflow/sample_files/base-multiple-buildings.xml +1700 -1677
  567. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery-ah.xml +622 -611
  568. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery-garage.xml +697 -682
  569. data/example_files/resources/hpxml-measures/workflow/sample_files/{base-pv-battery-lifetime-model.xml → base-pv-battery-round-trip-efficiency.xml} +20 -11
  570. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery-scheduled.xml +624 -0
  571. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-battery.xml +622 -611
  572. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-generators-battery-scheduled.xml +640 -0
  573. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-generators-battery.xml +639 -0
  574. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-generators.xml +623 -0
  575. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv.xml +606 -595
  576. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-all-10-mins.xml +582 -571
  577. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-smooth.xml +583 -572
  578. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-stochastic-10-mins.xml +584 -0
  579. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-stochastic-vacancy.xml +583 -572
  580. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-occupancy-stochastic.xml +583 -572
  581. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-setpoints-daily-schedules.xml +581 -570
  582. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-setpoints-daily-setbacks.xml +581 -570
  583. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-detailed-setpoints.xml +581 -570
  584. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-simple.xml +636 -625
  585. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-calendar-year-custom.xml +18 -7
  586. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-custom.xml +27 -14
  587. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-disabled.xml +21 -10
  588. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-runperiod-1-month.xml +21 -10
  589. 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
  590. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins-occupancy-stochastic-10-mins.xml +584 -0
  591. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins-occupancy-stochastic-60-mins.xml +584 -0
  592. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins.xml +18 -7
  593. 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
  594. data/example_files/resources/hpxml-measures/workflow/sample_files/base.xml +18 -7
  595. data/example_files/resources/hpxml-measures/workflow/template-build-and-run-hpxml-with-stochastic-occupancy.osw +18 -13
  596. data/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy-subset.osw +64 -0
  597. data/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy.osw +12 -7
  598. data/example_files/resources/hpxml-measures/workflow/template-run-hpxml.osw +8 -24
  599. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AC.xml +366 -358
  600. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AL.xml +369 -361
  601. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AC.xml +369 -361
  602. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AL.xml +369 -361
  603. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AC.xml +369 -361
  604. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AL.xml +369 -361
  605. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AC.xml +369 -361
  606. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AL.xml +369 -361
  607. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AC.xml +311 -303
  608. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AL.xml +311 -303
  609. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AC.xml +327 -319
  610. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AL.xml +327 -319
  611. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AC.xml +332 -324
  612. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AL.xml +332 -324
  613. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AC.xml +341 -333
  614. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AL.xml +341 -333
  615. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AC.xml +369 -361
  616. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AL.xml +369 -361
  617. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AC.xml +369 -361
  618. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AL.xml +369 -361
  619. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AC.xml +369 -361
  620. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AL.xml +369 -361
  621. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L302XC.xml +383 -379
  622. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L304XC.xml +383 -379
  623. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L322XC.xml +538 -534
  624. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L324XC.xml +550 -546
  625. data/example_files/resources/hpxml-measures/workflow/tests/base_results/results.csv +444 -410
  626. data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_ashrae_140.csv +8 -8
  627. data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_bills.csv +444 -410
  628. data/example_files/resources/hpxml-measures/workflow/tests/compare.py +18 -4
  629. data/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb +163 -392
  630. data/example_files/scripts/convert_urbanopt_to_disco.py +130 -0
  631. data/example_files/scripts/default_control_changes.csv +8 -0
  632. data/example_files/scripts/default_voltage_regulators.csv +3 -0
  633. data/example_files/scripts/read_data.py +331 -0
  634. data/example_files/visualization/input_visualization_feature.html +172 -81
  635. data/example_files/visualization/input_visualization_scenario.html +178 -82
  636. data/example_files/xml_building/17/README.md +2 -2
  637. data/example_files/xml_building/17/unit 1.xml +40 -41
  638. data/example_files/xml_building/17/unit 2.xml +35 -36
  639. data/example_files/xml_building/17/unit 3.xml +35 -36
  640. data/example_files/xml_building/17/unit 4.xml +41 -42
  641. data/lib/uo_cli/version.rb +2 -2
  642. data/lib/uo_cli.rb +597 -97
  643. data/uo_cli.gemspec +6 -5
  644. metadata +122 -36
  645. data/example_files/residential/exhaust.tsv +0 -3
  646. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/data/hvac_equipment_efficiency.csv +0 -493
  647. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/data/water_heater_efficiency.csv +0 -157
  648. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_schematron/HPXMLvalidator.xml +0 -620
  649. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/validator.rb +0 -107
  650. data/example_files/resources/hpxml-measures/ReportHPXMLOutput/measure.rb +0 -450
  651. data/example_files/resources/hpxml-measures/ReportHPXMLOutput/measure.xml +0 -85
  652. data/example_files/resources/hpxml-measures/ReportHPXMLOutput/resources/constants.rb +0 -72
  653. data/example_files/resources/hpxml-measures/ReportHPXMLOutput/tests/hpxml_output_report_test.rb +0 -290
  654. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/PV_10kW.csv +0 -8761
  655. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/PV_1kW.csv +0 -8761
  656. data/example_files/resources/hpxml-measures/ReportUtilityBills/tests/PV_None.csv +0 -8761
  657. data/example_files/resources/hpxml-measures/workflow/tests/base_results/results_hvac_sizing.csv +0 -410
@@ -8,10 +8,15 @@ require_relative '../measure.rb'
8
8
  require 'fileutils'
9
9
 
10
10
  class BuildResidentialHPXMLTest < MiniTest::Test
11
- def test_workflows
12
- this_dir = File.dirname(__FILE__)
13
- tests_dir = File.join(this_dir, 'extra_files')
11
+ def setup
12
+ @output_path = File.join(File.dirname(__FILE__), 'extra_files')
13
+ end
14
+
15
+ def teardown
16
+ FileUtils.rm_rf(@output_path)
17
+ end
14
18
 
19
+ def test_workflows
15
20
  # Extra buildings that don't correspond with sample files
16
21
  hpxmls_files = {
17
22
  # Base files to derive from
@@ -35,11 +40,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
35
40
  'extra-enclosure-garage-atticroof-conditioned.xml' => 'base-sfd.xml',
36
41
  'extra-enclosure-atticroof-conditioned-eaves-gable.xml' => 'base-sfd.xml',
37
42
  'extra-enclosure-atticroof-conditioned-eaves-hip.xml' => 'extra-enclosure-atticroof-conditioned-eaves-gable.xml',
38
- 'extra-zero-refrigerator-kwh.xml' => 'base-sfd.xml',
39
- 'extra-zero-extra-refrigerator-kwh.xml' => 'base-sfd.xml',
40
- 'extra-zero-freezer-kwh.xml' => 'base-sfd.xml',
41
- 'extra-zero-clothes-washer-kwh.xml' => 'base-sfd.xml',
42
- 'extra-zero-dishwasher-kwh.xml' => 'base-sfd.xml',
43
43
  'extra-gas-pool-heater-with-zero-kwh.xml' => 'base-sfd.xml',
44
44
  'extra-gas-hot-tub-heater-with-zero-kwh.xml' => 'base-sfd.xml',
45
45
  'extra-no-rim-joists.xml' => 'base-sfd.xml',
@@ -47,6 +47,8 @@ class BuildResidentialHPXMLTest < MiniTest::Test
47
47
  'extra-state-code-different-than-epw.xml' => 'base-sfd.xml',
48
48
  'extra-time-zone-different-than-epw.xml' => 'base-sfd.xml',
49
49
  'extra-emissions-fossil-fuel-factors.xml' => 'base-sfd.xml',
50
+ 'extra-bills-fossil-fuel-rates.xml' => 'base-sfd.xml',
51
+ 'extra-seasons-building-america.xml' => 'base-sfd.xml',
50
52
 
51
53
  'extra-sfa-atticroof-flat.xml' => 'base-sfa.xml',
52
54
  'extra-sfa-atticroof-conditioned-eaves-gable.xml' => 'extra-sfa-slab.xml',
@@ -144,8 +146,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
144
146
 
145
147
  'error-heating-system-and-heat-pump.xml' => 'base-sfd.xml',
146
148
  'error-cooling-system-and-heat-pump.xml' => 'base-sfd.xml',
147
- 'error-non-integer-geometry-num-bathrooms.xml' => 'base-sfd.xml',
148
- 'error-non-integer-ceiling-fan-quantity.xml' => 'base-sfd.xml',
149
149
  'error-sfd-conditioned-basement-zero-foundation-height.xml' => 'base-sfd.xml',
150
150
  'error-sfd-adiabatic-walls.xml' => 'base-sfd.xml',
151
151
  'error-mf-bottom-crawlspace-zero-foundation-height.xml' => 'base-mf.xml',
@@ -169,6 +169,7 @@ class BuildResidentialHPXMLTest < MiniTest::Test
169
169
  'error-emissions-args-not-all-specified.xml' => 'base-sfd.xml',
170
170
  'error-emissions-args-not-all-same-size.xml' => 'base-sfd.xml',
171
171
  'error-emissions-natural-gas-args-not-all-specified.xml' => 'base-sfd.xml',
172
+ 'error-bills-args-not-all-same-size.xml' => 'base-sfd.xml',
172
173
  'error-invalid-aspect-ratio.xml' => 'base-sfd.xml',
173
174
  'error-negative-foundation-height.xml' => 'base-sfd.xml',
174
175
  'error-too-many-floors.xml' => 'base-sfd.xml',
@@ -194,24 +195,17 @@ class BuildResidentialHPXMLTest < MiniTest::Test
194
195
  'warning-unvented-attic-with-floor-and-roof-insulation.xml' => 'base-sfd.xml',
195
196
  'warning-conditioned-basement-with-ceiling-insulation.xml' => 'base-sfd.xml',
196
197
  'warning-conditioned-attic-with-floor-insulation.xml' => 'base-sfd.xml',
197
- 'warning-multipliers-without-tv-plug-loads.xml' => 'base-sfd.xml',
198
- 'warning-multipliers-without-other-plug-loads.xml' => 'base-sfd.xml',
199
- 'warning-multipliers-without-well-pump-plug-loads.xml' => 'base-sfd.xml',
200
- 'warning-multipliers-without-vehicle-plug-loads.xml' => 'base-sfd.xml',
201
- 'warning-multipliers-without-fuel-loads.xml' => 'base-sfd.xml',
202
198
  }
203
199
 
204
200
  expected_errors = {
205
201
  'error-heating-system-and-heat-pump.xml' => 'Multiple central heating systems are not currently supported.',
206
202
  'error-cooling-system-and-heat-pump.xml' => 'Multiple central cooling systems are not currently supported.',
207
- 'error-non-integer-geometry-num-bathrooms.xml' => 'Number of bathrooms must be an integer.',
208
- 'error-non-integer-ceiling-fan-quantity.xml' => 'Quantity of ceiling fans must be an integer.',
209
203
  'error-sfd-conditioned-basement-zero-foundation-height.xml' => "Foundation type of 'ConditionedBasement' cannot have a height of zero.",
210
204
  'error-sfd-adiabatic-walls.xml' => 'No adiabatic surfaces can be applied to single-family detached homes.',
211
205
  'error-mf-conditioned-basement' => 'Conditioned basement/crawlspace foundation type for apartment units is not currently supported.',
212
206
  'error-mf-conditioned-crawlspace' => 'Conditioned basement/crawlspace foundation type for apartment units is not currently supported.',
213
207
  'error-mf-bottom-crawlspace-zero-foundation-height.xml' => "Foundation type of 'UnventedCrawlspace' cannot have a height of zero.",
214
- 'error-ducts-location-and-areas-not-same-type.xml' => 'Duct location and surface area not both auto or not both specified.',
208
+ 'error-ducts-location-and-areas-not-same-type.xml' => 'Duct location and surface area not both defaulted or not both specified.',
215
209
  'error-second-heating-system-serves-total-heat-load.xml' => 'The fraction of heat load served by the second heating system is 100%.',
216
210
  'error-second-heating-system-but-no-primary-heating.xml' => 'A second heating system was specified without a primary heating system.',
217
211
  'error-sfa-no-building-num-units.xml' => 'Did not specify the number of units in the building for single-family attached or apartment units.',
@@ -231,6 +225,7 @@ class BuildResidentialHPXMLTest < MiniTest::Test
231
225
  'error-emissions-args-not-all-specified.xml' => 'Did not specify all required emissions arguments.',
232
226
  'error-emissions-args-not-all-same-size.xml' => 'One or more emissions arguments does not have enough comma-separated elements specified.',
233
227
  'error-emissions-natural-gas-args-not-all-specified.xml' => 'Did not specify fossil fuel emissions units for natural gas emissions values.',
228
+ 'error-bills-args-not-all-same-size.xml' => 'One or more utility bill arguments does not have enough comma-separated elements specified.',
234
229
  'error-invalid-aspect-ratio.xml' => 'Aspect ratio must be greater than zero.',
235
230
  'error-negative-foundation-height.xml' => 'Foundation height cannot be negative.',
236
231
  'error-too-many-floors.xml' => 'Number of above-grade floors must be six or less.',
@@ -258,11 +253,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
258
253
  'warning-unvented-attic-with-floor-and-roof-insulation.xml' => 'Home with unconditioned attic type has both ceiling insulation and roof insulation.',
259
254
  'warning-conditioned-basement-with-ceiling-insulation.xml' => 'Home with conditioned basement has floor insulation.',
260
255
  'warning-conditioned-attic-with-floor-insulation.xml' => 'Home with conditioned attic has ceiling insulation.',
261
- 'warning-multipliers-without-tv-plug-loads.xml' => 'Specified a non-zero usage multiplier for zero television plug loads.',
262
- 'warning-multipliers-without-other-plug-loads.xml' => 'Specified a non-zero usage multiplier for zero other plug loads.',
263
- 'warning-multipliers-without-well-pump-plug-loads.xml' => 'Specified a non-zero usage multiplier for zero well pump plug loads.',
264
- 'warning-multipliers-without-vehicle-plug-loads.xml' => 'Specified a non-zero usage multiplier for zero vehicle plug loads.',
265
- 'warning-multipliers-without-fuel-loads.xml' => 'Specified a non-zero usage multiplier for a fuel load that is zero.',
266
256
  }
267
257
 
268
258
  puts "Generating #{hpxmls_files.size} HPXML files..."
@@ -309,7 +299,7 @@ class BuildResidentialHPXMLTest < MiniTest::Test
309
299
  flunk "Error: Did not successfully generate #{hpxml_file}."
310
300
  end
311
301
 
312
- hpxml_path = File.absolute_path(File.join(tests_dir, hpxml_file))
302
+ hpxml_path = File.absolute_path(File.join(@output_path, hpxml_file))
313
303
  hpxml = HPXML.new(hpxml_path: hpxml_path, collapse_enclosure: false)
314
304
  hpxml.header.xml_generated_by = 'build_residential_hpxml_test.rb'
315
305
  hpxml.header.created_date_and_time = Time.new(2000, 1, 1).strftime('%Y-%m-%dT%H:%M:%S%:z') # Hard-code to prevent diffs
@@ -320,12 +310,24 @@ class BuildResidentialHPXMLTest < MiniTest::Test
320
310
  flunk "Error: Did not successfully generate #{hpxml_file}.\n#{e}\n#{e.backtrace.join('\n')}"
321
311
  end
322
312
  end
313
+
314
+ # Check generated HPXML files
315
+ hpxml = HPXML.new(hpxml_path: File.absolute_path(File.join(@output_path, 'extra-seasons-building-america.xml')))
316
+ hvac_control = hpxml.hvac_controls[0]
317
+ assert_equal(10, hvac_control.seasons_heating_begin_month)
318
+ assert_equal(1, hvac_control.seasons_heating_begin_day)
319
+ assert_equal(6, hvac_control.seasons_heating_end_month)
320
+ assert_equal(30, hvac_control.seasons_heating_end_day)
321
+ assert_equal(5, hvac_control.seasons_cooling_begin_month)
322
+ assert_equal(1, hvac_control.seasons_cooling_begin_day)
323
+ assert_equal(10, hvac_control.seasons_cooling_end_month)
324
+ assert_equal(31, hvac_control.seasons_cooling_end_day)
323
325
  end
324
326
 
325
327
  private
326
328
 
327
329
  def _set_measure_argument_values(hpxml_file, args)
328
- args['hpxml_path'] = "tests/extra_files/#{hpxml_file}"
330
+ args['hpxml_path'] = File.join(File.dirname(__FILE__), "extra_files/#{hpxml_file}")
329
331
  args['apply_defaults'] = true
330
332
  args['apply_validation'] = true
331
333
 
@@ -359,10 +361,9 @@ class BuildResidentialHPXMLTest < MiniTest::Test
359
361
  args['geometry_unit_num_bedrooms'] = 3
360
362
  args['geometry_unit_num_bathrooms'] = 2
361
363
  args['geometry_unit_num_occupants'] = 3
362
- args['geometry_has_flue_or_chimney'] = Constants.Auto
363
364
  args['floor_over_foundation_assembly_r'] = 0
364
365
  args['floor_over_garage_assembly_r'] = 0
365
- args['foundation_wall_type'] = Constants.Auto
366
+ args['floor_type'] = HPXML::FloorTypeWoodFrame
366
367
  args['foundation_wall_thickness'] = 8.0
367
368
  args['foundation_wall_insulation_r'] = 8.9
368
369
  args['foundation_wall_insulation_distance_to_top'] = 0.0
@@ -385,10 +386,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
385
386
  args['neighbor_back_distance'] = 0
386
387
  args['neighbor_left_distance'] = 0
387
388
  args['neighbor_right_distance'] = 0
388
- args['neighbor_front_height'] = Constants.Auto
389
- args['neighbor_back_height'] = Constants.Auto
390
- args['neighbor_left_height'] = Constants.Auto
391
- args['neighbor_right_height'] = Constants.Auto
392
389
  args['wall_type'] = HPXML::WallTypeWoodStud
393
390
  args['wall_siding_type'] = HPXML::SidingTypeWood
394
391
  args['wall_color'] = HPXML::ColorMedium
@@ -430,7 +427,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
430
427
  args['air_leakage_units'] = HPXML::UnitsACH
431
428
  args['air_leakage_house_pressure'] = 50
432
429
  args['air_leakage_value'] = 3
433
- args['site_shielding_of_home'] = Constants.Auto
434
430
  args['heating_system_type'] = HPXML::HVACTypeFurnace
435
431
  args['heating_system_fuel'] = HPXML::FuelTypeNaturalGas
436
432
  args['heating_system_heating_efficiency'] = 0.92
@@ -452,7 +448,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
452
448
  args['heat_pump_cooling_compressor_type'] = HPXML::HVACCompressorTypeSingleStage
453
449
  args['heat_pump_cooling_sensible_heat_fraction'] = 0.73
454
450
  args['heat_pump_heating_capacity'] = 36000.0
455
- args['heat_pump_heating_capacity_17_f'] = Constants.Auto
456
451
  args['heat_pump_cooling_capacity'] = 36000.0
457
452
  args['heat_pump_fraction_heat_load_served'] = 1
458
453
  args['heat_pump_fraction_cool_load_served'] = 1
@@ -477,7 +472,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
477
472
  args['heating_system_2_type'] = 'none'
478
473
  args['heating_system_2_fuel'] = HPXML::FuelTypeElectricity
479
474
  args['heating_system_2_heating_efficiency'] = 1.0
480
- args['heating_system_2_heating_capacity'] = Constants.Auto
481
475
  args['heating_system_2_fraction_heat_load_served'] = 0.25
482
476
  args['mech_vent_fan_type'] = 'none'
483
477
  args['mech_vent_flow_rate'] = 110
@@ -497,8 +491,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
497
491
  args['kitchen_fans_quantity'] = 0
498
492
  args['bathroom_fans_quantity'] = 0
499
493
  args['whole_house_fan_present'] = false
500
- args['whole_house_fan_flow_rate'] = 4500
501
- args['whole_house_fan_power'] = 300
502
494
  args['water_heater_type'] = HPXML::WaterHeaterTypeStorage
503
495
  args['water_heater_fuel_type'] = HPXML::FuelTypeElectricity
504
496
  args['water_heater_location'] = HPXML::LocationLivingSpace
@@ -523,7 +515,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
523
515
  args['dwhr_efficiency'] = 0.55
524
516
  args['water_fixtures_shower_low_flow'] = true
525
517
  args['water_fixtures_sink_low_flow'] = false
526
- args['water_fixtures_usage_multiplier'] = 1.0
527
518
  args['solar_thermal_system_type'] = 'none'
528
519
  args['solar_thermal_collector_area'] = 40.0
529
520
  args['solar_thermal_collector_loop_type'] = HPXML::SolarThermalLoopTypeDirect
@@ -532,46 +523,34 @@ class BuildResidentialHPXMLTest < MiniTest::Test
532
523
  args['solar_thermal_collector_tilt'] = 20
533
524
  args['solar_thermal_collector_rated_optical_efficiency'] = 0.5
534
525
  args['solar_thermal_collector_rated_thermal_losses'] = 0.2799
535
- args['solar_thermal_storage_volume'] = Constants.Auto
536
526
  args['solar_thermal_solar_fraction'] = 0
537
- args['pv_system_module_type'] = 'none'
538
- args['pv_system_location'] = Constants.Auto
539
- args['pv_system_tracking'] = Constants.Auto
527
+ args['pv_system_present'] = false
540
528
  args['pv_system_array_azimuth'] = 180
541
529
  args['pv_system_array_tilt'] = 20
542
530
  args['pv_system_max_power_output'] = 4000
543
- args['pv_system_inverter_efficiency'] = 0.96
544
- args['pv_system_system_losses_fraction'] = 0.14
545
- args['pv_system_num_bedrooms_served'] = 3
546
- args['pv_system_2_module_type'] = 'none'
547
- args['pv_system_2_location'] = Constants.Auto
548
- args['pv_system_2_tracking'] = Constants.Auto
531
+ args['pv_system_2_present'] = false
549
532
  args['pv_system_2_array_azimuth'] = 180
550
533
  args['pv_system_2_array_tilt'] = 20
551
534
  args['pv_system_2_max_power_output'] = 4000
552
- args['battery_location'] = 'none'
553
- args['battery_power'] = Constants.Auto
554
- args['battery_capacity'] = Constants.Auto
535
+ args['battery_present'] = false
536
+ args['lighting_present'] = true
555
537
  args['lighting_interior_fraction_cfl'] = 0.4
556
538
  args['lighting_interior_fraction_lfl'] = 0.1
557
539
  args['lighting_interior_fraction_led'] = 0.25
558
- args['lighting_interior_usage_multiplier'] = 1.0
559
540
  args['lighting_exterior_fraction_cfl'] = 0.4
560
541
  args['lighting_exterior_fraction_lfl'] = 0.1
561
542
  args['lighting_exterior_fraction_led'] = 0.25
562
- args['lighting_exterior_usage_multiplier'] = 1.0
563
543
  args['lighting_garage_fraction_cfl'] = 0.4
564
544
  args['lighting_garage_fraction_lfl'] = 0.1
565
545
  args['lighting_garage_fraction_led'] = 0.25
566
- args['lighting_garage_usage_multiplier'] = 1.0
567
546
  args['holiday_lighting_present'] = false
568
- args['holiday_lighting_daily_kwh'] = Constants.Auto
569
547
  args['dehumidifier_type'] = 'none'
570
548
  args['dehumidifier_efficiency_type'] = 'EnergyFactor'
571
549
  args['dehumidifier_efficiency'] = 1.8
572
550
  args['dehumidifier_capacity'] = 40
573
551
  args['dehumidifier_rh_setpoint'] = 0.5
574
552
  args['dehumidifier_fraction_dehumidification_load_served'] = 1
553
+ args['clothes_washer_present'] = true
575
554
  args['clothes_washer_location'] = HPXML::LocationLivingSpace
576
555
  args['clothes_washer_efficiency_type'] = 'IntegratedModifiedEnergyFactor'
577
556
  args['clothes_washer_efficiency'] = 1.21
@@ -581,13 +560,13 @@ class BuildResidentialHPXMLTest < MiniTest::Test
581
560
  args['clothes_washer_label_annual_gas_cost'] = 27.0
582
561
  args['clothes_washer_label_usage'] = 6.0
583
562
  args['clothes_washer_capacity'] = 3.2
584
- args['clothes_washer_usage_multiplier'] = 1.0
563
+ args['clothes_dryer_present'] = true
585
564
  args['clothes_dryer_location'] = HPXML::LocationLivingSpace
586
565
  args['clothes_dryer_fuel_type'] = HPXML::FuelTypeElectricity
587
566
  args['clothes_dryer_efficiency_type'] = 'CombinedEnergyFactor'
588
567
  args['clothes_dryer_efficiency'] = 3.73
589
568
  args['clothes_dryer_vented_flow_rate'] = 150.0
590
- args['clothes_dryer_usage_multiplier'] = 1.0
569
+ args['dishwasher_present'] = true
591
570
  args['dishwasher_location'] = HPXML::LocationLivingSpace
592
571
  args['dishwasher_efficiency_type'] = 'RatedAnnualkWh'
593
572
  args['dishwasher_efficiency'] = 307
@@ -596,66 +575,34 @@ class BuildResidentialHPXMLTest < MiniTest::Test
596
575
  args['dishwasher_label_annual_gas_cost'] = 22.32
597
576
  args['dishwasher_label_usage'] = 4.0
598
577
  args['dishwasher_place_setting_capacity'] = 12
599
- args['dishwasher_usage_multiplier'] = 1.0
578
+ args['refrigerator_present'] = true
600
579
  args['refrigerator_location'] = HPXML::LocationLivingSpace
601
580
  args['refrigerator_rated_annual_kwh'] = 650.0
602
- args['refrigerator_usage_multiplier'] = 1.0
603
- args['extra_refrigerator_location'] = 'none'
604
- args['extra_refrigerator_rated_annual_kwh'] = Constants.Auto
605
- args['extra_refrigerator_usage_multiplier'] = 1.0
606
- args['freezer_location'] = 'none'
607
- args['freezer_rated_annual_kwh'] = Constants.Auto
608
- args['freezer_usage_multiplier'] = 1.0
581
+ args['extra_refrigerator_present'] = false
582
+ args['freezer_present'] = false
583
+ args['cooking_range_oven_present'] = true
609
584
  args['cooking_range_oven_location'] = HPXML::LocationLivingSpace
610
585
  args['cooking_range_oven_fuel_type'] = HPXML::FuelTypeElectricity
611
586
  args['cooking_range_oven_is_induction'] = false
612
587
  args['cooking_range_oven_is_convection'] = false
613
- args['cooking_range_oven_usage_multiplier'] = 1.0
614
588
  args['ceiling_fan_present'] = false
615
- args['ceiling_fan_efficiency'] = Constants.Auto
616
- args['ceiling_fan_quantity'] = Constants.Auto
617
- args['ceiling_fan_cooling_setpoint_temp_offset'] = 0
618
589
  args['misc_plug_loads_television_present'] = true
619
590
  args['misc_plug_loads_television_annual_kwh'] = 620.0
620
- args['misc_plug_loads_television_usage_multiplier'] = 1.0
621
591
  args['misc_plug_loads_other_annual_kwh'] = 2457.0
622
592
  args['misc_plug_loads_other_frac_sensible'] = 0.855
623
593
  args['misc_plug_loads_other_frac_latent'] = 0.045
624
- args['misc_plug_loads_other_usage_multiplier'] = 1.0
625
594
  args['misc_plug_loads_well_pump_present'] = false
626
- args['misc_plug_loads_well_pump_annual_kwh'] = Constants.Auto
627
- args['misc_plug_loads_well_pump_usage_multiplier'] = 0.0
628
595
  args['misc_plug_loads_vehicle_present'] = false
629
- args['misc_plug_loads_vehicle_annual_kwh'] = Constants.Auto
630
- args['misc_plug_loads_vehicle_usage_multiplier'] = 0.0
631
596
  args['misc_fuel_loads_grill_present'] = false
632
597
  args['misc_fuel_loads_grill_fuel_type'] = HPXML::FuelTypeNaturalGas
633
- args['misc_fuel_loads_grill_annual_therm'] = Constants.Auto
634
- args['misc_fuel_loads_grill_usage_multiplier'] = 0.0
635
598
  args['misc_fuel_loads_lighting_present'] = false
636
599
  args['misc_fuel_loads_lighting_fuel_type'] = HPXML::FuelTypeNaturalGas
637
- args['misc_fuel_loads_lighting_annual_therm'] = Constants.Auto
638
- args['misc_fuel_loads_lighting_usage_multiplier'] = 0.0
639
600
  args['misc_fuel_loads_fireplace_present'] = false
640
601
  args['misc_fuel_loads_fireplace_fuel_type'] = HPXML::FuelTypeNaturalGas
641
- args['misc_fuel_loads_fireplace_annual_therm'] = Constants.Auto
642
- args['misc_fuel_loads_fireplace_frac_sensible'] = Constants.Auto
643
- args['misc_fuel_loads_fireplace_frac_latent'] = Constants.Auto
644
- args['misc_fuel_loads_fireplace_usage_multiplier'] = 0.0
645
602
  args['pool_present'] = false
646
- args['pool_pump_annual_kwh'] = Constants.Auto
647
- args['pool_pump_usage_multiplier'] = 1.0
648
603
  args['pool_heater_type'] = HPXML::HeaterTypeElectricResistance
649
- args['pool_heater_annual_kwh'] = Constants.Auto
650
- args['pool_heater_annual_therm'] = Constants.Auto
651
- args['pool_heater_usage_multiplier'] = 1.0
652
604
  args['hot_tub_present'] = false
653
- args['hot_tub_pump_annual_kwh'] = Constants.Auto
654
- args['hot_tub_pump_usage_multiplier'] = 1.0
655
605
  args['hot_tub_heater_type'] = HPXML::HeaterTypeElectricResistance
656
- args['hot_tub_heater_annual_kwh'] = Constants.Auto
657
- args['hot_tub_heater_annual_therm'] = Constants.Auto
658
- args['hot_tub_heater_usage_multiplier'] = 1.0
659
606
  elsif ['base-sfa.xml'].include? hpxml_file
660
607
  args['geometry_unit_type'] = HPXML::ResidentialTypeSFA
661
608
  args['geometry_unit_cfa'] = 1800.0
@@ -697,17 +644,17 @@ class BuildResidentialHPXMLTest < MiniTest::Test
697
644
 
698
645
  # Extras
699
646
  if ['extra-auto.xml'].include? hpxml_file
700
- args['geometry_unit_num_occupants'] = Constants.Auto
701
- args['ducts_supply_location'] = Constants.Auto
702
- args['ducts_return_location'] = Constants.Auto
703
- args['ducts_supply_surface_area'] = Constants.Auto
704
- args['ducts_return_surface_area'] = Constants.Auto
705
- args['water_heater_location'] = Constants.Auto
706
- args['water_heater_tank_volume'] = Constants.Auto
707
- args['hot_water_distribution_standard_piping_length'] = Constants.Auto
708
- args['clothes_washer_location'] = Constants.Auto
709
- args['clothes_dryer_location'] = Constants.Auto
710
- args['refrigerator_location'] = Constants.Auto
647
+ args.delete('geometry_unit_num_occupants')
648
+ args.delete('ducts_supply_location')
649
+ args.delete('ducts_return_location')
650
+ args.delete('ducts_supply_surface_area')
651
+ args.delete('ducts_return_surface_area')
652
+ args.delete('water_heater_location')
653
+ args.delete('water_heater_tank_volume')
654
+ args.delete('hot_water_distribution_standard_piping_length')
655
+ args.delete('clothes_washer_location')
656
+ args.delete('clothes_dryer_location')
657
+ args.delete('refrigerator_location')
711
658
  elsif ['extra-pv-roofpitch.xml'].include? hpxml_file
712
659
  args['pv_system_module_type'] = HPXML::PVModuleTypeStandard
713
660
  args['pv_system_2_module_type'] = HPXML::PVModuleTypeStandard
@@ -802,7 +749,7 @@ class BuildResidentialHPXMLTest < MiniTest::Test
802
749
  args['geometry_foundation_type'] = HPXML::FoundationTypeSlab
803
750
  args['geometry_foundation_height'] = 0.0
804
751
  args['geometry_foundation_height_above_grade'] = 0.0
805
- args['foundation_wall_insulation_distance_to_bottom'] = Constants.Auto
752
+ args.delete('foundation_wall_insulation_distance_to_bottom')
806
753
  args['geometry_unit_cfa'] = 4500.0
807
754
  args['geometry_unit_num_floors_above_grade'] = 2
808
755
  args['geometry_attic_type'] = HPXML::AtticTypeConditioned
@@ -811,17 +758,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
811
758
  args['ducts_return_location'] = HPXML::LocationUnderSlab
812
759
  elsif ['extra-enclosure-atticroof-conditioned-eaves-hip.xml'].include? hpxml_file
813
760
  args['geometry_roof_type'] = 'hip'
814
- elsif ['extra-zero-refrigerator-kwh.xml'].include? hpxml_file
815
- args['refrigerator_rated_annual_kwh'] = 0
816
- elsif ['extra-zero-extra-refrigerator-kwh.xml'].include? hpxml_file
817
- args['extra_refrigerator_rated_annual_kwh'] = 0
818
- elsif ['extra-zero-freezer-kwh.xml'].include? hpxml_file
819
- args['freezer_rated_annual_kwh'] = 0
820
- elsif ['extra-zero-clothes-washer-kwh.xml'].include? hpxml_file
821
- args['clothes_washer_rated_annual_kwh'] = 0
822
- args['clothes_dryer_location'] = 'none'
823
- elsif ['extra-zero-dishwasher-kwh.xml'].include? hpxml_file
824
- args['dishwasher_efficiency'] = 0
825
761
  elsif ['extra-gas-pool-heater-with-zero-kwh.xml'].include? hpxml_file
826
762
  args['pool_present'] = true
827
763
  args['pool_heater_type'] = HPXML::HeaterTypeGas
@@ -850,6 +786,21 @@ class BuildResidentialHPXMLTest < MiniTest::Test
850
786
  args['emissions_fuel_oil_values'] = '161.0, 0.0015'
851
787
  args['emissions_coal_values'] = '211.1, 0.0020'
852
788
  args['emissions_wood_values'] = '200.0, 0.0025'
789
+ elsif ['extra-bills-fossil-fuel-rates.xml'].include? hpxml_file
790
+ args['utility_bill_scenario_names'] = 'Scenario1, Scenario2'
791
+ args['utility_bill_propane_fixed_charges'] = '1, 2'
792
+ args['utility_bill_propane_marginal_rates'] = '3, 4'
793
+ args['utility_bill_fuel_oil_fixed_charges'] = '5, 6'
794
+ args['utility_bill_fuel_oil_marginal_rates'] = '6, 7'
795
+ args['utility_bill_coal_fixed_charges'] = '8, 9'
796
+ args['utility_bill_coal_marginal_rates'] = '10, 11'
797
+ args['utility_bill_wood_fixed_charges'] = '12, 13'
798
+ args['utility_bill_wood_marginal_rates'] = '14, 15'
799
+ args['utility_bill_wood_pellets_fixed_charges'] = '16, 17'
800
+ args['utility_bill_wood_pellets_marginal_rates'] = '18, 19'
801
+ elsif ['extra-seasons-building-america.xml'].include? hpxml_file
802
+ args['hvac_control_heating_season_period'] = HPXML::BuildingAmerica
803
+ args['hvac_control_cooling_season_period'] = HPXML::BuildingAmerica
853
804
  elsif ['extra-sfa-atticroof-flat.xml'].include? hpxml_file
854
805
  args['geometry_attic_type'] = HPXML::AtticTypeFlatRoof
855
806
  args['ducts_supply_leakage_to_outside_value'] = 0.0
@@ -870,7 +821,7 @@ class BuildResidentialHPXMLTest < MiniTest::Test
870
821
  args['geometry_foundation_type'] = HPXML::FoundationTypeSlab
871
822
  args['geometry_foundation_height'] = 0.0
872
823
  args['geometry_foundation_height_above_grade'] = 0.0
873
- args['foundation_wall_insulation_distance_to_bottom'] = Constants.Auto
824
+ args.delete('foundation_wall_insulation_distance_to_bottom')
874
825
  elsif ['extra-sfa-vented-crawlspace.xml'].include? hpxml_file
875
826
  args['geometry_foundation_type'] = HPXML::FoundationTypeCrawlspaceVented
876
827
  args['geometry_foundation_height'] = 4.0
@@ -922,7 +873,7 @@ class BuildResidentialHPXMLTest < MiniTest::Test
922
873
  args['geometry_foundation_type'] = HPXML::FoundationTypeSlab
923
874
  args['geometry_foundation_height'] = 0.0
924
875
  args['geometry_foundation_height_above_grade'] = 0.0
925
- args['foundation_wall_insulation_distance_to_bottom'] = Constants.Auto
876
+ args.delete('foundation_wall_insulation_distance_to_bottom')
926
877
  elsif ['extra-mf-vented-crawlspace.xml'].include? hpxml_file
927
878
  args['geometry_building_num_units'] = 18
928
879
  args['geometry_foundation_type'] = HPXML::FoundationTypeCrawlspaceVented
@@ -1037,13 +988,9 @@ class BuildResidentialHPXMLTest < MiniTest::Test
1037
988
  elsif ['error-cooling-system-and-heat-pump.xml'].include? hpxml_file
1038
989
  args['heating_system_type'] = 'none'
1039
990
  args['heat_pump_type'] = HPXML::HVACTypeHeatPumpAirToAir
1040
- elsif ['error-non-integer-geometry-num-bathrooms.xml'].include? hpxml_file
1041
- args['geometry_unit_num_bathrooms'] = 1.5
1042
- elsif ['error-non-integer-ceiling-fan-quantity.xml'].include? hpxml_file
1043
- args['ceiling_fan_quantity'] = 0.5
1044
991
  elsif ['error-sfd-conditioned-basement-zero-foundation-height.xml'].include? hpxml_file
1045
992
  args['geometry_foundation_height'] = 0.0
1046
- args['foundation_wall_insulation_distance_to_bottom'] = Constants.Auto
993
+ args.delete('foundation_wall_insulation_distance_to_bottom')
1047
994
  elsif ['error-sfd-adiabatic-walls.xml'].include? hpxml_file
1048
995
  args['geometry_unit_left_wall_is_adiabatic'] = true
1049
996
  elsif ['error-mf-conditioned-basement'].include? hpxml_file
@@ -1054,9 +1001,9 @@ class BuildResidentialHPXMLTest < MiniTest::Test
1054
1001
  args['geometry_foundation_type'] = HPXML::FoundationTypeCrawlspaceUnvented
1055
1002
  args['geometry_foundation_height'] = 0.0
1056
1003
  args['geometry_attic_type'] = HPXML::AtticTypeBelowApartment
1057
- args['foundation_wall_insulation_distance_to_bottom'] = Constants.Auto
1004
+ args.delete('foundation_wall_insulation_distance_to_bottom')
1058
1005
  elsif ['error-ducts-location-and-areas-not-same-type.xml'].include? hpxml_file
1059
- args['ducts_supply_location'] = Constants.Auto
1006
+ args.delete('ducts_supply_location')
1060
1007
  elsif ['error-second-heating-system-serves-total-heat-load.xml'].include? hpxml_file
1061
1008
  args['heating_system_2_type'] = HPXML::HVACTypeFireplace
1062
1009
  args['heating_system_2_fraction_heat_load_served'] = 1.0
@@ -1107,6 +1054,10 @@ class BuildResidentialHPXMLTest < MiniTest::Test
1107
1054
  args['emissions_electricity_values_or_filepaths'] = '../../HPXMLtoOpenStudio/resources/data/cambium/LRMER_MidCase.csv'
1108
1055
  elsif ['error-emissions-natural-gas-args-not-all-specified.xml'].include? hpxml_file
1109
1056
  args['emissions_natural_gas_values'] = '117.6'
1057
+ elsif ['error-bills-args-not-all-same-size.xml'].include? hpxml_file
1058
+ args['utility_bill_scenario_names'] = 'Scenario1'
1059
+ args['utility_bill_electricity_fixed_charges'] = '1'
1060
+ args['utility_bill_electricity_marginal_rates'] = '2,2'
1110
1061
  elsif ['error-invalid-aspect-ratio.xml'].include? hpxml_file
1111
1062
  args['geometry_unit_aspect_ratio'] = -1
1112
1063
  elsif ['error-negative-foundation-height.xml'].include? hpxml_file
@@ -1156,7 +1107,7 @@ class BuildResidentialHPXMLTest < MiniTest::Test
1156
1107
  elsif ['warning-slab-non-zero-foundation-height-above-grade.xml'].include? hpxml_file
1157
1108
  args['geometry_foundation_type'] = HPXML::FoundationTypeSlab
1158
1109
  args['geometry_foundation_height'] = 0.0
1159
- args['foundation_wall_insulation_distance_to_bottom'] = Constants.Auto
1110
+ args.delete('foundation_wall_insulation_distance_to_bottom')
1160
1111
  elsif ['warning-second-heating-system-serves-majority-heat.xml'].include? hpxml_file
1161
1112
  args['heating_system_fraction_heat_load_served'] = 0.4
1162
1113
  args['heating_system_2_type'] = HPXML::HVACTypeFireplace
@@ -1193,20 +1144,6 @@ class BuildResidentialHPXMLTest < MiniTest::Test
1193
1144
  args['geometry_attic_type'] = HPXML::AtticTypeConditioned
1194
1145
  args['ducts_supply_location'] = HPXML::LocationLivingSpace
1195
1146
  args['ducts_return_location'] = HPXML::LocationLivingSpace
1196
- elsif ['warning-multipliers-without-tv-plug-loads.xml'].include? hpxml_file
1197
- args['misc_plug_loads_television_annual_kwh'] = 0.0
1198
- elsif ['warning-multipliers-without-other-plug-loads.xml'].include? hpxml_file
1199
- args['misc_plug_loads_other_annual_kwh'] = 0.0
1200
- elsif ['warning-multipliers-without-well-pump-plug-loads.xml'].include? hpxml_file
1201
- args['misc_plug_loads_well_pump_annual_kwh'] = 0.0
1202
- args['misc_plug_loads_well_pump_usage_multiplier'] = 1.0
1203
- elsif ['warning-multipliers-without-vehicle-plug-loads.xml'].include? hpxml_file
1204
- args['misc_plug_loads_vehicle_annual_kwh'] = 0.0
1205
- args['misc_plug_loads_vehicle_usage_multiplier'] = 1.0
1206
- elsif ['warning-multipliers-without-fuel-loads.xml'].include? hpxml_file
1207
- args['misc_fuel_loads_grill_usage_multiplier'] = 1.0
1208
- args['misc_fuel_loads_lighting_usage_multiplier'] = 1.0
1209
- args['misc_fuel_loads_fireplace_usage_multiplier'] = 1.0
1210
1147
  end
1211
1148
  end
1212
1149
 
@@ -1222,7 +1159,7 @@ class BuildResidentialHPXMLTest < MiniTest::Test
1222
1159
  end
1223
1160
  if not expected_warning.nil?
1224
1161
  if runner.result.stepWarnings.select { |s| s == expected_warning }.size <= 0
1225
- runner.result.stepErrors.each do |s|
1162
+ runner.result.stepWarnings.each do |s|
1226
1163
  puts "WARNING: #{s}"
1227
1164
  end
1228
1165
  end