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 +4 -4
- data/.github/workflows/ci.yaml +2 -2
- data/Gemfile +1 -1
- data/honeybee-openstudio.gemspec +3 -3
- data/lib/honeybee/extension.rb +0 -16
- data/lib/honeybee/model.rb +0 -17
- data/lib/honeybee/model_object.rb +0 -15
- data/lib/honeybee/simulation/parameter_model.rb +0 -17
- data/lib/measures/from_honeybee_simulation_parameter/measure.rb +0 -4
- data/lib/to_openstudio/hvac/radiant.rb +0 -2
- data/lib/to_openstudio/hvac/template.rb +21 -12
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 450b27915cd3a6c85132220d29aa7a3289f7adcfd22d1917bb7ef77ca2813484
|
4
|
+
data.tar.gz: 6c78e0191422c5931c9ae976c2151c9f8f7c15b2b67f761ddc6fca30822b03c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27a76b0edd1eb349023133b5d9a59c3ab36ea223ac959c2e93bc7d34c1ebb32010a4bf6aa040787530e2606b2875697e93ddd86e23e6368c509864f3a14686a2
|
7
|
+
data.tar.gz: ad155d83f8ffa75cd56a56c49b386b0f61efbeaeca1f0a445e9a8280547fac0a4dd873df556b968a6ab7fa62172ebe78d721e6f5d0f0fe334d3be878a07ed1f5
|
data/.github/workflows/ci.yaml
CHANGED
@@ -15,8 +15,8 @@ jobs:
|
|
15
15
|
run: |
|
16
16
|
echo $(pwd)
|
17
17
|
echo $(ls)
|
18
|
-
docker pull nrel/openstudio:3.
|
19
|
-
docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.
|
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.
|
10
|
+
gem 'openstudio-extension', '0.6.0'
|
11
11
|
end
|
12
12
|
|
13
13
|
# coveralls gem is used to generate coverage reports through CI
|
data/honeybee-openstudio.gemspec
CHANGED
@@ -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.
|
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.
|
37
|
-
spec.add_dependency 'openstudio-standards', '~> 0.
|
36
|
+
spec.add_dependency 'openstudio-extension', '0.6.0'
|
37
|
+
spec.add_dependency 'openstudio-standards', '~> 0.3.0'
|
38
38
|
end
|
data/lib/honeybee/extension.rb
CHANGED
@@ -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
|
data/lib/honeybee/model.rb
CHANGED
@@ -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
|
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(
|
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(
|
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
|
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
|
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
|
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
|
-
|
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(
|
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
|
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.
|
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-
|
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.
|
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.
|
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.
|
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.
|
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:
|