honeybee-openstudio 0

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.
Files changed (130) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yaml +88 -0
  3. data/.gitignore +33 -0
  4. data/.releaserc.json +7 -0
  5. data/Gemfile +14 -0
  6. data/LICENSE.md +23 -0
  7. data/README.md +95 -0
  8. data/Rakefile +16 -0
  9. data/doc_templates/LICENSE.md +23 -0
  10. data/doc_templates/README.md.erb +42 -0
  11. data/doc_templates/copyright_erb.txt +32 -0
  12. data/doc_templates/copyright_js.txt +5 -0
  13. data/doc_templates/copyright_ruby.txt +30 -0
  14. data/honeybee-openstudio.gemspec +38 -0
  15. data/lib/files/Honeybee.rb +113 -0
  16. data/lib/files/honeybee_workflow.osw +48 -0
  17. data/lib/files/urbanopt_Gemfile +32 -0
  18. data/lib/from_openstudio.rb +49 -0
  19. data/lib/from_openstudio/geometry/aperture.rb +136 -0
  20. data/lib/from_openstudio/geometry/door.rb +136 -0
  21. data/lib/from_openstudio/geometry/face.rb +174 -0
  22. data/lib/from_openstudio/geometry/room.rb +121 -0
  23. data/lib/from_openstudio/geometry/shade.rb +87 -0
  24. data/lib/from_openstudio/model.rb +123 -0
  25. data/lib/from_openstudio/model_object.rb +43 -0
  26. data/lib/from_openstudio/simulation/design_day.rb +123 -0
  27. data/lib/from_openstudio/simulation/parameter_model.rb +93 -0
  28. data/lib/from_openstudio/simulation/simulation_output.rb +67 -0
  29. data/lib/honeybee.rb +93 -0
  30. data/lib/honeybee/_defaults/energy_default.json +1682 -0
  31. data/lib/honeybee/_defaults/model.json +11311 -0
  32. data/lib/honeybee/_defaults/simulation-parameter.json +973 -0
  33. data/lib/honeybee/construction/air.rb +42 -0
  34. data/lib/honeybee/construction/opaque.rb +42 -0
  35. data/lib/honeybee/construction/shade.rb +42 -0
  36. data/lib/honeybee/construction/window.rb +51 -0
  37. data/lib/honeybee/construction/windowshade.rb +43 -0
  38. data/lib/honeybee/construction_set.rb +42 -0
  39. data/lib/honeybee/extension.rb +129 -0
  40. data/lib/honeybee/geometry/aperture.rb +42 -0
  41. data/lib/honeybee/geometry/door.rb +42 -0
  42. data/lib/honeybee/geometry/face.rb +48 -0
  43. data/lib/honeybee/geometry/room.rb +56 -0
  44. data/lib/honeybee/geometry/shade.rb +42 -0
  45. data/lib/honeybee/hvac/ideal_air.rb +42 -0
  46. data/lib/honeybee/hvac/template.rb +73 -0
  47. data/lib/honeybee/load/electric_equipment.rb +42 -0
  48. data/lib/honeybee/load/gas_equipment.rb +42 -0
  49. data/lib/honeybee/load/infiltration.rb +42 -0
  50. data/lib/honeybee/load/lighting.rb +43 -0
  51. data/lib/honeybee/load/people.rb +42 -0
  52. data/lib/honeybee/load/setpoint_humidistat.rb +46 -0
  53. data/lib/honeybee/load/setpoint_thermostat.rb +46 -0
  54. data/lib/honeybee/load/ventilation.rb +42 -0
  55. data/lib/honeybee/material/opaque.rb +42 -0
  56. data/lib/honeybee/material/opaque_no_mass.rb +42 -0
  57. data/lib/honeybee/material/window_blind.rb +42 -0
  58. data/lib/honeybee/material/window_gas.rb +42 -0
  59. data/lib/honeybee/material/window_gas_custom.rb +42 -0
  60. data/lib/honeybee/material/window_gas_mixture.rb +42 -0
  61. data/lib/honeybee/material/window_glazing.rb +42 -0
  62. data/lib/honeybee/material/window_shade.rb +42 -0
  63. data/lib/honeybee/material/window_simpleglazsys.rb +42 -0
  64. data/lib/honeybee/model.rb +87 -0
  65. data/lib/honeybee/model_object.rb +108 -0
  66. data/lib/honeybee/program_type.rb +56 -0
  67. data/lib/honeybee/schedule/fixed_interval.rb +42 -0
  68. data/lib/honeybee/schedule/ruleset.rb +42 -0
  69. data/lib/honeybee/schedule/type_limit.rb +42 -0
  70. data/lib/honeybee/simulation/design_day.rb +42 -0
  71. data/lib/honeybee/simulation/parameter_model.rb +86 -0
  72. data/lib/honeybee/simulation/simulation_output.rb +42 -0
  73. data/lib/honeybee/ventcool/control.rb +42 -0
  74. data/lib/honeybee/ventcool/opening.rb +46 -0
  75. data/lib/honeybee/ventcool/simulation.rb +42 -0
  76. data/lib/measures/.gitkeep +0 -0
  77. data/lib/measures/from_honeybee_model/LICENSE.md +23 -0
  78. data/lib/measures/from_honeybee_model/README.md +32 -0
  79. data/lib/measures/from_honeybee_model/measure.rb +91 -0
  80. data/lib/measures/from_honeybee_model/measure.xml +80 -0
  81. data/lib/measures/from_honeybee_model/tests/from_honeybee_model_test.rb +126 -0
  82. data/lib/measures/from_honeybee_simulation_parameter/LICENSE.md +23 -0
  83. data/lib/measures/from_honeybee_simulation_parameter/README.md +32 -0
  84. data/lib/measures/from_honeybee_simulation_parameter/measure.rb +95 -0
  85. data/lib/measures/from_honeybee_simulation_parameter/measure.xml +86 -0
  86. data/lib/measures/from_honeybee_simulation_parameter/tests/from_honeybee_simulation_parameter_test.rb +109 -0
  87. data/lib/to_openstudio.rb +92 -0
  88. data/lib/to_openstudio/construction/air.rb +56 -0
  89. data/lib/to_openstudio/construction/opaque.rb +67 -0
  90. data/lib/to_openstudio/construction/shade.rb +99 -0
  91. data/lib/to_openstudio/construction/window.rb +70 -0
  92. data/lib/to_openstudio/construction/windowshade.rb +196 -0
  93. data/lib/to_openstudio/construction_set.rb +266 -0
  94. data/lib/to_openstudio/geometry/aperture.rb +157 -0
  95. data/lib/to_openstudio/geometry/door.rb +150 -0
  96. data/lib/to_openstudio/geometry/face.rb +178 -0
  97. data/lib/to_openstudio/geometry/room.rb +442 -0
  98. data/lib/to_openstudio/geometry/shade.rb +79 -0
  99. data/lib/to_openstudio/hvac/Model.hvac.rb +641 -0
  100. data/lib/to_openstudio/hvac/ideal_air.rb +141 -0
  101. data/lib/to_openstudio/hvac/template.rb +169 -0
  102. data/lib/to_openstudio/load/electric_equipment.rb +87 -0
  103. data/lib/to_openstudio/load/gas_equipment.rb +88 -0
  104. data/lib/to_openstudio/load/infiltration.rb +86 -0
  105. data/lib/to_openstudio/load/lighting.rb +89 -0
  106. data/lib/to_openstudio/load/people.rb +91 -0
  107. data/lib/to_openstudio/load/setpoint_humidistat.rb +66 -0
  108. data/lib/to_openstudio/load/setpoint_thermostat.rb +62 -0
  109. data/lib/to_openstudio/load/ventilation.rb +87 -0
  110. data/lib/to_openstudio/material/opaque.rb +85 -0
  111. data/lib/to_openstudio/material/opaque_no_mass.rb +85 -0
  112. data/lib/to_openstudio/material/window_blind.rb +229 -0
  113. data/lib/to_openstudio/material/window_gas.rb +67 -0
  114. data/lib/to_openstudio/material/window_gas_custom.rb +108 -0
  115. data/lib/to_openstudio/material/window_gas_mixture.rb +70 -0
  116. data/lib/to_openstudio/material/window_glazing.rb +157 -0
  117. data/lib/to_openstudio/material/window_shade.rb +151 -0
  118. data/lib/to_openstudio/material/window_simpleglazsys.rb +64 -0
  119. data/lib/to_openstudio/model.rb +497 -0
  120. data/lib/to_openstudio/model_object.rb +52 -0
  121. data/lib/to_openstudio/program_type.rb +104 -0
  122. data/lib/to_openstudio/schedule/fixed_interval.rb +105 -0
  123. data/lib/to_openstudio/schedule/ruleset.rb +164 -0
  124. data/lib/to_openstudio/schedule/type_limit.rb +76 -0
  125. data/lib/to_openstudio/simulation/design_day.rb +96 -0
  126. data/lib/to_openstudio/simulation/parameter_model.rb +243 -0
  127. data/lib/to_openstudio/ventcool/control.rb +185 -0
  128. data/lib/to_openstudio/ventcool/opening.rb +189 -0
  129. data/lib/to_openstudio/ventcool/simulation.rb +101 -0
  130. metadata +301 -0
@@ -0,0 +1,189 @@
1
+ # *******************************************************************************
2
+ # Honeybee OpenStudio Gem, Copyright (c) 2020, Alliance for Sustainable
3
+ # Energy, LLC, Ladybug Tools LLC and other contributors. All rights reserved.
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions are met:
7
+ #
8
+ # (1) Redistributions of source code must retain the above copyright notice,
9
+ # this list of conditions and the following disclaimer.
10
+ #
11
+ # (2) Redistributions in binary form must reproduce the above copyright notice,
12
+ # this list of conditions and the following disclaimer in the documentation
13
+ # and/or other materials provided with the distribution.
14
+ #
15
+ # (3) Neither the name of the copyright holder nor the names of any contributors
16
+ # may be used to endorse or promote products derived from this software without
17
+ # specific prior written permission from the respective party.
18
+ #
19
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
20
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21
+ # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
23
+ # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
24
+ # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26
+ # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
28
+ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
+ # *******************************************************************************
31
+
32
+ require 'honeybee/ventcool/opening'
33
+
34
+ require 'to_openstudio/model_object'
35
+
36
+ module Honeybee
37
+ class VentilationOpening
38
+
39
+ def to_openstudio(openstudio_model, parent, vent_control_hash)
40
+ # create wind and stack object and set identifier
41
+ os_opening = OpenStudio::Model::ZoneVentilationWindandStackOpenArea.new(openstudio_model)
42
+ os_opening.setName(parent.name.get + '_Opening')
43
+
44
+ # assign the opening area
45
+ if @hash[:fraction_area_operable]
46
+ os_opening.setOpeningArea(@hash[:fraction_area_operable] * parent.netArea)
47
+ else
48
+ os_opening.setOpeningArea(
49
+ defaults[:fraction_area_operable][:default] * parent.netArea)
50
+ end
51
+
52
+ # assign the height
53
+ if @hash[:fraction_height_operable]
54
+ os_opening. setHeightDifference(
55
+ @hash[:fraction_height_operable] * compute_height(parent))
56
+ else
57
+ os_opening. setHeightDifference(
58
+ defaults[:fraction_height_operable][:default] * compute_height(parent))
59
+ end
60
+
61
+ # assign the azimuth
62
+ az_degrees = parent.azimuth * 180 / Math::PI
63
+ os_opening.setEffectiveAngle(az_degrees.round())
64
+
65
+ # assign the discharge coefficient
66
+ if @hash[:discharge_coefficient]
67
+ os_opening.setDischargeCoefficientforOpening(@hash[:discharge_coefficient])
68
+ else
69
+ os_opening.setDischargeCoefficientforOpening(
70
+ defaults[:discharge_coefficient][:default])
71
+ end
72
+
73
+ # assign the wind pressure coefficient
74
+ if @hash[:wind_cross_vent]
75
+ os_opening.autocalculateOpeningEffectiveness()
76
+ else
77
+ os_opening.setOpeningEffectiveness(0)
78
+ end
79
+
80
+ # set all of the ventilation control properties
81
+ if vent_control_hash
82
+ # assign min_indoor_temperature
83
+ if vent_control_hash[:min_indoor_temperature]
84
+ os_opening.setMinimumIndoorTemperature(vent_control_hash[:min_indoor_temperature])
85
+ else
86
+ os_opening.setMinimumIndoorTemperature(
87
+ defaults_control[:min_indoor_temperature][:default])
88
+ end
89
+ # assign max_indoor_temperature
90
+ if vent_control_hash[:max_indoor_temperature]
91
+ os_opening.setMaximumIndoorTemperature(vent_control_hash[:max_indoor_temperature])
92
+ else
93
+ os_opening.setMaximumIndoorTemperature(
94
+ defaults_control[:max_indoor_temperature][:default])
95
+ end
96
+ # assign min_outdoor_temperature
97
+ if vent_control_hash[:min_outdoor_temperature]
98
+ os_opening.setMinimumOutdoorTemperature(vent_control_hash[:min_outdoor_temperature])
99
+ else
100
+ os_opening.setMinimumOutdoorTemperature(
101
+ defaults_control[:min_outdoor_temperature][:default])
102
+ end
103
+ # assign max_outdoor_temperature
104
+ if vent_control_hash[:max_outdoor_temperature]
105
+ os_opening.setMaximumOutdoorTemperature(vent_control_hash[:max_outdoor_temperature])
106
+ else
107
+ os_opening.setMaximumOutdoorTemperature(
108
+ defaults_control[:max_outdoor_temperature][:default])
109
+ end
110
+ # assign delta_temperature
111
+ if vent_control_hash[:delta_temperature]
112
+ os_opening.setDeltaTemperature(vent_control_hash[:delta_temperature])
113
+ else
114
+ os_opening.setDeltaTemperature(
115
+ defaults_control[:delta_temperature][:default])
116
+ end
117
+ # assign schedule if it exists
118
+ if vent_control_hash[:schedule]
119
+ vent_sch = openstudio_model.getScheduleByName(vent_control_hash[:schedule])
120
+ unless vent_sch.empty?
121
+ vent_sch_object = vent_sch.get
122
+ os_opening.setOpeningAreaFractionSchedule(vent_sch_object)
123
+ end
124
+ end
125
+ end
126
+
127
+ os_opening
128
+ end
129
+
130
+ def to_openstudio_afn(openstudio_model, parent)
131
+ # process the flow_coefficient_closed and set it to a very small number if it's 0
132
+ if @hash[:flow_coefficient_closed] and @hash[:flow_coefficient_closed] != 0
133
+ flow_coefficient = @hash[:flow_coefficient_closed]
134
+ else
135
+ flow_coefficient = 1.0e-09 # set it to a very small number
136
+ end
137
+
138
+ # create the simple opening object for the Aperture or Door using default values
139
+ flow_exponent = defaults[:flow_exponent_closed][:default].to_f
140
+ two_way_thresh = defaults[:two_way_threshold][:default].to_f
141
+ discharge_coeff = defaults[:discharge_coefficient][:default].to_f
142
+ os_opening = OpenStudio::Model::AirflowNetworkSimpleOpening.new(
143
+ openstudio_model, flow_coefficient, flow_exponent, two_way_thresh, discharge_coeff)
144
+
145
+ # assign the flow exponent when the opening is closed
146
+ if @hash[:flow_exponent_closed]
147
+ os_opening.setAirMassFlowExponentWhenOpeningisClosed(@hash[:flow_exponent_closed])
148
+ end
149
+ # assign the minimum difference for two-way flow
150
+ if @hash[:two_way_threshold]
151
+ os_opening.setMinimumDensityDifferenceforTwoWayFlow(@hash[:two_way_threshold])
152
+ end
153
+ # assign the discharge coefficient
154
+ if @hash[:discharge_coefficient]
155
+ os_opening.setDischargeCoefficient(@hash[:discharge_coefficient])
156
+ end
157
+
158
+ # create the AirflowNetworkSurface
159
+ os_afn_srf = parent.getAirflowNetworkSurface(os_opening)
160
+
161
+ # assign the opening area
162
+ if @hash[:fraction_area_operable]
163
+ open_fac = @hash[:fraction_area_operable]
164
+ else
165
+ open_fac = defaults[:fraction_area_operable][:default]
166
+ end
167
+ os_afn_srf.setWindowDoorOpeningFactorOrCrackFactor(open_fac)
168
+
169
+ open_fac
170
+ end
171
+
172
+ def compute_height(surface)
173
+ # derive the height (difference in z values) of a surface
174
+ verts = surface.vertices
175
+ min_pt = verts[0].z
176
+ max_pt = verts[0].z
177
+ verts.each do |v|
178
+ if v.z < min_pt
179
+ min_pt = v.z
180
+ elsif v.z > max_pt
181
+ max_pt = v.z
182
+ end
183
+ end
184
+ # quarter the window height to get the height from midpoint of lower opening to neutral pressure level
185
+ (max_pt - min_pt) / 4
186
+ end
187
+
188
+ end #VentilationOpening
189
+ end #Honeybee
@@ -0,0 +1,101 @@
1
+ # *******************************************************************************
2
+ # Honeybee OpenStudio Gem, Copyright (c) 2020, Alliance for Sustainable
3
+ # Energy, LLC, Ladybug Tools LLC and other contributors. All rights reserved.
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions are met:
7
+ #
8
+ # (1) Redistributions of source code must retain the above copyright notice,
9
+ # this list of conditions and the following disclaimer.
10
+ #
11
+ # (2) Redistributions in binary form must reproduce the above copyright notice,
12
+ # this list of conditions and the following disclaimer in the documentation
13
+ # and/or other materials provided with the distribution.
14
+ #
15
+ # (3) Neither the name of the copyright holder nor the names of any contributors
16
+ # may be used to endorse or promote products derived from this software without
17
+ # specific prior written permission from the respective party.
18
+ #
19
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
20
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21
+ # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
23
+ # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
24
+ # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26
+ # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
28
+ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
+ # *******************************************************************************
31
+
32
+ require 'honeybee/ventcool/simulation'
33
+
34
+ require 'to_openstudio/model_object'
35
+
36
+ module Honeybee
37
+ class VentilationSimulationControl
38
+
39
+ def to_openstudio(openstudio_model)
40
+ # create the AirflowNetworkSimulationControl object
41
+ os_vsim_control = openstudio_model.getAirflowNetworkSimulationControl
42
+ os_vsim_control.setName('Window Based Ventilative Cooling')
43
+
44
+ # assign the control type
45
+ if @hash[:vent_control_type]
46
+ os_vsim_control.setAirflowNetworkControl(@hash[:vent_control_type])
47
+ else
48
+ os_vsim_control.setAirflowNetworkControl('MultizoneWithoutDistribution')
49
+ end
50
+
51
+ # assign the building type
52
+ if @hash[:building_type]
53
+ os_vsim_control.setBuildingType(@hash[:building_type])
54
+ else
55
+ os_vsim_control.setBuildingType(defaults[:building_type][:default])
56
+ end
57
+
58
+ # assign the long axis azimth angle of the building
59
+ if @hash[:long_axis_angle]
60
+ os_vsim_control.setAzimuthAngleofLongAxisofBuilding(@hash[:long_axis_angle])
61
+ else
62
+ os_vsim_control.setAzimuthAngleofLongAxisofBuilding(defaults[:long_axis_angle][:default])
63
+ end
64
+
65
+ # assign the aspect ratio of the building
66
+ if @hash[:aspect_ratio]
67
+ os_vsim_control.setBuildingAspectRatio(@hash[:aspect_ratio])
68
+ else
69
+ os_vsim_control.setBuildingAspectRatio(defaults[:aspect_ratio][:default])
70
+ end
71
+
72
+ # create the AirflowNetworkReferenceCrackConditions object that all other cracks reference
73
+ os_ref_crack = OpenStudio::Model::AirflowNetworkReferenceCrackConditions.new(openstudio_model)
74
+ os_ref_crack.setName('Reference Crack Conditions')
75
+
76
+ # assign the reference temperature
77
+ if @hash[:reference_temperature]
78
+ os_ref_crack.setTemperature(@hash[:reference_temperature])
79
+ else
80
+ os_ref_crack.setTemperature(defaults[:reference_temperature][:default])
81
+ end
82
+
83
+ # assign the reference pressure
84
+ if @hash[:reference_pressure]
85
+ os_ref_crack.setBarometricPressure(@hash[:reference_pressure])
86
+ else
87
+ os_ref_crack.setBarometricPressure(defaults[:reference_pressure][:default])
88
+ end
89
+
90
+ # assign the reference humidity ratio
91
+ if @hash[:reference_humidity_ratio]
92
+ os_ref_crack.setHumidityRatio(@hash[:reference_humidity_ratio])
93
+ else
94
+ os_ref_crack.setHumidityRatio(defaults[:reference_humidity_ratio][:default])
95
+ end
96
+
97
+ os_ref_crack
98
+ end
99
+
100
+ end #VentilationSimulationControl
101
+ end #Honeybee
metadata ADDED
@@ -0,0 +1,301 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: honeybee-openstudio
3
+ version: !ruby/object:Gem::Version
4
+ version: '0'
5
+ platform: ruby
6
+ authors:
7
+ - Tanushree Charan
8
+ - Dan Macumber
9
+ - Chris Mackey
10
+ - Mostapha Sadeghipour Roudsari
11
+ autorequire:
12
+ bindir: exe
13
+ cert_chain: []
14
+ date: 2020-12-10 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: bundler
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.1'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.1'
30
+ - !ruby/object:Gem::Dependency
31
+ name: public_suffix
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: 3.1.1
37
+ type: :development
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: 3.1.1
44
+ - !ruby/object:Gem::Dependency
45
+ name: json-schema
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: 2.8.1
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: 2.8.1
58
+ - !ruby/object:Gem::Dependency
59
+ name: rake
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: '13.0'
65
+ type: :development
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '13.0'
72
+ - !ruby/object:Gem::Dependency
73
+ name: rspec
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '3.9'
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '3.9'
86
+ - !ruby/object:Gem::Dependency
87
+ name: rubocop
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: 0.54.0
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: 0.54.0
100
+ - !ruby/object:Gem::Dependency
101
+ name: json_pure
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ type: :runtime
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ - !ruby/object:Gem::Dependency
115
+ name: openstudio-extension
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - '='
119
+ - !ruby/object:Gem::Version
120
+ version: 0.2.5
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - '='
126
+ - !ruby/object:Gem::Version
127
+ version: 0.2.5
128
+ - !ruby/object:Gem::Dependency
129
+ name: openstudio-standards
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: 0.2.12
135
+ type: :runtime
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: 0.2.12
142
+ description: Library and measures for translating between Honeybee JSON schema and
143
+ OpenStudio Model schema (OSM).
144
+ email:
145
+ - tanushree.charan@nrel.gov
146
+ - chris@ladybug.tools
147
+ executables: []
148
+ extensions: []
149
+ extra_rdoc_files: []
150
+ files:
151
+ - ".github/workflows/ci.yaml"
152
+ - ".gitignore"
153
+ - ".releaserc.json"
154
+ - Gemfile
155
+ - LICENSE.md
156
+ - README.md
157
+ - Rakefile
158
+ - doc_templates/LICENSE.md
159
+ - doc_templates/README.md.erb
160
+ - doc_templates/copyright_erb.txt
161
+ - doc_templates/copyright_js.txt
162
+ - doc_templates/copyright_ruby.txt
163
+ - honeybee-openstudio.gemspec
164
+ - lib/files/Honeybee.rb
165
+ - lib/files/honeybee_workflow.osw
166
+ - lib/files/urbanopt_Gemfile
167
+ - lib/from_openstudio.rb
168
+ - lib/from_openstudio/geometry/aperture.rb
169
+ - lib/from_openstudio/geometry/door.rb
170
+ - lib/from_openstudio/geometry/face.rb
171
+ - lib/from_openstudio/geometry/room.rb
172
+ - lib/from_openstudio/geometry/shade.rb
173
+ - lib/from_openstudio/model.rb
174
+ - lib/from_openstudio/model_object.rb
175
+ - lib/from_openstudio/simulation/design_day.rb
176
+ - lib/from_openstudio/simulation/parameter_model.rb
177
+ - lib/from_openstudio/simulation/simulation_output.rb
178
+ - lib/honeybee.rb
179
+ - lib/honeybee/_defaults/energy_default.json
180
+ - lib/honeybee/_defaults/model.json
181
+ - lib/honeybee/_defaults/simulation-parameter.json
182
+ - lib/honeybee/construction/air.rb
183
+ - lib/honeybee/construction/opaque.rb
184
+ - lib/honeybee/construction/shade.rb
185
+ - lib/honeybee/construction/window.rb
186
+ - lib/honeybee/construction/windowshade.rb
187
+ - lib/honeybee/construction_set.rb
188
+ - lib/honeybee/extension.rb
189
+ - lib/honeybee/geometry/aperture.rb
190
+ - lib/honeybee/geometry/door.rb
191
+ - lib/honeybee/geometry/face.rb
192
+ - lib/honeybee/geometry/room.rb
193
+ - lib/honeybee/geometry/shade.rb
194
+ - lib/honeybee/hvac/ideal_air.rb
195
+ - lib/honeybee/hvac/template.rb
196
+ - lib/honeybee/load/electric_equipment.rb
197
+ - lib/honeybee/load/gas_equipment.rb
198
+ - lib/honeybee/load/infiltration.rb
199
+ - lib/honeybee/load/lighting.rb
200
+ - lib/honeybee/load/people.rb
201
+ - lib/honeybee/load/setpoint_humidistat.rb
202
+ - lib/honeybee/load/setpoint_thermostat.rb
203
+ - lib/honeybee/load/ventilation.rb
204
+ - lib/honeybee/material/opaque.rb
205
+ - lib/honeybee/material/opaque_no_mass.rb
206
+ - lib/honeybee/material/window_blind.rb
207
+ - lib/honeybee/material/window_gas.rb
208
+ - lib/honeybee/material/window_gas_custom.rb
209
+ - lib/honeybee/material/window_gas_mixture.rb
210
+ - lib/honeybee/material/window_glazing.rb
211
+ - lib/honeybee/material/window_shade.rb
212
+ - lib/honeybee/material/window_simpleglazsys.rb
213
+ - lib/honeybee/model.rb
214
+ - lib/honeybee/model_object.rb
215
+ - lib/honeybee/program_type.rb
216
+ - lib/honeybee/schedule/fixed_interval.rb
217
+ - lib/honeybee/schedule/ruleset.rb
218
+ - lib/honeybee/schedule/type_limit.rb
219
+ - lib/honeybee/simulation/design_day.rb
220
+ - lib/honeybee/simulation/parameter_model.rb
221
+ - lib/honeybee/simulation/simulation_output.rb
222
+ - lib/honeybee/ventcool/control.rb
223
+ - lib/honeybee/ventcool/opening.rb
224
+ - lib/honeybee/ventcool/simulation.rb
225
+ - lib/measures/.gitkeep
226
+ - lib/measures/from_honeybee_model/LICENSE.md
227
+ - lib/measures/from_honeybee_model/README.md
228
+ - lib/measures/from_honeybee_model/measure.rb
229
+ - lib/measures/from_honeybee_model/measure.xml
230
+ - lib/measures/from_honeybee_model/tests/from_honeybee_model_test.rb
231
+ - lib/measures/from_honeybee_simulation_parameter/LICENSE.md
232
+ - lib/measures/from_honeybee_simulation_parameter/README.md
233
+ - lib/measures/from_honeybee_simulation_parameter/measure.rb
234
+ - lib/measures/from_honeybee_simulation_parameter/measure.xml
235
+ - lib/measures/from_honeybee_simulation_parameter/tests/from_honeybee_simulation_parameter_test.rb
236
+ - lib/to_openstudio.rb
237
+ - lib/to_openstudio/construction/air.rb
238
+ - lib/to_openstudio/construction/opaque.rb
239
+ - lib/to_openstudio/construction/shade.rb
240
+ - lib/to_openstudio/construction/window.rb
241
+ - lib/to_openstudio/construction/windowshade.rb
242
+ - lib/to_openstudio/construction_set.rb
243
+ - lib/to_openstudio/geometry/aperture.rb
244
+ - lib/to_openstudio/geometry/door.rb
245
+ - lib/to_openstudio/geometry/face.rb
246
+ - lib/to_openstudio/geometry/room.rb
247
+ - lib/to_openstudio/geometry/shade.rb
248
+ - lib/to_openstudio/hvac/Model.hvac.rb
249
+ - lib/to_openstudio/hvac/ideal_air.rb
250
+ - lib/to_openstudio/hvac/template.rb
251
+ - lib/to_openstudio/load/electric_equipment.rb
252
+ - lib/to_openstudio/load/gas_equipment.rb
253
+ - lib/to_openstudio/load/infiltration.rb
254
+ - lib/to_openstudio/load/lighting.rb
255
+ - lib/to_openstudio/load/people.rb
256
+ - lib/to_openstudio/load/setpoint_humidistat.rb
257
+ - lib/to_openstudio/load/setpoint_thermostat.rb
258
+ - lib/to_openstudio/load/ventilation.rb
259
+ - lib/to_openstudio/material/opaque.rb
260
+ - lib/to_openstudio/material/opaque_no_mass.rb
261
+ - lib/to_openstudio/material/window_blind.rb
262
+ - lib/to_openstudio/material/window_gas.rb
263
+ - lib/to_openstudio/material/window_gas_custom.rb
264
+ - lib/to_openstudio/material/window_gas_mixture.rb
265
+ - lib/to_openstudio/material/window_glazing.rb
266
+ - lib/to_openstudio/material/window_shade.rb
267
+ - lib/to_openstudio/material/window_simpleglazsys.rb
268
+ - lib/to_openstudio/model.rb
269
+ - lib/to_openstudio/model_object.rb
270
+ - lib/to_openstudio/program_type.rb
271
+ - lib/to_openstudio/schedule/fixed_interval.rb
272
+ - lib/to_openstudio/schedule/ruleset.rb
273
+ - lib/to_openstudio/schedule/type_limit.rb
274
+ - lib/to_openstudio/simulation/design_day.rb
275
+ - lib/to_openstudio/simulation/parameter_model.rb
276
+ - lib/to_openstudio/ventcool/control.rb
277
+ - lib/to_openstudio/ventcool/opening.rb
278
+ - lib/to_openstudio/ventcool/simulation.rb
279
+ homepage: https://github.com/ladybug-tools/honeybee-openstudio-gem
280
+ licenses: []
281
+ metadata: {}
282
+ post_install_message:
283
+ rdoc_options: []
284
+ require_paths:
285
+ - lib
286
+ required_ruby_version: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - "~>"
289
+ - !ruby/object:Gem::Version
290
+ version: 2.5.0
291
+ required_rubygems_version: !ruby/object:Gem::Requirement
292
+ requirements:
293
+ - - ">="
294
+ - !ruby/object:Gem::Version
295
+ version: '0'
296
+ requirements: []
297
+ rubygems_version: 3.1.4
298
+ signing_key:
299
+ specification_version: 4
300
+ summary: Gem for translating between Honeybee JSON and OpenStudio Model.
301
+ test_files: []