honeybee-openstudio 2.33.2 → 2.33.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: