openstudio-standards 0.8.0 → 0.8.2

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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/openstudio-standards/exterior_lighting/create.rb +2 -2
  3. data/lib/openstudio-standards/exterior_lighting/data/convert_entryway_data.rb +94 -0
  4. data/lib/openstudio-standards/exterior_lighting/data/convert_parking_data.rb +82 -0
  5. data/lib/openstudio-standards/exterior_lighting/data/entryways.csv +1 -1
  6. data/lib/openstudio-standards/exterior_lighting/data/entryways.json +565 -0
  7. data/lib/openstudio-standards/exterior_lighting/data/parking.csv +1 -1
  8. data/lib/openstudio-standards/exterior_lighting/data/parking.json +428 -0
  9. data/lib/openstudio-standards/exterior_lighting/information.rb +15 -15
  10. data/lib/openstudio-standards/hvac/components/create.rb +4 -4
  11. data/lib/openstudio-standards/hvac/components/modify.rb +2 -2
  12. data/lib/openstudio-standards/hvac/exhaust/create_exhaust_fan.rb +2 -2
  13. data/lib/openstudio-standards/hvac/exhaust/data/convert_typical_exhaust_data.rb +67 -0
  14. data/lib/openstudio-standards/hvac/exhaust/data/typical_exhaust.csv +1 -1
  15. data/lib/openstudio-standards/infiltration/data/NISTInfiltrationCorrelations.csv +1 -1
  16. data/lib/openstudio-standards/infiltration/data/NISTInfiltrationCorrelations.json +3172 -0
  17. data/lib/openstudio-standards/infiltration/data/convert_infiltration_data.rb +87 -0
  18. data/lib/openstudio-standards/infiltration/infiltration.rb +3 -3
  19. data/lib/openstudio-standards/infiltration/nist_infiltration.rb +42 -42
  20. data/lib/openstudio-standards/refrigeration/create_case.rb +4 -4
  21. data/lib/openstudio-standards/refrigeration/create_compressor.rb +2 -2
  22. data/lib/openstudio-standards/refrigeration/create_typical_refrigeration.rb +26 -25
  23. data/lib/openstudio-standards/refrigeration/create_walkin.rb +2 -2
  24. data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +1 -1
  25. data/lib/openstudio-standards/refrigeration/data/typical_refrigerated_cases.csv +1 -1
  26. data/lib/openstudio-standards/refrigeration/data/typical_refrigerated_walkins.csv +1 -1
  27. data/lib/openstudio-standards/refrigeration/information.rb +4 -4
  28. data/lib/openstudio-standards/service_water_heating/create_typical.rb +1 -1
  29. data/lib/openstudio-standards/service_water_heating/data/typical_water_use_equipment.csv +1 -1
  30. data/lib/openstudio-standards/standards/Standards.Space.rb +3 -0
  31. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +10 -2
  32. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +131 -107
  33. data/lib/openstudio-standards/standards/deer/data/deer.schedules.json +24 -24
  34. data/lib/openstudio-standards/utilities/ruleset_check.rb +1 -2
  35. data/lib/openstudio-standards/version.rb +1 -1
  36. data/lib/openstudio-standards/weather/stat_file.rb +13 -4
  37. metadata +10 -6
  38. data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
  39. data/data/standards/openstudio_standards_duplicates_log.csv +0 -7962
  40. data/lib/openstudio-standards/hvac/exhaust/data/convert_data.rb +0 -86
@@ -184888,10 +184888,33 @@
184888
184888
  "day_types": "Default|Hol",
184889
184889
  "start_date": "2014-01-01T00:00:00+00:00",
184890
184890
  "end_date": "2014-12-31T00:00:00+00:00",
184891
- "type": "Constant",
184891
+ "type": "Hourly",
184892
184892
  "notes": "From eQ_Lib.dat in MASControl 2017",
184893
184893
  "values": [
184894
- 0.5
184894
+ 0.0,
184895
+ 0.0,
184896
+ 0.0,
184897
+ 0.0,
184898
+ 0.0,
184899
+ 0.0,
184900
+ 0.02,
184901
+ 0.04,
184902
+ 0.12,
184903
+ 0.28,
184904
+ 0.44,
184905
+ 0.45,
184906
+ 0.49,
184907
+ 0.52,
184908
+ 0.55,
184909
+ 0.55,
184910
+ 0.55,
184911
+ 0.55,
184912
+ 0.54,
184913
+ 0.32,
184914
+ 0.2,
184915
+ 0.02,
184916
+ 0.0,
184917
+ 0.0
184895
184918
  ]
184896
184919
  },
184897
184920
  {
@@ -185538,26 +185561,27 @@
185538
185561
  0.0,
185539
185562
  0.0,
185540
185563
  0.0,
185541
- 0.0,
185542
- 0.02,
185543
- 0.04,
185544
- 0.12,
185545
- 0.28,
185546
- 0.44,
185547
- 0.45,
185548
- 0.49,
185549
- 0.52,
185564
+ 0.05,
185565
+ 0.10,
185566
+ 0.15,
185567
+ 0.25,
185568
+ 0.40,
185550
185569
  0.55,
185551
- 0.6,
185552
- 0.7,
185553
- 0.68,
185554
- 0.54,
185555
- 0.32,
185556
- 0.2,
185557
- 0.02,
185558
- 0.0,
185570
+ 0.65,
185571
+ 0.70,
185572
+ 0.65,
185573
+ 0.60,
185574
+ 0.58,
185575
+ 0.70,
185576
+ 0.85,
185577
+ 0.90,
185578
+ 0.75,
185579
+ 0.55,
185580
+ 0.35,
185581
+ 0.10,
185559
185582
  0.0
185560
185583
  ]
185584
+
185561
185585
  },
185562
185586
  {
185563
185587
  "name": "D_Gro_Sales_Occup_Yr",
@@ -344081,10 +344105,14 @@
344081
344105
  0.05,
344082
344106
  0.05,
344083
344107
  0.05,
344084
- 0.05,
344085
- 0.2,
344086
- 0.2,
344087
- 0.5,
344108
+ 0.6,
344109
+ 0.9,
344110
+ 0.9,
344111
+ 0.9,
344112
+ 0.9,
344113
+ 0.9,
344114
+ 0.9,
344115
+ 0.9,
344088
344116
  0.9,
344089
344117
  0.9,
344090
344118
  0.9,
@@ -344095,10 +344123,6 @@
344095
344123
  0.9,
344096
344124
  0.9,
344097
344125
  0.6,
344098
- 0.6,
344099
- 0.5,
344100
- 0.2,
344101
- 0.05,
344102
344126
  0.05
344103
344127
  ]
344104
344128
  },
@@ -344117,10 +344141,6 @@
344117
344141
  0.05,
344118
344142
  0.05,
344119
344143
  0.05,
344120
- 0.05,
344121
- 0.1,
344122
- 0.1,
344123
- 0.3,
344124
344144
  0.6,
344125
344145
  0.9,
344126
344146
  0.9,
@@ -344130,11 +344150,15 @@
344130
344150
  0.9,
344131
344151
  0.9,
344132
344152
  0.9,
344133
- 0.5,
344134
- 0.3,
344135
- 0.3,
344136
- 0.1,
344137
- 0.05,
344153
+ 0.9,
344154
+ 0.9,
344155
+ 0.9,
344156
+ 0.9,
344157
+ 0.9,
344158
+ 0.9,
344159
+ 0.9,
344160
+ 0.9,
344161
+ 0.6,
344138
344162
  0.05
344139
344163
  ]
344140
344164
  },
@@ -344166,24 +344190,24 @@
344166
344190
  0.05,
344167
344191
  0.05,
344168
344192
  0.05,
344169
- 0.05,
344170
- 0.1,
344171
- 0.1,
344172
- 0.1,
344173
- 0.1,
344174
- 0.4,
344175
- 0.4,
344176
- 0.6,
344177
- 0.6,
344178
- 0.6,
344179
344193
  0.6,
344194
+ 0.9,
344195
+ 0.9,
344196
+ 0.9,
344197
+ 0.9,
344198
+ 0.9,
344199
+ 0.9,
344200
+ 0.9,
344201
+ 0.9,
344202
+ 0.9,
344203
+ 0.9,
344204
+ 0.9,
344205
+ 0.9,
344206
+ 0.9,
344207
+ 0.9,
344208
+ 0.9,
344209
+ 0.9,
344180
344210
  0.6,
344181
- 0.4,
344182
- 0.2,
344183
- 0.2,
344184
- 0.2,
344185
- 0.2,
344186
- 0.05,
344187
344211
  0.05
344188
344212
  ]
344189
344213
  },
@@ -344215,24 +344239,24 @@
344215
344239
  0.0,
344216
344240
  0.0,
344217
344241
  0.0,
344218
- 0.0,
344219
- 0.1,
344220
- 0.1,
344221
- 0.2,
344222
- 0.5,
344223
- 0.5,
344224
- 0.7,
344225
- 0.7,
344226
- 0.7,
344227
- 0.7,
344228
- 0.8,
344229
- 0.7,
344230
- 0.5,
344231
- 0.5,
344232
- 0.3,
344233
- 0.3,
344234
- 0.3,
344235
- 0.0,
344242
+ 0.05,
344243
+ 0.10,
344244
+ 0.15,
344245
+ 0.25,
344246
+ 0.40,
344247
+ 0.55,
344248
+ 0.65,
344249
+ 0.70,
344250
+ 0.65,
344251
+ 0.60,
344252
+ 0.58,
344253
+ 0.70,
344254
+ 0.85,
344255
+ 0.90,
344256
+ 0.75,
344257
+ 0.55,
344258
+ 0.35,
344259
+ 0.10,
344236
344260
  0.0
344237
344261
  ]
344238
344262
  },
@@ -344251,24 +344275,24 @@
344251
344275
  0.0,
344252
344276
  0.0,
344253
344277
  0.0,
344254
- 0.0,
344255
- 0.1,
344256
- 0.1,
344257
- 0.2,
344258
- 0.5,
344259
- 0.6,
344260
- 0.8,
344261
- 0.8,
344262
- 0.8,
344263
- 0.8,
344264
- 0.8,
344265
- 0.8,
344266
- 0.6,
344267
- 0.2,
344268
- 0.2,
344269
- 0.2,
344270
- 0.1,
344271
- 0.0,
344278
+ 0.03,
344279
+ 0.08,
344280
+ 0.20,
344281
+ 0.35,
344282
+ 0.55,
344283
+ 0.70,
344284
+ 0.80,
344285
+ 0.85,
344286
+ 0.85,
344287
+ 0.80,
344288
+ 0.75,
344289
+ 0.70,
344290
+ 0.65,
344291
+ 0.55,
344292
+ 0.40,
344293
+ 0.25,
344294
+ 0.10,
344295
+ 0.02,
344272
344296
  0.0
344273
344297
  ]
344274
344298
  },
@@ -344300,23 +344324,23 @@
344300
344324
  0.0,
344301
344325
  0.0,
344302
344326
  0.0,
344303
- 0.0,
344304
- 0.1,
344305
- 0.1,
344306
- 0.1,
344307
- 0.1,
344308
- 0.2,
344309
- 0.2,
344310
- 0.4,
344311
- 0.4,
344312
- 0.4,
344313
- 0.4,
344314
- 0.4,
344315
- 0.2,
344316
- 0.1,
344317
- 0.1,
344318
- 0.1,
344319
- 0.1,
344327
+ 0.02,
344328
+ 0.06,
344329
+ 0.15,
344330
+ 0.30,
344331
+ 0.50,
344332
+ 0.65,
344333
+ 0.75,
344334
+ 0.80,
344335
+ 0.75,
344336
+ 0.65,
344337
+ 0.55,
344338
+ 0.45,
344339
+ 0.35,
344340
+ 0.25,
344341
+ 0.15,
344342
+ 0.05,
344343
+ 0.01,
344320
344344
  0.0,
344321
344345
  0.0
344322
344346
  ]
@@ -344921,7 +344945,7 @@
344921
344945
  0.0,
344922
344946
  0.0,
344923
344947
  0.0,
344924
- 0.0,
344948
+ 1.0,
344925
344949
  1.0,
344926
344950
  1.0,
344927
344951
  1.0,
@@ -345251,7 +345275,7 @@
345251
345275
  0.0,
345252
345276
  0.0,
345253
345277
  0.0,
345254
- 0.0,
345278
+ 1.0,
345255
345279
  1.0,
345256
345280
  1.0,
345257
345281
  1.0,
@@ -65599,7 +65599,7 @@
65599
65599
  0.3,
65600
65600
  0.3,
65601
65601
  0.3,
65602
- 0.3,
65602
+ 0.7,
65603
65603
  0.7,
65604
65604
  0.7,
65605
65605
  0.7,
@@ -185845,12 +185845,12 @@
185845
185845
  0.75,
185846
185846
  0.75,
185847
185847
  0.75,
185848
- 0.5,
185849
- 0.5,
185850
- 0.5,
185851
- 0.5,
185852
- 0.5,
185853
- 0.5
185848
+ 0.75,
185849
+ 0.75,
185850
+ 0.75,
185851
+ 0.75,
185852
+ 0.75,
185853
+ 0.75
185854
185854
  ]
185855
185855
  },
185856
185856
  {
@@ -185894,24 +185894,24 @@
185894
185894
  0.0,
185895
185895
  0.0,
185896
185896
  0.0,
185897
- 0.0,
185898
- 0.02,
185899
- 0.04,
185900
- 0.12,
185901
- 0.28,
185902
- 0.44,
185903
- 0.45,
185904
- 0.49,
185905
- 0.52,
185897
+ 0.05,
185898
+ 0.10,
185899
+ 0.15,
185900
+ 0.25,
185901
+ 0.40,
185906
185902
  0.55,
185907
- 0.6,
185908
- 0.7,
185909
- 0.68,
185910
- 0.54,
185911
- 0.32,
185912
- 0.2,
185913
- 0.02,
185914
- 0.0,
185903
+ 0.65,
185904
+ 0.70,
185905
+ 0.65,
185906
+ 0.60,
185907
+ 0.58,
185908
+ 0.70,
185909
+ 0.85,
185910
+ 0.90,
185911
+ 0.75,
185912
+ 0.55,
185913
+ 0.35,
185914
+ 0.10,
185915
185915
  0.0
185916
185916
  ]
185917
185917
  },
@@ -170,7 +170,6 @@ module OpenStudioStandards
170
170
  # Count the number of lines of a idf object and return the last index
171
171
  # (e.g. find the index of "!- Fan Inlet Node Name")
172
172
  # @param idf_object
173
- # @param search_string str
174
173
  # @return index if found
175
174
  def self.find_last_index_of_idf_object(idf_object)
176
175
  split_object = idf_object.to_s.split("\n")
@@ -182,7 +181,7 @@ module OpenStudioStandards
182
181
  # If the index is not found, this function returns the last index of the object + 1
183
182
  # (e.g. find the index of "!- Fan Inlet Node Name")
184
183
  # @param idf_object
185
- # @param search_string str
184
+ # @param search_string [String]
186
185
  # @return index if found
187
186
  def self.find_index_of_string(idf_object, search_string)
188
187
 
@@ -13,5 +13,5 @@ module OpenstudioStandards
13
13
  end
14
14
  return 'git-not-found-on-this-system'
15
15
  end
16
- VERSION = '0.8.0'.freeze
16
+ VERSION = '0.8.2'.freeze
17
17
  end
@@ -212,7 +212,7 @@ module OpenstudioStandards
212
212
 
213
213
  # check info size
214
214
  if match_info_raw.size != temp_info[:size]
215
- OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Weather.StatFile', "Expected to find #{temp_info[:size]} #{temp_info[:name]} but found #{match_info_raw.size}. Check data source.")
215
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.Weather.StatFile', "Expected to find #{temp_info[:size]} #{temp_info[:name]} but found #{match_info_raw.size}. Check data source.")
216
216
  end
217
217
 
218
218
  match_info_raw.each do |val|
@@ -284,13 +284,20 @@ module OpenstudioStandards
284
284
  degree_day_info.each { |dd_info| parse_dd_info(dd_info) }
285
285
 
286
286
  # parse design temperatures
287
+ # TMYx stat file format is different than TMY3, cf #1948
288
+ is_tmyx = @text.include?("Wind Shelter Factor")
287
289
  temperature_info = [
288
- { name: 'Heating Design Temperatures', regex: /Heating(\s*\d+.*)\n/, container: @heating_design_info, size: 15 },
290
+ { name: 'Heating Design Temperatures', regex: /Heating(\s*\d+.*)\n/, container: @heating_design_info, size: is_tmyx ? 16 : 15 },
289
291
  { name: 'Cooling Design Temperatures', regex: /Cooling(\s*\d+.*)\n/, container: @cooling_design_info, size: 32 },
290
- { name: 'Extreme Design Temperatures', regex: /\s*Extremes\s*(.*)\n/, container: @extremes_design_info, size: 16 },
292
+ { name: 'Extreme Design Temperatures', regex: /\s*Extremes\s*(.*)\n/, container: @extremes_design_info, size: is_tmyx ? 15 : 16 },
291
293
  { name: 'Monthly Dry Bulb Temperatures', regex: /Daily Avg(.*)\n/, container: @monthly_dry_bulb, size: 12 }
292
294
  ]
293
295
  temperature_info.each { |temp_info| parse_design_temp_info(temp_info) }
296
+ if is_tmyx
297
+ @heating_design_info.pop() # remove the last value, which is the Wind Shelter Factor
298
+ # There is no WBmax in TMYx files, so add a nil
299
+ @extremes_design_info.insert(3, nil)
300
+ end
294
301
 
295
302
  # parse undisturbed ground temps at 0.5 and 4.0 m depth
296
303
  regex = /Monthly.*Calculated.*undisturbed*.*Ground.*Temperatures.*\n.*Jan.*Feb.*Mar.*Apr.*May.*Jun.*Jul.*Aug.*Sep.*Oct.*Nov.*Dec.*\n(.*)\n(.*)\n(.*)/
@@ -342,7 +349,9 @@ module OpenstudioStandards
342
349
  # week periods
343
350
  regex = /Typical Week Period selected:(.*?)C/
344
351
  match_data = @text.scan(regex)
345
- if match_data.nil? || match_data.empty?
352
+ if @text.include?('No discernible dry period')
353
+ OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Weather.stat_file', "Can't find typical weather weeks in the .stat file because it has no discernible dry period .")
354
+ elsif match_data.nil? || match_data.size < 2
346
355
  OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Weather.stat_file', "Can't find typical weather weeks in the .stat file.")
347
356
  else
348
357
  @typical_summer_wet_week = Date.parse("#{match_data[0][0].split(':')[0]} 2000")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstudio-standards
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Adams
@@ -39,7 +39,7 @@ authors:
39
39
  autorequire:
40
40
  bindir: bin
41
41
  cert_chain: []
42
- date: 2025-06-05 00:00:00.000000000 Z
42
+ date: 2025-06-18 00:00:00.000000000 Z
43
43
  dependencies:
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: bundler
@@ -598,11 +598,9 @@ files:
598
598
  - data/geometry/DOERefWarehouse.json
599
599
  - data/geometry/DOERefWarehouse.osm
600
600
  - data/inventory/thermal_bridging.csv
601
- - data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx
602
601
  - data/standards/exclude_list.csv
603
602
  - data/standards/export_OpenStudio_libraries.rb
604
603
  - data/standards/manage_OpenStudio_Standards.rb
605
- - data/standards/openstudio_standards_duplicates_log.csv
606
604
  - data/standards/templates_to_climate_zones.json
607
605
  - data/standards/test_performance_expected_dd_results.csv
608
606
  - data/weather/ARCATA_725945_CZ2010.ddy
@@ -859,8 +857,12 @@ files:
859
857
  - lib/openstudio-standards/create_typical/space_type_ratios.rb
860
858
  - lib/openstudio-standards/daylighting/space.rb
861
859
  - lib/openstudio-standards/exterior_lighting/create.rb
860
+ - lib/openstudio-standards/exterior_lighting/data/convert_entryway_data.rb
861
+ - lib/openstudio-standards/exterior_lighting/data/convert_parking_data.rb
862
862
  - lib/openstudio-standards/exterior_lighting/data/entryways.csv
863
+ - lib/openstudio-standards/exterior_lighting/data/entryways.json
863
864
  - lib/openstudio-standards/exterior_lighting/data/parking.csv
865
+ - lib/openstudio-standards/exterior_lighting/data/parking.json
864
866
  - lib/openstudio-standards/exterior_lighting/data/typical_exterior_lighting.json
865
867
  - lib/openstudio-standards/exterior_lighting/information.rb
866
868
  - lib/openstudio-standards/geometry/create.rb
@@ -874,11 +876,13 @@ files:
874
876
  - lib/openstudio-standards/hvac/components/create.rb
875
877
  - lib/openstudio-standards/hvac/components/modify.rb
876
878
  - lib/openstudio-standards/hvac/exhaust/create_exhaust_fan.rb
877
- - lib/openstudio-standards/hvac/exhaust/data/convert_data.rb
879
+ - lib/openstudio-standards/hvac/exhaust/data/convert_typical_exhaust_data.rb
878
880
  - lib/openstudio-standards/hvac/exhaust/data/typical_exhaust.csv
879
881
  - lib/openstudio-standards/hvac/exhaust/data/typical_exhaust.json
880
882
  - lib/openstudio-standards/hvac/setpoint_managers/information.rb
881
883
  - lib/openstudio-standards/infiltration/data/NISTInfiltrationCorrelations.csv
884
+ - lib/openstudio-standards/infiltration/data/NISTInfiltrationCorrelations.json
885
+ - lib/openstudio-standards/infiltration/data/convert_infiltration_data.rb
882
886
  - lib/openstudio-standards/infiltration/infiltration.rb
883
887
  - lib/openstudio-standards/infiltration/nist_infiltration.rb
884
888
  - lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirTerminalSingleDuctVAVReheat.rb
@@ -2446,7 +2450,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2446
2450
  - !ruby/object:Gem::Version
2447
2451
  version: 1.3.6
2448
2452
  requirements: []
2449
- rubygems_version: 3.5.17
2453
+ rubygems_version: 3.4.10
2450
2454
  signing_key:
2451
2455
  specification_version: 4
2452
2456
  summary: Creates OpenStudio models of typical buildings, creates standard baselines