openstudio-extension 0.5.0 → 0.6.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e410744afb54a4a4c19ee59dd2d7a9edd77da75d67df9968f0ed2e0a304f0f7
4
- data.tar.gz: 3949d1e1bb9a929b251e473aac854d50abff6da4800be4b10318f786b0c5c082
3
+ metadata.gz: 523a398338a5d93b39e33c434d2d23da38bf498a3f49c98fd761782921dc2d8d
4
+ data.tar.gz: 4f5d6547b2473c213182e17ee1367b97b1c9096bfbf7b887c1fdeaaab39ed311
5
5
  SHA512:
6
- metadata.gz: 82b88a5b66d29367fca57cb38228ccf7f782a798b98e09a220c11eb6d7bfe6e959a947e4a44f97fd391a7eec123fb37c1894e7dfd04803108fca75fd02a0bccb
7
- data.tar.gz: 451ea32b090a21701eda6df859714bb213e212c2fdcdab086de7c51dd71031e9eaab493b04df671eccc9c01483408f40595127246997c91e810e0b1d3f4b3847
6
+ metadata.gz: f9b8c5aef57f50f23433781f7415287fbbe07558e97a3b897fd0fee2b67fcf826f9b72221db2c05b36b9dddeb912f48db3e175b5219ae1ac366af52ee2dfcb2e
7
+ data.tar.gz: 93744282520e2245f8ea6d6ff8e10364cbfbe414f0cac8e6c6f039d79db5cf5bfae970ca59efa31ed7cc3007833686438ac73b6936fed97dd222a009bf4b061e
data/CHANGELOG.md CHANGED
@@ -1,16 +1,26 @@
1
1
  # OpenStudio Extension Gem
2
2
 
3
+ ## Version 0.6.0
4
+
5
+ * Fixed [#150]( https://github.com/NREL/openstudio-extension-gem/pull/150 ), Fixed Outpatient DressingRoom name
6
+ * Adding in new DOE templates `ComStock 90.1-2016` and `ComStock 90.1-2019`
7
+ * Adding in new DOE Building Types `Courthouse` and `College`
8
+ * Upgrade developer dependency to openstudio-standards gem to `~> 0.2.17`
9
+
10
+ ## Version 0.5.1
11
+
12
+ * Fix adjancent surface matching
13
+
3
14
  ## Version 0.5.0
4
15
 
5
16
  * Update OpenStudio Workflow Gem to 2.3.0 (support for epJSON)
6
-
7
- - Fixed [#133]( https://github.com/NREL/openstudio-extension-gem/pull/133 ), cleanup readme and rework BCL tasks
8
- - Fixed [#135]( https://github.com/NREL/openstudio-extension-gem/pull/135 ), Intersect tests 072021
9
- - Fixed [#136]( https://github.com/NREL/openstudio-extension-gem/pull/136 ), Osm from haystack
10
- - Fixed [#137]( https://github.com/NREL/openstudio-extension-gem/issues/137 ), Edge case error in hospital bar
11
- - Fixed [#138]( https://github.com/NREL/openstudio-extension-gem/issues/138 ), os_lib_model_generation does not assign SWH type correctly
12
- - Fixed [#139]( https://github.com/NREL/openstudio-extension-gem/pull/139 ), fix swh_src assignment operators
13
- - Fixed [#142]( https://github.com/NREL/openstudio-extension-gem/pull/142 ), added arg for hoo_var_method and updated test to use it
17
+ * Fixed [#133]( https://github.com/NREL/openstudio-extension-gem/pull/133 ), cleanup readme and rework BCL tasks
18
+ * Fixed [#135]( https://github.com/NREL/openstudio-extension-gem/pull/135 ), Intersect tests 072021
19
+ * Fixed [#136]( https://github.com/NREL/openstudio-extension-gem/pull/136 ), Osm from haystack
20
+ * Fixed [#137]( https://github.com/NREL/openstudio-extension-gem/issues/137 ), Edge case error in hospital bar
21
+ * Fixed [#138]( https://github.com/NREL/openstudio-extension-gem/issues/138 ), os_lib_model_generation does not assign SWH type correctly
22
+ * Fixed [#139]( https://github.com/NREL/openstudio-extension-gem/pull/139 ), fix swh_src assignment operators
23
+ * Fixed [#142]( https://github.com/NREL/openstudio-extension-gem/pull/142 ), added arg for hoo_var_method and updated test to use it
14
24
 
15
25
  ## Version 0.4.4
16
26
 
data/Gemfile CHANGED
@@ -6,3 +6,5 @@ source 'http://rubygems.org'
6
6
  # gem 'openstudio-standards', github: 'NREL/openstudio-standards', branch: 'fix/901_2016_2019_properties' # for os_lib unit tests
7
7
 
8
8
  gemspec
9
+
10
+ #gem 'openstudio-standards', '= 0.2.17.rc1', :github => 'NREL/openstudio-standards', :ref => '3.5.0_changes'
data/Jenkinsfile CHANGED
@@ -1,6 +1,6 @@
1
1
  //Jenkins pipelines are stored in shared libaries. Please see: https://github.com/NREL/cbci_jenkins_libs
2
2
 
3
- @Library('cbci_shared_libs') _
3
+ @Library('cbci_shared_libs@3.5.0-alpha') _
4
4
 
5
5
  // Build for PR to develop branch only.
6
6
  if ((env.CHANGE_ID) && (env.CHANGE_TARGET) ) { // check if set
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2022, 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:
data/README.md CHANGED
@@ -85,6 +85,9 @@ export RUBYLIB=/Applications/OpenStudio-3.1.0/Ruby
85
85
 
86
86
  |OpenStudio Extension Gem|OpenStudio|Ruby|
87
87
  |:--------------:|:----------:|:--------:|
88
+ | 0.6.0 | 3.5 | 2.7 |
89
+ | 0.5.1 | 3.4 | 2.7 |
90
+ | 0.5.1 | 3.3 | 2.7 |
88
91
  | 0.4.0 - 0.4.4 | 3.2 | 2.7 |
89
92
  | 0.3.0 - 0.3.2 | 3.1 | 2.5 |
90
93
  | 0.2.0 - 0.2.6 | 3.0 | 2.5 |
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  ########################################################################################################################
2
- # openstudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
+ # openstudio(R), Copyright (c) 2008-2022, Alliance for Sustainable Energy, LLC. All rights reserved.
3
3
  #
4
4
  # Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
5
5
  # following conditions are met:
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2022, 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,6 +1,6 @@
1
1
  <%
2
2
  # *******************************************************************************
3
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
+ # OpenStudio(R), Copyright (c) 2008-2022, Alliance for Sustainable Energy, LLC.
4
4
  # All rights reserved.
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions are met:
@@ -1,4 +1,4 @@
1
1
  /* @preserve
2
- * OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
+ * OpenStudio(R), Copyright (c) 2008-2022, Alliance for Sustainable Energy, LLC. All rights reserved.
3
3
  * Use of this source code is governed by a BSD-style license that can be found at openstudio.net/license.
4
4
  */
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
data/lib/change_log.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -1,4 +1,4 @@
1
- OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008-2022, 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-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -85,7 +85,7 @@ module OsLib_QAQC
85
85
  if use_old_gem_code
86
86
  climate_zone = @model.get_building_climate_zone_and_building_type['climate_zone']
87
87
  else
88
- climate_zone = std.model_get_building_climate_zone_and_building_type(@model)['climate_zone']
88
+ climate_zone = std.model_get_building_properties(@model)['climate_zone']
89
89
  end
90
90
 
91
91
  if use_old_gem_code
@@ -286,10 +286,10 @@ module OsLib_QAQC
286
286
  # DX Cooling Coils (Single Speed)
287
287
  @model.getCoilCoolingDXSingleSpeeds.each do |equip|
288
288
  # Get the design coil capacity
289
- if equip.ratedTotalCoolingCapacity.is_initialized
290
- dsn_pwr = equip.ratedTotalCoolingCapacity.get
291
- elsif equip.autosizedRatedTotalCoolingCapacity.is_initialized
292
- dsn_pwr = equip.autosizedRatedTotalCoolingCapacity.get
289
+ if equip.grossRatedTotalCoolingCapacity.is_initialized
290
+ dsn_pwr = equip.grossRatedTotalCoolingCapacity.get
291
+ elsif equip.autosizedGrossRatedTotalCoolingCapacity.is_initialized
292
+ dsn_pwr = equip.autosizedGrossRatedTotalCoolingCapacity.get
293
293
  else
294
294
  check_elems << OpenStudio::Attribute.new('flag', "Could not determine capacity for #{equip.name}, cannot check part load ratios.")
295
295
  next
@@ -821,7 +821,7 @@ module OsLib_HVAC
821
821
  # create air loop fan
822
822
  if options['primaryHVAC']['fan'] == 'Variable'
823
823
  # create variable speed fan and set system sizing accordingly
824
- sizing_system.setMinimumSystemAirFlowRatio(0.3) # DCV
824
+ sizing_system.setCentralHeatingMaximumSystemAirFlowRatio(0.3) # DCV
825
825
  # variable speed fan
826
826
  fan = OpenStudio::Model::FanVariableVolume.new(model, model.alwaysOnDiscreteSchedule)
827
827
  fan.setFanEfficiency(0.69)
@@ -832,7 +832,7 @@ module OsLib_HVAC
832
832
  fan.setMotorInAirstreamFraction(1.0)
833
833
  air_loop_comps << fan
834
834
  else
835
- sizing_system.setMinimumSystemAirFlowRatio(1.0) # No DCV
835
+ sizing_system.setCentralHeatingMaximumSystemAirFlowRatio(1.0) # No DCV
836
836
  # constant speed fan
837
837
  fan = OpenStudio::Model::FanConstantVolume.new(model, model.alwaysOnDiscreteSchedule)
838
838
  fan.setFanEfficiency(0.6)
@@ -1084,13 +1084,13 @@ module OsLib_HVAC
1084
1084
  sizing_system.setTypeofLoadtoSizeOn('Sensible') # PSZ
1085
1085
  sizing_system.setAllOutdoorAirinCooling(false) # PSZ
1086
1086
  sizing_system.setAllOutdoorAirinHeating(false) # PSZ
1087
- sizing_system.setMinimumSystemAirFlowRatio(1.0) # Constant volume fan
1087
+ sizing_system.setCentralHeatingMaximumSystemAirFlowRatio(1.0) # Constant volume fan
1088
1088
  air_loop_comps = []
1089
1089
  # set availability schedule (HVAC operation schedule)
1090
1090
  airloop_secondary.setAvailabilitySchedule(options['hvac_schedule'])
1091
1091
  if options['secondaryHVAC']['fan'] == 'Variable'
1092
1092
  # create variable speed fan and set system sizing accordingly
1093
- sizing_system.setMinimumSystemAirFlowRatio(0.3) # DCV
1093
+ sizing_system.setCentralHeatingMaximumSystemAirFlowRatio(0.3) # DCV
1094
1094
  # variable speed fan
1095
1095
  fan = OpenStudio::Model::FanVariableVolume.new(model, model.alwaysOnDiscreteSchedule)
1096
1096
  fan.setFanEfficiency(0.69)
@@ -1101,7 +1101,7 @@ module OsLib_HVAC
1101
1101
  fan.setMotorInAirstreamFraction(1.0)
1102
1102
  air_loop_comps << fan
1103
1103
  else
1104
- sizing_system.setMinimumSystemAirFlowRatio(1.0) # No DCV
1104
+ sizing_system.setCentralHeatingMaximumSystemAirFlowRatio(1.0) # No DCV
1105
1105
  # constant speed fan
1106
1106
  fan = OpenStudio::Model::FanConstantVolume.new(model, model.alwaysOnDiscreteSchedule)
1107
1107
  fan.setFanEfficiency(0.6)
@@ -1352,36 +1352,58 @@ module OsLib_HVAC
1352
1352
  # create cooling coil and connect to heat pump loop
1353
1353
  cooling_coil = OpenStudio::Model::CoilCoolingWaterToAirHeatPumpEquationFit.new(model)
1354
1354
  cooling_coil.setRatedCoolingCoefficientofPerformance(6.45)
1355
- cooling_coil.setTotalCoolingCapacityCoefficient1(-9.149069561)
1356
- cooling_coil.setTotalCoolingCapacityCoefficient2(10.87814026)
1357
- cooling_coil.setTotalCoolingCapacityCoefficient3(-1.718780157)
1358
- cooling_coil.setTotalCoolingCapacityCoefficient4(0.746414818)
1359
- cooling_coil.setTotalCoolingCapacityCoefficient5(0.0)
1360
- cooling_coil.setSensibleCoolingCapacityCoefficient1(-5.462690012)
1361
- cooling_coil.setSensibleCoolingCapacityCoefficient2(17.95968138)
1362
- cooling_coil.setSensibleCoolingCapacityCoefficient3(-11.87818402)
1363
- cooling_coil.setSensibleCoolingCapacityCoefficient4(-0.980163419)
1364
- cooling_coil.setSensibleCoolingCapacityCoefficient5(0.767285761)
1365
- cooling_coil.setSensibleCoolingCapacityCoefficient6(0.0)
1366
- cooling_coil.setCoolingPowerConsumptionCoefficient1(-3.205409884)
1367
- cooling_coil.setCoolingPowerConsumptionCoefficient2(-0.976409399)
1368
- cooling_coil.setCoolingPowerConsumptionCoefficient3(3.97892546)
1369
- cooling_coil.setCoolingPowerConsumptionCoefficient4(0.938181818)
1370
- cooling_coil.setCoolingPowerConsumptionCoefficient5(0.0)
1355
+
1356
+ curve = OpenStudio::Model::CurveQuadLinear.new(model)
1357
+ curve.setName("#{cooling_coil.name}_tot_clg_cap_curve")
1358
+ curve.setCoefficient1Constant(-9.149069561)
1359
+ curve.setCoefficient2w(10.87814026)
1360
+ curve.setCoefficient3x(-1.718780157)
1361
+ curve.setCoefficient4y(0.746414818)
1362
+ curve.setCoefficient5z(0.0)
1363
+ cooling_coil.setTotalCoolingCapacityCurve(curve)
1364
+
1365
+ curve = OpenStudio::Model::CurveQuintLinear.new(model)
1366
+ curve.setName("#{cooling_coil.name}_sens_clg_cap_curve")
1367
+ curve.setCoefficient1Constant(-5.462690012)
1368
+ curve.setCoefficient2v(17.95968138)
1369
+ curve.setCoefficient3w(-11.87818402)
1370
+ curve.setCoefficient4x(-0.980163419)
1371
+ curve.setCoefficient5y(0.767285761)
1372
+ curve.setCoefficient6z(0.0)
1373
+ cooling_coil.setSensibleCoolingCapacityCurve(curve)
1374
+
1375
+ curve = OpenStudio::Model::CurveQuadLinear.new(model)
1376
+ curve.setName("#{cooling_coil.name}_clg_pwr_consu_curve")
1377
+ curve.setCoefficient1Constant(-3.205409884)
1378
+ curve.setCoefficient2w(-0.976409399)
1379
+ curve.setCoefficient3x(3.97892546)
1380
+ curve.setCoefficient4y(0.938181818)
1381
+ curve.setCoefficient5z(0.0)
1382
+ cooling_coil.setCoolingPowerConsumptionCurve(curve)
1383
+
1371
1384
  options['heat_pump_loop'].addDemandBranchForComponent(cooling_coil)
1372
1385
  # create heating coil and connect to heat pump loop
1373
1386
  heating_coil = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit.new(model)
1374
1387
  heating_coil.setRatedHeatingCoefficientofPerformance(4.0)
1375
- heating_coil.setHeatingCapacityCoefficient1(-1.361311959)
1376
- heating_coil.setHeatingCapacityCoefficient2(-2.471798046)
1377
- heating_coil.setHeatingCapacityCoefficient3(4.173164514)
1378
- heating_coil.setHeatingCapacityCoefficient4(0.640757401)
1379
- heating_coil.setHeatingCapacityCoefficient5(0.0)
1380
- heating_coil.setHeatingPowerConsumptionCoefficient1(-2.176941116)
1381
- heating_coil.setHeatingPowerConsumptionCoefficient2(0.832114286)
1382
- heating_coil.setHeatingPowerConsumptionCoefficient3(1.570743399)
1383
- heating_coil.setHeatingPowerConsumptionCoefficient4(0.690793651)
1384
- heating_coil.setHeatingPowerConsumptionCoefficient5(0.0)
1388
+
1389
+ curve = OpenStudio::Model::CurveQuadLinear.new(model)
1390
+ curve.setName("#{heating_coil.name}_htg_cap_curve")
1391
+ curve.setCoefficient1Constant(-1.361311959)
1392
+ curve.setCoefficient2w(-2.471798046)
1393
+ curve.setCoefficient3x(4.173164514)
1394
+ curve.setCoefficient4y(0.640757401)
1395
+ curve.setCoefficient5z(0.0)
1396
+ heating_coil.setHeatingCapacityCurve(curve)
1397
+
1398
+ curve = OpenStudio::Model::CurveQuadLinear.new(model)
1399
+ curve.setName("#{heating_coil.name}_htg_pwr_consu_curve")
1400
+ curve.setCoefficient1Constant(-2.176941116)
1401
+ curve.setCoefficient2w(0.832114286)
1402
+ curve.setCoefficient3x(1.570743399)
1403
+ curve.setCoefficient4y(0.690793651)
1404
+ curve.setCoefficient5z(0.0)
1405
+ heating_coil.setHeatingPowerConsumptionCurve(curve)
1406
+
1385
1407
  options['heat_pump_loop'].addDemandBranchForComponent(heating_coil)
1386
1408
  # create supplemental heating coil
1387
1409
  supplemental_heating_coil = OpenStudio::Model::CoilHeatingElectric.new(model, model.alwaysOnDiscreteSchedule)
@@ -89,6 +89,8 @@ module OsLib_ModelGeneration
89
89
  array << 'LargeDataCenterHighITE'
90
90
  array << 'SmallDataCenterLowITE'
91
91
  array << 'SmallDataCenterHighITE'
92
+ array << 'Courthouse'
93
+ array << 'College'
92
94
 
93
95
  return array
94
96
  end
@@ -169,6 +171,8 @@ module OsLib_ModelGeneration
169
171
  array << 'ComStock 90.1-2007'
170
172
  array << 'ComStock 90.1-2010'
171
173
  array << 'ComStock 90.1-2013'
174
+ array << 'ComStock 90.1-2016'
175
+ array << 'ComStock 90.1-2019'
172
176
  if extended
173
177
  # array << '189.1-2009' # if turn this on need to update space_type_array for RetailStripmall
174
178
  array << 'NREL ZNE Ready 2017'
@@ -375,6 +379,10 @@ module OsLib_ModelGeneration
375
379
  hash['SmallDataCenterLowITE'] = { aspect_ratio: 1.5, wwr: 0.0, typical_story: 14.0, perim_mult: 1.0 }
376
380
  hash['SmallDataCenterHighITE'] = { aspect_ratio: 1.5, wwr: 0.0, typical_story: 14.0, perim_mult: 1.0 }
377
381
 
382
+ # Add Courthouse and Education
383
+ hash['Courthouse'] = { aspect_ratio: 2.06, wwr: 0.18, typical_story: 16.0, perim_mult: 1.0 }
384
+ hash['College'] = { aspect_ratio: 2.5, wwr: 0.037, typical_story: 13.0, perim_mult: 1.0 }
385
+
378
386
  # DEER Prototypes
379
387
  hash['Asm'] = { aspect_ratio: 1.0, wwr: 0.19, typical_story: 15.0 }
380
388
  hash['ECC'] = { aspect_ratio: 4.0, wwr: 0.25, typical_story: 13.0 }
@@ -646,7 +654,7 @@ module OsLib_ModelGeneration
646
654
  hash['Cafe'] = { ratio: 0.0103, space_type_gen: true, default: false }
647
655
  hash['CleanWork'] = { ratio: 0.0071, space_type_gen: true, default: false }
648
656
  hash['Conference'] = { ratio: 0.0082, space_type_gen: true, default: false }
649
- hash['DresingRoom'] = { ratio: 0.0021, space_type_gen: true, default: false }
657
+ hash['DressingRoom'] = { ratio: 0.0021, space_type_gen: true, default: false }
650
658
  hash['Elec/MechRoom'] = { ratio: 0.0109, space_type_gen: true, default: false }
651
659
  hash['ElevatorPumpRoom'] = { ratio: 0.0022, space_type_gen: true, default: false }
652
660
  hash['Exam'] = { ratio: 0.1029, space_type_gen: true, default: true }
@@ -699,6 +707,44 @@ module OsLib_ModelGeneration
699
707
  hash['ComputerRoom'] = { ratio: 1.0, space_type_gen: true, default: true }
700
708
  elsif building_type == 'SmallDataCenterLowITE'
701
709
  hash['ComputerRoom'] = { ratio: 1.0, space_type_gen: true, default: true }
710
+ elsif building_type == 'Courthouse'
711
+ hash['Courthouse - Break Room'] = { ratio: 0.0067, space_type_gen: true, default: false }
712
+ hash['Courthouse - Cell'] = { ratio: 0.0731, space_type_gen: true, default: false }
713
+ hash['Courthouse - Conference'] = { ratio: 0.0203, space_type_gen: true, default: false }
714
+ hash['Courthouse - Corridor'] = { ratio: 0.0829, space_type_gen: true, default: false }
715
+ hash['Courthouse - Courtroom'] = { ratio: 0.1137, space_type_gen: true, default: false }
716
+ hash['Courthouse - Courtroom Waiting'] = { ratio: 0.051, space_type_gen: true, default: false }
717
+ hash['Courthouse - Elevator Lobby'] = { ratio: 0.0085, space_type_gen: true, default: false }
718
+ hash['Courthouse - Elevator Shaft'] = { ratio: 0.0047, space_type_gen: true, default: false }
719
+ hash['Courthouse - Entrance Lobby'] = { ratio: 0.0299, space_type_gen: true, default: false }
720
+ hash['Courthouse - Judges Chamber'] = { ratio: 0.0261, space_type_gen: true, default: false }
721
+ hash['Courthouse - Jury Assembly'] = { ratio: 0.0355, space_type_gen: true, default: false }
722
+ hash['Courthouse - Jury Deliberation'] = { ratio: 0.0133, space_type_gen: true, default: false }
723
+ hash['Courthouse - Library'] = { ratio: 0.0302, space_type_gen: true, default: false }
724
+ hash['Courthouse - Office'] = { ratio: 0.1930, space_type_gen: true, default: true }
725
+ hash['Courthouse - Parking'] = { ratio: 0.1083, space_type_gen: true, default: false }
726
+ hash['Courthouse - Restrooms'] = { ratio: 0.04, space_type_gen: true, default: false }
727
+ hash['Courthouse - Security Screening'] = { ratio: 0.0132, space_type_gen: true, default: false }
728
+ hash['Courthouse - Service Shaft'] = { ratio: 0.0019, space_type_gen: true, default: false }
729
+ hash['Courthouse - Stairs'] = { ratio: 0.0111, space_type_gen: true, default: false }
730
+ hash['Courthouse - Storage'] = { ratio: 0.0882, space_type_gen: true, default: false }
731
+ hash['Courthouse - Utility'] = { ratio: 0.0484, space_type_gen: true, default: false }
732
+ elsif building_type == 'College'
733
+ hash['College - Art Classroom'] = { ratio: 0.1868, space_type_gen: true, default: false }
734
+ hash['College - Classroom'] = { ratio: 0.2348, space_type_gen: true, default: true }
735
+ hash['College - Conference'] = { ratio: 0.0215, space_type_gen: true, default: false }
736
+ hash['College - Corridor'] = { ratio: 0.0716, space_type_gen: true, default: false }
737
+ hash['College - Elevator Shaft'] = { ratio: 0.0074, space_type_gen: true, default: false }
738
+ hash['College - Entrance Lobby'] = { ratio: 0.0117, space_type_gen: true, default: false }
739
+ hash['College - Laboratory'] = { ratio: 0.0843, space_type_gen: true, default: false }
740
+ hash['College - Lecture Hall'] = { ratio: 0.0421, space_type_gen: true, default: false }
741
+ hash['College - Lounge'] = { ratio: 0.028, space_type_gen: true, default: false }
742
+ hash['College - Media Center'] = { ratio: 0.0421, space_type_gen: true, default: false }
743
+ hash['College - Office'] = { ratio: 0.1894, space_type_gen: true, default: false }
744
+ hash['College - Restroom'] = { ratio: 0.0363, space_type_gen: true, default: false }
745
+ hash['College - Stairs'] = { ratio: 0.0272, space_type_gen: true, default: false }
746
+ hash['College - Storage'] = { ratio: 0.0117, space_type_gen: true, default: false }
747
+ hash['College - Utility'] = { ratio: 0.0051, space_type_gen: true, default: false }
702
748
  # DEER Prototypes
703
749
  elsif building_type == 'Asm'
704
750
  hash['Auditorium'] = { ratio: 0.7658, space_type_gen: true, default: true }
@@ -1146,13 +1192,13 @@ module OsLib_ModelGeneration
1146
1192
  spaces_temp = OpenStudio::Model::SpaceVector.new
1147
1193
  spaces_temp << space_a
1148
1194
  spaces_temp << space_b
1149
- # disable until enhanced intersectio nand matching, will make walls adiabatic and exterior within create_bar workflow
1195
+ # attempt to intersect and match walls on a story, but later secondary match will look for missted matches and turn them to adiabaitc
1150
1196
  # intersect and sort
1151
- # OpenStudio::Model.intersectSurfaces(spaces_temp)
1152
- # OpenStudio::Model.matchSurfaces(spaces_temp)
1197
+ OpenStudio::Model.intersectSurfaces(spaces_temp)
1198
+ OpenStudio::Model.matchSurfaces(spaces_temp)
1153
1199
  end
1154
1200
  end
1155
- runner.registerInfo("Intersecting and matching surfaces in story #{story.name}, this will create additional geometry.")
1201
+ runner.registerInfo("Intersecting and matching surfaces in story #{story.name}, this will create additional geometry. Diagnstoic intersection and matching done a in paris of spaces.")
1156
1202
  end
1157
1203
  end
1158
1204
 
@@ -1173,11 +1219,11 @@ module OsLib_ModelGeneration
1173
1219
  story.spaces.sort.each do |space|
1174
1220
  story_spaces << space
1175
1221
  end
1176
- # disable until enhanced intersectio nand matching, will make walls adiabatic and exterior within create_bar workflow
1222
+ # attempt to intersect and match walls on a story, but later secondary match will look for missted matches and turn them to adiabaitc
1177
1223
  # intersect and sort
1178
- # OpenStudio::Model.intersectSurfaces(story_spaces)
1179
- # OpenStudio::Model.matchSurfaces(story_spaces)
1180
- #runner.registerInfo("Intersecting and matching surfaces in story #{story.name}, this will create additional geometry.")
1224
+ OpenStudio::Model.intersectSurfaces(story_spaces)
1225
+ OpenStudio::Model.matchSurfaces(story_spaces)
1226
+ runner.registerInfo("Intersecting and matching surfaces in story #{story.name}, this will create additional geometry.")
1181
1227
  end
1182
1228
  end
1183
1229
 
@@ -1205,7 +1251,9 @@ module OsLib_ModelGeneration
1205
1251
  runner.registerInfo("Finding non-exterior walls and setting boundary condition to adiabatic")
1206
1252
 
1207
1253
  # need to organize by story incase top story is partial story
1254
+ # should also be only for a single bar
1208
1255
  story_bounding = {}
1256
+ missed_match_count = 0
1209
1257
 
1210
1258
  # gather new spaces by story
1211
1259
  new_spaces.each do |space|
@@ -1238,6 +1286,7 @@ module OsLib_ModelGeneration
1238
1286
  v[:spaces].each do |space|
1239
1287
  space.surfaces.each do |space_surface|
1240
1288
  next if not space_surface.surfaceType == "Wall"
1289
+ next if space_surface.outsideBoundaryCondition == "Surface" # if if found a match leave it alone, don't change to adiabiatc
1241
1290
  surface_bounding_box = OpenStudio::BoundingBox.new
1242
1291
  surface_bounding_box.addPoints(space.transformation * space_surface.vertices)
1243
1292
  surface_on_outside = false
@@ -1253,10 +1302,16 @@ module OsLib_ModelGeneration
1253
1302
  # change if not exterior
1254
1303
  if !surface_on_outside
1255
1304
  space_surface.setOutsideBoundaryCondition("Adiabatic")
1305
+ missed_match_count += 1
1256
1306
  end
1257
1307
  end
1258
1308
  end
1259
1309
  end
1310
+
1311
+ if missed_match_count > 0
1312
+ runner.registerInfo("#{missed_match_count} surfaces that were exterior appear to be interior walls and had boundary condition chagned to adiabiatic.")
1313
+ end
1314
+
1260
1315
  end
1261
1316
 
1262
1317
  # sort stories (by name for now but need better way)
@@ -2764,7 +2819,7 @@ module OsLib_ModelGeneration
2764
2819
 
2765
2820
  # validate climate zone
2766
2821
  if !args.key?('climate_zone') || args['climate_zone'] == 'Lookup From Model'
2767
- climate_zone = standard.model_get_building_climate_zone_and_building_type(model)['climate_zone']
2822
+ climate_zone = standard.model_get_building_properties(model)['climate_zone']
2768
2823
  runner.registerInfo("Using climate zone #{climate_zone} from model")
2769
2824
  else
2770
2825
  climate_zone = args['climate_zone']
@@ -3430,9 +3485,6 @@ module OsLib_ModelGeneration
3430
3485
  # mapping building_type name is needed for a few methods
3431
3486
  lookup_building_type = standard.model_get_lookup_name(building_type)
3432
3487
 
3433
- # remap small medium and large office to office
3434
- if building_type.include?('Office') then building_type = 'Office' end
3435
-
3436
3488
  # get array of new space types
3437
3489
  space_types_new = []
3438
3490
 
@@ -3448,14 +3500,14 @@ module OsLib_ModelGeneration
3448
3500
 
3449
3501
  # create space type
3450
3502
  space_type = OpenStudio::Model::SpaceType.new(model)
3451
- space_type.setStandardsBuildingType(building_type)
3503
+ space_type.setStandardsBuildingType(lookup_building_type)
3452
3504
  space_type.setStandardsSpaceType(space_type_name)
3453
- space_type.setName("#{building_type} #{space_type_name}")
3505
+ space_type.setName("#{lookup_building_type} #{space_type_name}")
3454
3506
 
3455
3507
  # add to array of new space types
3456
3508
  space_types_new << space_type
3457
3509
 
3458
- # add internal loads (the nil check isn't ncessary, but I will keep it in as a warning instad of an error)
3510
+ # add internal loads (the nil check isn't necessary, but I will keep it in as a warning instad of an error)
3459
3511
  test = standard.space_type_apply_internal_loads(space_type, true, true, true, true, true, true)
3460
3512
  if test.nil?
3461
3513
  runner.registerWarning("Could not add loads for #{space_type.name}. Not expected for #{template} #{lookup_building_type}")
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -35,6 +35,6 @@
35
35
 
36
36
  module OpenStudio
37
37
  module Extension
38
- VERSION = '0.5.0'.freeze
38
+ VERSION = '0.6.0.rc1'.freeze
39
39
  end
40
40
  end
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -87,6 +87,7 @@ module OpenStudio
87
87
  # do not call Bundler.require when requiring this file, only when calling this method
88
88
  result = []
89
89
  ObjectSpace.each_object(::Class) do |obj|
90
+
90
91
  next if !obj.ancestors.include?(OpenStudio::Extension::Extension)
91
92
 
92
93
  result << obj
@@ -1,5 +1,5 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
2
+ # OpenStudio(R), Copyright (c) 2008-2022, 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:
@@ -29,13 +29,13 @@ Gem::Specification.new do |spec|
29
29
  spec.required_ruby_version = '~> 2.7.0'
30
30
 
31
31
  spec.add_dependency 'bcl', '~> 0.7.1'
32
- spec.add_dependency 'bundler', '>= 2.1.0'
32
+ spec.add_dependency 'bundler', '~> 2.1.0'
33
33
  spec.add_dependency 'octokit', '~> 4.18.0' # for change logs
34
34
  spec.add_dependency 'openstudio_measure_tester', '~> 0.3.1'
35
35
  spec.add_dependency 'openstudio-workflow', '~> 2.3.0'
36
36
  spec.add_dependency 'parallel', '~> 1.19.1'
37
37
 
38
- spec.add_development_dependency 'openstudio-standards', '~> 0.2.13' # for os_lib unit tests
38
+ spec.add_development_dependency 'openstudio-standards', '~> 0.2.17.rc2' # for os_lib unit tests
39
39
  spec.add_development_dependency 'rake', '~> 13.0'
40
40
  spec.add_development_dependency 'rspec', '~> 3.9'
41
41
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstudio-extension
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katherine Fleming
8
8
  - Nicholas Long
9
9
  - Daniel Macumber
10
10
  - David Goldwasser
11
- autorequire:
11
+ autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2021-10-21 00:00:00.000000000 Z
14
+ date: 2022-10-21 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bcl
@@ -31,14 +31,14 @@ dependencies:
31
31
  name: bundler
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - ">="
34
+ - - "~>"
35
35
  - !ruby/object:Gem::Version
36
36
  version: 2.1.0
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - ">="
41
+ - - "~>"
42
42
  - !ruby/object:Gem::Version
43
43
  version: 2.1.0
44
44
  - !ruby/object:Gem::Dependency
@@ -103,14 +103,14 @@ dependencies:
103
103
  requirements:
104
104
  - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: 0.2.13
106
+ version: 0.2.17.rc2
107
107
  type: :development
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - "~>"
112
112
  - !ruby/object:Gem::Version
113
- version: 0.2.13
113
+ version: 0.2.17.rc2
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rake
116
116
  requirement: !ruby/object:Gem::Requirement
@@ -233,8 +233,8 @@ licenses: []
233
233
  metadata:
234
234
  bug_tracker_uri: https://github.com/NREL/openstudio-extension-gem/issues
235
235
  changelog_uri: https://github.com/NREL/openstudio-extension-gem/blob/develop/CHANGELOG.md
236
- source_code_uri: https://github.com/NREL/openstudio-extension-gem/tree/v0.5.0
237
- post_install_message:
236
+ source_code_uri: https://github.com/NREL/openstudio-extension-gem/tree/v0.6.0.rc1
237
+ post_install_message:
238
238
  rdoc_options: []
239
239
  require_paths:
240
240
  - lib
@@ -245,12 +245,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
245
245
  version: 2.7.0
246
246
  required_rubygems_version: !ruby/object:Gem::Requirement
247
247
  requirements:
248
- - - ">="
248
+ - - ">"
249
249
  - !ruby/object:Gem::Version
250
- version: '0'
250
+ version: 1.3.1
251
251
  requirements: []
252
252
  rubygems_version: 3.1.4
253
- signing_key:
253
+ signing_key:
254
254
  specification_version: 4
255
255
  summary: openstudio base gem for creating generic extensions with encapsulated data
256
256
  and measures.