77# test the API works
88from pvlib .iotools import read_tmy3
99
10- TMY2_TESTFILE = PVLIB_DATA_DIR / ' 12839.tm2'
10+ TMY2_TESTFILE = PVLIB_DATA_DIR / " 12839.tm2"
1111# TMY3 format (two files below) represents midnight as 24:00
12- TMY3_TESTFILE = PVLIB_DATA_DIR / ' 703165TY.csv'
13- TMY3_FEB_LEAPYEAR = PVLIB_DATA_DIR / ' 723170TYA.CSV'
12+ TMY3_TESTFILE = PVLIB_DATA_DIR / " 703165TY.csv"
13+ TMY3_FEB_LEAPYEAR = PVLIB_DATA_DIR / " 723170TYA.CSV"
1414# The SolarAnywhere TMY3 format (file below) represents midnight as 00:00
15- TMY3_SOLARANYWHERE = TESTS_DATA_DIR / 'Burlington, United States SolarAnywhere Time Series 2021 Lat_44_465 Lon_-73_205 TMY3 format.csv' # noqa: E501
15+ TMY3_SOLARANYWHERE = (
16+ TESTS_DATA_DIR
17+ / "Burlington, United States SolarAnywhere Time Series 2021 Lat_44_465 Lon_-73_205 TMY3 format.csv"
18+ ) # noqa: E501
1619
1720
1821def test_read_tmy3 ():
1922 tmy .read_tmy3 (TMY3_TESTFILE , map_variables = False )
2023
24+
2125def test_read_tmy3_buffer ():
2226 with open (TMY3_TESTFILE ) as f :
2327 tmy .read_tmy3 (f , map_variables = False )
2428
2529
2630def test_read_tmy3_norecolumn ():
2731 data , _ = tmy .read_tmy3 (TMY3_TESTFILE , map_variables = False )
28- assert ' GHI source' in data .columns
32+ assert " GHI source" in data .columns
2933
3034
3135def test_read_tmy3_map_variables ():
3236 data , meta = tmy .read_tmy3 (TMY3_TESTFILE , map_variables = True )
33- assert ' ghi' in data .columns
34- assert ' dni' in data .columns
35- assert ' dhi' in data .columns
36- assert ' pressure' in data .columns
37- assert ' wind_direction' in data .columns
38- assert ' wind_speed' in data .columns
39- assert ' temp_air' in data .columns
40- assert ' temp_dew' in data .columns
41- assert ' relative_humidity' in data .columns
42- assert ' albedo' in data .columns
43- assert ' ghi_extra' in data .columns
44- assert ' dni_extra' in data .columns
45- assert ' precipitable_water' in data .columns
37+ assert " ghi" in data .columns
38+ assert " dni" in data .columns
39+ assert " dhi" in data .columns
40+ assert " pressure" in data .columns
41+ assert " wind_direction" in data .columns
42+ assert " wind_speed" in data .columns
43+ assert " temp_air" in data .columns
44+ assert " temp_dew" in data .columns
45+ assert " relative_humidity" in data .columns
46+ assert " albedo" in data .columns
47+ assert " ghi_extra" in data .columns
48+ assert " dni_extra" in data .columns
49+ assert " precipitable_water" in data .columns
4650
4751
4852def test_read_tmy3_coerce_year ():
4953 coerce_year = 1987
50- data , _ = tmy .read_tmy3 (TMY3_TESTFILE , coerce_year = coerce_year ,
51- map_variables = False )
54+ data , _ = tmy .read_tmy3 (TMY3_TESTFILE , coerce_year = coerce_year , map_variables = False )
5255 assert (data .index [:- 1 ].year == 1987 ).all ()
5356 assert data .index [- 1 ].year == 1988
5457
5558
5659def test_read_tmy3_no_coerce_year ():
5760 coerce_year = None
58- data , _ = tmy .read_tmy3 (TMY3_TESTFILE , coerce_year = coerce_year ,
59- map_variables = False )
61+ data , _ = tmy .read_tmy3 (TMY3_TESTFILE , coerce_year = coerce_year , map_variables = False )
6062 assert 1997 and 1999 in data .index .year
61- assert data .index [- 2 ] == pd .Timestamp (' 1998-12-31 23:00:00-09:00' )
62- assert data .index [- 1 ] == pd .Timestamp (' 1999-01-01 00:00:00-09:00' )
63+ assert data .index [- 2 ] == pd .Timestamp (" 1998-12-31 23:00:00-09:00" )
64+ assert data .index [- 1 ] == pd .Timestamp (" 1999-01-01 00:00:00-09:00" )
6365
6466
6567def test_read_tmy2 ():
@@ -71,21 +73,21 @@ def test_gh865_read_tmy3_feb_leapyear_hr24():
7173 data , meta = read_tmy3 (TMY3_FEB_LEAPYEAR , map_variables = False )
7274 # just to be safe, make sure this _IS_ the Greensboro file
7375 greensboro = {
74- 'USAF' : 723170 ,
75- 'Name' : '"GREENSBORO PIEDMONT TRIAD INT"' ,
76- 'State' : 'NC' ,
77- 'TZ' : - 5.0 ,
78- 'latitude' : 36.1 ,
79- 'longitude' : - 79.95 ,
80- 'altitude' : 273.0 }
76+ "USAF" : 723170 ,
77+ "Name" : '"GREENSBORO PIEDMONT TRIAD INT"' ,
78+ "State" : "NC" ,
79+ "TZ" : - 5.0 ,
80+ "latitude" : 36.1 ,
81+ "longitude" : - 79.95 ,
82+ "altitude" : 273.0 ,
83+ }
8184 assert meta == greensboro
8285 # February for Greensboro is 1996, a leap year, so check to make sure there
8386 # aren't any rows in the output that contain Feb 29th
84- assert data .index [1414 ] == pd .Timestamp (' 1996-02-28 23:00:00-0500' )
85- assert data .index [1415 ] == pd .Timestamp (' 1996-03-01 00:00:00-0500' )
87+ assert data .index [1414 ] == pd .Timestamp (" 1996-02-28 23:00:00-0500" )
88+ assert data .index [1415 ] == pd .Timestamp (" 1996-03-01 00:00:00-0500" )
8689 # now check if it parses correctly when we try to coerce the year
87- data , _ = read_tmy3 (TMY3_FEB_LEAPYEAR , coerce_year = 1990 ,
88- map_variables = False )
90+ data , _ = read_tmy3 (TMY3_FEB_LEAPYEAR , coerce_year = 1990 , map_variables = False )
8991 # if get's here w/o an error, then gh865 is fixed, but let's check anyway
9092 assert all (data .index [:- 1 ].year == 1990 )
9193 assert data .index [- 1 ].year == 1991
@@ -99,20 +101,21 @@ def test_gh865_read_tmy3_feb_leapyear_hr24():
99101
100102@pytest .fixture
101103def solaranywhere_index ():
102- return pd .date_range (' 2021-01-01 01:00:00-05:00' , periods = 8760 , freq = '1h' )
104+ return pd .date_range (" 2021-01-01 01:00:00-05:00" , periods = 8760 , freq = "1h" )
103105
104106
105107def test_solaranywhere_tmy3 (solaranywhere_index ):
106108 # The SolarAnywhere TMY3 format specifies midnight as 00:00 whereas the
107109 # NREL TMY3 format utilizes 24:00. The SolarAnywhere file is therefore
108110 # included to test files with 00:00 timestamps are parsed correctly
109- data , meta = tmy .read_tmy3 (TMY3_SOLARANYWHERE , encoding = 'iso-8859-1' ,
110- map_variables = False )
111+ data , meta = tmy .read_tmy3 (
112+ TMY3_SOLARANYWHERE , encoding = "iso-8859-1" , map_variables = False
113+ )
111114 pd .testing .assert_index_equal (data .index , solaranywhere_index )
112- assert meta [' USAF' ] == 0
113- assert meta [' Name' ] == ' Burlington United States'
114- assert meta [' State' ] == 'NA'
115- assert meta ['TZ' ] == - 5.0
116- assert meta [' latitude' ] == 44.465
117- assert meta [' longitude' ] == - 73.205
118- assert meta [' altitude' ] == 41.0
115+ assert meta [" USAF" ] == 0
116+ assert meta [" Name" ] == " Burlington United States"
117+ assert meta [" State" ] == "NA"
118+ assert meta ["TZ" ] == - 5.0
119+ assert meta [" latitude" ] == 44.465
120+ assert meta [" longitude" ] == - 73.205
121+ assert meta [" altitude" ] == 41.0
0 commit comments