bcl 0.5.9 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +21 -0
  3. data/.rubocop.yml +9 -0
  4. data/CHANGELOG.md +66 -0
  5. data/Gemfile +11 -0
  6. data/License.txt +65 -0
  7. data/README.md +40 -0
  8. data/Rakefile +312 -0
  9. data/bcl.gemspec +39 -0
  10. data/lib/bcl.rb +2 -2
  11. data/lib/bcl/component_methods.rb +12 -13
  12. data/lib/bcl/version.rb +1 -1
  13. data/schemas/v2/component_2012_11_08.xsd +291 -0
  14. data/schemas/v2/measure_2013_3_26.xsd +153 -0
  15. data/schemas/v3/common_bcl_v3.xsd +422 -0
  16. data/schemas/v3/component_v3.xsd +445 -0
  17. data/schemas/v3/measure_v3.xsd +496 -0
  18. metadata +70 -77
  19. data/lib/files/downloads/40237ee0-5ea7-0130-ad9b-14109fdf0b37.tar.gz +0 -0
  20. data/lib/files/staged/components/Asphalt_Shingles_1_8_in/Asphalt_Shingles_1_8_in.tar.gz +0 -0
  21. data/lib/files/staged/components/Asphalt_Shingles_1_8_in/component.xml +0 -81
  22. data/lib/files/staged/components/Built_up_Roofing_3_8_in/Built_up_Roofing_3_8_in.tar.gz +0 -0
  23. data/lib/files/staged/components/Built_up_Roofing_3_8_in/component.xml +0 -76
  24. data/lib/files/staged/components/Metal_Surface_1_16_in/Metal_Surface_1_16_in.tar.gz +0 -0
  25. data/lib/files/staged/components/Metal_Surface_1_16_in/component.xml +0 -76
  26. data/lib/files/staged/components/Shingle_Backer_1_4_in/Shingle_Backer_1_4_in.tar.gz +0 -0
  27. data/lib/files/staged/components/Shingle_Backer_1_4_in/component.xml +0 -81
  28. data/lib/files/staged/components/Shingle_Backer_3_8_in/Shingle_Backer_3_8_in.tar.gz +0 -0
  29. data/lib/files/staged/components/Shingle_Backer_3_8_in/component.xml +0 -81
  30. data/lib/files/staged/components/Wood_Shingles_1_4_in/Wood_Shingles_1_4_in.tar.gz +0 -0
  31. data/lib/files/staged/components/Wood_Shingles_1_4_in/component.xml +0 -81
  32. data/lib/files/staged/gather/1/Asphalt_Shingles_1_8_in.tar.gz +0 -0
  33. data/lib/files/staged/gather/1/Built_up_Roofing_3_8_in.tar.gz +0 -0
  34. data/lib/files/staged/gather/1/Metal_Surface_1_16_in.tar.gz +0 -0
  35. data/lib/files/staged/gather/1/Shingle_Backer_1_4_in.tar.gz +0 -0
  36. data/lib/files/staged/gather/1/Shingle_Backer_3_8_in.tar.gz +0 -0
  37. data/lib/files/staged/gather/1/Wood_Shingles_1_4_in.tar.gz +0 -0
  38. data/lib/files/staged/gather/components_1.tar.gz +0 -0
@@ -0,0 +1,496 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- edited with XMLSpy v2016 (x64) (http://www.altova.com) by kflemin (NREL) -->
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
4
+ <xs:annotation>
5
+ <xs:documentation>Measure.xsd describes the measures that are in the building component library or NREL analysis platform library.</xs:documentation>
6
+ </xs:annotation>
7
+ <xs:element name="schema_version" fixed="3.0">
8
+ <xs:annotation>
9
+ <xs:documentation>schema version</xs:documentation>
10
+ </xs:annotation>
11
+ <xs:simpleType>
12
+ <xs:restriction base="xs:string"/>
13
+ </xs:simpleType>
14
+ </xs:element>
15
+ <xs:element name="uid" type="xs:string">
16
+ <xs:annotation>
17
+ <xs:documentation>universally unique identifier which does not chage</xs:documentation>
18
+ </xs:annotation>
19
+ </xs:element>
20
+ <xs:element name="version_id" type="xs:string">
21
+ <xs:annotation>
22
+ <xs:documentation>identifier which changes each time a new version is created</xs:documentation>
23
+ </xs:annotation>
24
+ </xs:element>
25
+ <xs:element name="version_modified" type="xs:dateTime">
26
+ <xs:annotation>
27
+ <xs:documentation>timestamp at which the current version_id was created</xs:documentation>
28
+ </xs:annotation>
29
+ </xs:element>
30
+ <xs:element name="xml_checksum" type="xs:string">
31
+ <xs:annotation>
32
+ <xs:documentation>checksum of selected xml elements and attributes, used to detect changes to the xml</xs:documentation>
33
+ </xs:annotation>
34
+ </xs:element>
35
+ <xs:element name="error">
36
+ <xs:annotation>
37
+ <xs:documentation>record an error with this component or measure</xs:documentation>
38
+ </xs:annotation>
39
+ </xs:element>
40
+ <xs:element name="name" type="xs:string">
41
+ <xs:annotation>
42
+ <xs:documentation>snake cased machine readable name</xs:documentation>
43
+ </xs:annotation>
44
+ </xs:element>
45
+ <xs:element name="display_name" type="xs:string">
46
+ <xs:annotation>
47
+ <xs:documentation>user facing name</xs:documentation>
48
+ </xs:annotation>
49
+ </xs:element>
50
+ <xs:element name="description" type="xs:string">
51
+ <xs:annotation>
52
+ <xs:documentation>user facing description</xs:documentation>
53
+ </xs:annotation>
54
+ </xs:element>
55
+ <xs:element name="modeler_description" type="xs:string">
56
+ <xs:annotation>
57
+ <xs:documentation>technical description of implementation details</xs:documentation>
58
+ </xs:annotation>
59
+ </xs:element>
60
+ <xs:element name="class_name" type="xs:string">
61
+ <xs:annotation>
62
+ <xs:documentation>for measures only. name of the Ruby class implementing a measure</xs:documentation>
63
+ </xs:annotation>
64
+ </xs:element>
65
+ <xs:element name="arguments">
66
+ <xs:annotation>
67
+ <xs:documentation>for measures only. arguments are computed based on a particular model and passed to the measure at run time. actual values passed to the measure at run time are not captured here, only properties of the arguments </xs:documentation>
68
+ </xs:annotation>
69
+ <xs:complexType>
70
+ <xs:sequence>
71
+ <xs:element name="argument" minOccurs="0" maxOccurs="unbounded">
72
+ <xs:complexType>
73
+ <xs:sequence>
74
+ <xs:element ref="name"/>
75
+ <xs:element ref="display_name"/>
76
+ <xs:element name="short_name" minOccurs="0"/>
77
+ <xs:element ref="description" minOccurs="0"/>
78
+ <xs:element name="type">
79
+ <xs:annotation>
80
+ <xs:documentation>type of the argument</xs:documentation>
81
+ </xs:annotation>
82
+ <xs:simpleType>
83
+ <xs:restriction base="xs:string">
84
+ <xs:enumeration value="Boolean"/>
85
+ <xs:enumeration value="Double"/>
86
+ <xs:enumeration value="Integer"/>
87
+ <xs:enumeration value="String"/>
88
+ <xs:enumeration value="Choice"/>
89
+ <xs:enumeration value="Path"/>
90
+ </xs:restriction>
91
+ </xs:simpleType>
92
+ </xs:element>
93
+ <xs:element name="units" type="xs:string" minOccurs="0">
94
+ <xs:annotation>
95
+ <xs:documentation>units of the argument value in format parsable by OpenStudio::convert</xs:documentation>
96
+ </xs:annotation>
97
+ </xs:element>
98
+ <xs:element name="required" type="xs:boolean">
99
+ <xs:annotation>
100
+ <xs:documentation>true if the argument is required in order for the measure to run</xs:documentation>
101
+ </xs:annotation>
102
+ </xs:element>
103
+ <xs:element name="model_dependent" type="xs:boolean" default="false">
104
+ <xs:annotation>
105
+ <xs:documentation>true if any of this argument's properties depend on the specific model used. default_value, choice_values, min_value, and max_value will not be populated for dynamic arguments</xs:documentation>
106
+ </xs:annotation>
107
+ </xs:element>
108
+ <xs:element name="default_value" type="xs:anySimpleType" minOccurs="0">
109
+ <xs:annotation>
110
+ <xs:documentation>default value for the argument</xs:documentation>
111
+ </xs:annotation>
112
+ </xs:element>
113
+ <xs:element name="choices" minOccurs="0">
114
+ <xs:annotation>
115
+ <xs:documentation>list of allowable values</xs:documentation>
116
+ </xs:annotation>
117
+ <xs:complexType>
118
+ <xs:sequence>
119
+ <xs:element name="choice" maxOccurs="unbounded">
120
+ <xs:complexType>
121
+ <xs:sequence>
122
+ <xs:element name="value" type="xs:anySimpleType">
123
+ <xs:annotation>
124
+ <xs:documentation>allowable value</xs:documentation>
125
+ </xs:annotation>
126
+ </xs:element>
127
+ <xs:element name="display_name" type="xs:string">
128
+ <xs:annotation>
129
+ <xs:documentation>user facing name for value</xs:documentation>
130
+ </xs:annotation>
131
+ </xs:element>
132
+ </xs:sequence>
133
+ </xs:complexType>
134
+ </xs:element>
135
+ </xs:sequence>
136
+ </xs:complexType>
137
+ </xs:element>
138
+ <xs:element name="min_value" type="xs:anySimpleType" minOccurs="0">
139
+ <xs:annotation>
140
+ <xs:documentation>minimum value</xs:documentation>
141
+ </xs:annotation>
142
+ </xs:element>
143
+ <xs:element name="max_value" type="xs:anySimpleType" minOccurs="0">
144
+ <xs:annotation>
145
+ <xs:documentation>maximum value</xs:documentation>
146
+ </xs:annotation>
147
+ </xs:element>
148
+ <xs:element name="model_dependent" type="xs:boolean" default="false">
149
+ <xs:annotation>
150
+ <xs:documentation>true if any of this argument's properties depend on the specific model used. default_value, choice_values, min_value, and max_value will not be populated for dynamic arguments</xs:documentation>
151
+ </xs:annotation>
152
+ </xs:element>
153
+ </xs:sequence>
154
+ </xs:complexType>
155
+ </xs:element>
156
+ </xs:sequence>
157
+ </xs:complexType>
158
+ </xs:element>
159
+ <xs:element name="masterguide_csi_values">
160
+ <xs:annotation>
161
+ <xs:documentation>for components only. values from the MASTERSPEC</xs:documentation>
162
+ </xs:annotation>
163
+ <xs:complexType>
164
+ <xs:sequence>
165
+ <xs:element name="masterguide_csi_value" maxOccurs="unbounded"/>
166
+ </xs:sequence>
167
+ </xs:complexType>
168
+ </xs:element>
169
+ <xs:element name="source">
170
+ <xs:annotation>
171
+ <xs:documentation>for components only. source of the data (the origin of the component information)</xs:documentation>
172
+ </xs:annotation>
173
+ <xs:complexType>
174
+ <xs:sequence minOccurs="0">
175
+ <xs:element name="manufacturer" type="xs:string" minOccurs="0"/>
176
+ <xs:element name="model" minOccurs="0"/>
177
+ <xs:element name="serial_no" minOccurs="0"/>
178
+ <xs:element name="year" minOccurs="0"/>
179
+ <xs:element name="url" minOccurs="0"/>
180
+ </xs:sequence>
181
+ </xs:complexType>
182
+ </xs:element>
183
+ <xs:element name="provenances">
184
+ <xs:annotation>
185
+ <xs:documentation>provenance is used to enter author information. </xs:documentation>
186
+ </xs:annotation>
187
+ <xs:complexType>
188
+ <xs:sequence>
189
+ <xs:element name="provenance" minOccurs="0" maxOccurs="unbounded">
190
+ <xs:complexType>
191
+ <xs:sequence>
192
+ <xs:element name="author" type="xs:string">
193
+ <xs:annotation>
194
+ <xs:documentation>author who uploaded the content, will be equal to the user account on the bcl site</xs:documentation>
195
+ </xs:annotation>
196
+ </xs:element>
197
+ <xs:element name="datetime" type="xs:dateTime">
198
+ <xs:annotation>
199
+ <xs:documentation>date content was uploaded</xs:documentation>
200
+ </xs:annotation>
201
+ </xs:element>
202
+ <xs:element name="comment" type="xs:string" minOccurs="0">
203
+ <xs:annotation>
204
+ <xs:documentation>general comment</xs:documentation>
205
+ </xs:annotation>
206
+ </xs:element>
207
+ </xs:sequence>
208
+ </xs:complexType>
209
+ </xs:element>
210
+ </xs:sequence>
211
+ </xs:complexType>
212
+ </xs:element>
213
+ <xs:element name="tags">
214
+ <xs:annotation>
215
+ <xs:documentation>tags are used to classify the content using the appropriate taxonomy. currently only one tag per piece of content is supported.</xs:documentation>
216
+ </xs:annotation>
217
+ <xs:complexType>
218
+ <xs:sequence>
219
+ <xs:element name="tag" type="xs:string" maxOccurs="unbounded"/>
220
+ </xs:sequence>
221
+ </xs:complexType>
222
+ </xs:element>
223
+ <xs:element name="attributes">
224
+ <xs:annotation>
225
+ <xs:documentation>attributes are descriptors of the content. attributes should be found in the corresponding taxonomy</xs:documentation>
226
+ </xs:annotation>
227
+ <xs:complexType>
228
+ <xs:sequence>
229
+ <xs:element name="attribute" minOccurs="0" maxOccurs="unbounded">
230
+ <xs:complexType>
231
+ <xs:sequence>
232
+ <xs:element name="name" type="xs:string">
233
+ <xs:annotation>
234
+ <xs:documentation>user facing attribute name (should be found in appropriate taxonomy)</xs:documentation>
235
+ </xs:annotation>
236
+ </xs:element>
237
+ <xs:element name="value" type="xs:anySimpleType"/>
238
+ <xs:element name="datatype">
239
+ <xs:simpleType>
240
+ <xs:restriction base="xs:string">
241
+ <xs:enumeration value="float"/>
242
+ <xs:enumeration value="integer"/>
243
+ <xs:enumeration value="string"/>
244
+ <xs:enumeration value="boolean"/>
245
+ </xs:restriction>
246
+ </xs:simpleType>
247
+ </xs:element>
248
+ <xs:element name="units" type="xs:string" minOccurs="0"/>
249
+ </xs:sequence>
250
+ </xs:complexType>
251
+ </xs:element>
252
+ </xs:sequence>
253
+ </xs:complexType>
254
+ </xs:element>
255
+ <xs:element name="files">
256
+ <xs:annotation>
257
+ <xs:documentation>files lists details on all of the files associated with this piece content</xs:documentation>
258
+ </xs:annotation>
259
+ <xs:complexType>
260
+ <xs:sequence>
261
+ <xs:element name="file" minOccurs="0" maxOccurs="unbounded">
262
+ <xs:complexType>
263
+ <xs:sequence>
264
+ <xs:element name="version" minOccurs="0">
265
+ <xs:complexType>
266
+ <xs:sequence>
267
+ <xs:element name="software_program" type="xs:string">
268
+ <xs:annotation>
269
+ <xs:documentation>software program the file is associated with</xs:documentation>
270
+ </xs:annotation>
271
+ </xs:element>
272
+ <xs:element name="identifier" type="xs:string">
273
+ <xs:annotation>
274
+ <xs:documentation>version of software program that this file is associated with</xs:documentation>
275
+ </xs:annotation>
276
+ </xs:element>
277
+ <xs:element name="min_compatible" minOccurs="0">
278
+ <xs:annotation>
279
+ <xs:documentation>minimum version of the software this file is compatible with, if not specified assumed to be the version identifier</xs:documentation>
280
+ </xs:annotation>
281
+ </xs:element>
282
+ <xs:element name="max_compatible" minOccurs="0">
283
+ <xs:annotation>
284
+ <xs:documentation>maximum version of the software this file is compatible with, if not specified assumed to be any version min_compatible or higher</xs:documentation>
285
+ </xs:annotation>
286
+ </xs:element>
287
+ </xs:sequence>
288
+ </xs:complexType>
289
+ </xs:element>
290
+ <xs:element name="filename" type="xs:string">
291
+ <xs:annotation>
292
+ <xs:documentation>name of the file</xs:documentation>
293
+ </xs:annotation>
294
+ </xs:element>
295
+ <xs:element name="filetype" type="xs:string">
296
+ <xs:annotation>
297
+ <xs:documentation>ies, idf, </xs:documentation>
298
+ </xs:annotation>
299
+ </xs:element>
300
+ <xs:element name="usage_type">
301
+ <xs:annotation>
302
+ <xs:documentation>identifies the directory to search for the file in </xs:documentation>
303
+ </xs:annotation>
304
+ <xs:simpleType>
305
+ <xs:restriction base="xs:string">
306
+ <xs:enumeration value="script"/>
307
+ <xs:enumeration value="test"/>
308
+ <xs:enumeration value="resource"/>
309
+ <xs:enumeration value="doc"/>
310
+ <xs:enumeration value="license"/>
311
+ <xs:enumeration value="readme"/>
312
+ <xs:enumeration value="readmeerb"/>
313
+ </xs:restriction>
314
+ </xs:simpleType>
315
+ </xs:element>
316
+ <xs:element name="checksum" type="xs:string">
317
+ <xs:annotation>
318
+ <xs:documentation>checksum of the file as computed by OpenStudio::checksum</xs:documentation>
319
+ </xs:annotation>
320
+ </xs:element>
321
+ </xs:sequence>
322
+ </xs:complexType>
323
+ </xs:element>
324
+ </xs:sequence>
325
+ </xs:complexType>
326
+ </xs:element>
327
+ <xs:element name="costs">
328
+ <xs:complexType>
329
+ <xs:sequence>
330
+ <xs:element name="cost" minOccurs="0" maxOccurs="unbounded">
331
+ <xs:complexType>
332
+ <xs:sequence>
333
+ <xs:element name="instance_name" type="xs:string">
334
+ <xs:annotation>
335
+ <xs:documentation>name of cost for reference</xs:documentation>
336
+ </xs:annotation>
337
+ </xs:element>
338
+ <xs:element name="cost_type">
339
+ <xs:annotation>
340
+ <xs:documentation>type of cost, includes low, high, average, estimate, etc</xs:documentation>
341
+ </xs:annotation>
342
+ <xs:simpleType>
343
+ <xs:restriction base="xs:string">
344
+ <xs:enumeration value="low"/>
345
+ <xs:enumeration value="high"/>
346
+ <xs:enumeration value="average"/>
347
+ <xs:enumeration value="estimate"/>
348
+ </xs:restriction>
349
+ </xs:simpleType>
350
+ </xs:element>
351
+ <xs:element name="category">
352
+ <xs:annotation>
353
+ <xs:documentation>ex: operations and maintenance cost, salvage cost, materials cost, installation cost, upgrade cost, etc.</xs:documentation>
354
+ </xs:annotation>
355
+ </xs:element>
356
+ <xs:element name="value" type="xs:float">
357
+ <xs:annotation>
358
+ <xs:documentation>cost value based on the supplemntal fields</xs:documentation>
359
+ </xs:annotation>
360
+ </xs:element>
361
+ <xs:element name="units" minOccurs="0">
362
+ <xs:annotation>
363
+ <xs:documentation>cost unit. If blank, absolute cost is assumed. ex: $/ft2, $/person, etc.</xs:documentation>
364
+ </xs:annotation>
365
+ </xs:element>
366
+ <xs:element name="interval" minOccurs="0">
367
+ <xs:annotation>
368
+ <xs:documentation>number describing the interval on which this cost is incurred. ex: 1, 6, 12. Use 0 for onetime costs</xs:documentation>
369
+ </xs:annotation>
370
+ </xs:element>
371
+ <xs:element name="interval_units" minOccurs="0">
372
+ <xs:annotation>
373
+ <xs:documentation>interval units. ex: day, month, year, etc.</xs:documentation>
374
+ </xs:annotation>
375
+ <xs:simpleType>
376
+ <xs:restriction base="xs:string">
377
+ <xs:enumeration value="year(s)"/>
378
+ <xs:enumeration value="month(s)"/>
379
+ <xs:enumeration value="day(s)"/>
380
+ </xs:restriction>
381
+ </xs:simpleType>
382
+ </xs:element>
383
+ <xs:element name="year" type="xs:int" minOccurs="0">
384
+ <xs:annotation>
385
+ <xs:documentation>source year of the costs</xs:documentation>
386
+ </xs:annotation>
387
+ </xs:element>
388
+ <xs:element name="start_year" minOccurs="0">
389
+ <xs:annotation>
390
+ <xs:documentation>define when this cost will start to incur. Useful when you may not want maintenance costs to start until n years after construction</xs:documentation>
391
+ </xs:annotation>
392
+ </xs:element>
393
+ <xs:element name="end_year" minOccurs="0">
394
+ <xs:annotation>
395
+ <xs:documentation>define whne this cost will stop incurring.</xs:documentation>
396
+ </xs:annotation>
397
+ </xs:element>
398
+ <xs:element name="location" minOccurs="0">
399
+ <xs:annotation>
400
+ <xs:documentation>the geographic location where the component was costed (i.e. national, colorado, denver, etc). By default all values should be national averages.</xs:documentation>
401
+ </xs:annotation>
402
+ </xs:element>
403
+ <xs:element name="currency" minOccurs="0">
404
+ <xs:annotation>
405
+ <xs:documentation>the currency of the cost. If blank, USD is assumed.</xs:documentation>
406
+ </xs:annotation>
407
+ </xs:element>
408
+ <xs:element name="source" type="xs:string" minOccurs="0">
409
+ <xs:annotation>
410
+ <xs:documentation>origin from which the cost data came</xs:documentation>
411
+ </xs:annotation>
412
+ </xs:element>
413
+ <xs:element name="reference_component_name" minOccurs="0">
414
+ <xs:annotation>
415
+ <xs:documentation>display name of reference component prior to retrofit (for marginal costs)</xs:documentation>
416
+ </xs:annotation>
417
+ </xs:element>
418
+ <xs:element name="reference_component_id" minOccurs="0">
419
+ <xs:annotation>
420
+ <xs:documentation>ID of reference component prior to retrofit (for marginal costs)</xs:documentation>
421
+ </xs:annotation>
422
+ </xs:element>
423
+ </xs:sequence>
424
+ </xs:complexType>
425
+ </xs:element>
426
+ </xs:sequence>
427
+ </xs:complexType>
428
+ </xs:element>
429
+ <xs:element name="measure">
430
+ <xs:annotation>
431
+ <xs:documentation>root element defining a measure</xs:documentation>
432
+ </xs:annotation>
433
+ <xs:complexType>
434
+ <xs:sequence>
435
+ <xs:element ref="schema_version"/>
436
+ <xs:element ref="error" minOccurs="0"/>
437
+ <xs:element ref="name"/>
438
+ <xs:element ref="uid"/>
439
+ <xs:element ref="version_id"/>
440
+ <xs:element ref="version_modified" minOccurs="0"/>
441
+ <xs:element ref="xml_checksum"/>
442
+ <xs:element ref="class_name"/>
443
+ <xs:element ref="display_name"/>
444
+ <xs:element ref="description"/>
445
+ <xs:element ref="modeler_description"/>
446
+ <xs:element ref="arguments"/>
447
+ <xs:element ref="provenances"/>
448
+ <xs:element ref="tags"/>
449
+ <xs:element ref="attributes"/>
450
+ <xs:element ref="files"/>
451
+ <xs:element ref="outputs"/>
452
+ </xs:sequence>
453
+ </xs:complexType>
454
+ </xs:element>
455
+ <xs:element name="outputs">
456
+ <xs:annotation>
457
+ <xs:documentation>for measures ony. Outputs represent the output values to include in analysis results</xs:documentation>
458
+ </xs:annotation>
459
+ <xs:complexType>
460
+ <xs:sequence>
461
+ <xs:element name="output" minOccurs="0" maxOccurs="unbounded">
462
+ <xs:complexType>
463
+ <xs:sequence>
464
+ <xs:element ref="name"/>
465
+ <xs:element ref="display_name"/>
466
+ <xs:element name="short_name" type="xs:string" minOccurs="0"/>
467
+ <xs:element ref="description" minOccurs="0"/>
468
+ <xs:element name="type">
469
+ <xs:simpleType>
470
+ <xs:restriction base="xs:string">
471
+ <xs:enumeration value="Boolean"/>
472
+ <xs:enumeration value="Double"/>
473
+ <xs:enumeration value="Integer"/>
474
+ <xs:enumeration value="String"/>
475
+ <xs:enumeration value="Choice"/>
476
+ <xs:enumeration value="Path"/>
477
+ </xs:restriction>
478
+ </xs:simpleType>
479
+ </xs:element>
480
+ <xs:element name="units" type="xs:string" minOccurs="0">
481
+ <xs:annotation>
482
+ <xs:documentation>units of the output value in format parsable by OpenStudio::convert</xs:documentation>
483
+ </xs:annotation>
484
+ </xs:element>
485
+ <xs:element name="model_dependent" type="xs:boolean" default="false">
486
+ <xs:annotation>
487
+ <xs:documentation>true if any of this output's properties depend on the specific model used.</xs:documentation>
488
+ </xs:annotation>
489
+ </xs:element>
490
+ </xs:sequence>
491
+ </xs:complexType>
492
+ </xs:element>
493
+ </xs:sequence>
494
+ </xs:complexType>
495
+ </xs:element>
496
+ </xs:schema>