openstudio-standards 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/data/standards/OpenStudio_Standards.xlsx +0 -0
  3. data/data/standards/OpenStudio_Standards_chillers.json +5 -5
  4. data/data/standards/OpenStudio_Standards_construction_sets.json +2 -2
  5. data/data/standards/OpenStudio_Standards_curve_cubics.json +12 -0
  6. data/data/standards/OpenStudio_Standards_heat_pumps.json +2126 -72
  7. data/data/standards/OpenStudio_Standards_heat_pumps_heating.json +766 -14
  8. data/data/standards/OpenStudio_Standards_heat_rejection.json +172 -0
  9. data/data/standards/OpenStudio_Standards_prototype_inputs.json +355 -267
  10. data/data/standards/OpenStudio_Standards_schedules.json +262 -10
  11. data/data/standards/OpenStudio_Standards_space_types.json +1466 -794
  12. data/data/standards/manage_OpenStudio_Standards.rb +19 -21
  13. data/data/weather/weather_info.csv +96 -0
  14. data/lib/openstudio-standards/btap/btap.rb +1 -1
  15. data/lib/openstudio-standards/btap/compliance.rb +135 -40
  16. data/lib/openstudio-standards/btap/envelope.rb +26 -5
  17. data/lib/openstudio-standards/btap/geometry.rb +11 -1
  18. data/lib/openstudio-standards/btap/hvac.rb +489 -56
  19. data/lib/openstudio-standards/btap/simmanager.rb +1 -1
  20. data/lib/openstudio-standards/hvac_sizing/HVACSizing.CoilHeatingDXMultiSpeed.rb +120 -0
  21. data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingDXMultiSpeed.rb +151 -7
  22. data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingGasMultiStage.rb +48 -7
  23. data/lib/openstudio-standards/hvac_sizing/Siz.Model.rb +14 -12
  24. data/lib/openstudio-standards/prototypes/Prototype.AirTerminalSingleDuctVAVReheat.rb +33 -7
  25. data/lib/openstudio-standards/prototypes/Prototype.Model.hvac.rb +123 -91
  26. data/lib/openstudio-standards/prototypes/Prototype.Model.rb +130 -45
  27. data/lib/openstudio-standards/prototypes/Prototype.Model.swh.rb +13 -7
  28. data/lib/openstudio-standards/prototypes/Prototype.full_service_restaurant.rb +332 -324
  29. data/lib/openstudio-standards/prototypes/Prototype.hospital.rb +401 -99
  30. data/lib/openstudio-standards/prototypes/Prototype.hvac_systems.rb +309 -222
  31. data/lib/openstudio-standards/prototypes/Prototype.large_hotel.rb +100 -80
  32. data/lib/openstudio-standards/prototypes/Prototype.large_office.rb +37 -22
  33. data/lib/openstudio-standards/prototypes/Prototype.medium_office.rb +68 -53
  34. data/lib/openstudio-standards/prototypes/Prototype.mid_rise_apartment.rb +109 -88
  35. data/lib/openstudio-standards/prototypes/Prototype.outpatient.rb +52 -4
  36. data/lib/openstudio-standards/prototypes/Prototype.primary_school.rb +230 -213
  37. data/lib/openstudio-standards/prototypes/Prototype.quick_service_restaurant.rb +225 -218
  38. data/lib/openstudio-standards/prototypes/Prototype.retail_standalone.rb +29 -17
  39. data/lib/openstudio-standards/prototypes/Prototype.retail_stripmall.rb +42 -32
  40. data/lib/openstudio-standards/prototypes/Prototype.secondary_school.rb +331 -314
  41. data/lib/openstudio-standards/prototypes/Prototype.small_hotel.rb +233 -219
  42. data/lib/openstudio-standards/prototypes/Prototype.small_office.rb +40 -32
  43. data/lib/openstudio-standards/prototypes/Prototype.warehouse.rb +19 -6
  44. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +576 -555
  45. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +3 -1
  46. data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +35 -17
  47. data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +51 -23
  48. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +255 -0
  49. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +192 -0
  50. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +65 -0
  51. data/lib/openstudio-standards/standards/Standards.Fan.rb +37 -6
  52. data/lib/openstudio-standards/standards/Standards.Model.rb +28 -3
  53. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +3 -1
  54. data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +41 -15
  55. data/lib/openstudio-standards/version.rb +1 -1
  56. data/lib/openstudio-standards/weather/Weather.Model.rb +509 -5
  57. data/lib/openstudio-standards/weather/Weather.stat_file.rb +145 -5
  58. metadata +8 -3
  59. data/lib/openstudio-standards/btap/environment.rb +0 -718
@@ -5,8 +5,6 @@ require 'rubygems'
5
5
  require 'json'
6
6
  require 'rubyXL'
7
7
 
8
- ENV['SSL_CERT_FILE'] = Gem.loaded_specs['google-api-client'].full_gem_path+'/lib/cacerts.pem'
9
-
10
8
  class String
11
9
 
12
10
  def snake_case
@@ -18,7 +16,7 @@ end
18
16
  # Convert OpenStudio_Standards.xlsx to a series
19
17
  # of JSON files for easier consumption.
20
18
  class Hash
21
-
19
+
22
20
  def sort_by_key_updated(recursive = false, &block)
23
21
  self.keys.sort(&block).reduce({}) do |seed, key|
24
22
  seed[key] = self[key]
@@ -41,7 +39,7 @@ class Hash
41
39
  end
42
40
  end
43
41
  seed[key] = seed[key].sort_by { |hsh| [ hsh['template'], hsh['building_type'], hsh['climate_zone_set'], hsh['space_type'], hsh['exterior_walls'], hsh['exterior_roofs'], hsh['exterior_floors'] ] }
44
- # Replace 'zzzz' back to nil
42
+ # Replace 'zzzz' back to nil
45
43
  seed[key].each do |item|
46
44
  item.keys.each do |key2|
47
45
  if item[key2] == 'zzzz'
@@ -50,7 +48,7 @@ class Hash
50
48
  end
51
49
  end
52
50
  elsif frst.has_key?('name') # For all other tabs, names should be unique
53
- seed[key] = seed[key].sort_by { |hsh| hsh['name'] }
51
+ seed[key] = seed[key].sort_by { |hsh| hsh['name'] }
54
52
  else
55
53
  seed[key] = seed[key]
56
54
  end
@@ -58,7 +56,7 @@ class Hash
58
56
  seed
59
57
  end
60
58
  end
61
-
59
+
62
60
  end
63
61
 
64
62
  # Downloads the OpenStudio_Standards.xlsx
@@ -111,7 +109,7 @@ def download_google_spreadsheet
111
109
  # Authorized client instance
112
110
  # @param [Google::APIClient::Schema::Drive::V2::File]
113
111
  # Drive File instance
114
- # @return
112
+ # @return
115
113
  # File's content if successful, nil otherwise
116
114
  def download_xlsx_spreadsheet(client, google_spreadsheet, path)
117
115
  file_name = google_spreadsheet.title
@@ -137,7 +135,7 @@ def download_google_spreadsheet
137
135
 
138
136
  # Initialize the API
139
137
  client_secret_path = File.join(Dir.home, '.credentials',"client_secret.json")
140
-
138
+
141
139
  credentials_path = File.join(Dir.home, '.credentials',"openstudio-standards-google-drive.json")
142
140
  client = Google::APIClient.new(:application_name => 'openstudio-standards')
143
141
  client.authorization = authorize(credentials_path, client_secret_path)
@@ -200,21 +198,21 @@ def export_spreadsheet_to_json
200
198
  cols_to_skip << 'exhaust_per_area'
201
199
  cols_to_skip << 'exhaust_per_unit'
202
200
  cols_to_skip << 'exhaust_fan_power_per_area'
203
-
201
+
204
202
  # List of columns that are boolean
205
203
  # (rubyXL returns 0 or 1, will translate to true/false)
206
204
  bool_cols = []
207
- bool_cols << 'hx'
208
-
205
+ bool_cols << 'hx'
206
+
209
207
  # Open workbook
210
208
  workbook = RubyXL::Parser.parse(xlsx_path)
211
209
 
212
210
  # Loop through and export each tab to a separate JSON file
213
211
  workbook.worksheets.each do |worksheet|
214
212
  sheet_name = worksheet.sheet_name.snake_case
215
-
213
+
216
214
  standards_data = {}
217
-
215
+
218
216
  # Skip the specified worksheets
219
217
  if worksheets_to_skip.include?(sheet_name)
220
218
  puts "Skipping #{sheet_name}"
@@ -222,7 +220,7 @@ def export_spreadsheet_to_json
222
220
  else
223
221
  puts "Exporting #{sheet_name}"
224
222
  end
225
-
223
+
226
224
  # All spreadsheets must have headers in row 3
227
225
  # and data from roworksheet 4 onward.
228
226
  header_row = 2 # Base 0
@@ -248,7 +246,7 @@ def export_spreadsheet_to_json
248
246
  headers << header
249
247
  end
250
248
  puts "--found #{headers.size} columns"
251
-
249
+
252
250
  # Loop through all rows and export
253
251
  # data for the row to a hash.
254
252
  objs = []
@@ -349,11 +347,11 @@ def export_spreadsheet_to_json
349
347
  end
350
348
 
351
349
  end
352
-
350
+
353
351
  # Report how many objects were found
354
352
  puts "--found #{objs.size} rows"
355
-
356
- # Save this hash
353
+
354
+ # Save this hash
357
355
  standards_data[sheet_name] = objs
358
356
 
359
357
  # Sort the standard data so it can be diffed easily
@@ -363,9 +361,9 @@ def export_spreadsheet_to_json
363
361
  File.open("#{File.dirname(__FILE__)}/OpenStudio_Standards_#{sheet_name}.json", 'w:UTF-8') do |file|
364
362
  file << JSON::pretty_generate(sorted_standards_data)
365
363
  end
366
- puts "Successfully generated OpenStudio_Standards_#{sheet_name}.json"
367
-
368
-
364
+ puts "Successfully generated OpenStudio_Standards_#{sheet_name}.json"
365
+
366
+
369
367
  end
370
368
 
371
369
  end
@@ -0,0 +1,96 @@
1
+ file,location_name,energy_plus_location_name,country,state_province_region,city,hdd10,hdd18,cdd10,cdd18,latitude,longitude,elevation, deltaDB, climate_zone, cz_standard, summer_wet_months, winter_dry_months,autumn_months, spring_months, typical_summer_wet_week, typical_winter_dry_week, typical_autumn_week, typical_spring_week
2
+ CAN_AB_Calgary.718770_CWEC.epw, CAN-AB-Calgary Int'l,Calgary Int'l_AB_CAN,CAN, AB, Calgary Int'l, 2655.0, 5086.0,648.0,37.0,51.12, -114.02, 1084.0, 25.0 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-24, 2000-12-22, 2000-10-13, 2000-04-19
3
+ CAN_AB_Edmonton.711230_CWEC.epw, CAN-AB-Edmonton Stony Plain,Edmonton Stony Plain_AB_CAN,CAN, AB, Edmonton Stony Plain, 3281.0, 5755.0,591.0,23.0,53.53, -114.1, 723.0, 27.5 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-20, 2000-02-17, 2000-10-13, 2000-04-12
4
+ CAN_AB_Fort.McMurray.719320_CWEC.epw, CAN-AB-Fort McMurray,Fort McMurray_AB_CAN,CAN, AB, Fort McMurray, 3939.0, 6384.0,642.0,47.0,56.65, -111.22, 369.0, 33.5 ,7,90.1-2004 and 90.2-2004 Climate Zone,May:Jul, Nov:Jan,Aug:Oct, Feb:Apr, 2000-06-05, 2000-11-29, 2000-09-12, 2000-03-15
5
+ CAN_AB_Grande.Prairie.719400_CWEC.epw, CAN-AB-Grand Prairie,Grand Prairie_AB_CAN,CAN, AB, Grand Prairie, 3421.0, 5886.0,599.0,24.0,55.18, -118.88, 669.0, 28.9 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-02-17, 2000-10-13, 2000-04-05
6
+ CAN_AB_Lethbridge.712430_CWEC.epw, CAN-AB-Lethbridge,Lethbridge_AB_CAN,CAN, AB, Lethbridge, 2292.0, 4508.0,942.0,117.0,49.63, -112.8, 921.0, 26.5 ,6B,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-27, 2000-02-10, 2000-10-13, 2000-04-19
7
+ CAN_AB_Medicine.Hat.718720_CWEC.epw, CAN-AB-Medicine Hat,Medicine Hat_AB_CAN,CAN, AB, Medicine Hat, 2529.0, 4693.0,1047.0,168.0,50.02, -110.72, 716.0, 31.6 ,6B,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-07-08, 2000-02-05, 2000-12-17, 2000-04-29
8
+ CAN_BC_Abbotsford.711080_CWEC.epw, CAN-BC-Abbotsford,Abbotsford_BC_CAN,CAN, BC, Abbotsford, 855.0, 2963.0,1001.0,67.0,49.03, -122.37, 58.0, 14.3 ,5C,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-07-08, 2000-01-08, 2000-10-29, 2000-04-29
9
+ CAN_BC_Comox.718930_CWEC.epw, CAN-BC-Comox,Comox_BC_CAN,CAN, BC, Comox, 901.0, 3097.0,894.0,49.0,49.72, -124.9, 24.0, 15.200000000000001 ,5C,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-06, 2000-01-20, 2000-10-06, 2000-04-19
10
+ CAN_BC_Cranbrook.718800_CWEC.epw, CAN-BC-Cranbrook,Cranbrook_BC_CAN,CAN, BC, Cranbrook, 2294.0, 4579.0,873.0,117.0,49.6, -115.78, 940.0, 26.6 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-09-02, 2000-02-26, 2000-12-03, 2000-05-13
11
+ CAN_BC_Fort.St.John.719430_CWEC.epw, CAN-BC-Fort St John,Fort St John_BC_CAN,CAN, BC, Fort St John, 3386.0, 5878.0,571.0,23.0,56.23, -120.73, 695.0, 29.1 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-01-13, 2000-10-27, 2000-03-29
12
+ CAN_BC_Kamloops.718870_CWEC.epw, CAN-BC-Kamloops,Kamloops_BC_CAN,CAN, BC, Kamloops, 1585.0, 3567.0,1315.0,256.0,50.7, -120.45, 346.0, 25.6 ,5B,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-08-12, 2000-02-26, 2000-11-19, 2000-05-27
13
+ CAN_BC_Port.Hardy.711090_CWEC.epw, CAN-BC-Port Hardy,Port Hardy_BC_CAN,CAN, BC, Port Hardy, 976.0, 3581.0,437.0,0.0,50.68, -127.37, 22.0, 10.8 ,5C,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-08-19, 2000-03-12, 2000-12-03, 2000-05-13
14
+ CAN_BC_Prince.George.718960_CWEC.epw, CAN-BC-Prince George,Prince George_BC_CAN,CAN, BC, Prince George, 2618.0, 5142.0,538.0,19.0,53.88, -122.68, 691.0, 26.0 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-02-03, 2000-09-29, 2000-04-19
15
+ CAN_BC_Prince.Rupert.718980_CWEC.epw, CAN-BC-Prince Rupert,Prince Rupert_BC_CAN,CAN, BC, Prince Rupert, 1256.0, 3944.0,354.0,1.0,54.3, -130.43, 34.0, 13.5 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-07-22, 2000-01-01, 2000-12-03, 2000-05-06
16
+ CAN_BC_Sandspit.711010_CWEC.epw, CAN-BC-Sandspit,Sandspit_BC_CAN,CAN, BC, Sandspit, 996.0, 3562.0,477.0,2.0,53.25, -131.82, 6.0, 13.1 ,5C,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-07-22, 2000-02-05, 2000-12-17, 2000-05-13
17
+ CAN_BC_Smithers.719500_CWEC.epw, CAN-BC-Smithers,Smithers_BC_CAN,CAN, BC, Smithers, 2572.0, 5167.0,459.0,13.0,54.82, -127.18, 523.0, 24.200000000000003 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-01-06, 2000-10-27, 2000-04-12
18
+ CAN_BC_Summerland.717680_CWEC.epw, CAN-BC-Summerland,Summerland_BC_CAN,CAN, BC, Summerland, 1462.0, 3486.0,1272.0,254.0,49.57, -119.65, 479.0, 21.8 ,5A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-06, 2000-01-13, 2000-10-06, 2000-04-05
19
+ CAN_BC_Vancouver.718920_CWEC.epw, CAN-BC-Vancouver Int'l,Vancouver Int'l_BC_CAN,CAN, BC, Vancouver Int'l, 801.0, 2932.0,951.0,41.0,49.18, -123.17, 2.0, 13.900000000000002 ,5C,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-09-09, 2000-03-19, 2000-10-29, 2000-04-29
20
+ CAN_BC_Victoria.717990_CWEC.epw, CAN-BC-Victoria Int'l,Victoria Int'l_BC_CAN,CAN, BC, Victoria Int'l, 779.0, 3022.0,821.0,22.0,48.65, -123.43, 19.0, 12.3 ,5C,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-09-02, 2000-02-12, 2000-12-03, 2000-05-13
21
+ CAN_MB_Brandon.711400_CWEC.epw, CAN-MB-Brandon,Brandon_MB_CAN,CAN, MB, Brandon, 3672.0, 5963.0,860.0,109.0,49.92, -99.95, 409.0, 36.7 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-03, 2000-01-20, 2000-10-06, 2000-04-12
22
+ CAN_MB_Churchill.719130_CWEC.epw, CAN-MB-Churchill,Churchill_MB_CAN,CAN, MB, Churchill, 6257.0, 9075.0,237.0,15.0,58.75, -94.07, 29.0, 37.7 ,8,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-06, 2000-12-22, 2000-10-20, 2000-04-12
23
+ CAN_MB_The.Pas.718670_CWEC.epw, CAN-MB-The Pas,The Pas_MB_CAN,CAN, MB, The Pas, 4185.0, 6572.0,738.0,82.0,53.97, -101.1, 271.0, 37.9 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-15, 2000-12-08, 2000-10-27, 2000-04-12
24
+ CAN_MB_Winnipeg.718520_CWEC.epw, CAN-MB-Winnipeg Int'l,Winnipeg Int'l_MB_CAN,CAN, MB, Winnipeg Int'l, 3552.0, 5750.0,1011.0,168.0,49.9, -97.23, 239.0, 37.8 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-07-29, 2000-03-12, 2000-11-12, 2000-05-13
25
+ CAN_NB_Fredericton.717000_CWEC.epw, CAN-NB-Fredericton,Fredericton_NB_CAN,CAN, NB, Fredericton, 2497.0, 4692.0,979.0,132.0,45.87, -66.53, 20.0, 29.5 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-12-15, 2000-10-06, 2000-04-05
26
+ CAN_NB_Miramichi.717440_CWEC.epw, CAN-NB-Miramichi,Miramichi_NB_CAN,CAN, NB, Miramichi, 2579.0, 4772.0,1002.0,153.0,47.02, -65.45, 33.0, 29.6 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-02-17, 2000-10-06, 2000-04-19
27
+ CAN_NB_Saint.John.716090_CWEC.epw, CAN-NB-Saint John,Saint John_NB_CAN,CAN, NB, Saint John, 2419.0, 4771.0,719.0,29.0,45.32, -65.88, 109.0, 23.799999999999997 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-08-19, 2000-01-22, 2000-11-19, 2000-04-29
28
+ CAN_NF_Battle.Harbour.718170_CWEC.epw, CAN-NF-Battle Harbour,Battle Harbour_NF_CAN,CAN, NF, Battle Harbour, 3597.0, 6463.0,54.0,0.0,52.3, -55.83, 8.0, 21.6 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-06, 2000-02-03, 2000-10-13, 2000-04-12
29
+ CAN_NF_Gander.718030_CWEC.epw, CAN-NF-Gander Int'l,Gander Int'l_NF_CAN,CAN, NF, Gander Int'l, 2687.0, 5187.0,582.0,41.0,48.95, -54.57, 151.0, 22.6 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-20, 2000-02-10, 2000-10-13, 2000-04-26
30
+ CAN_NF_Goose.718160_CWEC.epw, CAN-NF-Goose,Goose_NF_CAN,CAN, NF, Goose, 4112.0, 6719.0,475.0,42.0,53.32, -60.37, 49.0, 33.0 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-03, 2000-01-27, 2000-09-29, 2000-04-12
31
+ CAN_NF_St.Johns.718010_CWEC.epw, CAN-NF-St John's,St John's_NF_CAN,CAN, NF, St John's, 2381.0, 4907.0,543.0,28.0,47.62, -52.73, 140.0, 20.5 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-15, 2000-02-17, 2000-10-20, 2000-05-03
32
+ CAN_NF_Stephenville.718150_CWEC.epw, CAN-NF-Stephenville,Stephenville_NF_CAN,CAN, NF, Stephenville, 2432.0, 4889.0,606.0,21.0,48.53, -58.55, 26.0, 23.099999999999998 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-08-26, 2000-03-19, 2000-11-05, 2000-05-27
33
+ CAN_NS_Greenwood.713970_CWEC.epw, CAN-NS-Greenwood,Greenwood_NS_CAN,CAN, NS, Greenwood, 2038.0, 4188.0,1030.0,139.0,44.98, -64.92, 28.0, 23.8 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-24, 2000-12-22, 2000-09-29, 2000-04-05
34
+ CAN_NS_Sable.Island.716000_CWEC.epw, CAN-NS-Sable Island,Sable Island_NS_CAN,CAN, NS, Sable Island, 1528.0, 3862.0,731.0,23.0,43.93, -60.02, 4.0, 18.299999999999997 ,5A,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-07-15, 2000-02-12, 2000-11-26, 2000-05-20
35
+ CAN_NS_Shearwater.716010_CWEC.epw, CAN-NS-Shearwater,Shearwater_NS_CAN,CAN, NS, Shearwater, 1989.0, 4237.0,858.0,64.0,44.63, -63.5, 51.0, 22.0 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-01-13, 2000-10-13, 2000-04-05
36
+ CAN_NS_Sydney.717070_CWEC.epw, CAN-NS-Sydney,Sydney_NS_CAN,CAN, NS, Sydney, 2284.0, 4627.0,774.0,75.0,46.17, -60.05, 62.0, 24.0 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-07-01, 2000-03-12, 2000-12-10, 2000-05-06
37
+ CAN_NS_Truro.713980_CWEC.epw, CAN-NS-Truro,Truro_NS_CAN,CAN, NS, Truro, 2358.0, 4536.0,778.0,36.0,45.37, -63.27, 40.0, 25.2 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-15, 2000-12-22, 2000-10-20, 2000-04-12
38
+ CAN_NT_Inuvik.719570_CWEC.epw, CAN-NT-Inuvik Ua,Inuvik Ua_NT_CAN,CAN, NT, Inuvik Ua, 6943.0, 9679.0,328.0,21.0,68.3, -133.48, 68.0, 40.6 ,8,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-12-15, 2000-10-13, 2000-04-12
39
+ CAN_NU_Resolute.719240_CWEC.epw, CAN-NU-Resolute,Resolute_NU_CAN,CAN, NU, Resolute, 9430.0, 12471.0,1.0,0.0,74.72, -94.98, 67.0, 35.900000000000006 ,8,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-20, 2000-01-20, 2000-10-13, 2000-03-22
40
+ CAN_ON_Kingston.716200_CWEC.epw, CAN-ON-Kingston,Kingston_ON_CAN,CAN, ON, Kingston, 2303.0, 4287.0,1124.0,188.0,44.22, -76.6, 93.0, 27.700000000000003 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-06, 2000-02-17, 2000-10-06, 2000-04-12
41
+ CAN_ON_London.716230_CWEC.epw, CAN-ON-London,London_ON_CAN,CAN, ON, London, 1983.0, 3984.0,1273.0,233.0,43.03, -81.15, 278.0, 27.9 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-24, 2000-12-22, 2000-10-13, 2000-03-22
42
+ CAN_ON_Mount.Forest.716310_CWEC.epw, CAN-ON-Mount Forest,Mount Forest_ON_CAN,CAN, ON, Mount Forest, 2383.0, 4555.0,1010.0,140.0,43.98, -80.75, 415.0, 27.7 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-22, 2000-12-15, 2000-10-06, 2000-04-05
43
+ CAN_ON_Muskoka.716300_CWEC.epw, CAN-ON-Muskoka,Muskoka_ON_CAN,CAN, ON, Muskoka, 2648.0, 4773.0,892.0,97.0,44.97, -79.3, 282.0, 29.3 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-22, 2000-12-15, 2000-10-13, 2000-04-19
44
+ CAN_ON_North.Bay.717310_CWEC.epw, CAN-ON-North Bay,North Bay_ON_CAN,CAN, ON, North Bay, 3007.0, 5243.0,926.0,118.0,46.35, -79.43, 371.0, 32.2 ,7,90.1-2004 and 90.2-2004 Climate Zone,May:Jul, Nov:Jan,Aug:Oct, Feb:Apr, 2000-07-03, 2000-12-06, 2000-09-05, 2000-02-15
45
+ CAN_ON_Ottawa.716280_CWEC.epw, CAN-ON-Ottawa Int'l,Ottawa Int'l_ON_CAN,CAN, ON, Ottawa Int'l, 2517.0, 4563.0,1233.0,236.0,45.32, -75.67, 114.0, 31.8 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-29, 2000-01-20, 2000-10-13, 2000-04-19
46
+ CAN_ON_Sault.Ste.Marie.712600_CWEC.epw, CAN-ON-Sault Ste Marie,Sault Ste Marie_ON_CAN,CAN, ON, Sault Ste Marie, 2703.0, 4994.0,841.0,91.0,46.48, -84.52, 192.0, 28.299999999999997 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-07-08, 2000-03-05, 2000-11-05, 2000-04-29
47
+ CAN_ON_Simcoe.715270_CWEC.epw, CAN-ON-Simcoe,Simcoe_ON_CAN,CAN, ON, Simcoe, 2117.0, 4066.0,1160.0,189.0,42.85, -80.27, 241.0, 26.400000000000002 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-12-15, 2000-10-13, 2000-04-26
48
+ CAN_ON_Thunder.Bay.717490_CWEC.epw, CAN-ON-Thunder Bay,Thunder Bay_ON_CAN,CAN, ON, Thunder Bay, 3256.0, 5633.0,733.0,69.0,48.37, -89.32, 199.0, 33.8 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-01-27, 2000-10-20, 2000-03-29
49
+ CAN_ON_Timmins.717390_CWEC.epw, CAN-ON-Timmins,Timmins_ON_CAN,CAN, ON, Timmins, 3704.0, 6099.0,730.0,84.0,48.57, -81.37, 295.0, 33.8 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-03, 2000-02-03, 2000-10-06, 2000-04-19
50
+ CAN_ON_Toronto.716240_CWEC.epw, CAN-ON-Toronto Int'l,Toronto Int'l_ON_CAN,CAN, ON, Toronto Int'l, 1954.0, 3956.0,1316.0,276.0,43.67, -79.63, 173.0, 26.6 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-08-19, 2000-02-12, 2000-10-22, 2000-05-06
51
+ CAN_ON_Trenton.716210_CWEC.epw, CAN-ON-Trenton,Trenton_ON_CAN,CAN, ON, Trenton, 2129.0, 4181.0,1194.0,204.0,44.12, -77.53, 86.0, 27.700000000000003 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-01-13, 2000-10-20, 2000-03-29
52
+ CAN_ON_Windsor.715380_CWEC.epw, CAN-ON-Windsor,Windsor_ON_CAN,CAN, ON, Windsor, 1644.0, 3482.0,1622.0,418.0,42.27, -82.97, 190.0, 27.1 ,5A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-27, 2000-02-17, 2000-10-13, 2000-03-22
53
+ CAN_PE_Charlottetown.717060_CWEC.epw, CAN-PE-Charlottetown CDA,Charlottetown CDA_PE_CAN,CAN, PE, Charlottetown CDA, 2438.0, 4703.0,873.0,94.0,46.28, -63.13, 54.0, 25.6 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-22, 2000-12-22, 2000-10-13, 2000-05-03
54
+ CAN_PQ_Bagotville.717270_CWEC.epw, CAN-PQ-Bagotville,Bagotville_PQ_CAN,CAN, PQ, Bagotville, 3424.0, 5758.0,803.0,95.0,48.33, -71.0, 159.0, 32.400000000000006 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-29, 2000-02-10, 2000-10-13, 2000-03-15
55
+ CAN_PQ_Baie.Comeau.711870_CWEC.epw, CAN-PQ-Baie Comeau,Baie Comeau_PQ_CAN,CAN, PQ, Baie Comeau, 3419.0, 6012.0,458.0,9.0,49.13, -68.2, 22.0, 29.8 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-02-10, 2000-10-06, 2000-04-26
56
+ CAN_PQ_Grindstone.Island_CWEC.epw, CAN-PQ-Grindstone Island,Grindstone Island_PQ_CAN,CAN, PQ, Grindstone Island, 2559.0, 4940.0,556.0,18.0,47.38, -61.87, 59.0, 23.8 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-08-19, 2000-02-26, 2000-10-22, 2000-05-20
57
+ CAN_PQ_Kuujjuarapik.719050_CWEC.epw, CAN-PQ-Kuujjuarapik,Kuujjuarapik_PQ_CAN,CAN, PQ, Kuujjuarapik, 5233.0, 8061.0,231.0,18.0,55.28, -77.77, 12.0, 32.0 ,8,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-12-22, 2000-10-20, 2000-03-29
58
+ CAN_PQ_Kuujuaq.719060_CWEC.epw, CAN-PQ-Kuujuaq,Kuujuaq_PQ_CAN,CAN, PQ, Kuujuaq, 5701.0, 8564.0,183.0,6.0,58.1, -68.42, 37.0, 31.8 ,8,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-10, 2000-02-03, 2000-10-13, 2000-04-12
59
+ CAN_PQ_La.Grande.Riviere.718270_CWEC.epw, CAN-PQ-La Grande Riviere,La Grande Riviere_PQ_CAN,CAN, PQ, La Grande Riviere, 4987.0, 7672.0,387.0,30.0,53.63, -77.7, 195.0, 35.2 ,8,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-06, 2000-01-06, 2000-10-27, 2000-04-26
60
+ CAN_PQ_Lake.Eon.714210_CWEC.epw, CAN-PQ-Lake Eon,Lake Eon_PQ_CAN,CAN, PQ, Lake Eon, 4563.0, 7255.0,383.0,32.0,51.87, -63.28, 561.0, 33.9 ,8,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-29, 2000-12-01, 2000-10-13, 2000-04-12
61
+ CAN_PQ_Mont.Joli.717180_CWEC.epw, CAN-PQ-Mont Joli,Mont Joli_PQ_CAN,CAN, PQ, Mont Joli, 3028.0, 5424.0,711.0,67.0,48.6, -68.22, 52.0, 30.8 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-06, 2000-02-17, 2000-10-06, 2000-04-26
62
+ CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw, CAN-PQ-Montreal Int'l,Montreal Int'l_PQ_CAN,CAN, PQ, Montreal Int'l, 2409.0, 4428.0,1277.0,253.0,45.47, -73.75, 36.0, 30.2 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-08, 2000-02-17, 2000-10-13, 2000-04-12
63
+ CAN_PQ_Montreal.Jean.Brebeuf.716278_CWEC.epw, CAN-PQ-Montreal Jean Brebeuf,Montreal Jean Brebeuf_PQ_CAN,CAN, PQ, Montreal Jean Brebeuf, 2665.0, 4615.0,1179.0,209.0,45.5, -73.62, 133.0, 31.2 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-29, 2000-12-22, 2000-10-13, 2000-04-19
64
+ CAN_PQ_Montreal.Mirabel.716278_CWEC.epw, CAN-PQ-Montreal Mirabel,Montreal Mirabel_PQ_CAN,CAN, PQ, Montreal Mirabel, 2810.0, 4862.0,970.0,102.0,45.68, -74.03, 82.0, 33.4 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-03, 2000-02-03, 2000-10-20, 2000-04-12
65
+ CAN_PQ_Nitchequon.CAN270_CWEC.epw, CAN-PQ-Nitchequon,Nitchequon_PQ_CAN,CAN, PQ, Nitchequon, 5242.0, 7922.0,247.0,6.0,53.2, -70.9, 536.0, 35.8 ,8,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-24, 2000-01-13, 2000-10-20, 2000-03-22
66
+ CAN_PQ_Quebec.717140_CWEC.epw, CAN-PQ-Quebec City,Quebec City_PQ_CAN,CAN, PQ, Quebec City, 2891.0, 5094.0,970.0,132.0,46.8, -71.38, 73.0, 31.0 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-10, 2000-02-10, 2000-10-20, 2000-04-26
67
+ CAN_PQ_Riviere.du.Loup.717150_CWEC.epw, CAN-PQ-Riviere Du Loup,Riviere Du Loup_PQ_CAN,CAN, PQ, Riviere Du Loup, 3013.0, 5399.0,721.0,65.0,47.8, -69.55, 148.0, 30.1 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-29, 2000-12-22, 2000-10-20, 2000-04-19
68
+ CAN_PQ_Roberval.717280_CWEC.epw, CAN-PQ-Roberval,Roberval_PQ_CAN,CAN, PQ, Roberval, 3468.0, 5787.0,831.0,109.0,48.52, -72.27, 179.0, 35.6 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-10, 2000-02-10, 2000-10-06, 2000-04-19
69
+ CAN_PQ_Schefferville.718280_CWEC.epw, CAN-PQ-Schefferville,Schefferville_PQ_CAN,CAN, PQ, Schefferville, 5519.0, 8339.0,229.0,7.0,54.8, -66.82, 521.0, 34.6 ,8,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-08-19, 2000-01-01, 2000-11-12, 2000-05-13
70
+ CAN_PQ_Sept-Iles.718110_CWEC.epw, CAN-PQ-Sept-Iles,Sept-Iles_PQ_CAN,CAN, PQ, Sept-Iles, 3618.0, 6252.0,416.0,8.0,50.22, -66.27, 55.0, 30.9 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-08-26, 2000-01-08, 2000-12-03, 2000-05-13
71
+ CAN_PQ_Sherbrooke.716100_CWEC.epw, CAN-PQ-Sherbrooke,Sherbrooke_PQ_CAN,CAN, PQ, Sherbrooke, 2803.0, 5058.0,880.0,93.0,45.43, -71.68, 241.0, 28.2 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-17, 2000-02-03, 2000-10-27, 2000-05-03
72
+ CAN_PQ_St.Hubert.713710_CWEC.epw, CAN-PQ-St Hubert,St Hubert_PQ_CAN,CAN, PQ, St Hubert, 2497.0, 4564.0,1192.0,217.0,45.52, -73.42, 27.0, 31.2 ,6A,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-27, 2000-01-13, 2000-10-27, 2000-04-19
73
+ CAN_PQ_Ste.Agathe.des.Monts.717200_CWEC.epw, CAN-PQ-Ste Agathe Des Monts,Ste Agathe Des Monts_PQ_CAN,CAN, PQ, Ste Agathe Des Monts, 3147.0, 5501.0,763.0,76.0,46.05, -74.28, 395.0, 29.6 ,7,90.1-2004 and 90.2-2004 Climate Zone,May:Jul, Nov:Jan,Aug:Oct, Feb:Apr, 2000-05-29, 2000-11-29, 2000-09-05, 2000-03-29
74
+ CAN_PQ_Val.d.Or.717250_CWEC.epw, CAN-PQ-Val d'Or,Val d'Or_PQ_CAN,CAN, PQ, Val d'Or, 3700.0, 6091.0,734.0,85.0,48.07, -77.78, 337.0, 35.0 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-03, 2000-02-03, 2000-10-27, 2000-04-12
75
+ CAN_SK_Estevan.718620_CWEC.epw, CAN-SK-Estevan,Estevan_SK_CAN,CAN, SK, Estevan, 3228.0, 5452.0,970.0,151.0,49.22, -102.97, 581.0, 35.1 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-01, 2000-01-20, 2000-10-27, 2000-04-26
76
+ CAN_SK_North.Battleford.718760_CWEC.epw, CAN-SK-North Battleford,North Battleford_SK_CAN,CAN, SK, North Battleford, 3642.0, 5978.0,782.0,77.0,52.77, -108.25, 548.0, 35.400000000000006 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-08-05, 2000-01-15, 2000-12-24, 2000-05-27
77
+ CAN_SK_Regina.718630_CWEC.epw, CAN-SK-Regina,Regina_SK_CAN,CAN, SK, Regina, 3436.0, 5701.0,902.0,126.0,50.43, -104.67, 577.0, 35.4 ,7,90.1-2004 and 90.2-2004 Climate Zone,May:Jul, Nov:Jan,Aug:Oct, Feb:Apr, 2000-06-05, 2000-12-06, 2000-09-26, 2000-03-29
78
+ CAN_SK_Saskatoon.718660_CWEC.epw, CAN-SK-Saskatoon,Saskatoon_SK_CAN,CAN, SK, Saskatoon, 3558.0, 5861.0,844.0,105.0,52.17, -106.68, 504.0, 34.4 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-08, 2000-12-15, 2000-10-27, 2000-04-12
79
+ CAN_SK_Swift.Current.718700_CWEC.epw, CAN-SK-Swift Current,Swift Current_SK_CAN,CAN, SK, Swift Current, 2971.0, 5261.0,878.0,125.0,50.28, -107.68, 818.0, 30.799999999999997 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-13, 2000-02-17, 2000-10-06, 2000-04-19
80
+ CAN_YT_Whitehorse.719640_CWEC.epw, CAN-YT-Whitehorse,Whitehorse_YT_CAN,CAN, YT, Whitehorse, 4070.0, 6803.0,313.0,6.0,60.72, -135.07, 703.0, 34.5 ,7,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-22, 2000-02-10, 2000-10-06, 2000-04-12
81
+ SAU_Riyadh.404380_IWEC.epw, SAU---RIYADH,RIYADH_-_SAU,SAU, -, RIYADH, 6.0, 301.0,6009.0,3264.0,24.7, 46.8, 612.0, 22.4 ,1B,90.1-2004 and 90.2-2004 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-15, 2000-02-03, 2000-10-13, 2000-03-29
82
+ USA_AK_Fairbanks.Intl.AP.702610_TMY3.epw, USA-AK-Fairbanks Intl Arpt,Fairbanks Intl Arpt_AK_USA,USA, AK, Fairbanks Intl Arpt, 5020.0, 7516.0,587.0,39.0,64.82, -147.85, 133.0, 36.2 ,8,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-22, 2000-01-27, 2000-10-13, 2000-04-12
83
+ USA_AZ_Phoenix-Sky.Harbor.Intl.AP.722780_TMY3.epw, USA-AZ-Phoenix Sky Harbor Intl Ap,Phoenix Sky Harbor Intl Ap_AZ_USA,USA, AZ, Phoenix Sky Harbor Intl Ap, 17.0, 523.0,5067.0,2532.0,33.45, -111.98, 337.0, 23.900000000000002 ,1B,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-27, 2000-12-01, 2000-10-20, 2000-05-03
84
+ USA_CA_San.Francisco.Intl.AP.724940_TMY3.epw, USA-CA-San Francisco Intl Ap,San Francisco Intl Ap_CA_USA,USA, CA, San Francisco Intl Ap, 65.0, 1504.0,1681.0,79.0,37.62, -122.4, 2.0, 7.1 ,3C,196-2006 Climate Zone,Aug:Oct, Feb:Apr,Nov:Jan, May:Jul, 2000-09-05, 2000-02-15, 2000-12-06, 2000-05-29
85
+ USA_FL_Miami.Intl.AP.722020_TMY3.epw, USA-FL-Miami Intl Ap,Miami Intl Ap_FL_USA,USA, FL, Miami Intl Ap, 1.0, 72.0,5447.0,2477.0,25.82, -80.3, 11.0, 8.700000000000003 ,1A,196-2006 Climate Zone,Apr:Nov, Dec:Mar,NA, NA, 2000-06-17, 2000-01-13, NA, NA
86
+ USA_ID_Boise.Air.Terminal.726810_TMY3.epw, USA-ID-Boise Air Terminal Uo,Boise Air Terminal Uo_ID_USA,USA, ID, Boise Air Terminal Uo, 1295.0, 3143.0,1687.0,494.0,43.62, -116.21, 701.0, 26.2 ,4B,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-22, 2000-02-17, 2000-10-06, 2000-04-19
87
+ USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw, USA-IL-Chicago Ohare Intl Ap,Chicago Ohare Intl Ap_IL_USA,USA, IL, Chicago Ohare Intl Ap, 1685.0, 3506.0,1689.0,468.0,41.98, -87.92, 201.0, 28.700000000000003 ,5A,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-24, 2000-12-22, 2000-10-27, 2000-04-26
88
+ USA_MD_Baltimore-Washington.Intl.AP.724060_TMY3.epw, USA-MD-Baltimore Blt Washngtn IntL,Baltimore Blt Washngtn IntL_MD_USA,USA, MD, Baltimore Blt Washngtn IntL, 959.0, 2537.0,2145.0,682.0,39.17, -76.68, 45.0, 25.8 ,4A,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-22, 2000-02-10, 2000-10-06, 2000-04-26
89
+ USA_MN_Duluth.Intl.AP.727450_TMY3.epw, USA-MN-Duluth International Arpt,Duluth International Arpt_MN_USA,USA, MN, Duluth International Arpt, 2976.0, 5236.0,898.0,116.0,46.83, -92.22, 433.0, 30.8 ,7,196-2006 Climate Zone,May:Jul, Nov:Jan,Aug:Oct, Feb:Apr, 2000-06-12, 2000-12-06, 2000-09-19, 2000-02-08
90
+ USA_MT_Helena.Rgnl.AP.727720_TMY3.epw, USA-MT-Helena Regional Airport,Helena Regional Airport_MT_USA,USA, MT, Helena Regional Airport, 2137.0, 4266.0,1119.0,208.0,46.6, -111.97, 1167.0, 25.5 ,6B,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-10, 2000-12-22, 2000-09-29, 2000-04-26
91
+ USA_NM_Albuquerque.Intl.AP.723650_TMY3.epw, USA-NM-Albuquerque Intl Arpt Isis,Albuquerque Intl Arpt Isis_NM_USA,USA, NM, Albuquerque Intl Arpt Isis, 762.0, 2261.0,2293.0,749.0,35.04, -106.62, 1619.0, 23.5 ,4B,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-10, 2000-12-01, 2000-10-13, 2000-04-19
92
+ USA_OR_Salem-McNary.Field.726940_TMY3.epw, USA-OR-Salem Mcnary Field,Salem Mcnary Field_OR_USA,USA, OR, Salem Mcnary Field, 626.0, 2542.0,1289.0,162.0,44.9, -123.0, 60.0, 15.600000000000001 ,4A,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-08-24, 2000-02-17, 2000-10-06, 2000-04-12
93
+ USA_TN_Memphis.Intl.AP.723340_TMY3.epw, USA-TN-Memphis International Ap,Memphis International Ap_TN_USA,USA, TN, Memphis International Ap, 499.0, 1631.0,3138.0,1230.0,35.07, -89.98, 81.0, 24.200000000000003 ,3A,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-06-29, 2000-12-22, 2000-10-20, 2000-04-05
94
+ USA_TX_El.Paso.Intl.AP.722700_TMY3.epw, USA-TX-El Paso International Ap Ut,El Paso International Ap Ut_TX_USA,USA, TX, El Paso International Ap Ut, 288.0, 1370.0,3245.0,1286.0,31.77, -106.5, 1186.0, 21.099999999999998 ,3B,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-20, 2000-01-06, 2000-10-13, 2000-04-12
95
+ USA_TX_Houston-Bush.Intercontinental.AP.722430_TMY3.epw, USA-TX-Houston Bush Intercontinental,Houston Bush Intercontinental_TX_USA,USA, TX, Houston Bush Intercontinental, 121.0, 786.0,4043.0,1667.0,30.0, -95.37, 29.0, 17.8 ,2A,196-2006 Climate Zone,Jul:Sep, Jan:Mar,Oct:Dec, Apr:Jun, 2000-07-22, 2000-03-12, 2000-11-26, 2000-05-13
96
+ USA_VT_Burlington.Intl.AP.726170_TMY3.epw, USA-VT-Burlington International Ap,Burlington International Ap_VT_USA,USA, VT, Burlington International Ap, 2129.0, 4114.0,1330.0,276.0,44.47, -73.15, 101.0, 28.3 ,5A,196-2006 Climate Zone,Jun:Aug, Dec:Feb,Sep:Nov, Mar:May, 2000-07-27, 2000-12-22, 2000-10-13, 2000-03-29
@@ -17,6 +17,7 @@
17
17
  # * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
18
  # **********************************************************************/
19
19
 
20
+
20
21
  require 'openstudio/energyplus/find_energyplus'
21
22
  require 'fileutils'
22
23
  require 'singleton'
@@ -27,7 +28,6 @@ require_relative 'geometry'
27
28
  require_relative 'compliance'
28
29
  require_relative 'analysis'
29
30
  require_relative 'simmanager'
30
- require_relative 'environment'
31
31
  require_relative 'mpc'
32
32
  require_relative 'envelope'
33
33
  require_relative 'spaceloads'
@@ -452,12 +452,20 @@ module BTAP
452
452
  #@author phylroy.lopez@nrcan.gc.ca
453
453
  #@param model [OpenStudio::model::Model] A model object
454
454
  #@param hdd [Float]
455
- def self.set_necb_envelope( model, hdd )
455
+ def self.set_necb_envelope( model, runner=nil)
456
456
 
457
+ BTAP::runner_register("Info","set_envelope_surfaces_to_necb!", runner)
458
+ if model.weatherFile.empty? or model.weatherFile.get.path.empty? or not File.exists?(model.weatherFile.get.path.get.to_s)
459
+
460
+ BTAP::runner_register("Error","Weather file is not defined. Please ensure the weather file is defined and exists.", runner)
461
+ return false
462
+ end
463
+ hdd = BTAP::Environment::WeatherFile.new(model.weatherFile.get.path.get).hdd18
464
+
457
465
  #interate Through all surfaces
458
466
  model.getSurfaces.each do |surface|
459
467
  #set fenestration to wall ratio.
460
- BTAP::Compliance::NECB2011::set_fwdr(surface,hdd)
468
+ BTAP::Compliance::NECB2011::set_necb_external_surface_conductance(surface,hdd,false,1.0)
461
469
 
462
470
  #dig into the subsurface and change them as well.
463
471
  model.getSubSurfaces.each do |subsurface|
@@ -569,12 +577,13 @@ module BTAP
569
577
  #@param runner [Object]
570
578
  #@param [Boolean] use_max
571
579
  def self.set_necb_fwdr(model,use_max = false, runner = nil)
572
- BTAP::runner_register("Info","set_necb_fwdr", runner)
580
+ BTAP::runner_register("Info","set_necb_fwdr", runner)
573
581
  if model.weatherFile.empty? or model.weatherFile.get.path.empty? or not File.exists?(model.weatherFile.get.path.get.to_s)
574
582
  BTAP::runner_register("Error","Weather file is not defined. Please ensure the weather file is defined and exists.", runner)
575
583
  return false
576
584
  end
577
585
  hdd = BTAP::Environment::WeatherFile.new(model.weatherFile.get.path.get).hdd18
586
+
578
587
  old_fwdr = BTAP::Geometry::get_fwdr(model)
579
588
  BTAP::runner_register("Info","old FWDR is #{old_fwdr}", runner)
580
589
  outdoor_surfaces = BTAP::Geometry::Surfaces::filter_by_boundary_condition(model.getSurfaces(), "Outdoors")
@@ -663,20 +672,22 @@ module BTAP
663
672
  #@return [String] surface as RSI
664
673
  def self.set_necb_external_surface_conductance(surface,hdd,is_radiant = false,scaling_factor = 1.0)
665
674
  conductance_value = 0
675
+ climate_zone_index = self.get_climate_zone_index(hdd)
676
+
666
677
  if surface.outsideBoundaryCondition.downcase == "outdoors"
667
678
 
668
679
  case surface.surfaceType.downcase
669
680
  when "wall"
670
- conductance_value = BTAP::Compliance::NECB2011::Data::Conductances::Wall[BTAP::Compliance::NECB2011::get_climate_zone_index(@hdd)] * scaling_factor
681
+ conductance_value = BTAP::Compliance::NECB2011::Data::Conductances::Wall[climate_zone_index] * scaling_factor
671
682
  when "floor"
672
- conductance_value = BTAP::Compliance::NECB2011::Data::Conductances::Floor[BTAP::Compliance::NECB2011::get_climate_zone_index(@hdd)] * scaling_factor
683
+ conductance_value = BTAP::Compliance::NECB2011::Data::Conductances::Floor[climate_zone_index] * scaling_factor
673
684
  when "roofceiling"
674
- conductance_value = BTAP::Compliance::NECB2011::Data::Conductances::Roof[BTAP::Compliance::NECB2011::get_climate_zone_index(@hdd)]
685
+ conductance_value = BTAP::Compliance::NECB2011::Data::Conductances::Roof[climate_zone_index]
675
686
  end
676
687
  if (is_radiant)
677
688
  conductance_value = conductance_value * 0.80
678
689
  end
679
- return surface.setRSI(1/conductance_value)
690
+ return BTAP::Geometry::Surfaces::set_surfaces_construction_conductance( [surface], conductance_value )
680
691
  end
681
692
 
682
693
 
@@ -1034,27 +1045,50 @@ module BTAP
1034
1045
 
1035
1046
 
1036
1047
  def self.set_wildcard_schedules_to_dominant_building_schedule(model, runner = nil)
1048
+
1049
+ new_sched_ruleset = OpenStudio::Model::DefaultScheduleSet.new(model) #initialize
1037
1050
  BTAP::runner_register("Info", "set_wildcard_schedules_to_dominant_building_schedule", runner)
1038
1051
  #Set wildcard schedules based on dominant schedule type in building.
1039
1052
  dominant_sched_type = BTAP::Compliance::NECB2011::determine_dominant_necb_schedule_type(model)
1053
+ #puts "dominant_sched_type = #{dominant_sched_type}"
1054
+ # find schedule set that corresponds to dominant schedule type
1055
+ model.getDefaultScheduleSets.each do |sched_ruleset|
1056
+ # just check people schedule
1057
+ # TO DO: should make this smarter: check all schedules
1058
+ people_sched = sched_ruleset.numberofPeopleSchedule
1059
+ people_sched_name = people_sched.get.name.to_s unless people_sched.empty?
1060
+
1061
+ search_string = "NECB-#{dominant_sched_type}"
1062
+
1063
+ if people_sched.empty? == false
1064
+ if people_sched_name.include? search_string
1065
+ new_sched_ruleset = sched_ruleset
1066
+ end
1067
+ end
1068
+ end
1069
+
1070
+ # replace the default schedule set for the space type with * to schedule ruleset with dominant schedule type
1071
+
1040
1072
  model.getSpaces.each do |space|
1041
1073
  #check to see if space space type has a "*" wildcard schedule.
1042
1074
  spacetype_name = space.spaceType.get.name.to_s unless space.spaceType.empty?
1043
- if determine_necb_schedule_type( space ).to_s == "*".to_s
1044
- new_sched = (spacetype_name + "-" + dominant_sched_type).to_s
1045
- optional_spacetype = model.getSpaceTypeByName(new_sched)
1075
+ if determine_necb_schedule_type( space ).to_s == "*".to_s
1076
+ new_sched = (spacetype_name).to_s
1077
+ optional_spacetype = model.getSpaceTypeByName(new_sched)
1046
1078
  if optional_spacetype.empty?
1047
1079
  BTAP::runner_register("Error", "Cannot find NECB spacetype #{new_sched}" , runner )
1048
1080
  else
1049
- BTAP::runner_register("Info","Setting wildcard space #{spacetype_name} to concrete spacetype #{new_sched}",runner)
1050
- space.setSpaceType(optional_spacetype.get)
1081
+ BTAP::runner_register("Info","Setting wildcard spacetype #{spacetype_name} default schedule set to #{new_sched_ruleset.name}",runner)
1082
+ optional_spacetype.get.setDefaultScheduleSet(new_sched_ruleset) #this works!
1051
1083
  end
1052
1084
  end
1053
- end
1085
+ end # end of do |space|
1086
+
1054
1087
  return true
1055
1088
  end
1056
1089
 
1057
1090
  def self.set_zones_thermostat_schedule_based_on_space_type_schedules(model,runner = nil)
1091
+ puts "in set_zones_thermostat_schedule_based_on_space_type_schedules"
1058
1092
  BTAP::runner_register("DEBUG","Start-set_zones_thermostat_schedule_based_on_space_type_schedules" , runner)
1059
1093
  model.getThermalZones.each do |zone|
1060
1094
  BTAP::runner_register("DEBUG","\tThermalZone:#{zone.name}" , runner)
@@ -1062,6 +1096,13 @@ module BTAP
1062
1096
  zone.spaces.each do |space|
1063
1097
  schedule_type = BTAP::Compliance::NECB2011::determine_necb_schedule_type( space ).to_s
1064
1098
  BTAP::runner_register("DEBUG","space name/type:#{space.name}/#{schedule_type}" , runner)
1099
+
1100
+ # if wildcard space type, need to get dominant schedule type
1101
+ if schedule_type = "*".to_s
1102
+ dominant_sched_type = BTAP::Compliance::NECB2011::determine_dominant_necb_schedule_type(model)
1103
+ schedule_type = dominant_sched_type
1104
+ end
1105
+
1065
1106
  array << schedule_type
1066
1107
  end
1067
1108
  array.uniq!
@@ -1070,19 +1111,40 @@ module BTAP
1070
1111
  return false
1071
1112
  end
1072
1113
 
1073
- if model.getThermostatSetpointDualSetpointByName("NECB-#{array[0]}").empty? == false
1074
- ds = model.getThermostatSetpointDualSetpointByName("NECB-#{array[0]}").get
1075
- zone.setThermostatSetpointDualSetpoint(ds)
1076
-
1077
- BTAP::runner_register("Info","Found DualSetpoint Schedule NECB-#{array[0]}",runner)
1078
- BTAP::runner_register("Info","ThermalZone #{zone.name} set to DualSetpoint Schedule NECB-#{array[0]}",runner)
1079
- BTAP::runner_register("DEBUG","END-set_zones_thermostat_schedule_based_on_space_type_schedules" , runner)
1114
+
1115
+ htg_search_string = "NECB-#{array[0]}-Thermostat Setpoint-Heating"
1116
+ clg_search_string = "NECB-#{array[0]}-Thermostat Setpoint-Cooling"
1117
+
1118
+ if model.getScheduleRulesetByName(htg_search_string).empty? == false
1119
+ htg_sched = model.getScheduleRulesetByName(htg_search_string).get
1080
1120
  else
1081
- BTAP::runner_register("ERROR","set_zones_thermostat_schedule NECB-#{array[0]} does not exist" , runner)
1082
- puts model.getThermostatSetpointDualSetpoints
1121
+ BTAP::runner_register("ERROR","heating_thermostat_setpoint_schedule NECB-#{array[0]} does not exist" , runner)
1083
1122
  return false
1084
1123
  end
1124
+
1125
+ if model.getScheduleRulesetByName(clg_search_string).empty? == false
1126
+ clg_sched = model.getScheduleRulesetByName(clg_search_string).get
1127
+ else
1128
+ BTAP::runner_register("ERROR","cooling_thermostat_setpoint_schedule NECB-#{array[0]} does not exist" , runner)
1129
+ return false
1130
+ end
1131
+
1132
+ name = "NECB-#{array[0]}-Thermostat Dual Setpoint Schedule"
1133
+
1134
+ # If dual setpoint already exists, use that one, else create one
1135
+ if model.getThermostatSetpointDualSetpointByName(name).empty? == false
1136
+ ds = model.getThermostatSetpointDualSetpointByName(name).get
1137
+ else
1138
+ ds = BTAP::Resources::Schedules::create_annual_thermostat_setpoint_dual_setpoint(model, name, htg_sched, clg_sched)
1139
+ end
1140
+
1141
+ thermostatClone = ds.clone.to_ThermostatSetpointDualSetpoint.get
1142
+ zone.setThermostatSetpointDualSetpoint(thermostatClone)
1143
+ BTAP::runner_register("Info","ThermalZone #{zone.name} set to DualSetpoint Schedule NECB-#{array[0]}",runner)
1144
+
1085
1145
  end
1146
+
1147
+ BTAP::runner_register("DEBUG","END-set_zones_thermostat_schedule_based_on_space_type_schedules" , runner)
1086
1148
  return true
1087
1149
  end
1088
1150
 
@@ -1229,13 +1291,17 @@ module BTAP
1229
1291
  def self.lookup_spacetype_info(type)
1230
1292
  BTAP::Compliance::NECB2011::Data::SpaceTypeData.each do |item|
1231
1293
  # The optional suffix allows for for defined "wildcard" spacetypes to pass through.
1232
- if type.strip =~ /NECB-#{item[0]}(\-[ABCDEFGHI])?/
1294
+ # space type names have changed - original commented out below (until i know it works)
1295
+ # if type.strip =~ /NECB 2011 - Space Function - #{item[0]}(\-[ABCDEFGHI])?/
1296
+ if type.strip =~ /Space Function #{item[0]}(\-[ABCDEFGHI])?/
1233
1297
  return item
1234
1298
  end
1235
1299
 
1236
1300
  end
1237
1301
  BTAP::Compliance::NECB2011::Data::BuildingTypeData.each do |item|
1238
- if type.strip =~ /NECB-#{item[0]}(\-[ABCDEFGHI])?/
1302
+ # space type names have changed - original commented out below (until i know it works)
1303
+ # if type.strip =~ /NECB 2011 - Space Function - #{item[0]}(\-[ABCDEFGHI])?/
1304
+ if type.strip =~ /Space Function #{item[0]}(\-[ABCDEFGHI])?/
1239
1305
  return item
1240
1306
  end
1241
1307
  end
@@ -1262,14 +1328,23 @@ module BTAP
1262
1328
  #iterate through spaces in building.
1263
1329
  model.getSpaces.each do |space|
1264
1330
  raise ("Space #{space.name} does not have a spacetype defined!") if space.spaceType.empty?
1331
+
1265
1332
  spacetype_name = space.spaceType.get.name
1266
- #iterate throught the NECB spacetypes
1333
+
1334
+
1335
+ #iterate through the NECB spacetypes
1267
1336
  found_space_type = false
1268
- BTAP::Compliance::NECB2011::Data::SpaceTypeData.each do |spacetype|
1269
-
1270
- #puts "compare #{spacetype_name.to_s} == #{("NECB-" + spacetype[0]).to_s}"
1271
- if (spacetype_name.to_s == ("NECB-" + spacetype[0]).to_s )
1337
+ BTAP::Compliance::NECB2011::Data::SpaceTypeData.each do |spacetype|
1338
+
1339
+ # puts "compare #{spacetype_name.to_s} == #{("Space Function " + spacetype[0]).to_s}"
1340
+
1341
+ # i think spacetype names have changed, remove NECB 2011 -
1342
+ #if (spacetype_name.to_s == ("NECB 2011 - Space Function - " + spacetype[0]).to_s )
1343
+ # s[ spacetype[2] ] = s[ spacetype[2] ] + space.floorArea() if "*" != spacetype[2]
1344
+
1345
+ if (spacetype_name.to_s == ("Space Function " + spacetype[0]).to_s )
1272
1346
  s[ spacetype[2] ] = s[ spacetype[2] ] + space.floorArea() if "*" != spacetype[2]
1347
+
1273
1348
  #puts "Found #{space.spaceType.get.name} schedule #{spacetype[2]} match with floor area of #{space.floorArea()}"
1274
1349
  found_space_type = true
1275
1350
  elsif spacetype_name.to_s =~ /NECB-#{spacetype[0].to_s}(\-[ABCDEFGHI])?/
@@ -1294,11 +1369,16 @@ module BTAP
1294
1369
  BTAP::Compliance::NECB2011::Data::SpaceTypeData.each do |spacetype|
1295
1370
  spacetype_name = space.spaceType.get.name unless space.spaceType.empty?
1296
1371
  #If it is a regular space type.
1297
- if spacetype_name.to_s == ("NECB-" + spacetype[0]).to_s
1372
+
1373
+ # space type names have changed - original commented out below
1374
+ # if spacetype_name.to_s == ("NECB 2011 - Space Function - " + spacetype[0]).to_s
1375
+ if spacetype_name.to_s == ("Space Function " + spacetype[0]).to_s
1298
1376
  return spacetype[2]
1299
1377
  end
1300
1378
  #if it is a wildcard space type the schedule is in the name ensure that
1301
- if spacetype_name.to_s =~ /#{"NECB-" + spacetype[0]}-(\S)$/i
1379
+ # space type names have changed - original commented out below
1380
+ # if spacetype_name.to_s =~ /#{"NECB 2011 - Space Function - " + spacetype[0]}-(\S)$/i
1381
+ if spacetype_name.to_s =~ /#{"Space Function " + spacetype[0]}-(\S)$/i
1302
1382
  return $1
1303
1383
  end
1304
1384
  end
@@ -1378,8 +1458,13 @@ module BTAP
1378
1458
  return false
1379
1459
  end
1380
1460
 
1381
- unless ["Electric", "Gas", "DX"].include?(heating_coil_types_sys3)
1382
- BTAP::runner_register("ERROR","heating_coil_types_sys4and6 = #{heating_coil_types_sys4and6}",runner)
1461
+ unless ["Electric", "Gas", "DX"].include?(heating_coil_types_sys4)
1462
+ BTAP::runner_register("ERROR","heating_coil_types_sys4 = #{heating_coil_types_sys4}",runner)
1463
+ return false
1464
+ end
1465
+
1466
+ unless ["Hot Water", "Electric"].include?(heating_coil_types_sys6)
1467
+ BTAP::runner_register("ERROR","heating_coil_types_sys6 = #{heating_coil_types_sys6}",runner)
1383
1468
  return false
1384
1469
  end
1385
1470
 
@@ -1567,7 +1652,11 @@ module BTAP
1567
1652
  end
1568
1653
 
1569
1654
  #default it to ideal air system.
1570
- thermal_zone.setUseIdealAirLoads(true)
1655
+ #thermal_zone_ideal_loads = OpenStudio::Model::ZoneHVACIdealLoadsAirSystem.new(model)
1656
+ #thermal_zone_ideal_loads.addToThermalZone(thermal_zone)
1657
+
1658
+ # thermal_zone.setUseIdealAirLoads(true) - this uses HVACTemplateObject
1659
+
1571
1660
  #store zone in
1572
1661
  system_zone_array[system_number] << thermal_zone
1573
1662
 
@@ -1582,30 +1671,36 @@ module BTAP
1582
1671
  unless use_ideal_air_loads == true
1583
1672
 
1584
1673
 
1585
- puts boiler_fueltype
1586
-
1674
+ puts "boiler_fueltype = #{boiler_fueltype}"
1675
+
1587
1676
  system_zone_array.each_with_index do |zones,system_index|
1588
1677
  #skip if no thermal zones for this system.
1589
1678
  next if zones.size == 0
1590
1679
  puts "Zone Names for System #{system_index}"
1680
+ puts "system_index = #{system_index}"
1591
1681
  case system_index
1682
+ when 0
1683
+ zones.each do |thermal_zone|
1684
+ thermal_zone_ideal_loads = OpenStudio::Model::ZoneHVACIdealLoadsAirSystem.new(model)
1685
+ thermal_zone_ideal_loads.addToThermalZone(thermal_zone)
1686
+ end
1592
1687
  when 1
1593
- BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys1(model, zones, boiler_fueltype, mau_type, mau_heating_coil_type, baseboard_type)
1688
+ BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys1(model, zones, boiler_fueltype, mau_type, mau_heating_coil_type, baseboard_type)
1594
1689
  when 2
1595
1690
  BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys2(model, zones, boiler_fueltype, chiller_type, mua_cooling_type)
1596
1691
  when 3
1597
1692
  BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys3(model, zones, boiler_fueltype, heating_coil_types_sys3, baseboard_type)
1598
1693
  when 4
1599
- BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys4(model, zones, boiler_fueltype, heating_coil_types_sys4and6, baseboard_type)
1694
+ BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys4(model, zones, boiler_fueltype, heating_coil_types_sys4, baseboard_type)
1600
1695
  when 5
1601
1696
  BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys5(model, zones, boiler_fueltype, chiller_type, mua_cooling_type)
1602
1697
  when 6
1603
- BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys6(model, zones, boiler_fueltype, heating_coil_types_sys6, baseboard_type, chiller_type, fan_type)
1698
+ BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys6(model, zones, boiler_fueltype, heating_coil_types_sys6, baseboard_type, chiller_type, fan_type)
1604
1699
  when 7
1605
1700
  BTAP::Resources::HVAC::HVACTemplates::NECB2011::assign_zones_sys2(model, zones, boiler_fueltype, chiller_type, mua_cooling_type)
1606
1701
  end
1607
1702
  end
1608
- end
1703
+ end
1609
1704
  end
1610
1705
  end
1611
1706
  end #Compliance