tbd 3.0.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 (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitattributes +3 -0
  3. data/.github/workflows/pull_request.yml +72 -0
  4. data/.gitignore +23 -0
  5. data/.rspec +3 -0
  6. data/Gemfile +3 -0
  7. data/LICENSE.md +21 -0
  8. data/README.md +154 -0
  9. data/Rakefile +60 -0
  10. data/json/midrise.json +64 -0
  11. data/json/tbd_5ZoneNoHVAC.json +19 -0
  12. data/json/tbd_5ZoneNoHVAC_btap.json +91 -0
  13. data/json/tbd_seb_n2.json +41 -0
  14. data/json/tbd_seb_n4.json +57 -0
  15. data/json/tbd_warehouse10.json +24 -0
  16. data/json/tbd_warehouse5.json +37 -0
  17. data/lib/measures/tbd/LICENSE.md +21 -0
  18. data/lib/measures/tbd/README.md +136 -0
  19. data/lib/measures/tbd/README.md.erb +42 -0
  20. data/lib/measures/tbd/docs/.gitkeep +1 -0
  21. data/lib/measures/tbd/measure.rb +327 -0
  22. data/lib/measures/tbd/measure.xml +460 -0
  23. data/lib/measures/tbd/resources/geo.rb +714 -0
  24. data/lib/measures/tbd/resources/geometry.rb +351 -0
  25. data/lib/measures/tbd/resources/model.rb +1431 -0
  26. data/lib/measures/tbd/resources/oslog.rb +381 -0
  27. data/lib/measures/tbd/resources/psi.rb +2229 -0
  28. data/lib/measures/tbd/resources/tbd.rb +55 -0
  29. data/lib/measures/tbd/resources/transformation.rb +121 -0
  30. data/lib/measures/tbd/resources/ua.rb +986 -0
  31. data/lib/measures/tbd/resources/utils.rb +1636 -0
  32. data/lib/measures/tbd/resources/version.rb +3 -0
  33. data/lib/measures/tbd/tests/tbd_full_PSI.json +17 -0
  34. data/lib/measures/tbd/tests/tbd_tests.rb +222 -0
  35. data/lib/tbd/geo.rb +714 -0
  36. data/lib/tbd/psi.rb +2229 -0
  37. data/lib/tbd/ua.rb +986 -0
  38. data/lib/tbd/version.rb +25 -0
  39. data/lib/tbd.rb +93 -0
  40. data/sponsors/canada.png +0 -0
  41. data/sponsors/quebec.png +0 -0
  42. data/tbd.gemspec +43 -0
  43. data/tbd.schema.json +571 -0
  44. data/v291_MacOS.md +110 -0
  45. metadata +191 -0
@@ -0,0 +1,460 @@
1
+ <?xml version="1.0"?>
2
+ <measure>
3
+ <schema_version>3.0</schema_version>
4
+ <name>tbd_measure</name>
5
+ <uid>8890787b-8c25-4dc8-8641-b6be1b6c2357</uid>
6
+ <version_id>88c42d96-b8a3-4848-99eb-0bf5dd11aec3</version_id>
7
+ <version_modified>20220824T114035Z</version_modified>
8
+ <xml_checksum>99772807</xml_checksum>
9
+ <class_name>TBDMeasure</class_name>
10
+ <display_name>Thermal Bridging and Derating - TBD</display_name>
11
+ <description>Derates opaque constructions from major thermal bridges.</description>
12
+ <modeler_description>Check out rd2.github.io/tbd</modeler_description>
13
+ <arguments>
14
+ <argument>
15
+ <name>alter_model</name>
16
+ <display_name>Alter OpenStudio model (Apply Measures Now)</display_name>
17
+ <description>For EnergyPlus simulations, leave CHECKED. For iterative exploration with Apply Measures Now, UNCHECK to preserve original OpenStudio model.</description>
18
+ <type>Boolean</type>
19
+ <required>false</required>
20
+ <model_dependent>false</model_dependent>
21
+ <default_value>true</default_value>
22
+ <choices>
23
+ <choice>
24
+ <value>true</value>
25
+ <display_name>true</display_name>
26
+ </choice>
27
+ <choice>
28
+ <value>false</value>
29
+ <display_name>false</display_name>
30
+ </choice>
31
+ </choices>
32
+ </argument>
33
+ <argument>
34
+ <name>load_tbd_json</name>
35
+ <display_name>Load 'tbd.json'</display_name>
36
+ <description>Loads existing 'tbd.json' file (under '/files'), may override 'default thermal bridge' set.</description>
37
+ <type>Boolean</type>
38
+ <required>false</required>
39
+ <model_dependent>false</model_dependent>
40
+ <default_value>false</default_value>
41
+ <choices>
42
+ <choice>
43
+ <value>true</value>
44
+ <display_name>true</display_name>
45
+ </choice>
46
+ <choice>
47
+ <value>false</value>
48
+ <display_name>false</display_name>
49
+ </choice>
50
+ </choices>
51
+ </argument>
52
+ <argument>
53
+ <name>option</name>
54
+ <display_name>Default thermal bridge set</display_name>
55
+ <description>e.g. 'poor', 'regular', 'efficient', 'code' (may be overridden by 'tbd.json' file).</description>
56
+ <type>Choice</type>
57
+ <required>false</required>
58
+ <model_dependent>false</model_dependent>
59
+ <default_value>poor (BETBG)</default_value>
60
+ <choices>
61
+ <choice>
62
+ <value>poor (BETBG)</value>
63
+ <display_name>poor (BETBG)</display_name>
64
+ </choice>
65
+ <choice>
66
+ <value>regular (BETBG)</value>
67
+ <display_name>regular (BETBG)</display_name>
68
+ </choice>
69
+ <choice>
70
+ <value>efficient (BETBG)</value>
71
+ <display_name>efficient (BETBG)</display_name>
72
+ </choice>
73
+ <choice>
74
+ <value>spandrel (BETBG)</value>
75
+ <display_name>spandrel (BETBG)</display_name>
76
+ </choice>
77
+ <choice>
78
+ <value>spandrel HP (BETBG)</value>
79
+ <display_name>spandrel HP (BETBG)</display_name>
80
+ </choice>
81
+ <choice>
82
+ <value>code (Quebec)</value>
83
+ <display_name>code (Quebec)</display_name>
84
+ </choice>
85
+ <choice>
86
+ <value>uncompliant (Quebec)</value>
87
+ <display_name>uncompliant (Quebec)</display_name>
88
+ </choice>
89
+ <choice>
90
+ <value>(non thermal bridging)</value>
91
+ <display_name>(non thermal bridging)</display_name>
92
+ </choice>
93
+ </choices>
94
+ </argument>
95
+ <argument>
96
+ <name>write_tbd_json</name>
97
+ <display_name>Write 'tbd.out.json'</display_name>
98
+ <description>Write out 'tbd.out.json' file e.g., to customize for subsequent runs (edit, and place under '/files' as 'tbd.json').</description>
99
+ <type>Boolean</type>
100
+ <required>false</required>
101
+ <model_dependent>false</model_dependent>
102
+ <default_value>false</default_value>
103
+ <choices>
104
+ <choice>
105
+ <value>true</value>
106
+ <display_name>true</display_name>
107
+ </choice>
108
+ <choice>
109
+ <value>false</value>
110
+ <display_name>false</display_name>
111
+ </choice>
112
+ </choices>
113
+ </argument>
114
+ <argument>
115
+ <name>wall_option</name>
116
+ <display_name>Wall construction(s) to 'uprate'</display_name>
117
+ <description>Target 1x (or 'ALL') wall construction(s) to 'uprate', to achieve wall Ut target below.</description>
118
+ <type>Choice</type>
119
+ <required>false</required>
120
+ <model_dependent>false</model_dependent>
121
+ <default_value>NONE</default_value>
122
+ <choices>
123
+ <choice>
124
+ <value>ALL wall constructions</value>
125
+ <display_name>ALL wall constructions</display_name>
126
+ </choice>
127
+ <choice>
128
+ <value>NONE</value>
129
+ <display_name>NONE</display_name>
130
+ </choice>
131
+ </choices>
132
+ </argument>
133
+ <argument>
134
+ <name>roof_option</name>
135
+ <display_name>Roof construction(s) to 'uprate'</display_name>
136
+ <description>Target 1x (or 'ALL') roof construction(s) to 'uprate', to achieve roof Ut target below.</description>
137
+ <type>Choice</type>
138
+ <required>false</required>
139
+ <model_dependent>false</model_dependent>
140
+ <default_value>NONE</default_value>
141
+ <choices>
142
+ <choice>
143
+ <value>ALL roof constructions</value>
144
+ <display_name>ALL roof constructions</display_name>
145
+ </choice>
146
+ <choice>
147
+ <value>NONE</value>
148
+ <display_name>NONE</display_name>
149
+ </choice>
150
+ </choices>
151
+ </argument>
152
+ <argument>
153
+ <name>floor_option</name>
154
+ <display_name>Floor construction(s) to 'uprate'</display_name>
155
+ <description>Target 1x (or 'ALL') floor construction(s) to 'uprate', to achieve floor Ut target below.</description>
156
+ <type>Choice</type>
157
+ <required>false</required>
158
+ <model_dependent>false</model_dependent>
159
+ <default_value>NONE</default_value>
160
+ <choices>
161
+ <choice>
162
+ <value>ALL floor constructions</value>
163
+ <display_name>ALL floor constructions</display_name>
164
+ </choice>
165
+ <choice>
166
+ <value>NONE</value>
167
+ <display_name>NONE</display_name>
168
+ </choice>
169
+ </choices>
170
+ </argument>
171
+ <argument>
172
+ <name>wall_ut</name>
173
+ <display_name>Wall Ut target (W/m2•K)</display_name>
174
+ <description>Overall Ut target to meet for wall construction(s). Ignored if previous wall 'uprate' option is set to 'NONE'.</description>
175
+ <type>Double</type>
176
+ <required>false</required>
177
+ <model_dependent>false</model_dependent>
178
+ <default_value>0.21</default_value>
179
+ </argument>
180
+ <argument>
181
+ <name>roof_ut</name>
182
+ <display_name>Roof Ut target (W/m2•K)</display_name>
183
+ <description>Overall Ut target to meet for roof construction(s). Ignored if previous roof 'uprate' option is set to 'NONE'.</description>
184
+ <type>Double</type>
185
+ <required>false</required>
186
+ <model_dependent>false</model_dependent>
187
+ <default_value>0.138</default_value>
188
+ </argument>
189
+ <argument>
190
+ <name>floor_ut</name>
191
+ <display_name>Floor Ut target (W/m2•K)</display_name>
192
+ <description>Overall Ut target to meet for floor construction(s). Ignored if previous floor 'uprate' option is set to 'NONE'.</description>
193
+ <type>Double</type>
194
+ <required>false</required>
195
+ <model_dependent>false</model_dependent>
196
+ <default_value>0.162</default_value>
197
+ </argument>
198
+ <argument>
199
+ <name>gen_UA_report</name>
200
+ <display_name>Generate UA' report</display_name>
201
+ <description>Compare ∑U•A + ∑PSI•L + ∑KHI•n : 'Design' vs UA' reference (see pull-down option below).</description>
202
+ <type>Boolean</type>
203
+ <required>false</required>
204
+ <model_dependent>false</model_dependent>
205
+ <default_value>false</default_value>
206
+ <choices>
207
+ <choice>
208
+ <value>true</value>
209
+ <display_name>true</display_name>
210
+ </choice>
211
+ <choice>
212
+ <value>false</value>
213
+ <display_name>false</display_name>
214
+ </choice>
215
+ </choices>
216
+ </argument>
217
+ <argument>
218
+ <name>ua_reference</name>
219
+ <display_name>UA' reference</display_name>
220
+ <description>e.g. 'poor', 'regular', 'efficient', 'code'.</description>
221
+ <type>Choice</type>
222
+ <required>true</required>
223
+ <model_dependent>false</model_dependent>
224
+ <default_value>code (Quebec)</default_value>
225
+ <choices>
226
+ <choice>
227
+ <value>poor (BETBG)</value>
228
+ <display_name>poor (BETBG)</display_name>
229
+ </choice>
230
+ <choice>
231
+ <value>regular (BETBG)</value>
232
+ <display_name>regular (BETBG)</display_name>
233
+ </choice>
234
+ <choice>
235
+ <value>efficient (BETBG)</value>
236
+ <display_name>efficient (BETBG)</display_name>
237
+ </choice>
238
+ <choice>
239
+ <value>spandrel (BETBG)</value>
240
+ <display_name>spandrel (BETBG)</display_name>
241
+ </choice>
242
+ <choice>
243
+ <value>spandrel HP (BETBG)</value>
244
+ <display_name>spandrel HP (BETBG)</display_name>
245
+ </choice>
246
+ <choice>
247
+ <value>code (Quebec)</value>
248
+ <display_name>code (Quebec)</display_name>
249
+ </choice>
250
+ <choice>
251
+ <value>uncompliant (Quebec)</value>
252
+ <display_name>uncompliant (Quebec)</display_name>
253
+ </choice>
254
+ <choice>
255
+ <value>(non thermal bridging)</value>
256
+ <display_name>(non thermal bridging)</display_name>
257
+ </choice>
258
+ </choices>
259
+ </argument>
260
+ <argument>
261
+ <name>gen_kiva</name>
262
+ <display_name>Generate Kiva inputs</display_name>
263
+ <description>Generates Kiva settings &amp; objects for surfaces with 'foundation' boundary conditions (not 'ground').</description>
264
+ <type>Boolean</type>
265
+ <required>false</required>
266
+ <model_dependent>false</model_dependent>
267
+ <default_value>false</default_value>
268
+ <choices>
269
+ <choice>
270
+ <value>true</value>
271
+ <display_name>true</display_name>
272
+ </choice>
273
+ <choice>
274
+ <value>false</value>
275
+ <display_name>false</display_name>
276
+ </choice>
277
+ </choices>
278
+ </argument>
279
+ <argument>
280
+ <name>gen_kiva_force</name>
281
+ <display_name>Force-generate Kiva inputs</display_name>
282
+ <description>Overwrites 'ground' boundary conditions as 'foundation' before generating Kiva inputs (recommended).</description>
283
+ <type>Boolean</type>
284
+ <required>false</required>
285
+ <model_dependent>false</model_dependent>
286
+ <default_value>false</default_value>
287
+ <choices>
288
+ <choice>
289
+ <value>true</value>
290
+ <display_name>true</display_name>
291
+ </choice>
292
+ <choice>
293
+ <value>false</value>
294
+ <display_name>false</display_name>
295
+ </choice>
296
+ </choices>
297
+ </argument>
298
+ </arguments>
299
+ <outputs />
300
+ <provenances />
301
+ <tags>
302
+ <tag>Envelope.Opaque</tag>
303
+ </tags>
304
+ <attributes>
305
+ <attribute>
306
+ <name>Measure Type</name>
307
+ <value>ModelMeasure</value>
308
+ <datatype>string</datatype>
309
+ </attribute>
310
+ <attribute>
311
+ <name>Intended Software Tool</name>
312
+ <value>Apply Measure Now</value>
313
+ <datatype>string</datatype>
314
+ </attribute>
315
+ <attribute>
316
+ <name>Intended Software Tool</name>
317
+ <value>OpenStudio Application</value>
318
+ <datatype>string</datatype>
319
+ </attribute>
320
+ <attribute>
321
+ <name>Intended Software Tool</name>
322
+ <value>Parametric Analysis Tool</value>
323
+ <datatype>string</datatype>
324
+ </attribute>
325
+ <attribute>
326
+ <name>Intended Use Case</name>
327
+ <value>Model Articulation</value>
328
+ <datatype>string</datatype>
329
+ </attribute>
330
+ <attribute>
331
+ <name>Intended Use Case</name>
332
+ <value>Calibration</value>
333
+ <datatype>string</datatype>
334
+ </attribute>
335
+ <attribute>
336
+ <name>Intended Use Case</name>
337
+ <value>Sensitivity Analysis</value>
338
+ <datatype>string</datatype>
339
+ </attribute>
340
+ <attribute>
341
+ <name>Intended Use Case</name>
342
+ <value>New Construction EE</value>
343
+ <datatype>string</datatype>
344
+ </attribute>
345
+ <attribute>
346
+ <name>Intended Use Case</name>
347
+ <value>Retrofit EE</value>
348
+ <datatype>string</datatype>
349
+ </attribute>
350
+ </attributes>
351
+ <files>
352
+ <file>
353
+ <filename>README.md.erb</filename>
354
+ <filetype>erb</filetype>
355
+ <usage_type>readmeerb</usage_type>
356
+ <checksum>703C9964</checksum>
357
+ </file>
358
+ <file>
359
+ <filename>tbd_full_PSI.json</filename>
360
+ <filetype>json</filetype>
361
+ <usage_type>test</usage_type>
362
+ <checksum>0AAEA490</checksum>
363
+ </file>
364
+ <file>
365
+ <filename>transformation.rb</filename>
366
+ <filetype>rb</filetype>
367
+ <usage_type>resource</usage_type>
368
+ <checksum>8EC912F6</checksum>
369
+ </file>
370
+ <file>
371
+ <filename>.gitkeep</filename>
372
+ <filetype>gitkeep</filetype>
373
+ <usage_type>doc</usage_type>
374
+ <checksum>32D70693</checksum>
375
+ </file>
376
+ <file>
377
+ <filename>LICENSE.md</filename>
378
+ <filetype>md</filetype>
379
+ <usage_type>license</usage_type>
380
+ <checksum>CB393A2B</checksum>
381
+ </file>
382
+ <file>
383
+ <filename>geometry.rb</filename>
384
+ <filetype>rb</filetype>
385
+ <usage_type>resource</usage_type>
386
+ <checksum>D80E9AE6</checksum>
387
+ </file>
388
+ <file>
389
+ <filename>model.rb</filename>
390
+ <filetype>rb</filetype>
391
+ <usage_type>resource</usage_type>
392
+ <checksum>57ED37BF</checksum>
393
+ </file>
394
+ <file>
395
+ <filename>version.rb</filename>
396
+ <filetype>rb</filetype>
397
+ <usage_type>resource</usage_type>
398
+ <checksum>05CC939E</checksum>
399
+ </file>
400
+ <file>
401
+ <filename>oslog.rb</filename>
402
+ <filetype>rb</filetype>
403
+ <usage_type>resource</usage_type>
404
+ <checksum>6F3C0E99</checksum>
405
+ </file>
406
+ <file>
407
+ <filename>tbd.rb</filename>
408
+ <filetype>rb</filetype>
409
+ <usage_type>resource</usage_type>
410
+ <checksum>3776D81D</checksum>
411
+ </file>
412
+ <file>
413
+ <filename>utils.rb</filename>
414
+ <filetype>rb</filetype>
415
+ <usage_type>resource</usage_type>
416
+ <checksum>54F57409</checksum>
417
+ </file>
418
+ <file>
419
+ <filename>README.md</filename>
420
+ <filetype>md</filetype>
421
+ <usage_type>readme</usage_type>
422
+ <checksum>36FA11E3</checksum>
423
+ </file>
424
+ <file>
425
+ <filename>geo.rb</filename>
426
+ <filetype>rb</filetype>
427
+ <usage_type>resource</usage_type>
428
+ <checksum>6E0B27AD</checksum>
429
+ </file>
430
+ <file>
431
+ <version>
432
+ <software_program>OpenStudio</software_program>
433
+ <identifier>2.9.1</identifier>
434
+ <min_compatible>2.9.1</min_compatible>
435
+ </version>
436
+ <filename>measure.rb</filename>
437
+ <filetype>rb</filetype>
438
+ <usage_type>script</usage_type>
439
+ <checksum>3EE587D6</checksum>
440
+ </file>
441
+ <file>
442
+ <filename>tbd_tests.rb</filename>
443
+ <filetype>rb</filetype>
444
+ <usage_type>test</usage_type>
445
+ <checksum>6ED9AF88</checksum>
446
+ </file>
447
+ <file>
448
+ <filename>ua.rb</filename>
449
+ <filetype>rb</filetype>
450
+ <usage_type>resource</usage_type>
451
+ <checksum>AC451A5B</checksum>
452
+ </file>
453
+ <file>
454
+ <filename>psi.rb</filename>
455
+ <filetype>rb</filetype>
456
+ <usage_type>resource</usage_type>
457
+ <checksum>655E8232</checksum>
458
+ </file>
459
+ </files>
460
+ </measure>