In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns

# built in python modules
import datetime
import logging
import os
import inspect

# python add-ons
import numpy as np
import pandas as pd

In [2]:
import pvlib
pvlib_abspath = os.path.dirname(os.path.abspath(inspect.getfile(pvlib)))

In [3]:
tmy3_data, tmy3_metadata = pvlib.tmy.readtmy3(os.path.join(pvlib_abspath, 'data', '703165TY.csv'))
tmy2_data, tmy2_metadata = pvlib.tmy.readtmy2(os.path.join(pvlib_abspath, 'data', '12839.tm2'))

In [4]:
print(tmy3_metadata)
tmy3_data.head(25)


{'TZ': -9.0, 'Name': '"SAND POINT"', 'altitude': 7.0, 'USAF': 703165, 'longitude': -160.517, 'State': 'AK', 'latitude': 55.317}
Out[4]:
ETR ETRN GHI GHISource GHIUncertainty DNI DNISource DNIUncertainty DHI DHISource ... AOD AODSource AODUncertainty Alb AlbSource AlbUncertainty Lprecipdepth Lprecipquantity LprecipSource LprecipUncertainty
datetime
1997-01-01 01:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 02:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 03:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 04:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 05:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 06:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 07:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 08:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 09:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 10:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 11:00:00-09:00 43 1144 5 1 28 0 1 31 5 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 12:00:00-09:00 163 1415 30 1 28 0 1 31 30 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 13:00:00-09:00 248 1415 49 1 28 0 1 31 49 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 14:00:00-09:00 286 1415 58 1 28 0 1 31 58 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 15:00:00-09:00 274 1415 55 1 28 0 1 31 55 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 16:00:00-09:00 214 1415 41 1 28 0 1 31 41 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 17:00:00-09:00 109 1415 18 1 28 0 1 31 18 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 18:00:00-09:00 8 483 0 1 28 0 1 31 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 19:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 20:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 21:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 22:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-01 23:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-02 00:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.051 F 8 0.24 F 8 -9900 -9900 ? 0
1997-01-02 01:00:00-09:00 0 0 0 1 0 0 1 0 0 1 ... 0.052 F 8 0.24 F 8 -9900 -9900 ? 0

25 rows × 66 columns


In [5]:
tmy3_data['GHI'].plot()


Out[5]:
<matplotlib.axes._subplots.AxesSubplot at 0x43913d0>

In [6]:
tmy3_data['GHI'][tmy3_data.index > '2005-01-01'].plot()


Out[6]:
<matplotlib.axes._subplots.AxesSubplot at 0x5536a90>

In [7]:
print(tmy2_metadata)
print(tmy2_data.head())


{'City': 'MIAMI', 'TZ': -5, 'altitude': 2.0, 'longitude': -80.26666666666667, 'State': 'FL', 'WBAN': '12839', 'latitude': 25.8}
                           year  month  day  hour  ETR  ETRN  GHI GHISource  \
1962-01-01 00:00:00-05:00    62      1    1     1    0     0    0         ?   
1962-01-01 01:00:00-05:00    62      1    1     2    0     0    0         ?   
1962-01-01 02:00:00-05:00    62      1    1     3    0     0    0         ?   
1962-01-01 03:00:00-05:00    62      1    1     4    0     0    0         ?   
1962-01-01 04:00:00-05:00    62      1    1     5    0     0    0         ?   

                           GHIUncertainty  DNI ...  PwatUncertainty  AOD  \
1962-01-01 00:00:00-05:00               0    0 ...                8   62   
1962-01-01 01:00:00-05:00               0    0 ...                8   62   
1962-01-01 02:00:00-05:00               0    0 ...                8   62   
1962-01-01 03:00:00-05:00               0    0 ...                8   62   
1962-01-01 04:00:00-05:00               0    0 ...                8   62   

                           AODSource AODUncertainty  SnowDepth  \
1962-01-01 00:00:00-05:00          F              8          0   
1962-01-01 01:00:00-05:00          F              8          0   
1962-01-01 02:00:00-05:00          F              8          0   
1962-01-01 03:00:00-05:00          F              8          0   
1962-01-01 04:00:00-05:00          F              8          0   

                           SnowDepthSource SnowDepthUncertainty  LastSnowfall  \
1962-01-01 00:00:00-05:00                A                    7            88   
1962-01-01 01:00:00-05:00                A                    7            88   
1962-01-01 02:00:00-05:00                A                    7            88   
1962-01-01 03:00:00-05:00                A                    7            88   
1962-01-01 04:00:00-05:00                A                    7            88   

                           LastSnowfallSource LastSnowfallUncertaint  
1962-01-01 00:00:00-05:00                   E                      7  
1962-01-01 01:00:00-05:00                   E                      7  
1962-01-01 02:00:00-05:00                   E                      7  
1962-01-01 03:00:00-05:00                   E                      7  
1962-01-01 04:00:00-05:00                   E                      7  

[5 rows x 70 columns]

In [7]: