tbd 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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>