urbanopt-cli 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (732) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +2 -2
  3. data/CHANGELOG.md +15 -0
  4. data/Gemfile +11 -11
  5. data/README.md +1 -1
  6. data/example_files/Gemfile +3 -3
  7. data/example_files/mappers/Baseline.rb +233 -204
  8. data/example_files/mappers/HighEfficiency.rb +41 -8
  9. data/example_files/measures/BuildResidentialModel/measure.rb +25 -5
  10. data/example_files/resources/hpxml-measures/.gitignore +1 -2
  11. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.rb +364 -694
  12. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.xml +1506 -889
  13. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/constants.rb +12 -0
  14. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/location.rb +1 -1
  15. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules.rb +1068 -0
  16. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_README.md +45 -0
  17. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_dryer_power_consumption_dist.csv +95 -0
  18. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_dryer_power_duration_dist.csv +95 -0
  19. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_washer_cluster_size_probability.csv +6 -0
  20. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_washer_event_duration_probability.csv +44 -0
  21. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_washer_power_consumption_dist.csv +93 -0
  22. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_washer_power_duration_dist.csv +93 -0
  23. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_config.yml +61 -0
  24. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_cooking_power_consumption_dist.csv +63 -0
  25. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_cooking_power_duration_dist.csv +63 -0
  26. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_dishwasher_cluster_size_probability.csv +8 -0
  27. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_dishwasher_event_duration_probability.csv +192 -0
  28. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_dishwasher_power_consumption_dist.csv +56 -0
  29. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_dishwasher_power_duration_dist.csv +56 -0
  30. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_shower_cluster_size_probability.csv +4 -0
  31. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_shower_event_duration_probability.csv +1531 -0
  32. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_cooking_evening_duration_probability.csv +10 -0
  33. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_cooking_midday_duration_probability.csv +20 -0
  34. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_cooking_morning_duration_probability.csv +19 -0
  35. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_dishwashing_evening_duration_probability.csv +7 -0
  36. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_dishwashing_midday_duration_probability.csv +11 -0
  37. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_dishwashing_morning_duration_probability.csv +11 -0
  38. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_laundry_evening_duration_probability.csv +12 -0
  39. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_laundry_midday_duration_probability.csv +19 -0
  40. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_laundry_morning_duration_probability.csv +19 -0
  41. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_shower_evening_duration_probability.csv +10 -0
  42. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_shower_midday_duration_probability.csv +12 -0
  43. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_shower_morning_duration_probability.csv +11 -0
  44. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_cooking_evening_duration_probability.csv +8 -0
  45. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_cooking_midday_duration_probability.csv +21 -0
  46. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_cooking_morning_duration_probability.csv +26 -0
  47. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_dishwashing_evening_duration_probability.csv +6 -0
  48. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_dishwashing_midday_duration_probability.csv +14 -0
  49. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_dishwashing_morning_duration_probability.csv +15 -0
  50. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_laundry_evening_duration_probability.csv +7 -0
  51. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_laundry_midday_duration_probability.csv +19 -0
  52. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_laundry_morning_duration_probability.csv +25 -0
  53. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_shower_evening_duration_probability.csv +9 -0
  54. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_shower_midday_duration_probability.csv +11 -0
  55. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_shower_morning_duration_probability.csv +14 -0
  56. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_cooking_evening_duration_probability.csv +10 -0
  57. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_cooking_midday_duration_probability.csv +16 -0
  58. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_cooking_morning_duration_probability.csv +15 -0
  59. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_dishwashing_evening_duration_probability.csv +7 -0
  60. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_dishwashing_midday_duration_probability.csv +5 -0
  61. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_dishwashing_morning_duration_probability.csv +5 -0
  62. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_laundry_evening_duration_probability.csv +13 -0
  63. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_laundry_midday_duration_probability.csv +12 -0
  64. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_laundry_morning_duration_probability.csv +13 -0
  65. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_shower_evening_duration_probability.csv +10 -0
  66. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_shower_midday_duration_probability.csv +10 -0
  67. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_shower_morning_duration_probability.csv +14 -0
  68. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_cooking_evening_duration_probability.csv +9 -0
  69. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_cooking_midday_duration_probability.csv +18 -0
  70. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_cooking_morning_duration_probability.csv +10 -0
  71. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_dishwashing_evening_duration_probability.csv +8 -0
  72. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_dishwashing_midday_duration_probability.csv +10 -0
  73. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_dishwashing_morning_duration_probability.csv +8 -0
  74. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_laundry_evening_duration_probability.csv +10 -0
  75. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_laundry_midday_duration_probability.csv +17 -0
  76. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_laundry_morning_duration_probability.csv +14 -0
  77. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_shower_evening_duration_probability.csv +7 -0
  78. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_shower_midday_duration_probability.csv +12 -0
  79. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_shower_morning_duration_probability.csv +14 -0
  80. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_initial_prob_cluster_0.csv +7 -0
  81. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_initial_prob_cluster_1.csv +7 -0
  82. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_initial_prob_cluster_2.csv +7 -0
  83. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_initial_prob_cluster_3.csv +7 -0
  84. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_transition_prob_cluster_0.csv +665 -0
  85. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_transition_prob_cluster_1.csv +665 -0
  86. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_transition_prob_cluster_2.csv +665 -0
  87. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_transition_prob_cluster_3.csv +665 -0
  88. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_cooking_evening_duration_probability.csv +12 -0
  89. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_cooking_midday_duration_probability.csv +22 -0
  90. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_cooking_morning_duration_probability.csv +18 -0
  91. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_dishwashing_evening_duration_probability.csv +9 -0
  92. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_dishwashing_midday_duration_probability.csv +10 -0
  93. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_dishwashing_morning_duration_probability.csv +10 -0
  94. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_laundry_evening_duration_probability.csv +11 -0
  95. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_laundry_midday_duration_probability.csv +22 -0
  96. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_laundry_morning_duration_probability.csv +18 -0
  97. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_shower_evening_duration_probability.csv +8 -0
  98. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_shower_midday_duration_probability.csv +10 -0
  99. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_shower_morning_duration_probability.csv +15 -0
  100. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_cooking_evening_duration_probability.csv +14 -0
  101. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_cooking_midday_duration_probability.csv +23 -0
  102. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_cooking_morning_duration_probability.csv +24 -0
  103. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_dishwashing_evening_duration_probability.csv +12 -0
  104. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_dishwashing_midday_duration_probability.csv +14 -0
  105. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_dishwashing_morning_duration_probability.csv +15 -0
  106. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_laundry_evening_duration_probability.csv +12 -0
  107. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_laundry_midday_duration_probability.csv +21 -0
  108. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_laundry_morning_duration_probability.csv +22 -0
  109. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_shower_evening_duration_probability.csv +9 -0
  110. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_shower_midday_duration_probability.csv +15 -0
  111. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_shower_morning_duration_probability.csv +14 -0
  112. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_cooking_evening_duration_probability.csv +7 -0
  113. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_cooking_midday_duration_probability.csv +21 -0
  114. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_cooking_morning_duration_probability.csv +20 -0
  115. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_dishwashing_evening_duration_probability.csv +7 -0
  116. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_dishwashing_midday_duration_probability.csv +6 -0
  117. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_dishwashing_morning_duration_probability.csv +10 -0
  118. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_laundry_evening_duration_probability.csv +9 -0
  119. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_laundry_midday_duration_probability.csv +16 -0
  120. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_laundry_morning_duration_probability.csv +16 -0
  121. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_shower_evening_duration_probability.csv +9 -0
  122. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_shower_midday_duration_probability.csv +11 -0
  123. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_shower_morning_duration_probability.csv +14 -0
  124. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_cooking_evening_duration_probability.csv +8 -0
  125. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_cooking_midday_duration_probability.csv +24 -0
  126. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_cooking_morning_duration_probability.csv +34 -0
  127. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_dishwashing_evening_duration_probability.csv +6 -0
  128. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_dishwashing_midday_duration_probability.csv +12 -0
  129. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_dishwashing_morning_duration_probability.csv +13 -0
  130. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_laundry_evening_duration_probability.csv +10 -0
  131. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_laundry_midday_duration_probability.csv +24 -0
  132. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_laundry_morning_duration_probability.csv +29 -0
  133. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_shower_evening_duration_probability.csv +8 -0
  134. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_shower_midday_duration_probability.csv +14 -0
  135. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_shower_morning_duration_probability.csv +16 -0
  136. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_initial_prob_cluster_0.csv +7 -0
  137. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_initial_prob_cluster_1.csv +7 -0
  138. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_initial_prob_cluster_2.csv +7 -0
  139. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_initial_prob_cluster_3.csv +7 -0
  140. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_transition_prob_cluster_0.csv +665 -0
  141. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_transition_prob_cluster_1.csv +665 -0
  142. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_transition_prob_cluster_2.csv +665 -0
  143. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_transition_prob_cluster_3.csv +665 -0
  144. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-coal.osw +11 -57
  145. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-dehumidifier-50percent.osw +11 -57
  146. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-dehumidifier-ief.osw +11 -57
  147. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-dehumidifier.osw +11 -57
  148. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-gas.osw +11 -57
  149. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-modified.osw +11 -57
  150. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-none.osw +11 -57
  151. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-oil.osw +11 -57
  152. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-propane.osw +11 -57
  153. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-wood.osw +11 -57
  154. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-flat.osw +11 -57
  155. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-radiant-barrier.osw +11 -57
  156. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-unvented-insulated-roof.osw +11 -57
  157. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-vented.osw +11 -57
  158. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-combi-tankless-outside.osw +11 -57
  159. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-combi-tankless.osw +11 -57
  160. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-dwhr.osw +11 -57
  161. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect-outside.osw +11 -57
  162. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect-standbyloss.osw +11 -57
  163. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect-with-solar-fraction.osw +11 -57
  164. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect.osw +11 -57
  165. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-electric.osw +11 -57
  166. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-gas.osw +11 -57
  167. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-hpwh.osw +11 -57
  168. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-indirect.osw +11 -57
  169. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-low-flow-fixtures.osw +11 -57
  170. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-none.osw +11 -57
  171. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-demand.osw +11 -57
  172. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-manual.osw +11 -57
  173. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-nocontrol.osw +11 -57
  174. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-temperature.osw +11 -57
  175. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-timer.osw +11 -57
  176. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-direct-evacuated-tube.osw +11 -57
  177. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-direct-flat-plate.osw +11 -57
  178. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-direct-ics.osw +11 -57
  179. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-fraction.osw +11 -57
  180. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-indirect-flat-plate.osw +11 -57
  181. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-thermosyphon-flat-plate.osw +11 -57
  182. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-coal.osw +11 -57
  183. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-gas-outside.osw +11 -57
  184. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-gas.osw +11 -57
  185. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-outside.osw +11 -57
  186. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-with-solar-fraction.osw +11 -57
  187. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-with-solar.osw +11 -57
  188. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump.osw +11 -57
  189. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-oil.osw +11 -57
  190. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-wood.osw +11 -57
  191. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-electric-outside.osw +11 -57
  192. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-electric.osw +11 -57
  193. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas-with-solar-fraction.osw +11 -57
  194. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas-with-solar.osw +11 -57
  195. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas.osw +11 -57
  196. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-propane.osw +11 -57
  197. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-uef.osw +11 -57
  198. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-2stories-garage.osw +11 -57
  199. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-2stories.osw +11 -57
  200. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-1.osw +11 -57
  201. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-2.osw +11 -57
  202. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-4.osw +11 -57
  203. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-5.osw +11 -57
  204. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-garage.osw +11 -57
  205. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-ach-house-pressure.osw +11 -57
  206. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-cfm-house-pressure.osw +11 -57
  207. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-cfm50.osw +11 -57
  208. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-flue.osw +11 -57
  209. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-natural-ach.osw +11 -57
  210. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-overhangs.osw +11 -57
  211. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-windows-none.osw +11 -57
  212. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-ambient.osw +11 -57
  213. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-conditioned-basement-slab-insulation.osw +11 -57
  214. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-slab.osw +11 -57
  215. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unconditioned-basement-assembly-r.osw +11 -57
  216. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unconditioned-basement-wall-insulation.osw +11 -57
  217. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unconditioned-basement.osw +11 -57
  218. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unvented-crawlspace.osw +11 -57
  219. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-vented-crawlspace.osw +11 -57
  220. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-1-speed.osw +11 -57
  221. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-2-speed.osw +11 -57
  222. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-var-speed.osw +11 -57
  223. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-coal-only.osw +11 -57
  224. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-elec-only.osw +11 -57
  225. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-gas-central-ac-1-speed.osw +11 -57
  226. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-gas-only.osw +11 -57
  227. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-oil-only.osw +11 -57
  228. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-propane-only.osw +11 -57
  229. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-wood-only.osw +11 -57
  230. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-only-1-speed.osw +11 -57
  231. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-only-2-speed.osw +11 -57
  232. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-only-var-speed.osw +11 -57
  233. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.osw +11 -57
  234. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.osw +11 -57
  235. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.osw +11 -57
  236. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.osw +11 -57
  237. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.osw +11 -57
  238. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-mini-split-heat-pump-ducted.osw +11 -57
  239. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-ducts-leakage-percent.osw +11 -57
  240. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-elec-resistance-only.osw +11 -57
  241. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-evap-cooler-furnace-gas.osw +11 -57
  242. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-evap-cooler-only-ducted.osw +11 -57
  243. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-evap-cooler-only.osw +11 -57
  244. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-fireplace-wood-only.osw +11 -57
  245. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-fixed-heater-gas-only.osw +11 -57
  246. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-floor-furnace-propane-only.osw +11 -57
  247. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-elec-central-ac-1-speed.osw +11 -57
  248. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-elec-only.osw +11 -57
  249. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-central-ac-2-speed.osw +11 -57
  250. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-central-ac-var-speed.osw +11 -57
  251. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-only.osw +11 -57
  252. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-room-ac.osw +11 -57
  253. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-oil-only.osw +11 -57
  254. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-propane-only.osw +11 -57
  255. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-wood-only.osw +11 -57
  256. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-ground-to-air-heat-pump.osw +11 -57
  257. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-air-conditioner-only-ducted.osw +11 -57
  258. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-air-conditioner-only-ductless.osw +11 -57
  259. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ducted-cooling-only.osw +11 -57
  260. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ducted-heating-only.osw +11 -57
  261. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ducted.osw +11 -57
  262. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ductless.osw +11 -57
  263. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-none.osw +11 -57
  264. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-portable-heater-gas-only.osw +11 -57
  265. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-programmable-thermostat.osw +11 -57
  266. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-room-ac-only-33percent.osw +11 -57
  267. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-room-ac-only.osw +11 -57
  268. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-setpoints.osw +11 -57
  269. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-stove-oil-only.osw +11 -57
  270. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-stove-wood-pellets-only.osw +11 -57
  271. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-undersized.osw +11 -57
  272. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-wall-furnace-elec-only.osw +11 -57
  273. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-lighting-ceiling-fans.osw +11 -57
  274. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-lighting-detailed.osw +11 -57
  275. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/{base-location-epw-filepath-AMY-2012.osw → base-location-AMY-2012.osw} +12 -58
  276. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-baltimore-md.osw +11 -57
  277. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-dallas-tx.osw +11 -57
  278. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-duluth-mn.osw +11 -57
  279. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-miami-fl.osw +11 -57
  280. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-balanced.osw +11 -57
  281. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-bath-kitchen-fans.osw +11 -57
  282. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-cfis-evap-cooler-only-ducted.osw +11 -57
  283. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-cfis.osw +11 -57
  284. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-erv-atre-asre.osw +11 -57
  285. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-erv.osw +11 -57
  286. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-exhaust.osw +11 -57
  287. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-hrv-asre.osw +11 -57
  288. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-hrv.osw +11 -57
  289. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-supply.osw +11 -57
  290. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-whole-house-fan.osw +11 -57
  291. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-defaults.osw +11 -57
  292. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-loads-large-uncommon.osw +11 -57
  293. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-loads-large-uncommon2.osw +11 -57
  294. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-neighbor-shading.osw +11 -57
  295. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-usage-multiplier.osw +11 -57
  296. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-multifamily.osw +11 -57
  297. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-pv.osw +11 -57
  298. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-schedules-stochastic.osw +363 -0
  299. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/{base-location-epw-filepath.osw → base-schedules-user-specified.osw} +13 -58
  300. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-calendar-year-custom.osw +364 -0
  301. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-daylight-saving-custom.osw +11 -57
  302. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-daylight-saving-disabled.osw +11 -57
  303. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-runperiod-1-month.osw +11 -57
  304. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-timestep-10-mins.osw +11 -57
  305. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-single-family-attached.osw +11 -57
  306. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base.osw +11 -57
  307. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/build_residential_hpxml_test.rb +53 -2
  308. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-auto.osw +11 -57
  309. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-dhw-shared-water-heater.osw +11 -57
  310. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-dhw-solar-latitude.osw +11 -57
  311. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-enclosure-garage-partially-protruded.osw +11 -57
  312. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-mechvent-shared-preconditioning.osw +373 -0
  313. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-mechvent-shared.osw +367 -0
  314. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-pv-roofpitch.osw +11 -57
  315. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-pv-shared.osw +11 -57
  316. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-fireplace.osw +11 -57
  317. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-portable-heater.osw +11 -57
  318. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-refrigerator.osw +11 -57
  319. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-vacancy-6-months.osw +367 -0
  320. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/conditioned-attic-with-floor-insulation.osw +11 -57
  321. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/conditioned-basement-with-ceiling-insulation.osw +11 -57
  322. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/cooling-system-and-heat-pump.osw +11 -57
  323. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/dhw-indirect-without-boiler.osw +11 -57
  324. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/ducts-location-and-areas-not-same-type.osw +11 -57
  325. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/heating-system-and-heat-pump.osw +11 -57
  326. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multifamily-bottom-crawlspace-zero-foundation-height.osw +11 -57
  327. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multifamily-bottom-slab-non-zero-foundation-height.osw +11 -57
  328. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multifamily-no-building-orientation.osw +11 -57
  329. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/non-electric-heat-pump-water-heater.osw +11 -57
  330. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/non-integer-ceiling-fan-quantity.osw +11 -57
  331. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/non-integer-geometry-num-bathrooms.osw +11 -57
  332. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/second-heating-system-serves-majority-heat.osw +11 -57
  333. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-attached-ambient.osw +11 -57
  334. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-attached-no-building-orientation.osw +11 -57
  335. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-detached-finished-basement-zero-foundation-height.osw +11 -57
  336. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-detached-slab-non-zero-foundation-height.osw +11 -57
  337. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/slab-non-zero-foundation-height-above-grade.osw +11 -57
  338. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/unconditioned-basement-with-wall-and-ceiling-insulation.osw +11 -57
  339. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/unvented-attic-with-floor-and-roof-insulation.osw +11 -57
  340. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/unvented-crawlspace-with-wall-and-ceiling-insulation.osw +11 -57
  341. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/vented-attic-with-floor-and-roof-insulation.osw +11 -57
  342. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/vented-crawlspace-with-wall-and-ceiling-insulation.osw +11 -57
  343. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/schedules/stochastic.csv +8761 -0
  344. data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/schedules/user-specified.csv +8761 -0
  345. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.rb +65 -61
  346. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml +104 -113
  347. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/EPvalidator.xml +9 -1
  348. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/airflow.rb +62 -10
  349. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constants.rb +4 -0
  350. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/geometry.rb +8 -3
  351. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hotwater_appliances.rb +127 -52
  352. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml.rb +21 -3
  353. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb +67 -45
  354. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac.rb +17 -11
  355. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/lighting.rb +54 -26
  356. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/location.rb +3 -7
  357. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/misc_loads.rb +85 -20
  358. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/schedules.rb +500 -21
  359. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/weather.rb +5 -2
  360. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_airflow.rb +14 -0
  361. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb +44 -5
  362. data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hotwater_appliance.rb +2 -2
  363. data/example_files/resources/hpxml-measures/SimulationOutputReport/measure.rb +15 -5
  364. data/example_files/resources/hpxml-measures/SimulationOutputReport/measure.xml +10 -10
  365. data/example_files/resources/hpxml-measures/SimulationOutputReport/resources/constants.rb +2 -0
  366. data/example_files/resources/hpxml-measures/SimulationOutputReport/tests/output_report_test.rb +29 -3
  367. data/example_files/resources/hpxml-measures/docs/source/build_residential_hpxml.rst +21 -7
  368. data/example_files/resources/hpxml-measures/docs/source/hpxml_to_openstudio.rst +36 -8
  369. data/example_files/resources/hpxml-measures/docs/source/simulation_output_report.rst +5 -4
  370. data/example_files/resources/hpxml-measures/tasks.rb +101 -175
  371. data/example_files/resources/hpxml-measures/weather/US_CO_Boulder_AMY_2012-cache.csv +1 -1
  372. data/example_files/resources/hpxml-measures/weather/US_CO_Boulder_AMY_2012.epw +1 -1
  373. data/example_files/resources/hpxml-measures/workflow/run_simulation.rb +0 -1
  374. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-coal.xml +3 -1
  375. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-50percent.xml +7 -1
  376. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief.xml +7 -1
  377. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier.xml +7 -1
  378. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-gas.xml +3 -1
  379. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-modified.xml +6 -1
  380. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-none.xml +3 -1
  381. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-oil.xml +3 -1
  382. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-propane.xml +3 -1
  383. data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-wood.xml +3 -1
  384. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-cathedral.xml +7 -1
  385. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-conditioned.xml +7 -1
  386. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-flat.xml +7 -1
  387. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-radiant-barrier.xml +7 -1
  388. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-unvented-insulated-roof.xml +7 -1
  389. data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-vented.xml +7 -1
  390. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless-outside.xml +7 -1
  391. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless.xml +7 -1
  392. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-2-speed.xml +7 -1
  393. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-gshp.xml +7 -1
  394. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-hpwh.xml +7 -1
  395. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-tankless.xml +7 -1
  396. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-var-speed.xml +7 -1
  397. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater.xml +7 -1
  398. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-dwhr.xml +7 -1
  399. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-dse.xml +7 -1
  400. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-outside.xml +7 -1
  401. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-standbyloss.xml +7 -1
  402. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-with-solar-fraction.xml +7 -1
  403. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect.xml +7 -1
  404. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-electric.xml +7 -1
  405. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-gas.xml +7 -1
  406. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-hpwh.xml +7 -1
  407. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-indirect.xml +7 -1
  408. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-low-flow-fixtures.xml +7 -1
  409. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-multiple.xml +7 -1
  410. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-none.xml +3 -1
  411. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-demand.xml +7 -1
  412. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-manual.xml +7 -1
  413. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-nocontrol.xml +7 -1
  414. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-temperature.xml +7 -1
  415. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-timer.xml +7 -1
  416. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-shared-laundry-room.xml +7 -1
  417. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-shared-water-heater-recirc.xml +7 -1
  418. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-shared-water-heater.xml +7 -1
  419. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-evacuated-tube.xml +7 -1
  420. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-flat-plate.xml +7 -1
  421. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-ics.xml +7 -1
  422. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-fraction.xml +7 -1
  423. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-indirect-flat-plate.xml +7 -1
  424. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-thermosyphon-flat-plate.xml +7 -1
  425. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-coal.xml +7 -1
  426. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-outside.xml +7 -1
  427. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas.xml +7 -1
  428. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-outside.xml +7 -1
  429. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar-fraction.xml +7 -1
  430. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar.xml +7 -1
  431. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump.xml +7 -1
  432. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-oil.xml +7 -1
  433. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-wood.xml +7 -1
  434. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-outside.xml +7 -1
  435. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric.xml +7 -1
  436. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar-fraction.xml +7 -1
  437. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar.xml +7 -1
  438. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas.xml +7 -1
  439. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-propane.xml +7 -1
  440. data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-uef.xml +7 -1
  441. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories-garage.xml +7 -1
  442. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories.xml +7 -1
  443. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-attached-multifamily.xml +7 -1
  444. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-1.xml +7 -1
  445. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-2.xml +7 -1
  446. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-4.xml +7 -1
  447. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-5.xml +7 -1
  448. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-common-surfaces.xml +7 -1
  449. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-garage.xml +7 -1
  450. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-ach-house-pressure.xml +7 -1
  451. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm-house-pressure.xml +7 -1
  452. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm50.xml +7 -1
  453. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-flue.xml +7 -1
  454. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-natural-ach.xml +7 -1
  455. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-other-heated-space.xml +7 -1
  456. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-other-housing-unit.xml +7 -1
  457. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-other-multifamily-buffer-space.xml +7 -1
  458. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-other-non-freezing-space.xml +7 -1
  459. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-overhangs.xml +7 -1
  460. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-rooftypes.xml +7 -1
  461. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights.xml +7 -1
  462. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces.xml +7 -1
  463. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-walltypes.xml +7 -1
  464. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-interior-shading.xml +7 -1
  465. data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-none.xml +7 -1
  466. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-ambient.xml +7 -1
  467. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-complex.xml +7 -1
  468. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-basement-slab-insulation.xml +7 -1
  469. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-basement-wall-interior-insulation.xml +7 -1
  470. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-multiple.xml +7 -1
  471. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-slab.xml +7 -1
  472. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-above-grade.xml +7 -1
  473. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-assembly-r.xml +7 -1
  474. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-wall-insulation.xml +7 -1
  475. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement.xml +7 -1
  476. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unvented-crawlspace.xml +7 -1
  477. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-vented-crawlspace.xml +7 -1
  478. data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-walkout-basement.xml +7 -1
  479. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed.xml +7 -1
  480. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-2-speed.xml +7 -1
  481. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed.xml +7 -1
  482. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-coal-only.xml +7 -1
  483. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-elec-only.xml +7 -1
  484. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-central-ac-1-speed.xml +7 -1
  485. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-only.xml +7 -1
  486. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-oil-only.xml +7 -1
  487. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-propane-only.xml +7 -1
  488. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-wood-only.xml +7 -1
  489. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-1-speed.xml +7 -1
  490. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-2-speed.xml +7 -1
  491. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-var-speed.xml +7 -1
  492. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml +7 -1
  493. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dse.xml +7 -1
  494. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.xml +7 -1
  495. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.xml +7 -1
  496. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.xml +7 -1
  497. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.xml +7 -1
  498. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-mini-split-heat-pump-ducted.xml +7 -1
  499. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-leakage-percent.xml +7 -1
  500. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-elec-resistance-only.xml +7 -1
  501. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-furnace-gas.xml +7 -1
  502. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only-ducted.xml +7 -1
  503. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only.xml +7 -1
  504. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fireplace-wood-only.xml +7 -1
  505. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fixed-heater-gas-only.xml +7 -1
  506. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-floor-furnace-propane-only.xml +7 -1
  507. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-flowrate.xml +7 -1
  508. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-central-ac-1-speed.xml +7 -1
  509. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-only.xml +7 -1
  510. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-2-speed.xml +7 -1
  511. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-var-speed.xml +7 -1
  512. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-only.xml +7 -1
  513. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-room-ac.xml +7 -1
  514. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-oil-only.xml +7 -1
  515. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-propane-only.xml +7 -1
  516. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-wood-only.xml +7 -1
  517. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-x3-dse.xml +7 -1
  518. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump.xml +7 -1
  519. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ideal-air.xml +7 -1
  520. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ducted.xml +7 -1
  521. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless.xml +7 -1
  522. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-cooling-only.xml +7 -1
  523. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-heating-only.xml +7 -1
  524. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted.xml +7 -1
  525. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless.xml +7 -1
  526. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-multiple.xml +7 -1
  527. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-multiple2.xml +7 -1
  528. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-none.xml +7 -1
  529. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-portable-heater-gas-only.xml +7 -1
  530. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-programmable-thermostat.xml +7 -1
  531. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-33percent.xml +7 -1
  532. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only.xml +7 -1
  533. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints.xml +7 -1
  534. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-chiller-baseboard.xml +7 -1
  535. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-chiller-fan-coil-ducted.xml +7 -1
  536. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-chiller-fan-coil.xml +7 -1
  537. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-chiller-water-loop-heat-pump.xml +7 -1
  538. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-cooling-tower-water-loop-heat-pump.xml +7 -1
  539. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-baseboard.xml +7 -1
  540. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-fan-coil-ducted.xml +7 -1
  541. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-fan-coil-eae.xml +7 -1
  542. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-fan-coil.xml +7 -1
  543. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-water-loop-heat-pump.xml +7 -1
  544. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-chiller-only-baseboard.xml +7 -1
  545. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-chiller-only-fan-coil-ducted.xml +7 -1
  546. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-chiller-only-fan-coil.xml +7 -1
  547. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-chiller-only-water-loop-heat-pump.xml +7 -1
  548. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-cooling-tower-only-water-loop-heat-pump.xml +7 -1
  549. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-ground-loop-ground-to-air-heat-pump.xml +7 -1
  550. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-oil-only.xml +7 -1
  551. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-wood-pellets-only.xml +7 -1
  552. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized-allow-increased-fixed-capacities.xml +7 -1
  553. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized.xml +7 -1
  554. data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-wall-furnace-elec-only.xml +7 -1
  555. data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-ceiling-fans.xml +7 -1
  556. data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-detailed.xml +7 -1
  557. data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-none.xml +7 -1
  558. data/example_files/resources/hpxml-measures/workflow/sample_files/{base-location-epw-filepath-AMY-2012.xml → base-location-AMY-2012.xml} +8 -0
  559. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-baltimore-md.xml +7 -1
  560. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-dallas-tx.xml +7 -1
  561. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-duluth-mn.xml +7 -1
  562. data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-miami-fl.xml +7 -1
  563. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-balanced.xml +7 -1
  564. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-bath-kitchen-fans.xml +7 -1
  565. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-dse.xml +7 -1
  566. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-evap-cooler-only-ducted.xml +7 -1
  567. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis.xml +7 -1
  568. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv-atre-asre.xml +7 -1
  569. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv.xml +7 -1
  570. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust-rated-flow-rate.xml +7 -1
  571. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust.xml +7 -1
  572. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv-asre.xml +7 -1
  573. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv.xml +7 -1
  574. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-multiple.xml +7 -1
  575. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-shared-multiple.xml +7 -1
  576. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-shared-preconditioning.xml +7 -1
  577. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-shared.xml +7 -1
  578. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-supply.xml +7 -1
  579. data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-whole-house-fan.xml +7 -1
  580. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-defaults.xml +3 -1
  581. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon.xml +7 -1
  582. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon2.xml +7 -1
  583. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-none.xml +7 -1
  584. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-neighbor-shading.xml +7 -1
  585. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-shelter-coefficient.xml +7 -1
  586. data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-usage-multiplier.xml +5 -1
  587. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-shared.xml +7 -1
  588. data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv.xml +7 -1
  589. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-stochastic.xml +565 -0
  590. data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-user-specified.xml +565 -0
  591. data/example_files/resources/hpxml-measures/workflow/sample_files/{base-location-epw-filepath.xml → base-simcontrol-calendar-year-custom.xml} +5 -0
  592. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-custom.xml +7 -1
  593. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-disabled.xml +7 -1
  594. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-runperiod-1-month.xml +7 -1
  595. data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins.xml +7 -1
  596. data/example_files/resources/hpxml-measures/workflow/sample_files/base.xml +7 -1
  597. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-autosize.xml +7 -1
  598. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-1-speed-autosize-manual-s-oversize-allowances.xml +7 -1
  599. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-1-speed-autosize.xml +7 -1
  600. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-2-speed-autosize-manual-s-oversize-allowances.xml +7 -1
  601. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-2-speed-autosize.xml +7 -1
  602. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-var-speed-autosize-manual-s-oversize-allowances.xml +7 -1
  603. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-var-speed-autosize.xml +7 -1
  604. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-boiler-elec-only-autosize.xml +7 -1
  605. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-boiler-gas-central-ac-1-speed-autosize.xml +7 -1
  606. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-boiler-gas-only-autosize.xml +7 -1
  607. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-central-ac-only-1-speed-autosize.xml +7 -1
  608. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-central-ac-only-2-speed-autosize.xml +7 -1
  609. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-central-ac-only-var-speed-autosize.xml +7 -1
  610. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-central-ac-plus-air-to-air-heat-pump-heating-autosize.xml +7 -1
  611. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-autosize.xml +7 -1
  612. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-dual-fuel-mini-split-heat-pump-ducted-autosize.xml +7 -1
  613. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-elec-resistance-only-autosize.xml +7 -1
  614. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-evap-cooler-furnace-gas-autosize.xml +7 -1
  615. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-floor-furnace-propane-only-autosize.xml +7 -1
  616. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-elec-only-autosize.xml +7 -1
  617. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-gas-central-ac-2-speed-autosize.xml +7 -1
  618. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-gas-central-ac-var-speed-autosize.xml +7 -1
  619. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-gas-only-autosize.xml +7 -1
  620. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-gas-room-ac-autosize.xml +7 -1
  621. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-ground-to-air-heat-pump-autosize-manual-s-oversize-allowances.xml +7 -1
  622. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-ground-to-air-heat-pump-autosize.xml +7 -1
  623. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-air-conditioner-only-ducted-autosize.xml +7 -1
  624. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-heat-pump-ducted-autosize-manual-s-oversize-allowances.xml +7 -1
  625. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-heat-pump-ducted-autosize.xml +7 -1
  626. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-heat-pump-ducted-cooling-only-autosize.xml +7 -1
  627. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-heat-pump-ducted-heating-only-autosize.xml +7 -1
  628. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-room-ac-only-autosize.xml +7 -1
  629. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-stove-oil-only-autosize.xml +7 -1
  630. data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-wall-furnace-elec-only-autosize.xml +7 -1
  631. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/appliances-location-unconditioned-space.xml +7 -1
  632. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/cfis-with-hydronic-distribution.xml +7 -1
  633. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/clothes-dryer-location.xml +7 -1
  634. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/clothes-washer-location.xml +7 -1
  635. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/coal-for-non-boiler-heating.xml +7 -1
  636. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/cooking-range-location.xml +7 -1
  637. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dhw-frac-load-served.xml +7 -1
  638. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dishwasher-location.xml +7 -1
  639. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duct-location-unconditioned-space.xml +7 -1
  640. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duct-location.xml +7 -1
  641. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duplicate-id.xml +7 -1
  642. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-attic-missing-roof.xml +7 -1
  643. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-basement-missing-exterior-foundation-wall.xml +7 -1
  644. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-basement-missing-slab.xml +7 -1
  645. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-garage-missing-exterior-wall.xml +7 -1
  646. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-garage-missing-roof-ceiling.xml +7 -1
  647. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-garage-missing-slab.xml +7 -1
  648. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-living-missing-ceiling-roof.xml +7 -1
  649. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-living-missing-exterior-wall.xml +7 -1
  650. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-living-missing-floor-slab.xml +7 -1
  651. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/heat-pump-mixed-fixed-and-autosize-capacities.xml +7 -1
  652. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/heat-pump-mixed-fixed-and-autosize-capacities2.xml +7 -1
  653. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-distribution-multiple-attached-cooling.xml +7 -1
  654. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-distribution-multiple-attached-heating.xml +7 -1
  655. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-distribution-return-duct-leakage-missing.xml +7 -1
  656. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-dse-multiple-attached-cooling.xml +7 -1
  657. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-dse-multiple-attached-heating.xml +7 -1
  658. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-frac-load-served.xml +7 -1
  659. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-invalid-distribution-system-type.xml +7 -1
  660. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/{invalid-wmo.xml → invalid-calendar-year.xml} +8 -1
  661. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-daylight-saving.xml +7 -1
  662. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-distribution-cfa-served.xml +7 -1
  663. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-epw-filepath.xml +4 -0
  664. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-facility-type.xml +7 -1
  665. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-neighbor-shading-azimuth.xml +7 -1
  666. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-relatedhvac-desuperheater.xml +7 -1
  667. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-relatedhvac-dhw-indirect.xml +7 -1
  668. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-runperiod.xml +7 -1
  669. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-timestep.xml +7 -1
  670. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-window-height.xml +7 -1
  671. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-window-interior-shading.xml +7 -1
  672. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/lighting-fractions.xml +7 -1
  673. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/missing-duct-location.xml +7 -1
  674. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/missing-elements.xml +7 -1
  675. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-appliance.xml +7 -1
  676. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-duct.xml +7 -1
  677. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-surface.xml +7 -1
  678. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-water-heater.xml +7 -1
  679. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/net-area-negative-roof.xml +7 -1
  680. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/net-area-negative-wall.xml +7 -1
  681. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/orphaned-hvac-distribution.xml +7 -1
  682. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/refrigerator-location.xml +7 -1
  683. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/refrigerators-multiple-primary.xml +7 -1
  684. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/refrigerators-no-primary.xml +7 -1
  685. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/repeated-relatedhvac-desuperheater.xml +7 -1
  686. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/repeated-relatedhvac-dhw-indirect.xml +7 -1
  687. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/slab-zero-exposed-perimeter.xml +7 -1
  688. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/solar-thermal-system-with-combi-tankless.xml +7 -1
  689. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/solar-thermal-system-with-desuperheater.xml +7 -1
  690. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/solar-thermal-system-with-dhw-indirect.xml +7 -1
  691. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-cfis.xml +7 -1
  692. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-door.xml +7 -1
  693. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-hvac-distribution.xml +7 -1
  694. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-shared-clothes-washer-water-heater.xml +7 -1
  695. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-shared-dishwasher-water-heater.xml +7 -1
  696. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-skylight.xml +7 -1
  697. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-solar-thermal-system.xml +7 -1
  698. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-window.xml +7 -1
  699. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/water-heater-location-other.xml +7 -1
  700. data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/water-heater-location.xml +7 -1
  701. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AC.xml +3 -1
  702. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AL.xml +3 -1
  703. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AC.xml +3 -1
  704. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AL.xml +3 -1
  705. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AC.xml +3 -1
  706. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AL.xml +3 -1
  707. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AC.xml +3 -1
  708. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AL.xml +3 -1
  709. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AC.xml +3 -1
  710. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AL.xml +3 -1
  711. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AC.xml +3 -1
  712. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AL.xml +3 -1
  713. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AC.xml +3 -1
  714. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AL.xml +3 -1
  715. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AC.xml +3 -1
  716. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AL.xml +3 -1
  717. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AC.xml +3 -1
  718. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AL.xml +3 -1
  719. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AC.xml +3 -1
  720. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AL.xml +3 -1
  721. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AC.xml +3 -1
  722. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AL.xml +3 -1
  723. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L302XC.xml +3 -1
  724. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L304XC.xml +3 -1
  725. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L322XC.xml +3 -1
  726. data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L324XC.xml +3 -1
  727. data/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb +4 -2
  728. data/lib/uo_cli.rb +40 -22
  729. data/lib/uo_cli/version.rb +1 -1
  730. data/uo_cli.gemspec +3 -4
  731. metadata +149 -27
  732. data/example_files/resources/hpxml-measures/weather/data.csv +0 -1012
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 846dc392c015b9f1edf2a74dc738f40d6b89ac260fec2a72c1dade502646d3e8
4
- data.tar.gz: cda4aabc4cbcbbb320c089ccec77eb513cee47e365b4152945e6ccc8d65a1d01
3
+ metadata.gz: 95f4b510da000f3f99a23e58a665722bfd5ee1526f662f5f7ebd567398963f36
4
+ data.tar.gz: 876a39d424ca5ee07126da660e3aad478b5ea7334bec3538e266d9bd54586c57
5
5
  SHA512:
6
- metadata.gz: c6f2b316e6eb68ab666bf354e286c772be1846d067f9835eb2d7c38c7a3968e0e975c510f3198cb5185f7818d7ce23d7d218b38d0a2ab64837a5ae7c95d462f8
7
- data.tar.gz: 65f2d31a572edfbf2007b5db29b3cc84d357cab0c701f79d5a071bf4d5d88244f6fc3d9188e7bf35286b6cfd319572a7cc12834c9c7890c2d8505c3a7320823c
6
+ metadata.gz: de1e2b6298df2a464a401e485c22ee8f8c67ee99486b94c50bc5ae6890c1e571433666eaa90de54e2d969e161bd7db2baae6da6b6e673e2139cf349300ad7896
7
+ data.tar.gz: d5ed2edc0bfdaddaf4860348d460c9dc74c27a82b850d7215b0bea230539fdb46969aa6b357f3c4c161bacc11e2fc82c24f7455a391a311c2da5c45b47d48ba2
@@ -1,4 +1,4 @@
1
- ### Addresses #[issue number here]
1
+ ### Resolves #[issue number here]
2
2
 
3
3
  ### Pull Request Description
4
4
 
@@ -8,5 +8,5 @@
8
8
 
9
9
  - [ ] Unit tests have been added or updated
10
10
  - [ ] All ci tests pass (green)
11
- - [ ] An [ISSUE](https://github.com/urbanopt/urbanopt-cli/issues) has been created that this is addressing. Issues will get added to the Change Log when the change_log.rb script is run
11
+ - [ ] An [issue](https://github.com/urbanopt/urbanopt-cli/issues) has been created (which will be used for the changelog)
12
12
  - [ ] This branch is up-to-date with develop
@@ -1,7 +1,22 @@
1
1
  # Changelog
2
2
 
3
+
4
+ ## Version 0.4.1
5
+
6
+ Date Range: 10/01/20 - 11/16/20
7
+
8
+ - Fixed [#146]( https://github.com/urbanopt/urbanopt-cli/issues/146 ), Better error handling on Visualize command
9
+ - Fixed [#147]( https://github.com/urbanopt/urbanopt-cli/issues/147 ), Copy Visualize files from directory
10
+ - Fixed [#151]( https://github.com/urbanopt/urbanopt-cli/issues/151 ), Saving to db file doesn't work right on windows machines
11
+ - Fixed [#153]( https://github.com/urbanopt/urbanopt-cli/issues/153 ), Dependencies need to be managed tighter
12
+ - Fixed [#156]( https://github.com/urbanopt/urbanopt-cli/issues/156 ), BUGFIX: Add methods to save feature results
13
+ - Fixed [#163]( https://github.com/urbanopt/urbanopt-cli/issues/163 ), Bugfixes for residential workflow
14
+ - Fixed [#164]( https://github.com/urbanopt/urbanopt-cli/issues/164 ), Enhancements for residential workflow
15
+
3
16
  ## Version 0.4.0
4
17
 
18
+ Date Range: 06/11/20 - 09/30/20
19
+
5
20
  - Fixed [#49]( https://github.com/urbanopt/urbanopt-cli/issues/49 ), Gathering results (post-processing) should provide scenario-level results in a database file
6
21
  - Fixed [#95]( https://github.com/urbanopt/urbanopt-cli/issues/95 ), store bundle directory outside of project directory
7
22
  - Fixed [#115]( https://github.com/urbanopt/urbanopt-cli/issues/115 ), Add command for visualising scenario results after post processing
data/Gemfile CHANGED
@@ -34,9 +34,9 @@ allow_local = ENV['FAVOR_LOCAL_GEMS']
34
34
  # end
35
35
 
36
36
  # if allow_local && File.exist?('../urbanopt-scenario-gem')
37
- # gem 'urbanopt-scenario', path: '../urbanopt-scenario-gem'
37
+ # gem 'urbanopt-scenario', path: '../urbanopt-scenario-gem'
38
38
  # elsif allow_local
39
- # gem 'urbanopt-scenario', github: 'URBANopt/urbanopt-scenario-gem', branch: 'develop'
39
+ # gem 'urbanopt-scenario', github: 'URBANopt/urbanopt-scenario-gem', branch: 'develop'
40
40
  # end
41
41
 
42
42
  # if allow_local && File.exist?('../urbanopt-geojson-gem')
@@ -48,19 +48,19 @@ allow_local = ENV['FAVOR_LOCAL_GEMS']
48
48
  # if allow_local && File.exist?('../urbanopt-reopt-gem')
49
49
  # gem 'urbanopt-reopt', path: '../urbanopt-reopt-gem'
50
50
  # elsif allow_local
51
- # gem 'urbanopt-reopt', github: 'URBANopt/urbanopt-reopt-gem', branch: 'develop'
51
+ # gem 'urbanopt-reopt', github: 'URBANopt/urbanopt-reopt-gem', branch: 'develop'
52
52
  # end
53
53
 
54
- if allow_local && File.exist?('../openstudio-load-flexibility-measures')
55
- gem 'openstudio-load-flexibility-measures', path: '../openstudio-load-flexibility-measures'
56
- elsif allow_local
57
- gem 'openstudio-load-flexibility-measures', github: 'NREL/openstudio-load-flexibility-measures', branch: 'master'
58
- else
59
- gem 'openstudio-load-flexibility-measures', '0.1.3'
60
- end
54
+ # if allow_local && File.exist?('../openstudio-load-flexibility-measures')
55
+ # gem 'openstudio-load-flexibility-measures', path: '../openstudio-load-flexibility-measures'
56
+ # elsif allow_local
57
+ # gem 'openstudio-load-flexibility-measures', github: 'NREL/openstudio-load-flexibility-measures', branch: 'master'
58
+ # else
59
+ # gem 'openstudio-load-flexibility-measures', '0.1.3'
60
+ # end
61
61
 
62
62
  # if allow_local && File.exist?('../urbanopt-reporting-gem')
63
63
  # gem 'urbanopt-reporting', path: '../urbanopt-reporting-gem'
64
64
  # elsif allow_local
65
- # gem 'urbanopt-reporting', github: 'URBANopt/urbanopt-reporting-gem', branch: 'develop'
65
+ # gem 'urbanopt-reporting', github: 'URBANopt/urbanopt-reporting-gem', branch: 'develop'
66
66
  # end
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # URBANopt Cli
1
+ # URBANopt CLI
2
2
 
3
3
  This is the command line interface (CLI) for the URBANopt™ SDK.
4
4
 
@@ -31,7 +31,7 @@ if allow_local && File.exist?('../openstudio-common-measures-gem')
31
31
  elsif allow_local
32
32
  gem 'openstudio-common-measures', github: 'NREL/openstudio-common-measures-gem', branch: 'develop'
33
33
  else
34
- gem 'openstudio-common-measures', '~> 0.2.0'
34
+ gem 'openstudio-common-measures', '0.2.0'
35
35
  end
36
36
 
37
37
  if allow_local && File.exist?('../openstudio-model-articulation-gem')
@@ -39,7 +39,7 @@ if allow_local && File.exist?('../openstudio-model-articulation-gem')
39
39
  elsif allow_local
40
40
  gem 'openstudio-model-articulation', github: 'NREL/openstudio-model-articulation-gem', branch: 'develop'
41
41
  else
42
- gem 'openstudio-model-articulation', '~> 0.2.0'
42
+ gem 'openstudio-model-articulation', '0.2.0'
43
43
  end
44
44
 
45
45
  if allow_local && File.exist?('../openstudio-load-flexibility-measures-gem')
@@ -63,5 +63,5 @@ if allow_local && File.exist?('../urbanopt-reporting-gem')
63
63
  elsif allow_local
64
64
  gem 'urbanopt-reporting', github: 'URBANopt/urbanopt-reporting-gem', branch: 'develop'
65
65
  else
66
- gem 'urbanopt-reporting', '~> 0.2.0'
66
+ gem 'urbanopt-reporting', '~> 0.2.1'
67
67
  end
@@ -1,4 +1,4 @@
1
- # *********************************************************************************
1
+ #*********************************************************************************
2
2
  # URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
@@ -26,7 +26,7 @@
26
26
  # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
27
27
  # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28
28
  # OF THE POSSIBILITY OF SUCH DAMAGE.
29
- # *********************************************************************************
29
+ #*********************************************************************************
30
30
 
31
31
  require 'urbanopt/reporting'
32
32
  require 'openstudio/common_measures'
@@ -38,12 +38,14 @@ require 'rexml/document'
38
38
  module URBANopt
39
39
  module Scenario
40
40
  class BaselineMapper < SimulationMapperBase
41
+
41
42
  # class level variables
42
43
  @@instance_lock = Mutex.new
43
44
  @@osw = nil
44
45
  @@geometry = nil
45
46
 
46
- def initialize
47
+ def initialize()
48
+
47
49
  # do initialization of class variables in thread safe way
48
50
  @@instance_lock.synchronize do
49
51
  if @@osw.nil?
@@ -67,144 +69,145 @@ module URBANopt
67
69
  end
68
70
 
69
71
  def lookup_building_type(building_type, template, footprint_area, number_of_stories)
70
- if template.include? 'DEER'
72
+ if template.include? "DEER"
71
73
  case building_type
72
- when 'Education'
73
- return 'EPr'
74
- when 'Enclosed mall'
75
- return 'RtL'
76
- when 'Food sales'
77
- return 'RSD'
78
- when 'Food service'
79
- return 'RSD'
80
- when 'Inpatient health care'
81
- return 'Nrs'
82
- when 'Laboratory'
83
- return 'Hsp'
84
- when 'Lodging'
85
- return 'Htl'
86
- when 'Mixed use'
87
- return 'ECC'
88
- when 'Mobile Home'
89
- return 'DMo'
90
- when 'Multifamily (2 to 4 units)'
91
- return 'MFm'
92
- when 'Multifamily (5 or more units)'
93
- return 'MFm'
94
- when 'Nonrefrigerated warehouse'
95
- return 'SUn'
96
- when 'Nursing'
97
- return 'Nrs'
98
- when 'Office'
74
+ when "Education"
75
+ return "EPr"
76
+ when "Enclosed mall"
77
+ return "RtL"
78
+ when "Food sales"
79
+ return "RSD"
80
+ when "Food service"
81
+ return "RSD"
82
+ when "Inpatient health care"
83
+ return "Nrs"
84
+ when "Laboratory"
85
+ return "Hsp"
86
+ when "Lodging"
87
+ return "Htl"
88
+ when "Mixed use"
89
+ return "ECC"
90
+ when "Mobile Home"
91
+ return "DMo"
92
+ when "Multifamily (2 to 4 units)"
93
+ return "MFm"
94
+ when "Multifamily (5 or more units)"
95
+ return "MFm"
96
+ when "Nonrefrigerated warehouse"
97
+ return "SUn"
98
+ when "Nursing"
99
+ return "Nrs"
100
+ when "Office"
99
101
  if footprint_area
100
102
  if footprint_area.to_f > 100000
101
- return 'OfL'
103
+ return "OfL"
102
104
  else
103
- return 'OfS'
105
+ return "OfS"
104
106
  end
105
107
  else
106
- raise 'footprint_area required to map office building type'
108
+ raise "footprint_area required to map office building type"
107
109
  end
108
- when 'Outpatient health care'
109
- return 'Nrs'
110
- when 'Public assembly'
111
- return 'Asm'
112
- when 'Public order and safety'
113
- return 'Asm'
114
- when 'Refrigerated warehouse'
115
- return 'WRf'
116
- when 'Religious worship'
117
- return 'Asm'
118
- when 'Retail other than mall'
119
- return 'RtS'
120
- when 'Service'
121
- return 'MLI'
122
- when 'Single-Family'
123
- return 'MFm'
124
- when 'Strip shopping mall'
125
- return 'RtL'
126
- when 'Vacant'
127
- return 'SUn'
110
+ when "Outpatient health care"
111
+ return "Nrs"
112
+ when "Public assembly"
113
+ return "Asm"
114
+ when "Public order and safety"
115
+ return "Asm"
116
+ when "Refrigerated warehouse"
117
+ return "WRf"
118
+ when "Religious worship"
119
+ return "Asm"
120
+ when "Retail other than mall"
121
+ return "RtS"
122
+ when "Service"
123
+ return "MLI"
124
+ when "Single-Family"
125
+ return "MFm"
126
+ when "Strip shopping mall"
127
+ return "RtL"
128
+ when "Vacant"
129
+ return "SUn"
128
130
  else
129
- raise "building type #{building_type} cannot be mapped to a DEER building type"
131
+ raise "building type #{building_type} cannot be mapped to a DEER building type"
130
132
  end
131
133
 
132
134
  else
133
135
  # default: ASHRAE
134
136
  case building_type
135
- when 'Education'
137
+ when "Education"
136
138
  return 'SecondarySchool'
137
- when 'Enclosed mall'
138
- return 'RetailStripmall'
139
- when 'Food sales'
140
- return 'FullServiceRestaurant'
141
- when 'Food service'
142
- return 'FullServiceRestaurant'
143
- when 'Inpatient health care'
144
- return 'Hospital'
145
- when 'Laboratory'
146
- return 'Hospital'
147
- when 'Lodging'
139
+ when "Enclosed mall"
140
+ return "RetailStripmall"
141
+ when "Food sales"
142
+ return "FullServiceRestaurant"
143
+ when "Food service"
144
+ return "FullServiceRestaurant"
145
+ when "Inpatient health care"
146
+ return "Hospital"
147
+ when "Laboratory"
148
+ return "Hospital"
149
+ when "Lodging"
148
150
  if number_of_stories
149
151
  if number_of_stories.to_i > 3
150
- return 'LargeHotel'
152
+ return "LargeHotel"
151
153
  else
152
- return 'SmallHotel'
154
+ return "SmallHotel"
153
155
  end
154
156
  end
155
- return 'LargeHotel'
156
- when 'Mixed use'
157
- return 'Mixed use'
158
- when 'Mobile Home'
159
- return 'MidriseApartment'
160
- when 'Multifamily (2 to 4 units)'
161
- return 'MidriseApartment'
162
- when 'Multifamily (5 or more units)'
163
- return 'MidriseApartment'
164
- when 'Nonrefrigerated warehouse'
165
- return 'Warehouse'
166
- when 'Nursing'
167
- return 'Outpatient'
168
- when 'Office'
157
+ return "LargeHotel"
158
+ when "Mixed use"
159
+ return "Mixed use"
160
+ when "Mobile Home"
161
+ return "MidriseApartment"
162
+ when "Multifamily (2 to 4 units)"
163
+ return "MidriseApartment"
164
+ when "Multifamily (5 or more units)"
165
+ return "MidriseApartment"
166
+ when "Nonrefrigerated warehouse"
167
+ return "Warehouse"
168
+ when "Nursing"
169
+ return "Outpatient"
170
+ when "Office"
169
171
  if footprint_area
170
172
  if footprint_area.to_f < 20000
171
- value = 'SmallOffice'
173
+ value = "SmallOffice"
172
174
  elsif footprint_area.to_f > 100000
173
- value = 'LargeOffice'
175
+ value = "LargeOffice"
174
176
  else
175
- value = 'MediumOffice'
177
+ value = "MediumOffice"
176
178
  end
177
179
  else
178
- raise 'Floor area required to map office building type'
180
+ raise "Floor area required to map office building type"
179
181
  end
180
- when 'Outpatient health care'
181
- return 'Outpatient'
182
- when 'Public assembly'
183
- return 'MediumOffice'
184
- when 'Public order and safety'
185
- return 'MediumOffice'
186
- when 'Refrigerated warehouse'
187
- return 'Warehouse'
188
- when 'Religious worship'
189
- return 'MediumOffice'
190
- when 'Retail other than mall'
191
- return 'RetailStandalone'
192
- when 'Service'
193
- return 'MediumOffice'
194
- when 'Single-Family'
195
- return 'MidriseApartment'
196
- when 'Strip shopping mall'
197
- return 'RetailStripmall'
198
- when 'Vacant'
199
- return 'Warehouse'
182
+ when "Outpatient health care"
183
+ return "Outpatient"
184
+ when "Public assembly"
185
+ return "MediumOffice"
186
+ when "Public order and safety"
187
+ return "MediumOffice"
188
+ when "Refrigerated warehouse"
189
+ return "Warehouse"
190
+ when "Religious worship"
191
+ return "MediumOffice"
192
+ when "Retail other than mall"
193
+ return "RetailStandalone"
194
+ when "Service"
195
+ return "MediumOffice"
196
+ when "Single-Family"
197
+ return "MidriseApartment"
198
+ when "Strip shopping mall"
199
+ return "RetailStripmall"
200
+ when "Vacant"
201
+ return "Warehouse"
200
202
  else
201
203
  raise "building type #{building_type} cannot be mapped to an ASHRAE building type"
202
204
  end
203
205
  end
204
206
  end
205
207
 
206
- def lookup_template_by_year_built(template, year_built)
207
- if template.include? 'DEER'
208
+ def lookup_template_by_year_built(template, year_built)
209
+
210
+ if template.include? "DEER"
208
211
  if year_built <= 1996
209
212
  return 'DEER 1985'
210
213
  elsif year_built <= 2003
@@ -266,7 +269,7 @@ module URBANopt
266
269
  'Food service',
267
270
  'Inpatient health care',
268
271
  'Nursing',
269
- 'Lodging',
272
+ 'Lodging',
270
273
  'Strip shopping mall',
271
274
  'Enclosed mall',
272
275
  'Retail other than mall',
@@ -296,7 +299,7 @@ module URBANopt
296
299
  rows = []
297
300
  headers = []
298
301
  units = []
299
- CSV.foreach(filepath, col_sep: "\t") do |row|
302
+ CSV.foreach(filepath, { :col_sep => "\t" }) do |row|
300
303
  if headers.empty?
301
304
  row.each do |header|
302
305
  next if header == 'Source'
@@ -364,7 +367,7 @@ module URBANopt
364
367
  end
365
368
 
366
369
  def get_climate_zone_iecc(epw)
367
- headers = CSV.open(epw, 'r', &:first)
370
+ headers = CSV.open(epw, 'r') { |csv| csv.first }
368
371
  wmo = headers[5]
369
372
  zones_csv = File.join(File.dirname(__FILE__), '../resources/hpxml-measures/HPXMLtoOpenStudio/resources/data_climate_zones.csv')
370
373
  CSV.foreach(zones_csv) do |row|
@@ -375,15 +378,16 @@ module URBANopt
375
378
  end
376
379
 
377
380
  def create_osw(scenario, features, feature_names)
381
+
378
382
  if features.size != 1
379
- raise 'Baseline currently cannot simulate more than one feature.'
383
+ raise "Baseline currently cannot simulate more than one feature."
380
384
  end
381
385
  feature = features[0]
382
386
  feature_id = feature.id
383
387
  feature_type = feature.type
384
388
 
385
389
  # take the first vertex as the location of the building
386
- # feature_location = feature.feature_json[:geometry][:coordinates][0][0].to_s
390
+ #feature_location = feature.feature_json[:geometry][:coordinates][0][0].to_s
387
391
 
388
392
  # take the centroid of the vertices as the location of the building
389
393
  feature_vertices_coordinates = feature.feature_json[:geometry][:coordinates][0]
@@ -414,132 +418,144 @@ module URBANopt
414
418
  args[:simulation_control_timestep] = 60
415
419
  begin
416
420
  args[:simulation_control_timestep] = 60 / feature.timesteps_per_hour
417
- rescue StandardError
421
+ rescue
418
422
  end
419
423
 
420
- args[:simulation_control_begin_month] = 1
421
- args[:simulation_control_begin_day_of_month] = 1
422
- args[:simulation_control_end_month] = 12
423
- args[:simulation_control_end_day_of_month] = 31
424
+ args[:simulation_control_run_period_begin_month] = 1
425
+ args[:simulation_control_run_period_begin_day_of_month] = 1
426
+ args[:simulation_control_run_period_end_month] = 12
427
+ args[:simulation_control_run_period_end_day_of_month] = 31
428
+ args[:simulation_control_run_period_calendar_year] = 2007
424
429
  begin
425
- args[:simulation_control_begin_month] = feature.begin_date[5, 2].to_i
426
- args[:simulation_control_begin_day_of_month] = feature.begin_date[8, 2].to_i
427
- args[:simulation_control_end_month] = feature.end_date[5, 2].to_i
428
- args[:simulation_control_end_day_of_month] = feature.end_date[8, 2].to_i
429
- rescue StandardError
430
+ args[:simulation_control_run_period_begin_month] = feature.begin_date[5, 2].to_i
431
+ args[:simulation_control_run_period_begin_day_of_month] = feature.begin_date[8, 2].to_i
432
+ args[:simulation_control_run_period_end_month] = feature.end_date[5, 2].to_i
433
+ args[:simulation_control_run_period_end_day_of_month] = feature.end_date[8, 2].to_i
434
+ args[:simulation_control_run_period_calendar_year] = feature.begin_date[0, 4].to_i
435
+ rescue
430
436
  end
431
437
 
432
- args[:weather_station_epw_filepath] = feature.weather_filename
438
+ args[:weather_station_epw_filepath] = "../../../weather/#{feature.weather_filename}"
433
439
 
434
440
  # Geometry
435
- args[:geometry_num_units] = 1
441
+ args[:geometry_building_num_units] = 1
436
442
  case building_type
437
443
  when 'Single-Family Detached'
438
- args[:geometry_unit_type] = 'single-family detached'
444
+ args[:geometry_unit_type] = "single-family detached"
439
445
  when 'Single-Family Attached'
440
- args[:geometry_num_units] = feature.number_of_residential_units
441
- args[:geometry_unit_type] = 'single-family attached'
446
+ args[:geometry_building_num_units] = feature.number_of_residential_units
447
+ args[:geometry_unit_type] = "single-family attached"
442
448
  when 'Multifamily'
443
- args[:geometry_num_units] = feature.number_of_residential_units
444
- args[:geometry_unit_type] = 'apartment unit'
449
+ args[:geometry_building_num_units] = feature.number_of_residential_units
450
+ args[:geometry_unit_type] = "apartment unit"
445
451
  end
446
452
 
447
- args[:geometry_foundation_type] = 'SlabOnGrade'
453
+ args[:geometry_foundation_type] = "SlabOnGrade"
448
454
  args[:geometry_foundation_height] = 0.0
449
455
  case feature.foundation_type
450
456
  when 'crawlspace - vented'
451
- args[:geometry_foundation_type] = 'VentedCrawlspace'
457
+ args[:geometry_foundation_type] = "VentedCrawlspace"
452
458
  args[:geometry_foundation_height] = 3.0
453
459
  when 'crawlspace - unvented'
454
- args[:geometry_foundation_type] = 'UnventedCrawlspace'
460
+ args[:geometry_foundation_type] = "UnventedCrawlspace"
455
461
  args[:geometry_foundation_height] = 3.0
456
462
  when 'basement - unconditioned'
457
- args[:geometry_foundation_type] = 'UnconditionedBasement'
463
+ args[:geometry_foundation_type] = "UnconditionedBasement"
458
464
  args[:geometry_foundation_height] = 8.0
459
465
  when 'basement - conditioned'
460
- args[:geometry_foundation_type] = 'ConditionedBasement'
466
+ args[:geometry_foundation_type] = "ConditionedBasement"
461
467
  args[:geometry_foundation_height] = 8.0
462
468
  when 'ambient'
463
- args[:geometry_foundation_type] = 'Ambient'
469
+ args[:geometry_foundation_type] = "Ambient"
464
470
  args[:geometry_foundation_height] = 8.0
465
471
  end
466
472
 
467
- args[:geometry_attic_type] = 'ConditionedAttic'
468
- args[:geometry_roof_type] = 'flat'
473
+ args[:geometry_attic_type] = "ConditionedAttic"
474
+ args[:geometry_roof_type] = "flat"
469
475
  begin
470
476
  case feature.attic_type
471
477
  when 'attic - vented'
472
- args[:geometry_attic_type] = 'VentedAttic'
473
- args[:geometry_roof_type] = 'gable'
478
+ args[:geometry_attic_type] = "VentedAttic"
479
+ args[:geometry_roof_type] = "gable"
474
480
  when 'attic - unvented'
475
- args[:geometry_attic_type] = 'UnventedAttic'
476
- args[:geometry_roof_type] = 'gable'
481
+ args[:geometry_attic_type] = "UnventedAttic"
482
+ args[:geometry_roof_type] = "gable"
477
483
  when 'attic - conditioned'
478
- args[:geometry_attic_type] = 'ConditionedAttic'
479
- args[:geometry_roof_type] = 'gable'
484
+ args[:geometry_attic_type] = "ConditionedAttic"
485
+ args[:geometry_roof_type] = "gable"
480
486
  end
481
- rescue StandardError
487
+ rescue
482
488
  end
483
489
 
484
490
  args[:geometry_num_floors_above_grade] = feature.number_of_stories_above_ground
485
491
 
486
- args[:geometry_cfa] = feature.floor_area / args[:geometry_num_units]
492
+ args[:geometry_cfa] = feature.floor_area / args[:geometry_building_num_units]
487
493
 
488
494
  args[:geometry_wall_height] = 8.0
489
495
  begin
490
496
  args[:geometry_wall_height] = feature.maximum_roof_height / args[:geometry_num_floors_above_grade]
491
- rescue StandardError
497
+ rescue
492
498
  end
493
499
 
494
500
  args[:geometry_num_bedrooms] = feature.number_of_bedrooms
495
- args[:geometry_num_bedrooms] /= args[:geometry_num_units]
501
+ args[:geometry_num_bedrooms] /= args[:geometry_building_num_units]
496
502
 
497
- system_type = 'Residential - furnace and central air conditioner'
503
+ # SCHEDULES
504
+
505
+ args[:schedules_type] = 'stochastic'
506
+
507
+ # HVAC
508
+
509
+ system_type = "Residential - furnace and central air conditioner"
498
510
  begin
499
511
  system_type = feature.system_type
500
- rescue StandardError
512
+ rescue
501
513
  end
502
514
 
503
- args[:heating_system_type] = 'none'
515
+ args[:heating_system_type] = "none"
504
516
  if system_type.include?('electric resistance')
505
- args[:heating_system_type] = 'ElectricResistance'
517
+ args[:heating_system_type] = "ElectricResistance"
506
518
  elsif system_type.include?('furnace')
507
- args[:heating_system_type] = 'Furnace'
519
+ args[:heating_system_type] = "Furnace"
508
520
  elsif system_type.include?('boiler')
509
- args[:heating_system_type] = 'Boiler'
521
+ args[:heating_system_type] = "Boiler"
510
522
  end
511
523
 
512
- args[:cooling_system_type] = 'none'
524
+ args[:cooling_system_type] = "none"
513
525
  if system_type.include?('central air conditioner')
514
- args[:cooling_system_type] = 'central air conditioner'
526
+ args[:cooling_system_type] = "central air conditioner"
515
527
  elsif system_type.include?('room air conditioner')
516
- args[:cooling_system_type] = 'room air conditioner'
528
+ args[:cooling_system_type] = "room air conditioner"
517
529
  elsif system_type.include?('evaporative cooler')
518
- args[:cooling_system_type] = 'evaporative cooler'
530
+ args[:cooling_system_type] = "evaporative cooler"
519
531
  end
520
532
 
521
- args[:heat_pump_type] = 'none'
533
+ args[:heat_pump_type] = "none"
522
534
  if system_type.include?('air-to-air')
523
- args[:heat_pump_type] = 'air-to-air'
535
+ args[:heat_pump_type] = "air-to-air"
524
536
  elsif system_type.include?('mini-split')
525
- args[:heat_pump_type] = 'mini-split'
537
+ args[:heat_pump_type] = "mini-split"
526
538
  elsif system_type.include?('ground-to-air')
527
- args[:heat_pump_type] = 'ground-to-air'
539
+ args[:heat_pump_type] = "ground-to-air"
528
540
  end
529
541
 
530
- args[:heating_system_fuel] = 'natural gas'
542
+ args[:heating_system_fuel] = "natural gas"
531
543
  begin
532
544
  args[:heating_system_fuel] = feature.heating_system_fuel_type
533
- rescue StandardError
545
+ rescue
534
546
  end
535
547
 
536
- if args[:heating_system_type] == 'ElectricResistance'
537
- args[:heating_system_fuel] = 'electricity'
548
+ if args[:heating_system_type] == "ElectricResistance"
549
+ args[:heating_system_fuel] = "electricity"
538
550
  end
539
551
 
552
+ # APPLIANCES
553
+
540
554
  args[:cooking_range_oven_fuel_type] = args[:heating_system_fuel]
541
555
  args[:clothes_dryer_fuel_type] = args[:heating_system_fuel]
542
556
 
557
+ # VENTILATION
558
+
543
559
  args[:kitchen_fans_present] = true
544
560
  args[:bathroom_fans_present] = true
545
561
 
@@ -548,7 +564,7 @@ module URBANopt
548
564
  template = nil
549
565
  begin
550
566
  template = feature.template
551
- rescue StandardError
567
+ rescue
552
568
  end
553
569
 
554
570
  # IECC / EnergyStar / Other
@@ -556,8 +572,8 @@ module URBANopt
556
572
  if template.include?('Residential IECC')
557
573
 
558
574
  captures = template.match(/Residential IECC (?<iecc_year>\d+) - Customizable Template (?<t_month>\w+) (?<t_year>\d+)/)
559
- template_vals = Hash[captures.names.zip(captures.captures)]
560
- template_vals = Hash[template_vals.collect { |k, v| [k.to_sym, v] }]
575
+ template_vals = Hash[captures.names.zip( captures.captures ) ]
576
+ template_vals = Hash[template_vals.collect{ |k, v| [k.to_sym, v] }]
561
577
 
562
578
  epw = File.join(File.dirname(__FILE__), '../weather', feature.weather_filename)
563
579
  template_vals[:climate_zone] = get_climate_zone_iecc(epw)
@@ -578,7 +594,7 @@ module URBANopt
578
594
  end
579
595
  row.delete(:foundation_wall_assembly_r_basement)
580
596
  row.delete(:foundation_wall_assembly_r_crawlspace)
581
- if ['ConditionedAttic'].include?(args[:geometry_attic_type])
597
+ if ["ConditionedAttic"].include?(args[:geometry_attic_type])
582
598
  row[:roof_assembly_r] = row[:ceiling_assembly_r]
583
599
  row[:ceiling_assembly_r] = 2.1
584
600
  end
@@ -586,21 +602,21 @@ module URBANopt
586
602
 
587
603
  # HVAC
588
604
 
589
- if args[:heating_system_type] != 'none'
605
+ if args[:heating_system_type] != "none"
590
606
  heating_system_filepath = File.join(File.dirname(__FILE__), 'residential/heating_system.tsv')
591
607
  heating_system = get_lookup_tsv(args, heating_system_filepath)
592
608
  row = get_lookup_row(args, heating_system, template_vals)
593
609
  args.update(row) unless row.nil?
594
610
  end
595
611
 
596
- if args[:cooling_system_type] != 'none'
612
+ if args[:cooling_system_type] != "none"
597
613
  cooling_system_filepath = File.join(File.dirname(__FILE__), 'residential/cooling_system.tsv')
598
614
  cooling_system = get_lookup_tsv(args, cooling_system_filepath)
599
615
  row = get_lookup_row(args, cooling_system, template_vals)
600
616
  args.update(row) unless row.nil?
601
617
  end
602
618
 
603
- if args[:heat_pump_type] != 'none'
619
+ if args[:heat_pump_type] != "none"
604
620
  heat_pump_filepath = File.join(File.dirname(__FILE__), 'residential/heat_pump.tsv')
605
621
  heat_pump = get_lookup_tsv(args, heat_pump_filepath)
606
622
  row = get_lookup_row(args, heat_pump, template_vals)
@@ -618,7 +634,7 @@ module URBANopt
618
634
 
619
635
  # VENTILATION
620
636
 
621
- mechvent_filepath = File.join(File.dirname(__FILE__), 'residential/mechanical_ventilation.tsv')
637
+ mechvent_filepath = File.join(File.dirname(__FILE__), "residential/mechanical_ventilation.tsv")
622
638
  mechvent = get_lookup_tsv(args, mechvent_filepath)
623
639
  row = get_lookup_row(args, mechvent, template_vals)
624
640
  args.update(row) unless row.nil?
@@ -633,23 +649,36 @@ module URBANopt
633
649
  end
634
650
 
635
651
  # Parse BuildResidentialModel measure xml so we can override defaults with template values
652
+ default_args = {}
636
653
  OpenStudio::Extension.set_measure_argument(osw, 'BuildResidentialModel', '__SKIP__', false)
637
654
  measures_dir = File.absolute_path(File.join(File.dirname(__FILE__), '../resources/hpxml-measures'))
638
655
  measure_xml = File.read(File.join(measures_dir, 'BuildResidentialHPXML', 'measure.xml'))
639
656
  measure = REXML::Document.new(measure_xml).root
640
657
  measure.elements.each('arguments/argument') do |arg|
641
658
  arg_name = arg.elements['name'].text.to_sym
642
- next if [:hpxml_path, :weather_dir].include? arg_name
659
+ next if [:hpxml_path].include? arg_name
643
660
 
644
- if !args.keys.include? arg_name # argument has not been set and so gets the default value
645
- if arg.elements['default_value']
646
- arg_default = arg.elements['default_value'].text
647
- args[arg_name] = arg_default
648
- end
661
+ default_args[arg_name] = nil
662
+ if arg.elements['default_value']
663
+ arg_default = arg.elements['default_value'].text
664
+ default_args[arg_name] = arg_default
665
+ end
666
+ end
667
+
668
+ args.keys.each do |arg_name|
669
+ unless default_args.keys.include? arg_name
670
+ puts "Argument '#{arg_name}' is unknown."
671
+ end
672
+ end
673
+
674
+ default_args.each do |arg_name, arg_default|
675
+ next if arg_default.nil?
676
+
677
+ if not args.keys.include? arg_name
678
+ args[arg_name] = arg_default
649
679
  else
650
680
  if debug
651
- if arg.elements['default_value']
652
- arg_default = arg.elements['default_value'].text
681
+ if not arg_default.nil?
653
682
  if args[arg_name] != arg_default
654
683
  puts "Overriding #{arg_name} default '#{arg_default}' with '#{args[arg_name]}'."
655
684
  end
@@ -658,10 +687,10 @@ module URBANopt
658
687
  end
659
688
  end
660
689
  end
690
+ end
661
691
 
662
- if args.keys.include? arg_name
663
- OpenStudio::Extension.set_measure_argument(osw, 'BuildResidentialModel', arg_name, args[arg_name])
664
- end
692
+ args.keys.each do |arg_name|
693
+ OpenStudio::Extension.set_measure_argument(osw, 'BuildResidentialModel', arg_name, args[arg_name])
665
694
  end
666
695
 
667
696
  elsif commercial_building_types.include? building_type
@@ -789,13 +818,13 @@ module URBANopt
789
818
  system_type = 'VAV air-cooled chiller with gas boiler reheat'
790
819
  end
791
820
  else
792
- system_type = 'Inferred'
821
+ system_type = "Inferred"
793
822
  end
794
823
 
795
824
  def time_mapping(time)
796
825
  hour = time.split(':')[0]
797
826
  minute = time.split(':')[1]
798
- fraction = minute.to_f / 60
827
+ fraction = minute.to_f/60
799
828
  fraction_roundup = fraction.round(2)
800
829
  minute_fraction = fraction_roundup.to_s.split('.')[1]
801
830
  new_time = [hour, minute_fraction].join('.')
@@ -811,20 +840,20 @@ module URBANopt
811
840
  begin
812
841
  cec_climate_zone = feature.cec_climate_zone
813
842
  if !cec_climate_zone.empty?
814
- cec_climate_zone = 'CEC T24-CEC' + cec_climate_zone
843
+ cec_climate_zone = "CEC T24-CEC" + cec_climate_zone
815
844
  OpenStudio::Extension.set_measure_argument(osw, 'ChangeBuildingLocation', 'climate_zone', cec_climate_zone)
816
845
  cec_found = true
817
846
  end
818
- rescue StandardError
847
+ rescue
819
848
  end
820
849
  if !cec_found
821
850
  begin
822
851
  climate_zone = feature.climate_zone
823
852
  if !climate_zone.empty?
824
- climate_zone = 'ASHRAE 169-2013-' + climate_zone
853
+ climate_zone = "ASHRAE 169-2013-" + climate_zone
825
854
  OpenStudio::Extension.set_measure_argument(osw, 'ChangeBuildingLocation', 'climate_zone', climate_zone)
826
855
  end
827
- rescue StandardError
856
+ rescue
828
857
  end
829
858
  end
830
859
 
@@ -835,15 +864,15 @@ module URBANopt
835
864
  OpenStudio::Extension.set_measure_argument(osw, 'ChangeBuildingLocation', 'weather_file_name', weather_filename)
836
865
  puts "Setting weather_file_name to #{weather_filename} as specified in the FeatureFile"
837
866
  end
838
- rescue StandardError
839
- puts 'No weather_file specified on feature'
867
+ rescue
868
+ puts "No weather_file specified on feature"
840
869
  epw_file_path = Dir.glob(File.join(File.dirname(__FILE__), '../weather/*.epw'))[0]
841
870
  if !epw_file_path.nil? && !epw_file_path.empty?
842
871
  epw_file_name = File.basename(epw_file_path)
843
872
  OpenStudio::Extension.set_measure_argument(osw, 'ChangeBuildingLocation', 'weather_file_name', epw_file_name)
844
873
  puts "Setting weather_file_name to first epw file found in the weather folder: #{epw_file_name}"
845
874
  else
846
- puts 'NO WEATHER FILES SPECIFIED...SIMULATIONS MAY FAIL'
875
+ puts "NO WEATHER FILES SPECIFIED...SIMULATIONS MAY FAIL"
847
876
  end
848
877
  end
849
878
 
@@ -854,7 +883,7 @@ module URBANopt
854
883
  new_weekday_start_time = time_mapping(weekday_start_time)
855
884
  OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'wkdy_op_hrs_start_time', new_weekday_start_time, 'create_typical_building_from_model 1')
856
885
  end
857
- rescue StandardError
886
+ rescue
858
887
  end
859
888
 
860
889
  # set weekday duration
@@ -864,7 +893,7 @@ module URBANopt
864
893
  new_weekday_duration = time_mapping(weekday_duration)
865
894
  OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'wkdy_op_hrs_duration', new_weekday_duration, 'create_typical_building_from_model 1')
866
895
  end
867
- rescue StandardError
896
+ rescue
868
897
  end
869
898
 
870
899
  # set weekend start time
@@ -874,7 +903,7 @@ module URBANopt
874
903
  new_weekend_start_time = time_mapping(weekend_start_time)
875
904
  OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'wknd_op_hrs_start_time', new_weekend_start_time, 'create_typical_building_from_model 1')
876
905
  end
877
- rescue StandardError
906
+ rescue
878
907
  end
879
908
 
880
909
  # set weekend duration
@@ -884,7 +913,7 @@ module URBANopt
884
913
  new_weekend_duration = time_mapping(weekend_duration)
885
914
  OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'wknd_op_hrs_duration', new_weekend_duration, 'create_typical_building_from_model 1')
886
915
  end
887
- rescue StandardError
916
+ rescue
888
917
  end
889
918
 
890
919
  # template
@@ -904,12 +933,12 @@ module URBANopt
904
933
  OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'template', new_template, 'create_typical_building_from_model 1')
905
934
  OpenStudio::Extension.set_measure_argument(osw, 'create_typical_building_from_model', 'template', new_template, 'create_typical_building_from_model 2')
906
935
  end
907
- rescue StandardError
936
+ rescue
908
937
  end
909
-
938
+
910
939
  # TODO: surface_elevation has no current mapping
911
940
  # TODO: tariff_filename has no current mapping
912
-
941
+
913
942
  # create a bar building, will have spaces tagged with individual space types given the
914
943
  # input building types
915
944
  # set skip measure to false
@@ -945,9 +974,9 @@ module URBANopt
945
974
 
946
975
  # create a blended space type for each story
947
976
  OpenStudio::Extension.set_measure_argument(osw,
948
- 'blended_space_type_from_model', '__SKIP__', false)
977
+ 'blended_space_type_from_model', '__SKIP__', false)
949
978
  OpenStudio::Extension.set_measure_argument(osw,
950
- 'blended_space_type_from_model', 'blend_method', 'Building Story')
979
+ 'blended_space_type_from_model', 'blend_method', 'Building Story')
951
980
 
952
981
  # create geometry for the desired feature, this will reuse blended space types in the model for each story and remove the bar geometry
953
982
  OpenStudio::Extension.set_measure_argument(osw, 'urban_geometry_creation_zoning', '__SKIP__', false)