bcl 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,116 @@
1
+ ######################################################################
2
+ # Copyright (c) 2008-2010, Alliance for Sustainable Energy.
3
+ # All rights reserved.
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ ######################################################################
19
+
20
+ #Mongo Record to Component
21
+ require 'rubygems'
22
+ require 'bcl/ComponentXml'
23
+
24
+ module BCL
25
+
26
+ class MongoToComponent
27
+ attr_accessor :component
28
+ attr_accessor :error_message
29
+
30
+ def initialize(record)
31
+ @component = nil
32
+ @error_message = ""
33
+
34
+ if record.has_key? "general"
35
+ @component = BCL::Component.new('tmp')
36
+ general = record["general"]
37
+
38
+ #add uid/vid
39
+ if record.has_key? "unique_id"
40
+ component.uid = record["unique_id"]
41
+ else
42
+ @error_message = "Invalid Mongo record: no unique_id"
43
+ end
44
+ if record.has_key? "version_id"
45
+ component.comp_version_id = record["version_id"]
46
+ else
47
+ @error_message = "Invalid Mongo record: no version_id"
48
+ end
49
+
50
+ #add general info
51
+ if general.has_key? "name"
52
+ component.name = general["name"]
53
+ end
54
+ if general.has_key? "description"
55
+ @component.description = general["description"]
56
+ end
57
+ if general.has_key? "fidelity_level"
58
+ @component.fidelity_level = general["fidelity_level"]
59
+ end
60
+ if general.has_key? "source_manufacturer"
61
+ @component.source_manufacturer = general["source_manufacturer"]
62
+ end
63
+ if general.has_key? "source_url"
64
+ @component.source_url = general["source_url"]
65
+ end
66
+
67
+ #add tags
68
+ if general.has_key? "tags"
69
+ tags = general["tags"]
70
+ tags.each do |name,value|
71
+ @component.add_tag(value)
72
+ end
73
+ end
74
+
75
+ #add attributes
76
+ if general.has_key? "attributes"
77
+ attribute_container = general["attributes"]
78
+ attribute_container.each do |a,attributes|
79
+ #attributes iterator is an array of hashes
80
+ #NOTE: double check this...could be old messed-up structure?
81
+ attributes.each do |attribute|
82
+ name = ""
83
+ units = ""
84
+ value = ""
85
+ datatype = ""
86
+ if attribute.has_key? "name"
87
+ name = attribute["name"]
88
+ end
89
+ if attribute.has_key? "value"
90
+ value = attribute["value"]
91
+ end
92
+ if attribute.has_key? "units"
93
+ units = attribute["units"]
94
+ end
95
+ @component.add_attribute(name, value, units)
96
+
97
+ #TODO: eventually find a way to validate the datatype in record with datatype in component
98
+ end
99
+ end
100
+ end
101
+
102
+ #todo: add provenance
103
+
104
+ else
105
+ @error_message = "Invalid Mongo record: no 'general' section"
106
+ end
107
+ #set component to NIL if there were errors
108
+ if !@error_message == nil
109
+ @component = nil
110
+ end
111
+ end
112
+
113
+ end
114
+
115
+ end # module BCL
116
+
@@ -0,0 +1,51 @@
1
+ ######################################################################
2
+ # Copyright (c) 2008-2010, Alliance for Sustainable Energy.
3
+ # All rights reserved.
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ ######################################################################
19
+
20
+ require 'rubygems'
21
+
22
+ require 'zlib' #gem install zliby
23
+ require 'archive/tar/minitar' #gem install archive-tar-minitar
24
+
25
+ module BCL
26
+ module_function
27
+
28
+ def tarball(destination, paths)
29
+ Zlib::GzipWriter.open(destination) do |gzip|
30
+ out = Archive::Tar::Minitar::Output.new(gzip)
31
+ puts "[TarBall] Starting #{destination}"
32
+ paths.each do |fi|
33
+ puts "[TarBall] Packing #{fi}"
34
+ if File.exists?(fi)
35
+ Archive::Tar::Minitar.pack_file(fi, out)
36
+ else
37
+ puts "[TarBall] Could not file file: #{fi}"
38
+ end
39
+ end
40
+ puts "[TarBall] Finished #{destination}"
41
+ out.close
42
+ end
43
+ end
44
+
45
+ def extract_tarball(filename, destination)
46
+ Zlib::GzipReader.open(filename) {|gz|
47
+ Archive::Tar::Minitar.unpack(gz, destination)
48
+ }
49
+ end
50
+
51
+ end # module BCL
@@ -0,0 +1,451 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
3
+ <tag name="root">
4
+ <term name="OpenStudio Type"/>
5
+ <tag name="Construction Assembly">
6
+ <term name="OpenStudio Type"/>
7
+ <tag name="Fenestration">
8
+ <term name="OpenStudio Type"/>
9
+ <term name="Overall U-factor"/>
10
+ <tag name="Window">
11
+ <term name="OpenStudio Type"/>
12
+ <term name="Overall U-factor"/>
13
+ <term name="Visible Light Transmittance"/>
14
+ <term name="Tint"/>
15
+ <term name="Solar Heat Gain Coefficient"/>
16
+ <term name="Number of Panes"/>
17
+ <term name="Gas Fill"/>
18
+ </tag>
19
+ </tag>
20
+ </tag>
21
+ <tag name="HVAC">
22
+ <term name="OpenStudio Type"/>
23
+ <tag name="Chillers">
24
+ <term name="OpenStudio Type"/>
25
+ <tag name="Electrically-driven Mechanical Compression">
26
+ <term name="OpenStudio Type"/>
27
+ <term name="Variable-Speed Drive Compressor"/>
28
+ <term name="Refrigerant "/>
29
+ <term name="Part Load Ratio below which Hot Gas Bypass (HGBP) operates"/>
30
+ <term name="Net Refrigeration Capacity"/>
31
+ <term name="Model Designation"/>
32
+ <term name="Minimum Part Load Ratio"/>
33
+ <term name="Minimum Condenser Water Flow Rate"/>
34
+ <term name="Minimum Condenser Water Entering Temperature"/>
35
+ <term name="Minimum Chilled Water Supply Temperature"/>
36
+ <term name="Minimum Chilled Water Flow Rate"/>
37
+ <term name="Min Outdoor Air Temperature (Wet Bulb)"/>
38
+ <term name="Min Outdoor Air Temperature (Dry Bulb)"/>
39
+ <term name="Maximum Part Load Ratio"/>
40
+ <term name="Maximum Condenser Water Flow Rate"/>
41
+ <term name="Maximum Condenser Water Entering Temperature"/>
42
+ <term name="Maximum Chilled Water Supply Temperature"/>
43
+ <term name="Maximum Chilled Water Flow Rate"/>
44
+ <term name="Max Outdoor Air Temperature (Wet Bulb)"/>
45
+ <term name="Max Outdoor Air Temperature (Dry Bulb)"/>
46
+ <term name="Fan Control"/>
47
+ <term name="Design Condenser Water Flow Rate"/>
48
+ <term name="Design Chilled Water Supply Temperature"/>
49
+ <term name="Design Chilled Water Flow Rate"/>
50
+ <term name="Condenser Water Pressure drop at Design Flow Rate"/>
51
+ <term name="Condenser Type"/>
52
+ <term name="Compressor Type"/>
53
+ <term name="Compressor Motor Type"/>
54
+ <term name="Compressor Motor Efficiency"/>
55
+ <term name="Chilled Water Pressure Drop across Evaporator at Design Flow Rate"/>
56
+ <term name="Basin Heater Capacity"/>
57
+ <term name="AHRI Rated Coefficient of Performance "/>
58
+ <term name="AHRI Certified Reference Number"/>
59
+ </tag>
60
+ </tag>
61
+ <tag name="Packaged Unitary Equipment">
62
+ <term name="OpenStudio Type"/>
63
+ <tag name="Roof Top Units">
64
+ <term name="OpenStudio Type"/>
65
+ <term name="Type of Heating"/>
66
+ <term name="Turndown Ratio"/>
67
+ <term name="Sequence of Operations"/>
68
+ <term name="Seasonal Energy Efficiency Ratio"/>
69
+ <term name="Refrigerant"/>
70
+ <term name="Number of discrete speeds"/>
71
+ <term name="Number of discrete cooling stages"/>
72
+ <term name="Number of Heating stages"/>
73
+ <term name="Nominal Cooling Capacity"/>
74
+ <term name="Minimum speed as a fraction of maximum speed"/>
75
+ <term name="Minimum Outdoor Dryb Bulb for Cooling Operation"/>
76
+ <term name="Minimum Outdoor Dry Bulb for Heat Pump Operation"/>
77
+ <term name="Maximum Outdoor Dry Bulb for Heat Pump Operation"/>
78
+ <term name="Maximum Outdoor Dry Bulb for Cooling Operation"/>
79
+ <term name="Internal Static Pressure at full speed"/>
80
+ <term name="Integrated Energy Efficiency Ratio"/>
81
+ <term name="Indoor Fan Speed Control"/>
82
+ <term name="Heating Staging"/>
83
+ <term name="Evaporatively Cooled Condenser"/>
84
+ <term name="Energy Efficiency Ratio"/>
85
+ <term name="Economizer Control Types Available"/>
86
+ <term name="Degradation Coefficient "/>
87
+ <term name="Condenser Fan Speed Operation"/>
88
+ <term name="Compressor Staging"/>
89
+ <term name="Air-Source Heat Pump"/>
90
+ <term name="Active Dehumidification"/>
91
+ <term name="AHRI Certified Reference Number"/>
92
+ </tag>
93
+ </tag>
94
+ </tag>
95
+ <tag name="MEL">
96
+ <term name="OpenStudio Type"/>
97
+ <term name="Standby Power"/>
98
+ <term name="Peak Power"/>
99
+ <term name="Cycling Percent On"/>
100
+ <tag name="Appliance">
101
+ <term name="OpenStudio Type"/>
102
+ <term name="Standby Power"/>
103
+ <term name="Peak Power"/>
104
+ <term name="Cycling Percent On"/>
105
+ <tag name="Beverage Fountain">
106
+ <term name="OpenStudio Type"/>
107
+ <term name="Standby Power"/>
108
+ <term name="Peak Power"/>
109
+ <term name="Cycling Percent On"/>
110
+ </tag>
111
+ <tag name="Cash Exchange">
112
+ <term name="OpenStudio Type"/>
113
+ <term name="Standby Power"/>
114
+ <term name="Peak Power"/>
115
+ <term name="Cycling Percent On"/>
116
+ </tag>
117
+ <tag name="Coffee Maker">
118
+ <term name="OpenStudio Type"/>
119
+ <term name="Standby Power"/>
120
+ <term name="Peak Power"/>
121
+ <term name="Cycling Percent On"/>
122
+ </tag>
123
+ <tag name="Desktop Fan">
124
+ <term name="OpenStudio Type"/>
125
+ <term name="Standby Power"/>
126
+ <term name="Peak Power"/>
127
+ <term name="Cycling Percent On"/>
128
+ </tag>
129
+ <tag name="Drinking Fountain">
130
+ <term name="OpenStudio Type"/>
131
+ <term name="Standby Power"/>
132
+ <term name="Peak Power"/>
133
+ <term name="Cycling Percent On"/>
134
+ </tag>
135
+ <tag name="Food Warmer">
136
+ <term name="OpenStudio Type"/>
137
+ <term name="Standby Power"/>
138
+ <term name="Peak Power"/>
139
+ <term name="Cycling Percent On"/>
140
+ </tag>
141
+ <tag name="Freezer">
142
+ <term name="OpenStudio Type"/>
143
+ <term name="Standby Power"/>
144
+ <term name="Peak Power"/>
145
+ <term name="Cycling Percent On"/>
146
+ </tag>
147
+ <tag name="Ice Machine">
148
+ <term name="OpenStudio Type"/>
149
+ <term name="Standby Power"/>
150
+ <term name="Peak Power"/>
151
+ <term name="Cycling Percent On"/>
152
+ </tag>
153
+ <tag name="Microwave">
154
+ <term name="OpenStudio Type"/>
155
+ <term name="Standby Power"/>
156
+ <term name="Peak Power"/>
157
+ <term name="Cycling Percent On"/>
158
+ </tag>
159
+ <tag name="Mini-fridge">
160
+ <term name="OpenStudio Type"/>
161
+ <term name="Standby Power"/>
162
+ <term name="Peak Power"/>
163
+ <term name="Cycling Percent On"/>
164
+ </tag>
165
+ <tag name="Personal Heater">
166
+ <term name="OpenStudio Type"/>
167
+ <term name="Standby Power"/>
168
+ <term name="Peak Power"/>
169
+ <term name="Cycling Percent On"/>
170
+ </tag>
171
+ <tag name="Refrigerated Vending Machine">
172
+ <term name="OpenStudio Type"/>
173
+ <term name="Standby Power"/>
174
+ <term name="Peak Power"/>
175
+ <term name="Cycling Percent On"/>
176
+ </tag>
177
+ <tag name="Refrigerator">
178
+ <term name="OpenStudio Type"/>
179
+ <term name="Standby Power"/>
180
+ <term name="Peak Power"/>
181
+ <term name="Cycling Percent On"/>
182
+ </tag>
183
+ <tag name="Vending Machine">
184
+ <term name="OpenStudio Type"/>
185
+ <term name="Standby Power"/>
186
+ <term name="Peak Power"/>
187
+ <term name="Cycling Percent On"/>
188
+ </tag>
189
+ <tag name="Water Cooler">
190
+ <term name="OpenStudio Type"/>
191
+ <term name="Standby Power"/>
192
+ <term name="Peak Power"/>
193
+ <term name="Cycling Percent On"/>
194
+ </tag>
195
+ <tag name="Water Purifier">
196
+ <term name="OpenStudio Type"/>
197
+ <term name="Standby Power"/>
198
+ <term name="Peak Power"/>
199
+ <term name="Cycling Percent On"/>
200
+ </tag>
201
+ </tag>
202
+ <tag name="Audio">
203
+ <term name="OpenStudio Type"/>
204
+ <term name="Standby Power"/>
205
+ <term name="Peak Power"/>
206
+ <term name="Cycling Percent On"/>
207
+ </tag>
208
+ <tag name="Computer">
209
+ <term name="OpenStudio Type"/>
210
+ <term name="Standby Power"/>
211
+ <term name="Peak Power"/>
212
+ <term name="Cycling Percent On"/>
213
+ <tag name="Desktop">
214
+ <term name="OpenStudio Type"/>
215
+ <term name="Standby Power"/>
216
+ <term name="Peak Power"/>
217
+ <term name="Cycling Percent On"/>
218
+ </tag>
219
+ <tag name="Integrated Display Computer">
220
+ <term name="OpenStudio Type"/>
221
+ <term name="Standby Power"/>
222
+ <term name="Peak Power"/>
223
+ <term name="Cycling Percent On"/>
224
+ </tag>
225
+ <tag name="Notebook">
226
+ <term name="OpenStudio Type"/>
227
+ <term name="Standby Power"/>
228
+ <term name="Peak Power"/>
229
+ <term name="Cycling Percent On"/>
230
+ </tag>
231
+ </tag>
232
+ <tag name="Display">
233
+ <term name="OpenStudio Type"/>
234
+ <term name="Standby Power"/>
235
+ <term name="Peak Power"/>
236
+ <term name="Cycling Percent On"/>
237
+ <tag name="CRT Monitor">
238
+ <term name="OpenStudio Type"/>
239
+ <term name="Standby Power"/>
240
+ <term name="Peak Power"/>
241
+ <term name="Cycling Percent On"/>
242
+ </tag>
243
+ <tag name="CRT Television">
244
+ <term name="OpenStudio Type"/>
245
+ <term name="Standby Power"/>
246
+ <term name="Peak Power"/>
247
+ <term name="Cycling Percent On"/>
248
+ </tag>
249
+ <tag name="Digital Photo Frame">
250
+ <term name="OpenStudio Type"/>
251
+ <term name="Standby Power"/>
252
+ <term name="Peak Power"/>
253
+ <term name="Cycling Percent On"/>
254
+ </tag>
255
+ <tag name="LCD Monitor">
256
+ <term name="OpenStudio Type"/>
257
+ <term name="Standby Power"/>
258
+ <term name="Peak Power"/>
259
+ <term name="Cycling Percent On"/>
260
+ </tag>
261
+ <tag name="LCD Television">
262
+ <term name="OpenStudio Type"/>
263
+ <term name="Standby Power"/>
264
+ <term name="Peak Power"/>
265
+ <term name="Cycling Percent On"/>
266
+ </tag>
267
+ <tag name="Plasma Television">
268
+ <term name="OpenStudio Type"/>
269
+ <term name="Standby Power"/>
270
+ <term name="Peak Power"/>
271
+ <term name="Cycling Percent On"/>
272
+ </tag>
273
+ <tag name="Projector">
274
+ <term name="OpenStudio Type"/>
275
+ <term name="Standby Power"/>
276
+ <term name="Peak Power"/>
277
+ <term name="Cycling Percent On"/>
278
+ </tag>
279
+ </tag>
280
+ <tag name="Imaging and Printing">
281
+ <term name="OpenStudio Type"/>
282
+ <term name="Standby Power"/>
283
+ <term name="Peak Power"/>
284
+ <term name="Cycling Percent On"/>
285
+ <tag name="Network Printer / Fax / Scanner">
286
+ <term name="OpenStudio Type"/>
287
+ <term name="Standby Power"/>
288
+ <term name="Peak Power"/>
289
+ <term name="Cycling Percent On"/>
290
+ </tag>
291
+ <tag name="Personal Printer / Fax / Scanner">
292
+ <term name="OpenStudio Type"/>
293
+ <term name="Standby Power"/>
294
+ <term name="Peak Power"/>
295
+ <term name="Cycling Percent On"/>
296
+ </tag>
297
+ </tag>
298
+ <tag name="Lighting">
299
+ <term name="OpenStudio Type"/>
300
+ <term name="Standby Power"/>
301
+ <term name="Peak Power"/>
302
+ <term name="Cycling Percent On"/>
303
+ <tag name="Egress Light">
304
+ <term name="OpenStudio Type"/>
305
+ <term name="Standby Power"/>
306
+ <term name="Peak Power"/>
307
+ <term name="Cycling Percent On"/>
308
+ </tag>
309
+ <tag name="Task Light">
310
+ <term name="OpenStudio Type"/>
311
+ <term name="Standby Power"/>
312
+ <term name="Peak Power"/>
313
+ <term name="Cycling Percent On"/>
314
+ </tag>
315
+ </tag>
316
+ <tag name="Medical Diagnostic">
317
+ <term name="OpenStudio Type"/>
318
+ <term name="Standby Power"/>
319
+ <term name="Peak Power"/>
320
+ <term name="Cycling Percent On"/>
321
+ </tag>
322
+ <tag name="Personal Care">
323
+ <term name="OpenStudio Type"/>
324
+ <term name="Standby Power"/>
325
+ <term name="Peak Power"/>
326
+ <term name="Cycling Percent On"/>
327
+ </tag>
328
+ </tag>
329
+ <tag name="Material">
330
+ <term name="OpenStudio Type"/>
331
+ <tag name="Opaque">
332
+ <term name="OpenStudio Type"/>
333
+ <term name="Typical Application"/>
334
+ <term name="Thickness"/>
335
+ <term name="Sub-Category"/>
336
+ <term name="Stud Spacing"/>
337
+ <term name="Specific Heat"/>
338
+ <term name="Resistance"/>
339
+ <term name="Nominal Stud Width"/>
340
+ <term name="Nominal Header Insulation Resistance"/>
341
+ <term name="Nominal Cavity Insulation Resistance"/>
342
+ <term name="Density"/>
343
+ <term name="Conductivity"/>
344
+ <term name="Category"/>
345
+ <term name="Block Fill Type"/>
346
+ </tag>
347
+ </tag>
348
+ <tag name="Occupant">
349
+ <term name="OpenStudio Type"/>
350
+ <term name="Women Heat Multiplier"/>
351
+ <term name="Total Heat Men"/>
352
+ <term name="Percent Sensible Heat that is Radiant"/>
353
+ <term name="Children Heat Multiplier"/>
354
+ <term name="Carbon Dioxide Generation Rate"/>
355
+ </tag>
356
+ <tag name="On-Site Power Generation">
357
+ <term name="OpenStudio Type"/>
358
+ <tag name="Photovoltaic System">
359
+ <term name="OpenStudio Type"/>
360
+ <tag name="Photovoltaic Module">
361
+ <term name="OpenStudio Type"/>
362
+ <term name="Short Circuit Current"/>
363
+ <term name="Open Circuit Voltage"/>
364
+ <term name="Maximum Power Voltage"/>
365
+ <term name="Maximum Power Current"/>
366
+ <term name="Maximum Power"/>
367
+ <term name="Efficiency at Maximum Power"/>
368
+ <term name="Cell Technology"/>
369
+ <term name="Area"/>
370
+ </tag>
371
+ </tag>
372
+ </tag>
373
+ <tag name="Space Use">
374
+ <term name="OpenStudio Type"/>
375
+ <tag name="Electric Lighting">
376
+ <term name="OpenStudio Type"/>
377
+ <tag name="Lamp Ballast">
378
+ <term name="OpenStudio Type"/>
379
+ <term name="Total Harmonic Distortion"/>
380
+ <term name="Starting Method"/>
381
+ <term name="Product Number"/>
382
+ <term name="Number of Lamps"/>
383
+ <term name="Input Voltage"/>
384
+ <term name="Input Power Factor"/>
385
+ <term name="Input Power"/>
386
+ <term name="Ballast Type"/>
387
+ <term name="Ballast Manufacturer"/>
388
+ <term name="Ballast Factor"/>
389
+ <term name="ANSI Lamp Shape Designation"/>
390
+ </tag>
391
+ <tag name="Non-SSL Lamp">
392
+ <term name="OpenStudio Type"/>
393
+ <term name="Standard Photometric Data"/>
394
+ <term name="Rated Life"/>
395
+ <term name="Product Number"/>
396
+ <term name="Mean Luminous Flux"/>
397
+ <term name="Manufacturer"/>
398
+ <term name="Input Power"/>
399
+ <term name="Initial Luminous Flux"/>
400
+ <term name="Correlated Color Temperature"/>
401
+ <term name="Color Rendering Index"/>
402
+ <term name="ANSI Lamp Shape Designation"/>
403
+ </tag>
404
+ <tag name="Non-SSL Luminaire">
405
+ <term name="OpenStudio Type"/>
406
+ <term name="Standard Photometric Data"/>
407
+ <term name="Number of Lamps"/>
408
+ <term name="Mounting Type"/>
409
+ <term name="Luminaire Product Number"/>
410
+ <term name="Luminaire Manufacturer"/>
411
+ <term name="Light Source Type"/>
412
+ <term name="ANSI Lamp Shape Designation"/>
413
+ </tag>
414
+ <tag name="SSL Luminaire">
415
+ <term name="OpenStudio Type"/>
416
+ <term name="Total Luminous Flux"/>
417
+ <term name="Total Harmonic Distortion"/>
418
+ <term name="Standard Photometric Data"/>
419
+ <term name="Product Number"/>
420
+ <term name="Mounting Type"/>
421
+ <term name="Manufacturer"/>
422
+ <term name="Luminous Efficacy"/>
423
+ <term name="Lumen Maintenance"/>
424
+ <term name="Input Voltage"/>
425
+ <term name="Input Power Factor"/>
426
+ <term name="Input Power"/>
427
+ <term name="Correlated Color Temperature"/>
428
+ <term name="Color Rendering Index"/>
429
+ </tag>
430
+ <tag name="SSL Replacement Lamp">
431
+ <term name="OpenStudio Type"/>
432
+ <term name="Standard Photometric Data"/>
433
+ <term name="Lumen Maintenance"/>
434
+ <term name="Lamp Product Number"/>
435
+ <term name="Lamp Manufacturer"/>
436
+ <term name="Input Power"/>
437
+ <term name="Correlated Color Temperature"/>
438
+ <term name="Color Rendering Index"/>
439
+ <term name="ANSI Lamp Shape Designation"/>
440
+ </tag>
441
+ </tag>
442
+ <tag name="Lighting">
443
+ <term name="OpenStudio Type"/>
444
+ <tag name="SSL Replacement Lamp">
445
+ <term name="OpenStudio Type"/>
446
+ <term name="Initial Luminous Flux"/>
447
+ </tag>
448
+ </tag>
449
+ </tag>
450
+ </tag>
451
+ </schema>