openstudio-common-measures 0.2.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (524) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +82 -0
  4. data/Jenkinsfile +2 -1
  5. data/LICENSE.md +1 -1
  6. data/Rakefile +17 -0
  7. data/doc_templates/LICENSE.md +1 -1
  8. data/doc_templates/copyright_erb.txt +1 -1
  9. data/doc_templates/copyright_js.txt +1 -1
  10. data/doc_templates/copyright_ruby.txt +1 -1
  11. data/lib/measures/AddCostPerAreaToConstruction/LICENSE.md +1 -1
  12. data/lib/measures/AddCostPerAreaToConstruction/measure.rb +1 -1
  13. data/lib/measures/AddCostPerAreaToConstruction/measure.xml +8 -7
  14. data/lib/measures/AddCostPerFloorAreaToBuilding/LICENSE.md +1 -1
  15. data/lib/measures/AddCostPerFloorAreaToBuilding/measure.rb +1 -1
  16. data/lib/measures/AddCostPerFloorAreaToBuilding/measure.xml +8 -7
  17. data/lib/measures/AddCostPerFloorAreaToElectricEquipment/LICENSE.md +1 -1
  18. data/lib/measures/AddCostPerFloorAreaToElectricEquipment/measure.rb +1 -1
  19. data/lib/measures/AddCostPerFloorAreaToElectricEquipment/measure.xml +8 -7
  20. data/lib/measures/AddCostPerFloorAreaToLights/LICENSE.md +1 -1
  21. data/lib/measures/AddCostPerFloorAreaToLights/measure.rb +1 -1
  22. data/lib/measures/AddCostPerFloorAreaToLights/measure.xml +8 -7
  23. data/lib/measures/AddCostPerFloorAreaUnusedToLights/LICENSE.md +1 -1
  24. data/lib/measures/AddCostPerFloorAreaUnusedToLights/measure.rb +1 -1
  25. data/lib/measures/AddCostPerFloorAreaUnusedToLights/measure.xml +8 -7
  26. data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/LICENSE.md +1 -1
  27. data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/measure.rb +1 -1
  28. data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/measure.xml +9 -8
  29. data/lib/measures/AddCostperAreatoUnusedConstruction/LICENSE.md +1 -1
  30. data/lib/measures/AddCostperAreatoUnusedConstruction/measure.rb +1 -1
  31. data/lib/measures/AddCostperAreatoUnusedConstruction/measure.xml +8 -7
  32. data/lib/measures/AddExteriorLights/LICENSE.md +1 -1
  33. data/lib/measures/AddExteriorLights/measure.rb +1 -1
  34. data/lib/measures/AddExteriorLights/measure.xml +8 -7
  35. data/lib/measures/AddMeter/LICENSE.md +1 -1
  36. data/lib/measures/AddMeter/measure.rb +1 -1
  37. data/lib/measures/AddMeter/measure.xml +8 -7
  38. data/lib/measures/AddOutputDiagnostics/LICENSE.md +1 -1
  39. data/lib/measures/AddOutputDiagnostics/measure.rb +1 -1
  40. data/lib/measures/AddOutputDiagnostics/measure.xml +8 -7
  41. data/lib/measures/AddOutputVariable/LICENSE.md +1 -1
  42. data/lib/measures/AddOutputVariable/measure.rb +1 -1
  43. data/lib/measures/AddOutputVariable/measure.xml +8 -7
  44. data/lib/measures/AddSimplePvToShadingSurfacesByType/LICENSE.md +1 -1
  45. data/lib/measures/AddSimplePvToShadingSurfacesByType/measure.rb +1 -1
  46. data/lib/measures/AddSimplePvToShadingSurfacesByType/measure.xml +8 -7
  47. data/lib/measures/AdjustSystemEfficiencies/LICENSE.md +1 -1
  48. data/lib/measures/AdjustSystemEfficiencies/measure.rb +1 -1
  49. data/lib/measures/AdjustSystemEfficiencies/measure.xml +7 -6
  50. data/lib/measures/AdjustThermostatSetpointsByDegrees/LICENSE.md +1 -1
  51. data/lib/measures/AdjustThermostatSetpointsByDegrees/measure.rb +1 -1
  52. data/lib/measures/AdjustThermostatSetpointsByDegrees/measure.xml +8 -7
  53. data/lib/measures/ChangeBuildingLocation/LICENSE.md +1 -1
  54. data/lib/measures/ChangeBuildingLocation/measure.rb +3 -3
  55. data/lib/measures/ChangeBuildingLocation/measure.xml +15 -15
  56. data/lib/measures/ChangeBuildingLocation/resources/epw.rb +1 -1
  57. data/lib/measures/ChangeBuildingLocation/resources/stat_file.rb +1 -1
  58. data/lib/measures/EnableIdealAirLoadsForAllZones/LICENSE.md +1 -1
  59. data/lib/measures/EnableIdealAirLoadsForAllZones/measure.rb +1 -1
  60. data/lib/measures/EnableIdealAirLoadsForAllZones/measure.xml +9 -8
  61. data/lib/measures/ExportScheduleCSV/LICENSE.md +1 -1
  62. data/lib/measures/ExportScheduleCSV/measure.rb +2 -2
  63. data/lib/measures/ExportScheduleCSV/measure.xml +13 -12
  64. data/lib/measures/ImportEnvelopeAndInternalLoadsFromIdf/LICENSE.md +1 -1
  65. data/lib/measures/ImportEnvelopeAndInternalLoadsFromIdf/measure.rb +1 -1
  66. data/lib/measures/ImportEnvelopeAndInternalLoadsFromIdf/measure.xml +9 -8
  67. data/lib/measures/MeterFlodPlot/LICENSE.md +1 -1
  68. data/lib/measures/MeterFlodPlot/measure.rb +2 -2
  69. data/lib/measures/MeterFlodPlot/measure.xml +13 -12
  70. data/lib/measures/ModifyEnergyPlusCoilCoolingDXSingleSpeedObjects/LICENSE.md +1 -1
  71. data/lib/measures/ModifyEnergyPlusCoilCoolingDXSingleSpeedObjects/measure.rb +1 -1
  72. data/lib/measures/ModifyEnergyPlusCoilCoolingDXSingleSpeedObjects/measure.xml +8 -7
  73. data/lib/measures/ModifyEnergyPlusFanVariableVolumeObjects/LICENSE.md +1 -1
  74. data/lib/measures/ModifyEnergyPlusFanVariableVolumeObjects/measure.rb +1 -1
  75. data/lib/measures/ModifyEnergyPlusFanVariableVolumeObjects/measure.xml +8 -7
  76. data/lib/measures/PredictedMeanVote/LICENSE.md +1 -1
  77. data/lib/measures/PredictedMeanVote/measure.rb +1 -1
  78. data/lib/measures/PredictedMeanVote/measure.xml +14 -13
  79. data/lib/measures/RemoveInternalLoadsDirectlyAssignedToSpaces/LICENSE.md +1 -1
  80. data/lib/measures/RemoveInternalLoadsDirectlyAssignedToSpaces/measure.rb +1 -1
  81. data/lib/measures/RemoveInternalLoadsDirectlyAssignedToSpaces/measure.xml +9 -8
  82. data/lib/measures/RemoveUnusedDefaultProfiles/LICENSE.md +1 -1
  83. data/lib/measures/RemoveUnusedDefaultProfiles/measure.rb +1 -1
  84. data/lib/measures/RemoveUnusedDefaultProfiles/measure.xml +9 -8
  85. data/lib/measures/ReplaceExteriorWindowConstruction/LICENSE.md +1 -1
  86. data/lib/measures/ReplaceExteriorWindowConstruction/measure.rb +1 -1
  87. data/lib/measures/ReplaceExteriorWindowConstruction/measure.xml +11 -10
  88. data/lib/measures/ReplaceThermostatSchedules/LICENSE.md +1 -1
  89. data/lib/measures/ReplaceThermostatSchedules/measure.rb +1 -1
  90. data/lib/measures/ReplaceThermostatSchedules/measure.xml +12 -11
  91. data/lib/measures/ReportModelChanges/LICENSE.md +1 -1
  92. data/lib/measures/ReportModelChanges/measure.rb +1 -1
  93. data/lib/measures/ReportModelChanges/measure.xml +5 -5
  94. data/lib/measures/RunPeriod/LICENSE.md +1 -1
  95. data/lib/measures/RunPeriod/measure.rb +1 -1
  96. data/lib/measures/RunPeriod/measure.xml +19 -18
  97. data/lib/measures/RunPeriodMultiple/LICENSE.md +1 -1
  98. data/lib/measures/RunPeriodMultiple/measure.rb +1 -1
  99. data/lib/measures/RunPeriodMultiple/measure.xml +12 -11
  100. data/lib/measures/ServerDirectoryCleanup/LICENSE.md +1 -1
  101. data/lib/measures/ServerDirectoryCleanup/README.md +97 -3
  102. data/lib/measures/ServerDirectoryCleanup/measure.rb +2 -2
  103. data/lib/measures/ServerDirectoryCleanup/measure.xml +20 -69
  104. data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/LICENSE.md +1 -1
  105. data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/measure.rb +1 -1
  106. data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/measure.xml +10 -9
  107. data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/LICENSE.md +1 -1
  108. data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/measure.rb +1 -1
  109. data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/measure.xml +10 -9
  110. data/lib/measures/SetEnergyPlusInfiltrationFlowRatePerFloorArea/LICENSE.md +1 -1
  111. data/lib/measures/SetEnergyPlusInfiltrationFlowRatePerFloorArea/measure.rb +1 -1
  112. data/lib/measures/SetEnergyPlusInfiltrationFlowRatePerFloorArea/measure.xml +8 -7
  113. data/lib/measures/SetEnergyPlusLightObjectsLPD/LICENSE.md +1 -1
  114. data/lib/measures/SetEnergyPlusLightObjectsLPD/measure.rb +1 -1
  115. data/lib/measures/SetEnergyPlusLightObjectsLPD/measure.xml +8 -7
  116. data/lib/measures/SetEnergyPlusMinimumOutdoorAirFlowRate/LICENSE.md +1 -1
  117. data/lib/measures/SetEnergyPlusMinimumOutdoorAirFlowRate/measure.rb +1 -1
  118. data/lib/measures/SetEnergyPlusMinimumOutdoorAirFlowRate/measure.xml +8 -7
  119. data/lib/measures/SetGasBurnerEfficiency/LICENSE.md +1 -1
  120. data/lib/measures/SetGasBurnerEfficiency/measure.rb +1 -1
  121. data/lib/measures/SetGasBurnerEfficiency/measure.xml +10 -9
  122. data/lib/measures/SetLifecycleCostParameters/LICENSE.md +1 -1
  123. data/lib/measures/SetLifecycleCostParameters/measure.rb +1 -1
  124. data/lib/measures/SetLifecycleCostParameters/measure.xml +8 -7
  125. data/lib/measures/SetLightingLoadsByLPD/LICENSE.md +1 -1
  126. data/lib/measures/SetLightingLoadsByLPD/measure.rb +1 -1
  127. data/lib/measures/SetLightingLoadsByLPD/measure.xml +10 -9
  128. data/lib/measures/SetSpaceInfiltrationByExteriorSurfaceArea/LICENSE.md +1 -1
  129. data/lib/measures/SetSpaceInfiltrationByExteriorSurfaceArea/measure.rb +1 -1
  130. data/lib/measures/SetSpaceInfiltrationByExteriorSurfaceArea/measure.xml +20 -19
  131. data/lib/measures/SetThermostatSchedules/LICENSE.md +1 -1
  132. data/lib/measures/SetThermostatSchedules/measure.rb +1 -1
  133. data/lib/measures/SetThermostatSchedules/measure.xml +12 -11
  134. data/lib/measures/ShiftScheduleProfileTime/LICENSE.md +1 -1
  135. data/lib/measures/ShiftScheduleProfileTime/measure.rb +1 -1
  136. data/lib/measures/ShiftScheduleProfileTime/measure.xml +10 -9
  137. data/lib/measures/SwapLightsDefinition/LICENSE.md +1 -1
  138. data/lib/measures/SwapLightsDefinition/measure.rb +1 -1
  139. data/lib/measures/SwapLightsDefinition/measure.xml +10 -9
  140. data/lib/measures/UnmetLoadHoursTroubleshooting/LICENSE.md +1 -1
  141. data/lib/measures/UnmetLoadHoursTroubleshooting/README.md +9 -3
  142. data/lib/measures/UnmetLoadHoursTroubleshooting/measure.rb +2 -2
  143. data/lib/measures/UnmetLoadHoursTroubleshooting/measure.xml +72 -23
  144. data/lib/measures/VentilationQAQC/LICENSE.md +1 -1
  145. data/lib/measures/VentilationQAQC/README.md +9 -3
  146. data/lib/measures/VentilationQAQC/measure.rb +53 -46
  147. data/lib/measures/VentilationQAQC/measure.xml +24 -29
  148. data/lib/measures/ZoneReport/LICENSE.md +1 -1
  149. data/lib/measures/ZoneReport/README.md +2 -2
  150. data/lib/measures/ZoneReport/measure.rb +2 -2
  151. data/lib/measures/ZoneReport/measure.xml +16 -17
  152. data/lib/measures/add_ems_to_control_ev_charging/LICENSE.MD.txt +15 -0
  153. data/lib/measures/{AddDaylightSensors → add_ems_to_control_ev_charging}/LICENSE.md +1 -1
  154. data/lib/measures/add_ems_to_control_ev_charging/README.md +29 -0
  155. data/lib/measures/add_ems_to_control_ev_charging/measure.rb +289 -0
  156. data/lib/measures/add_ems_to_control_ev_charging/measure.xml +91 -0
  157. data/lib/measures/add_ev_load/LICENSE.MD.txt +15 -0
  158. data/lib/measures/{EnableEconomizerControl → add_ev_load}/LICENSE.md +1 -1
  159. data/lib/measures/add_ev_load/README.md +34 -0
  160. data/lib/measures/add_ev_load/measure.rb +331 -0
  161. data/lib/measures/add_ev_load/measure.xml +348 -0
  162. data/lib/measures/add_ev_load/resources/PSN_BuildingKey.csv +104 -0
  163. data/lib/measures/add_ev_load/resources/PSN_BuildingKey_v2.csv +104 -0
  164. data/lib/measures/add_ev_load/resources/chg1_dow1_flex1.csv +96 -0
  165. data/lib/measures/add_ev_load/resources/chg1_dow1_flex2.csv +96 -0
  166. data/lib/measures/add_ev_load/resources/chg1_dow1_flex3.csv +96 -0
  167. data/lib/measures/add_ev_load/resources/chg1_dow2_flex1.csv +96 -0
  168. data/lib/measures/add_ev_load/resources/chg1_dow2_flex2.csv +96 -0
  169. data/lib/measures/add_ev_load/resources/chg1_dow2_flex3.csv +96 -0
  170. data/lib/measures/add_ev_load/resources/chg1_dow3_flex1.csv +96 -0
  171. data/lib/measures/add_ev_load/resources/chg1_dow3_flex2.csv +96 -0
  172. data/lib/measures/add_ev_load/resources/chg1_dow3_flex3.csv +96 -0
  173. data/lib/measures/add_ev_load/resources/chg2_dow1_flex1.csv +96 -0
  174. data/lib/measures/add_ev_load/resources/chg2_dow1_flex2.csv +96 -0
  175. data/lib/measures/add_ev_load/resources/chg2_dow1_flex3.csv +96 -0
  176. data/lib/measures/add_ev_load/resources/chg2_dow2_flex1.csv +96 -0
  177. data/lib/measures/add_ev_load/resources/chg2_dow2_flex2.csv +96 -0
  178. data/lib/measures/add_ev_load/resources/chg2_dow2_flex3.csv +96 -0
  179. data/lib/measures/add_ev_load/resources/chg2_dow3_flex1.csv +96 -0
  180. data/lib/measures/add_ev_load/resources/chg2_dow3_flex2.csv +96 -0
  181. data/lib/measures/add_ev_load/resources/chg2_dow3_flex3.csv +96 -0
  182. data/lib/measures/add_ev_load/resources/chg3_dow1_flex1.csv +96 -0
  183. data/lib/measures/add_ev_load/resources/chg3_dow1_flex2.csv +96 -0
  184. data/lib/measures/add_ev_load/resources/chg3_dow1_flex3.csv +96 -0
  185. data/lib/measures/add_ev_load/resources/chg3_dow2_flex1.csv +96 -0
  186. data/lib/measures/add_ev_load/resources/chg3_dow2_flex2.csv +96 -0
  187. data/lib/measures/add_ev_load/resources/chg3_dow2_flex3.csv +96 -0
  188. data/lib/measures/add_ev_load/resources/chg3_dow3_flex1.csv +96 -0
  189. data/lib/measures/add_ev_load/resources/chg3_dow3_flex2.csv +96 -0
  190. data/lib/measures/add_ev_load/resources/chg3_dow3_flex3.csv +96 -0
  191. data/lib/measures/add_ev_load/resources/fast_charge_15min_Saturday.csv +96 -0
  192. data/lib/measures/add_ev_load/resources/fast_charge_15min_Sunday.csv +96 -0
  193. data/lib/measures/add_ev_load/resources/fast_charge_15min_Weekday.csv +96 -0
  194. data/lib/measures/add_rooftop_pv/LICENSE.md +1 -1
  195. data/lib/measures/add_rooftop_pv/measure.rb +1 -1
  196. data/lib/measures/add_rooftop_pv/measure.xml +5 -5
  197. data/lib/measures/add_zone_mixing_object/LICENSE.md +1 -1
  198. data/lib/measures/add_zone_mixing_object/measure.rb +1 -1
  199. data/lib/measures/add_zone_mixing_object/measure.xml +8 -7
  200. data/lib/measures/add_zone_ventilation_design_flow_rate_object/LICENSE.md +1 -1
  201. data/lib/measures/add_zone_ventilation_design_flow_rate_object/measure.rb +1 -1
  202. data/lib/measures/add_zone_ventilation_design_flow_rate_object/measure.xml +8 -7
  203. data/lib/measures/air_wall_zone_mixing/LICENSE.md +1 -1
  204. data/lib/measures/air_wall_zone_mixing/measure.rb +1 -1
  205. data/lib/measures/air_wall_zone_mixing/measure.xml +5 -5
  206. data/lib/measures/envelope_and_internal_load_breakdown/LICENSE.md +1 -1
  207. data/lib/measures/envelope_and_internal_load_breakdown/README.md +4 -3
  208. data/lib/measures/envelope_and_internal_load_breakdown/measure.rb +8 -5
  209. data/lib/measures/envelope_and_internal_load_breakdown/measure.xml +18 -19
  210. data/lib/measures/envelope_and_internal_load_breakdown/resources/os_lib_reporting_envelope_and_internal_loads_breakdown.rb +1 -1
  211. data/lib/measures/envelope_and_internal_load_breakdown/resources/report.html.erb +5 -1
  212. data/lib/measures/example_report/LICENSE.md +1 -1
  213. data/lib/measures/example_report/README.md +27 -5
  214. data/lib/measures/example_report/measure.rb +8 -5
  215. data/lib/measures/example_report/measure.xml +19 -32
  216. data/lib/measures/example_report/resources/os_lib_reporting_example.rb +1 -1
  217. data/lib/measures/example_report/resources/report.html.erb +5 -1
  218. data/lib/measures/gem_env_report/LICENSE.md +1 -1
  219. data/lib/measures/gem_env_report/measure.rb +1 -1
  220. data/lib/measures/gem_env_report/measure.xml +14 -13
  221. data/lib/measures/gem_env_report/resources/gem_env_info.rb +1 -1
  222. data/lib/measures/gem_env_report/resources/openstudio_info.rb +1 -1
  223. data/lib/measures/gem_env_report/resources/run_gem_env_info.rb +1 -1
  224. data/lib/measures/gem_env_report/resources/run_openstudio_info.rb +1 -1
  225. data/lib/measures/generic_qaqc/LICENSE.md +1 -1
  226. data/lib/measures/generic_qaqc/README.md +187 -5
  227. data/lib/measures/generic_qaqc/measure.rb +7 -2
  228. data/lib/measures/generic_qaqc/measure.xml +54 -130
  229. data/lib/measures/generic_qaqc/resources/CreateResults.rb +1 -1
  230. data/lib/measures/generic_qaqc/resources/check_air_sys_temps.rb +1 -1
  231. data/lib/measures/generic_qaqc/resources/check_calibration.rb +1 -1
  232. data/lib/measures/generic_qaqc/resources/check_cond_zns.rb +1 -1
  233. data/lib/measures/generic_qaqc/resources/check_domestic_hot_water.rb +1 -1
  234. data/lib/measures/generic_qaqc/resources/check_envelope_conductance.rb +8 -2
  235. data/lib/measures/generic_qaqc/resources/check_eui_by_end_use.rb +11 -12
  236. data/lib/measures/generic_qaqc/resources/check_eui_reasonableness.rb +1 -1
  237. data/lib/measures/generic_qaqc/resources/check_fan_pwr.rb +1 -1
  238. data/lib/measures/generic_qaqc/resources/check_internal_loads.rb +1 -1
  239. data/lib/measures/generic_qaqc/resources/check_mech_sys_capacity.rb +1 -1
  240. data/lib/measures/generic_qaqc/resources/check_mech_sys_efficiency.rb +1 -1
  241. data/lib/measures/generic_qaqc/resources/check_mech_sys_part_load_eff.rb +1 -1
  242. data/lib/measures/generic_qaqc/resources/check_mech_sys_type.rb +1 -1
  243. data/lib/measures/generic_qaqc/resources/check_part_loads.rb +1 -1
  244. data/lib/measures/generic_qaqc/resources/check_placeholder.rb +1 -1
  245. data/lib/measures/generic_qaqc/resources/check_plant_cap.rb +1 -1
  246. data/lib/measures/generic_qaqc/resources/check_plant_temps.rb +1 -1
  247. data/lib/measures/generic_qaqc/resources/check_plenum_loads.rb +1 -1
  248. data/lib/measures/generic_qaqc/resources/check_pump_pwr.rb +1 -1
  249. data/lib/measures/generic_qaqc/resources/check_sch_coord.rb +1 -1
  250. data/lib/measures/generic_qaqc/resources/check_schedules.rb +1 -1
  251. data/lib/measures/generic_qaqc/resources/check_simultaneous_heating_and_cooling.rb +1 -1
  252. data/lib/measures/generic_qaqc/resources/check_supply_air_and_thermostat_temp_difference.rb +1 -1
  253. data/lib/measures/generic_qaqc/resources/check_weather_files.rb +1 -1
  254. data/lib/measures/generic_qaqc/resources/os_lib_reporting_qaqc.rb +1 -1
  255. data/lib/measures/generic_qaqc/resources/report.html.erb +5 -1
  256. data/lib/measures/get_site_from_building_component_library/LICENSE.md +1 -1
  257. data/lib/measures/get_site_from_building_component_library/measure.rb +1 -1
  258. data/lib/measures/get_site_from_building_component_library/measure.xml +6 -6
  259. data/lib/measures/hvac_psychrometric_chart/LICENSE.md +1 -1
  260. data/lib/measures/hvac_psychrometric_chart/README.md +11 -5
  261. data/lib/measures/hvac_psychrometric_chart/measure.rb +2 -2
  262. data/lib/measures/hvac_psychrometric_chart/measure.xml +13 -19
  263. data/lib/measures/hvac_psychrometric_chart/resources/report.html.erb +5 -1
  264. data/lib/measures/inject_idf_objects/LICENSE.md +1 -1
  265. data/lib/measures/inject_idf_objects/measure.rb +1 -1
  266. data/lib/measures/inject_idf_objects/measure.xml +29 -28
  267. data/lib/measures/openstudio_results/LICENSE.md +1 -1
  268. data/lib/measures/openstudio_results/README.md +200 -6
  269. data/lib/measures/openstudio_results/measure.rb +20 -14
  270. data/lib/measures/openstudio_results/measure.xml +210 -302
  271. data/lib/measures/openstudio_results/resources/Siz.AirConditionerVariableRefrigerantFlow.rb +1 -1
  272. data/lib/measures/openstudio_results/resources/Siz.AirLoopHVAC.rb +1 -1
  273. data/lib/measures/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass.rb +1 -1
  274. data/lib/measures/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAir.rb +1 -1
  275. data/lib/measures/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed.rb +1 -1
  276. data/lib/measures/openstudio_results/resources/Siz.AirLoopHVACUnitarySystem.rb +1 -1
  277. data/lib/measures/openstudio_results/resources/Siz.AirTerminalDualDuctVAV.rb +1 -1
  278. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeCooledBeam.rb +1 -1
  279. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeFourPipeInduction.rb +1 -1
  280. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeReheat.rb +1 -1
  281. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctParallelPIUReheat.rb +1 -1
  282. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctSeriesPIUReheat.rb +1 -1
  283. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctUncontrolled.rb +1 -1
  284. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolNoReheat.rb +1 -1
  285. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolReheat.rb +1 -1
  286. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVNoReheat.rb +1 -1
  287. data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVReheat.rb +1 -1
  288. data/lib/measures/openstudio_results/resources/Siz.BoilerHotWater.rb +1 -1
  289. data/lib/measures/openstudio_results/resources/Siz.BoilerSteam.rb +1 -1
  290. data/lib/measures/openstudio_results/resources/Siz.ChillerAbsorption.rb +1 -1
  291. data/lib/measures/openstudio_results/resources/Siz.ChillerAbsorptionIndirect.rb +1 -1
  292. data/lib/measures/openstudio_results/resources/Siz.ChillerElectricEIR.rb +1 -1
  293. data/lib/measures/openstudio_results/resources/Siz.ChillerHeaterPerformanceElectricEIR.rb +1 -1
  294. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeed.rb +1 -1
  295. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeedStageData.rb +1 -1
  296. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXSingleSpeed.rb +1 -1
  297. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXTwoSpeed.rb +1 -1
  298. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXTwoStageWithHumidityControlMode.rb +1 -1
  299. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXVariableRefrigerantFlow.rb +1 -1
  300. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeed.rb +1 -1
  301. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeedSpeedData.rb +1 -1
  302. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingLowTempRadiantVarFlow.rb +1 -1
  303. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWater.rb +1 -1
  304. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpEquationFit.rb +1 -1
  305. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.rb +1 -1
  306. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +1 -1
  307. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeed.rb +1 -1
  308. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeedStageData.rb +1 -1
  309. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXSingleSpeed.rb +1 -1
  310. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXVariableRefrigerantFlow.rb +1 -1
  311. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeed.rb +1 -1
  312. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeedSpeedData.rb +1 -1
  313. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDesuperheater.rb +1 -1
  314. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingElectric.rb +1 -1
  315. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingGas.rb +1 -1
  316. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingGasMultiStage.rb +1 -1
  317. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingGasMultiStageStageData.rb +1 -1
  318. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingLowTempRadiantVarFlow.rb +1 -1
  319. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWater.rb +1 -1
  320. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterBaseboard.rb +1 -1
  321. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterBaseboardRadiant.rb +1 -1
  322. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpEquationFit.rb +1 -1
  323. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.rb +1 -1
  324. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +1 -1
  325. data/lib/measures/openstudio_results/resources/Siz.CoilPerformanceDXCooling.rb +1 -1
  326. data/lib/measures/openstudio_results/resources/Siz.CoilSystemCoolingDXHeatExchangerAssisted.rb +1 -1
  327. data/lib/measures/openstudio_results/resources/Siz.CoilSystemCoolingWaterHeatExchangerAssisted.rb +1 -1
  328. data/lib/measures/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPump.rb +1 -1
  329. data/lib/measures/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPumpWrapped.rb +1 -1
  330. data/lib/measures/openstudio_results/resources/Siz.CoilWaterHeatingDesuperheater.rb +1 -1
  331. data/lib/measures/openstudio_results/resources/Siz.ControllerOutdoorAir.rb +1 -1
  332. data/lib/measures/openstudio_results/resources/Siz.CoolingTowerSingleSpeed.rb +1 -1
  333. data/lib/measures/openstudio_results/resources/Siz.CoolingTowerTwoSpeed.rb +1 -1
  334. data/lib/measures/openstudio_results/resources/Siz.CoolingTowerVariableSpeed.rb +1 -1
  335. data/lib/measures/openstudio_results/resources/Siz.DistrictCooling.rb +1 -1
  336. data/lib/measures/openstudio_results/resources/Siz.DistrictHeating.rb +1 -1
  337. data/lib/measures/openstudio_results/resources/Siz.ElectricLoadCenterInverterLookUpTable.rb +1 -1
  338. data/lib/measures/openstudio_results/resources/Siz.ElectricLoadCenterInverterSimple.rb +1 -1
  339. data/lib/measures/openstudio_results/resources/Siz.ElectricLoadCenterStorageConverter.rb +1 -1
  340. data/lib/measures/openstudio_results/resources/Siz.ElectricLoadCenterStorageSimple.rb +1 -1
  341. data/lib/measures/openstudio_results/resources/Siz.EvaporativeCoolerDirectResearchSpecial.rb +1 -1
  342. data/lib/measures/openstudio_results/resources/Siz.EvaporativeCoolerIndirectResearchSpecial.rb +1 -1
  343. data/lib/measures/openstudio_results/resources/Siz.EvaporativeFluidCoolerSingleSpeed.rb +1 -1
  344. data/lib/measures/openstudio_results/resources/Siz.EvaporativeFluidCoolerTwoSpeed.rb +1 -1
  345. data/lib/measures/openstudio_results/resources/Siz.FanConstantVolume.rb +1 -1
  346. data/lib/measures/openstudio_results/resources/Siz.FanOnOff.rb +1 -1
  347. data/lib/measures/openstudio_results/resources/Siz.FanVariableVolume.rb +1 -1
  348. data/lib/measures/openstudio_results/resources/Siz.FanZoneExhaust.rb +1 -1
  349. data/lib/measures/openstudio_results/resources/Siz.FluidCoolerSingleSpeed.rb +1 -1
  350. data/lib/measures/openstudio_results/resources/Siz.FluidCoolerTwoSpeed.rb +1 -1
  351. data/lib/measures/openstudio_results/resources/Siz.GeneratorFuelCellElectricalStorage.rb +1 -1
  352. data/lib/measures/openstudio_results/resources/Siz.GeneratorFuelCellInverter.rb +1 -1
  353. data/lib/measures/openstudio_results/resources/Siz.GeneratorFuelCellPowerModule.rb +1 -1
  354. data/lib/measures/openstudio_results/resources/Siz.GeneratorMicroTurbine.rb +1 -1
  355. data/lib/measures/openstudio_results/resources/Siz.GeneratorMicroTurbineHeatRecovery.rb +1 -1
  356. data/lib/measures/openstudio_results/resources/Siz.HVACComponent.rb +1 -1
  357. data/lib/measures/openstudio_results/resources/Siz.HeaderedPumpsConstantSpeed.rb +1 -1
  358. data/lib/measures/openstudio_results/resources/Siz.HeaderedPumpsVariableSpeed.rb +1 -1
  359. data/lib/measures/openstudio_results/resources/Siz.HeatExchangerAirToAirSensibleAndLatent.rb +1 -1
  360. data/lib/measures/openstudio_results/resources/Siz.HeatExchangerFluidToFluid.rb +1 -1
  361. data/lib/measures/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitCooling.rb +1 -1
  362. data/lib/measures/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitHeating.rb +1 -1
  363. data/lib/measures/openstudio_results/resources/Siz.HumidifierSteamElectric.rb +1 -1
  364. data/lib/measures/openstudio_results/resources/Siz.Model.rb +1 -1
  365. data/lib/measures/openstudio_results/resources/Siz.ModelObject.rb +1 -1
  366. data/lib/measures/openstudio_results/resources/Siz.PhotovoltaicPerformanceSimple.rb +1 -1
  367. data/lib/measures/openstudio_results/resources/Siz.PlantComponentTemperatureSource.rb +1 -1
  368. data/lib/measures/openstudio_results/resources/Siz.PlantLoop.rb +1 -1
  369. data/lib/measures/openstudio_results/resources/Siz.PumpConstantSpeed.rb +1 -1
  370. data/lib/measures/openstudio_results/resources/Siz.PumpVariableSpeed.rb +1 -1
  371. data/lib/measures/openstudio_results/resources/Siz.RefrigerationSecondarySystem.rb +1 -1
  372. data/lib/measures/openstudio_results/resources/Siz.RefrigerationSystem.rb +1 -1
  373. data/lib/measures/openstudio_results/resources/Siz.RefrigerationTranscriticalSystem.rb +1 -1
  374. data/lib/measures/openstudio_results/resources/Siz.SizingSystem.rb +1 -1
  375. data/lib/measures/openstudio_results/resources/Siz.SolarCollectorFlatPlatePhotovoltaicThermal.rb +1 -1
  376. data/lib/measures/openstudio_results/resources/Siz.SolarCollectorPerformancePhotovoltaicThermalSimple.rb +1 -1
  377. data/lib/measures/openstudio_results/resources/Siz.ThermalStorageChilledWaterStratified.rb +1 -1
  378. data/lib/measures/openstudio_results/resources/Siz.WaterHeaterHeatPump.rb +1 -1
  379. data/lib/measures/openstudio_results/resources/Siz.WaterHeaterHeatPumpWrappedCondenser.rb +1 -1
  380. data/lib/measures/openstudio_results/resources/Siz.WaterHeaterMixed.rb +1 -1
  381. data/lib/measures/openstudio_results/resources/Siz.WaterHeaterStratified.rb +1 -1
  382. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveElectric.rb +1 -1
  383. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveWater.rb +1 -1
  384. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveElectric.rb +1 -1
  385. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveWater.rb +1 -1
  386. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACEnergyRecoveryVentilator.rb +1 -1
  387. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACFourPipeFanCoil.rb +1 -1
  388. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACHighTemperatureRadiant.rb +1 -1
  389. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACIdealLoadsAirSystem.rb +1 -1
  390. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantConstFlow.rb +1 -1
  391. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantVarFlow.rb +1 -1
  392. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalAirConditioner.rb +1 -1
  393. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalHeatPump.rb +1 -1
  394. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow.rb +1 -1
  395. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACUnitHeater.rb +1 -1
  396. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACUnitVentilator.rb +1 -1
  397. data/lib/measures/openstudio_results/resources/Siz.ZoneHVACWaterToAirHeatPump.rb +1 -1
  398. data/lib/measures/openstudio_results/resources/Siz.ZoneVentilationDesignFlowRate.rb +1 -1
  399. data/lib/measures/openstudio_results/resources/os_lib_reporting.rb +117 -39
  400. data/lib/measures/openstudio_results/resources/report.html.erb +5 -1
  401. data/lib/measures/remove_orphan_objects_and_unused_resources/LICENSE.md +1 -1
  402. data/lib/measures/remove_orphan_objects_and_unused_resources/measure.rb +1 -1
  403. data/lib/measures/remove_orphan_objects_and_unused_resources/measure.xml +8 -7
  404. data/lib/measures/set_electric_equipment_loads_by_epd/LICENSE.md +1 -1
  405. data/lib/measures/set_electric_equipment_loads_by_epd/measure.rb +1 -1
  406. data/lib/measures/set_electric_equipment_loads_by_epd/measure.xml +10 -9
  407. data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/LICENSE.md +1 -1
  408. data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/README.md +16 -0
  409. data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/measure.rb +33 -2
  410. data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/measure.xml +33 -8
  411. data/lib/measures/set_run_period/LICENSE.md +1 -1
  412. data/lib/measures/set_run_period/measure.rb +1 -1
  413. data/lib/measures/set_run_period/measure.xml +5 -5
  414. data/lib/measures/set_space_infiltration_per_exterior_area/LICENSE.md +1 -1
  415. data/lib/measures/set_space_infiltration_per_exterior_area/measure.rb +1 -1
  416. data/lib/measures/set_space_infiltration_per_exterior_area/measure.xml +8 -7
  417. data/lib/measures/tariff_selection_block/LICENSE.md +1 -1
  418. data/lib/measures/tariff_selection_block/measure.rb +2 -2
  419. data/lib/measures/tariff_selection_block/measure.xml +5 -5
  420. data/lib/measures/tariff_selection_flat/LICENSE.md +1 -1
  421. data/lib/measures/tariff_selection_flat/measure.rb +2 -2
  422. data/lib/measures/tariff_selection_flat/measure.xml +5 -5
  423. data/lib/measures/tariff_selection_generic/LICENSE.md +1 -1
  424. data/lib/measures/tariff_selection_generic/README.md +2 -2
  425. data/lib/measures/tariff_selection_generic/measure.rb +1 -1
  426. data/lib/measures/tariff_selection_generic/measure.xml +25 -25
  427. data/lib/measures/tariff_selection_generic/resources/FlatEnergyCharge-Gas.idf +3 -3
  428. data/lib/measures/tariff_selection_generic/resources/IN-EIAMonthlyRateGas.idf +1 -1
  429. data/lib/measures/tariff_selection_time_and_date_dependant/LICENSE.md +1 -1
  430. data/lib/measures/tariff_selection_time_and_date_dependant/measure.rb +2 -2
  431. data/lib/measures/tariff_selection_time_and_date_dependant/measure.xml +5 -5
  432. data/lib/measures/{ImproveFanBeltEfficiency → view_data}/LICENSE.md +1 -1
  433. data/lib/measures/view_data/README.md +64 -0
  434. data/lib/measures/{AddDaylightSensors → view_data}/README.md.erb +0 -0
  435. data/lib/measures/view_data/measure.rb +454 -0
  436. data/lib/measures/view_data/measure.xml +159 -0
  437. data/lib/measures/view_data/resources/report.html.in +2881 -0
  438. data/lib/measures/view_data/resources/va3c.rb +1025 -0
  439. data/lib/measures/{EnableDemandControlledVentilation → view_model}/LICENSE.md +1 -1
  440. data/lib/measures/view_model/README.md +26 -0
  441. data/lib/measures/{EnableDemandControlledVentilation → view_model}/README.md.erb +0 -0
  442. data/lib/measures/view_model/measure.rb +146 -0
  443. data/lib/measures/view_model/measure.xml +129 -0
  444. data/lib/measures/view_model/resources/report.html.in +2881 -0
  445. data/lib/measures/view_model/resources/va3c.rb +1025 -0
  446. data/lib/openstudio-common-measures.rb +1 -1
  447. data/lib/openstudio/common_measures.rb +1 -1
  448. data/lib/openstudio/common_measures/extension.rb +1 -1
  449. data/lib/openstudio/common_measures/version.rb +2 -2
  450. data/openstudio-common-measures.gemspec +4 -4
  451. metadata +67 -91
  452. data/lib/measures/AddDaylightSensors/README.md +0 -136
  453. data/lib/measures/AddDaylightSensors/measure.rb +0 -521
  454. data/lib/measures/AddDaylightSensors/measure.xml +0 -233
  455. data/lib/measures/EnableDemandControlledVentilation/README.md +0 -32
  456. data/lib/measures/EnableDemandControlledVentilation/measure.rb +0 -154
  457. data/lib/measures/EnableDemandControlledVentilation/measure.xml +0 -99
  458. data/lib/measures/EnableEconomizerControl/README.md +0 -48
  459. data/lib/measures/EnableEconomizerControl/README.md.erb +0 -42
  460. data/lib/measures/EnableEconomizerControl/measure.rb +0 -172
  461. data/lib/measures/EnableEconomizerControl/measure.xml +0 -124
  462. data/lib/measures/ImproveFanBeltEfficiency/README.md +0 -104
  463. data/lib/measures/ImproveFanBeltEfficiency/README.md.erb +0 -42
  464. data/lib/measures/ImproveFanBeltEfficiency/measure.rb +0 -366
  465. data/lib/measures/ImproveFanBeltEfficiency/measure.xml +0 -185
  466. data/lib/measures/ImproveMotorEfficiency/LICENSE.md +0 -27
  467. data/lib/measures/ImproveMotorEfficiency/README.md +0 -104
  468. data/lib/measures/ImproveMotorEfficiency/README.md.erb +0 -42
  469. data/lib/measures/ImproveMotorEfficiency/measure.rb +0 -365
  470. data/lib/measures/ImproveMotorEfficiency/measure.xml +0 -182
  471. data/lib/measures/IncreaseInsulationRValueForExteriorWalls/LICENSE.md +0 -27
  472. data/lib/measures/IncreaseInsulationRValueForExteriorWalls/README.md +0 -64
  473. data/lib/measures/IncreaseInsulationRValueForExteriorWalls/README.md.erb +0 -42
  474. data/lib/measures/IncreaseInsulationRValueForExteriorWalls/measure.rb +0 -422
  475. data/lib/measures/IncreaseInsulationRValueForExteriorWalls/measure.xml +0 -150
  476. data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/LICENSE.md +0 -27
  477. data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/README.md +0 -32
  478. data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/README.md.erb +0 -42
  479. data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/measure.rb +0 -328
  480. data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/measure.xml +0 -98
  481. data/lib/measures/IncreaseInsulationRValueForRoofs/LICENSE.md +0 -27
  482. data/lib/measures/IncreaseInsulationRValueForRoofs/README.md +0 -64
  483. data/lib/measures/IncreaseInsulationRValueForRoofs/README.md.erb +0 -42
  484. data/lib/measures/IncreaseInsulationRValueForRoofs/measure.rb +0 -422
  485. data/lib/measures/IncreaseInsulationRValueForRoofs/measure.xml +0 -143
  486. data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/LICENSE.md +0 -27
  487. data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/README.md +0 -32
  488. data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/README.md.erb +0 -42
  489. data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/measure.rb +0 -328
  490. data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/measure.xml +0 -98
  491. data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/LICENSE.md +0 -27
  492. data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/README.md +0 -97
  493. data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/README.md.erb +0 -42
  494. data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/measure.rb +0 -450
  495. data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/measure.xml +0 -186
  496. data/lib/measures/ReduceLightingLoadsByPercentage/LICENSE.md +0 -27
  497. data/lib/measures/ReduceLightingLoadsByPercentage/README.md +0 -96
  498. data/lib/measures/ReduceLightingLoadsByPercentage/README.md.erb +0 -42
  499. data/lib/measures/ReduceLightingLoadsByPercentage/measure.rb +0 -513
  500. data/lib/measures/ReduceLightingLoadsByPercentage/measure.xml +0 -191
  501. data/lib/measures/ReduceSpaceInfiltrationByPercentage/LICENSE.md +0 -27
  502. data/lib/measures/ReduceSpaceInfiltrationByPercentage/README.md +0 -104
  503. data/lib/measures/ReduceSpaceInfiltrationByPercentage/README.md.erb +0 -42
  504. data/lib/measures/ReduceSpaceInfiltrationByPercentage/measure.rb +0 -349
  505. data/lib/measures/ReduceSpaceInfiltrationByPercentage/measure.xml +0 -181
  506. data/lib/measures/ReduceVentilationByPercentage/LICENSE.md +0 -27
  507. data/lib/measures/ReduceVentilationByPercentage/README.md +0 -40
  508. data/lib/measures/ReduceVentilationByPercentage/README.md.erb +0 -42
  509. data/lib/measures/ReduceVentilationByPercentage/measure.rb +0 -291
  510. data/lib/measures/ReduceVentilationByPercentage/measure.xml +0 -96
  511. data/lib/measures/VentilationQAQC/ExampleModel.osm +0 -28468
  512. data/lib/measures/create_variable_speed_rtu/LICENSE.md +0 -27
  513. data/lib/measures/create_variable_speed_rtu/README.md +0 -120
  514. data/lib/measures/create_variable_speed_rtu/README.md.erb +0 -42
  515. data/lib/measures/create_variable_speed_rtu/measure.rb +0 -539
  516. data/lib/measures/create_variable_speed_rtu/measure.xml +0 -207
  517. data/lib/measures/generic_qaqc/resources/os_lib_helper_methods.rb +0 -399
  518. data/lib/measures/openstudio_results/resources/os_lib_helper_methods.rb +0 -399
  519. data/lib/measures/openstudio_results/resources/os_lib_schedules.rb +0 -960
  520. data/lib/measures/radiant_slab_with_doas/LICENSE.md +0 -27
  521. data/lib/measures/radiant_slab_with_doas/README.md +0 -156
  522. data/lib/measures/radiant_slab_with_doas/README.md.erb +0 -42
  523. data/lib/measures/radiant_slab_with_doas/measure.rb +0 -403
  524. data/lib/measures/radiant_slab_with_doas/measure.xml +0 -345
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -250,7 +250,7 @@ class TariffSelectionBlock < OpenStudio::Measure::EnergyPlusMeasure
250
250
  new_object_string = "
251
251
  UtilityCost:Tariff,
252
252
  Gas Tariff, !- Name
253
- Gas:Facility, !- Output Meter Name
253
+ NaturalGas:Facility, !- Output Meter Name
254
254
  Therm, !- Conversion Factor Choice
255
255
  , !- Energy Conversion Factor
256
256
  , !- Demand Conversion Factor
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>tariff_selection_block</name>
5
5
  <uid>42e9f831-f39a-4709-a79b-41db49c94f8c</uid>
6
- <version_id>8636ed6c-3998-42ef-9cc8-98fd1d5fb6cf</version_id>
7
- <version_modified>20200401T050058Z</version_modified>
6
+ <version_id>c9817b8c-fcdb-4ce8-956f-6757da3256f3</version_id>
7
+ <version_modified>20210415T213528Z</version_modified>
8
8
  <xml_checksum>92578CE8</xml_checksum>
9
9
  <class_name>TariffSelectionBlock</class_name>
10
10
  <display_name> Tariff Selection-Block</display_name>
@@ -255,13 +255,13 @@
255
255
  <filename>LICENSE.md</filename>
256
256
  <filetype>md</filetype>
257
257
  <usage_type>license</usage_type>
258
- <checksum>E0468DD6</checksum>
258
+ <checksum>A21A3ED2</checksum>
259
259
  </file>
260
260
  <file>
261
261
  <filename>tariff_selection_block_test.rb</filename>
262
262
  <filetype>rb</filetype>
263
263
  <usage_type>test</usage_type>
264
- <checksum>4F006849</checksum>
264
+ <checksum>119C13C2</checksum>
265
265
  </file>
266
266
  <file>
267
267
  <version>
@@ -272,7 +272,7 @@
272
272
  <filename>measure.rb</filename>
273
273
  <filetype>rb</filetype>
274
274
  <usage_type>script</usage_type>
275
- <checksum>0DE324C3</checksum>
275
+ <checksum>500354AC</checksum>
276
276
  </file>
277
277
  </files>
278
278
  </measure>
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted
4
4
  provided that the following conditions are met:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -227,7 +227,7 @@ class TariffSelectionFlat < OpenStudio::Measure::EnergyPlusMeasure
227
227
  new_object_string = "
228
228
  UtilityCost:Tariff,
229
229
  Gas Tariff, !- Name
230
- Gas:Facility, !- Output Meter Name
230
+ NaturalGas:Facility, !- Output Meter Name
231
231
  Therm, !- Conversion Factor Choice
232
232
  , !- Energy Conversion Factor
233
233
  , !- Demand Conversion Factor
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>tariff_selection_flat</name>
5
5
  <uid>539c3e8e-6c41-4f50-ac61-6cbbf1ee1b55</uid>
6
- <version_id>1d8b09b4-afbd-4729-ad9b-a7a09a1613e6</version_id>
7
- <version_modified>20200401T050100Z</version_modified>
6
+ <version_id>09f94537-42c0-419a-9e0c-f6ab47679d12</version_id>
7
+ <version_modified>20210415T213544Z</version_modified>
8
8
  <xml_checksum>FBDC6D11</xml_checksum>
9
9
  <class_name>TariffSelectionFlat</class_name>
10
10
  <display_name>Tariff Selection-Flat</display_name>
@@ -231,13 +231,13 @@
231
231
  <filename>LICENSE.md</filename>
232
232
  <filetype>md</filetype>
233
233
  <usage_type>license</usage_type>
234
- <checksum>E0468DD6</checksum>
234
+ <checksum>A21A3ED2</checksum>
235
235
  </file>
236
236
  <file>
237
237
  <filename>tariff_selection_flat_test.rb</filename>
238
238
  <filetype>rb</filetype>
239
239
  <usage_type>test</usage_type>
240
- <checksum>D3F92E62</checksum>
240
+ <checksum>1F3F703C</checksum>
241
241
  </file>
242
242
  <file>
243
243
  <version>
@@ -248,7 +248,7 @@
248
248
  <filename>measure.rb</filename>
249
249
  <filetype>rb</filetype>
250
250
  <usage_type>script</usage_type>
251
- <checksum>D32ADC10</checksum>
251
+ <checksum>033ADCF7</checksum>
252
252
  </file>
253
253
  </files>
254
254
  </measure>
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted
4
4
  provided that the following conditions are met:
@@ -27,9 +27,9 @@ EnergyPlusMeasure
27
27
  **Required:** true,
28
28
  **Model Dependent:** false
29
29
 
30
- ### Select a Tariff for Gas:Facility.
30
+ ### Select a Tariff for NaturalGas:Facility.
31
31
 
32
- **Name:** Gas:Facility,
32
+ **Name:** NaturalGas:Facility,
33
33
  **Type:** Choice,
34
34
  **Units:** ,
35
35
  **Required:** true,
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>tariff_selection_generic</name>
5
5
  <uid>d65ae535-f0ea-4745-9f5b-8d42c7070741</uid>
6
- <version_id>852a1d4f-c670-4ff3-931b-f2e4a697ffab</version_id>
7
- <version_modified>20200401T050100Z</version_modified>
6
+ <version_id>4bf6e77a-5b7f-4489-9c9c-f3e2321f2e38</version_id>
7
+ <version_modified>20210415T213555Z</version_modified>
8
8
  <xml_checksum>43564105</xml_checksum>
9
9
  <class_name>TariffSelectionGeneric</class_name>
10
10
  <display_name> Tariff Selection-Generic</display_name>
@@ -54,8 +54,8 @@
54
54
  </choices>
55
55
  </argument>
56
56
  <argument>
57
- <name>Gas:Facility</name>
58
- <display_name>Select a Tariff for Gas:Facility.</display_name>
57
+ <name>NaturalGas:Facility</name>
58
+ <display_name>Select a Tariff for NaturalGas:Facility.</display_name>
59
59
  <type>Choice</type>
60
60
  <required>true</required>
61
61
  <model_dependent>false</model_dependent>
@@ -137,18 +137,6 @@
137
137
  <usage_type>resource</usage_type>
138
138
  <checksum>98AC420A</checksum>
139
139
  </file>
140
- <file>
141
- <filename>FlatEnergyCharge-Gas.idf</filename>
142
- <filetype>idf</filetype>
143
- <usage_type>resource</usage_type>
144
- <checksum>300CF076</checksum>
145
- </file>
146
- <file>
147
- <filename>IN-EIAMonthlyRateGas.idf</filename>
148
- <filetype>idf</filetype>
149
- <usage_type>resource</usage_type>
150
- <checksum>6AA3EBFF</checksum>
151
- </file>
152
140
  <file>
153
141
  <filename>Example_A.idf</filename>
154
142
  <filetype>idf</filetype>
@@ -197,23 +185,17 @@
197
185
  <usage_type>readmeerb</usage_type>
198
186
  <checksum>703C9964</checksum>
199
187
  </file>
200
- <file>
201
- <filename>README.md</filename>
202
- <filetype>md</filetype>
203
- <usage_type>readme</usage_type>
204
- <checksum>5EEF1AF4</checksum>
205
- </file>
206
188
  <file>
207
189
  <filename>LICENSE.md</filename>
208
190
  <filetype>md</filetype>
209
191
  <usage_type>license</usage_type>
210
- <checksum>E0468DD6</checksum>
192
+ <checksum>A21A3ED2</checksum>
211
193
  </file>
212
194
  <file>
213
195
  <filename>tariff_selection_generic_test.rb</filename>
214
196
  <filetype>rb</filetype>
215
197
  <usage_type>test</usage_type>
216
- <checksum>3B660459</checksum>
198
+ <checksum>9ED8B8E6</checksum>
217
199
  </file>
218
200
  <file>
219
201
  <version>
@@ -224,7 +206,25 @@
224
206
  <filename>measure.rb</filename>
225
207
  <filetype>rb</filetype>
226
208
  <usage_type>script</usage_type>
227
- <checksum>234F1E3C</checksum>
209
+ <checksum>88068F90</checksum>
210
+ </file>
211
+ <file>
212
+ <filename>FlatEnergyCharge-Gas.idf</filename>
213
+ <filetype>idf</filetype>
214
+ <usage_type>resource</usage_type>
215
+ <checksum>E0541646</checksum>
216
+ </file>
217
+ <file>
218
+ <filename>IN-EIAMonthlyRateGas.idf</filename>
219
+ <filetype>idf</filetype>
220
+ <usage_type>resource</usage_type>
221
+ <checksum>8DAD6C69</checksum>
222
+ </file>
223
+ <file>
224
+ <filename>README.md</filename>
225
+ <filetype>md</filetype>
226
+ <usage_type>readme</usage_type>
227
+ <checksum>27EC34FF</checksum>
228
228
  </file>
229
229
  </files>
230
230
  </measure>
@@ -1,6 +1,6 @@
1
1
  UtilityCost:Tariff,
2
- FlatEnergyCharge-Gas, !- Name
3
- Gas:Facility, !- Output Meter Name
2
+ FlatEnergyCharge-Gas, !- Name
3
+ NaturalGas:Facility, !- Output Meter Name
4
4
  Therm, !- Conversion Factor Choice
5
5
  , !- Energy Conversion Factor
6
6
  , !- Demand Conversion Factor
@@ -11,7 +11,7 @@
11
11
  15.; !- Monthly Charge or Variable Name
12
12
 
13
13
  UtilityCost:Charge:Simple,
14
- SimpleEnergyCharge, !- Name
14
+ SimpleEnergyCharge, !- Name
15
15
  FlatEnergyCharge-Gas, !- Tariff Name
16
16
  totalEnergy, !- Source Variable
17
17
  Annual, !- Season
@@ -1,6 +1,6 @@
1
1
  UtilityCost:Tariff,
2
2
  IN EIAMonthlyRateGas, !- Name
3
- Gas:Facility, !- Output Meter Name
3
+ NaturalGas:Facility, !- Output Meter Name
4
4
  MCF, !- Conversion Factor Choice
5
5
  , !- Energy Conversion Factor
6
6
  , !- Demand Conversion Factor
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted
4
4
  provided that the following conditions are met:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
3
  # All rights reserved.
4
4
  # Redistribution and use in source and binary forms, with or without
5
5
  # modification, are permitted provided that the following conditions are met:
@@ -430,7 +430,7 @@ class TariffSelectionTimeAndDateDependant < OpenStudio::Measure::EnergyPlusMeasu
430
430
  new_object_string = "
431
431
  UtilityCost:Tariff,
432
432
  Gas Tariff, !- Name
433
- Gas:Facility, !- Output Meter Name
433
+ NaturalGas:Facility, !- Output Meter Name
434
434
  Therm, !- Conversion Factor Choice
435
435
  , !- Energy Conversion Factor
436
436
  , !- Demand Conversion Factor
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>tariff_selection_time_and_date_dependant</name>
5
5
  <uid>a890e296-b357-432f-8d53-6428d9bf3c0a</uid>
6
- <version_id>4354e40f-83cd-492c-bcdc-63bef8c15855</version_id>
7
- <version_modified>20200401T050059Z</version_modified>
6
+ <version_id>7a771f4b-ce8d-4ed6-a777-d01c3768a14f</version_id>
7
+ <version_modified>20210415T213605Z</version_modified>
8
8
  <xml_checksum>135F7E88</xml_checksum>
9
9
  <class_name>TariffSelectionTimeAndDateDependant</class_name>
10
10
  <display_name>Tariff Selection-Time and Date Dependant</display_name>
@@ -273,13 +273,13 @@
273
273
  <filename>LICENSE.md</filename>
274
274
  <filetype>md</filetype>
275
275
  <usage_type>license</usage_type>
276
- <checksum>E0468DD6</checksum>
276
+ <checksum>A21A3ED2</checksum>
277
277
  </file>
278
278
  <file>
279
279
  <filename>tariff_selection_time_and_date_dependant_test.rb</filename>
280
280
  <filetype>rb</filetype>
281
281
  <usage_type>test</usage_type>
282
- <checksum>012CCBFD</checksum>
282
+ <checksum>9A5B81D9</checksum>
283
283
  </file>
284
284
  <file>
285
285
  <version>
@@ -290,7 +290,7 @@
290
290
  <filename>measure.rb</filename>
291
291
  <filetype>rb</filetype>
292
292
  <usage_type>script</usage_type>
293
- <checksum>D48111BA</checksum>
293
+ <checksum>046BFECE</checksum>
294
294
  </file>
295
295
  </files>
296
296
  </measure>
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted
4
4
  provided that the following conditions are met:
@@ -0,0 +1,64 @@
1
+
2
+
3
+ ###### (Automatically generated documentation)
4
+
5
+ # ViewData
6
+
7
+ ## Description
8
+ Visualize energy simulation data plotted on an OpenStudio model in a web based viewer
9
+
10
+ ## Modeler Description
11
+ Converts the OpenStudio model to vA3C JSON format and renders using Three.js, simulation data is applied to surfaces of the model
12
+
13
+ ## Measure Type
14
+ ReportingMeasure
15
+
16
+ ## Taxonomy
17
+
18
+
19
+ ## Arguments
20
+
21
+
22
+ ### Model Source
23
+
24
+ **Name:** file_source,
25
+ **Type:** Choice,
26
+ **Units:** ,
27
+ **Required:** true,
28
+ **Model Dependent:** false
29
+
30
+ ### Reporting Frequency
31
+
32
+ **Name:** reporting_frequency,
33
+ **Type:** Choice,
34
+ **Units:** ,
35
+ **Required:** true,
36
+ **Model Dependent:** false
37
+
38
+ ### Variable 1 Name
39
+
40
+ **Name:** variable1_name,
41
+ **Type:** String,
42
+ **Units:** ,
43
+ **Required:** true,
44
+ **Model Dependent:** false
45
+
46
+ ### Variable 2 Name
47
+
48
+ **Name:** variable2_name,
49
+ **Type:** String,
50
+ **Units:** ,
51
+ **Required:** true,
52
+ **Model Dependent:** false
53
+
54
+ ### Variable 3 Name
55
+
56
+ **Name:** variable3_name,
57
+ **Type:** String,
58
+ **Units:** ,
59
+ **Required:** true,
60
+ **Model Dependent:** false
61
+
62
+
63
+
64
+
@@ -0,0 +1,454 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
+ # All rights reserved.
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+ #
7
+ # (1) Redistributions of source code must retain the above copyright notice,
8
+ # this list of conditions and the following disclaimer.
9
+ #
10
+ # (2) Redistributions in binary form must reproduce the above copyright notice,
11
+ # this list of conditions and the following disclaimer in the documentation
12
+ # and/or other materials provided with the distribution.
13
+ #
14
+ # (3) Neither the name of the copyright holder nor the names of any contributors
15
+ # may be used to endorse or promote products derived from this software without
16
+ # specific prior written permission from the respective party.
17
+ #
18
+ # (4) Other than as required in clauses (1) and (2), distributions in any form
19
+ # of modifications or other derivative works may not use the "OpenStudio"
20
+ # trademark, "OS", "os", or any other confusingly similar designation without
21
+ # specific prior written permission from Alliance for Sustainable Energy, LLC.
22
+ #
23
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
24
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
+ # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
27
+ # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
28
+ # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
30
+ # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
+ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
+ # *******************************************************************************
35
+
36
+ require 'rubygems'
37
+ require 'json'
38
+ require 'erb'
39
+ require 'date'
40
+
41
+ require_relative 'resources/va3c'
42
+
43
+ # start the measure
44
+ class ViewData < OpenStudio::Ruleset::ReportingUserScript
45
+ # define the name that a user will see
46
+ def name
47
+ return 'ViewData'
48
+ end
49
+
50
+ # human readable description
51
+ def description
52
+ return 'Visualize energy simulation data plotted on an OpenStudio model in a web based viewer'
53
+ end
54
+
55
+ # human readable description of modeling approach
56
+ def modeler_description
57
+ return 'Converts the OpenStudio model to vA3C JSON format and renders using Three.js, simulation data is applied to surfaces of the model'
58
+ end
59
+
60
+ def energyPlusOutputRequests(runner, user_arguments)
61
+ super(runner, user_arguments)
62
+
63
+ result = OpenStudio::IdfObjectVector.new
64
+
65
+ # use the built-in error checking
66
+ if !runner.validateUserArguments(arguments, user_arguments)
67
+ return result
68
+ end
69
+
70
+ reporting_frequency = runner.getStringArgumentValue('reporting_frequency', user_arguments)
71
+
72
+ variable1_name = runner.getStringArgumentValue('variable1_name', user_arguments)
73
+ result << OpenStudio::IdfObject.load("Output:Variable,*,#{variable1_name},#{reporting_frequency};").get
74
+
75
+ variable2_name = runner.getStringArgumentValue('variable2_name', user_arguments)
76
+ result << OpenStudio::IdfObject.load("Output:Variable,*,#{variable2_name},#{reporting_frequency};").get
77
+
78
+ variable3_name = runner.getStringArgumentValue('variable3_name', user_arguments)
79
+ result << OpenStudio::IdfObject.load("Output:Variable,*,#{variable3_name},#{reporting_frequency};").get
80
+
81
+ return result
82
+ end
83
+
84
+ # define the arguments that the user will input
85
+ def arguments(model = nil)
86
+ args = OpenStudio::Ruleset::OSArgumentVector.new
87
+
88
+ chs = OpenStudio::StringVector.new
89
+ chs << 'Last OSM'
90
+ chs << 'Last IDF'
91
+ file_source = OpenStudio::Ruleset::OSArgument.makeChoiceArgument('file_source', chs, true)
92
+ file_source.setDisplayName('Model Source')
93
+ file_source.setDefaultValue('Last OSM')
94
+ args << file_source
95
+
96
+ chs = OpenStudio::StringVector.new
97
+ chs << 'Timestep'
98
+ chs << 'Hourly'
99
+ reporting_frequency = OpenStudio::Ruleset::OSArgument.makeChoiceArgument('reporting_frequency', chs, true)
100
+ reporting_frequency.setDisplayName('Reporting Frequency')
101
+ reporting_frequency.setDefaultValue('Hourly')
102
+ args << reporting_frequency
103
+
104
+ variable1_name = OpenStudio::Ruleset::OSArgument.makeStringArgument('variable1_name', true)
105
+ variable1_name.setDisplayName('Variable 1 Name')
106
+ variable1_name.setDefaultValue('Surface Outside Face Temperature')
107
+ args << variable1_name
108
+
109
+ variable2_name = OpenStudio::Ruleset::OSArgument.makeStringArgument('variable2_name', true)
110
+ variable2_name.setDisplayName('Variable 2 Name')
111
+ variable2_name.setDefaultValue('Surface Inside Face Temperature')
112
+ args << variable2_name
113
+
114
+ variable3_name = OpenStudio::Ruleset::OSArgument.makeStringArgument('variable3_name', true)
115
+ variable3_name.setDisplayName('Variable 3 Name')
116
+ variable3_name.setDefaultValue('Zone Mean Radiant Temperature')
117
+ args << variable3_name
118
+
119
+ return args
120
+ end
121
+
122
+ def datetimes_to_array(dateTimes)
123
+ result = []
124
+
125
+ dateTimes.each do |d|
126
+ date = d.date
127
+ time = d.time
128
+ result << DateTime.new(date.year, date.monthOfYear.value, date.dayOfMonth, time.hours, time.minutes, time.seconds).strftime('%s').to_i
129
+ end
130
+ return result
131
+ end
132
+
133
+ def vector_to_array(vector)
134
+ result = []
135
+ (0...vector.size).each do |i|
136
+ result << vector[i]
137
+ end
138
+ return result
139
+ end
140
+
141
+ def format_array(vector)
142
+ result = []
143
+ vector.each do |x|
144
+ result << format('%.6g', x).to_f
145
+ end
146
+ return result
147
+ end
148
+
149
+ # define what happens when the measure is run
150
+ def run(runner, user_arguments)
151
+ super(runner, user_arguments)
152
+
153
+ # use the built-in error checking
154
+ if !runner.validateUserArguments(arguments, user_arguments)
155
+ return false
156
+ end
157
+
158
+ file_source = runner.getStringArgumentValue('file_source', user_arguments)
159
+ from_idf = (file_source == 'Last IDF')
160
+ reporting_frequency = runner.getStringArgumentValue('reporting_frequency', user_arguments)
161
+ variable1_name = runner.getStringArgumentValue('variable1_name', user_arguments)
162
+ variable2_name = runner.getStringArgumentValue('variable2_name', user_arguments)
163
+ variable3_name = runner.getStringArgumentValue('variable3_name', user_arguments)
164
+
165
+ # 'Timestep' is the key in the input file, 'Zone Timestep' is the key in the SqlFile
166
+ if reporting_frequency == 'Timestep'
167
+ reporting_frequency = 'Zone Timestep'
168
+ end
169
+
170
+ variable_names = []
171
+
172
+ if /Zone/.match(variable1_name) || /Surface/.match(variable1_name)
173
+ variable_names << variable1_name
174
+ else
175
+ if !variable1_name.empty?
176
+ runner.registerWarning("Variable '#{variable1_name}' is not a zone or surface variable, skipping")
177
+ end
178
+ end
179
+
180
+ if variable_names.include?(variable2_name)
181
+ runner.registerWarning("Variable '#{variable2_name}' already requested, skipping")
182
+ elsif /Zone/.match(variable2_name) || /Surface/.match(variable2_name)
183
+ variable_names << variable2_name
184
+ else
185
+ if !variable2_name.empty?
186
+ runner.registerWarning("Variable '#{variable2_name}' is not a zone or surface variable, skipping")
187
+ end
188
+ end
189
+
190
+ if variable_names.include?(variable3_name)
191
+ runner.registerWarning("Variable '#{variable3_name}' already requested, skipping")
192
+ elsif /Zone/.match(variable3_name) || /Surface/.match(variable3_name)
193
+ variable_names << variable3_name
194
+ else
195
+ if !variable3_name.empty?
196
+ runner.registerWarning("Variable '#{variable3_name}' is not a zone or surface variable, skipping")
197
+ end
198
+ end
199
+
200
+ model = nil
201
+ if from_idf
202
+ # get the last workspace
203
+ workspace = runner.lastEnergyPlusWorkspace
204
+ if workspace.empty?
205
+ runner.registerError('Cannot find last workspace.')
206
+ return false
207
+ end
208
+ workspace = workspace.get
209
+ rt = OpenStudio::EnergyPlus::ReverseTranslator.new
210
+ model = rt.translateWorkspace(workspace)
211
+ runner.registerInfo("Loaded model with '#{model.getSpaces.size}' spaces")
212
+ else
213
+ # get the last model
214
+ model = runner.lastOpenStudioModel
215
+ if model.empty?
216
+ runner.registerError('Cannot find last model.')
217
+ return false
218
+ end
219
+ model = model.get
220
+ runner.registerInfo("Loaded model with '#{model.getSpaces.size}' spaces")
221
+ end
222
+
223
+ # get the last sql file
224
+ sqlFile = runner.lastEnergyPlusSqlFile
225
+ if sqlFile.empty?
226
+ runner.registerError('Cannot find last sql file.')
227
+ return false
228
+ end
229
+ sqlFile = sqlFile.get
230
+ model.setSqlFile(sqlFile)
231
+
232
+ # find the environment period
233
+ env_period = nil
234
+ sqlFile.availableEnvPeriods.each do |p|
235
+ if 'WeatherRunPeriod'.to_EnvironmentType == sqlFile.environmentType(p).get
236
+ env_period = p
237
+ break
238
+ end
239
+ end
240
+
241
+ if !env_period
242
+ runner.registerError('No WeatherRunPeriods found in results')
243
+ return false
244
+ end
245
+ runner.registerInfo("Gathering results for run period '#{env_period}'")
246
+
247
+ start_time = Time.now
248
+ # puts "printing variables"
249
+ # print all variables for reference
250
+ sqlFile.availableVariableNames(env_period, reporting_frequency).each do |variable|
251
+ runner.registerInfo("Available variable name '#{variable}'")
252
+ end
253
+ # puts "done printing variables, elapsed time #{Time.now-start_time}"
254
+
255
+ # start_time = Time.now
256
+ # puts "computing surface_data"
257
+ # list surface and thermal zone name for each surface
258
+ # surface_data is a temporary variable, it is not written to JSON
259
+ surface_data = []
260
+ model.getPlanarSurfaces.each do |surface|
261
+ surface_name = surface.name.to_s.upcase
262
+ thermal_zone_name = nil
263
+ if (space = surface.space) && !space.empty?
264
+ if from_idf
265
+ # if we translated from IDF, the space name will be the E+ zone name
266
+ thermal_zone_name = space.get.name.to_s.upcase
267
+ else
268
+ if (thermal_zone = space.get.thermalZone) && !thermal_zone.empty?
269
+ thermal_zone_name = thermal_zone.get.name.to_s.upcase
270
+ end
271
+ end
272
+ end
273
+
274
+ surface_data << { surface_name: surface_name, thermal_zone_name: thermal_zone_name, variables: [] }
275
+ end
276
+ # puts "done computing surface_data, elapsed time #{Time.now-start_time}"
277
+
278
+ # same across all variables for given timestep
279
+ times = nil
280
+ hoursPerInterval = nil
281
+ intervalsPerHour = nil
282
+ intervalsPerDay = nil
283
+ numDays = nil
284
+
285
+ # changes for each variable
286
+ start_time = Time.now
287
+ meta_variables = []
288
+ variables = []
289
+ variable_names.each do |variable_name|
290
+ units = nil
291
+ values = []
292
+ data_range = [Float::MAX, Float::MIN] # data max, data min
293
+
294
+ # puts "getting keys for variable, #{variable_name}"
295
+ keys = sqlFile.availableKeyValues(env_period, reporting_frequency, variable_name)
296
+ # puts "done getting #{keys.size} keys, elapsed time #{Time.now-start_time}"
297
+
298
+ if keys.empty?
299
+ runner.registerWarning("No data available for variable '#{variable_name}', skipping")
300
+ next
301
+ end
302
+
303
+ keys.each do |key|
304
+ runner.registerInfo("Available key '#{key}' for variable name '#{variable_name}'")
305
+
306
+ # puts "getting timeseries for key, #{key}"
307
+ ts = sqlFile.timeSeries(env_period, reporting_frequency, variable_name, key).get
308
+ units = ts.units
309
+ # puts "done getting timeseries, elapsed time #{Time.now-start_time}"
310
+
311
+ if times.nil?
312
+ times = datetimes_to_array(ts.dateTimes)
313
+ if !ts.intervalLength.empty?
314
+ hoursPerInterval = ts.intervalLength.get.totalHours
315
+ intervalsPerHour = 1.0 / hoursPerInterval.to_f
316
+ intervalsPerDay = 1.0 / ts.intervalLength.get.totalDays
317
+ numDays = times.size * ts.intervalLength.get.totalDays
318
+ end
319
+ end
320
+
321
+ this_values = vector_to_array(ts.values)
322
+
323
+ min = this_values.min
324
+ max = this_values.max
325
+ if min < data_range[0]
326
+ data_range[0] = min
327
+ end
328
+ if max > data_range[1]
329
+ data_range[1] = max
330
+ end
331
+
332
+ valueIndex = values.length
333
+ values << format_array(this_values)
334
+
335
+ if i = surface_data.index { |s| s[:surface_name] == key }
336
+ surface_data[i][:variables] << { name: variable_name, valueIndex: valueIndex, keyName: key }
337
+ else
338
+ surface_data.each do |s|
339
+ if s[:thermal_zone_name] == key
340
+ s[:variables] << { name: variable_name, valueIndex: valueIndex, keyName: key }
341
+ end
342
+ end
343
+ end
344
+
345
+ # puts "finished with key #{key}, elapsed time #{Time.now-start_time}"
346
+ end
347
+
348
+ meta_variables << { name: variable_name, intervalsPerHour: intervalsPerHour, intervalsPerDay: intervalsPerDay,
349
+ hoursPerInterval: hoursPerInterval, numDays: numDays, units: units,
350
+ valueMin: data_range[0], valueMax: data_range[1] }
351
+
352
+ variables << { name: variable_name, intervalsPerHour: intervalsPerHour, intervalsPerDay: intervalsPerDay,
353
+ hoursPerInterval: hoursPerInterval, numDays: numDays, units: units,
354
+ valueMin: data_range[0], valueMax: data_range[1], timeIndex: 0, values: values }
355
+
356
+ # puts "finished with variable #{variable_name}, elapsed time #{Time.now-start_time}"
357
+ end
358
+
359
+ # convert the model to vA3C JSON format
360
+ start_time = Time.now
361
+ # puts "converting model to vA3C"
362
+ json = nil
363
+ model_clone = model.clone(true).to_Model
364
+ begin
365
+ # try to use new implementation
366
+ ft = OpenStudio::Model::ThreeJSForwardTranslator.new
367
+ three_scene = ft.modelToThreeJS(model_clone, true)
368
+ json = JSON.parse(three_scene.toJSON(false), symbolize_names: true)
369
+ runner.registerInfo('Used new ThreeScene translator.')
370
+ rescue NameError, StandardError
371
+ # use old Ruby implementation
372
+ runner.registerInfo('Using Ruby VA3C translator.')
373
+ json = VA3C.convert_model(model_clone)
374
+ end
375
+ # puts "finished converting model, elapsed time #{Time.now-start_time}"
376
+
377
+ json[:metadata][:variables] = meta_variables
378
+ json[:times] = [times]
379
+ json[:variables] = variables
380
+
381
+ json[:object][:children].each do |child|
382
+ name = child[:userData][:name].upcase
383
+
384
+ surface = surface_data.find { |x| x[:surface_name] == name }
385
+
386
+ valueIndex = nil
387
+ keyName = nil
388
+ if surface
389
+ child[:userData][:variables] = surface[:variables]
390
+ end
391
+ end
392
+
393
+ # write json file
394
+ # start_time = Time.now
395
+ # puts "writing JSON"
396
+ json_out_path = './report.json'
397
+ File.open(json_out_path, 'w') do |file|
398
+ file << JSON.generate(json, object_nl: "\n", array_nl: '', indent: ' ')
399
+ # file << JSON::generate(json, {:object_nl=>"", :array_nl=>"", :indent=>""})
400
+ # make sure data is written to the disk one way or the other
401
+ begin
402
+ file.fsync
403
+ rescue StandardError
404
+ file.flush
405
+ end
406
+ end
407
+ # puts "finished writing JSON, elapsed time #{Time.now-start_time}"
408
+
409
+ # read in template
410
+ # start_time = Time.now
411
+ # puts "writing html"
412
+ html_in_path = "#{File.dirname(__FILE__)}/resources/report.html.in"
413
+ if File.exist?(html_in_path)
414
+ html_in_path = html_in_path
415
+ else
416
+ html_in_path = "#{File.dirname(__FILE__)}/report.html.in"
417
+ end
418
+ html_in = ''
419
+ File.open(html_in_path, 'r') do |file|
420
+ html_in = file.read
421
+ end
422
+
423
+ # configure template with variable values
424
+ os_data = JSON.generate(json, object_nl: '', array_nl: '', indent: '')
425
+ title = 'View Data'
426
+ renderer = ERB.new(html_in)
427
+ html_out = renderer.result(binding)
428
+
429
+ # write html file
430
+ html_out_path = './report.html'
431
+ File.open(html_out_path, 'w') do |file|
432
+ file << html_out
433
+
434
+ # make sure data is written to the disk one way or the other
435
+ begin
436
+ file.fsync
437
+ rescue StandardError
438
+ file.flush
439
+ end
440
+ end
441
+ # puts "finished writing html, elapsed time #{Time.now-start_time}"
442
+
443
+ # closing the sql file
444
+ # sqlFile.close()
445
+
446
+ # reporting final condition
447
+ # runner.registerFinalCondition("Model written.")
448
+
449
+ return true
450
+ end # end the run method
451
+ end # end the measure
452
+
453
+ # this allows the measure to be use by the application
454
+ ViewData.new.registerWithApplication