%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
import pvlib
pvlib_abspath = os.path.dirname(os.path.abspath(inspect.getfile(pvlib)))
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'))
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}
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
tmy3_data['GHI'].plot()
<matplotlib.axes._subplots.AxesSubplot at 0x43913d0>
tmy3_data['GHI'][tmy3_data.index > '2005-01-01'].plot()
<matplotlib.axes._subplots.AxesSubplot at 0x5536a90>
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]