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
@@ -27,6 +27,7 @@ class OpenStudio::Model::SpaceType
|
|
27
27
|
}
|
28
28
|
|
29
29
|
# lookup space type properties
|
30
|
+
|
30
31
|
space_type_properties = self.model.find_object($os_standards["space_types"], search_criteria)
|
31
32
|
|
32
33
|
if space_type_properties.nil?
|
@@ -47,7 +48,8 @@ class OpenStudio::Model::SpaceType
|
|
47
48
|
|
48
49
|
# Get the standards data
|
49
50
|
space_type_properties = self.get_standards_data(template)
|
50
|
-
|
51
|
+
|
52
|
+
|
51
53
|
# Set the rendering color of the space type
|
52
54
|
rgb = space_type_properties['rgb']
|
53
55
|
rgb = rgb.split('_')
|
@@ -54,28 +54,54 @@ class OpenStudio::Model::WaterHeaterMixed
|
|
54
54
|
ua_btu_per_hr_per_f = nil
|
55
55
|
sl_btu_per_hr = nil
|
56
56
|
case fuel_type
|
57
|
-
when 'Electricity'
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
#
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
57
|
+
when 'Electricity'
|
58
|
+
case template
|
59
|
+
when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004','90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
|
60
|
+
|
61
|
+
if capacity_w <= 12000 # I think this should be 12000W, use variable capacity_w instead of capacity_btu_per_hr (as per PNNL doc)
|
62
|
+
# Fixed water heater efficiency per PNNL
|
63
|
+
water_heater_eff = 1
|
64
|
+
# Calculate the minimum Energy Factor (EF)
|
65
|
+
ef = 0.97 - (0.00132 * volume_gal)
|
66
|
+
# Calculate the skin loss coefficient (UA)
|
67
|
+
ua_btu_per_hr_per_f = (41094*(1/ef - 1))/(24*67.5)
|
68
|
+
else
|
69
|
+
# Fixed water heater efficiency per PNNL
|
70
|
+
water_heater_eff = 1
|
71
|
+
# Calculate the max allowable standby loss (SL)
|
72
|
+
sl_btu_per_hr = 20 + (35*Math.sqrt(volume_gal))
|
73
|
+
# Calculate the skin loss coefficient (UA)
|
74
|
+
ua_btu_per_hr_per_f = sl_btu_per_hr/70
|
75
|
+
end
|
76
|
+
|
77
|
+
when 'NECB 2011'
|
78
|
+
volume_l_per_s = volume_m3 * 1000
|
79
|
+
if capacity_w <= 12000
|
80
|
+
# Fixed water heater efficiency per PNNL
|
81
|
+
water_heater_eff = 1
|
82
|
+
# Calculate the max allowable standby loss (SL)
|
83
|
+
if volume_l_per_s < 270
|
84
|
+
sl_w = 40 + 0.2 * volume_l_per_s # assume bottom inlet
|
85
|
+
else
|
86
|
+
sl_w = 0.472 * volume_l_per_s - 33.5
|
87
|
+
end # assume bottom inlet
|
88
|
+
sl_btu_per_hr = OpenStudio.convert(sl_w, "W", "Btu/hr").get
|
89
|
+
else
|
90
|
+
# Fixed water heater efficiency per PNNL
|
91
|
+
water_heater_eff = 1
|
92
|
+
# Calculate the max allowable standby loss (SL) # use this - NECB does not give SL calculation for cap > 12 kW
|
93
|
+
sl_btu_per_hr = 20 + (35*Math.sqrt(volume_gal))
|
94
|
+
end
|
70
95
|
# Calculate the skin loss coefficient (UA)
|
71
|
-
ua_btu_per_hr_per_f = sl_btu_per_hr/70
|
96
|
+
ua_btu_per_hr_per_f = sl_btu_per_hr/70
|
72
97
|
end
|
98
|
+
|
73
99
|
when 'NaturalGas'
|
74
100
|
case template # TODO inconsistency; ref buildings don't calculate water heater UA the same way
|
75
101
|
when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004'
|
76
102
|
water_heater_eff = 0.78
|
77
103
|
ua_btu_per_hr_per_f = 11.37
|
78
|
-
when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013'
|
104
|
+
when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', 'NECB 2011'
|
79
105
|
if capacity_btu_per_hr <= 75000
|
80
106
|
# Fixed water heater efficiency per PNNL
|
81
107
|
water_heater_eff = 0.82
|
@@ -5,12 +5,15 @@ class OpenStudio::Model::Model
|
|
5
5
|
# Helper method to set the weather file, import the design days, set
|
6
6
|
# water mains temperature, and set ground temperature.
|
7
7
|
# Based on ChangeBuildingLocation measure by Nicholas Long
|
8
|
-
|
8
|
+
|
9
|
+
def add_design_days_and_weather_file(building_type, building_vintage, climate_zone, epw_file)
|
10
|
+
|
9
11
|
|
10
12
|
require_relative 'Weather.stat_file'
|
11
13
|
|
12
14
|
OpenStudio::logFree(OpenStudio::Info, 'openstudio.weather.Model', "Started adding weather file for climate zone: #{climate_zone}.")
|
13
15
|
|
16
|
+
|
14
17
|
# Define the weather file for each climate zone
|
15
18
|
climate_zone_weather_file_map = {
|
16
19
|
'ASHRAE 169-2006-1A' => 'USA_FL_Miami.Intl.AP.722020_TMY3.epw',
|
@@ -31,7 +34,15 @@ class OpenStudio::Model::Model
|
|
31
34
|
'ASHRAE 169-2006-7A' => 'USA_MN_Duluth.Intl.AP.727450_TMY3.epw',
|
32
35
|
'ASHRAE 169-2006-7B' => 'USA_MN_Duluth.Intl.AP.727450_TMY3.epw',
|
33
36
|
'ASHRAE 169-2006-8A' => 'USA_AK_Fairbanks.Intl.AP.702610_TMY3.epw',
|
34
|
-
'ASHRAE 169-2006-8B' => 'USA_AK_Fairbanks.Intl.AP.702610_TMY3.epw'
|
37
|
+
'ASHRAE 169-2006-8B' => 'USA_AK_Fairbanks.Intl.AP.702610_TMY3.epw',
|
38
|
+
#For measure input
|
39
|
+
'NECB HDD Method' => "#{epw_file}",
|
40
|
+
#For testing
|
41
|
+
'NECB-CNEB-5' => "#{epw_file}",
|
42
|
+
'NECB-CNEB-6' => "#{epw_file}",
|
43
|
+
'NECB-CNEB-7a' => "#{epw_file}",
|
44
|
+
'NECB-CNEB-7b' => "#{epw_file}",
|
45
|
+
'NECB-CNEB-8' => "#{epw_file}"
|
35
46
|
}
|
36
47
|
|
37
48
|
# Define where the weather files live
|
@@ -39,7 +50,7 @@ class OpenStudio::Model::Model
|
|
39
50
|
weather_dir = "#{top_dir}/data/weather"
|
40
51
|
|
41
52
|
# Get the weather file name from the hash
|
42
|
-
weather_file_name = climate_zone_weather_file_map[climate_zone]
|
53
|
+
weather_file_name = climate_zone_weather_file_map[climate_zone]
|
43
54
|
if weather_file_name.nil?
|
44
55
|
OpenStudio::logFree(OpenStudio::Error, 'openstudio.weather.Model', "Could not determine the weather file for climate zone: #{climate_zone}.")
|
45
56
|
return false
|
@@ -49,6 +60,7 @@ class OpenStudio::Model::Model
|
|
49
60
|
unless (Pathname.new weather_dir).absolute?
|
50
61
|
weather_dir = File.expand_path(File.join(File.dirname(__FILE__), weather_dir))
|
51
62
|
end
|
63
|
+
|
52
64
|
weather_file = File.join(weather_dir, weather_file_name)
|
53
65
|
epw_file = OpenStudio::EpwFile.new(weather_file)
|
54
66
|
OpenStudio::Model::WeatherFile.setWeatherFile(self, epw_file).get
|
@@ -59,6 +71,7 @@ class OpenStudio::Model::Model
|
|
59
71
|
weather_time = epw_file.timeZone
|
60
72
|
weather_elev = epw_file.elevation
|
61
73
|
|
74
|
+
|
62
75
|
# Add or update site data
|
63
76
|
site = self.getSite
|
64
77
|
site.setName(weather_name)
|
@@ -66,7 +79,8 @@ class OpenStudio::Model::Model
|
|
66
79
|
site.setLongitude(weather_lon)
|
67
80
|
site.setTimeZone(weather_time)
|
68
81
|
site.setElevation(weather_elev)
|
69
|
-
|
82
|
+
|
83
|
+
|
70
84
|
#Add or update ground temperature data
|
71
85
|
ground_temp_vals = self.find_object($os_standards["ground_temperatures"], {'template'=>building_vintage, 'climate_zone'=>climate_zone, 'building_type'=>building_type})
|
72
86
|
if ground_temp_vals && ground_temp_vals['jan']
|
@@ -125,22 +139,512 @@ class OpenStudio::Model::Model
|
|
125
139
|
ddy_model.getObjectsByType('OS:SizingPeriod:DesignDay'.to_IddObjectType).each do |d|
|
126
140
|
# Import the 99.6% Heating and 0.4% Cooling design days
|
127
141
|
ddy_list = /(Htg 99.6. Condns DB)|(Clg .4% Condns DB=>MWB)/
|
128
|
-
if d.name.get =~ ddy_list
|
142
|
+
if d.name.get =~ ddy_list
|
129
143
|
self.addObject(d.clone)
|
130
144
|
#OpenStudio::logFree(OpenStudio::Info, 'openstudio.weather.Model', "Added #{d.name} design day.")
|
131
145
|
end
|
132
146
|
end
|
133
147
|
else
|
134
148
|
OpenStudio::logFree(OpenStudio::Error, 'openstudio.weather.Model', "Could not find .stat file for: #{stat_filename}.")
|
149
|
+
puts "Could not find .stat file for: #{stat_filename}."
|
135
150
|
return false
|
136
151
|
end
|
137
152
|
|
138
153
|
OpenStudio::logFree(OpenStudio::Info, 'openstudio.weather.Model', "Finished adding weather file for climate zone: #{climate_zone}.")
|
154
|
+
puts "Could not find .stat file for: #{stat_filename}."
|
139
155
|
|
140
156
|
return true
|
141
157
|
|
142
158
|
end
|
143
159
|
|
144
160
|
end
|
161
|
+
|
162
|
+
|
163
|
+
# *********************************************************************
|
164
|
+
# * Copyright (c) 2008-2015, Natural Resources Canada
|
165
|
+
# * All rights reserved.
|
166
|
+
# *
|
167
|
+
# * This library is free software; you can redistribute it and/or
|
168
|
+
# * modify it under the terms of the GNU Lesser General Public
|
169
|
+
# * License as published by the Free Software Foundation; either
|
170
|
+
# * version 2.1 of the License, or (at your option) any later version.
|
171
|
+
# *
|
172
|
+
# * This library is distributed in the hope that it will be useful,
|
173
|
+
# * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
174
|
+
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
175
|
+
# * Lesser General Public License for more details.
|
176
|
+
# *
|
177
|
+
# * You should have received a copy of the GNU Lesser General Public
|
178
|
+
# * License along with this library; if not, write to the Free Software
|
179
|
+
# * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
180
|
+
# **********************************************************************/
|
181
|
+
|
182
|
+
|
183
|
+
#This module has been created to make it easier to manipulate weather files can contains region specific data.
|
184
|
+
|
185
|
+
|
186
|
+
module BTAP
|
187
|
+
module Environment
|
188
|
+
require_relative 'Weather.stat_file'
|
189
|
+
|
190
|
+
#keeping data is hash/json for now. Can always export / import to csv if required automatically.
|
191
|
+
WeatherData1 = [
|
192
|
+
{:file=>"CAN_BC_Abbotsford.711080_CWEC.epw", :location_name=>" CAN-BC-Abbotsford", :energy_plus_location_name=>"Abbotsford_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Abbotsford", :hdd18=>3134, :cdd18=>33, :latitude=>49.03, :longitude=>-122.37, :elevation=>58, :deltadb=>14.3, :a90_1_2004_climate_zone=>"5C", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
193
|
+
{:file=>"CAN_PQ_Bagotville.717270_CWEC.epw", :location_name=>" CAN-PQ-Bagotville", :energy_plus_location_name=>"Bagotville_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Bagotville", :hdd18=>5781, :cdd18=>49, :latitude=>48.33, :longitude=>-71, :elevation=>159, :deltadb=>32.4, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
194
|
+
{:file=>"CAN_PQ_Baie.Comeau.711870_CWEC.epw", :location_name=>" CAN-PQ-Baie Comeau", :energy_plus_location_name=>"Baie Comeau_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Baie Comeau", :hdd18=>5889, :cdd18=>3, :latitude=>49.13, :longitude=>-68.2, :elevation=>22, :deltadb=>29.8, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
195
|
+
{:file=>"CAN_NF_Battle.Harbour.718170_CWEC.epw", :location_name=>" CAN-NF-Battle Harbour", :energy_plus_location_name=>"Battle Harbour_NF_CAN", :country=>"CAN", :state_province_region=>"NF", :city=>"Battle Harbour", :hdd18=>6462, :cdd18=>0, :latitude=>52.3, :longitude=>-55.83, :elevation=>8, :deltadb=>21.6, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
196
|
+
{:file=>"CAN_MB_Brandon.711400_CWEC.epw", :location_name=>" CAN-MB-Brandon", :energy_plus_location_name=>"Brandon_MB_CAN", :country=>"CAN", :state_province_region=>"MB", :city=>"Brandon", :hdd18=>5912, :cdd18=>95, :latitude=>49.92, :longitude=>-99.95, :elevation=>409, :deltadb=>36.7, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
197
|
+
{:file=>"CAN_AB_Calgary.718770_CWEC.epw", :location_name=>" CAN-AB-Calgary Int'l", :energy_plus_location_name=>"Calgary Int'l_AB_CAN", :country=>"CAN", :state_province_region=>"AB", :city=>"Calgary Int'l", :hdd18=>5146, :cdd18=>40, :latitude=>51.12, :longitude=>-114.02, :elevation=>1084, :deltadb=>25, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
198
|
+
{:file=>"CAN_PE_Charlottetown.717060_CWEC.epw", :location_name=>" CAN-PE-Charlottetown CDA", :energy_plus_location_name=>"Charlottetown CDA_PE_CAN", :country=>"CAN", :state_province_region=>"PE", :city=>"Charlottetown CDA", :hdd18=>4647, :cdd18=>72, :latitude=>46.28, :longitude=>-63.13, :elevation=>54, :deltadb=>25.6, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
199
|
+
{:file=>"CAN_MB_Churchill.719130_CWEC.epw", :location_name=>" CAN-MB-Churchill", :energy_plus_location_name=>"Churchill_MB_CAN", :country=>"CAN", :state_province_region=>"MB", :city=>"Churchill", :hdd18=>9114, :cdd18=>3, :latitude=>58.75, :longitude=>-94.07, :elevation=>29, :deltadb=>37.7, :a90_1_2004_climate_zone=>8, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
200
|
+
{:file=>"CAN_BC_Comox.718930_CWEC.epw", :location_name=>" CAN-BC-Comox", :energy_plus_location_name=>"Comox_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Comox", :hdd18=>3177, :cdd18=>30, :latitude=>49.72, :longitude=>-124.9, :elevation=>24, :deltadb=>15.2, :a90_1_2004_climate_zone=>"5C", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
201
|
+
{:file=>"CAN_BC_Cranbrook.718800_CWEC.epw", :location_name=>" CAN-BC-Cranbrook", :energy_plus_location_name=>"Cranbrook_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Cranbrook", :hdd18=>4645, :cdd18=>118, :latitude=>49.6, :longitude=>-115.78, :elevation=>940, :deltadb=>26.6, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
202
|
+
{:file=>"CAN_AB_Edmonton.711230_CWEC.epw", :location_name=>" CAN-AB-Edmonton Stony Plain", :energy_plus_location_name=>"Edmonton Stony Plain_AB_CAN", :country=>"CAN", :state_province_region=>"AB", :city=>"Edmonton Stony Plain", :hdd18=>5583, :cdd18=>22, :latitude=>53.53, :longitude=>-114.1, :elevation=>723, :deltadb=>27.5, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
203
|
+
{:file=>"CAN_SK_Estevan.718620_CWEC.epw", :location_name=>" CAN-SK-Estevan", :energy_plus_location_name=>"Estevan_SK_CAN", :country=>"CAN", :state_province_region=>"SK", :city=>"Estevan", :hdd18=>5370, :cdd18=>189, :latitude=>49.22, :longitude=>-102.97, :elevation=>581, :deltadb=>35.1, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
204
|
+
{:file=>"CAN_AB_Fort.McMurray.719320_CWEC.epw", :location_name=>" CAN-AB-Fort McMurray", :energy_plus_location_name=>"Fort McMurray_AB_CAN", :country=>"CAN", :state_province_region=>"AB", :city=>"Fort McMurray", :hdd18=>6191, :cdd18=>65, :latitude=>56.65, :longitude=>-111.22, :elevation=>369, :deltadb=>33.5, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
205
|
+
{:file=>"CAN_BC_Fort.St.John.719430_CWEC.epw", :location_name=>" CAN-BC-Fort St John", :energy_plus_location_name=>"Fort St John_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Fort St John", :hdd18=>5863, :cdd18=>25, :latitude=>56.23, :longitude=>-120.73, :elevation=>695, :deltadb=>29.1, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
206
|
+
{:file=>"CAN_NB_Fredericton.717000_CWEC.epw", :location_name=>" CAN-NB-Fredericton", :energy_plus_location_name=>"Fredericton_NB_CAN", :country=>"CAN", :state_province_region=>"NB", :city=>"Fredericton", :hdd18=>4734, :cdd18=>132, :latitude=>45.87, :longitude=>-66.53, :elevation=>20, :deltadb=>29.5, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
207
|
+
{:file=>"CAN_NF_Gander.718030_CWEC.epw", :location_name=>" CAN-NF-Gander Int'l", :energy_plus_location_name=>"Gander Int'l_NF_CAN", :country=>"CAN", :state_province_region=>"NF", :city=>"Gander Int'l", :hdd18=>5101, :cdd18=>25, :latitude=>48.95, :longitude=>-54.57, :elevation=>151, :deltadb=>22.6, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
208
|
+
{:file=>"CAN_NF_Goose.718160_CWEC.epw", :location_name=>" CAN-NF-Goose", :energy_plus_location_name=>"Goose_NF_CAN", :country=>"CAN", :state_province_region=>"NF", :city=>"Goose", :hdd18=>6558, :cdd18=>38, :latitude=>53.32, :longitude=>-60.37, :elevation=>49, :deltadb=>33, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
209
|
+
{:file=>"CAN_AB_Grande.Prairie.719400_CWEC.epw", :location_name=>" CAN-AB-Grand Prairie", :energy_plus_location_name=>"Grand Prairie_AB_CAN", :country=>"CAN", :state_province_region=>"AB", :city=>"Grand Prairie", :hdd18=>5897, :cdd18=>26, :latitude=>55.18, :longitude=>-118.88, :elevation=>669, :deltadb=>28.9, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
210
|
+
{:file=>"CAN_NS_Greenwood.713970_CWEC.epw", :location_name=>" CAN-NS-Greenwood", :energy_plus_location_name=>"Greenwood_NS_CAN", :country=>"CAN", :state_province_region=>"NS", :city=>"Greenwood", :hdd18=>4131, :cdd18=>128, :latitude=>44.98, :longitude=>-64.92, :elevation=>28, :deltadb=>23.8, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
211
|
+
{:file=>"CAN_PQ_Grindstone.Island_CWEC.epw", :location_name=>" CAN-PQ-Grindstone Island", :energy_plus_location_name=>"Grindstone Island_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Grindstone Island", :hdd18=>4941, :cdd18=>18, :latitude=>47.38, :longitude=>-61.87, :elevation=>59, :deltadb=>23.8, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
212
|
+
{:file=>"CAN_NT_Inuvik.719570_CWEC.epw", :location_name=>" CAN-NT-Inuvik Ua", :energy_plus_location_name=>"Inuvik Ua_NT_CAN", :country=>"CAN", :state_province_region=>"NT", :city=>"Inuvik Ua", :hdd18=>9952, :cdd18=>17, :latitude=>68.3, :longitude=>-133.48, :elevation=>68, :deltadb=>40.6, :a90_1_2004_climate_zone=>8, :boiler_fueltype=>"FuelOil#1", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
213
|
+
{:file=>"CAN_BC_Kamloops.718870_CWEC.epw", :location_name=>" CAN-BC-Kamloops", :energy_plus_location_name=>"Kamloops_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Kamloops", :hdd18=>3629, :cdd18=>287, :latitude=>50.7, :longitude=>-120.45, :elevation=>346, :deltadb=>25.6, :a90_1_2004_climate_zone=>"5B", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
214
|
+
{:file=>"CAN_ON_Kingston.716200_CWEC.epw", :location_name=>" CAN-ON-Kingston", :energy_plus_location_name=>"Kingston_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Kingston", :hdd18=>4287, :cdd18=>187, :latitude=>44.22, :longitude=>-76.6, :elevation=>93, :deltadb=>27.7, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
215
|
+
{:file=>"CAN_PQ_Kuujjuarapik.719050_CWEC.epw", :location_name=>" CAN-PQ-Kuujjuarapik", :energy_plus_location_name=>"Kuujjuarapik_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Kuujjuarapik", :hdd18=>7986, :cdd18=>12, :latitude=>55.28, :longitude=>-77.77, :elevation=>12, :deltadb=>32, :a90_1_2004_climate_zone=>8, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
216
|
+
{:file=>"CAN_PQ_Kuujuaq.719060_CWEC.epw", :location_name=>" CAN-PQ-Kuujuaq", :energy_plus_location_name=>"Kuujuaq_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Kuujuaq", :hdd18=>8491, :cdd18=>0, :latitude=>58.1, :longitude=>-68.42, :elevation=>37, :deltadb=>31.8, :a90_1_2004_climate_zone=>8, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
217
|
+
{:file=>"CAN_PQ_La.Grande.Riviere.718270_CWEC.epw", :location_name=>" CAN-PQ-La Grande Riviere", :energy_plus_location_name=>"La Grande Riviere_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"La Grande Riviere", :hdd18=>7616, :cdd18=>11, :latitude=>53.63, :longitude=>-77.7, :elevation=>195, :deltadb=>35.2, :a90_1_2004_climate_zone=>8, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
218
|
+
{:file=>"CAN_PQ_Lake.Eon.714210_CWEC.epw", :location_name=>" CAN-PQ-Lake Eon", :energy_plus_location_name=>"Lake Eon_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Lake Eon", :hdd18=>7383, :cdd18=>8, :latitude=>51.87, :longitude=>-63.28, :elevation=>561, :deltadb=>33.9, :a90_1_2004_climate_zone=>8, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
219
|
+
{:file=>"CAN_AB_Lethbridge.712430_CWEC.epw", :location_name=>" CAN-AB-Lethbridge", :energy_plus_location_name=>"Lethbridge_AB_CAN", :country=>"CAN", :state_province_region=>"AB", :city=>"Lethbridge", :hdd18=>4432, :cdd18=>126, :latitude=>49.63, :longitude=>-112.8, :elevation=>921, :deltadb=>26.5, :a90_1_2004_climate_zone=>"6B", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
220
|
+
{:file=>"CAN_ON_London.716230_CWEC.epw", :location_name=>" CAN-ON-London", :energy_plus_location_name=>"London_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"London", :hdd18=>4111, :cdd18=>211, :latitude=>43.03, :longitude=>-81.15, :elevation=>278, :deltadb=>27.9, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
221
|
+
{:file=>"CAN_AB_Medicine.Hat.718720_CWEC.epw", :location_name=>" CAN-AB-Medicine Hat", :energy_plus_location_name=>"Medicine Hat_AB_CAN", :country=>"CAN", :state_province_region=>"AB", :city=>"Medicine Hat", :hdd18=>4678, :cdd18=>199, :latitude=>50.02, :longitude=>-110.72, :elevation=>716, :deltadb=>31.6, :a90_1_2004_climate_zone=>"6B", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
222
|
+
{:file=>"CAN_NB_Miramichi.717440_CWEC.epw", :location_name=>" CAN-NB-Miramichi", :energy_plus_location_name=>"Miramichi_NB_CAN", :country=>"CAN", :state_province_region=>"NB", :city=>"Miramichi", :hdd18=>4921, :cdd18=>141, :latitude=>47.02, :longitude=>-65.45, :elevation=>33, :deltadb=>29.6, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
223
|
+
{:file=>"CAN_PQ_Mont.Joli.717180_CWEC.epw", :location_name=>" CAN-PQ-Mont Joli", :energy_plus_location_name=>"Mont Joli_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Mont Joli", :hdd18=>5522, :cdd18=>65, :latitude=>48.6, :longitude=>-68.22, :elevation=>52, :deltadb=>30.8, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
224
|
+
{:file=>"CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw", :location_name=>" CAN-PQ-Montreal Int'l", :energy_plus_location_name=>"Montreal Int'l_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Montreal Int'l", :hdd18=>4493, :cdd18=>234, :latitude=>45.47, :longitude=>-73.75, :elevation=>36, :deltadb=>30.2, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
225
|
+
{:file=>"CAN_PQ_Montreal.Jean.Brebeuf.716278_CWEC.epw", :location_name=>" CAN-PQ-Montreal Jean Brebeuf", :energy_plus_location_name=>"Montreal Jean Brebeuf_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Montreal Jean Brebeuf", :hdd18=>4616, :cdd18=>209, :latitude=>45.5, :longitude=>-73.62, :elevation=>133, :deltadb=>31.2, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
226
|
+
{:file=>"CAN_PQ_Montreal.Mirabel.716278_CWEC.epw", :location_name=>" CAN-PQ-Montreal Mirabel", :energy_plus_location_name=>"Montreal Mirabel_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Montreal Mirabel", :hdd18=>4861, :cdd18=>102, :latitude=>45.68, :longitude=>-74.03, :elevation=>82, :deltadb=>33.4, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
227
|
+
{:file=>"CAN_ON_Mount.Forest.716310_CWEC.epw", :location_name=>" CAN-ON-Mount Forest", :energy_plus_location_name=>"Mount Forest_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Mount Forest", :hdd18=>4578, :cdd18=>121, :latitude=>43.98, :longitude=>-80.75, :elevation=>415, :deltadb=>27.7, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
228
|
+
{:file=>"CAN_ON_Muskoka.716300_CWEC.epw", :location_name=>" CAN-ON-Muskoka", :energy_plus_location_name=>"Muskoka_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Muskoka", :hdd18=>4774, :cdd18=>97, :latitude=>44.97, :longitude=>-79.3, :elevation=>282, :deltadb=>29.3, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
229
|
+
{:file=>"CAN_PQ_Nitchequon.CAN270_CWEC.epw", :location_name=>" CAN-PQ-Nitchequon", :energy_plus_location_name=>"Nitchequon_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Nitchequon", :hdd18=>7922, :cdd18=>6, :latitude=>53.2, :longitude=>-70.9, :elevation=>536, :deltadb=>35.8, :a90_1_2004_climate_zone=>8, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
230
|
+
{:file=>"CAN_SK_North.Battleford.718760_CWEC.epw", :location_name=>" CAN-SK-North Battleford", :energy_plus_location_name=>"North Battleford_SK_CAN", :country=>"CAN", :state_province_region=>"SK", :city=>"North Battleford", :hdd18=>5962, :cdd18=>75, :latitude=>52.77, :longitude=>-108.25, :elevation=>548, :deltadb=>35.4, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
231
|
+
{:file=>"CAN_ON_North.Bay.717310_CWEC.epw", :location_name=>" CAN-ON-North Bay", :energy_plus_location_name=>"North Bay_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"North Bay", :hdd18=>5341, :cdd18=>103, :latitude=>46.35, :longitude=>-79.43, :elevation=>371, :deltadb=>32.2, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
232
|
+
{:file=>"CAN_ON_Ottawa.716280_CWEC.epw", :location_name=>" CAN-ON-Ottawa Int'l", :energy_plus_location_name=>"Ottawa Int'l_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Ottawa Int'l", :hdd18=>4664, :cdd18=>189, :latitude=>45.32, :longitude=>-75.67, :elevation=>114, :deltadb=>31.8, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
233
|
+
{:file=>"CAN_BC_Port.Hardy.711090_CWEC.epw", :location_name=>" CAN-BC-Port Hardy", :energy_plus_location_name=>"Port Hardy_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Port Hardy", :hdd18=>3712, :cdd18=>0, :latitude=>50.68, :longitude=>-127.37, :elevation=>22, :deltadb=>10.8, :a90_1_2004_climate_zone=>"5C", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
234
|
+
{:file=>"CAN_BC_Prince.George.718960_CWEC.epw", :location_name=>" CAN-BC-Prince George", :energy_plus_location_name=>"Prince George_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Prince George", :hdd18=>5070, :cdd18=>15, :latitude=>53.88, :longitude=>-122.68, :elevation=>691, :deltadb=>26, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
235
|
+
{:file=>"CAN_BC_Prince.Rupert.718980_CWEC.epw", :location_name=>" CAN-BC-Prince Rupert", :energy_plus_location_name=>"Prince Rupert_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Prince Rupert", :hdd18=>4151, :cdd18=>0, :latitude=>54.3, :longitude=>-130.43, :elevation=>34, :deltadb=>13.5, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
236
|
+
{:file=>"CAN_PQ_Quebec.717140_CWEC.epw", :location_name=>" CAN-PQ-Quebec City", :energy_plus_location_name=>"Quebec City_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Quebec City", :hdd18=>4964, :cdd18=>111, :latitude=>46.8, :longitude=>-71.38, :elevation=>73, :deltadb=>31, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
237
|
+
{:file=>"CAN_SK_Regina.718630_CWEC.epw", :location_name=>" CAN-SK-Regina", :energy_plus_location_name=>"Regina_SK_CAN", :country=>"CAN", :state_province_region=>"SK", :city=>"Regina", :hdd18=>5646, :cdd18=>129, :latitude=>50.43, :longitude=>-104.67, :elevation=>577, :deltadb=>35.4, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
238
|
+
{:file=>"CAN_NU_Resolute.719240_CWEC.epw", :location_name=>" CAN-NU-Resolute", :energy_plus_location_name=>"Resolute_NU_CAN", :country=>"CAN", :state_province_region=>"NU", :city=>"Resolute", :hdd18=>12570, :cdd18=>0, :latitude=>74.72, :longitude=>-94.98, :elevation=>67, :deltadb=>35.9, :a90_1_2004_climate_zone=>8, :boiler_fueltype=>"FuelOil#2", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
239
|
+
{:file=>"CAN_PQ_Riviere.du.Loup.717150_CWEC.epw", :location_name=>" CAN-PQ-Riviere Du Loup", :energy_plus_location_name=>"Riviere Du Loup_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Riviere Du Loup", :hdd18=>5424, :cdd18=>82, :latitude=>47.8, :longitude=>-69.55, :elevation=>148, :deltadb=>30.1, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
240
|
+
{:file=>"CAN_PQ_Roberval.717280_CWEC.epw", :location_name=>" CAN-PQ-Roberval", :energy_plus_location_name=>"Roberval_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Roberval", :hdd18=>5757, :cdd18=>97, :latitude=>48.52, :longitude=>-72.27, :elevation=>179, :deltadb=>35.6, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
241
|
+
{:file=>"CAN_NS_Sable.Island.716000_CWEC.epw", :location_name=>" CAN-NS-Sable Island", :energy_plus_location_name=>"Sable Island_NS_CAN", :country=>"CAN", :state_province_region=>"NS", :city=>"Sable Island", :hdd18=>3860, :cdd18=>14, :latitude=>43.93, :longitude=>-60.02, :elevation=>4, :deltadb=>18.3, :a90_1_2004_climate_zone=>"5A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
242
|
+
{:file=>"CAN_NB_Saint.John.716090_CWEC.epw", :location_name=>" CAN-NB-Saint John", :energy_plus_location_name=>"Saint John_NB_CAN", :country=>"CAN", :state_province_region=>"NB", :city=>"Saint John", :hdd18=>4695, :cdd18=>12, :latitude=>45.32, :longitude=>-65.88, :elevation=>109, :deltadb=>23.8, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
243
|
+
{:file=>"CAN_BC_Sandspit.711010_CWEC.epw", :location_name=>" CAN-BC-Sandspit", :energy_plus_location_name=>"Sandspit_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Sandspit", :hdd18=>3644, :cdd18=>0, :latitude=>53.25, :longitude=>-131.82, :elevation=>6, :deltadb=>13.1, :a90_1_2004_climate_zone=>"5C", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
244
|
+
{:file=>"CAN_SK_Saskatoon.718660_CWEC.epw", :location_name=>" CAN-SK-Saskatoon", :energy_plus_location_name=>"Saskatoon_SK_CAN", :country=>"CAN", :state_province_region=>"SK", :city=>"Saskatoon", :hdd18=>5812, :cdd18=>84, :latitude=>52.17, :longitude=>-106.68, :elevation=>504, :deltadb=>34.4, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
245
|
+
{:file=>"CAN_ON_Sault.Ste.Marie.712600_CWEC.epw", :location_name=>" CAN-ON-Sault Ste Marie", :energy_plus_location_name=>"Sault Ste Marie_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Sault Ste Marie", :hdd18=>4993, :cdd18=>75, :latitude=>46.48, :longitude=>-84.52, :elevation=>192, :deltadb=>28.3, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
246
|
+
{:file=>"CAN_PQ_Schefferville.718280_CWEC.epw", :location_name=>" CAN-PQ-Schefferville", :energy_plus_location_name=>"Schefferville_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Schefferville", :hdd18=>8057, :cdd18=>7, :latitude=>54.8, :longitude=>-66.82, :elevation=>521, :deltadb=>34.6, :a90_1_2004_climate_zone=>8, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
247
|
+
{:file=>"CAN_PQ_Sept-Iles.718110_CWEC.epw", :location_name=>" CAN-PQ-Sept-Iles", :energy_plus_location_name=>"Sept-Iles_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Sept-Iles", :hdd18=>6134, :cdd18=>4, :latitude=>50.22, :longitude=>-66.27, :elevation=>55, :deltadb=>30.9, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
248
|
+
{:file=>"CAN_NS_Shearwater.716010_CWEC.epw", :location_name=>" CAN-NS-Shearwater", :energy_plus_location_name=>"Shearwater_NS_CAN", :country=>"CAN", :state_province_region=>"NS", :city=>"Shearwater", :hdd18=>4197, :cdd18=>58, :latitude=>44.63, :longitude=>-63.5, :elevation=>51, :deltadb=>22, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
249
|
+
{:file=>"CAN_PQ_Sherbrooke.716100_CWEC.epw", :location_name=>" CAN-PQ-Sherbrooke", :energy_plus_location_name=>"Sherbrooke_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Sherbrooke", :hdd18=>5068, :cdd18=>93, :latitude=>45.43, :longitude=>-71.68, :elevation=>241, :deltadb=>28.2, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
250
|
+
{:file=>"CAN_ON_Simcoe.715270_CWEC.epw", :location_name=>" CAN-ON-Simcoe", :energy_plus_location_name=>"Simcoe_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Simcoe", :hdd18=>4066, :cdd18=>190, :latitude=>42.85, :longitude=>-80.27, :elevation=>241, :deltadb=>26.4, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
251
|
+
{:file=>"CAN_BC_Smithers.719500_CWEC.epw", :location_name=>" CAN-BC-Smithers", :energy_plus_location_name=>"Smithers_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Smithers", :hdd18=>5265, :cdd18=>22, :latitude=>54.82, :longitude=>-127.18, :elevation=>523, :deltadb=>24.2, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
252
|
+
{:file=>"CAN_PQ_St.Hubert.713710_CWEC.epw", :location_name=>" CAN-PQ-St Hubert", :energy_plus_location_name=>"St Hubert_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"St Hubert", :hdd18=>4566, :cdd18=>251, :latitude=>45.52, :longitude=>-73.42, :elevation=>27, :deltadb=>31.2, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
253
|
+
{:file=>"CAN_NF_St.Johns.718010_CWEC.epw", :location_name=>" CAN-NF-St John's", :energy_plus_location_name=>"St John's_NF_CAN", :country=>"CAN", :state_province_region=>"NF", :city=>"St John's", :hdd18=>4886, :cdd18=>24, :latitude=>47.62, :longitude=>-52.73, :elevation=>140, :deltadb=>20.5, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
254
|
+
{:file=>"CAN_PQ_Ste.Agathe.des.Monts.717200_CWEC.epw", :location_name=>" CAN-PQ-Ste Agathe Des Monts", :energy_plus_location_name=>"Ste Agathe Des Monts_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Ste Agathe Des Monts", :hdd18=>5350, :cdd18=>45, :latitude=>46.05, :longitude=>-74.28, :elevation=>395, :deltadb=>29.6, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
255
|
+
{:file=>"CAN_NF_Stephenville.718150_CWEC.epw", :location_name=>" CAN-NF-Stephenville", :energy_plus_location_name=>"Stephenville_NF_CAN", :country=>"CAN", :state_province_region=>"NF", :city=>"Stephenville", :hdd18=>4724, :cdd18=>10, :latitude=>48.53, :longitude=>-58.55, :elevation=>26, :deltadb=>23.1, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
256
|
+
{:file=>"CAN_BC_Summerland.717680_CWEC.epw", :location_name=>" CAN-BC-Summerland", :energy_plus_location_name=>"Summerland_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Summerland", :hdd18=>3388, :cdd18=>199, :latitude=>49.57, :longitude=>-119.65, :elevation=>479, :deltadb=>21.8, :a90_1_2004_climate_zone=>"5A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
257
|
+
{:file=>"CAN_SK_Swift.Current.718700_CWEC.epw", :location_name=>" CAN-SK-Swift Current", :energy_plus_location_name=>"Swift Current_SK_CAN", :country=>"CAN", :state_province_region=>"SK", :city=>"Swift Current", :hdd18=>5227, :cdd18=>96, :latitude=>50.28, :longitude=>-107.68, :elevation=>818, :deltadb=>30.8, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
258
|
+
{:file=>"CAN_NS_Sydney.717070_CWEC.epw", :location_name=>" CAN-NS-Sydney", :energy_plus_location_name=>"Sydney_NS_CAN", :country=>"CAN", :state_province_region=>"NS", :city=>"Sydney", :hdd18=>4634, :cdd18=>51, :latitude=>46.17, :longitude=>-60.05, :elevation=>62, :deltadb=>24, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
259
|
+
{:file=>"CAN_MB_The.Pas.718670_CWEC.epw", :location_name=>" CAN-MB-The Pas", :energy_plus_location_name=>"The Pas_MB_CAN", :country=>"CAN", :state_province_region=>"MB", :city=>"The Pas", :hdd18=>6442, :cdd18=>106, :latitude=>53.97, :longitude=>-101.1, :elevation=>271, :deltadb=>37.9, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
260
|
+
{:file=>"CAN_ON_Thunder.Bay.717490_CWEC.epw", :location_name=>" CAN-ON-Thunder Bay", :energy_plus_location_name=>"Thunder Bay_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Thunder Bay", :hdd18=>5624, :cdd18=>60, :latitude=>48.37, :longitude=>-89.32, :elevation=>199, :deltadb=>33.8, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
261
|
+
{:file=>"CAN_ON_Timmins.717390_CWEC.epw", :location_name=>" CAN-ON-Timmins", :energy_plus_location_name=>"Timmins_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Timmins", :hdd18=>5952, :cdd18=>63, :latitude=>48.57, :longitude=>-81.37, :elevation=>295, :deltadb=>33.8, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
262
|
+
{:file=>"CAN_ON_Toronto.716240_CWEC.epw", :location_name=>" CAN-ON-Toronto Int'l", :energy_plus_location_name=>"Toronto Int'l_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Toronto Int'l", :hdd18=>4088, :cdd18=>231, :latitude=>43.67, :longitude=>-79.63, :elevation=>173, :deltadb=>26.6, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
263
|
+
{:file=>"CAN_ON_Trenton.716210_CWEC.epw", :location_name=>" CAN-ON-Trenton", :energy_plus_location_name=>"Trenton_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Trenton", :hdd18=>4176, :cdd18=>207, :latitude=>44.12, :longitude=>-77.53, :elevation=>86, :deltadb=>27.7, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
264
|
+
{:file=>"CAN_NS_Truro.713980_CWEC.epw", :location_name=>" CAN-NS-Truro", :energy_plus_location_name=>"Truro_NS_CAN", :country=>"CAN", :state_province_region=>"NS", :city=>"Truro", :hdd18=>4537, :cdd18=>35, :latitude=>45.37, :longitude=>-63.27, :elevation=>40, :deltadb=>25.2, :a90_1_2004_climate_zone=>"6A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
265
|
+
{:file=>"CAN_PQ_Val.d.Or.717250_CWEC.epw", :location_name=>" CAN-PQ-Val d'Or", :energy_plus_location_name=>"Val d'Or_PQ_CAN", :country=>"CAN", :state_province_region=>"PQ", :city=>"Val d'Or", :hdd18=>6129, :cdd18=>79, :latitude=>48.07, :longitude=>-77.78, :elevation=>337, :deltadb=>35, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
266
|
+
{:file=>"CAN_BC_Vancouver.718920_CWEC.epw", :location_name=>" CAN-BC-Vancouver Int'l", :energy_plus_location_name=>"Vancouver Int'l_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Vancouver Int'l", :hdd18=>3019, :cdd18=>4, :latitude=>49.18, :longitude=>-123.17, :elevation=>2, :deltadb=>13.9, :a90_1_2004_climate_zone=>"5C", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
267
|
+
{:file=>"CAN_BC_Victoria.717990_CWEC.epw", :location_name=>" CAN-BC-Victoria Int'l", :energy_plus_location_name=>"Victoria Int'l_BC_CAN", :country=>"CAN", :state_province_region=>"BC", :city=>"Victoria Int'l", :hdd18=>3075, :cdd18=>8, :latitude=>48.65, :longitude=>-123.43, :elevation=>19, :deltadb=>12.3, :a90_1_2004_climate_zone=>"5C", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
268
|
+
{:file=>"CAN_YT_Whitehorse.719640_CWEC.epw", :location_name=>" CAN-YT-Whitehorse", :energy_plus_location_name=>"Whitehorse_YT_CAN", :country=>"CAN", :state_province_region=>"YT", :city=>"Whitehorse", :hdd18=>6946, :cdd18=>2, :latitude=>60.72, :longitude=>-135.07, :elevation=>703, :deltadb=>34.5, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"FuelOil#1", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"},
|
269
|
+
{:file=>"CAN_ON_Windsor.715380_CWEC.epw", :location_name=>" CAN-ON-Windsor", :energy_plus_location_name=>"Windsor_ON_CAN", :country=>"CAN", :state_province_region=>"ON", :city=>"Windsor", :hdd18=>3570, :cdd18=>367, :latitude=>42.27, :longitude=>-82.97, :elevation=>190, :deltadb=>27.1, :a90_1_2004_climate_zone=>"5A", :boiler_fueltype=>"NaturalGas", :baseboard_type=>"Hot Water", :mau_type=>true, :mau_heating_coil_type=>"Hot Water", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Gas", :heating_coil_type_sys4=>"Gas", :heating_coil_type_sys6=>"Hot Water", :fan_type=>"var_speed_drive"},
|
270
|
+
{:file=>"CAN_MB_Winnipeg.718520_CWEC.epw", :location_name=>" CAN-MB-Winnipeg Int'l", :energy_plus_location_name=>"Winnipeg Int'l_MB_CAN", :country=>"CAN", :state_province_region=>"MB", :city=>"Winnipeg Int'l", :hdd18=>5754, :cdd18=>197, :latitude=>49.9, :longitude=>-97.23, :elevation=>239, :deltadb=>37.8, :a90_1_2004_climate_zone=>7, :boiler_fueltype=>"Electricity", :baseboard_type=>"Electric", :mau_type=>true, :mau_heating_coil_type=>"Electric", :mau_cooling_type=>"DX", :chiller_type=>"Scroll", :heating_coil_type_sys_3=>"Electric", :heating_coil_type_sys4=>"Electric", :heating_coil_type_sys6=>"Electric", :fan_type=>"var_speed_drive"}
|
271
|
+
]
|
272
|
+
|
273
|
+
|
274
|
+
#this method is used to populate user interfaces if needed from the hash above.
|
275
|
+
def self.get_canadian_weather_file_names()
|
276
|
+
canadian_file_names = []
|
277
|
+
BTAP::Environment::WeatherData1.each { |hash| canadian_file_names << hash[:file] }
|
278
|
+
return canadian_file_names
|
279
|
+
end
|
280
|
+
|
281
|
+
#this method returns the default system fuel types by epw_file.
|
282
|
+
def self.get_canadian_system_defaults_by_weatherfile_name(epw_file)
|
283
|
+
if data = BTAP::Environment::WeatherData1.find { |data| data[:file] == epw_file.strip }
|
284
|
+
return data[:boiler_fueltype], data[:baseboard_type], data[:mau_type], data[:mau_heating_coil_type], data[:mau_cooling_type], data[:chiller_type], data[:heating_coil_type_sys_3], data[:heating_coil_type_sys4],data[:heating_coil_type_sys6], data[:fan_type]
|
285
|
+
else
|
286
|
+
puts 'Not found!'
|
287
|
+
end
|
288
|
+
end
|
289
|
+
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
#This method will create a climate index file.
|
294
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
295
|
+
#@param folder [String]
|
296
|
+
#@param output_file [String]
|
297
|
+
def self.create_climate_index_file(folder = "#{File.dirname(__FILE__)}/../../../weather", output_file = "C:/test/phylroy.csv" )
|
298
|
+
data = ""
|
299
|
+
counter = 0
|
300
|
+
File.open(output_file, 'w') { |file|
|
301
|
+
data << "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\n"
|
302
|
+
BTAP::FileIO::get_find_files_from_folder_by_extension(folder, 'epw').each do |wfile|
|
303
|
+
wf = BTAP::Environment::WeatherFile.new(wfile)
|
304
|
+
data << "#{File.basename(wfile)}, #{wf.location_name}\,#{wf.energy_plus_location_name},#{wf.country}, #{wf.state_province_region}, #{wf.city}, #{wf.hdd10}, #{wf.hdd18},#{wf.cdd10},#{wf.cdd18},#{wf.latitude}, #{wf.longitude}, #{wf.elevation}, #{wf.delta_dry_bulb} ,#{wf.climate_zone},#{wf.standard},#{wf.summer_wet_months}, #{wf.winter_dry_months},#{wf.autumn_months}, #{wf.spring_months}, #{wf.typical_summer_wet_week}, #{wf.typical_winter_dry_week}, #{wf.typical_autumn_week}, #{wf.typical_spring_week}\n"
|
305
|
+
counter += 1
|
306
|
+
end
|
307
|
+
file.write(data)
|
308
|
+
|
309
|
+
}
|
310
|
+
puts "parsed #{counter} weather files."
|
311
|
+
end
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
class WeatherFile
|
316
|
+
|
317
|
+
attr_accessor :location_name,
|
318
|
+
:energy_plus_location_name,
|
319
|
+
:latitude,
|
320
|
+
:longitude,
|
321
|
+
:elevation,
|
322
|
+
:city,
|
323
|
+
:state_province_region,
|
324
|
+
:country,
|
325
|
+
:hdd18,
|
326
|
+
:cdd18,
|
327
|
+
:hdd10,
|
328
|
+
:cdd10,
|
329
|
+
:monthly_dry_bulb,
|
330
|
+
:delta_dry_bulb,
|
331
|
+
:climate_zone,
|
332
|
+
:standard,
|
333
|
+
:summer_wet_months,
|
334
|
+
:winter_dry_months,
|
335
|
+
:autumn_months,
|
336
|
+
:spring_months,
|
337
|
+
:typical_summer_wet_week,
|
338
|
+
:typical_winter_dry_week ,
|
339
|
+
:typical_autumn_week,
|
340
|
+
:typical_spring_week
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
Year = 0
|
345
|
+
Month = 1
|
346
|
+
Day = 2
|
347
|
+
Hour= 3
|
348
|
+
Minute = 4
|
349
|
+
Data_Source = 5
|
350
|
+
Dry_Bulb_Temperature = 6
|
351
|
+
Dew_Point_Temperature = 7
|
352
|
+
Relative_Humidity = 8
|
353
|
+
Atmospheric_Station_Pressure = 9
|
354
|
+
Extraterrestrial_Horizontal_Radiation = 10 #not used
|
355
|
+
Extraterrestrial_Direct_Normal_Radiation = 11 #not used
|
356
|
+
Horizontal_Infrared_Radiation_Intensity = 12
|
357
|
+
Global_Horizontal_Radiation = 13 #not used
|
358
|
+
Direct_Normal_Radiation = 14
|
359
|
+
Diffuse_Horizontal_Radiation = 15
|
360
|
+
Global_Horizontal_Illuminance = 16 #not used
|
361
|
+
Direct_Normal_Illuminance = 17#not used
|
362
|
+
Diffuse_Horizontal_Illuminance = 18#not used
|
363
|
+
Zenith_Luminance = 19#not used
|
364
|
+
Wind_Direction = 20
|
365
|
+
Wind_Speed = 21
|
366
|
+
Total_Sky_Cover = 22#not used
|
367
|
+
Opaque_Sky_Cover = 23#not used
|
368
|
+
Visibility = 24#not used
|
369
|
+
Ceiling_Height = 25#not used
|
370
|
+
Present_Weather_Observation = 26
|
371
|
+
Present_Weather_Codes = 27
|
372
|
+
Precipitable_Water = 28 #not used
|
373
|
+
Aerosol_Optical_Depth = 29 #not used
|
374
|
+
Snow_Depth = 30
|
375
|
+
Days_Since_Last_Snowfall = 31#not used
|
376
|
+
Albedo = 32 #not used
|
377
|
+
Liquid_Precipitation_Depth = 33
|
378
|
+
Liquid_Precipitation_Quantity = 34
|
379
|
+
|
380
|
+
#This method initializes and returns self.
|
381
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
382
|
+
#@param weather_file [String]
|
383
|
+
#@return [String] self
|
384
|
+
def initialize(weather_file)
|
385
|
+
# Define the openstudio-standards weather location
|
386
|
+
top_dir = File.expand_path( '../../..',File.dirname(__FILE__))
|
387
|
+
weather_dir = "#{top_dir}/data/weather"
|
388
|
+
|
389
|
+
# First check if the epw file exists at a full path. If not found there,
|
390
|
+
# check for the file in the openstudio-standards/data/weather directory.
|
391
|
+
weather_file = weather_file.to_s
|
392
|
+
@epw_filepath = nil
|
393
|
+
@ddy_filepath = nil
|
394
|
+
@stat_filepath = nil
|
395
|
+
if File.exists?(weather_file)
|
396
|
+
@epw_filepath = "#{weather_file}"
|
397
|
+
@ddy_filepath = "#{weather_file.sub('epw','ddy')}"
|
398
|
+
@stat_filepath = "#{weather_file.sub('epw','stat')}"
|
399
|
+
elsif File.exists?("#{weather_dir}/#{weather_file}")
|
400
|
+
@epw_filepath = "#{weather_dir}/#{weather_file}"
|
401
|
+
@ddy_filepath = "#{weather_dir}/#{weather_file.sub('epw','ddy')}"
|
402
|
+
@stat_filepath = "#{weather_dir}/#{weather_file.sub('epw','stat')}"
|
403
|
+
else
|
404
|
+
raise("Could not find weather file #{weather_file}. Make sure file path is correct.")
|
405
|
+
end
|
406
|
+
|
407
|
+
# Ensure that epw, ddy, and stat file all exist
|
408
|
+
raise("Weather file #{@epw_filepath} not found.") unless File.exists?(@epw_filepath) && @epw_filepath.downcase.include?('.epw')
|
409
|
+
raise("Weather file ddy #{@ddy_filepath} not found.") unless File.exists?(@ddy_filepath) && @ddy_filepath.downcase.include?('.ddy')
|
410
|
+
raise("Weather file stat #{@stat_filepath} not found.") unless File.exists?(@stat_filepath) && @stat_filepath.downcase.include?('.stat')
|
411
|
+
|
412
|
+
#load file objects.
|
413
|
+
@epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(@epw_filepath))
|
414
|
+
if OpenStudio::EnergyPlus.loadAndTranslateIdf(@ddy_filepath).empty?
|
415
|
+
raise ("Unable to load ddy idf file#{@ddy_filepath}.")
|
416
|
+
else
|
417
|
+
@ddy_file = OpenStudio::EnergyPlus.loadAndTranslateIdf(@ddy_filepath).get
|
418
|
+
end
|
419
|
+
@stat_file = EnergyPlus::StatFile.new( @stat_filepath )
|
420
|
+
|
421
|
+
#assign variables.
|
422
|
+
|
423
|
+
@latitude = @epw_file.latitude
|
424
|
+
@longitude = @epw_file.longitude
|
425
|
+
@elevation = @epw_file.elevation
|
426
|
+
@city = @epw_file.city
|
427
|
+
@state_province_region = @epw_file.stateProvinceRegion
|
428
|
+
@country = @epw_file.country
|
429
|
+
@hdd18 = @stat_file.hdd18
|
430
|
+
@cdd18 = @stat_file.cdd18
|
431
|
+
@hdd10 = @stat_file.hdd10
|
432
|
+
@cdd10 = @stat_file.cdd10
|
433
|
+
@monthly_dry_bulb = @stat_file.monthly_dry_bulb
|
434
|
+
@mean_dry_bulb = @stat_file.mean_dry_bulb
|
435
|
+
@delta_dry_bulb = @stat_file.delta_dry_bulb
|
436
|
+
@location_name = "#{@country}-#{@state_province_region}-#{@city}"
|
437
|
+
@energy_plus_location_name = "#{@city}_#{@state_province_region}_#{@country}"
|
438
|
+
@climate_zone = @stat_file.climate_zone
|
439
|
+
@standard = @stat_file.standard
|
440
|
+
@summer_wet_months = @stat_file.summer_wet_months
|
441
|
+
@winter_dry_months = @stat_file.winter_dry_months
|
442
|
+
@autumn_months = @stat_file.autumn_months
|
443
|
+
@spring_months = @stat_file.spring_months
|
444
|
+
@typical_summer_wet_week = @stat_file.typical_summer_wet_week
|
445
|
+
@typical_winter_dry_week = @stat_file.typical_winter_dry_week
|
446
|
+
@typical_autumn_week = @stat_file.typical_autumn_week
|
447
|
+
@typical_spring_week = @stat_file.typical_spring_week
|
448
|
+
return self
|
449
|
+
end
|
450
|
+
|
451
|
+
#This method will set the weather file and returns a log string.
|
452
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
453
|
+
#@param model [OpenStudio::model::Model] A model object
|
454
|
+
#@return [String] log
|
455
|
+
def set_weather_file(model, runner = nil)
|
456
|
+
BTAP::runner_register("Info", "BTAP::Environment::WeatherFile::set_weather",runner)
|
457
|
+
OpenStudio::Model::WeatherFile::setWeatherFile(model, @epw_file)
|
458
|
+
BTAP::runner_register("Info", "Set model \"#{model.building.get.name}\" to weather file #{model.weatherFile.get.path.get}.\n",runner)
|
459
|
+
|
460
|
+
# Add or update site data
|
461
|
+
site = model.getSite
|
462
|
+
site.setName("#{@epw_file.city}_#{@epw_file.stateProvinceRegion}_#{@epw_file.country}")
|
463
|
+
site.setLatitude(@epw_file.latitude)
|
464
|
+
site.setLongitude(@epw_file.longitude)
|
465
|
+
site.setTimeZone(@epw_file.timeZone)
|
466
|
+
site.setElevation(@epw_file.elevation)
|
467
|
+
|
468
|
+
BTAP::runner_register("Info","Setting water main temperatures via parsing of STAT file.", runner )
|
469
|
+
water_temp = model.getSiteWaterMainsTemperature
|
470
|
+
water_temp.setAnnualAverageOutdoorAirTemperature(@stat_file.mean_dry_bulb)
|
471
|
+
water_temp.setMaximumDifferenceInMonthlyAverageOutdoorAirTemperatures(@stat_file.delta_dry_bulb)
|
472
|
+
BTAP::runner_register("Info","SiteWaterMainsTemperature.AnnualAverageOutdoorAirTemperature = #{@stat_file.mean_dry_bulb}.", runner )
|
473
|
+
BTAP::runner_register("Info","SiteWaterMainsTemperature.MaximumDifferenceInMonthlyAverageOutdoorAirTemperatures = #{@stat_file.delta_dry_bulb}.", runner )
|
474
|
+
|
475
|
+
# Remove all the Design Day objects that are in the file
|
476
|
+
model.getObjectsByType("OS:SizingPeriod:DesignDay".to_IddObjectType).each { |d| d.remove }
|
477
|
+
|
478
|
+
# Load in the ddy file based on convention that it is in the same directory and has the same basename as the weather
|
479
|
+
@ddy_file.getObjectsByType("OS:SizingPeriod:DesignDay".to_IddObjectType).each do |d|
|
480
|
+
# grab only the ones that matter
|
481
|
+
ddy_list = /(Htg 99.6. Condns DB)|(Clg .4. Condns WB=>MDB)|(Clg .4% Condns DB=>MWB)/
|
482
|
+
if d.name.get =~ ddy_list
|
483
|
+
BTAP::runner_register("Info","Adding design day '#{d.name}'.",runner)
|
484
|
+
# add the object to the existing model
|
485
|
+
model.addObject(d.clone)
|
486
|
+
end
|
487
|
+
end
|
488
|
+
return true
|
489
|
+
end
|
490
|
+
|
491
|
+
#This method scans the epw file into memory.
|
492
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
493
|
+
def scan()
|
494
|
+
@filearray = Array.new()
|
495
|
+
file = File.new(@epw_filepath, "r")
|
496
|
+
while (line = file.gets)
|
497
|
+
@filearray.push(line.split(","))
|
498
|
+
end
|
499
|
+
file.close
|
500
|
+
end
|
501
|
+
|
502
|
+
#This method will sets column to a value.
|
503
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
504
|
+
#@param column [String]
|
505
|
+
#@param value [Fixnum]
|
506
|
+
def setcolumntovalue(column,value)
|
507
|
+
@filearray.each do |line|
|
508
|
+
unless line.first =~ /\D(.*)/
|
509
|
+
line[column] = value
|
510
|
+
end
|
511
|
+
end
|
512
|
+
end
|
513
|
+
|
514
|
+
#This method will eliminate all radiation from the weather and returns self.
|
515
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
516
|
+
#@return [String] self
|
517
|
+
def eliminate_all_radiation()
|
518
|
+
self.scan() if @filearray == nil
|
519
|
+
setcolumntovalue(Extraterrestrial_Horizontal_Radiation,"0")#not used
|
520
|
+
setcolumntovalue(Extraterrestrial_Direct_Normal_Radiation,"0")#not used
|
521
|
+
setcolumntovalue(Horizontal_Infrared_Radiation_Intensity,"315")
|
522
|
+
setcolumntovalue(Global_Horizontal_Radiation,"0")#not used
|
523
|
+
setcolumntovalue(Direct_Normal_Radiation,"0")
|
524
|
+
setcolumntovalue(Diffuse_Horizontal_Radiation,"0")
|
525
|
+
setcolumntovalue(Total_Sky_Cover,"10")#not used
|
526
|
+
setcolumntovalue(Opaque_Sky_Cover,"10")#not used
|
527
|
+
setcolumntovalue(Visibility,"0")#not used
|
528
|
+
setcolumntovalue(Ceiling_Height,"0")#not used
|
529
|
+
#lux values
|
530
|
+
setcolumntovalue(Global_Horizontal_Illuminance,"0")#not used
|
531
|
+
setcolumntovalue(Direct_Normal_Illuminance,"0")#not used
|
532
|
+
setcolumntovalue(Diffuse_Horizontal_Illuminance,"0")#not used
|
533
|
+
setcolumntovalue(Zenith_Luminance,"0")#not used
|
534
|
+
return self
|
535
|
+
end
|
536
|
+
|
537
|
+
#This method will eliminate solar radiation and returns self.
|
538
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
539
|
+
#@return [String] self
|
540
|
+
def eliminate_only_solar_radiation()
|
541
|
+
self.scan() if @filearray == nil
|
542
|
+
setcolumntovalue(Global_Horizontal_Radiation,"0")#not used
|
543
|
+
setcolumntovalue(Direct_Normal_Radiation,"0")
|
544
|
+
setcolumntovalue(Diffuse_Horizontal_Radiation,"0")
|
545
|
+
return self
|
546
|
+
end
|
547
|
+
|
548
|
+
#This method will eliminate all radiation except solar and returns self.
|
549
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
550
|
+
#@return [String] self
|
551
|
+
def eliminate_all_radiation_except_solar()
|
552
|
+
self.scan() if @filearray == nil
|
553
|
+
setcolumntovalue(Extraterrestrial_Horizontal_Radiation,"0")#not used
|
554
|
+
setcolumntovalue(Extraterrestrial_Direct_Normal_Radiation,"0")#not used
|
555
|
+
setcolumntovalue(Horizontal_Infrared_Radiation_Intensity,"315")
|
556
|
+
setcolumntovalue(Total_Sky_Cover,"10")#not used
|
557
|
+
setcolumntovalue(Opaque_Sky_Cover,"10")#not used
|
558
|
+
setcolumntovalue(Visibility,"0")#not used
|
559
|
+
setcolumntovalue(Ceiling_Height,"0")#not used
|
560
|
+
#lux values
|
561
|
+
setcolumntovalue(Global_Horizontal_Illuminance,"0")#not used
|
562
|
+
setcolumntovalue(Direct_Normal_Illuminance,"0")#not used
|
563
|
+
setcolumntovalue(Diffuse_Horizontal_Illuminance,"0")#not used
|
564
|
+
setcolumntovalue(Zenith_Luminance,"0")#not used
|
565
|
+
return self
|
566
|
+
end
|
567
|
+
|
568
|
+
#This method will eliminate percipitation and returns self.
|
569
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
570
|
+
#@return [String] self
|
571
|
+
def eliminate_percipitation
|
572
|
+
self.scan() if @filearray == nil
|
573
|
+
setcolumntovalue(Present_Weather_Observation, "0")
|
574
|
+
setcolumntovalue(Present_Weather_Codes,"999999999") #no weather. Clear day.
|
575
|
+
setcolumntovalue(Snow_Depth,"0")
|
576
|
+
setcolumntovalue(Liquid_Precipitation_Depth,"0")
|
577
|
+
setcolumntovalue(Liquid_Precipitation_Quantity,"0")
|
578
|
+
return self
|
579
|
+
end
|
580
|
+
|
581
|
+
#This method eliminates wind and returns self.
|
582
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
583
|
+
#@return [String] self
|
584
|
+
def eliminate_wind
|
585
|
+
self.scan() if @filearray == nil
|
586
|
+
setcolumntovalue(Wind_Direction,"0")
|
587
|
+
setcolumntovalue(Wind_Speed,"0")
|
588
|
+
return self
|
589
|
+
end
|
590
|
+
|
591
|
+
#This method sets Constant Dry and Dew Point Temperature Humidity And Pressure and returns self.
|
592
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
593
|
+
#@param dbt [Float] dry bulb temperature
|
594
|
+
#@param dpt [Float] dew point temperature
|
595
|
+
#@param hum [Fixnum] humidity
|
596
|
+
#@param press [Fixnum] pressure
|
597
|
+
#@return [String] self
|
598
|
+
def setConstantDryandDewPointTemperatureHumidityAndPressure(dbt = "0.0",dpt="-1.1",hum="92",press="98500")
|
599
|
+
self.scan() if @filearray == nil
|
600
|
+
setcolumntovalue(Dry_Bulb_Temperature,dbt)
|
601
|
+
setcolumntovalue(Dew_Point_Temperature,dpt)
|
602
|
+
setcolumntovalue(Relative_Humidity,hum)
|
603
|
+
setcolumntovalue(Atmospheric_Station_Pressure,press)
|
604
|
+
return self
|
605
|
+
end
|
606
|
+
|
607
|
+
#This method writes to a file.
|
608
|
+
#@author phylroy.lopez@nrcan.gc.ca
|
609
|
+
#@param filename [String]
|
610
|
+
def writetofile(filename)
|
611
|
+
self.scan() if @filearray == nil
|
612
|
+
|
613
|
+
begin
|
614
|
+
FileUtils.mkdir_p(File.dirname(filename))
|
615
|
+
file = File.open(filename, "w")
|
616
|
+
@filearray.each do |line|
|
617
|
+
firstvalue = true
|
618
|
+
newline = ""
|
619
|
+
line.each do |value|
|
620
|
+
if firstvalue == true
|
621
|
+
firstvalue = false
|
622
|
+
else
|
623
|
+
newline = newline +","
|
624
|
+
end
|
625
|
+
newline = newline + value
|
626
|
+
end
|
627
|
+
file.puts(newline)
|
628
|
+
end
|
629
|
+
rescue IOError => e
|
630
|
+
#some error occur, dir not writable etc.
|
631
|
+
ensure
|
632
|
+
file.close unless file == nil
|
633
|
+
end
|
634
|
+
#copies original file
|
635
|
+
FileUtils.cp(@ddy_filepath, "#{File.dirname(filename)}/#{File.basename(filename,'.epw')}.ddy")
|
636
|
+
FileUtils.cp(@stat_filepath, "#{File.dirname(filename)}/#{File.basename(filename,'.epw')}.stat")
|
637
|
+
end
|
638
|
+
|
639
|
+
end #Environment
|
640
|
+
|
641
|
+
|
642
|
+
|
643
|
+
|
644
|
+
end
|
645
|
+
end
|
646
|
+
|
647
|
+
|
648
|
+
|
145
649
|
|
146
650
|
|