def test_create_typical_or_extreme_periods(self): obj = TypicalOrExtremePeriods() typical_or_extreme_period_obj = TypicalOrExtremePeriod() var_typical_or_extreme_period_typical_or_extreme_period_name = "typical_or_extreme_period_name" typical_or_extreme_period_obj.typical_or_extreme_period_name = var_typical_or_extreme_period_typical_or_extreme_period_name var_typical_or_extreme_period_typical_or_extreme_period_type = "typical_or_extreme_period_type" typical_or_extreme_period_obj.typical_or_extreme_period_type = var_typical_or_extreme_period_typical_or_extreme_period_type var_typical_or_extreme_period_period_start_day = "period_start_day" typical_or_extreme_period_obj.period_start_day = var_typical_or_extreme_period_period_start_day var_typical_or_extreme_period_period_end_day = "period_end_day" typical_or_extreme_period_obj.period_end_day = var_typical_or_extreme_period_period_end_day obj.add_typical_or_extreme_period(typical_or_extreme_period_obj) epw = EPW(typical_or_extreme_periods=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual( epw2.typical_or_extreme_periods.typical_or_extreme_periods[0]. typical_or_extreme_period_name, var_typical_or_extreme_period_typical_or_extreme_period_name) self.assertEqual( epw2.typical_or_extreme_periods.typical_or_extreme_periods[0]. typical_or_extreme_period_type, var_typical_or_extreme_period_typical_or_extreme_period_type) self.assertEqual( epw2.typical_or_extreme_periods.typical_or_extreme_periods[0]. period_start_day, var_typical_or_extreme_period_period_start_day) self.assertEqual( epw2.typical_or_extreme_periods.typical_or_extreme_periods[0]. period_end_day, var_typical_or_extreme_period_period_end_day)
def readEPW_old(self,epwfile=None): ''' use pyepw to read in a epw file. ## Deprecated. no longer works with updated MetObj.__init__ behavior ## pyepw installation info: pip install pyepw documentation: https://github.com/rbuffat/pyepw Parameters ------------ epwfile: filename of epw Returns ------- metdata - MetObj collected from epw file ''' if epwfile is None: try: epwfile = _interactive_load() except: raise Exception('Interactive load failed. Tkinter not supported on this system. Try installing X-Quartz and reloading') try: from pyepw.epw import EPW except: print('Error: pyepw not installed. try pip install pyepw') epw = EPW() epw.read(epwfile) self.metdata = MetObj(epw) self.epwfile = epwfile # either epw of csv file to pass in to gencumsky return self.metdata
def test_create_typical_or_extreme_periods(self): obj = TypicalOrExtremePeriods() typical_or_extreme_period_obj = TypicalOrExtremePeriod() var_typical_or_extreme_period_typical_or_extreme_period_name = "typical_or_extreme_period_name" typical_or_extreme_period_obj.typical_or_extreme_period_name = var_typical_or_extreme_period_typical_or_extreme_period_name var_typical_or_extreme_period_typical_or_extreme_period_type = "typical_or_extreme_period_type" typical_or_extreme_period_obj.typical_or_extreme_period_type = var_typical_or_extreme_period_typical_or_extreme_period_type var_typical_or_extreme_period_period_start_day = "period_start_day" typical_or_extreme_period_obj.period_start_day = var_typical_or_extreme_period_period_start_day var_typical_or_extreme_period_period_end_day = "period_end_day" typical_or_extreme_period_obj.period_end_day = var_typical_or_extreme_period_period_end_day obj.add_typical_or_extreme_period(typical_or_extreme_period_obj) epw = EPW(typical_or_extreme_periods=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual( epw2.typical_or_extreme_periods.typical_or_extreme_periods[0].typical_or_extreme_period_name, var_typical_or_extreme_period_typical_or_extreme_period_name) self.assertEqual( epw2.typical_or_extreme_periods.typical_or_extreme_periods[0].typical_or_extreme_period_type, var_typical_or_extreme_period_typical_or_extreme_period_type) self.assertEqual( epw2.typical_or_extreme_periods.typical_or_extreme_periods[0].period_start_day, var_typical_or_extreme_period_period_start_day) self.assertEqual( epw2.typical_or_extreme_periods.typical_or_extreme_periods[0].period_end_day, var_typical_or_extreme_period_period_end_day)
def test_create_holidays_or_daylight_savings(self): obj = HolidaysOrDaylightSavings() var_leapyear_observed = "Yes" obj.leapyear_observed = var_leapyear_observed var_daylight_saving_start_day = "daylight_saving_start_day" obj.daylight_saving_start_day = var_daylight_saving_start_day var_daylight_saving_end_day = "daylight_saving_end_day" obj.daylight_saving_end_day = var_daylight_saving_end_day holiday_obj = Holiday() var_holiday_holiday_name = "holiday_name" holiday_obj.holiday_name = var_holiday_holiday_name var_holiday_holiday_day = "holiday_day" holiday_obj.holiday_day = var_holiday_holiday_day obj.add_holiday(holiday_obj) epw = EPW(holidays_or_daylight_savings=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual(epw2.holidays_or_daylight_savings.leapyear_observed, var_leapyear_observed) self.assertEqual( epw2.holidays_or_daylight_savings.daylight_saving_start_day, var_daylight_saving_start_day) self.assertEqual( epw2.holidays_or_daylight_savings.daylight_saving_end_day, var_daylight_saving_end_day) self.assertEqual( epw2.holidays_or_daylight_savings.holidays[0].holiday_name, var_holiday_holiday_name) self.assertEqual( epw2.holidays_or_daylight_savings.holidays[0].holiday_day, var_holiday_holiday_day)
def createEPWFile(urls, year): listYears = [] listLinks = [] for url in urls: req = Request(url, headers={"User-Agent": "Mozilla/5.0"}) resp = urlopen(req).read() data = resp.decode("utf-8", 'ignore') epw = EPW() name = splitUrlName(url) f = open('tmp/' + name, "a+") f.write("\n".join(data.splitlines())) f.close() epw.read('tmp/' + name) os.remove('tmp/' + name) [listYears.append(str(year._year)) for year in epw.weatherdata] if str(year) in listYears: listLinks.append(url) listYears = list(dict.fromkeys(listYears)) listYears.sort() return listYears, listLinks
def test_create_data_periods(self): obj = DataPeriods() data_period_obj = DataPeriod() var_data_period_number_of_records_per_hour = 1 data_period_obj.number_of_records_per_hour = var_data_period_number_of_records_per_hour var_data_period_data_period_name_or_description = "data_period_name_or_description" data_period_obj.data_period_name_or_description = var_data_period_data_period_name_or_description var_data_period_data_period_start_day_of_week = "Sunday" data_period_obj.data_period_start_day_of_week = var_data_period_data_period_start_day_of_week var_data_period_data_period_start_day = "data_period_start_day" data_period_obj.data_period_start_day = var_data_period_data_period_start_day var_data_period_data_period_end_day = "data_period_end_day" data_period_obj.data_period_end_day = var_data_period_data_period_end_day obj.add_data_period(data_period_obj) epw = EPW(data_periods=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual( epw2.data_periods.data_periods[0].number_of_records_per_hour, var_data_period_number_of_records_per_hour) self.assertEqual( epw2.data_periods.data_periods[0].data_period_name_or_description, var_data_period_data_period_name_or_description) self.assertEqual( epw2.data_periods.data_periods[0].data_period_start_day_of_week, var_data_period_data_period_start_day_of_week) self.assertEqual( epw2.data_periods.data_periods[0].data_period_start_day, var_data_period_data_period_start_day) self.assertEqual(epw2.data_periods.data_periods[0].data_period_end_day, var_data_period_data_period_end_day)
def test_read_epw(self): epw = EPW() epw.read(r"tests/data/USA_CA_San.Francisco.Intl.AP.724940_TMY3.epw") epw.save(self.path) epw2 = EPW() epw2.read(self.path)
def test_read_epw(self): epw = EPW() epw.read(r"tests/data/USA_CA_San.Francisco.Intl.AP.724940_TMY3.epw") epw.save(self.path) epw2 = EPW() epw2.read(self.path)
def test_create_comments_1(self): obj = Comments1() var_comments_1 = "comments_1" obj.comments_1 = var_comments_1 epw = EPW(comments_1=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual(epw2.comments_1.comments_1, var_comments_1)
def test_create_comments_1(self): obj = Comments1() var_comments_1 = "comments_1" obj.comments_1 = var_comments_1 epw = EPW(comments_1=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual(epw2.comments_1.comments_1, var_comments_1)
def test_create_comments_2(self): obj = Comments2() var_comments_2 = "comments_2" obj.comments_2 = var_comments_2 epw = EPW(comments_2=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual(epw2.comments_2.comments_2, var_comments_2)
def createEPWFile2(listYears, data, name): epw = EPW() f = open('tmp/'+name,"a+") f.write("".join(data).replace('\r\n','\n')) f.close() epw.read('tmp/'+name) os.remove('tmp/'+name) [listYears.append(str(year._year)) for year in epw.weatherdata] listYears = list(dict.fromkeys(listYears)) listYears.sort() return listYears
def __init__(self): super().__init__( ) # Keep this line, it triggers the parent class __init__ method. # This is where you define the attribute of your model, this one is pretty basic. epw = EPW() epw.read(r"SWE_Stockholm.Arlanda.024600_IWEC.epw") self.VdryBulb = np.empty([8760]) jj = 0 for wd in epw.weatherdata: self.VdryBulb[jj] = wd.dry_bulb_temperature jj = jj + 1 self.TdryBulb = 0. self.ii = 0 #24 * (26)31
def test_create_location(self): obj = Location() var_city = "city" obj.city = var_city var_state_province_region = "state_province_region" obj.state_province_region = var_state_province_region var_country = "country" obj.country = var_country var_source = "source" obj.source = var_source var_wmo = "wmo" obj.wmo = var_wmo var_latitude = (90.0 + -90.0) * 0.5 obj.latitude = var_latitude var_longitude = (180.0 + -180.0) * 0.5 obj.longitude = var_longitude var_timezone = (12.0 + -12.0) * 0.5 obj.timezone = var_timezone var_elevation = ((9999.9 - 1.0) + -1000.0) * 0.5 obj.elevation = var_elevation epw = EPW(location=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual(epw2.location.city, var_city) self.assertEqual(epw2.location.state_province_region, var_state_province_region) self.assertEqual(epw2.location.country, var_country) self.assertEqual(epw2.location.source, var_source) self.assertEqual(epw2.location.wmo, var_wmo) self.assertAlmostEqual(epw2.location.latitude, var_latitude) self.assertAlmostEqual(epw2.location.longitude, var_longitude) self.assertAlmostEqual(epw2.location.timezone, var_timezone) self.assertAlmostEqual(epw2.location.elevation, var_elevation)
def test_create_holidays_or_daylight_savings(self): obj = HolidaysOrDaylightSavings() var_leapyear_observed = "Yes" obj.leapyear_observed = var_leapyear_observed var_daylight_saving_start_day = "daylight_saving_start_day" obj.daylight_saving_start_day = var_daylight_saving_start_day var_daylight_saving_end_day = "daylight_saving_end_day" obj.daylight_saving_end_day = var_daylight_saving_end_day holiday_obj = Holiday() var_holiday_holiday_name = "holiday_name" holiday_obj.holiday_name = var_holiday_holiday_name var_holiday_holiday_day = "holiday_day" holiday_obj.holiday_day = var_holiday_holiday_day obj.add_holiday(holiday_obj) epw = EPW(holidays_or_daylight_savings=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual( epw2.holidays_or_daylight_savings.leapyear_observed, var_leapyear_observed) self.assertEqual( epw2.holidays_or_daylight_savings.daylight_saving_start_day, var_daylight_saving_start_day) self.assertEqual( epw2.holidays_or_daylight_savings.daylight_saving_end_day, var_daylight_saving_end_day) self.assertEqual( epw2.holidays_or_daylight_savings.holidays[0].holiday_name, var_holiday_holiday_name) self.assertEqual( epw2.holidays_or_daylight_savings.holidays[0].holiday_day, var_holiday_holiday_day)
def test_create_data_periods(self): obj = DataPeriods() data_period_obj = DataPeriod() var_data_period_number_of_records_per_hour = 1 data_period_obj.number_of_records_per_hour = var_data_period_number_of_records_per_hour var_data_period_data_period_name_or_description = "data_period_name_or_description" data_period_obj.data_period_name_or_description = var_data_period_data_period_name_or_description var_data_period_data_period_start_day_of_week = "Sunday" data_period_obj.data_period_start_day_of_week = var_data_period_data_period_start_day_of_week var_data_period_data_period_start_day = "data_period_start_day" data_period_obj.data_period_start_day = var_data_period_data_period_start_day var_data_period_data_period_end_day = "data_period_end_day" data_period_obj.data_period_end_day = var_data_period_data_period_end_day obj.add_data_period(data_period_obj) epw = EPW(data_periods=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual( epw2.data_periods.data_periods[0].number_of_records_per_hour, var_data_period_number_of_records_per_hour) self.assertEqual( epw2.data_periods.data_periods[0].data_period_name_or_description, var_data_period_data_period_name_or_description) self.assertEqual( epw2.data_periods.data_periods[0].data_period_start_day_of_week, var_data_period_data_period_start_day_of_week) self.assertEqual( epw2.data_periods.data_periods[0].data_period_start_day, var_data_period_data_period_start_day) self.assertEqual( epw2.data_periods.data_periods[0].data_period_end_day, var_data_period_data_period_end_day)
from pvlib.location import Location from pvlib import tracking from ugrid_tools_ThEl import scale_series # Loading the Typical Meteorological year" for Johannesburg datafile = "Data/ZAF_Johannesburg.683680_IWEC.epw" # Specify coordinates: latitude = -29 longitude = 28 # Define the orientation of the PV panel (28° is the optimum for south africa): surface_tilt = 28 surface_azimuth = 0 # Read the TMY file and write the relevant results in numpy arrays: epw = EPW() epw.read(datafile) N = len(epw.weatherdata) I_hor = np.zeros(N) I_d_hor = np.zeros(N) I_0 = np.zeros(N) DNI = np.zeros(N) albedo = np.zeros(N) T = np.zeros(N) for i in range(N): wd = epw.weatherdata[i] print wd.year, wd.month, wd.day, wd.hour, wd.minute, wd.dry_bulb_temperature I_hor[i] = wd.global_horizontal_radiation I_d_hor[i] = wd.diffuse_horizontal_radiation DNI[i] = wd.direct_normal_radiation
def test_create_design_conditions(self): obj = DesignConditions() design_condition_obj = DesignCondition() var_design_condition_title_of_design_condition = "title_of_design_condition" design_condition_obj.title_of_design_condition = var_design_condition_title_of_design_condition var_design_condition_unkown_field = "unkown_field" design_condition_obj.unkown_field = var_design_condition_unkown_field var_design_condition_design_stat_heating = "Heating" design_condition_obj.design_stat_heating = var_design_condition_design_stat_heating var_design_condition_coldestmonth = int((12 + 1) * 0.5) design_condition_obj.coldestmonth = var_design_condition_coldestmonth var_design_condition_db996 = 5.5 design_condition_obj.db996 = var_design_condition_db996 var_design_condition_db990 = 6.6 design_condition_obj.db990 = var_design_condition_db990 var_design_condition_dp996 = 7.7 design_condition_obj.dp996 = var_design_condition_dp996 var_design_condition_hr_dp996 = 8.8 design_condition_obj.hr_dp996 = var_design_condition_hr_dp996 var_design_condition_db_dp996 = 9.9 design_condition_obj.db_dp996 = var_design_condition_db_dp996 var_design_condition_dp990 = 10.10 design_condition_obj.dp990 = var_design_condition_dp990 var_design_condition_hr_dp990 = 11.11 design_condition_obj.hr_dp990 = var_design_condition_hr_dp990 var_design_condition_db_dp990 = 12.12 design_condition_obj.db_dp990 = var_design_condition_db_dp990 var_design_condition_ws004c = 13.13 design_condition_obj.ws004c = var_design_condition_ws004c var_design_condition_db_ws004c = 14.14 design_condition_obj.db_ws004c = var_design_condition_db_ws004c var_design_condition_ws010c = 15.15 design_condition_obj.ws010c = var_design_condition_ws010c var_design_condition_db_ws010c = 16.16 design_condition_obj.db_ws010c = var_design_condition_db_ws010c var_design_condition_ws_db996 = 17.17 design_condition_obj.ws_db996 = var_design_condition_ws_db996 var_design_condition_wd_db996 = 18.18 design_condition_obj.wd_db996 = var_design_condition_wd_db996 var_design_condition_design_stat_cooling = "Cooling" design_condition_obj.design_stat_cooling = var_design_condition_design_stat_cooling var_design_condition_hottestmonth = int((12 + 1) * 0.5) design_condition_obj.hottestmonth = var_design_condition_hottestmonth var_design_condition_dbr = 21.21 design_condition_obj.dbr = var_design_condition_dbr var_design_condition_db004 = 22.22 design_condition_obj.db004 = var_design_condition_db004 var_design_condition_wb_db004 = 23.23 design_condition_obj.wb_db004 = var_design_condition_wb_db004 var_design_condition_db010 = 24.24 design_condition_obj.db010 = var_design_condition_db010 var_design_condition_wb_db010 = 25.25 design_condition_obj.wb_db010 = var_design_condition_wb_db010 var_design_condition_db020 = 26.26 design_condition_obj.db020 = var_design_condition_db020 var_design_condition_wb_db020 = 27.27 design_condition_obj.wb_db020 = var_design_condition_wb_db020 var_design_condition_wb004 = 28.28 design_condition_obj.wb004 = var_design_condition_wb004 var_design_condition_db_wb004 = 29.29 design_condition_obj.db_wb004 = var_design_condition_db_wb004 var_design_condition_wb010 = 30.30 design_condition_obj.wb010 = var_design_condition_wb010 var_design_condition_db_wb010 = 31.31 design_condition_obj.db_wb010 = var_design_condition_db_wb010 var_design_condition_wb020 = 32.32 design_condition_obj.wb020 = var_design_condition_wb020 var_design_condition_db_wb020 = 33.33 design_condition_obj.db_wb020 = var_design_condition_db_wb020 var_design_condition_ws_db004 = 34.34 design_condition_obj.ws_db004 = var_design_condition_ws_db004 var_design_condition_wd_db004 = 35.35 design_condition_obj.wd_db004 = var_design_condition_wd_db004 var_design_condition_dp004 = 36.36 design_condition_obj.dp004 = var_design_condition_dp004 var_design_condition_hr_dp004 = 37.37 design_condition_obj.hr_dp004 = var_design_condition_hr_dp004 var_design_condition_db_dp004 = 38.38 design_condition_obj.db_dp004 = var_design_condition_db_dp004 var_design_condition_dp010 = 39.39 design_condition_obj.dp010 = var_design_condition_dp010 var_design_condition_hr_dp010 = 40.40 design_condition_obj.hr_dp010 = var_design_condition_hr_dp010 var_design_condition_db_dp010 = 41.41 design_condition_obj.db_dp010 = var_design_condition_db_dp010 var_design_condition_dp020 = 42.42 design_condition_obj.dp020 = var_design_condition_dp020 var_design_condition_hr_dp020 = 43.43 design_condition_obj.hr_dp020 = var_design_condition_hr_dp020 var_design_condition_db_dp020 = 44.44 design_condition_obj.db_dp020 = var_design_condition_db_dp020 var_design_condition_en004 = 45.45 design_condition_obj.en004 = var_design_condition_en004 var_design_condition_db_en004 = 46.46 design_condition_obj.db_en004 = var_design_condition_db_en004 var_design_condition_en010 = 47.47 design_condition_obj.en010 = var_design_condition_en010 var_design_condition_db_en010 = 48.48 design_condition_obj.db_en010 = var_design_condition_db_en010 var_design_condition_en020 = 49.49 design_condition_obj.en020 = var_design_condition_en020 var_design_condition_db_en020 = 50.50 design_condition_obj.db_en020 = var_design_condition_db_en020 var_design_condition_hrs_84_and_db12_8_or_20_6 = 51.51 design_condition_obj.hrs_84_and_db12_8_or_20_6 = var_design_condition_hrs_84_and_db12_8_or_20_6 var_design_condition_design_stat_extremes = "Extremes" design_condition_obj.design_stat_extremes = var_design_condition_design_stat_extremes var_design_condition_ws010 = 53.53 design_condition_obj.ws010 = var_design_condition_ws010 var_design_condition_ws025 = 54.54 design_condition_obj.ws025 = var_design_condition_ws025 var_design_condition_ws050 = 55.55 design_condition_obj.ws050 = var_design_condition_ws050 var_design_condition_wbmax = 56.56 design_condition_obj.wbmax = var_design_condition_wbmax var_design_condition_dbmin_mean = 57.57 design_condition_obj.dbmin_mean = var_design_condition_dbmin_mean var_design_condition_dbmax_mean = 58.58 design_condition_obj.dbmax_mean = var_design_condition_dbmax_mean var_design_condition_dbmin_stddev = 59.59 design_condition_obj.dbmin_stddev = var_design_condition_dbmin_stddev var_design_condition_dbmax_stddev = 60.60 design_condition_obj.dbmax_stddev = var_design_condition_dbmax_stddev var_design_condition_dbmin05years = 61.61 design_condition_obj.dbmin05years = var_design_condition_dbmin05years var_design_condition_dbmax05years = 62.62 design_condition_obj.dbmax05years = var_design_condition_dbmax05years var_design_condition_dbmin10years = 63.63 design_condition_obj.dbmin10years = var_design_condition_dbmin10years var_design_condition_dbmax10years = 64.64 design_condition_obj.dbmax10years = var_design_condition_dbmax10years var_design_condition_dbmin20years = 65.65 design_condition_obj.dbmin20years = var_design_condition_dbmin20years var_design_condition_dbmax20years = 66.66 design_condition_obj.dbmax20years = var_design_condition_dbmax20years var_design_condition_dbmin50years = 67.67 design_condition_obj.dbmin50years = var_design_condition_dbmin50years var_design_condition_dbmax50years = 68.68 design_condition_obj.dbmax50years = var_design_condition_dbmax50years obj.add_design_condition(design_condition_obj) epw = EPW(design_conditions=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertEqual( epw2.design_conditions.design_conditions[0].title_of_design_condition, var_design_condition_title_of_design_condition) self.assertEqual( epw2.design_conditions.design_conditions[0].unkown_field, var_design_condition_unkown_field) self.assertEqual( epw2.design_conditions.design_conditions[0].design_stat_heating, var_design_condition_design_stat_heating) self.assertEqual( epw2.design_conditions.design_conditions[0].coldestmonth, var_design_condition_coldestmonth) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db996, var_design_condition_db996) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db990, var_design_condition_db990) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dp996, var_design_condition_dp996) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].hr_dp996, var_design_condition_hr_dp996) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_dp996, var_design_condition_db_dp996) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dp990, var_design_condition_dp990) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].hr_dp990, var_design_condition_hr_dp990) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_dp990, var_design_condition_db_dp990) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].ws004c, var_design_condition_ws004c) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_ws004c, var_design_condition_db_ws004c) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].ws010c, var_design_condition_ws010c) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_ws010c, var_design_condition_db_ws010c) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].ws_db996, var_design_condition_ws_db996) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].wd_db996, var_design_condition_wd_db996) self.assertEqual( epw2.design_conditions.design_conditions[0].design_stat_cooling, var_design_condition_design_stat_cooling) self.assertEqual( epw2.design_conditions.design_conditions[0].hottestmonth, var_design_condition_hottestmonth) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbr, var_design_condition_dbr) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db004, var_design_condition_db004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].wb_db004, var_design_condition_wb_db004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db010, var_design_condition_db010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].wb_db010, var_design_condition_wb_db010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db020, var_design_condition_db020) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].wb_db020, var_design_condition_wb_db020) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].wb004, var_design_condition_wb004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_wb004, var_design_condition_db_wb004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].wb010, var_design_condition_wb010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_wb010, var_design_condition_db_wb010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].wb020, var_design_condition_wb020) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_wb020, var_design_condition_db_wb020) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].ws_db004, var_design_condition_ws_db004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].wd_db004, var_design_condition_wd_db004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dp004, var_design_condition_dp004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].hr_dp004, var_design_condition_hr_dp004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_dp004, var_design_condition_db_dp004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dp010, var_design_condition_dp010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].hr_dp010, var_design_condition_hr_dp010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_dp010, var_design_condition_db_dp010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dp020, var_design_condition_dp020) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].hr_dp020, var_design_condition_hr_dp020) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_dp020, var_design_condition_db_dp020) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].en004, var_design_condition_en004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_en004, var_design_condition_db_en004) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].en010, var_design_condition_en010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_en010, var_design_condition_db_en010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].en020, var_design_condition_en020) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].db_en020, var_design_condition_db_en020) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].hrs_84_and_db12_8_or_20_6, var_design_condition_hrs_84_and_db12_8_or_20_6) self.assertEqual( epw2.design_conditions.design_conditions[0].design_stat_extremes, var_design_condition_design_stat_extremes) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].ws010, var_design_condition_ws010) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].ws025, var_design_condition_ws025) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].ws050, var_design_condition_ws050) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].wbmax, var_design_condition_wbmax) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmin_mean, var_design_condition_dbmin_mean) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmax_mean, var_design_condition_dbmax_mean) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmin_stddev, var_design_condition_dbmin_stddev) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmax_stddev, var_design_condition_dbmax_stddev) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmin05years, var_design_condition_dbmin05years) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmax05years, var_design_condition_dbmax05years) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmin10years, var_design_condition_dbmin10years) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmax10years, var_design_condition_dbmax10years) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmin20years, var_design_condition_dbmin20years) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmax20years, var_design_condition_dbmax20years) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmin50years, var_design_condition_dbmin50years) self.assertAlmostEqual( epw2.design_conditions.design_conditions[0].dbmax50years, var_design_condition_dbmax50years)
def test_create_ground_temperatures(self): obj = GroundTemperatures() ground_temperature_obj = GroundTemperature() var_ground_temperature_ground_temperature_depth = 1.1 ground_temperature_obj.ground_temperature_depth = var_ground_temperature_ground_temperature_depth var_ground_temperature_depth_soil_conductivity = 2.2 ground_temperature_obj.depth_soil_conductivity = var_ground_temperature_depth_soil_conductivity var_ground_temperature_depth_soil_density = 3.3 ground_temperature_obj.depth_soil_density = var_ground_temperature_depth_soil_density var_ground_temperature_depth_soil_specific_heat = 4.4 ground_temperature_obj.depth_soil_specific_heat = var_ground_temperature_depth_soil_specific_heat var_ground_temperature_depth_january_average_ground_temperature = 5.5 ground_temperature_obj.depth_january_average_ground_temperature = var_ground_temperature_depth_january_average_ground_temperature var_ground_temperature_depth_february_average_ground_temperature = 6.6 ground_temperature_obj.depth_february_average_ground_temperature = var_ground_temperature_depth_february_average_ground_temperature var_ground_temperature_depth_march_average_ground_temperature = 7.7 ground_temperature_obj.depth_march_average_ground_temperature = var_ground_temperature_depth_march_average_ground_temperature var_ground_temperature_depth_april_average_ground_temperature = 8.8 ground_temperature_obj.depth_april_average_ground_temperature = var_ground_temperature_depth_april_average_ground_temperature var_ground_temperature_depth_may_average_ground_temperature = 9.9 ground_temperature_obj.depth_may_average_ground_temperature = var_ground_temperature_depth_may_average_ground_temperature var_ground_temperature_depth_june_average_ground_temperature = 10.10 ground_temperature_obj.depth_june_average_ground_temperature = var_ground_temperature_depth_june_average_ground_temperature var_ground_temperature_depth_july_average_ground_temperature = 11.11 ground_temperature_obj.depth_july_average_ground_temperature = var_ground_temperature_depth_july_average_ground_temperature var_ground_temperature_depth_august_average_ground_temperature = 12.12 ground_temperature_obj.depth_august_average_ground_temperature = var_ground_temperature_depth_august_average_ground_temperature var_ground_temperature_depth_september_average_ground_temperature = 13.13 ground_temperature_obj.depth_september_average_ground_temperature = var_ground_temperature_depth_september_average_ground_temperature var_ground_temperature_depth_october_average_ground_temperature = 14.14 ground_temperature_obj.depth_october_average_ground_temperature = var_ground_temperature_depth_october_average_ground_temperature var_ground_temperature_depth_november_average_ground_temperature = 15.15 ground_temperature_obj.depth_november_average_ground_temperature = var_ground_temperature_depth_november_average_ground_temperature var_ground_temperature_depth_december_average_ground_temperature = 16.16 ground_temperature_obj.depth_december_average_ground_temperature = var_ground_temperature_depth_december_average_ground_temperature obj.add_ground_temperature(ground_temperature_obj) epw = EPW(ground_temperatures=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].ground_temperature_depth, var_ground_temperature_ground_temperature_depth) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_soil_conductivity, var_ground_temperature_depth_soil_conductivity) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_soil_density, var_ground_temperature_depth_soil_density) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_soil_specific_heat, var_ground_temperature_depth_soil_specific_heat) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_january_average_ground_temperature, var_ground_temperature_depth_january_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_february_average_ground_temperature, var_ground_temperature_depth_february_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_march_average_ground_temperature, var_ground_temperature_depth_march_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_april_average_ground_temperature, var_ground_temperature_depth_april_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_may_average_ground_temperature, var_ground_temperature_depth_may_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_june_average_ground_temperature, var_ground_temperature_depth_june_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_july_average_ground_temperature, var_ground_temperature_depth_july_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_august_average_ground_temperature, var_ground_temperature_depth_august_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_september_average_ground_temperature, var_ground_temperature_depth_september_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_october_average_ground_temperature, var_ground_temperature_depth_october_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_november_average_ground_temperature, var_ground_temperature_depth_november_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_december_average_ground_temperature, var_ground_temperature_depth_december_average_ground_temperature)
from pyepw.epw import EPW import pandas as pd import numpy as np df = pd.DataFrame() tmy_epw = EPW() load_dotenv() DARKSKY_API_KEY = os.getenv("DARKSKY_API_KEY") tmy_filename = "USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw" if DARKSKY_API_KEY == None: print("Darksky API Key not set!") tmy_epw.read(tmy_filename) lat = tmy_epw.location.latitude lon = tmy_epw.location.longitude for y in range(2009, 2020): print(y) with tqdm(total=8760) as pbar: for wd in tmy_epw.weatherdata: if(wd.hour == 1): # Convert year, month, day to UNIX time. (This uses first hour of the day since Darksky provides hourly data for that day.) dt = datetime(y, wd.month, wd.day) timestamp = dt.timestamp() timestamp = int(timestamp) # url = f'https://api.darksky.net/forecast/fake/{lat},{lon},{timestamp}?units=si' url = f'https://api.darksky.net/forecast/{DARKSKY_API_KEY}/{lat},{lon},{timestamp}?units=si'
def test_create_ground_temperatures(self): obj = GroundTemperatures() ground_temperature_obj = GroundTemperature() var_ground_temperature_ground_temperature_depth = 1.1 ground_temperature_obj.ground_temperature_depth = var_ground_temperature_ground_temperature_depth var_ground_temperature_depth_soil_conductivity = 2.2 ground_temperature_obj.depth_soil_conductivity = var_ground_temperature_depth_soil_conductivity var_ground_temperature_depth_soil_density = 3.3 ground_temperature_obj.depth_soil_density = var_ground_temperature_depth_soil_density var_ground_temperature_depth_soil_specific_heat = 4.4 ground_temperature_obj.depth_soil_specific_heat = var_ground_temperature_depth_soil_specific_heat var_ground_temperature_depth_january_average_ground_temperature = 5.5 ground_temperature_obj.depth_january_average_ground_temperature = var_ground_temperature_depth_january_average_ground_temperature var_ground_temperature_depth_february_average_ground_temperature = 6.6 ground_temperature_obj.depth_february_average_ground_temperature = var_ground_temperature_depth_february_average_ground_temperature var_ground_temperature_depth_march_average_ground_temperature = 7.7 ground_temperature_obj.depth_march_average_ground_temperature = var_ground_temperature_depth_march_average_ground_temperature var_ground_temperature_depth_april_average_ground_temperature = 8.8 ground_temperature_obj.depth_april_average_ground_temperature = var_ground_temperature_depth_april_average_ground_temperature var_ground_temperature_depth_may_average_ground_temperature = 9.9 ground_temperature_obj.depth_may_average_ground_temperature = var_ground_temperature_depth_may_average_ground_temperature var_ground_temperature_depth_june_average_ground_temperature = 10.10 ground_temperature_obj.depth_june_average_ground_temperature = var_ground_temperature_depth_june_average_ground_temperature var_ground_temperature_depth_july_average_ground_temperature = 11.11 ground_temperature_obj.depth_july_average_ground_temperature = var_ground_temperature_depth_july_average_ground_temperature var_ground_temperature_depth_august_average_ground_temperature = 12.12 ground_temperature_obj.depth_august_average_ground_temperature = var_ground_temperature_depth_august_average_ground_temperature var_ground_temperature_depth_september_average_ground_temperature = 13.13 ground_temperature_obj.depth_september_average_ground_temperature = var_ground_temperature_depth_september_average_ground_temperature var_ground_temperature_depth_october_average_ground_temperature = 14.14 ground_temperature_obj.depth_october_average_ground_temperature = var_ground_temperature_depth_october_average_ground_temperature var_ground_temperature_depth_november_average_ground_temperature = 15.15 ground_temperature_obj.depth_november_average_ground_temperature = var_ground_temperature_depth_november_average_ground_temperature var_ground_temperature_depth_december_average_ground_temperature = 16.16 ground_temperature_obj.depth_december_average_ground_temperature = var_ground_temperature_depth_december_average_ground_temperature obj.add_ground_temperature(ground_temperature_obj) epw = EPW(ground_temperatures=obj) epw.save(self.path, check=False) epw2 = EPW() epw2.read(self.path) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. ground_temperature_depth, var_ground_temperature_ground_temperature_depth) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_soil_conductivity, var_ground_temperature_depth_soil_conductivity) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0].depth_soil_density, var_ground_temperature_depth_soil_density) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_soil_specific_heat, var_ground_temperature_depth_soil_specific_heat) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_january_average_ground_temperature, var_ground_temperature_depth_january_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_february_average_ground_temperature, var_ground_temperature_depth_february_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_march_average_ground_temperature, var_ground_temperature_depth_march_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_april_average_ground_temperature, var_ground_temperature_depth_april_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_may_average_ground_temperature, var_ground_temperature_depth_may_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_june_average_ground_temperature, var_ground_temperature_depth_june_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_july_average_ground_temperature, var_ground_temperature_depth_july_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_august_average_ground_temperature, var_ground_temperature_depth_august_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_september_average_ground_temperature, var_ground_temperature_depth_september_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_october_average_ground_temperature, var_ground_temperature_depth_october_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_november_average_ground_temperature, var_ground_temperature_depth_november_average_ground_temperature) self.assertAlmostEqual( epw2.ground_temperatures.ground_temperatures[0]. depth_december_average_ground_temperature, var_ground_temperature_depth_december_average_ground_temperature)