openstudio-standards 0.3.0 → 0.3.1.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (237) hide show
  1. checksums.yaml +4 -4
  2. data/data/geometry/ASHRAELargeOffice.json +4 -4
  3. data/data/geometry/ASHRAESuperMarket.json +29 -38
  4. data/data/standards/OpenStudio_Standards-deer-ALL-comstock(space_types).xlsx +0 -0
  5. data/data/standards/metadata_units_OpenStudio_Standards-deer-ALL-comstockspace_types.csv +172 -0
  6. data/data/standards/test_performance_expected_dd_results.csv +1890 -2016
  7. data/lib/openstudio-standards/btap/analysis.rb +389 -389
  8. data/lib/openstudio-standards/btap/bridging.rb +2099 -0
  9. data/lib/openstudio-standards/btap/btap.model.rb +717 -717
  10. data/lib/openstudio-standards/btap/btap.rb +33 -30
  11. data/lib/openstudio-standards/btap/economics.rb +1163 -1163
  12. data/lib/openstudio-standards/btap/envelope.rb +4 -4
  13. data/lib/openstudio-standards/btap/equest.rb +2524 -2524
  14. data/lib/openstudio-standards/btap/fileio.rb +10 -0
  15. data/lib/openstudio-standards/btap/measures.rb +1515 -1515
  16. data/lib/openstudio-standards/btap/mpc.rb +554 -554
  17. data/lib/openstudio-standards/btap/reporting.rb +287 -287
  18. data/lib/openstudio-standards/btap/simmanager.rb +759 -759
  19. data/lib/openstudio-standards/btap/spaceloads.rb +439 -439
  20. data/lib/openstudio-standards/btap/spacetypes.rb +113 -113
  21. data/lib/openstudio-standards/btap/utilities.rb +134 -134
  22. data/lib/openstudio-standards/hvac_sizing/Siz.AirLoopHVAC.rb +8 -83
  23. data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingWater.rb +3 -99
  24. data/lib/openstudio-standards/hvac_sizing/Siz.HeatingCoolingFuels.rb +81 -75
  25. data/lib/openstudio-standards/hvac_sizing/Siz.Model.rb +7 -306
  26. data/lib/openstudio-standards/hvac_sizing/Siz.ThermalZone.rb +75 -98
  27. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +41 -14
  28. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +40 -14
  29. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump.rb +6 -6
  30. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +7 -5
  31. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb +1 -23
  32. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +1 -1
  33. data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +3 -3
  34. data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +93 -4
  35. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +17 -4
  36. data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +5 -4
  37. data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +24 -4
  38. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +41 -25
  39. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctParallelPIUReheat.rb +3 -3
  40. data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +18 -0
  41. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +13 -10
  42. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +5 -3
  43. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +11 -8
  44. data/lib/openstudio-standards/standards/Standards.Construction.rb +1 -1
  45. data/lib/openstudio-standards/standards/Standards.Fan.rb +6 -6
  46. data/lib/openstudio-standards/standards/Standards.Model.rb +88 -66
  47. data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +2 -2
  48. data/lib/openstudio-standards/standards/Standards.Pump.rb +21 -19
  49. data/lib/openstudio-standards/standards/Standards.Space.rb +41 -36
  50. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +2 -2
  51. data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +3 -3
  52. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_cases.json +510 -0
  53. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_compressors.json +18 -0
  54. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_walkins.json +410 -0
  55. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +2 -2
  56. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_cases.json +510 -0
  57. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_compressors.json +18 -0
  58. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_walkins.json +410 -0
  59. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +2 -2
  60. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_cases.json +510 -0
  61. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_compressors.json +18 -0
  62. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_walkins.json +410 -0
  63. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +2 -2
  64. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_cases.json +510 -0
  65. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_compressors.json +18 -0
  66. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_walkins.json +410 -0
  67. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +2 -2
  68. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +2 -2
  69. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +2 -2
  70. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +12 -3
  71. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +5 -3
  72. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ZoneHVACComponent.rb +6 -6
  73. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.rb +4 -3
  74. data/lib/openstudio-standards/standards/deer/deer_1985/comstock_deer_1985/data/comstock_deer_1985.spc_typ.json +405 -405
  75. data/lib/openstudio-standards/standards/deer/deer_1996/comstock_deer_1996/data/comstock_deer_1996.spc_typ.json +405 -405
  76. data/lib/openstudio-standards/standards/deer/deer_2003/comstock_deer_2003/data/comstock_deer_2003.spc_typ.json +405 -405
  77. data/lib/openstudio-standards/standards/deer/deer_2003/deer_2003.ThermalZone.rb +21 -0
  78. data/lib/openstudio-standards/standards/deer/deer_2007/comstock_deer_2007/data/comstock_deer_2007.spc_typ.json +405 -405
  79. data/lib/openstudio-standards/standards/deer/deer_2007/deer_2007.ThermalZone.rb +21 -0
  80. data/lib/openstudio-standards/standards/deer/deer_2011/comstock_deer_2011/data/comstock_deer_2011.spc_typ.json +405 -405
  81. data/lib/openstudio-standards/standards/deer/deer_2011/deer_2011.ThermalZone.rb +21 -0
  82. data/lib/openstudio-standards/standards/deer/deer_2014/comstock_deer_2014/data/comstock_deer_2014.spc_typ.json +405 -405
  83. data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.ThermalZone.rb +21 -0
  84. data/lib/openstudio-standards/standards/deer/deer_2015/comstock_deer_2015/data/comstock_deer_2015.spc_typ.json +405 -405
  85. data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.ThermalZone.rb +21 -0
  86. data/lib/openstudio-standards/standards/deer/deer_2017/comstock_deer_2017/data/comstock_deer_2017.spc_typ.json +405 -405
  87. data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.ThermalZone.rb +21 -0
  88. data/lib/openstudio-standards/standards/deer/deer_2020/comstock_deer_2020/data/comstock_deer_2020.spc_typ.json +405 -405
  89. data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.AirLoopHVAC.rb +8 -0
  90. data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.ThermalZone.rb +21 -0
  91. data/lib/openstudio-standards/standards/deer/deer_2025/comstock_deer_2025/data/comstock_deer_2025.spc_typ.json +405 -405
  92. data/lib/openstudio-standards/standards/deer/deer_2030/comstock_deer_2030/data/comstock_deer_2030.spc_typ.json +405 -405
  93. data/lib/openstudio-standards/standards/deer/deer_2035/comstock_deer_2035/data/comstock_deer_2035.spc_typ.json +405 -405
  94. data/lib/openstudio-standards/standards/deer/deer_2040/comstock_deer_2040/data/comstock_deer_2040.spc_typ.json +405 -405
  95. data/lib/openstudio-standards/standards/deer/deer_2045/comstock_deer_2045/data/comstock_deer_2045.spc_typ.json +405 -405
  96. data/lib/openstudio-standards/standards/deer/deer_2050/comstock_deer_2050/data/comstock_deer_2050.spc_typ.json +405 -405
  97. data/lib/openstudio-standards/standards/deer/deer_2055/comstock_deer_2055/data/comstock_deer_2055.spc_typ.json +405 -405
  98. data/lib/openstudio-standards/standards/deer/deer_2060/comstock_deer_2060/data/comstock_deer_2060.spc_typ.json +405 -405
  99. data/lib/openstudio-standards/standards/deer/deer_2065/comstock_deer_2065/data/comstock_deer_2065.spc_typ.json +405 -405
  100. data/lib/openstudio-standards/standards/deer/deer_2070/comstock_deer_2070/data/comstock_deer_2070.spc_typ.json +405 -405
  101. data/lib/openstudio-standards/standards/deer/deer_2075/comstock_deer_2075/data/comstock_deer_2075.spc_typ.json +405 -405
  102. data/lib/openstudio-standards/standards/deer/deer_pre_1975/comstock_deer_pre_1975/data/comstock_deer_pre_1975.spc_typ.json +405 -405
  103. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +1 -1
  104. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +3 -1
  105. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +3 -1
  106. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +2 -2
  107. data/lib/openstudio-standards/standards/necb/ECMS/data/curves.json +233 -0
  108. data/lib/openstudio-standards/standards/necb/ECMS/data/unitary_acs.json +180 -0
  109. data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +6 -1
  110. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +839 -290
  111. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +102 -66
  112. data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +85 -8
  113. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/HighriseApartment.osm +2483 -992
  114. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LowriseApartment.osm +4 -336
  115. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/MidriseApartment.osm +228 -231
  116. data/lib/openstudio-standards/standards/necb/NECB2011/data/heat_pumps_heating.json +12 -18
  117. data/lib/openstudio-standards/standards/necb/NECB2011/data/space_type_unit_definitions.txt +76 -0
  118. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_multi_speed.rb +6 -1
  119. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +111 -24
  120. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +1 -0
  121. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +3 -1
  122. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +64 -16
  123. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +61 -17
  124. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +128 -0
  125. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +252 -23
  126. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +316 -20
  127. data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +1 -1
  128. data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +3 -5
  129. data/lib/openstudio-standards/standards/necb/NECB2011/system_fuels.rb +38 -0
  130. data/lib/openstudio-standards/standards/necb/NECB2015/data/heat_pumps_heating.json +16 -24
  131. data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +48 -25
  132. data/lib/openstudio-standards/standards/necb/NECB2020/building_envelope.rb +3 -3
  133. data/lib/openstudio-standards/standards/necb/NECB2020/data/chillers.json +36 -19
  134. data/lib/openstudio-standards/standards/necb/NECB2020/data/furnaces.json +19 -4
  135. data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps.json +20 -40
  136. data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +74 -36
  137. data/lib/openstudio-standards/standards/necb/NECB2020/necb_2020.rb +0 -2
  138. data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +123 -56
  139. data/lib/openstudio-standards/standards/necb/common/btap_data.rb +124 -2
  140. data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +15 -2
  141. data/lib/openstudio-standards/standards/necb/common/necb_reference_runs.csv +1 -1
  142. data/lib/openstudio-standards/utilities/simulation.rb +1 -1
  143. data/lib/openstudio-standards/version.rb +1 -1
  144. data/lib/openstudio-standards/weather/Weather.stat_file.rb +33 -1
  145. data/lib/openstudio-standards.rb +1 -0
  146. metadata +14 -121
  147. data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
  148. data/data/weather/CAN_ON_Kingston.AP.718200_TMYx.2004-2018.ddy +0 -2342
  149. data/data/weather/CAN_ON_Kingston.AP.718200_TMYx.2004-2018.epw +0 -8768
  150. data/data/weather/CAN_ON_Kingston.AP.718200_TMYx.2004-2018.stat +0 -700
  151. data/data/weather/CAN_ON_Region.of.Waterloo.Intl.AP.713680_TMYx.2004-2018.ddy +0 -2342
  152. data/data/weather/CAN_ON_Region.of.Waterloo.Intl.AP.713680_TMYx.2004-2018.epw +0 -8768
  153. data/data/weather/CAN_ON_Region.of.Waterloo.Intl.AP.713680_TMYx.2004-2018.stat +0 -700
  154. data/data/weather/CAN_ON_Sarnia-Hadfield.AP.717040_TMYx.2004-2018.ddy +0 -2342
  155. data/data/weather/CAN_ON_Sarnia-Hadfield.AP.717040_TMYx.2004-2018.epw +0 -8768
  156. data/data/weather/CAN_ON_Sarnia-Hadfield.AP.717040_TMYx.2004-2018.stat +0 -700
  157. data/data/weather/CAN_QC_Gatineau.AP.716279_TMYx.2004-2018.ddy +0 -276
  158. data/data/weather/CAN_QC_Gatineau.AP.716279_TMYx.2004-2018.epw +0 -8768
  159. data/data/weather/CAN_QC_Gatineau.AP.716279_TMYx.2004-2018.stat +0 -611
  160. data/data/weather/CAN_QC_Granby.710367_TMYx.2004-2018.ddy +0 -276
  161. data/data/weather/CAN_QC_Granby.710367_TMYx.2004-2018.epw +0 -8768
  162. data/data/weather/CAN_QC_Granby.710367_TMYx.2004-2018.stat +0 -610
  163. data/data/weather/CAN_QC_Sherbrooke.AP.716100_TMYx.2004-2018.ddy +0 -2342
  164. data/data/weather/CAN_QC_Sherbrooke.AP.716100_TMYx.2004-2018.epw +0 -8768
  165. data/data/weather/CAN_QC_Sherbrooke.AP.716100_TMYx.2004-2018.stat +0 -700
  166. data/data/weather/CAN_QC_Trois.Rivieres.717240_TMYx.2004-2018.ddy +0 -2342
  167. data/data/weather/CAN_QC_Trois.Rivieres.717240_TMYx.2004-2018.epw +0 -8768
  168. data/data/weather/CAN_QC_Trois.Rivieres.717240_TMYx.2004-2018.stat +0 -700
  169. data/lib/openstudio-standards/hvac_sizing/Siz.AirConditionerVariableRefrigerantFlow.rb +0 -81
  170. data/lib/openstudio-standards/hvac_sizing/Siz.AirLoopHVACUnitaryHeatCoolVAVChngByp.rb +0 -27
  171. data/lib/openstudio-standards/hvac_sizing/Siz.AirLoopHVACUnitaryHeatPumpAirToAir.rb +0 -69
  172. data/lib/openstudio-standards/hvac_sizing/Siz.AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed.rb +0 -178
  173. data/lib/openstudio-standards/hvac_sizing/Siz.AirLoopHVACUnitarySystem.rb +0 -27
  174. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctConstVolCooledBeam.rb +0 -27
  175. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctConstVolFourPipeInduction.rb +0 -27
  176. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctConstVolReheat.rb +0 -27
  177. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctParallelPIUReheat.rb +0 -67
  178. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctSeriesPIUReheat.rb +0 -27
  179. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctUncontrolled.rb +0 -30
  180. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctVAVHeatAndCoolNoReheat.rb +0 -27
  181. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctVAVHeatAndCoolReheat.rb +0 -27
  182. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctVAVNoReheat.rb +0 -68
  183. data/lib/openstudio-standards/hvac_sizing/Siz.AirTermSnglDuctVAVReheat.rb +0 -68
  184. data/lib/openstudio-standards/hvac_sizing/Siz.BoilerHotWater.rb +0 -42
  185. data/lib/openstudio-standards/hvac_sizing/Siz.BoilerSteam.rb +0 -27
  186. data/lib/openstudio-standards/hvac_sizing/Siz.ChillerElectricEIR.rb +0 -58
  187. data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingDXMultiSpeed.rb +0 -171
  188. data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingDXSingleSpeed.rb +0 -56
  189. data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingDXTwoSpeed.rb +0 -89
  190. data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingDXVariableRefrigerantFlow.rb +0 -50
  191. data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingWaterToAirHeatPumpEquationFit.rb +0 -69
  192. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingDXMultiSpeed.rb +0 -120
  193. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingDXSingleSpeed.rb +0 -56
  194. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingDXVariableRefrigerantFlow.rb +0 -41
  195. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingDesuperheater.rb +0 -27
  196. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingElectric.rb +0 -30
  197. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingGas.rb +0 -30
  198. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingGasMultiStage.rb +0 -68
  199. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingWater.rb +0 -61
  200. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingWaterToAirHeatPumpEquationFit.rb +0 -57
  201. data/lib/openstudio-standards/hvac_sizing/Siz.CoilWaterHeatingDesuperheater.rb +0 -27
  202. data/lib/openstudio-standards/hvac_sizing/Siz.ControllerOutdoorAir.rb +0 -59
  203. data/lib/openstudio-standards/hvac_sizing/Siz.ControllerWaterCoil.rb +0 -49
  204. data/lib/openstudio-standards/hvac_sizing/Siz.CoolingTowerSingleSpeed.rb +0 -90
  205. data/lib/openstudio-standards/hvac_sizing/Siz.CoolingTowerTwoSpeed.rb +0 -83
  206. data/lib/openstudio-standards/hvac_sizing/Siz.CoolingTowerVariableSpeed.rb +0 -57
  207. data/lib/openstudio-standards/hvac_sizing/Siz.DistrictCooling.rb +0 -27
  208. data/lib/openstudio-standards/hvac_sizing/Siz.DistrictHeating.rb +0 -27
  209. data/lib/openstudio-standards/hvac_sizing/Siz.EvaporativeCoolerDirectResearchSpecial.rb +0 -27
  210. data/lib/openstudio-standards/hvac_sizing/Siz.EvaporativeCoolerIndirectResearchSpecial.rb +0 -27
  211. data/lib/openstudio-standards/hvac_sizing/Siz.EvaporativeFluidCoolerSingleSpeed.rb +0 -27
  212. data/lib/openstudio-standards/hvac_sizing/Siz.FanConstantVolume.rb +0 -29
  213. data/lib/openstudio-standards/hvac_sizing/Siz.FanOnOff.rb +0 -27
  214. data/lib/openstudio-standards/hvac_sizing/Siz.FanVariableVolume.rb +0 -29
  215. data/lib/openstudio-standards/hvac_sizing/Siz.HeaderedPumpsConstantSpeed.rb +0 -55
  216. data/lib/openstudio-standards/hvac_sizing/Siz.HeaderedPumpsVariableSpeed.rb +0 -55
  217. data/lib/openstudio-standards/hvac_sizing/Siz.HeatExchangerAirToAirSensibleAndLatent.rb +0 -38
  218. data/lib/openstudio-standards/hvac_sizing/Siz.HeatExchangerFluidToFluid.rb +0 -27
  219. data/lib/openstudio-standards/hvac_sizing/Siz.HumidifierSteamElectric.rb +0 -27
  220. data/lib/openstudio-standards/hvac_sizing/Siz.PlantLoop.rb +0 -42
  221. data/lib/openstudio-standards/hvac_sizing/Siz.PumpConstantSpeed.rb +0 -59
  222. data/lib/openstudio-standards/hvac_sizing/Siz.PumpVariableSpeed.rb +0 -59
  223. data/lib/openstudio-standards/hvac_sizing/Siz.SizingSystem.rb +0 -48
  224. data/lib/openstudio-standards/hvac_sizing/Siz.WaterHeaterMixed.rb +0 -16
  225. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACBaseboardConvectiveElectric.rb +0 -27
  226. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACBaseboardConvectiveWater.rb +0 -27
  227. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACFourPipeFanCoil.rb +0 -27
  228. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACHighTemperatureRadiant.rb +0 -27
  229. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACIdealLoadsAirSystem.rb +0 -27
  230. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACLowTempRadiantConstFlow.rb +0 -27
  231. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACLowTempRadiantVarFlow.rb +0 -27
  232. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACLowTemperatureRadiantElectric.rb +0 -27
  233. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACPackagedTerminalAirConditioner.rb +0 -88
  234. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACPackagedTerminalHeatPump.rb +0 -88
  235. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow.rb +0 -104
  236. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACUnitHeater.rb +0 -27
  237. data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACWaterToAirHeatPump.rb +0 -27
@@ -2,323 +2,24 @@
2
2
  # open the class to add methods to size all HVAC equipment
3
3
  class OpenStudio::Model::Model
4
4
 
5
- # Ensure that the version of OpenStudio is 1.6.0 or greater
6
- # because the HVACSizing .autosizedFoo methods are currently built
7
- # expecting the EnergyPlus 8.2 syntax.
8
- min_os_version = "1.6.0"
5
+ # Ensure that the version of OpenStudio is 2.4.1 or greater
6
+ # because this is when the .autosizedFoo methods were added to C++.
7
+ min_os_version = "2.4.1"
9
8
  if OpenStudio::Model::Model.new.version < OpenStudio::VersionString.new(min_os_version)
10
- OpenStudio::logFree(OpenStudio::Error, "openstudio.model.Model", "This measure requires a minimum OpenStudio version of #{min_os_version} because the HVACSizing .autosizedFoo methods expect EnergyPlus 8.2 output variable names.")
9
+ OpenStudio::logFree(OpenStudio::Error, "openstudio.model.Model", "This measure requires a minimum OpenStudio version of #{min_os_version} because this is when the .autosizedFoo methods were added to C++.")
11
10
  end
12
11
 
13
- # Load the helper libraries for getting the autosized
14
- # values for each type of model object.
15
- require_relative 'Siz.AirTermSnglDuctParallelPIUReheat'
16
- require_relative 'Siz.AirTermSnglDuctVAVReheat'
17
- require_relative 'Siz.AirTermSnglDuctUncontrolled'
12
+ # Load the helper libraries for getting additional autosized
13
+ # values that aren't included in the C++ API.
18
14
  require_relative 'Siz.AirLoopHVAC'
19
- require_relative 'Siz.AirLoopHVACUnitaryHeatPumpAirToAir'
20
- require_relative 'Siz.AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed'
21
- require_relative 'Siz.FanConstantVolume'
22
- require_relative 'Siz.FanVariableVolume'
23
- require_relative 'Siz.FanOnOff'
24
- require_relative 'Siz.CoilHeatingElectric'
25
- require_relative 'Siz.CoilHeatingGas'
26
- require_relative 'Siz.CoilHeatingGasMultiStage'
27
- require_relative 'Siz.CoilHeatingWater'
28
- require_relative 'Siz.CoilHeatingDXSingleSpeed'
29
- require_relative 'Siz.CoilHeatingDXMultiSpeed'
30
- require_relative 'Siz.CoilHeatingWaterToAirHeatPumpEquationFit'
31
- require_relative 'Siz.CoilCoolingWaterToAirHeatPumpEquationFit'
32
- require_relative 'Siz.CoilCoolingDXMultiSpeed'
33
- require_relative 'Siz.CoilCoolingDXSingleSpeed'
34
- require_relative 'Siz.CoilCoolingDXTwoSpeed'
35
15
  require_relative 'Siz.CoilCoolingWater'
36
- require_relative 'Siz.ControllerOutdoorAir'
37
- require_relative 'Siz.DistrictHeating'
38
- require_relative 'Siz.DistrictCooling'
39
- require_relative 'Siz.HeatExchangerAirToAirSensibleAndLatent'
40
- require_relative 'Siz.PlantLoop'
41
- require_relative 'Siz.PumpConstantSpeed'
42
- require_relative 'Siz.PumpVariableSpeed'
43
- require_relative 'Siz.BoilerHotWater'
44
- require_relative 'Siz.ChillerElectricEIR'
45
- require_relative 'Siz.CoolingTowerSingleSpeed'
46
- require_relative 'Siz.CoolingTowerTwoSpeed'
47
- require_relative 'Siz.CoolingTowerVariableSpeed'
48
- require_relative 'Siz.ControllerWaterCoil'
49
- require_relative 'Siz.SizingSystem'
50
16
  require_relative 'Siz.ThermalZone'
51
- require_relative 'Siz.ZoneHVACPackagedTerminalAirConditioner'
52
- require_relative 'Siz.ZoneHVACPackagedTerminalHeatPump'
53
- require_relative 'Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow'
54
- require_relative 'Siz.AirConditionerVariableRefrigerantFlow'
55
- require_relative 'Siz.CoilCoolingDXVariableRefrigerantFlow'
56
- require_relative 'Siz.CoilHeatingDXVariableRefrigerantFlow'
57
- require_relative 'Siz.HeaderedPumpsConstantSpeed'
58
- require_relative 'Siz.HeaderedPumpsVariableSpeed'
59
17
 
60
18
  # Heating and cooling fuel methods
61
19
  require_relative 'Siz.HeatingCoolingFuels'
62
-
20
+
63
21
  # Component quantity methods
64
22
  require_relative 'Siz.HVACComponent'
65
-
66
- # Takes the values calculated by the EnergyPlus sizing routines
67
- # and puts them into all objects model in place of the autosized fields.
68
- # Must have previously completed a run with sql output for this to work.
69
- def applySizingValues
70
-
71
- # Ensure that the model has a sql file associated with it
72
- if self.sqlFile.empty?
73
- OpenStudio::logFree(OpenStudio::Error, 'openstudio.model.Model', 'Failed to apply sizing values because model is missing sql file containing sizing results.')
74
- return false
75
- end
76
-
77
- # @todo Sizing methods for these types of equipment are
78
- # currently only stubs that need to be filled in.
79
- self.getAirConditionerVariableRefrigerantFlows.sort.each {|obj| obj.applySizingValues}
80
- self.getAirLoopHVACUnitaryHeatCoolVAVChangeoverBypasss.sort.each {|obj| obj.applySizingValues}
81
- self.getAirLoopHVACUnitarySystems.sort.each {|obj| obj.applySizingValues}
82
- self.getAirTerminalSingleDuctConstantVolumeCooledBeams.sort.each {|obj| obj.applySizingValues}
83
- self.getAirTerminalSingleDuctConstantVolumeFourPipeInductions.sort.each {|obj| obj.applySizingValues}
84
- self.getAirTerminalSingleDuctConstantVolumeReheats.sort.each {|obj| obj.applySizingValues}
85
- self.getAirTerminalSingleDuctSeriesPIUReheats.sort.each {|obj| obj.applySizingValues}
86
- self.getAirTerminalSingleDuctVAVHeatAndCoolNoReheats.sort.each {|obj| obj.applySizingValues}
87
- self.getAirTerminalSingleDuctVAVHeatAndCoolReheats.sort.each {|obj| obj.applySizingValues}
88
- self.getBoilerSteams.sort.each {|obj| obj.applySizingValues}
89
- self.getCoilCoolingDXVariableRefrigerantFlows.sort.each {|obj| obj.applySizingValues}
90
- self.getCoilCoolingWaterToAirHeatPumpEquationFits.sort.each {|obj| obj.applySizingValues}
91
- self.getCoilHeatingWaterToAirHeatPumpEquationFits.sort.each {|obj| obj.applySizingValues}
92
- self.getCoilHeatingDesuperheaters.sort.each {|obj| obj.applySizingValues}
93
- self.getCoilHeatingDXVariableRefrigerantFlows.sort.each {|obj| obj.applySizingValues}
94
- self.getCoilWaterHeatingDesuperheaters.sort.each {|obj| obj.applySizingValues}
95
- self.getCoolingTowerTwoSpeeds.sort.each {|obj| obj.applySizingValues}
96
- self.getCoolingTowerVariableSpeeds.sort.each {|obj| obj.applySizingValues}
97
- self.getEvaporativeCoolerDirectResearchSpecials.sort.each {|obj| obj.applySizingValues}
98
- self.getEvaporativeCoolerIndirectResearchSpecials.sort.each {|obj| obj.applySizingValues}
99
- self.getEvaporativeFluidCoolerSingleSpeeds.sort.each {|obj| obj.applySizingValues}
100
- self.getHeatExchangerFluidToFluids.sort.each {|obj| obj.applySizingValues}
101
- self.getHumidifierSteamElectrics.sort.each {|obj| obj.applySizingValues}
102
- self.getZoneHVACBaseboardConvectiveElectrics.sort.each {|obj| obj.applySizingValues}
103
- self.getZoneHVACBaseboardConvectiveWaters.sort.each {|obj| obj.applySizingValues}
104
- self.getZoneHVACFourPipeFanCoils.sort.each {|obj| obj.applySizingValues}
105
- self.getZoneHVACHighTemperatureRadiants.sort.each {|obj| obj.applySizingValues}
106
- self.getZoneHVACIdealLoadsAirSystems.sort.each {|obj| obj.applySizingValues}
107
- self.getZoneHVACLowTemperatureRadiantElectrics.sort.each {|obj| obj.applySizingValues}
108
- self.getZoneHVACLowTempRadiantConstFlows.sort.each {|obj| obj.applySizingValues}
109
- self.getZoneHVACLowTempRadiantVarFlows.sort.each {|obj| obj.applySizingValues}
110
- self.getZoneHVACPackagedTerminalAirConditioners.sort.each {|obj| obj.applySizingValues}
111
- self.getZoneHVACPackagedTerminalHeatPumps.sort.each {|obj| obj.applySizingValues}
112
- self.getZoneHVACTerminalUnitVariableRefrigerantFlows.sort.each {|obj| obj.applySizingValues}
113
- self.getZoneHVACWaterToAirHeatPumps.sort.each {|obj| obj.applySizingValues}
114
-
115
- # Zone equipment
116
-
117
- # Air terminals
118
- self.getAirTerminalSingleDuctParallelPIUReheats.sort.each {|obj| obj.applySizingValues}
119
- self.getAirTerminalSingleDuctVAVReheats.sort.each {|obj| obj.applySizingValues}
120
- self.getAirTerminalSingleDuctUncontrolleds.sort.each {|obj| obj.applySizingValues}
121
-
122
- # AirLoopHVAC components
123
- self.getAirLoopHVACs.sort.each {|obj| obj.applySizingValues}
124
- self.getSizingSystems.sort.each {|obj| obj.applySizingValues}
125
-
126
- # Fans
127
- self.getFanConstantVolumes.sort.each {|obj| obj.applySizingValues}
128
- self.getFanVariableVolumes.sort.each {|obj| obj.applySizingValues}
129
- self.getFanOnOffs.sort.each {|obj| obj.applySizingValues}
130
-
131
- # Heating coils
132
- self.getCoilHeatingElectrics.sort.each {|obj| obj.applySizingValues}
133
- self.getCoilHeatingGass.sort.each {|obj| obj.applySizingValues}
134
- self.getCoilHeatingGasMultiStages.sort.each {|obj| obj.applySizingValues}
135
- self.getCoilHeatingWaters.sort.each {|obj| obj.applySizingValues}
136
- self.getCoilHeatingDXSingleSpeeds.sort.each {|obj| obj.applySizingValues}
137
- self.getCoilHeatingDXMultiSpeeds.sort.each {|obj| obj.applySizingValues}
138
-
139
- # Cooling coils
140
- self.getCoilCoolingDXSingleSpeeds.sort.each {|obj| obj.applySizingValues}
141
- self.getCoilCoolingDXTwoSpeeds.sort.each {|obj| obj.applySizingValues}
142
- self.getCoilCoolingWaters.sort.each {|obj| obj.applySizingValues}
143
- self.getCoilCoolingDXMultiSpeeds.sort.each {|obj| obj.applySizingValues}
144
-
145
- # Outdoor air
146
- self.getControllerOutdoorAirs.sort.each {|obj| obj.applySizingValues}
147
- self.getHeatExchangerAirToAirSensibleAndLatents.sort.each {|obj| obj.applySizingValues}
148
-
149
- # PlantLoop components
150
- self.getPlantLoops.sort.each {|obj| obj.applySizingValues}
151
-
152
- # Pumps
153
- self.getPumpConstantSpeeds.sort.each {|obj| obj.applySizingValues}
154
- self.getPumpVariableSpeeds.sort.each {|obj| obj.applySizingValues}
155
-
156
- # Heating equipment
157
- self.getBoilerHotWaters.sort.each {|obj| obj.applySizingValues}
158
-
159
- # Cooling equipment
160
- self.getChillerElectricEIRs.sort.each {|obj| obj.applySizingValues}
161
-
162
- # Condenser equipment
163
- self.getCoolingTowerSingleSpeeds.sort.each {|obj| obj.applySizingValues}
164
-
165
- # Controls
166
- self.getControllerWaterCoils.sort.each {|obj| obj.applySizingValues}
167
-
168
- # VRF components
169
-
170
- # Refrigeration components
171
-
172
- return true
173
-
174
- end
175
-
176
- # Changes all hard-sized HVAC values to Autosized
177
- def autosize
178
-
179
- # @todo Sizing methods for these types of equipment are
180
- # currently only stubs that need to be filled in.
181
- self.getAirConditionerVariableRefrigerantFlows.sort.each {|obj| obj.autosize}
182
- self.getAirLoopHVACUnitaryHeatCoolVAVChangeoverBypasss.sort.each {|obj| obj.autosize}
183
- self.getAirLoopHVACUnitarySystems.sort.each {|obj| obj.autosize}
184
- self.getAirTerminalSingleDuctConstantVolumeCooledBeams.sort.each {|obj| obj.autosize}
185
- self.getAirTerminalSingleDuctConstantVolumeFourPipeInductions.sort.each {|obj| obj.autosize}
186
- self.getAirTerminalSingleDuctConstantVolumeReheats.sort.each {|obj| obj.autosize}
187
- self.getAirTerminalSingleDuctSeriesPIUReheats.sort.each {|obj| obj.autosize}
188
- self.getAirTerminalSingleDuctVAVHeatAndCoolNoReheats.sort.each {|obj| obj.autosize}
189
- self.getAirTerminalSingleDuctVAVHeatAndCoolReheats.sort.each {|obj| obj.autosize}
190
- self.getBoilerSteams.sort.each {|obj| obj.autosize}
191
- self.getCoilCoolingDXMultiSpeeds.sort.each {|obj| obj.autosize}
192
- self.getCoilCoolingDXVariableRefrigerantFlows.sort.each {|obj| obj.autosize}
193
- self.getCoilCoolingWaterToAirHeatPumpEquationFits.sort.each {|obj| obj.autosize}
194
- self.getCoilHeatingWaterToAirHeatPumpEquationFits.sort.each {|obj| obj.autosize}
195
- self.getCoilHeatingGasMultiStages.sort.each {|obj| obj.autosize}
196
- self.getCoilHeatingDesuperheaters.sort.each {|obj| obj.autosize}
197
- self.getCoilHeatingDXVariableRefrigerantFlows.sort.each {|obj| obj.autosize}
198
- self.getCoilWaterHeatingDesuperheaters.sort.each {|obj| obj.autosize}
199
- self.getCoolingTowerTwoSpeeds.sort.each {|obj| obj.autosize}
200
- self.getCoolingTowerVariableSpeeds.sort.each {|obj| obj.autosize}
201
- self.getEvaporativeCoolerDirectResearchSpecials.sort.each {|obj| obj.autosize}
202
- self.getEvaporativeCoolerIndirectResearchSpecials.sort.each {|obj| obj.autosize}
203
- self.getEvaporativeFluidCoolerSingleSpeeds.sort.each {|obj| obj.autosize}
204
- self.getHeatExchangerFluidToFluids.sort.each {|obj| obj.autosize}
205
- self.getHumidifierSteamElectrics.sort.each {|obj| obj.autosize}
206
- self.getZoneHVACBaseboardConvectiveElectrics.sort.each {|obj| obj.autosize}
207
- self.getZoneHVACBaseboardConvectiveWaters.sort.each {|obj| obj.autosize}
208
- self.getZoneHVACFourPipeFanCoils.sort.each {|obj| obj.autosize}
209
- self.getZoneHVACHighTemperatureRadiants.sort.each {|obj| obj.autosize}
210
- self.getZoneHVACIdealLoadsAirSystems.sort.each {|obj| obj.autosize}
211
- self.getZoneHVACLowTemperatureRadiantElectrics.sort.each {|obj| obj.autosize}
212
- self.getZoneHVACLowTempRadiantConstFlows.sort.each {|obj| obj.autosize}
213
- self.getZoneHVACLowTempRadiantVarFlows.sort.each {|obj| obj.autosize}
214
- self.getZoneHVACPackagedTerminalAirConditioners.sort.each {|obj| obj.autosize}
215
- self.getZoneHVACPackagedTerminalHeatPumps.sort.each {|obj| obj.autosize}
216
- self.getZoneHVACTerminalUnitVariableRefrigerantFlows.sort.each {|obj| obj.autosize}
217
- self.getZoneHVACWaterToAirHeatPumps.sort.each {|obj| obj.autosize}
218
-
219
- # Zone equipment
220
-
221
- # Air terminals
222
- self.getAirTerminalSingleDuctParallelPIUReheats.sort.each {|obj| obj.autosize}
223
- self.getAirTerminalSingleDuctVAVReheats.sort.each {|obj| obj.autosize}
224
- self.getAirTerminalSingleDuctUncontrolleds.sort.each {|obj| obj.autosize}
225
-
226
- # AirLoopHVAC components
227
- self.getAirLoopHVACs.sort.each {|obj| obj.autosize}
228
- self.getSizingSystems.sort.each {|obj| obj.autosize}
229
-
230
- # Fans
231
- self.getFanConstantVolumes.sort.each {|obj| obj.autosize}
232
- self.getFanVariableVolumes.sort.each {|obj| obj.autosize}
233
- self.getFanOnOffs.sort.each {|obj| obj.autosize}
234
-
235
- # Heating coils
236
- self.getCoilHeatingElectrics.sort.each {|obj| obj.autosize}
237
- self.getCoilHeatingGass.sort.each {|obj| obj.autosize}
238
- self.getCoilHeatingWaters.sort.each {|obj| obj.autosize}
239
- self.getCoilHeatingDXSingleSpeeds.sort.each {|obj| obj.autosize}
240
-
241
- # Cooling coils
242
- self.getCoilCoolingDXSingleSpeeds.sort.each {|obj| obj.autosize}
243
- self.getCoilCoolingDXTwoSpeeds.sort.each {|obj| obj.autosize}
244
- self.getCoilCoolingWaters.sort.each {|obj| obj.autosize}
245
-
246
- # Outdoor air
247
- self.getControllerOutdoorAirs.sort.each {|obj| obj.autosize}
248
- self.getHeatExchangerAirToAirSensibleAndLatents.sort.each {|obj| obj.autosize}
249
-
250
- # PlantLoop components
251
- self.getPlantLoops.sort.each {|obj| obj.autosize}
252
-
253
- # Pumps
254
- self.getPumpConstantSpeeds.sort.each {|obj| obj.autosize}
255
- self.getPumpVariableSpeeds.sort.each {|obj| obj.autosize}
256
-
257
- # Heating equipment
258
- self.getBoilerHotWaters.sort.each {|obj| obj.autosize}
259
-
260
- # Cooling equipment
261
- self.getChillerElectricEIRs.sort.each {|obj| obj.autosize}
262
-
263
- # Condenser equipment
264
- self.getCoolingTowerSingleSpeeds.sort.each {|obj| obj.autosize}
265
-
266
- # Controls
267
- self.getControllerWaterCoils.sort.each {|obj| obj.autosize}
268
-
269
- # VRF components
270
-
271
- # Refrigeration components
272
-
273
- return true
274
-
275
- end
276
-
277
-
278
- # A helper method to get component sizes from the model
279
- # returns the autosized value as an optional double
280
- def getAutosizedValue(object, value_name, units)
281
-
282
- result = OpenStudio::OptionalDouble.new
283
-
284
- name = object.name.get.upcase.strip
285
-
286
- object_type = object.iddObject.type.valueDescription.gsub('OS:','')
287
-
288
- # Special logic for two coil types which are inconsistently
289
- # uppercase in the sqlfile:
290
- object_type = object_type.upcase if object_type == 'Coil:Cooling:WaterToAirHeatPump:EquationFit'
291
- object_type = object_type.upcase if object_type == 'Coil:Heating:WaterToAirHeatPump:EquationFit'
292
- object_type = 'Coil:Heating:GasMultiStage' if object_type == 'Coil:Heating:Gas:MultiStage'
293
- object_type = 'Coil:Heating:Fuel' if object_type == 'Coil:Heating:Gas'
294
-
295
- sql = self.sqlFile
296
-
297
- if sql.is_initialized
298
- sql = sql.get
299
-
300
- #SELECT * FROM ComponentSizes WHERE CompType = 'Coil:Heating:Gas' AND CompName = "COIL HEATING GAS 3" AND Description = "Design Size Nominal Capacity"
301
- query = "SELECT Value
302
- FROM ComponentSizes
303
- WHERE CompType='#{object_type}'
304
- AND CompName='#{name}'
305
- AND Description='#{value_name.strip}'
306
- AND Units='#{units}'"
307
-
308
- val = sql.execAndReturnFirstDouble(query)
309
-
310
- if val.is_initialized
311
- result = OpenStudio::OptionalDouble.new(val.get)
312
- else
313
- # @todo comment following line (debugging new HVACsizing objects right now)
314
- # OpenStudio::logFree(OpenStudio::Warn, "openstudio.model.Model", "QUERY ERROR: Data not found for query: #{query}")
315
- end
316
- else
317
- OpenStudio::logFree(OpenStudio::Error, 'openstudio.model.Model', 'Model has no sql file containing results, cannot lookup data.')
318
- end
319
-
320
- return result
321
- end
322
23
 
323
24
  # A helper method to get component sizes from the Equipment Summary of the TabularDataWithStrings Report
324
25
  # returns the autosized value as an optional double