openstudio-common-measures 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test_with_openstudio.yml +1 -1
  3. data/CHANGELOG.md +13 -0
  4. data/LICENSE.md +1 -1
  5. data/README.md +1 -0
  6. data/doc_templates/LICENSE.md +1 -1
  7. data/lib/measures/AddCostPerAreaToConstruction/LICENSE.md +1 -1
  8. data/lib/measures/AddCostPerAreaToConstruction/measure.xml +3 -3
  9. data/lib/measures/AddCostPerFloorAreaToBuilding/LICENSE.md +1 -1
  10. data/lib/measures/AddCostPerFloorAreaToBuilding/measure.xml +3 -3
  11. data/lib/measures/AddCostPerFloorAreaToElectricEquipment/LICENSE.md +1 -1
  12. data/lib/measures/AddCostPerFloorAreaToElectricEquipment/measure.xml +3 -3
  13. data/lib/measures/AddCostPerFloorAreaToLights/LICENSE.md +1 -1
  14. data/lib/measures/AddCostPerFloorAreaToLights/measure.xml +3 -3
  15. data/lib/measures/AddCostPerFloorAreaUnusedToLights/LICENSE.md +1 -1
  16. data/lib/measures/AddCostPerFloorAreaUnusedToLights/measure.xml +3 -3
  17. data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/LICENSE.md +1 -1
  18. data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/measure.xml +4 -4
  19. data/lib/measures/AddCostperAreatoUnusedConstruction/LICENSE.md +1 -1
  20. data/lib/measures/AddCostperAreatoUnusedConstruction/measure.xml +3 -3
  21. data/lib/measures/AddExteriorLights/LICENSE.md +1 -1
  22. data/lib/measures/AddExteriorLights/measure.xml +3 -3
  23. data/lib/measures/AddMeter/LICENSE.md +1 -1
  24. data/lib/measures/AddMeter/measure.xml +3 -3
  25. data/lib/measures/AddOutputDiagnostics/LICENSE.md +1 -1
  26. data/lib/measures/AddOutputDiagnostics/measure.rb +1 -1
  27. data/lib/measures/AddOutputDiagnostics/measure.xml +5 -5
  28. data/lib/measures/AddOutputVariable/LICENSE.md +1 -1
  29. data/lib/measures/AddOutputVariable/measure.xml +3 -3
  30. data/lib/measures/AddSimplePvToShadingSurfacesByType/LICENSE.md +1 -1
  31. data/lib/measures/AddSimplePvToShadingSurfacesByType/measure.xml +3 -3
  32. data/lib/measures/AddThermalComfortModelTypes/LICENSE.md +1 -1
  33. data/lib/measures/AddThermalComfortModelTypes/measure.xml +3 -3
  34. data/lib/measures/AdjustSystemEfficiencies/LICENSE.md +1 -1
  35. data/lib/measures/AdjustSystemEfficiencies/measure.xml +3 -3
  36. data/lib/measures/AdjustThermostatSetpointsByDegrees/LICENSE.md +1 -1
  37. data/lib/measures/AdjustThermostatSetpointsByDegrees/measure.xml +3 -3
  38. data/lib/measures/ChangeBuildingLocation/LICENSE.md +1 -1
  39. data/lib/measures/ChangeBuildingLocation/measure.xml +23 -5
  40. data/lib/measures/ChangeBuildingLocation/resources/epw.rb +7 -2
  41. data/lib/measures/EnableIdealAirLoadsForAllZones/LICENSE.md +1 -1
  42. data/lib/measures/EnableIdealAirLoadsForAllZones/measure.xml +3 -3
  43. data/lib/measures/ExportScheduleCSV/LICENSE.md +1 -1
  44. data/lib/measures/ExportScheduleCSV/measure.xml +3 -3
  45. data/lib/measures/ImportEnvelopeAndInternalLoadsFromIdf/LICENSE.md +1 -1
  46. data/lib/measures/ImportEnvelopeAndInternalLoadsFromIdf/measure.xml +3 -3
  47. data/lib/measures/MeterFlodPlot/LICENSE.md +1 -1
  48. data/lib/measures/MeterFlodPlot/measure.xml +3 -3
  49. data/lib/measures/ModifyEnergyPlusCoilCoolingDXSingleSpeedObjects/LICENSE.md +1 -1
  50. data/lib/measures/ModifyEnergyPlusCoilCoolingDXSingleSpeedObjects/measure.xml +3 -3
  51. data/lib/measures/ModifyEnergyPlusFanVariableVolumeObjects/LICENSE.md +1 -1
  52. data/lib/measures/ModifyEnergyPlusFanVariableVolumeObjects/measure.xml +3 -3
  53. data/lib/measures/PredictedMeanVote/LICENSE.md +1 -1
  54. data/lib/measures/PredictedMeanVote/measure.xml +3 -3
  55. data/lib/measures/RemoveInternalLoadsDirectlyAssignedToSpaces/LICENSE.md +1 -1
  56. data/lib/measures/RemoveInternalLoadsDirectlyAssignedToSpaces/measure.xml +3 -3
  57. data/lib/measures/RemoveUnusedDefaultProfiles/LICENSE.md +1 -1
  58. data/lib/measures/RemoveUnusedDefaultProfiles/measure.xml +3 -3
  59. data/lib/measures/ReplaceExteriorWindowConstruction/LICENSE.md +1 -1
  60. data/lib/measures/ReplaceExteriorWindowConstruction/measure.xml +3 -3
  61. data/lib/measures/ReplaceModel/LICENSE.md +1 -1
  62. data/lib/measures/ReplaceModel/measure.xml +3 -3
  63. data/lib/measures/ReplaceThermostatSchedules/LICENSE.md +1 -1
  64. data/lib/measures/ReplaceThermostatSchedules/measure.xml +5 -5
  65. data/lib/measures/ReportModelChanges/LICENSE.md +1 -1
  66. data/lib/measures/ReportModelChanges/measure.xml +3 -3
  67. data/lib/measures/RunPeriod/LICENSE.md +1 -1
  68. data/lib/measures/RunPeriod/measure.xml +3 -3
  69. data/lib/measures/RunPeriodMultiple/LICENSE.md +1 -1
  70. data/lib/measures/RunPeriodMultiple/measure.xml +3 -3
  71. data/lib/measures/ServerDirectoryCleanup/LICENSE.md +1 -1
  72. data/lib/measures/ServerDirectoryCleanup/README.md +14 -14
  73. data/lib/measures/ServerDirectoryCleanup/measure.rb +22 -18
  74. data/lib/measures/ServerDirectoryCleanup/measure.xml +25 -25
  75. data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/LICENSE.md +1 -1
  76. data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/measure.xml +5 -5
  77. data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/LICENSE.md +1 -1
  78. data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/measure.xml +5 -5
  79. data/lib/measures/SetEnergyPlusInfiltrationFlowRatePerFloorArea/LICENSE.md +1 -1
  80. data/lib/measures/SetEnergyPlusInfiltrationFlowRatePerFloorArea/measure.xml +3 -3
  81. data/lib/measures/SetEnergyPlusLightObjectsLPD/LICENSE.md +1 -1
  82. data/lib/measures/SetEnergyPlusLightObjectsLPD/measure.xml +3 -3
  83. data/lib/measures/SetEnergyPlusMinimumOutdoorAirFlowRate/LICENSE.md +1 -1
  84. data/lib/measures/SetEnergyPlusMinimumOutdoorAirFlowRate/measure.xml +3 -3
  85. data/lib/measures/SetGasBurnerEfficiency/LICENSE.md +1 -1
  86. data/lib/measures/SetGasBurnerEfficiency/measure.xml +5 -5
  87. data/lib/measures/SetLifecycleCostParameters/LICENSE.md +1 -1
  88. data/lib/measures/SetLifecycleCostParameters/measure.xml +3 -3
  89. data/lib/measures/SetLightingLoadsByLPD/LICENSE.md +1 -1
  90. data/lib/measures/SetLightingLoadsByLPD/measure.xml +5 -5
  91. data/lib/measures/SetSpaceInfiltrationByExteriorSurfaceArea/LICENSE.md +1 -1
  92. data/lib/measures/SetSpaceInfiltrationByExteriorSurfaceArea/measure.xml +3 -3
  93. data/lib/measures/SetThermostatSchedules/LICENSE.md +1 -1
  94. data/lib/measures/SetThermostatSchedules/measure.xml +5 -5
  95. data/lib/measures/ShiftScheduleProfileTime/LICENSE.md +1 -1
  96. data/lib/measures/ShiftScheduleProfileTime/measure.xml +5 -5
  97. data/lib/measures/SwapLightsDefinition/LICENSE.md +1 -1
  98. data/lib/measures/SwapLightsDefinition/measure.xml +3 -3
  99. data/lib/measures/UnmetLoadHoursTroubleshooting/LICENSE.md +1 -1
  100. data/lib/measures/UnmetLoadHoursTroubleshooting/measure.xml +3 -3
  101. data/lib/measures/VentilationQAQC/LICENSE.md +1 -1
  102. data/lib/measures/VentilationQAQC/measure.xml +3 -3
  103. data/lib/measures/XcelEDAReportingandQAQC/LICENSE.md +1 -1
  104. data/lib/measures/XcelEDAReportingandQAQC/measure.xml +3 -3
  105. data/lib/measures/XcelEDATariffSelectionandModelSetup/LICENSE.md +1 -1
  106. data/lib/measures/XcelEDATariffSelectionandModelSetup/measure.xml +3 -3
  107. data/lib/measures/ZoneReport/LICENSE.md +1 -1
  108. data/lib/measures/ZoneReport/measure.xml +3 -3
  109. data/lib/measures/add_ems_emissions_reporting/LICENSE.md +1 -1
  110. data/lib/measures/add_ems_emissions_reporting/measure.xml +3 -3
  111. data/lib/measures/add_ems_to_control_ev_charging/LICENSE.md +1 -1
  112. data/lib/measures/add_ems_to_control_ev_charging/measure.xml +3 -3
  113. data/lib/measures/add_ev_load/LICENSE.md +1 -1
  114. data/lib/measures/add_ev_load/measure.xml +3 -3
  115. data/lib/measures/add_rooftop_pv/LICENSE.md +1 -1
  116. data/lib/measures/add_rooftop_pv/measure.xml +3 -3
  117. data/lib/measures/add_zone_mixing_object/LICENSE.md +1 -1
  118. data/lib/measures/add_zone_mixing_object/measure.xml +3 -3
  119. data/lib/measures/add_zone_ventilation_design_flow_rate_object/LICENSE.md +1 -1
  120. data/lib/measures/add_zone_ventilation_design_flow_rate_object/measure.xml +3 -3
  121. data/lib/measures/air_wall_zone_mixing/LICENSE.md +1 -1
  122. data/lib/measures/air_wall_zone_mixing/measure.xml +3 -3
  123. data/lib/measures/create_csv_output/LICENSE.md +1 -1
  124. data/lib/measures/create_csv_output/measure.xml +3 -3
  125. data/lib/measures/envelope_and_internal_load_breakdown/LICENSE.md +1 -1
  126. data/lib/measures/envelope_and_internal_load_breakdown/measure.xml +3 -3
  127. data/lib/measures/example_report/LICENSE.md +1 -1
  128. data/lib/measures/example_report/measure.xml +3 -3
  129. data/lib/measures/gem_env_report/LICENSE.md +1 -1
  130. data/lib/measures/gem_env_report/measure.xml +3 -3
  131. data/lib/measures/generic_qaqc/LICENSE.md +1 -1
  132. data/lib/measures/generic_qaqc/README.md +0 -32
  133. data/lib/measures/generic_qaqc/measure.rb +5 -2
  134. data/lib/measures/generic_qaqc/measure.xml +5 -61
  135. data/lib/measures/get_site_from_building_component_library/LICENSE.md +1 -1
  136. data/lib/measures/get_site_from_building_component_library/measure.xml +3 -3
  137. data/lib/measures/hvac_psychrometric_chart/LICENSE.md +1 -1
  138. data/lib/measures/hvac_psychrometric_chart/measure.xml +3 -3
  139. data/lib/measures/inject_idf_objects/LICENSE.md +1 -1
  140. data/lib/measures/inject_idf_objects/measure.xml +3 -3
  141. data/lib/measures/openstudio_results/LICENSE.md +1 -1
  142. data/lib/measures/openstudio_results/README.md +10 -2
  143. data/lib/measures/openstudio_results/measure.rb +19 -7
  144. data/lib/measures/openstudio_results/measure.xml +80 -21
  145. data/lib/measures/openstudio_results/resources/Siz.AirConditionerVariableRefrigerantFlow.rb +1 -1
  146. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeed.rb +10 -0
  147. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeedStageData.rb +3 -1
  148. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXSingleSpeed.rb +2 -2
  149. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXTwoSpeed.rb +4 -3
  150. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpEquationFit.rb +6 -0
  151. data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.rb +10 -0
  152. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeed.rb +10 -0
  153. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXSingleSpeed.rb +1 -1
  154. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpEquationFit.rb +6 -0
  155. data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.rb +10 -0
  156. data/lib/measures/openstudio_results/resources/Siz.CoilPerformanceDXCooling.rb +1 -1
  157. data/lib/measures/openstudio_results/resources/Siz.FanSystemModel.rb +31 -0
  158. data/lib/measures/openstudio_results/resources/Siz.Model.rb +1 -0
  159. data/lib/measures/openstudio_results/resources/bootstrap.min.css +5 -0
  160. data/lib/measures/openstudio_results/resources/bootstrap.min.js +6 -0
  161. data/lib/measures/openstudio_results/resources/d3.min.js +5 -0
  162. data/lib/measures/openstudio_results/resources/dimple.v2.1.2.min.js +3 -0
  163. data/lib/measures/openstudio_results/resources/jquery.min.js +6 -0
  164. data/lib/measures/openstudio_results/resources/os_lib_reporting.rb +12 -0
  165. data/lib/measures/openstudio_results/resources/report.html.erb +5 -5
  166. data/lib/measures/remove_orphan_objects_and_unused_resources/LICENSE.md +1 -1
  167. data/lib/measures/remove_orphan_objects_and_unused_resources/measure.xml +3 -3
  168. data/lib/measures/set_electric_equipment_loads_by_epd/LICENSE.md +1 -1
  169. data/lib/measures/set_electric_equipment_loads_by_epd/measure.xml +5 -5
  170. data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/LICENSE.md +1 -1
  171. data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/measure.xml +3 -3
  172. data/lib/measures/set_run_period/LICENSE.md +1 -1
  173. data/lib/measures/set_run_period/measure.xml +3 -3
  174. data/lib/measures/set_space_infiltration_per_exterior_area/LICENSE.md +1 -1
  175. data/lib/measures/set_space_infiltration_per_exterior_area/README.md +11 -0
  176. data/lib/measures/set_space_infiltration_per_exterior_area/measure.rb +13 -0
  177. data/lib/measures/set_space_infiltration_per_exterior_area/measure.xml +24 -5
  178. data/lib/measures/shadow_calculation/LICENSE.md +1 -1
  179. data/lib/measures/shadow_calculation/measure.xml +3 -3
  180. data/lib/measures/simulation_control/README.md +120 -0
  181. data/lib/measures/simulation_control/README.md.erb +42 -0
  182. data/lib/measures/simulation_control/measure.rb +169 -0
  183. data/lib/measures/simulation_control/measure.xml +246 -0
  184. data/lib/measures/tariff_selection_block/LICENSE.md +1 -1
  185. data/lib/measures/tariff_selection_block/measure.xml +3 -3
  186. data/lib/measures/tariff_selection_flat/LICENSE.md +1 -1
  187. data/lib/measures/tariff_selection_flat/measure.xml +3 -3
  188. data/lib/measures/tariff_selection_generic/LICENSE.md +1 -1
  189. data/lib/measures/tariff_selection_generic/measure.xml +3 -3
  190. data/lib/measures/tariff_selection_time_and_date_dependant/LICENSE.md +1 -1
  191. data/lib/measures/tariff_selection_time_and_date_dependant/measure.xml +3 -3
  192. data/lib/measures/view_data/LICENSE.md +1 -1
  193. data/lib/measures/view_data/README.md +8 -0
  194. data/lib/measures/view_data/measure.rb +32 -7
  195. data/lib/measures/view_data/measure.xml +50 -7
  196. data/lib/measures/view_data/resources/js/TweenLite.2.1.3.min.js +12 -0
  197. data/lib/measures/view_data/resources/js/dat.gui.0.7.9.min.js +13 -0
  198. data/lib/measures/view_data/resources/js/three.orbitcontrols.js +706 -0
  199. data/lib/measures/view_data/resources/js/three.r98.min.js +964 -0
  200. data/lib/measures/view_data/resources/report.html.in +170 -1837
  201. data/lib/measures/view_model/LICENSE.md +1 -1
  202. data/lib/measures/view_model/README.md +7 -1
  203. data/lib/measures/view_model/measure.rb +28 -2
  204. data/lib/measures/view_model/measure.xml +52 -8
  205. data/lib/measures/view_model/resources/js/TweenLite.2.1.3.min.js +12 -0
  206. data/lib/measures/view_model/resources/js/dat.gui.0.7.9.min.js +13 -0
  207. data/lib/measures/view_model/resources/js/three.orbitcontrols.js +706 -0
  208. data/lib/measures/view_model/resources/js/three.r98.min.js +964 -0
  209. data/lib/measures/view_model/resources/report.html.in +168 -1835
  210. data/lib/openstudio/common_measures/version.rb +1 -1
  211. data/openstudio-common-measures.gemspec +2 -3
  212. metadata +25 -21
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.1</schema_version>
4
4
  <name>inject_idf_objects</name>
5
5
  <uid>f567dfbc-d280-4d68-b061-019ab2630cd0</uid>
6
- <version_id>fad67fa1-ef05-4eea-bb44-8552e20c1a4c</version_id>
7
- <version_modified>2024-07-11T14:32:07Z</version_modified>
6
+ <version_id>44e9e977-bab2-45e3-af0b-a48301fd330b</version_id>
7
+ <version_modified>2024-11-16T23:54:16Z</version_modified>
8
8
  <xml_checksum>A8BAB05F</xml_checksum>
9
9
  <class_name>InjectIDFObjects</class_name>
10
10
  <display_name> Inject IDF Objects</display_name>
@@ -64,7 +64,7 @@ This measure works for when you just need to add new IDF objects. If you need to
64
64
  <filename>LICENSE.md</filename>
65
65
  <filetype>md</filetype>
66
66
  <usage_type>license</usage_type>
67
- <checksum>BFFB1AA6</checksum>
67
+ <checksum>8696A072</checksum>
68
68
  </file>
69
69
  <file>
70
70
  <filename>README.md</filename>
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008, 2023 Alliance for Sustainable Energy, LLC.
1
+ OpenStudio(R), Copyright (c) 2008, 2024 Alliance for Sustainable Energy, LLC.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
4
 
@@ -19,8 +19,8 @@ ReportingMeasure
19
19
  ## Arguments
20
20
 
21
21
 
22
- ### Which Unit System do you want to use?
23
-
22
+ ### Unit System
23
+ IP = Inch Pound, SI = International System, OS = OpenStudio
24
24
  **Name:** units,
25
25
  **Type:** Choice,
26
26
  **Units:** ,
@@ -211,6 +211,14 @@ This argument does not effect HTML file, instead it makes data from individal ce
211
211
  **Required:** true,
212
212
  **Model Dependent:** false
213
213
 
214
+ ### Add EnergyPlus Summary Reports?
215
+
216
+ **Name:** energyplus_reports,
217
+ **Type:** Boolean,
218
+ **Units:** ,
219
+ **Required:** true,
220
+ **Model Dependent:** false
221
+
214
222
 
215
223
 
216
224
 
@@ -98,8 +98,10 @@ class OpenStudioResults < OpenStudio::Measure::ReportingMeasure
98
98
  chs = OpenStudio::StringVector.new
99
99
  chs << 'IP'
100
100
  chs << 'SI'
101
+ chs << 'OS'
101
102
  units = OpenStudio::Measure::OSArgument.makeChoiceArgument('units', chs, true)
102
- units.setDisplayName('Which Unit System do you want to use?')
103
+ units.setDisplayName('Unit System')
104
+ units.setDescription('IP = Inch Pound, SI = International System, OS = OpenStudio')
103
105
  units.setDefaultValue('IP')
104
106
  args << units
105
107
 
@@ -121,6 +123,12 @@ class OpenStudioResults < OpenStudio::Measure::ReportingMeasure
121
123
  reg_monthly_details.setDefaultValue(false) # set to false so no impact on existing projects using the measure
122
124
  args << reg_monthly_details
123
125
 
126
+ # add energyplus output tables, used by revit systems analysis
127
+ energyplus_reports = OpenStudio::Measure::OSArgument::makeBoolArgument('energyplus_reports', true)
128
+ energyplus_reports.setDisplayName('Add EnergyPlus Summary Reports?')
129
+ energyplus_reports.setDefaultValue(false)
130
+ args << energyplus_reports
131
+
124
132
  args
125
133
  end
126
134
 
@@ -210,15 +218,15 @@ class OpenStudioResults < OpenStudio::Measure::ReportingMeasure
210
218
  # assign the user inputs to variables
211
219
  args = runner.getArgumentValues(arguments, user_arguments)
212
220
  args = Hash[args.collect{ |k, v| [k.to_s, v] }]
221
+ energyplus_reports = runner.getBoolArgumentValue('energyplus_reports', user_arguments)
213
222
  unless args
214
223
  return false
215
224
  end
225
+
226
+ # get units, runner's is used by revit systems analysis
216
227
  units = args['units']
217
- if units == 'IP'
218
- is_ip_units = true
219
- else
220
- is_ip_units = false
221
- end
228
+ units = runner.unitsPreference if units == 'OS'
229
+ is_ip_units = units == 'IP' ? true : false
222
230
 
223
231
  # reporting final condition
224
232
  runner.registerInitialCondition("Gathering data from EnergyPlus SQL file and OSM model. Will report in #{units} Units")
@@ -314,10 +322,14 @@ class OpenStudioResults < OpenStudio::Measure::ReportingMeasure
314
322
  html_in = file.read
315
323
  end
316
324
 
317
- # configure template with variable values
325
+ # configure template with variable values, resources_path needed to find javascript web libraries for html
326
+ resources_path = "#{File.dirname(__FILE__)}/resources/"
318
327
  renderer = ERB.new(html_in)
319
328
  html_out = renderer.result(binding)
320
329
 
330
+ # add energyplus reports, used by revit systems analysis
331
+ html_out = OsLib_Reporting.add_energyplus_reports(runner, html_out) if energyplus_reports
332
+
321
333
  # write html file
322
334
  html_out_path = './report.html'
323
335
  File.open(html_out_path, 'w') do |file|
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.1</schema_version>
4
4
  <name>openstudio_results</name>
5
5
  <uid>a25386cd-60e4-46bc-8b11-c755f379d916</uid>
6
- <version_id>5b4d387a-f537-4693-a9eb-6192957b6c1b</version_id>
7
- <version_modified>2024-07-11T14:31:57Z</version_modified>
6
+ <version_id>a70480c9-7dfa-42f7-9632-93f96baafc66</version_id>
7
+ <version_modified>2024-11-16T23:54:10Z</version_modified>
8
8
  <xml_checksum>557BF06F</xml_checksum>
9
9
  <class_name>OpenStudioResults</class_name>
10
10
  <display_name>OpenStudio Results</display_name>
@@ -13,7 +13,8 @@
13
13
  <arguments>
14
14
  <argument>
15
15
  <name>units</name>
16
- <display_name>Which Unit System do you want to use?</display_name>
16
+ <display_name>Unit System</display_name>
17
+ <description>IP = Inch Pound, SI = International System, OS = OpenStudio</description>
17
18
  <type>Choice</type>
18
19
  <required>true</required>
19
20
  <model_dependent>false</model_dependent>
@@ -27,6 +28,10 @@
27
28
  <value>SI</value>
28
29
  <display_name>SI</display_name>
29
30
  </choice>
31
+ <choice>
32
+ <value>OS</value>
33
+ <display_name>OS</display_name>
34
+ </choice>
30
35
  </choices>
31
36
  </argument>
32
37
  <argument>
@@ -444,6 +449,24 @@
444
449
  </choice>
445
450
  </choices>
446
451
  </argument>
452
+ <argument>
453
+ <name>energyplus_reports</name>
454
+ <display_name>Add EnergyPlus Summary Reports?</display_name>
455
+ <type>Boolean</type>
456
+ <required>true</required>
457
+ <model_dependent>false</model_dependent>
458
+ <default_value>false</default_value>
459
+ <choices>
460
+ <choice>
461
+ <value>true</value>
462
+ <display_name>true</display_name>
463
+ </choice>
464
+ <choice>
465
+ <value>false</value>
466
+ <display_name>false</display_name>
467
+ </choice>
468
+ </choices>
469
+ </argument>
447
470
  </arguments>
448
471
  <outputs>
449
472
  <output>
@@ -600,13 +623,13 @@
600
623
  <filename>LICENSE.md</filename>
601
624
  <filetype>md</filetype>
602
625
  <usage_type>license</usage_type>
603
- <checksum>BFFB1AA6</checksum>
626
+ <checksum>8696A072</checksum>
604
627
  </file>
605
628
  <file>
606
629
  <filename>README.md</filename>
607
630
  <filetype>md</filetype>
608
631
  <usage_type>readme</usage_type>
609
- <checksum>42709140</checksum>
632
+ <checksum>E0389149</checksum>
610
633
  </file>
611
634
  <file>
612
635
  <filename>README.md.erb</filename>
@@ -623,13 +646,13 @@
623
646
  <filename>measure.rb</filename>
624
647
  <filetype>rb</filetype>
625
648
  <usage_type>script</usage_type>
626
- <checksum>477BD96D</checksum>
649
+ <checksum>2D427F94</checksum>
627
650
  </file>
628
651
  <file>
629
652
  <filename>Siz.AirConditionerVariableRefrigerantFlow.rb</filename>
630
653
  <filetype>rb</filetype>
631
654
  <usage_type>resource</usage_type>
632
- <checksum>BD293F43</checksum>
655
+ <checksum>6DA5E570</checksum>
633
656
  </file>
634
657
  <file>
635
658
  <filename>Siz.AirLoopHVAC.rb</filename>
@@ -767,25 +790,25 @@
767
790
  <filename>Siz.CoilCoolingDXMultiSpeed.rb</filename>
768
791
  <filetype>rb</filetype>
769
792
  <usage_type>resource</usage_type>
770
- <checksum>F32E2FFA</checksum>
793
+ <checksum>BF0AD812</checksum>
771
794
  </file>
772
795
  <file>
773
796
  <filename>Siz.CoilCoolingDXMultiSpeedStageData.rb</filename>
774
797
  <filetype>rb</filetype>
775
798
  <usage_type>resource</usage_type>
776
- <checksum>6CB99094</checksum>
799
+ <checksum>C58077B5</checksum>
777
800
  </file>
778
801
  <file>
779
802
  <filename>Siz.CoilCoolingDXSingleSpeed.rb</filename>
780
803
  <filetype>rb</filetype>
781
804
  <usage_type>resource</usage_type>
782
- <checksum>3390D1A1</checksum>
805
+ <checksum>9C60D300</checksum>
783
806
  </file>
784
807
  <file>
785
808
  <filename>Siz.CoilCoolingDXTwoSpeed.rb</filename>
786
809
  <filetype>rb</filetype>
787
810
  <usage_type>resource</usage_type>
788
- <checksum>4151B258</checksum>
811
+ <checksum>E513D800</checksum>
789
812
  </file>
790
813
  <file>
791
814
  <filename>Siz.CoilCoolingDXTwoStageWithHumidityControlMode.rb</filename>
@@ -827,13 +850,13 @@
827
850
  <filename>Siz.CoilCoolingWaterToAirHeatPumpEquationFit.rb</filename>
828
851
  <filetype>rb</filetype>
829
852
  <usage_type>resource</usage_type>
830
- <checksum>03188BC3</checksum>
853
+ <checksum>DA146F1F</checksum>
831
854
  </file>
832
855
  <file>
833
856
  <filename>Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.rb</filename>
834
857
  <filetype>rb</filetype>
835
858
  <usage_type>resource</usage_type>
836
- <checksum>9DD25624</checksum>
859
+ <checksum>12947DE6</checksum>
837
860
  </file>
838
861
  <file>
839
862
  <filename>Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb</filename>
@@ -845,7 +868,7 @@
845
868
  <filename>Siz.CoilHeatingDXMultiSpeed.rb</filename>
846
869
  <filetype>rb</filetype>
847
870
  <usage_type>resource</usage_type>
848
- <checksum>0BB9923F</checksum>
871
+ <checksum>59F3B220</checksum>
849
872
  </file>
850
873
  <file>
851
874
  <filename>Siz.CoilHeatingDXMultiSpeedStageData.rb</filename>
@@ -857,7 +880,7 @@
857
880
  <filename>Siz.CoilHeatingDXSingleSpeed.rb</filename>
858
881
  <filetype>rb</filetype>
859
882
  <usage_type>resource</usage_type>
860
- <checksum>731CE022</checksum>
883
+ <checksum>063CB050</checksum>
861
884
  </file>
862
885
  <file>
863
886
  <filename>Siz.CoilHeatingDXVariableRefrigerantFlow.rb</filename>
@@ -935,13 +958,13 @@
935
958
  <filename>Siz.CoilHeatingWaterToAirHeatPumpEquationFit.rb</filename>
936
959
  <filetype>rb</filetype>
937
960
  <usage_type>resource</usage_type>
938
- <checksum>04727BB3</checksum>
961
+ <checksum>74C06F43</checksum>
939
962
  </file>
940
963
  <file>
941
964
  <filename>Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.rb</filename>
942
965
  <filetype>rb</filetype>
943
966
  <usage_type>resource</usage_type>
944
- <checksum>CE732BD0</checksum>
967
+ <checksum>28BD9190</checksum>
945
968
  </file>
946
969
  <file>
947
970
  <filename>Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb</filename>
@@ -953,7 +976,7 @@
953
976
  <filename>Siz.CoilPerformanceDXCooling.rb</filename>
954
977
  <filetype>rb</filetype>
955
978
  <usage_type>resource</usage_type>
956
- <checksum>5249A2FA</checksum>
979
+ <checksum>C971E88C</checksum>
957
980
  </file>
958
981
  <file>
959
982
  <filename>Siz.CoilSystemCoolingDXHeatExchangerAssisted.rb</filename>
@@ -1081,6 +1104,12 @@
1081
1104
  <usage_type>resource</usage_type>
1082
1105
  <checksum>2C4E2395</checksum>
1083
1106
  </file>
1107
+ <file>
1108
+ <filename>Siz.FanSystemModel.rb</filename>
1109
+ <filetype>rb</filetype>
1110
+ <usage_type>resource</usage_type>
1111
+ <checksum>335E730E</checksum>
1112
+ </file>
1084
1113
  <file>
1085
1114
  <filename>Siz.FanVariableVolume.rb</filename>
1086
1115
  <filetype>rb</filetype>
@@ -1187,7 +1216,7 @@
1187
1216
  <filename>Siz.Model.rb</filename>
1188
1217
  <filetype>rb</filetype>
1189
1218
  <usage_type>resource</usage_type>
1190
- <checksum>AED992B4</checksum>
1219
+ <checksum>889D4393</checksum>
1191
1220
  </file>
1192
1221
  <file>
1193
1222
  <filename>Siz.ModelObject.rb</filename>
@@ -1393,17 +1422,47 @@
1393
1422
  <usage_type>resource</usage_type>
1394
1423
  <checksum>0F50F322</checksum>
1395
1424
  </file>
1425
+ <file>
1426
+ <filename>bootstrap.min.css</filename>
1427
+ <filetype>css</filetype>
1428
+ <usage_type>resource</usage_type>
1429
+ <checksum>2C33597B</checksum>
1430
+ </file>
1431
+ <file>
1432
+ <filename>bootstrap.min.js</filename>
1433
+ <filetype>js</filetype>
1434
+ <usage_type>resource</usage_type>
1435
+ <checksum>3BFC4183</checksum>
1436
+ </file>
1437
+ <file>
1438
+ <filename>d3.min.js</filename>
1439
+ <filetype>js</filetype>
1440
+ <usage_type>resource</usage_type>
1441
+ <checksum>EB90CCAC</checksum>
1442
+ </file>
1443
+ <file>
1444
+ <filename>dimple.v2.1.2.min.js</filename>
1445
+ <filetype>js</filetype>
1446
+ <usage_type>resource</usage_type>
1447
+ <checksum>0F69C1CF</checksum>
1448
+ </file>
1449
+ <file>
1450
+ <filename>jquery.min.js</filename>
1451
+ <filetype>js</filetype>
1452
+ <usage_type>resource</usage_type>
1453
+ <checksum>574D0600</checksum>
1454
+ </file>
1396
1455
  <file>
1397
1456
  <filename>os_lib_reporting.rb</filename>
1398
1457
  <filetype>rb</filetype>
1399
1458
  <usage_type>resource</usage_type>
1400
- <checksum>2B4F256F</checksum>
1459
+ <checksum>8DEAE75A</checksum>
1401
1460
  </file>
1402
1461
  <file>
1403
1462
  <filename>report.html.erb</filename>
1404
1463
  <filetype>erb</filetype>
1405
1464
  <usage_type>resource</usage_type>
1406
- <checksum>945F4BD1</checksum>
1465
+ <checksum>3151B6DF</checksum>
1407
1466
  </file>
1408
1467
  <file>
1409
1468
  <filename>1004_SmallHotel_a.osm</filename>
@@ -76,7 +76,7 @@ class OpenStudio::Model::AirConditionerVariableRefrigerantFlow
76
76
  effs = []
77
77
  effs << [ratedCoolingCOP, 'Rated Cooling COP']
78
78
  effs << [ratedHeatingCOP, 'Rated Heating COP']
79
- effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness']
79
+ effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness'] if condenserType == 'EvaporativelyCooled'
80
80
  return effs
81
81
  end
82
82
  end
@@ -19,4 +19,14 @@ class OpenStudio::Model::CoilCoolingDXMultiSpeed
19
19
  def maxAirFlowRateAutosized
20
20
  stages.last.maxAirFlowRateAutosized
21
21
  end
22
+
23
+ def performanceCharacteristics
24
+ effs = []
25
+ stages.each_with_index do |stage_data, i|
26
+ stage_effs = stage_data.performanceCharacteristics
27
+ stage_effs.each{|pc| pc[1] = "Stage #{i+1} #{pc[1]}"}
28
+ effs.concat stage_effs
29
+ end
30
+ return effs
31
+ end
22
32
  end
@@ -41,7 +41,9 @@ class OpenStudio::Model::CoilCoolingDXMultiSpeedStageData
41
41
  def performanceCharacteristics
42
42
  effs = []
43
43
  effs << [grossRatedCoolingCOP, 'Gross Rated Cooling COP']
44
- effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness']
44
+ if parentCoil.is_initialized
45
+ effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness'] if parentCoil.get.condenserType == 'EvaporativelyCooled'
46
+ end
45
47
  return effs
46
48
  end
47
49
  end
@@ -40,8 +40,8 @@ class OpenStudio::Model::CoilCoolingDXSingleSpeed
40
40
 
41
41
  def performanceCharacteristics
42
42
  effs = []
43
- effs << [ratedCOP, 'Rated COP']
44
- effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness']
43
+ effs << [ratedCOP, 'Rated Cooling COP']
44
+ effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness'] if condenserType == 'EvaporativelyCooled'
45
45
  return effs
46
46
  end
47
47
  end
@@ -42,8 +42,9 @@ class OpenStudio::Model::CoilCoolingDXTwoSpeed
42
42
  effs = []
43
43
  effs << [ratedHighSpeedCOP, 'Rated High Speed COP']
44
44
  effs << [ratedLowSpeedCOP, 'Rated Low Speed COP']
45
- effs << [highSpeedEvaporativeCondenserEffectiveness, 'High Speed Evaporative Condenser Effectiveness']
46
- effs << [lowSpeedEvaporativeCondenserEffectiveness, 'Low Speed Evaporative Condenser Effectiveness']
47
- return effs
45
+ if condenserType == 'EvaporativelyCooled'
46
+ effs << [highSpeedEvaporativeCondenserEffectiveness, 'High Speed Evaporative Condenser Effectiveness']
47
+ effs << [lowSpeedEvaporativeCondenserEffectiveness, 'Low Speed Evaporative Condenser Effectiveness']
48
+ end
48
49
  end
49
50
  end
@@ -54,4 +54,10 @@ class OpenStudio::Model::CoilCoolingWaterToAirHeatPumpEquationFit
54
54
  return OpenStudio::OptionalBool.new(true)
55
55
  end
56
56
  end
57
+
58
+ def performanceCharacteristics
59
+ effs = []
60
+ effs << [ratedCoolingCoefficientofPerformance, 'Rated Cooling COP']
61
+ return effs
62
+ end
57
63
  end
@@ -54,4 +54,14 @@ class OpenStudio::Model::CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit
54
54
  return OpenStudio::OptionalBool.new(true)
55
55
  end
56
56
  end
57
+
58
+ def performanceCharacteristics
59
+ effs = []
60
+ speeds.each_with_index do |speed_data, i|
61
+ speed_effs = speed_data.performanceCharacteristics
62
+ speed_effs.each { |pc| pc[1] = "Speed #{i+1} #{pc[1]}"}
63
+ effs.concat speed_effs
64
+ end
65
+ return effs
66
+ end
57
67
  end
@@ -19,4 +19,14 @@ class OpenStudio::Model::CoilHeatingDXMultiSpeed
19
19
  def maxAirFlowRateAutosized
20
20
  stages.last.maxAirFlowRateAutosized
21
21
  end
22
+
23
+ def performanceCharacteristics
24
+ effs = []
25
+ stages.each_with_index do |stage_data, i|
26
+ stage_effs = stage_data.performanceCharacteristics
27
+ stage_effs.each{|pc| pc[1] = "Stage #{i+1} #{pc[1]}"}
28
+ effs.concat stage_effs
29
+ end
30
+ return effs
31
+ end
22
32
  end
@@ -40,7 +40,7 @@ class OpenStudio::Model::CoilHeatingDXSingleSpeed
40
40
 
41
41
  def performanceCharacteristics
42
42
  effs = []
43
- effs << [ratedCOP, 'Rated COP']
43
+ effs << [ratedCOP, 'Rated Heating COP']
44
44
  return effs
45
45
  end
46
46
  end
@@ -54,4 +54,10 @@ class OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit
54
54
  return OpenStudio::OptionalBool.new(true)
55
55
  end
56
56
  end
57
+
58
+ def performanceCharacteristics
59
+ effs = []
60
+ effs << [ratedHeatingCoefficientofPerformance, 'Rated Heating COP']
61
+ return effs
62
+ end
57
63
  end
@@ -54,4 +54,14 @@ class OpenStudio::Model::CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit
54
54
  return OpenStudio::OptionalBool.new(true)
55
55
  end
56
56
  end
57
+
58
+ def performanceCharacteristics
59
+ effs = []
60
+ speeds.each_with_index do |speed_data, i|
61
+ speed_effs = speed_data.performanceCharacteristics
62
+ speed_effs.each { |pc| pc[1] = "Speed #{i+1} #{pc[1]}"}
63
+ effs.concat speed_effs
64
+ end
65
+ return effs
66
+ end
57
67
  end
@@ -41,7 +41,7 @@ class OpenStudio::Model::CoilPerformanceDXCooling
41
41
  def performanceCharacteristics
42
42
  effs = []
43
43
  effs << [grossRatedCoolingCOP, 'Gross Rated Cooling COP']
44
- effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness']
44
+ effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness'] if condenserType == 'EvaporativelyCooled'
45
45
  return effs
46
46
  end
47
47
  end
@@ -0,0 +1,31 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::FanSystemModel
7
+ def maxAirFlowRate
8
+ if designMaximumFlowRate.is_initialized
9
+ designMaximumFlowRate
10
+ else
11
+ autosizedDesignMaximumFlowRate
12
+ end
13
+ end
14
+
15
+ def maxAirFlowRateAutosized
16
+ if designMaximumFlowRate.is_initialized
17
+ # Not autosized if hard size field value present
18
+ return OpenStudio::OptionalBool.new(false)
19
+ else
20
+ return OpenStudio::OptionalBool.new(true)
21
+ end
22
+ end
23
+
24
+ def performanceCharacteristics
25
+ effs = []
26
+ effs << [fanTotalEfficiency, 'Fan Total Efficiency']
27
+ effs << [designPressureRise, 'Design Pressure Rise']
28
+ effs << [motorEfficiency, 'Motor Efficiency']
29
+ return effs
30
+ end
31
+ end
@@ -81,6 +81,7 @@ require_relative 'Siz.EvaporativeFluidCoolerSingleSpeed'
81
81
  require_relative 'Siz.EvaporativeFluidCoolerTwoSpeed'
82
82
  require_relative 'Siz.FanConstantVolume'
83
83
  require_relative 'Siz.FanOnOff'
84
+ require_relative 'Siz.FanSystemModel'
84
85
  require_relative 'Siz.FanVariableVolume'
85
86
  require_relative 'Siz.FanZoneExhaust'
86
87
  require_relative 'Siz.FluidCoolerSingleSpeed'