openstudio-standards 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|