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.
- checksums.yaml +4 -4
- data/data/standards/OpenStudio_Standards.xlsx +0 -0
- data/data/standards/OpenStudio_Standards_chillers.json +5 -5
- data/data/standards/OpenStudio_Standards_construction_sets.json +2 -2
- data/data/standards/OpenStudio_Standards_curve_cubics.json +12 -0
- data/data/standards/OpenStudio_Standards_heat_pumps.json +2126 -72
- data/data/standards/OpenStudio_Standards_heat_pumps_heating.json +766 -14
- data/data/standards/OpenStudio_Standards_heat_rejection.json +172 -0
- data/data/standards/OpenStudio_Standards_prototype_inputs.json +355 -267
- data/data/standards/OpenStudio_Standards_schedules.json +262 -10
- data/data/standards/OpenStudio_Standards_space_types.json +1466 -794
- data/data/standards/manage_OpenStudio_Standards.rb +19 -21
- data/data/weather/weather_info.csv +96 -0
- data/lib/openstudio-standards/btap/btap.rb +1 -1
- data/lib/openstudio-standards/btap/compliance.rb +135 -40
- data/lib/openstudio-standards/btap/envelope.rb +26 -5
- data/lib/openstudio-standards/btap/geometry.rb +11 -1
- data/lib/openstudio-standards/btap/hvac.rb +489 -56
- data/lib/openstudio-standards/btap/simmanager.rb +1 -1
- data/lib/openstudio-standards/hvac_sizing/HVACSizing.CoilHeatingDXMultiSpeed.rb +120 -0
- data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingDXMultiSpeed.rb +151 -7
- data/lib/openstudio-standards/hvac_sizing/Siz.CoilHeatingGasMultiStage.rb +48 -7
- data/lib/openstudio-standards/hvac_sizing/Siz.Model.rb +14 -12
- data/lib/openstudio-standards/prototypes/Prototype.AirTerminalSingleDuctVAVReheat.rb +33 -7
- data/lib/openstudio-standards/prototypes/Prototype.Model.hvac.rb +123 -91
- data/lib/openstudio-standards/prototypes/Prototype.Model.rb +130 -45
- data/lib/openstudio-standards/prototypes/Prototype.Model.swh.rb +13 -7
- data/lib/openstudio-standards/prototypes/Prototype.full_service_restaurant.rb +332 -324
- data/lib/openstudio-standards/prototypes/Prototype.hospital.rb +401 -99
- data/lib/openstudio-standards/prototypes/Prototype.hvac_systems.rb +309 -222
- data/lib/openstudio-standards/prototypes/Prototype.large_hotel.rb +100 -80
- data/lib/openstudio-standards/prototypes/Prototype.large_office.rb +37 -22
- data/lib/openstudio-standards/prototypes/Prototype.medium_office.rb +68 -53
- data/lib/openstudio-standards/prototypes/Prototype.mid_rise_apartment.rb +109 -88
- data/lib/openstudio-standards/prototypes/Prototype.outpatient.rb +52 -4
- data/lib/openstudio-standards/prototypes/Prototype.primary_school.rb +230 -213
- data/lib/openstudio-standards/prototypes/Prototype.quick_service_restaurant.rb +225 -218
- data/lib/openstudio-standards/prototypes/Prototype.retail_standalone.rb +29 -17
- data/lib/openstudio-standards/prototypes/Prototype.retail_stripmall.rb +42 -32
- data/lib/openstudio-standards/prototypes/Prototype.secondary_school.rb +331 -314
- data/lib/openstudio-standards/prototypes/Prototype.small_hotel.rb +233 -219
- data/lib/openstudio-standards/prototypes/Prototype.small_office.rb +40 -32
- data/lib/openstudio-standards/prototypes/Prototype.warehouse.rb +19 -6
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +576 -555
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +3 -1
- data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +35 -17
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +51 -23
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +255 -0
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +192 -0
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +65 -0
- data/lib/openstudio-standards/standards/Standards.Fan.rb +37 -6
- data/lib/openstudio-standards/standards/Standards.Model.rb +28 -3
- data/lib/openstudio-standards/standards/Standards.SpaceType.rb +3 -1
- data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +41 -15
- data/lib/openstudio-standards/version.rb +1 -1
- data/lib/openstudio-standards/weather/Weather.Model.rb +509 -5
- data/lib/openstudio-standards/weather/Weather.stat_file.rb +145 -5
- metadata +8 -3
- 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,
|
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::
|
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[
|
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[
|
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[
|
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
|
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
|
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
|
1050
|
-
|
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
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
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","
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
1271
|
-
|
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
|
-
|
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
|
-
|
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?(
|
1382
|
-
BTAP::runner_register("ERROR","
|
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
|
-
|
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,
|
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
|