honeybee-openstudio 2.33.2 → 2.33.4

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: 9f0ab9bc81366ae4f3cecd686b7b84f27116f85d279f19b70debffcbfea19be4
4
- data.tar.gz: e3a6188aba6202306fee8a740469a1c0c2420bce2404f899df8371a8c7c2469f
3
+ metadata.gz: 450b27915cd3a6c85132220d29aa7a3289f7adcfd22d1917bb7ef77ca2813484
4
+ data.tar.gz: 6c78e0191422c5931c9ae976c2151c9f8f7c15b2b67f761ddc6fca30822b03c6
5
5
  SHA512:
6
- metadata.gz: ee8d75b9ac45f6de8187d1945988f880050faf2c762d643a36adf2e513a50931451e52e05b604ff19a476d9bfb43a3b50872d4cd2037f05471307bf617385fb3
7
- data.tar.gz: 54a8536d0fd02be9f1829776adc0b8eefc45dfaef920fed8cfc46feabac79777218a257fbdba3a88d195d77f137ec6fc6c22be5d2bef8ad197b3ca9e8ec67c15
6
+ metadata.gz: 27a76b0edd1eb349023133b5d9a59c3ab36ea223ac959c2e93bc7d34c1ebb32010a4bf6aa040787530e2606b2875697e93ddd86e23e6368c509864f3a14686a2
7
+ data.tar.gz: ad155d83f8ffa75cd56a56c49b386b0f61efbeaeca1f0a445e9a8280547fac0a4dd873df556b968a6ab7fa62172ebe78d721e6f5d0f0fe334d3be878a07ed1f5
@@ -15,8 +15,8 @@ jobs:
15
15
  run: |
16
16
  echo $(pwd)
17
17
  echo $(ls)
18
- docker pull nrel/openstudio:3.4.0
19
- docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.4.0
18
+ docker pull nrel/openstudio:3.5.0
19
+ docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.5.0
20
20
  docker exec -t test pwd
21
21
  docker exec -t test ls
22
22
  docker exec -t test bundle update
data/Gemfile CHANGED
@@ -7,7 +7,7 @@ gemspec
7
7
  if File.exist?('../OpenStudio-extension-gem') # local development copy
8
8
  gem 'openstudio-extension', path: '../OpenStudio-extension-gem'
9
9
  else # get it from rubygems.org
10
- gem 'openstudio-extension', '0.5.1'
10
+ gem 'openstudio-extension', '0.6.0'
11
11
  end
12
12
 
13
13
  # coveralls gem is used to generate coverage reports through CI
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'honeybee-openstudio'
7
- spec.version = '2.33.2'
7
+ spec.version = '2.33.4'
8
8
  spec.authors = ['Tanushree Charan', 'Dan Macumber', 'Chris Mackey', 'Mostapha Sadeghipour Roudsari']
9
9
  spec.email = ['tanushree.charan@nrel.gov', 'chris@ladybug.tools']
10
10
 
@@ -33,6 +33,6 @@ Gem::Specification.new do |spec|
33
33
  end
34
34
 
35
35
  spec.add_dependency 'json_pure'
36
- spec.add_dependency 'openstudio-extension', '0.5.1'
37
- spec.add_dependency 'openstudio-standards', '~> 0.2.15'
36
+ spec.add_dependency 'openstudio-extension', '0.6.0'
37
+ spec.add_dependency 'openstudio-standards', '~> 0.3.0'
38
38
  end
@@ -109,21 +109,5 @@ module Honeybee
109
109
  @@standards
110
110
  end
111
111
 
112
- # check if the model schema is valid
113
- def schema_valid?
114
- if Gem.loaded_specs.has_key?("json-schema")
115
- require 'json-schema'
116
- metaschema = JSON::Validator.validator_for_name('draft6').metaschema
117
- JSON::Validator.validate(metaschema, @@schema)
118
- end
119
- end
120
-
121
- # return detailed schema validation errors
122
- def schema_validation_errors
123
- if Gem.loaded_specs.has_key?("json-schema")
124
- metaschema = JSON::Validator.validator_for_name('draft6').metaschema
125
- JSON::Validator.fully_validate(metaschema, @@schema)
126
- end
127
- end
128
112
  end
129
113
  end
@@ -66,23 +66,6 @@ module Honeybee
66
66
  end
67
67
  end
68
68
 
69
- # check if the model is valid
70
- def valid?
71
- if Gem.loaded_specs.has_key?("json-schema")
72
- return validation_errors.empty?
73
- else
74
- return true
75
- end
76
- end
77
-
78
- # return detailed model validation errors
79
- def validation_errors
80
- if Gem.loaded_specs.has_key?("json-schema")
81
- require 'json-schema'
82
- JSON::Validator.fully_validate(@@schema, @hash, :fragment => "#/components/schemas/Model")
83
- end
84
- end
85
-
86
69
  def defaults
87
70
  @@schema[:components][:schemas][:ModelEnergyProperties][:properties]
88
71
  end
@@ -106,21 +106,6 @@ module Honeybee
106
106
  raise 'defaults not implemented for ModelObject, override in your class'
107
107
  end
108
108
 
109
- # check if the ModelObject is valid
110
- def valid?
111
- return validation_errors.empty?
112
- end
113
-
114
- # return detailed model validation errors
115
- def validation_errors
116
- if Gem.loaded_specs.has_key?("json-schema")
117
- require 'json-schema'
118
- # if this raises a 'Invalid fragment resolution for :fragment option' it is because @type
119
- # does not correspond to a definition in the schema
120
- JSON::Validator.fully_validate(@@schema, @hash, :fragment => "#/components/schemas/#{@type}")
121
- end
122
- end
123
-
124
109
  # remove illegal characters in identifier
125
110
  def self.clean_name(str)
126
111
  ascii = str.encode(Encoding.find('ASCII'), **@@encoding_options)
@@ -62,23 +62,6 @@ module Honeybee
62
62
  raise "Incorrect model type for SimulationParameter '#{@type}'" unless @type == 'SimulationParameter'
63
63
  end
64
64
 
65
- # check if the model is valid
66
- def valid?
67
- if Gem.loaded_specs.has_key?("json-schema")
68
- return validation_errors.empty?
69
- else
70
- return true
71
- end
72
- end
73
-
74
- # return detailed model validation errors
75
- def validation_errors
76
- if Gem.loaded_specs.has_key?("json-schema")
77
- require 'json-schema'
78
- JSON::Validator.fully_validate(@@schema, @hash, :fragment => "#/components/schemas/#{@type}")
79
- end
80
- end
81
-
82
65
  def defaults
83
66
  @@schema[:components][:schemas]
84
67
  end
@@ -80,10 +80,6 @@ class FromHoneybeeSimulationParameter < OpenStudio::Measure::ModelMeasure
80
80
 
81
81
  sim_par_object = Honeybee::SimulationParameter.read_from_disk(simulation_parameter_json)
82
82
 
83
- if !sim_par_object.valid?
84
- # runner.registerError("File '#{simulation_parameter_json}' is not valid")
85
- # return false
86
- end
87
83
  STDOUT.flush
88
84
  sim_par_object.to_openstudio_model(model)
89
85
  STDOUT.flush
@@ -345,8 +345,6 @@ class OpenStudio::Model::Model
345
345
  mat_roof_insulation.setName("Radiant Exterior Ceiling Insulation - #{(cz_mult + 1) * 2} in.")
346
346
 
347
347
  # create radiant internal source constructions
348
- OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Model.Model', 'New constructions exclude the metal deck, as high thermal diffusivity materials cause errors in EnergyPlus internal source construction calculations.')
349
-
350
348
  radiant_ground_slab_construction = nil
351
349
  radiant_exterior_slab_construction = nil
352
350
  radiant_interior_floor_slab_construction = nil
@@ -115,18 +115,23 @@ module Honeybee
115
115
  end
116
116
  end
117
117
 
118
- # set the efficiencies of supply components in the air loop
118
+ # set the efficiencies of fans to be reasonable for DOAS vs. All-Air loops
119
119
  if !os_air_loops.empty?
120
+ if equipment_type.to_s.include? 'DOAS'
121
+ fan_size = 0.2
122
+ else
123
+ fan_size = 2
124
+ end
120
125
  os_air_loops.each do |os_air_loop|
121
126
  # set the supply fan efficiency
122
127
  unless os_air_loop.supplyFan.empty?
123
128
  s_fan = os_air_loop.supplyFan.get
124
129
  s_fan = fan_from_component(s_fan)
125
130
  unless s_fan.nil?
126
- s_fan.setMaximumFlowRate(1)
131
+ s_fan.setMaximumFlowRate(fan_size) # set to a typical value
127
132
  standard.fan_apply_standard_minimum_motor_efficiency(
128
133
  s_fan, standard.fan_brake_horsepower(s_fan))
129
- s_fan.autosizeMaximumFlowRate()
134
+ s_fan.autosizeMaximumFlowRate() # set it back to autosize
130
135
  end
131
136
  end
132
137
  # set the return fan efficiency
@@ -134,31 +139,35 @@ module Honeybee
134
139
  ex_fan = os_air_loop.returnFan.get
135
140
  ex_fan = fan_from_component(ex_fan)
136
141
  unless ex_fan.nil?
137
- ex_fan.setMaximumFlowRate(1)
142
+ ex_fan.setMaximumFlowRate(fan_size) # set to a typical value
138
143
  standard.fan_apply_standard_minimum_motor_efficiency(
139
144
  ex_fan, standard.fan_brake_horsepower(ex_fan))
140
- ex_fan.autosizeMaximumFlowRate()
145
+ ex_fan.autosizeMaximumFlowRate() # set it back to autosize
141
146
  end
142
147
  end
143
148
  end
144
149
  end
145
150
 
146
- # get the boilers and assign the correct efficiency
151
+ # get the boilers and assign a reasonable efficiency (assuming 40kW boilers)
147
152
  if equipment_type.to_s.include? 'Boiler'
148
153
  openstudio_model.getBoilerHotWaters.sort.each do |obj|
149
- obj.setNominalCapacity(40000) # set to a dummy value for the method
154
+ obj.setNominalCapacity(40000) # set to a typical value
150
155
  standard.boiler_hot_water_apply_efficiency_and_curves(obj)
151
156
  obj.autosizeNominalCapacity() # set it back to autosize
152
157
  obj.setName(standard_id + ' Boiler')
153
158
  end
154
159
  end
155
160
 
156
- # get the chillers and assign a reasonable COP from the standard
161
+ # get the chillers and assign a reasonable COP (assuming 2000kW water-cooled; 600kW air-cooled)
157
162
  if equipment_type.to_s.include? 'Chiller'
158
- # set the chiller efficiency
163
+ if equipment_type.to_s.include? 'ACChiller'
164
+ chiller_size = 600000
165
+ else
166
+ chiller_size = 2000000
167
+ end
159
168
  clg_tower_objs = openstudio_model.getCoolingTowerSingleSpeeds
160
169
  openstudio_model.getChillerElectricEIRs.sort.each do |obj|
161
- obj.setReferenceCapacity(2000000) # set to a dummy value for method
170
+ obj.setReferenceCapacity(chiller_size) # set to a typical value
162
171
  if obj.name.empty?
163
172
  obj_name = standard_id + ' Chiller'
164
173
  else
@@ -170,7 +179,7 @@ module Honeybee
170
179
  end
171
180
  end
172
181
 
173
- # set the efficiency of any gas heaters
182
+ # set the efficiency of any gas heaters (assuming 10kW heaters)
174
183
  if equipment_type.to_s.include? 'GasHeaters'
175
184
  zones.each do |zon|
176
185
  zon.equipment.each do |equp|
@@ -179,7 +188,7 @@ module Honeybee
179
188
  coil = unit_heater.heatingCoil
180
189
  unless coil.to_CoilHeatingGas.empty?
181
190
  coil = coil.to_CoilHeatingGas.get
182
- coil.setNominalCapacity(10000) # set to a dummy value for method
191
+ coil.setNominalCapacity(10000) # set to a typical value
183
192
  standard.coil_heating_gas_apply_efficiency_and_curves(coil)
184
193
  coil.autosizeNominalCapacity() # set it back to autosize
185
194
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeybee-openstudio
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.33.2
4
+ version: 2.33.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanushree Charan
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2022-10-10 00:00:00.000000000 Z
14
+ date: 2022-11-27 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -117,28 +117,28 @@ dependencies:
117
117
  requirements:
118
118
  - - '='
119
119
  - !ruby/object:Gem::Version
120
- version: 0.5.1
120
+ version: 0.6.0
121
121
  type: :runtime
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - '='
126
126
  - !ruby/object:Gem::Version
127
- version: 0.5.1
127
+ version: 0.6.0
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: openstudio-standards
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  requirements:
132
132
  - - "~>"
133
133
  - !ruby/object:Gem::Version
134
- version: 0.2.15
134
+ version: 0.3.0
135
135
  type: :runtime
136
136
  prerelease: false
137
137
  version_requirements: !ruby/object:Gem::Requirement
138
138
  requirements:
139
139
  - - "~>"
140
140
  - !ruby/object:Gem::Version
141
- version: 0.2.15
141
+ version: 0.3.0
142
142
  description: Library and measures for translating between Honeybee JSON schema and
143
143
  OpenStudio Model schema (OSM).
144
144
  email: