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 +4 -4
- data/CHANGELOG.md +18 -8
- data/Gemfile +2 -0
- data/Jenkinsfile +1 -1
- data/LICENSE.md +1 -1
- data/README.md +3 -0
- data/Rakefile +1 -1
- data/doc_templates/LICENSE.md +1 -1
- data/doc_templates/copyright_erb.txt +1 -1
- data/doc_templates/copyright_js.txt +1 -1
- data/doc_templates/copyright_ruby.txt +1 -1
- data/init_templates/openstudio_module.rb +1 -1
- data/init_templates/spec.rb +1 -1
- data/init_templates/spec_helper.rb +1 -1
- data/init_templates/version.rb +1 -1
- data/lib/change_log.rb +1 -1
- data/lib/measures/openstudio_extension_test_measure/LICENSE.md +1 -1
- data/lib/measures/openstudio_extension_test_measure/measure.rb +1 -1
- data/lib/measures/openstudio_extension_test_measure/resources/os_lib_helper_methods.rb +1 -1
- data/lib/openstudio/extension/core/check_mech_sys_type.rb +1 -1
- data/lib/openstudio/extension/core/check_part_loads.rb +4 -4
- data/lib/openstudio/extension/core/os_lib_hvac.rb +53 -31
- data/lib/openstudio/extension/core/os_lib_model_generation.rb +68 -16
- data/lib/openstudio/extension/rake_task.rb +1 -1
- data/lib/openstudio/extension/runner.rb +1 -1
- data/lib/openstudio/extension/runner_config.rb +1 -1
- data/lib/openstudio/extension/version.rb +2 -2
- data/lib/openstudio/extension.rb +2 -1
- data/lib/openstudio-extension.rb +1 -1
- data/openstudio-extension.gemspec +2 -2
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 523a398338a5d93b39e33c434d2d23da38bf498a3f49c98fd761782921dc2d8d
|
4
|
+
data.tar.gz: 4f5d6547b2473c213182e17ee1367b97b1c9096bfbf7b887c1fdeaaab39ed311
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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-
|
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-
|
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:
|
data/doc_templates/LICENSE.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
OpenStudio(R), Copyright (c) 2008-
|
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-
|
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-
|
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-
|
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-
|
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/init_templates/spec.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# *******************************************************************************
|
2
|
-
# OpenStudio(R), Copyright (c) 2008-
|
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-
|
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/init_templates/version.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# *******************************************************************************
|
2
|
-
# OpenStudio(R), Copyright (c) 2008-
|
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-
|
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-
|
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-
|
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-
|
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.
|
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.
|
290
|
-
dsn_pwr = equip.
|
291
|
-
elsif equip.
|
292
|
-
dsn_pwr = equip.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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
|
-
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
|
1361
|
-
|
1362
|
-
|
1363
|
-
cooling_coil.
|
1364
|
-
|
1365
|
-
|
1366
|
-
|
1367
|
-
|
1368
|
-
|
1369
|
-
|
1370
|
-
|
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
|
-
|
1376
|
-
|
1377
|
-
|
1378
|
-
|
1379
|
-
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1383
|
-
heating_coil.
|
1384
|
-
|
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['
|
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
|
-
#
|
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
|
-
|
1152
|
-
|
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
|
-
#
|
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
|
-
|
1179
|
-
|
1180
|
-
|
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.
|
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(
|
3503
|
+
space_type.setStandardsBuildingType(lookup_building_type)
|
3452
3504
|
space_type.setStandardsSpaceType(space_type_name)
|
3453
|
-
space_type.setName("#{
|
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
|
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-
|
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-
|
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-
|
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-
|
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.
|
38
|
+
VERSION = '0.6.0.rc1'.freeze
|
39
39
|
end
|
40
40
|
end
|
data/lib/openstudio/extension.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# *******************************************************************************
|
2
|
-
# OpenStudio(R), Copyright (c) 2008-
|
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
|
data/lib/openstudio-extension.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# *******************************************************************************
|
2
|
-
# OpenStudio(R), Copyright (c) 2008-
|
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', '
|
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.
|
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.
|
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:
|
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.
|
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.
|
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.
|
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:
|
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.
|