From 5d2cd043f01734ab254369d56ecec52b32cbb5ec Mon Sep 17 00:00:00 2001 From: rconcep Date: Wed, 27 Mar 2019 15:16:21 -0600 Subject: [PATCH] Cleaning repository --- Hourly Load Data.ipynb | 2296 ---------------------------------------- es_gui/readutdata2.py | 257 ----- 2 files changed, 2553 deletions(-) delete mode 100644 Hourly Load Data.ipynb delete mode 100644 es_gui/readutdata2.py diff --git a/Hourly Load Data.ipynb b/Hourly Load Data.ipynb deleted file mode 100644 index e023629f..00000000 --- a/Hourly Load Data.ipynb +++ /dev/null @@ -1,2296 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Commercial and residential hourly load profiles" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "import io\n", - "import calendar\n", - "import datetime\n", - "import threading\n", - "\n", - "import requests\n", - "import pandas as pd\n", - "from bs4 import BeautifulSoup" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "DATASET_ROOT = 'https://openei.org/datasets/files/961/pub/'\n", - "COMMERCIAL_LOAD_ROOT = DATASET_ROOT + 'COMMERCIAL_LOAD_DATA_E_PLUS_OUTPUT/'\n", - "RESIDENTIAL_LOAD_ROOT = DATASET_ROOT + 'RESIDENTIAL_LOAD_DATA_E_PLUS_OUTPUT/'" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Commercial load data" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "def get_commercial_load_locations(ssl_verify=True, proxy_settings=None):\n", - " # Convert root page content to BeautifulSoup\n", - " page = requests.get(COMMERCIAL_LOAD_ROOT, timeout=10, verify=ssl_verify, proxies=proxy_settings)\n", - " soup = BeautifulSoup(page.content, 'html.parser')\n", - " \n", - " # Get the bulleted list of locations\n", - " location_tags = soup.body.ul\n", - " \n", - " # Convert bulleted list to DataFrame\n", - " locations = []\n", - "\n", - " for link in location_tags.find_all('a')[1:]:\n", - " # [1:] to skip the link to the parent directory\n", - " loc_root = link['href']\n", - " country, state_abbr, name, _ = loc_root.split('_')\n", - "\n", - " name = ' '.join(name.split('.')[:-1])\n", - "\n", - " locations.append({'country': country, 'state': state_abbr, 'name': name, 'link': COMMERCIAL_LOAD_ROOT + loc_root})\n", - "\n", - " df_locations = pd.DataFrame.from_records(locations)\n", - " \n", - " return df_locations\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\rconcep\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\urllib3\\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n", - " InsecureRequestWarning)\n" - ] - } - ], - "source": [ - "df_locations = get_commercial_load_locations(ssl_verify=False)\n", - "\n", - "test_link = df_locations.loc[df_locations['state'] == 'AL'].iloc[0].link" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "def get_commercial_building_types(location_root, ssl_verify=True, proxy_settings=None):\n", - " # Convert root page content to BeautifulSoup\n", - " page = requests.get(location_root, timeout=10, verify=ssl_verify, proxies=proxy_settings)\n", - " soup = BeautifulSoup(page.content, 'html.parser')\n", - " \n", - " # Get the bulleted list of building types\n", - " building_tags = soup.body.ul\n", - " \n", - " # Convert bulleted list to DataFrame\n", - " building_types = []\n", - "\n", - " for link in building_tags.find_all('a')[1:]:\n", - " # [1:] to skip the link to the parent directory\n", - " csv_link = link['href']\n", - " name = csv_link.split('_')[0]\n", - "\n", - " building_types.append({'name': name, 'link': location_root + csv_link})\n", - "\n", - " df_building_types = pd.DataFrame.from_records(building_types)\n", - " \n", - " return df_building_types" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\rconcep\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\urllib3\\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n", - " InsecureRequestWarning)\n" - ] - } - ], - "source": [ - "location_root = test_link\n", - "df_building_types = get_commercial_building_types(location_root, ssl_verify=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "csv_link = df_building_types.iloc[0].link" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "full_link = csv_link" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'https://openei.org/datasets/files/961/pub/COMMERCIAL_LOAD_DATA_E_PLUS_OUTPUT/USA_AL_Anniston.Metro.AP.722287_TMY3/RefBldgFullServiceRestaurantNew2004_v1.3_7.1_3A_USA_GA_ATLANTA.csv'" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "full_link" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\rconcep\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\urllib3\\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n", - " InsecureRequestWarning)\n" - ] - } - ], - "source": [ - "with requests.Session() as req:\n", - " http_request = req.get(full_link,\n", - " proxies=None, \n", - " timeout=6, \n", - " verify=False,\n", - " stream=True)\n", - " if http_request.status_code != requests.codes.ok:\n", - " http_request.raise_for_status()" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "data_down = http_request.content.decode(http_request.encoding)\n", - "csv_data = pd.read_csv(io.StringIO(data_down))" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 22.547756\n", - "1 14.688283\n", - "2 14.714919\n", - "3 14.725921\n", - "4 14.881438\n", - "5 22.667171\n", - "6 37.583041\n", - "7 41.885971\n", - "8 41.909304\n", - "9 34.435673\n", - "10 41.961567\n", - "11 42.697291\n", - "12 42.025939\n", - "13 34.502457\n", - "14 34.502059\n", - "15 34.487671\n", - "16 44.037893\n", - "17 46.140269\n", - "18 46.137539\n", - "19 38.775658\n", - "20 38.752766\n", - "21 38.678435\n", - "22 38.566716\n", - "23 39.337644\n", - "24 22.612165\n", - "25 14.761469\n", - "26 14.784827\n", - "27 14.797915\n", - "28 14.949273\n", - "29 22.732786\n", - " ... \n", - "8730 46.199237\n", - "8731 38.862988\n", - "8732 38.845807\n", - "8733 38.766622\n", - "8734 38.638121\n", - "8735 39.392353\n", - "8736 22.677490\n", - "8737 14.832474\n", - "8738 14.857125\n", - "8739 14.867916\n", - "8740 15.026982\n", - "8741 22.813719\n", - "8742 37.728043\n", - "8743 42.015316\n", - "8744 42.018109\n", - "8745 34.547051\n", - "8746 42.093042\n", - "8747 42.780887\n", - "8748 42.152174\n", - "8749 34.617042\n", - "8750 34.614627\n", - "8751 34.593529\n", - "8752 44.152418\n", - "8753 46.250598\n", - "8754 46.247872\n", - "8755 38.907866\n", - "8756 38.883875\n", - "8757 38.797871\n", - "8758 38.677099\n", - "8759 39.425889\n", - "Name: Electricity:Facility [kW](Hourly), Length: 8760, dtype: float64" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "csv_data['Electricity:Facility [kW](Hourly)']" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
linkname
0https://openei.org/datasets/files/961/pub/COMM...RefBldgFullServiceRestaurantNew2004
1https://openei.org/datasets/files/961/pub/COMM...RefBldgHospitalNew2004
2https://openei.org/datasets/files/961/pub/COMM...RefBldgLargeHotelNew2004
3https://openei.org/datasets/files/961/pub/COMM...RefBldgLargeOfficeNew2004
4https://openei.org/datasets/files/961/pub/COMM...RefBldgMediumOfficeNew2004
5https://openei.org/datasets/files/961/pub/COMM...RefBldgMidriseApartmentNew2004
6https://openei.org/datasets/files/961/pub/COMM...RefBldgOutPatientNew2004
7https://openei.org/datasets/files/961/pub/COMM...RefBldgPrimarySchoolNew2004
8https://openei.org/datasets/files/961/pub/COMM...RefBldgQuickServiceRestaurantNew2004
9https://openei.org/datasets/files/961/pub/COMM...RefBldgSecondarySchoolNew2004
10https://openei.org/datasets/files/961/pub/COMM...RefBldgSmallHotelNew2004
11https://openei.org/datasets/files/961/pub/COMM...RefBldgSmallOfficeNew2004
12https://openei.org/datasets/files/961/pub/COMM...RefBldgStand-aloneRetailNew2004
13https://openei.org/datasets/files/961/pub/COMM...RefBldgStripMallNew2004
14https://openei.org/datasets/files/961/pub/COMM...RefBldgSuperMarketNew2004
15https://openei.org/datasets/files/961/pub/COMM...RefBldgWarehouseNew2004
\n", - "
" - ], - "text/plain": [ - " link \\\n", - "0 https://openei.org/datasets/files/961/pub/COMM... \n", - "1 https://openei.org/datasets/files/961/pub/COMM... \n", - "2 https://openei.org/datasets/files/961/pub/COMM... \n", - "3 https://openei.org/datasets/files/961/pub/COMM... \n", - "4 https://openei.org/datasets/files/961/pub/COMM... \n", - "5 https://openei.org/datasets/files/961/pub/COMM... \n", - "6 https://openei.org/datasets/files/961/pub/COMM... \n", - "7 https://openei.org/datasets/files/961/pub/COMM... \n", - "8 https://openei.org/datasets/files/961/pub/COMM... \n", - "9 https://openei.org/datasets/files/961/pub/COMM... \n", - "10 https://openei.org/datasets/files/961/pub/COMM... \n", - "11 https://openei.org/datasets/files/961/pub/COMM... \n", - "12 https://openei.org/datasets/files/961/pub/COMM... \n", - "13 https://openei.org/datasets/files/961/pub/COMM... \n", - "14 https://openei.org/datasets/files/961/pub/COMM... \n", - "15 https://openei.org/datasets/files/961/pub/COMM... \n", - "\n", - " name \n", - "0 RefBldgFullServiceRestaurantNew2004 \n", - "1 RefBldgHospitalNew2004 \n", - "2 RefBldgLargeHotelNew2004 \n", - "3 RefBldgLargeOfficeNew2004 \n", - "4 RefBldgMediumOfficeNew2004 \n", - "5 RefBldgMidriseApartmentNew2004 \n", - "6 RefBldgOutPatientNew2004 \n", - "7 RefBldgPrimarySchoolNew2004 \n", - "8 RefBldgQuickServiceRestaurantNew2004 \n", - "9 RefBldgSecondarySchoolNew2004 \n", - "10 RefBldgSmallHotelNew2004 \n", - "11 RefBldgSmallOfficeNew2004 \n", - "12 RefBldgStand-aloneRetailNew2004 \n", - "13 RefBldgStripMallNew2004 \n", - "14 RefBldgSuperMarketNew2004 \n", - "15 RefBldgWarehouseNew2004 " - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_building_types" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Residential " - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\rconcep\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\urllib3\\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n", - " InsecureRequestWarning)\n" - ] - } - ], - "source": [ - "# Convert root page content to BeautifulSoup\n", - "page = requests.get(RESIDENTIAL_LOAD_ROOT, timeout=10, verify=False, proxies=None)\n", - "soup = BeautifulSoup(page.content, 'html.parser')\n", - " \n", - "# Get the bulleted list of load types\n", - "load_tags = soup.body.ul\n", - " \n", - "# Convert bulleted list to DataFrame\n", - "load_types = []\n", - "\n", - "for link in load_tags.find_all('a')[1:]:\n", - " # [1:] to skip the link to the parent directory\n", - " locations_root = link['href']\n", - "\n", - " load_types.append({'name': locations_root[:-1], 'link': RESIDENTIAL_LOAD_ROOT + locations_root})\n", - "\n", - "df_load_types = pd.DataFrame.from_records(load_types)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "test_link = df_load_types.iloc[0].link" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\rconcep\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\urllib3\\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n", - " InsecureRequestWarning)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "USA_AK_Anchorage.Intl.AP.702730_TMY3_BASE.csv\n", - "USA_AK_Fairbanks.Intl.AP.702610_TMY3_BASE.csv\n", - "USA_AL_Anniston.Metro.AP.722287_TMY3_BASE.csv\n", - "USA_AL_Auburn-Opelika.AP.722284_TMY3_BASE.csv\n", - "USA_AL_Birmingham.Muni.AP.722280_TMY3_BASE.csv\n", - "USA_AL_Dothan.Muni.AP.722268_TMY3_BASE.csv\n", - "USA_AL_Fort.Rucker-Cairns.Field.722269_TMY3_BASE.csv\n", - "USA_AL_Gadsen.Muni.AWOS.722285_TMY3_BASE.csv\n", - "USA_AL_Huntsville.Intl.AP-Jones.Field.723230_TMY3_BASE.csv\n", - "USA_AL_Maxwell.AFB.722265_TMY3_BASE.csv\n", - "USA_AL_Mobile-Downtown.AP.722235_TMY3_BASE.csv\n", - "USA_AL_Mobile-Rgnl.AP.722230_TMY3_BASE.csv\n", - "USA_AL_Montgomery-Dannelly.Field.722260_TMY3_BASE.csv\n", - "USA_AL_Muscle.Shoals.Rgnl.AP.723235_TMY3_BASE.csv\n", - "USA_AL_Troy.Air.Field.722267_TMY3_BASE.csv\n", - "USA_AL_Tuscaloosa.Muni.AP.722286_TMY3_BASE.csv\n", - "USA_AR_Batesville.AWOS.723448_TMY3_BASE.csv\n", - "USA_AR_Bentonville.AWOS.723444_TMY3_BASE.csv\n", - "USA_AR_El.Dorado-Goodwin.Field.723419_TMY3_BASE.csv\n", - "USA_AR_Fayetteville-Drake.Field.723445_TMY3_BASE.csv\n", - "USA_AR_Flippin.AWOS.723447_TMY3_BASE.csv\n", - "USA_AR_Fort.Smith.Rgnl.AP.723440_TMY3_BASE.csv\n", - "USA_AR_Harrison.AP.723446_TMY3_BASE.csv\n", - "USA_AR_Hot.Springs.Mem.AP.723415_TMY3_BASE.csv\n", - "USA_AR_Jonesboro.Muni.AP.723407_TMY3_BASE.csv\n", - "USA_AR_Little.Rock-Adams.Field.723403_TMY3_BASE.csv\n", - "USA_AR_Little.Rock.AFB.723405_TMY3_BASE.csv\n", - "USA_AR_Pine.Bluff.AP.723417_TMY3_BASE.csv\n", - "USA_AR_Rogers.AWOS.723449_TMY3_BASE.csv\n", - "USA_AR_Siloam.Spring.AWOS.723443_TMY3_BASE.csv\n", - "USA_AR_Springdale.Muni.AP.723434_TMY3_BASE.csv\n", - "USA_AR_Stuttgart.AWOS.723416_TMY3_BASE.csv\n", - "USA_AR_Texarkana-Webb.Field.723418_TMY3_BASE.csv\n", - "USA_AR_Walnut.Ridge.AWOS.723406_TMY3_BASE.csv\n", - "USA_AZ_Casa.Grande.AWOS.722748_TMY3_BASE.csv\n", - "USA_AZ_Davis-Monthan.AFB.722745_TMY3_BASE.csv\n", - "USA_AZ_Douglas-Bisbee.Douglas.Intl.AP.722735_TMY3_BASE.csv\n", - "USA_AZ_Flagstaff-Pulliam.AP.723755_TMY3_BASE.csv\n", - "USA_AZ_Grand.Canyon.National.Park.AP.723783_TMY3_BASE.csv\n", - "USA_AZ_Kingman.AWOS.723700_TMY3_BASE.csv\n", - "USA_AZ_Luke.AFB.722785_TMY3_BASE.csv\n", - "USA_AZ_Page.Muni.AWOS.723710_TMY3_BASE.csv\n", - "USA_AZ_Phoenix-Deer.Valley.AP.722784_TMY3_BASE.csv\n", - "USA_AZ_Phoenix-Sky.Harbor.Intl.AP.722780_TMY3_BASE.csv\n", - "USA_AZ_Prescott-Love.Field.723723_TMY3_BASE.csv\n", - "USA_AZ_Safford.AWOS.722747_TMY3_BASE.csv\n", - "USA_AZ_Scottsdale.Muni.AP.722789_TMY3_BASE.csv\n", - "USA_AZ_Show.Low.Muni.AP.723747_TMY3_BASE.csv\n", - "USA_AZ_Tucson.Intl.AP.722740_TMY3_BASE.csv\n", - "USA_AZ_Winslow.Muni.AP.723740_TMY3_BASE.csv\n", - "USA_AZ_Yuma.Intl.AP.722800_TMY3_BASE.csv\n", - "USA_AZ_Yuma.MCAS.699604_TMY3_BASE.csv\n", - "USA_CA_Alturas.725958_TMY3_BASE.csv\n", - "USA_CA_Arcata.AP.725945_TMY3_BASE.csv\n", - "USA_CA_Bakersfield-Meadows.Field.723840_TMY3_BASE.csv\n", - "USA_CA_Barstow.Daggett.AP.723815_TMY3_BASE.csv\n", - "USA_CA_Beale.AFB.724837_TMY3_BASE.csv\n", - "USA_CA_Bishop.AP.724800_TMY3_BASE.csv\n", - "USA_CA_Blue.Canyon.AP.725845_TMY3_BASE.csv\n", - "USA_CA_Blythe-Riverside.County.AP.747188_TMY3_BASE.csv\n", - "USA_CA_Burbank-Glendale-Passadena.Bob.Hope.AP.722880_TMY3_BASE.csv\n", - "USA_CA_Camarillo.AWOS.723926_TMY3_BASE.csv\n", - "USA_CA_Camp.Pendleton.MCAS.722926_TMY3_BASE.csv\n", - "USA_CA_Carlsbad.722927_TMY3_BASE.csv\n", - "USA_CA_China.Lake.NAF.746120_TMY3_BASE.csv\n", - "USA_CA_Chino.AP.722899_TMY3_BASE.csv\n", - "USA_CA_Chula.Vista-Brown.Field.Muni.AP.722904_TMY3_BASE.csv\n", - "USA_CA_Concord-Buchanan.Field.724936_TMY3_BASE.csv\n", - "USA_CA_Crescent.City-Jack.McNamara.Field.725946_TMY3_BASE.csv\n", - "USA_CA_Edwards.AFB.723810_TMY3_BASE.csv\n", - "USA_CA_Fairfield-Travis.AFB.745160_TMY3_BASE.csv\n", - "USA_CA_Fresno.Air.Terminal.723890_TMY3_BASE.csv\n", - "USA_CA_Fullerton.Muni.AP.722976_TMY3_BASE.csv\n", - "USA_CA_Hawthorne-Jack.Northrop.Field.722956_TMY3_BASE.csv\n", - "USA_CA_Hayward.Air.Terminal.724935_TMY3_BASE.csv\n", - "USA_CA_Imperial.County.AP.747185_TMY3_BASE.csv\n", - "USA_CA_Lancaster-Gen.Wm.Fox.Field.723816_TMY3_BASE.csv\n", - "USA_CA_Lemoore.NAS.747020_TMY3_BASE.csv\n", - "USA_CA_Livermore.Muni.AP.724927_TMY3_BASE.csv\n", - "USA_CA_Lompoc.AWOS.722895_TMY3_BASE.csv\n", - "USA_CA_Long.Beach-Daugherty.Field.722970_TMY3_BASE.csv\n", - "USA_CA_Los.Angeles.Intl.AP.722950_TMY3_BASE.csv\n", - "USA_CA_March.AFB.722860_TMY3_BASE.csv\n", - "USA_CA_Merced-Macready.Field.724815_TMY3_BASE.csv\n", - "USA_CA_Modesto.Muni.AP.724926_TMY3_BASE.csv\n", - "USA_CA_Montague-Siskiyou.County.AP.725955_TMY3_BASE.csv\n", - "USA_CA_Monterey.NAF.724915_TMY3_BASE.csv\n", - "USA_CA_Mountain.View-Moffett.Field.NAS.745090_TMY3_BASE.csv\n", - "USA_CA_Napa.County.AP.724955_TMY3_BASE.csv\n", - "USA_CA_Needles.AP.723805_TMY3_BASE.csv\n", - "USA_CA_Oakland.Intl.AP.724930_TMY3_BASE.csv\n", - "USA_CA_Oxnard.AP.723927_TMY3_BASE.csv\n", - "USA_CA_Palm.Springs-Thermal.AP.747187_TMY3_BASE.csv\n", - "USA_CA_Palm.Springs.Intl.AP.722868_TMY3_BASE.csv\n", - "USA_CA_Palmdale.AP.723820_TMY3_BASE.csv\n", - "USA_CA_Paso.Robles.Muni.AP.723965_TMY3_BASE.csv\n", - "USA_CA_Point.Mugu.NAS.723910_TMY3_BASE.csv\n", - "USA_CA_Porterville.AWOS.723895_TMY3_BASE.csv\n", - "USA_CA_Red.Bluff.Muni.AP.725910_TMY3_BASE.csv\n", - "USA_CA_Redding.Muni.AP.725920_TMY3_BASE.csv\n", - "USA_CA_Riverside.Muni.AP.722869_TMY3_BASE.csv\n", - "USA_CA_Sacramento.Exec.AP.724830_TMY3_BASE.csv\n", - "USA_CA_Sacramento.Metro.AP.724839_TMY3_BASE.csv\n", - "USA_CA_Salinas.Muni.AP.724917_TMY3_BASE.csv\n", - "USA_CA_San.Diego-Lindbergh.Field.722900_TMY3_BASE.csv\n", - "USA_CA_San.Diego-Miramar.NAS.722930_TMY3_BASE.csv\n", - "USA_CA_San.Diego-Montgomery.Field.722903_TMY3_BASE.csv\n", - "USA_CA_San.Diego-North.Island.NAS.722906_TMY3_BASE.csv\n", - "USA_CA_San.Francisco.Intl.AP.724940_TMY3_BASE.csv\n", - "USA_CA_San.Jose.Intl.AP.724945_TMY3_BASE.csv\n", - "USA_CA_San.Luis.Obispo.AP.722897_TMY3_BASE.csv\n", - "USA_CA_Sandberg.723830_TMY3_BASE.csv\n", - "USA_CA_Santa.Ana-John.Wayne.AP.722977_TMY3_BASE.csv\n", - "USA_CA_Santa.Barbara.Muni.AP.723925_TMY3_BASE.csv\n", - "USA_CA_Santa.Maria.Public.AP.723940_TMY3_BASE.csv\n", - "USA_CA_Santa.Monica.Muni.AP.722885_TMY3_BASE.csv\n", - "USA_CA_Santa.Rosa.AWOS.724957_TMY3_BASE.csv\n", - "USA_CA_South.Lake.Tahoe-Lake.Tahoe.AP.725847_TMY3_BASE.csv\n", - "USA_CA_Stockton.Metro.AP.724920_TMY3_BASE.csv\n", - "USA_CA_Truckee.Tahoe.AP.725846_TMY3_BASE.csv\n", - "USA_CA_Twentynine.Palms.690150_TMY3_BASE.csv\n", - "USA_CA_Ukiah.Muni.AP.725905_TMY3_BASE.csv\n", - "USA_CA_Van.Nuys.AP.722886_TMY3_BASE.csv\n", - "USA_CA_Visalia.Muni.AWOS.723896_TMY3_BASE.csv\n", - "USA_CA_Yuba.County.AP.724838_TMY3_BASE.csv\n", - "USA_CO_Akron-Washington.County.AP.724698_TMY3_BASE.csv\n", - "USA_CO_Alamosa.Muni.AP.724620_TMY3_BASE.csv\n", - "USA_CO_Aspen-Pitkin.County-Sardy.Field.724676_TMY3_BASE.csv\n", - "USA_CO_Aurora-Buckley.Field.ANGB.724695_TMY3_BASE.csv\n", - "USA_CO_Boulder-Broomfield-Jefferson.County.AP.724699_TMY3_BASE.csv\n", - "USA_CO_Colorado.Springs-Peterson.Field.724660_TMY3_BASE.csv\n", - "USA_CO_Cortez-Montezuma.County.AP.724767_TMY3_BASE.csv\n", - "USA_CO_Craig.Moffat.AP.725700_TMY3_BASE.csv\n", - "USA_CO_Denver.Intl.AP.725650_TMY3_BASE.csv\n", - "USA_CO_Durango-La.Plata.County.AP.724625_TMY3_BASE.csv\n", - "USA_CO_Eagle.County.Rgnl.AP.724675_TMY3_BASE.csv\n", - "USA_CO_Fort.Collins.AWOS.724769_TMY3_BASE.csv\n", - "USA_CO_Golden-NREL.724666_TMY3_BASE.csv\n", - "USA_CO_Grand.Junction-Walker.Field.724760_TMY3_BASE.csv\n", - "USA_CO_Greeley-Weld.County.AWOS.724768_TMY3_BASE.csv\n", - "USA_CO_Gunnison.County.AWOS.724677_TMY3_BASE.csv\n", - "USA_CO_Hayden-Yampa.AWOS.725715_TMY3_BASE.csv\n", - "USA_CO_La.Junta.Muni.AP.724635_TMY3_BASE.csv\n", - "USA_CO_Lamar.Muni.AP.724636_TMY3_BASE.csv\n", - "USA_CO_Leadville-Lake.County.AP.724673_TMY3_BASE.csv\n", - "USA_CO_Limon.Muni.AP.724665_TMY3_BASE.csv\n", - "USA_CO_Montrose.County.AP.724765_TMY3_BASE.csv\n", - "USA_CO_Pueblo.Mem.AP.724640_TMY3_BASE.csv\n", - "USA_CO_Rifle-Garfield.County.Rgnl.AP.725717_TMY3_BASE.csv\n", - "USA_CO_Trinidad-Las.Animas.County.AP.724645_TMY3_BASE.csv\n", - "USA_CT_Bridgeport-Sikorsky.Mem.AP.725040_TMY3_BASE.csv\n", - "USA_CT_Danbury.Muni.AP.725086_TMY3_BASE.csv\n", - "USA_CT_Groton-New.London.AP.725046_TMY3_BASE.csv\n", - "USA_CT_Hartford-Bradley.Intl.AP.725080_TMY3_BASE.csv\n", - "USA_CT_Hartford-Brainard.Field.725087_TMY3_BASE.csv\n", - "USA_CT_New.Haven-Tweed.AP.725045_TMY3_BASE.csv\n", - "USA_CT_Oxford.AWOS.725029_TMY3_BASE.csv\n", - "USA_DE_Dover.AFB.724088_TMY3_BASE.csv\n", - "USA_DE_Wilmington-New.Castle.County.AP.724089_TMY3_BASE.csv\n", - "USA_FL_Crestview-Bob.Sikes.AP.722215_TMY3_BASE.csv\n", - "USA_FL_Daytona.Beach.Intl.AP.722056_TMY3_BASE.csv\n", - "USA_FL_Fort.Lauderdale.Executive.AP.722039_TMY3_BASE.csv\n", - "USA_FL_Fort.Lauderdale.Intl.AP.722025_TMY3_BASE.csv\n", - "USA_FL_Fort.Myers-Page.Field.722106_TMY3_BASE.csv\n", - "USA_FL_Fort.Pierce-St.Lucie.County.AP.722103_TMY3_BASE.csv\n", - "USA_FL_Fort.Walton.Beach-Hurlburt.Field.747770_TMY3_BASE.csv\n", - "USA_FL_Gainesville.Rgnl.AP.722146_TMY3_BASE.csv\n", - "USA_FL_Homestead.AFB.722026_TMY3_BASE.csv\n", - "USA_FL_Jacksonville-Craig.Field.722068_TMY3_BASE.csv\n", - "USA_FL_Jacksonville.Intl.AP.722060_TMY3_BASE.csv\n", - "USA_FL_Jacksonville.NAS.722065_TMY3_BASE.csv\n", - "USA_FL_Key.West.Intl.AP.722010_TMY3_BASE.csv\n", - "USA_FL_Key.West.NAS.722015_TMY3_BASE.csv\n", - "USA_FL_Lakeland.Linder.Rgnl.AP.722119_TMY3_BASE.csv\n", - "USA_FL_MacDill.AFB.747880_TMY3_BASE.csv\n", - "USA_FL_Marathon.AP.722016_TMY3_BASE.csv\n", - "USA_FL_Mayport.NS.722066_TMY3_BASE.csv\n", - "USA_FL_Melbourne.Rgnl.AP.722040_TMY3_BASE.csv\n", - "USA_FL_Miami-Kendall-Tamiami.Executive.AP.722029_TMY3_BASE.csv\n", - "USA_FL_Miami-Opa.Locka.AP.722024_TMY3_BASE.csv\n", - "USA_FL_Miami.Intl.AP.722020_TMY3_BASE.csv\n", - "USA_FL_NASA.Shuttle.Landing.Facility.747946_TMY3_BASE.csv\n", - "USA_FL_Naples.Muni.AP.722038_TMY3_BASE.csv\n", - "USA_FL_Ocala.Muni.AWOS.722055_TMY3_BASE.csv\n", - "USA_FL_Orlando-Sanford.AP.722057_TMY3_BASE.csv\n", - "USA_FL_Orlando.Executive.AP.722053_TMY3_BASE.csv\n", - "USA_FL_Orlando.Intl.AP.722050_TMY3_BASE.csv\n", - "USA_FL_Panama.City-Bay.County.AP.722245_TMY3_BASE.csv\n", - "USA_FL_Pensacola-Forest.Sherman.NAS.722225_TMY3_BASE.csv\n", - "USA_FL_Pensacola.Rgnl.AP.722223_TMY3_BASE.csv\n", - "USA_FL_Sarasota-Bradenton.Intl.AP.722115_TMY3_BASE.csv\n", - "USA_FL_Southwest.Florida.Intl.AP.722108_TMY3_BASE.csv\n", - "USA_FL_St.Petersburg-Albert.Whitted.Station.722104_TMY3_BASE.csv\n", - "USA_FL_St.Petersburg-Clearwater.Intl.AP.722116_TMY3_BASE.csv\n", - "USA_FL_Tallahassee.Rgnl.AP.722140_TMY3_BASE.csv\n", - "USA_FL_Tampa.Intl.AP.722110_TMY3_BASE.csv\n", - "USA_FL_Tyndall.AFB.747750_TMY3_BASE.csv\n", - "USA_FL_Valparaiso-Elgin.AFB.722210_TMY3_BASE.csv\n", - "USA_FL_Vero.Beach.Muni.AP.722045_TMY3_BASE.csv\n", - "USA_FL_West.Palm.Beach.Intl.AP.722030_TMY3_BASE.csv\n", - "USA_FL_Whiting.Field.NAS.722226_TMY3_BASE.csv\n", - "USA_GA_Albany-Dougherty.County.AP.722160_TMY3_BASE.csv\n", - "USA_GA_Alma-Bacon.County.AP.722135_TMY3_BASE.csv\n", - "USA_GA_Athens-Ben.Epps.AP.723110_TMY3_BASE.csv\n", - "USA_GA_Atlanta-Hartsfield-Jackson.Intl.AP.722190_TMY3_BASE.csv\n", - "USA_GA_Augusta-Bush-Field.722180_TMY3_BASE.csv\n", - "USA_GA_Brunswick-Golden.Isles.AP.722136_TMY3_BASE.csv\n", - "USA_GA_Brunswick-Malcolm.McKinnon.AP.722137_TMY3_BASE.csv\n", - "USA_GA_Columbus.Metro.AP.722255_TMY3_BASE.csv\n", - "USA_GA_Dekalb.Peachtree.AP.722196_TMY3_BASE.csv\n", - "USA_GA_Fort.Benning-Lawson.Field.722250_TMY3_BASE.csv\n", - "USA_GA_Fulton.County.AP.722195_TMY3_BASE.csv\n", - "USA_GA_Macon-Middle.Georgia.Rgnl.AP.722170_TMY3_BASE.csv\n", - "USA_GA_Marietta-Dobbins.AFB.722270_TMY3_BASE.csv\n", - "USA_GA_Rome-Richard.B.Russell.AP.723200_TMY3_BASE.csv\n", - "USA_GA_Savannah-Hunter.AAF.747804_TMY3_BASE.csv\n", - "USA_GA_Savannah.Intl.AP.722070_TMY3_BASE.csv\n", - "USA_GA_Valdosta-Moody.AFB.747810_TMY3_BASE.csv\n", - "USA_GA_Valdosta.Rgnl.AP.722166_TMY3_BASE.csv\n", - "USA_GA_Warner.Robins.AFB.722175_TMY3_BASE.csv\n", - "USA_HI_Barbers.Point.NAS.911780_TMY3_BASE.csv\n", - "USA_HI_Hilo.Intl.AP.912850_TMY3_BASE.csv\n", - "USA_HI_Honolulu.Intl.AP.911820_TMY3_BASE.csv\n", - "USA_HI_Kahului.AP.911900_TMY3_BASE.csv\n", - "USA_HI_Kailua-Kaneohe.Bay.MCAS.911760_TMY3_BASE.csv\n", - "USA_HI_Kapalua-West.Maui.AP.911904_TMY3_BASE.csv\n", - "USA_HI_Keahole-Kona.Intl.AP.911975_TMY3_BASE.csv\n", - "USA_HI_Lanai.AP.911905_TMY3_BASE.csv\n", - "USA_HI_Lihue.AP.911650_TMY3_BASE.csv\n", - "USA_HI_Molokai.AWOS.911860_TMY3_BASE.csv\n", - "USA_IA_Algona.Muni.AP.725457_TMY3_BASE.csv\n", - "USA_IA_Atlantic.Muni.AP.725453_TMY3_BASE.csv\n", - "USA_IA_Boone.Muni.AP.725486_TMY3_BASE.csv\n", - "USA_IA_Burlington.Muni.AP.725455_TMY3_BASE.csv\n", - "USA_IA_Carroll.Muni.AP.725468_TMY3_BASE.csv\n", - "USA_IA_Cedar.Rapids.Muni.AP.725450_TMY3_BASE.csv\n", - "USA_IA_Chariton.Muni.AP.725469_TMY3_BASE.csv\n", - "USA_IA_Charles.City.Muni.AP.725463_TMY3_BASE.csv\n", - "USA_IA_Clarinda.Muni.AP.725479_TMY3_BASE.csv\n", - "USA_IA_Clinton.Muni.AWOS.725473_TMY3_BASE.csv\n", - "USA_IA_Council.Bluffs.Muni.AP.725497_TMY3_BASE.csv\n", - "USA_IA_Creston.Muni.AP.725474_TMY3_BASE.csv\n", - "USA_IA_Decorah.Muni.AP.725476_TMY3_BASE.csv\n", - "USA_IA_Denison.Muni.AP.725477_TMY3_BASE.csv\n", - "USA_IA_Des.Moines.Intl.AP.725460_TMY3_BASE.csv\n", - "USA_IA_Dubuque.Rgnl.AP.725470_TMY3_BASE.csv\n", - "USA_IA_Estherville.Muni.AP.726499_TMY3_BASE.csv\n", - "USA_IA_Fairfield.Muni.AP.726498_TMY3_BASE.csv\n", - "USA_IA_Fort.Dodge.AWOS.725490_TMY3_BASE.csv\n", - "USA_IA_Fort.Madison.Muni.AP.725483_TMY3_BASE.csv\n", - "USA_IA_Keokuk.Muni.AP.725456_TMY3_BASE.csv\n", - "USA_IA_Knoxville.Muni.AP.725493_TMY3_BASE.csv\n", - "USA_IA_Le.Mars.Muni.AP.725484_TMY3_BASE.csv\n", - "USA_IA_Mason.City.Muni.AP.725485_TMY3_BASE.csv\n", - "USA_IA_Monticello.Muni.AP.725475_TMY3_BASE.csv\n", - "USA_IA_Muscatine.Muni.AP.725487_TMY3_BASE.csv\n", - "USA_IA_Newton.Muni.AP.725464_TMY3_BASE.csv\n", - "USA_IA_Oelwein.Muni.AP.725488_TMY3_BASE.csv\n", - "USA_IA_Orange.City.Muni.AP.725489_TMY3_BASE.csv\n", - "USA_IA_Ottumwa.Industrial.AP.725465_TMY3_BASE.csv\n", - "USA_IA_Red.Oak.Muni.AP.725494_TMY3_BASE.csv\n", - "USA_IA_Sheldon.Muni.AP.725495_TMY3_BASE.csv\n", - "USA_IA_Shenandoah.Muni.AP.725467_TMY3_BASE.csv\n", - "USA_IA_Sioux.City-Sioux.Gateway.AP.725570_TMY3_BASE.csv\n", - "USA_IA_Spencer.Muni.AP.726500_TMY3_BASE.csv\n", - "USA_IA_Storm.Lake.Muni.AP.725496_TMY3_BASE.csv\n", - "USA_IA_Washington.Muni.AP.725454_TMY3_BASE.csv\n", - "USA_IA_Waterloo.Muni.AP.725480_TMY3_BASE.csv\n", - "USA_IA_Webster.City.Muni.AP.725478_TMY3_BASE.csv\n", - "USA_ID_Boise.Air.Terminal.726810_TMY3_BASE.csv\n", - "USA_ID_Burley.Muni.AP.725867_TMY3_BASE.csv\n", - "USA_ID_Caldwell.AWOS.726813_TMY3_BASE.csv\n", - "USA_ID_Coeur.dAlene.AWOS.727834_TMY3_BASE.csv\n", - "USA_ID_Hailey-Sun.Valley.AP.725865_TMY3_BASE.csv\n", - "USA_ID_Idaho.Falls-Fanning.Field.725785_TMY3_BASE.csv\n", - "USA_ID_Lewiston-Nez.Perce.County.AP.727830_TMY3_BASE.csv\n", - "USA_ID_Malad.City.AP.725786_TMY3_BASE.csv\n", - "USA_ID_Mountain.Home.AFB.726815_TMY3_BASE.csv\n", - "USA_ID_Pocatello.Muni.AP.725780_TMY3_BASE.csv\n", - "USA_ID_Salmon-Lemhi.AWOS.726865_TMY3_BASE.csv\n", - "USA_ID_Soda.Springs-Tigert.AP.725868_TMY3_BASE.csv\n", - "USA_ID_Twin.Falls-Magic.Valley.Rgnl.AP-Joslin.Field.725866_TMY3_BASE.csv\n", - "USA_IL_Aurora.Muni.AP.744655_TMY3_BASE.csv\n", - "USA_IL_Belleville-Scott.AFB.724338_TMY3_BASE.csv\n", - "USA_IL_Bloomington.Normal-Central.Illinois.Rgnl.AP.724397_TMY3_BASE.csv\n", - "USA_IL_Cahokia.AP.725314_TMY3_BASE.csv\n", - "USA_IL_Carbondale-Southern.Illinois.AP.724336_TMY3_BASE.csv\n", - "USA_IL_Chicago-Midway.AP.725340_TMY3_BASE.csv\n", - "USA_IL_Chicago-OHare.Intl.AP.725300_TMY3_BASE.csv\n", - "USA_IL_Decatur.AP.725316_TMY3_BASE.csv\n", - "USA_IL_Du.Page.AP.725305_TMY3_BASE.csv\n", - "USA_IL_Marion-Williamson.County.Rgnl.AP.724339_TMY3_BASE.csv\n", - "USA_IL_Moline-Quad.City.Intl.AP.725440_TMY3_BASE.csv\n", - "USA_IL_Mount.Vernon.AWOS.724335_TMY3_BASE.csv\n", - "USA_IL_Peoria-Greater.Peoria.AP.725320_TMY3_BASE.csv\n", - "USA_IL_Quincy.Muni.AP.724396_TMY3_BASE.csv\n", - "USA_IL_Rockford-Greater.Rockford.AP.725430_TMY3_BASE.csv\n", - "USA_IL_Springfield-Capital.AP.724390_TMY3_BASE.csv\n", - "USA_IL_Sterling-Rock.Falls-Whiteside.County.AP.725326_TMY3_BASE.csv\n", - "USA_IL_University.of.Illinois-Willard.AP.725315_TMY3_BASE.csv\n", - "USA_IL_Waukegan.Rgnl.AP.725347_TMY3_BASE.csv\n", - "USA_IN_Delaware.County-Johnson.Field.725336_TMY3_BASE.csv\n", - "USA_IN_Evansville.Rgnl.AP.724320_TMY3_BASE.csv\n", - "USA_IN_Fort.Wayne.Intl.AP.725330_TMY3_BASE.csv\n", - "USA_IN_Grissom.AFB.725335_TMY3_BASE.csv\n", - "USA_IN_Huntingburg.Muni.AP.724365_TMY3_BASE.csv\n", - "USA_IN_Indianapolis.Intl.AP.724380_TMY3_BASE.csv\n", - "USA_IN_Lafayette-Purdue.University.AP.724386_TMY3_BASE.csv\n", - "USA_IN_Monroe.County.AP.724375_TMY3_BASE.csv\n", - "USA_IN_South.Bend-Michiana.Rgnl.AP.725350_TMY3_BASE.csv\n", - "USA_IN_Terre.Haute-Hulman.Rgnl.AP.724373_TMY3_BASE.csv\n", - "USA_KS_Chanute-Martin.Johnson.AP.724507_TMY3_BASE.csv\n", - "USA_KS_Concordia-Blosser.Muni.AP.724580_TMY3_BASE.csv\n", - "USA_KS_Dodge.City.Rgnl.AP.724510_TMY3_BASE.csv\n", - "USA_KS_Emporia.Muni.AP.724556_TMY3_BASE.csv\n", - "USA_KS_Fort.Riley-Marshall.AAF.724550_TMY3_BASE.csv\n", - "USA_KS_Garden.City.Muni.AP.724515_TMY3_BASE.csv\n", - "USA_KS_Goodland-Renner.Field.724650_TMY3_BASE.csv\n", - "USA_KS_Great.Bend.AWOS.724517_TMY3_BASE.csv\n", - "USA_KS_Hays.Muni.AWOS.724518_TMY3_BASE.csv\n", - "USA_KS_Hill.City.Muni.AP.724655_TMY3_BASE.csv\n", - "USA_KS_Hutchinson.Muni.AP.724506_TMY3_BASE.csv\n", - "USA_KS_Liberal.Muni.AP.724516_TMY3_BASE.csv\n", - "USA_KS_Manhattan.Rgnl.AP.724555_TMY3_BASE.csv\n", - "USA_KS_Newton.AWOS.724509_TMY3_BASE.csv\n", - "USA_KS_Olathe-Johnson.County.Executive.AP.724468_TMY3_BASE.csv\n", - "USA_KS_Olathe-Johnson.County.Industrial.AP.724475_TMY3_BASE.csv\n", - "USA_KS_Russell.Muni.AP.724585_TMY3_BASE.csv\n", - "USA_KS_Salina.Muni.AP.724586_TMY3_BASE.csv\n", - "USA_KS_Topeka-Forbes.AFB.724565_TMY3_BASE.csv\n", - "USA_KS_Topeka-Phillip.Billard.Muni.AP.724560_TMY3_BASE.csv\n", - "USA_KS_Wichita-Col.Jabara.Field.724504_TMY3_BASE.csv\n", - "USA_KS_Wichita-McConnell.AFB.724505_TMY3_BASE.csv\n", - "USA_KS_Wichita-Mid.Continent.AP.724500_TMY3_BASE.csv\n", - "USA_KY_Bowling.Green-Warren.County.AP.746716_TMY3_BASE.csv\n", - "USA_KY_Cincinnati-Northern.Kentucky.AP.724210_TMY3_BASE.csv\n", - "USA_KY_Fort.Campbell.AAF.746710_TMY3_BASE.csv\n", - "USA_KY_Fort.Knox-Godman.AAF.724240_TMY3_BASE.csv\n", - "USA_KY_Henderson.City.County.AP.724238_TMY3_BASE.csv\n", - "USA_KY_Jackson-Julian.Carroll.AP.724236_TMY3_BASE.csv\n", - "USA_KY_Lexington-Bluegrass.AP.724220_TMY3_BASE.csv\n", - "USA_KY_London-Corbin-Magee.Field.724243_TMY3_BASE.csv\n", - "USA_KY_Louisville-Bowman.Field.724235_TMY3_BASE.csv\n", - "USA_KY_Louisville-Standiford.Field.724230_TMY3_BASE.csv\n", - "USA_KY_Paducah-Barkley.Rgnl.AP.724350_TMY3_BASE.csv\n", - "USA_KY_Somerset-Pulaski.County.AWOS.724354_TMY3_BASE.csv\n", - "USA_LA_Alexandria-England.AFB.747540_TMY3_BASE.csv\n", - "USA_LA_Alexandria-Esler.Rgnl.AP.722487_TMY3_BASE.csv\n", - "USA_LA_Barksdale.AFB.722485_TMY3_BASE.csv\n", - "USA_LA_Baton.Rouge-Ryan.AP.722317_TMY3_BASE.csv\n", - "USA_LA_Fort.Polk.722390_TMY3_BASE.csv\n", - "USA_LA_Houma-Terrebonne.AP.722406_TMY3_BASE.csv\n", - "USA_LA_Lafayette.RgnlAP.722405_TMY3_BASE.csv\n", - "USA_LA_Lake.Charles.AP.722404_TMY3_BASE.csv\n", - "USA_LA_Lake.Charles.Rgnl.AP.722400_TMY3_BASE.csv\n", - "USA_LA_Monroe.Rgnl.AP.722486_TMY3_BASE.csv\n", - "USA_LA_New.Iberia.722314_TMY3_BASE.csv\n", - "USA_LA_New.Orleans-Alvin.Callender.Field.722316_TMY3_BASE.csv\n", - "USA_LA_New.Orleans-Lakefront.AP.722315_TMY3_BASE.csv\n", - "USA_LA_New.Orleans.Intl.AP.722310_TMY3_BASE.csv\n", - "USA_LA_Patterson.Mem.AP.722329_TMY3_BASE.csv\n", - "USA_LA_Shreveport.Downtown.722484_TMY3_BASE.csv\n", - "USA_LA_Shreveport.Rgnl.AP.722480_TMY3_BASE.csv\n", - "USA_MA_Barnstable-Boardman.Poland.AP.725067_TMY3_BASE.csv\n", - "USA_MA_Beverly.Muni.AP.725088_TMY3_BASE.csv\n", - "USA_MA_Boston-Logan.Intl.AP.725090_TMY3_BASE.csv\n", - "USA_MA_Chicopee.Falls-Westover.AFB.744910_TMY3_BASE.csv\n", - "USA_MA_Lawrence.Muni.AP.744904_TMY3_BASE.csv\n", - "USA_MA_Marthas.Vineyard.AP.725066_TMY3_BASE.csv\n", - "USA_MA_Nantucket.Mem.AP.725063_TMY3_BASE.csv\n", - "USA_MA_New.Bedford.Rgnl.AP.725065_TMY3_BASE.csv\n", - "USA_MA_North.Adams.AP.725075_TMY3_BASE.csv\n", - "USA_MA_Norwood.Mem.AP.725098_TMY3_BASE.csv\n", - "USA_MA_Otis.ANGB.725060_TMY3_BASE.csv\n", - "USA_MA_Plymouth.Muni.AP.725064_TMY3_BASE.csv\n", - "USA_MA_Provincetown.AWOS.725073_TMY3_BASE.csv\n", - "USA_MA_Westfield-Barnes.Muni.AP.744915_TMY3_BASE.csv\n", - "USA_MA_Worcester.Rgnl.AP.725095_TMY3_BASE.csv\n", - "USA_MD_Andrews.AFB.745940_TMY3_BASE.csv\n", - "USA_MD_Baltimore-Washington.Intl.AP.724060_TMY3_BASE.csv\n", - "USA_MD_Hagerstown-Washington.County.Rgnl.AP.724066_TMY3_BASE.csv\n", - "USA_MD_Patuxent.River.NAS.724040_TMY3_BASE.csv\n", - "USA_MD_Salisbury-Wicomico.County.Rgnl.AP.724045_TMY3_BASE.csv\n", - "USA_ME_Auburn-Lewiston.Muni.AP.726184_TMY3_BASE.csv\n", - "USA_ME_Augusta.AP.726185_TMY3_BASE.csv\n", - "USA_ME_Bangor.Intl.AP.726088_TMY3_BASE.csv\n", - "USA_ME_Bar.Harbor.AWOS.726077_TMY3_BASE.csv\n", - "USA_ME_Brunswick.NAS.743920_TMY3_BASE.csv\n", - "USA_ME_Caribou.Muni.AP.727120_TMY3_BASE.csv\n", - "USA_ME_Edmundston-Northern.Aroostook.Rgnl.AP.726083_TMY3_BASE.csv\n", - "USA_ME_Houlton.Intl.AP.727033_TMY3_BASE.csv\n", - "USA_ME_Millinocket.Muni.AP.726196_TMY3_BASE.csv\n", - "USA_ME_Portland.Intl.Jetport.726060_TMY3_BASE.csv\n", - "USA_ME_Presque.Isle.Muni.AP.727130_TMY3_BASE.csv\n", - "USA_ME_Rockland-Knox.AWOS.726079_TMY3_BASE.csv\n", - "USA_ME_Sanford.Muni.AWOS.726064_TMY3_BASE.csv\n", - "USA_ME_Waterville.AWOS.726073_TMY3_BASE.csv\n", - "USA_ME_Wiscasset.AP.727135_TMY3_BASE.csv\n", - "USA_MI_Alpena.County.Rgnl.AP.726390_TMY3_BASE.csv\n", - "USA_MI_Ann.Arbor.Muni.AP.725374_TMY3_BASE.csv\n", - "USA_MI_Battle.Creek-Kellogg.AP.725396_TMY3_BASE.csv\n", - "USA_MI_Benton.Harbor-Ross.Field-Twin.Cities.AP.726355_TMY3_BASE.csv\n", - "USA_MI_Cadillac-Wexford.County.AP.726384_TMY3_BASE.csv\n", - "USA_MI_Chippewa.County.Intl.AP.727344_TMY3_BASE.csv\n", - "USA_MI_Detroit-City.AP.725375_TMY3_BASE.csv\n", - "USA_MI_Detroit-Willow.Run.AP.725376_TMY3_BASE.csv\n", - "USA_MI_Detroit.Metro.AP.725370_TMY3_BASE.csv\n", - "USA_MI_Escanaba.AWOS.726480_TMY3_BASE.csv\n", - "USA_MI_Flint-Bishop.Intl.AP.726370_TMY3_BASE.csv\n", - "USA_MI_Grand.Rapids-Kent.County.Intl.AP.726350_TMY3_BASE.csv\n", - "USA_MI_Hancock-Houghton.County.AP.727440_TMY3_BASE.csv\n", - "USA_MI_Houghton-Lake.Roscommon.County.AP.726380_TMY3_BASE.csv\n", - "USA_MI_Howell-Livingston.County.AP.725378_TMY3_BASE.csv\n", - "USA_MI_Iron.Mountain-Ford.Field.727437_TMY3_BASE.csv\n", - "USA_MI_Ironwood.AWOS.727445_TMY3_BASE.csv\n", - "USA_MI_Jackson-Reynolds.Field.725395_TMY3_BASE.csv\n", - "USA_MI_Kalamazoo-Battle.Creek.Intl.AP.726357_TMY3_BASE.csv\n", - "USA_MI_Lansing-Capital.City.AP.725390_TMY3_BASE.csv\n", - "USA_MI_Manistee.AWOS.726385_TMY3_BASE.csv\n", - "USA_MI_Menominee.AWOS.726487_TMY3_BASE.csv\n", - "USA_MI_Mount.Clemens-Selfridge.ANGB.725377_TMY3_BASE.csv\n", - "USA_MI_Muskegon.County.AP.726360_TMY3_BASE.csv\n", - "USA_MI_Oakland.County.Intl.AP.726375_TMY3_BASE.csv\n", - "USA_MI_Oscoda-Wurtsmith.AFB.726395_TMY3_BASE.csv\n", - "USA_MI_Pellston-Emmet.County.AP.727347_TMY3_BASE.csv\n", - "USA_MI_Rhinelander-Oneida.County.AP.727415_TMY3_BASE.csv\n", - "USA_MI_Saginaw-Tri.City.Intl.AP.726379_TMY3_BASE.csv\n", - "USA_MI_Sault.Ste.Marie-Sanderson.Field.727340_TMY3_BASE.csv\n", - "USA_MI_St.Clair.County.Intl.AP.725384_TMY3_BASE.csv\n", - "USA_MI_Traverse.City-Cherry.Capital.AP.726387_TMY3_BASE.csv\n", - "USA_MN_Aitkin.AWOS.727504_TMY3_BASE.csv\n", - "USA_MN_Albert.Lea.AWOS.726589_TMY3_BASE.csv\n", - "USA_MN_Alexandria.Muni.AP.726557_TMY3_BASE.csv\n", - "USA_MN_Austin.Muni.AP.727566_TMY3_BASE.csv\n", - "USA_MN_Baudette.Intl.AP.727476_TMY3_BASE.csv\n", - "USA_MN_Bemidji.Muni.AP.727550_TMY3_BASE.csv\n", - "USA_MN_Benson.Muni.AP.727507_TMY3_BASE.csv\n", - "USA_MN_Brainerd-Crow.Wing.County.AP.726555_TMY3_BASE.csv\n", - "USA_MN_Cambridge.Muni.AP.727503_TMY3_BASE.csv\n", - "USA_MN_Cloquet.AWOS.726558_TMY3_BASE.csv\n", - "USA_MN_Crane.Lake.AWOS.727473_TMY3_BASE.csv\n", - "USA_MN_Crookston.Muni.Field.727452_TMY3_BASE.csv\n", - "USA_MN_Detroit.Lakes.AWOS.727457_TMY3_BASE.csv\n", - "USA_MN_Duluth.Intl.AP.727450_TMY3_BASE.csv\n", - "USA_MN_Edin.Prairie-Flying.Cloud.AP.726579_TMY3_BASE.csv\n", - "USA_MN_Ely.Muni.AP.727459_TMY3_BASE.csv\n", - "USA_MN_Eveleth.Muni.AWOS.727474_TMY3_BASE.csv\n", - "USA_MN_Fairmont.Muni.AWOS.726586_TMY3_BASE.csv\n", - "USA_MN_Faribault.Muni.AWOS.726563_TMY3_BASE.csv\n", - "USA_MN_Fergus.Falls.AWOS.726560_TMY3_BASE.csv\n", - "USA_MN_Fosston.AWOS.727505_TMY3_BASE.csv\n", - "USA_MN_Glenwood.AWOS.726547_TMY3_BASE.csv\n", - "USA_MN_Grand.Rapids.AWOS.727458_TMY3_BASE.csv\n", - "USA_MN_Hallock.727478_TMY3_BASE.csv\n", - "USA_MN_Hibbing-Chisholm.Hibbing.AP.727455_TMY3_BASE.csv\n", - "USA_MN_Hutchinson.AWOS.726569_TMY3_BASE.csv\n", - "USA_MN_International.Falls.Intl.AP.727470_TMY3_BASE.csv\n", - "USA_MN_Litchfield.Muni.AP.726583_TMY3_BASE.csv\n", - "USA_MN_Little.Falls.AWOS.726578_TMY3_BASE.csv\n", - "USA_MN_Mankato.AWOS.726585_TMY3_BASE.csv\n", - "USA_MN_Marshall.Muni-Ryan.Field.AWOS.726559_TMY3_BASE.csv\n", - "USA_MN_Minneapolis-Crystal.AP.726575_TMY3_BASE.csv\n", - "USA_MN_Minneapolis-St.Paul.Intl.AP.726580_TMY3_BASE.csv\n", - "USA_MN_Mora.Muni.AWOS.727475_TMY3_BASE.csv\n", - "USA_MN_Morris.Muni.AWOS.726565_TMY3_BASE.csv\n", - "USA_MN_New.Ulm.Muni.AWOS.726567_TMY3_BASE.csv\n", - "USA_MN_Orr.Rgnl.AP.726544_TMY3_BASE.csv\n", - "USA_MN_Owatonna.AWOS.726568_TMY3_BASE.csv\n", - "USA_MN_Park.Rapids.Muni.AP.727453_TMY3_BASE.csv\n", - "USA_MN_Pipestone.AWOS.726566_TMY3_BASE.csv\n", - "USA_MN_Red.Wing.Muni.AP.726564_TMY3_BASE.csv\n", - "USA_MN_Redwood.Falls.Muni.AP.726556_TMY3_BASE.csv\n", - "USA_MN_Rochester.Intl.AP.726440_TMY3_BASE.csv\n", - "USA_MN_Roseau.Muni.AWOS.727477_TMY3_BASE.csv\n", - "USA_MN_Silver.Bay.Muni.AP.727556_TMY3_BASE.csv\n", - "USA_MN_South.St.Paul.Muni.AP.726603_TMY3_BASE.csv\n", - "USA_MN_St.Cloud.Muni.AP.726550_TMY3_BASE.csv\n", - "USA_MN_St.Paul-Downtown.AP.726584_TMY3_BASE.csv\n", - "USA_MN_Thief.River.AWOS.727555_TMY3_BASE.csv\n", - "USA_MN_Two.Harbors.Muni.AP.727444_TMY3_BASE.csv\n", - "USA_MN_Wheaton.AWOS.727533_TMY3_BASE.csv\n", - "USA_MN_Willmar.Muni.AP.726576_TMY3_BASE.csv\n", - "USA_MN_Winona.Muni.AWOS.726588_TMY3_BASE.csv\n", - "USA_MN_Worthington.AWOS.726587_TMY3_BASE.csv\n", - "USA_MO_Cape.Girardeau.Muni.AP.723489_TMY3_BASE.csv\n", - "USA_MO_Columbia.Rgnl.AP.724450_TMY3_BASE.csv\n", - "USA_MO_Farmington.Rgnl.AP.724454_TMY3_BASE.csv\n", - "USA_MO_Fort.Leonard.Wood-Forney.AAF.724457_TMY3_BASE.csv\n", - "USA_MO_Jefferson.City.Mem.AP.724458_TMY3_BASE.csv\n", - "USA_MO_Joplin.Muni.AP.723495_TMY3_BASE.csv\n", - "USA_MO_Kaiser-Lee.Fine.Mem.AWOS.724459_TMY3_BASE.csv\n", - "USA_MO_Kansas.City.Downtown.AP.724463_TMY3_BASE.csv\n", - "USA_MO_Kansas.City.Intl.AP.724460_TMY3_BASE.csv\n", - "USA_MO_Kirksville.Muni.AP.724455_TMY3_BASE.csv\n", - "USA_MO_Poplar.Bluff.AWOS.723300_TMY3_BASE.csv\n", - "USA_MO_Rolla.National.AP.724456_TMY3_BASE.csv\n", - "USA_MO_Springfield.Rgnl.AP.724400_TMY3_BASE.csv\n", - "USA_MO_St.Joseph-Rosecrans.Mem.AP.724490_TMY3_BASE.csv\n", - "USA_MO_St.Louis-Lambert.Intl.AP.724340_TMY3_BASE.csv\n", - "USA_MO_St.Louis-Spirit.of.St.Louis.AP.724345_TMY3_BASE.csv\n", - "USA_MO_Whiteman.AFB.724467_TMY3_BASE.csv\n", - "USA_MS_Biloxi-Keesler.AFB.747686_TMY3_BASE.csv\n", - "USA_MS_Columbus.AFB.723306_TMY3_BASE.csv\n", - "USA_MS_Golden.Triangle.Rgnl.AWOS.723307_TMY3_BASE.csv\n", - "USA_MS_Greenville.Muni.AP.722356_TMY3_BASE.csv\n", - "USA_MS_Greenwood-Leflore.AP.722359_TMY3_BASE.csv\n", - "USA_MS_Gulfport-Biloxi.Intl.AP.747685_TMY3_BASE.csv\n", - "USA_MS_Hattiesburg-Laurel.AP.722348_TMY3_BASE.csv\n", - "USA_MS_Jackson.Intl.AP.722350_TMY3_BASE.csv\n", - "USA_MS_McComb-Pike.Co.AP.722358_TMY3_BASE.csv\n", - "USA_MS_Meridian-Key.Field.722340_TMY3_BASE.csv\n", - "USA_MS_Meridian.NAS.722345_TMY3_BASE.csv\n", - "USA_MS_Natchez-Hardy.Anders.Field.722357_TMY3_BASE.csv\n", - "USA_MS_Tupelo.Muni-C.D.Lemons.AP.723320_TMY3_BASE.csv\n", - "USA_MT_Billings-Logan.Intl.AP.726770_TMY3_BASE.csv\n", - "USA_MT_Bozeman-Gallatin.Field.726797_TMY3_BASE.csv\n", - "USA_MT_Butte-Bert.Mooney.AP.726785_TMY3_BASE.csv\n", - "USA_MT_Cut.Bank.Muni.AP.727796_TMY3_BASE.csv\n", - "USA_MT_Glasgow.Intl.AP.727680_TMY3_BASE.csv\n", - "USA_MT_Glendive.AWOS.726676_TMY3_BASE.csv\n", - "USA_MT_Great.Falls.Intl.AP.727750_TMY3_BASE.csv\n", - "USA_MT_Havre.City-County.AP.727770_TMY3_BASE.csv\n", - "USA_MT_Helena.Rgnl.AP.727720_TMY3_BASE.csv\n", - "USA_MT_Kalispell-Glacier.Park.Intl.AP.727790_TMY3_BASE.csv\n", - "USA_MT_Lewistown.Muni.AP.726776_TMY3_BASE.csv\n", - "USA_MT_Livingston-Mission.Field.726798_TMY3_BASE.csv\n", - "USA_MT_Miles.City.Muni.AP.742300_TMY3_BASE.csv\n", - "USA_MT_Missoula.Intl.AP.727730_TMY3_BASE.csv\n", - "USA_MT_Sidney-Richland.Muni.AP.727687_TMY3_BASE.csv\n", - "USA_MT_Wolf.Point.Intl.AP.727686_TMY3_BASE.csv\n", - "USA_NC_Asheville.Rgnl.AP.723150_TMY3_BASE.csv\n", - "USA_NC_Cape.Hatteras.723040_TMY3_BASE.csv\n", - "USA_NC_Charlotte-Douglas.Intl.AP.723140_TMY3_BASE.csv\n", - "USA_NC_Cherry.Point.MCAS.723090_TMY3_BASE.csv\n", - "USA_NC_Elizabeth.City.CGAS.746943_TMY3_BASE.csv\n", - "USA_NC_Fayetteville-Pope.AFB.723030_TMY3_BASE.csv\n", - "USA_NC_Fayetteville.Muni.AP.723035_TMY3_BASE.csv\n", - "USA_NC_Fort.Bragg-Simmons.AAF.746930_TMY3_BASE.csv\n", - "USA_NC_Goldsboro-Seymour.Johnson.AFB.723066_TMY3_BASE.csv\n", - "USA_NC_Greensboro-Piedmont.Triad.Intl.AP.723170_TMY3_BASE.csv\n", - "USA_NC_Hickory.Rgnl.AP.723145_TMY3_BASE.csv\n", - "USA_NC_Jacksonville.AWOS.723069_TMY3_BASE.csv\n", - "USA_NC_Kinston.Stallings.AFB.723067_TMY3_BASE.csv\n", - "USA_NC_Manteo-Dare.County.Rgnl.AP.723046_TMY3_BASE.csv\n", - "USA_NC_New.Bern-Craven.County.Rgnl.AP.723095_TMY3_BASE.csv\n", - "USA_NC_Pitt.Greenville.AP.723065_TMY3_BASE.csv\n", - "USA_NC_Raleigh-Durham.Intl.AP.723060_TMY3_BASE.csv\n", - "USA_NC_Rocky.Mount-Wilson.AP.723068_TMY3_BASE.csv\n", - "USA_NC_Southern.Pines-Moore.County.AP.723143_TMY3_BASE.csv\n", - "USA_NC_Wilmington.Intl.AP.723013_TMY3_BASE.csv\n", - "USA_NC_Winston.Salem-Smith.Reynolds.AP.723193_TMY3_BASE.csv\n", - "USA_ND_Bismarck.Muni.AP.727640_TMY3_BASE.csv\n", - "USA_ND_Devils.Lake.AWOS.727573_TMY3_BASE.csv\n", - "USA_ND_Dickinson.Muni.AP.727645_TMY3_BASE.csv\n", - "USA_ND_Fargo-Hector.Intl.AP.727530_TMY3_BASE.csv\n", - "USA_ND_Grand.Forks.AFB.727575_TMY3_BASE.csv\n", - "USA_ND_Grand.Forks.Intl.AP.727576_TMY3_BASE.csv\n", - "USA_ND_Jamestown.Muni.AP.727535_TMY3_BASE.csv\n", - "USA_ND_Minot.AFB.727675_TMY3_BASE.csv\n", - "USA_ND_Minot.Intl.AP.727676_TMY3_BASE.csv\n", - "USA_ND_Williston-Sloulin.Field.Intl.AP.727670_TMY3_BASE.csv\n", - "USA_NE_Ainsworth.Muni.AP.725556_TMY3_BASE.csv\n", - "USA_NE_Alliance.Muni.AP.725635_TMY3_BASE.csv\n", - "USA_NE_Beatrice.Muni.AP.725515_TMY3_BASE.csv\n", - "USA_NE_Bellevue-Offutt.AFB.725540_TMY3_BASE.csv\n", - "USA_NE_Broken.Bow.Muni.AP.725555_TMY3_BASE.csv\n", - "USA_NE_Chadron.Muni.AP.725636_TMY3_BASE.csv\n", - "USA_NE_Columbus.Muni.AP.725565_TMY3_BASE.csv\n", - "USA_NE_Falls.City-Brenner.Field.725533_TMY3_BASE.csv\n", - "USA_NE_Fremont.Muni.AP.725564_TMY3_BASE.csv\n", - "USA_NE_Grand.Island-Central.Nebraska.Rgnl.AP.725520_TMY3_BASE.csv\n", - "USA_NE_Hastings.Muni.AP.725525_TMY3_BASE.csv\n", - "USA_NE_Holdrege-Brewster.Field.725628_TMY3_BASE.csv\n", - "USA_NE_Imperial.Muni.AP.725626_TMY3_BASE.csv\n", - "USA_NE_Kearney.Muni.AWOS.725526_TMY3_BASE.csv\n", - "USA_NE_Lincoln.Muni.AP.725510_TMY3_BASE.csv\n", - "USA_NE_McCook.Muni.AP.725625_TMY3_BASE.csv\n", - "USA_NE_Norfolk-Karl.Stefan.Mem.AP.725560_TMY3_BASE.csv\n", - "USA_NE_North.Platte.Rgnl.AP.725620_TMY3_BASE.csv\n", - "USA_NE_ONeill-Baker.Field.725566_TMY3_BASE.csv\n", - "USA_NE_Omaha-Eppley.Airfield.725500_TMY3_BASE.csv\n", - "USA_NE_Omaha.WSFO.725530_TMY3_BASE.csv\n", - "USA_NE_Ord-Sharp.Field.725524_TMY3_BASE.csv\n", - "USA_NE_Scottsbluff-W.B.Heilig.Field.725660_TMY3_BASE.csv\n", - "USA_NE_Sidney.Muni.AP.725610_TMY3_BASE.csv\n", - "USA_NE_Tekamah.AWOS.725527_TMY3_BASE.csv\n", - "USA_NE_Valentine-Miller.Field.725670_TMY3_BASE.csv\n", - "USA_NH_Berlin.Muni.AP.726160_TMY3_BASE.csv\n", - "USA_NH_Concord.Muni.AP.726050_TMY3_BASE.csv\n", - "USA_NH_Keene-Dillant.Hopkins.AP.726165_TMY3_BASE.csv\n", - "USA_NH_Laconia.Muni.AWOS.726155_TMY3_BASE.csv\n", - "USA_NH_Lebanon.Muni.AP.726116_TMY3_BASE.csv\n", - "USA_NH_Manchester.Muni.AP.743945_TMY3_BASE.csv\n", - "USA_NH_Mount.Washington.726130_TMY3_BASE.csv\n", - "USA_NH_Pease.Intl.Tradeport.726055_TMY3_BASE.csv\n", - "USA_NJ_Atlantic.City.Intl.AP.724070_TMY3_BASE.csv\n", - "USA_NJ_Belmar-Monmouth.County.AP.724084_TMY3_BASE.csv\n", - "USA_NJ_Caldwell-Essex.County.AP.724094_TMY3_BASE.csv\n", - "USA_NJ_Cape.May.County.AP.745966_TMY3_BASE.csv\n", - "USA_NJ_McGuire.AFB.724096_TMY3_BASE.csv\n", - "USA_NJ_Millville.Muni.AP.724075_TMY3_BASE.csv\n", - "USA_NJ_Newark.Intl.AP.725020_TMY3_BASE.csv\n", - "USA_NJ_Teterboro.AP.725025_TMY3_BASE.csv\n", - "USA_NJ_Trenton-Mercer.County.AP.724095_TMY3_BASE.csv\n", - "USA_NM_Albuquerque.Intl.AP.723650_TMY3_BASE.csv\n", - "USA_NM_Carlsbad.Cavern.City.Air.Terminal.722687_TMY3_BASE.csv\n", - "USA_NM_Clayton.Muni.AP.723600_TMY3_BASE.csv\n", - "USA_NM_Clovis-Cannon.AFB.722686_TMY3_BASE.csv\n", - "USA_NM_Clovis.Muni.AWOS.722689_TMY3_BASE.csv\n", - "USA_NM_Deming.Muni.AP.722725_TMY3_BASE.csv\n", - "USA_NM_Farmington-Four.Corners.Rgnl.AP.723658_TMY3_BASE.csv\n", - "USA_NM_Gallup-Sen.Clarke.Field.723627_TMY3_BASE.csv\n", - "USA_NM_Holloman.AFB.747320_TMY3_BASE.csv\n", - "USA_NM_Las.Cruces.Intl.AP.722695_TMY3_BASE.csv\n", - "USA_NM_Roswell.Industrial.Air.Park.722680_TMY3_BASE.csv\n", - "USA_NM_Ruidoso-Sierra.Blanca.Rgnl.AP.722683_TMY3_BASE.csv\n", - "USA_NM_Santa.Fe.County.Muni.AP.723656_TMY3_BASE.csv\n", - "USA_NM_Taos.Muni.AP.723663_TMY3_BASE.csv\n", - "USA_NM_Truth.or.Consequences.Muni.AP.722710_TMY3_BASE.csv\n", - "USA_NM_Tucumcari.AP.723676_TMY3_BASE.csv\n", - "USA_NV_Elko.Muni.AP.725825_TMY3_BASE.csv\n", - "USA_NV_Ely-Yelland.Field.724860_TMY3_BASE.csv\n", - "USA_NV_Fallon.NAS.724885_TMY3_BASE.csv\n", - "USA_NV_Las.Vegas-McCarran.Intl.AP.723860_TMY3_BASE.csv\n", - "USA_NV_Lovelock-Derby.Field.725805_TMY3_BASE.csv\n", - "USA_NV_Mercury-Desert.Rock.AP.723870_TMY3_BASE.csv\n", - "USA_NV_Nellis.AFB.723865_TMY3_BASE.csv\n", - "USA_NV_Reno-Tahoe.Intl.AP.724880_TMY3_BASE.csv\n", - "USA_NV_Tonopah.AP.724855_TMY3_BASE.csv\n", - "USA_NV_Winnemucca.Muni.AP.725830_TMY3_BASE.csv\n", - "USA_NY_Albany.County.AP.725180_TMY3_BASE.csv\n", - "USA_NY_Binghamton-Edwin.A.Link.Field.725150_TMY3_BASE.csv\n", - "USA_NY_Buffalo-Greater.Buffalo.Intl.AP.725280_TMY3_BASE.csv\n", - "USA_NY_Elmira.Rgnl.AP.725156_TMY3_BASE.csv\n", - "USA_NY_Fort.Drum-Wheeler.Sack.AAF.743700_TMY3_BASE.csv\n", - "USA_NY_Glens.Falls-Bennett.Mem.AP.725185_TMY3_BASE.csv\n", - "USA_NY_Islip-Long.Island.MacArthur.AP.725035_TMY3_BASE.csv\n", - "USA_NY_Jamestown.AWOS.725235_TMY3_BASE.csv\n", - "USA_NY_Massena.AP.726223_TMY3_BASE.csv\n", - "USA_NY_Monticello.AWOS.725145_TMY3_BASE.csv\n", - "USA_NY_New.York-Central.Park.725033_TMY3_BASE.csv\n", - "USA_NY_New.York-J.F.Kennedy.Intl.AP.744860_TMY3_BASE.csv\n", - "USA_NY_New.York-LaGuardia.AP.725030_TMY3_BASE.csv\n", - "USA_NY_Newburgh-Stewart.Intl.AP.725038_TMY3_BASE.csv\n", - "USA_NY_Niagara.Falls.Intl.AP.725287_TMY3_BASE.csv\n", - "USA_NY_Poughkeepsie-Dutchess.County.AP.725036_TMY3_BASE.csv\n", - "USA_NY_Republic.AP.744864_TMY3_BASE.csv\n", - "USA_NY_Rochester-Greater.Rochester.Intl.AP.725290_TMY3_BASE.csv\n", - "USA_NY_Saranac.Lake-Adirondack.Rgnl.AP.726228_TMY3_BASE.csv\n", - "USA_NY_Syracuse-Hancock.Intl.AP.725190_TMY3_BASE.csv\n", - "USA_NY_Utica-Oneida.County.AP.725197_TMY3_BASE.csv\n", - "USA_NY_Watertown.AP.726227_TMY3_BASE.csv\n", - "USA_NY_Westhampton-Suffolk.County.AP.744865_TMY3_BASE.csv\n", - "USA_NY_White.Plains-Westchester.County.AP.725037_TMY3_BASE.csv\n", - "USA_OH_Akron.Canton.Rgnl.AP.725210_TMY3_BASE.csv\n", - "USA_OH_Cincinnati.Muni.AP-Lunken.Field.724297_TMY3_BASE.csv\n", - "USA_OH_Cleveland-Burke.Lakefront.AP.725245_TMY3_BASE.csv\n", - "USA_OH_Cleveland-Hopkins.Intl.AP.725240_TMY3_BASE.csv\n", - "USA_OH_Columbus-Port.Columbus.Intl.AP.724280_TMY3_BASE.csv\n", - "USA_OH_Dayton-Wright.Patterson.AFB.745700_TMY3_BASE.csv\n", - "USA_OH_Dayton.Intl.AP.724290_TMY3_BASE.csv\n", - "USA_OH_Findlay.AP.725366_TMY3_BASE.csv\n", - "USA_OH_Mansfield-Lahm.Muni.AP.725246_TMY3_BASE.csv\n", - "USA_OH_Ohio.State.University.AP.724288_TMY3_BASE.csv\n", - "USA_OH_Toledo.Express.AP.725360_TMY3_BASE.csv\n", - "USA_OH_Youngstown.Rgnl.AP.725250_TMY3_BASE.csv\n", - "USA_OH_Zanesville.Muni.AP.724286_TMY3_BASE.csv\n", - "USA_OK_Altus.AFB.723520_TMY3_BASE.csv\n", - "USA_OK_Bartlesville-Phillips.Field.723565_TMY3_BASE.csv\n", - "USA_OK_Clinton.Sherman.AP.723526_TMY3_BASE.csv\n", - "USA_OK_Fort.Sill-Henry.Post.AAF.723550_TMY3_BASE.csv\n", - "USA_OK_Gage.AP.723527_TMY3_BASE.csv\n", - "USA_OK_Hobart.Muni.AP.723525_TMY3_BASE.csv\n", - "USA_OK_Lawton.Muni.AP.723575_TMY3_BASE.csv\n", - "USA_OK_McAlester.Rgnl.AP.723566_TMY3_BASE.csv\n", - "USA_OK_Oklahoma.City-Tinker.AFB.723540_TMY3_BASE.csv\n", - "USA_OK_Oklahoma.City-Wiley.Post.Field.723544_TMY3_BASE.csv\n", - "USA_OK_Oklahoma.City-Will.Rogers.World.AP.723530_TMY3_BASE.csv\n", - "USA_OK_Ponca.City.Muni.AP.723546_TMY3_BASE.csv\n", - "USA_OK_Stillwater.Rgnl.AP.723545_TMY3_BASE.csv\n", - "USA_OK_Tulsa.Intl.AP.723560_TMY3_BASE.csv\n", - "USA_OK_Vance.AFB.723535_TMY3_BASE.csv\n", - "USA_OR_Astoria.Rgnl.AP.727910_TMY3_BASE.csv\n", - "USA_OR_Aurora.State.AP.726959_TMY3_BASE.csv\n", - "USA_OR_Baker.Muni.AP.726886_TMY3_BASE.csv\n", - "USA_OR_Burns.Muni.AP.726830_TMY3_BASE.csv\n", - "USA_OR_Corvallis.Muni.AP.726945_TMY3_BASE.csv\n", - "USA_OR_Eugene-Mahlon.Sweet.AP.726930_TMY3_BASE.csv\n", - "USA_OR_Klamath.Falls.Intl.AP.725895_TMY3_BASE.csv\n", - "USA_OR_La.Grande.Muni.AP.726884_TMY3_BASE.csv\n", - "USA_OR_Lakeview.AWOS.725976_TMY3_BASE.csv\n", - "USA_OR_Medford-Rogue.Valley.Intl.AP.725970_TMY3_BASE.csv\n", - "USA_OR_North.Bend.Muni.AP.726917_TMY3_BASE.csv\n", - "USA_OR_Pendleton-Eastern.Oregon.Rgnl.AP.726880_TMY3_BASE.csv\n", - "USA_OR_Portland-Hillsboro.AP.726986_TMY3_BASE.csv\n", - "USA_OR_Portland-Troutdale.AP.726985_TMY3_BASE.csv\n", - "USA_OR_Portland.Intl.AP.726980_TMY3_BASE.csv\n", - "USA_OR_Redmond-Roberts.Field.726835_TMY3_BASE.csv\n", - "USA_OR_Roseburg.Rgnl.AP.726904_TMY3_BASE.csv\n", - "USA_OR_Salem-McNary.Field.726940_TMY3_BASE.csv\n", - "USA_OR_Sexton.Summit.725975_TMY3_BASE.csv\n", - "USA_PA_Allentown-Lehigh.Valley.Intl.AP.725170_TMY3_BASE.csv\n", - "USA_PA_Altoona-Blair.County.AP.725126_TMY3_BASE.csv\n", - "USA_PA_Bradford.Rgnl.AP.725266_TMY3_BASE.csv\n", - "USA_PA_Butler.County.AWOS.725124_TMY3_BASE.csv\n", - "USA_PA_DuBois-Jefferson.County.AP.725125_TMY3_BASE.csv\n", - "USA_PA_Erie.Intl.AP.725260_TMY3_BASE.csv\n", - "USA_PA_Franklin-Chess.Lemberton.AP.725267_TMY3_BASE.csv\n", - "USA_PA_Harrisburg-Capital.City.AP.725118_TMY3_BASE.csv\n", - "USA_PA_Harrisburg.Intl.AP.725115_TMY3_BASE.csv\n", - "USA_PA_Johnstown-Cambria.County.AP.725127_TMY3_BASE.csv\n", - "USA_PA_Lancaster.AP.725116_TMY3_BASE.csv\n", - "USA_PA_Philadelphia-NE.Philadelphia.AP.724085_TMY3_BASE.csv\n", - "USA_PA_Philadelphia.Intl.AP.724080_TMY3_BASE.csv\n", - "USA_PA_Pittsburgh-Allegheny.County.AP.725205_TMY3_BASE.csv\n", - "USA_PA_Pittsburgh.Intl.AP.725200_TMY3_BASE.csv\n", - "USA_PA_Reading.Mem.AP-Spaatz.Field.725103_TMY3_BASE.csv\n", - "USA_PA_State.College-Penn.State.University.725128_TMY3_BASE.csv\n", - "USA_PA_Washington.AWOS.725117_TMY3_BASE.csv\n", - "USA_PA_Wilkes-Barre-Scranton.Intl.AP.725130_TMY3_BASE.csv\n", - "USA_PA_Williamsport.Rgnl.AP.725140_TMY3_BASE.csv\n", - "USA_PA_Willow.Grove.NAS.724086_TMY3_BASE.csv\n", - "USA_RI_Block.Island.State.AP.725058_TMY3_BASE.csv\n", - "USA_RI_Pawtucket.AWOS.725054_TMY3_BASE.csv\n", - "USA_RI_Providence-T.F.Green.State.AP.725070_TMY3_BASE.csv\n", - "USA_SC_Anderson.County.AP.723125_TMY3_BASE.csv\n", - "USA_SC_Beaufort.MCAS.722085_TMY3_BASE.csv\n", - "USA_SC_Charleston.Intl.AP.722080_TMY3_BASE.csv\n", - "USA_SC_Columbia.Metro.AP.723100_TMY3_BASE.csv\n", - "USA_SC_Florence.Rgnl.AP.723106_TMY3_BASE.csv\n", - "USA_SC_Greenville-Downtown.AP.723119_TMY3_BASE.csv\n", - "USA_SC_Greer.Greenville-Spartanburg.AP.723120_TMY3_BASE.csv\n", - "USA_SC_Myrtle.Beach.AFB.747910_TMY3_BASE.csv\n", - "USA_SC_New.River.MCAS.723096_TMY3_BASE.csv\n", - "USA_SC_North.Myrtle.Beach-Grand.Strand.Field.747915_TMY3_BASE.csv\n", - "USA_SC_Shaw.AFB.747900_TMY3_BASE.csv\n", - "USA_SD_Aberdeen.Rgnl.AP.726590_TMY3_BASE.csv\n", - "USA_SD_Brookings.AWOS.726515_TMY3_BASE.csv\n", - "USA_SD_Ellsworth.AFB.726625_TMY3_BASE.csv\n", - "USA_SD_Huron.Rgnl.AP.726540_TMY3_BASE.csv\n", - "USA_SD_Mitchell.AWOS.726545_TMY3_BASE.csv\n", - "USA_SD_Mobridge.Muni.AP.726685_TMY3_BASE.csv\n", - "USA_SD_Pierre.Muni.AP.726686_TMY3_BASE.csv\n", - "USA_SD_Rapid.City.Rgnl.AP.726620_TMY3_BASE.csv\n", - "USA_SD_Sioux.Falls-Foss.Field.726510_TMY3_BASE.csv\n", - "USA_SD_Watertown.Muni.AP.726546_TMY3_BASE.csv\n", - "USA_SD_Yankton-Chan.Gurney.Muni.AP.726525_TMY3_BASE.csv\n", - "USA_TN_Bristol-TriCities.Rgnl.AP.723183_TMY3_BASE.csv\n", - "USA_TN_Chattanooga-Lovell.Field.AP.723240_TMY3_BASE.csv\n", - "USA_TN_Crossville.Mem.AP.723265_TMY3_BASE.csv\n", - "USA_TN_Dyersburg.Muni.AP.723347_TMY3_BASE.csv\n", - "USA_TN_Jackson-McKellar.Sipes.Rgnl.AP.723346_TMY3_BASE.csv\n", - "USA_TN_Knoxville-McGhee.Tyson.AP.723260_TMY3_BASE.csv\n", - "USA_TN_Memphis.Intl.AP.723340_TMY3_BASE.csv\n", - "USA_TN_Nashville.Intl.AP.723270_TMY3_BASE.csv\n", - "USA_TX_Abilene-Dyess.AFB.690190_TMY3_BASE.csv\n", - "USA_TX_Abilene.Rgnl.AP.722660_TMY3_BASE.csv\n", - "USA_TX_Alice.Intl.AP.722517_TMY3_BASE.csv\n", - "USA_TX_Amarillo.Intl.AP.723630_TMY3_BASE.csv\n", - "USA_TX_Austin-Camp.Mabry.722544_TMY3_BASE.csv\n", - "USA_TX_Austin-Mueller.Muni.AP.722540_TMY3_BASE.csv\n", - "USA_TX_Brownsville-South.Padre.Island.AP.722500_TMY3_BASE.csv\n", - "USA_TX_Childress.Muni.AP.723604_TMY3_BASE.csv\n", - "USA_TX_College.Station-Easterwood.Field.722445_TMY3_BASE.csv\n", - "USA_TX_Corpus.Christi.Intl.AP.722510_TMY3_BASE.csv\n", - "USA_TX_Corpus.Christi.NAS.722515_TMY3_BASE.csv\n", - "USA_TX_Cotulla.AP.722526_TMY3_BASE.csv\n", - "USA_TX_Cox.Field.722587_TMY3_BASE.csv\n", - "USA_TX_Dalhart.Muni.AP.722636_TMY3_BASE.csv\n", - "USA_TX_Dallas-Addison.AP.722598_TMY3_BASE.csv\n", - "USA_TX_Dallas-Fort.Worth.Intl.AP.722590_TMY3_BASE.csv\n", - "USA_TX_Dallas-Love.Field.722583_TMY3_BASE.csv\n", - "USA_TX_Dallas-Redbird.AP.722599_TMY3_BASE.csv\n", - "USA_TX_Del.Rio-Laughlin.AFB.722615_TMY3_BASE.csv\n", - "USA_TX_Del.Rio.722610_TMY3_BASE.csv\n", - "USA_TX_Draughon-Miller.Central.Texas.AP.722577_TMY3_BASE.csv\n", - "USA_TX_El.Paso.Intl.AP.722700_TMY3_BASE.csv\n", - "USA_TX_Fort.Hood.722570_TMY3_BASE.csv\n", - "USA_TX_Fort.Worth-Alliance.AP.722594_TMY3_BASE.csv\n", - "USA_TX_Fort.Worth-Meacham.AP.722596_TMY3_BASE.csv\n", - "USA_TX_Fort.Worth.NAS.722595_TMY3_BASE.csv\n", - "USA_TX_Galveston.722420_TMY3_BASE.csv\n", - "USA_TX_Georgetown.AWOS.722547_TMY3_BASE.csv\n", - "USA_TX_Greenville.Muni.AP.722588_TMY3_BASE.csv\n", - "USA_TX_Harlingen-Valley.Intl.AP.722505_TMY3_BASE.csv\n", - "USA_TX_Hondo.Muni.AP.722533_TMY3_BASE.csv\n", - "USA_TX_Houston-Bush.Intercontinental.AP.722430_TMY3_BASE.csv\n", - "USA_TX_Houston-D.W.Hooks.AP.722429_TMY3_BASE.csv\n", - "USA_TX_Houston-Ellington.AFB.722436_TMY3_BASE.csv\n", - "USA_TX_Houston-William.P.Hobby.AP.722435_TMY3_BASE.csv\n", - "USA_TX_Killeen-Fort.Hood.Rgnl.AP.722576_TMY3_BASE.csv\n", - "USA_TX_Killeen.Muni.AWOS.722575_TMY3_BASE.csv\n", - "USA_TX_Kingsville.722516_TMY3_BASE.csv\n", - "USA_TX_Laredo.Intl.AP.722520_TMY3_BASE.csv\n", - "USA_TX_Longview-Gregg.County.AP.722470_TMY3_BASE.csv\n", - "USA_TX_Lubbock.Intl.AP.722670_TMY3_BASE.csv\n", - "USA_TX_Lufkin-Angelina.Co.AP.722446_TMY3_BASE.csv\n", - "USA_TX_Marfa.AP.722640_TMY3_BASE.csv\n", - "USA_TX_McAllen-Miller.Intl.AP.722506_TMY3_BASE.csv\n", - "USA_TX_McGregor.AWOS.722563_TMY3_BASE.csv\n", - "USA_TX_Midland.Intl.AP.722650_TMY3_BASE.csv\n", - "USA_TX_Mineral.Wells.Muni.AP.722597_TMY3_BASE.csv\n", - "USA_TX_Nacogdoches.AWOS.722499_TMY3_BASE.csv\n", - "USA_TX_Palacios.Muni.AP.722555_TMY3_BASE.csv\n", - "USA_TX_Port.Arthur-Jefferson.Co.AP.722410_TMY3_BASE.csv\n", - "USA_TX_Randolph.AFB.722536_TMY3_BASE.csv\n", - "USA_TX_Rockport-Aransas.Co.AP.722524_TMY3_BASE.csv\n", - "USA_TX_San.Angelo-Mathis.AP.722630_TMY3_BASE.csv\n", - "USA_TX_San.Antonio-Kelly.AFB.722535_TMY3_BASE.csv\n", - "USA_TX_San.Antonio-Stinson.AP.722523_TMY3_BASE.csv\n", - "USA_TX_San.Antonio.Intl.AP.722530_TMY3_BASE.csv\n", - "USA_TX_Tyler-Pounds.Field.722448_TMY3_BASE.csv\n", - "USA_TX_Victoria.Rgnl.AP.722550_TMY3_BASE.csv\n", - "USA_TX_Waco.Rgnl.AP.722560_TMY3_BASE.csv\n", - "USA_TX_Wichita.Falls.Muni.AP.723510_TMY3_BASE.csv\n", - "USA_TX_Wink-Winkler.County.AP.722656_TMY3_BASE.csv\n", - "USA_UT_Blanding.Muni.AP.724723_TMY3_BASE.csv\n", - "USA_UT_Bryce.Canyon.AP.724756_TMY3_BASE.csv\n", - "USA_UT_Cedar.City.Muni.AP.724755_TMY3_BASE.csv\n", - "USA_UT_Delta.Muni.AP.724795_TMY3_BASE.csv\n", - "USA_UT_Hanksville.AP.724735_TMY3_BASE.csv\n", - "USA_UT_Moab-Canyonlands.Field.724776_TMY3_BASE.csv\n", - "USA_UT_Ogden-Hill.AFB.725755_TMY3_BASE.csv\n", - "USA_UT_Ogden-Hinkley.AP.725750_TMY3_BASE.csv\n", - "USA_UT_Provo.Muni.AWOS.725724_TMY3_BASE.csv\n", - "USA_UT_Saint.George.AWOS.724754_TMY3_BASE.csv\n", - "USA_UT_Salt.Lake.City.Intl.AP.725720_TMY3_BASE.csv\n", - "USA_UT_Vernal.AP.725705_TMY3_BASE.csv\n", - "USA_UT_Wendover.USAF.Auxiliary.Field.725810_TMY3_BASE.csv\n", - "USA_VA_Abingdon-Virgina.Highlands.AP.724058_TMY3_BASE.csv\n", - "USA_VA_Arlington-Ronald.Reagan.Washington.Natl.AP.724050_TMY3_BASE.csv\n", - "USA_VA_Blacksburg-Virginia.Tech.AP.724113_TMY3_BASE.csv\n", - "USA_VA_Charlottesville-Albemarle.County.AP.724016_TMY3_BASE.csv\n", - "USA_VA_Danville.Rgnl.AP.724106_TMY3_BASE.csv\n", - "USA_VA_Davison.AAF.724037_TMY3_BASE.csv\n", - "USA_VA_Farmville.Muni.AP.724017_TMY3_BASE.csv\n", - "USA_VA_Franklin.Muni.AP.723083_TMY3_BASE.csv\n", - "USA_VA_Fredericksburg-Shannon.AP.724033_TMY3_BASE.csv\n", - "USA_VA_Hillsville-Twin.County.AP.724107_TMY3_BASE.csv\n", - "USA_VA_Hot.Springs-Ingalls.Field.724115_TMY3_BASE.csv\n", - "USA_VA_Langley.AFB.745980_TMY3_BASE.csv\n", - "USA_VA_Leesburg.Muni.AP-Godfrey.Field.724055_TMY3_BASE.csv\n", - "USA_VA_Lynchburg.Rgnl.AP-Preston.Glen.Field.724100_TMY3_BASE.csv\n", - "USA_VA_Manassas.Muni.AWOS.724036_TMY3_BASE.csv\n", - "USA_VA_Marion-Wytheville-Mountain.Empire.AP.724056_TMY3_BASE.csv\n", - "USA_VA_Martinsville-Blue.Ridge.AP.745985_TMY3_BASE.csv\n", - "USA_VA_Melfa-Accomack.County.AP.724026_TMY3_BASE.csv\n", - "USA_VA_Newport.News.723086_TMY3_BASE.csv\n", - "USA_VA_Norfolk.Intl.AP.723080_TMY3_BASE.csv\n", - "USA_VA_Norfolk.NAS.723085_TMY3_BASE.csv\n", - "USA_VA_Oceana.NAS.723075_TMY3_BASE.csv\n", - "USA_VA_Petersburg.Muni.AP.724014_TMY3_BASE.csv\n", - "USA_VA_Pulaski-New.River.Valley.AP.724116_TMY3_BASE.csv\n", - "USA_VA_Quantico.MCAS.724035_TMY3_BASE.csv\n", - "USA_VA_Richmond.Intl.AP.724010_TMY3_BASE.csv\n", - "USA_VA_Roanoke.Rgnl.AP-Woodrum.Field.724110_TMY3_BASE.csv\n", - "USA_VA_Staunton-Shenandoah.Valley.Rgnl.AP.724105_TMY3_BASE.csv\n", - "USA_VA_Sterling-Washington.Dulles.Intl.AP.724030_TMY3_BASE.csv\n", - "USA_VA_Winchester.Rgnl.AP.724053_TMY3_BASE.csv\n", - "USA_VA_Wise-Lonesome.Pine.AP.724117_TMY3_BASE.csv\n", - "USA_VT_Burlington.Intl.AP.726170_TMY3_BASE.csv\n", - "USA_VT_Montpelier.AP.726145_TMY3_BASE.csv\n", - "USA_VT_Rutland.State.AP.725165_TMY3_BASE.csv\n", - "USA_VT_Springfield-Hartnes.State.AP.726115_TMY3_BASE.csv\n", - "USA_WA_Bellingham.Intl.AP.727976_TMY3_BASE.csv\n", - "USA_WA_Bremerton.National.AP.727928_TMY3_BASE.csv\n", - "USA_WA_Ephrata.Muni.AP.727826_TMY3_BASE.csv\n", - "USA_WA_Fairchild.AFB.727855_TMY3_BASE.csv\n", - "USA_WA_Fort.Lewis-Gray.AAF.742070_TMY3_BASE.csv\n", - "USA_WA_Hanford.727840_TMY3_BASE.csv\n", - "USA_WA_Hoquiam.AP.727923_TMY3_BASE.csv\n", - "USA_WA_Kelso.AP.727924_TMY3_BASE.csv\n", - "USA_WA_Moses.Lake-Grant.County.AP.727827_TMY3_BASE.csv\n", - "USA_WA_Olympia.AP.727920_TMY3_BASE.csv\n", - "USA_WA_Pasco-Tri.Cities.AP.727845_TMY3_BASE.csv\n", - "USA_WA_Port.Angeles-William.R.Fairchild.Intl.AP.727885_TMY3_BASE.csv\n", - "USA_WA_Pullman-Moscow.Rgnl.AP.727857_TMY3_BASE.csv\n", - "USA_WA_Quillayute.State.AP.727970_TMY3_BASE.csv\n", - "USA_WA_Renton.Muni.AP.727934_TMY3_BASE.csv\n", - "USA_WA_Seattle-Boeing.Field.727935_TMY3_BASE.csv\n", - "USA_WA_Seattle-Tacoma.Intl.AP.727930_TMY3_BASE.csv\n", - "USA_WA_Snohomish.County.AP.727937_TMY3_BASE.csv\n", - "USA_WA_Spokane-Felts.Field.727856_TMY3_BASE.csv\n", - "USA_WA_Spokane.Intl.AP.727850_TMY3_BASE.csv\n", - "USA_WA_Stampede.Pass.727815_TMY3_BASE.csv\n", - "USA_WA_Tacoma-McChord.AFB.742060_TMY3_BASE.csv\n", - "USA_WA_Tacoma.Narrows.AP.727938_TMY3_BASE.csv\n", - "USA_WA_The.Dalles.Muni.AP.726988_TMY3_BASE.csv\n", - "USA_WA_Toledo-Winlock-Ed.Carlson.Mem.AP.727926_TMY3_BASE.csv\n", - "USA_WA_Walla.Walla.City-County.AP.727846_TMY3_BASE.csv\n", - "USA_WA_Wenatchee-Pangborn.Mem.AP.727825_TMY3_BASE.csv\n", - "USA_WA_Whidbey.Island.NAS.690230_TMY3_BASE.csv\n", - "USA_WA_Yakima.Air.Terminal-McAllister.Field.727810_TMY3_BASE.csv\n", - "USA_WI_Appleton-Outagamie.County.AP.726457_TMY3_BASE.csv\n", - "USA_WI_Eau.Claire.County.AP.726435_TMY3_BASE.csv\n", - "USA_WI_Ephraim.AWOS.726626_TMY3_BASE.csv\n", - "USA_WI_Green.Bay-Austin.Straubel.Intl.AP.726450_TMY3_BASE.csv\n", - "USA_WI_Janesville-Rock.County.AP.726415_TMY3_BASE.csv\n", - "USA_WI_La.Crosse.Muni.AP.726430_TMY3_BASE.csv\n", - "USA_WI_Lone.Rock.AP.726416_TMY3_BASE.csv\n", - "USA_WI_Madison-Dane.County.Rgnl.AP.726410_TMY3_BASE.csv\n", - "USA_WI_Manitowac.Muni.AWOS.726455_TMY3_BASE.csv\n", - "USA_WI_Marshfield.Muni.AP.726574_TMY3_BASE.csv\n", - "USA_WI_Milwaukee-Mitchell.Intl.AP.726400_TMY3_BASE.csv\n", - "USA_WI_Minocqua-Woodruff-Lee.Field.726404_TMY3_BASE.csv\n", - "USA_WI_Mosinee-Central.Wisconsin.AP.726465_TMY3_BASE.csv\n", - "USA_WI_Phillips-Price.County.AP.726468_TMY3_BASE.csv\n", - "USA_WI_Rice.Lake.Muni.AP.726467_TMY3_BASE.csv\n", - "USA_WI_Sturgeon.Bay-Door.County.AP.726458_TMY3_BASE.csv\n", - "USA_WI_Watertown.Muni.AP.726464_TMY3_BASE.csv\n", - "USA_WI_Wausau.Muni.AP.726463_TMY3_BASE.csv\n", - "USA_WI_Wittman.Rgnl.AP.726456_TMY3_BASE.csv\n", - "USA_WV_Beckley-Raleigh.County.Mem.AP.724120_TMY3_BASE.csv\n", - "USA_WV_Bluefield-Mercer.County.AP.724125_TMY3_BASE.csv\n", - "USA_WV_Charleston-Yeager.AP.724140_TMY3_BASE.csv\n", - "USA_WV_Clarksburg-Harrison.Marion.Rgnl.AP.724175_TMY3_BASE.csv\n", - "USA_WV_Elkins-Randolph.County.AP.724170_TMY3_BASE.csv\n", - "USA_WV_Huntington-Tri.State.Walker.Long.Field.724250_TMY3_BASE.csv\n", - "USA_WV_Lewisburg-Greenbrier.Valley.AP.724127_TMY3_BASE.csv\n", - "USA_WV_Martinsburg-Eastern.WV.Rgnl.AP.724177_TMY3_BASE.csv\n", - "USA_WV_Morgantown.Muni-Hart.Field.724176_TMY3_BASE.csv\n", - "USA_WV_Parkersburg-Wood.County-Gill.Robb.Wilson.AP.724273_TMY3_BASE.csv\n", - "USA_WV_Wheeling-Ohio.County.AP.724275_TMY3_BASE.csv\n", - "USA_WY_Casper-Natrona.County.Intl.AP.725690_TMY3_BASE.csv\n", - "USA_WY_Cheyenne.Muni.AP.725640_TMY3_BASE.csv\n", - "USA_WY_Cody.Muni.AWOS.726700_TMY3_BASE.csv\n", - "USA_WY_Evanston-Uinta.County.AP-Burns.Field.725775_TMY3_BASE.csv\n", - "USA_WY_Gillette-Gillette.County.AP.726650_TMY3_BASE.csv\n", - "USA_WY_Green.River-Greater.Green.River.Intergalactic.Spaceport.725744_TMY3_BASE.csv\n", - "USA_WY_Jackson.Hole.AP.725776_TMY3_BASE.csv\n", - "USA_WY_Lander-Hunt.Field.725760_TMY3_BASE.csv\n", - "USA_WY_Laramie-General.Brees.Field.725645_TMY3_BASE.csv\n", - "USA_WY_Rawlins.Muni.AP.725745_TMY3_BASE.csv\n", - "USA_WY_Riverton.Rgnl.AP.725765_TMY3_BASE.csv\n", - "USA_WY_Sheridan.County.AP.726660_TMY3_BASE.csv\n", - "USA_WY_Worland.Muni.AP.726665_TMY3_BASE.csv\n" - ] - } - ], - "source": [ - "# Convert root page content to BeautifulSoup\n", - "page = requests.get(test_link, timeout=10, verify=False, proxies=None)\n", - "soup = BeautifulSoup(page.content, 'html.parser')\n", - " \n", - "location_tags = soup.body.ul\n", - "\n", - "# Convert bulleted list to DataFrame\n", - "locations = []\n", - "\n", - "for link in location_tags.find_all('a')[1:]:\n", - " # [1:] to skip the link to the parent directory\n", - " csv_link = link['href']\n", - " print(csv_link)\n", - " \n", - " _, _, name, _, _ = csv_link.split('_')\n", - " name = ' '.join(name.split('.')[:-1])\n", - "\n", - " locations.append({'name': name, 'link': test_link + csv_link})\n", - "\n", - "df_locations = pd.DataFrame.from_records(locations)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'USA_WY_Worland.Muni.AP.726665_TMY3_BASE.csv'" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "link['href']" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\rconcep\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\urllib3\\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n", - " InsecureRequestWarning)\n" - ] - } - ], - "source": [ - "full_link = df_locations.iloc[0].link\n", - "\n", - "with requests.Session() as req:\n", - " http_request = req.get(full_link,\n", - " proxies=None, \n", - " timeout=6, \n", - " verify=False,\n", - " stream=True)\n", - " if http_request.status_code != requests.codes.ok:\n", - " http_request.raise_for_status()" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "data_down = http_request.content.decode(http_request.encoding)\n", - "csv_data = pd.read_csv(io.StringIO(data_down))" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 1.019364\n", - "1 0.887116\n", - "2 0.833463\n", - "3 0.818020\n", - "4 0.812916\n", - "5 0.865135\n", - "6 1.087779\n", - "7 1.429298\n", - "8 1.382221\n", - "9 1.220633\n", - "10 1.271489\n", - "11 1.291682\n", - "12 1.215100\n", - "13 1.169484\n", - "14 1.169849\n", - "15 1.252507\n", - "16 1.525574\n", - "17 2.067353\n", - "18 2.371010\n", - "19 2.320927\n", - "20 2.170542\n", - "21 2.013591\n", - "22 1.694778\n", - "23 1.375976\n", - "24 1.058186\n", - "25 0.935044\n", - "26 0.898032\n", - "27 0.888657\n", - "28 0.886075\n", - "29 0.938923\n", - " ... \n", - "8730 2.304117\n", - "8731 2.143907\n", - "8732 2.050409\n", - "8733 1.881184\n", - "8734 1.551405\n", - "8735 1.240520\n", - "8736 0.922002\n", - "8737 0.803810\n", - "8738 0.757236\n", - "8739 0.749157\n", - "8740 0.755866\n", - "8741 0.832948\n", - "8742 1.061529\n", - "8743 1.363395\n", - "8744 1.344902\n", - "8745 1.200316\n", - "8746 1.198637\n", - "8747 1.266138\n", - "8748 1.202129\n", - "8749 1.167227\n", - "8750 1.172657\n", - "8751 1.257689\n", - "8752 1.568955\n", - "8753 2.123067\n", - "8754 2.399626\n", - "8755 2.191529\n", - "8756 2.079864\n", - "8757 1.912630\n", - "8758 1.582459\n", - "8759 1.266258\n", - "Name: Electricity:Facility [kW](Hourly), Length: 8760, dtype: float64" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "csv_data['Electricity:Facility [kW](Hourly)']" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\rconcep\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\urllib3\\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n", - " InsecureRequestWarning)\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
countrylinknamestate
0USAhttps://openei.org/datasets/files/961/pub/COMM...Anchorage Intl APAK
1USAhttps://openei.org/datasets/files/961/pub/COMM...Fairbanks Intl APAK
2USAhttps://openei.org/datasets/files/961/pub/COMM...Anniston Metro APAL
3USAhttps://openei.org/datasets/files/961/pub/COMM...Auburn-Opelika APAL
4USAhttps://openei.org/datasets/files/961/pub/COMM...Birmingham Muni APAL
5USAhttps://openei.org/datasets/files/961/pub/COMM...Dothan Muni APAL
6USAhttps://openei.org/datasets/files/961/pub/COMM...Fort Rucker-Cairns FieldAL
7USAhttps://openei.org/datasets/files/961/pub/COMM...Gadsen Muni AWOSAL
8USAhttps://openei.org/datasets/files/961/pub/COMM...Huntsville Intl AP-Jones FieldAL
9USAhttps://openei.org/datasets/files/961/pub/COMM...Maxwell AFBAL
10USAhttps://openei.org/datasets/files/961/pub/COMM...Mobile-Downtown APAL
11USAhttps://openei.org/datasets/files/961/pub/COMM...Mobile-Rgnl APAL
12USAhttps://openei.org/datasets/files/961/pub/COMM...Montgomery-Dannelly FieldAL
13USAhttps://openei.org/datasets/files/961/pub/COMM...Muscle Shoals Rgnl APAL
14USAhttps://openei.org/datasets/files/961/pub/COMM...Troy Air FieldAL
15USAhttps://openei.org/datasets/files/961/pub/COMM...Tuscaloosa Muni APAL
16USAhttps://openei.org/datasets/files/961/pub/COMM...Batesville AWOSAR
17USAhttps://openei.org/datasets/files/961/pub/COMM...Bentonville AWOSAR
18USAhttps://openei.org/datasets/files/961/pub/COMM...El Dorado-Goodwin FieldAR
19USAhttps://openei.org/datasets/files/961/pub/COMM...Fayetteville-Drake FieldAR
20USAhttps://openei.org/datasets/files/961/pub/COMM...Flippin AWOSAR
21USAhttps://openei.org/datasets/files/961/pub/COMM...Fort Smith Rgnl APAR
22USAhttps://openei.org/datasets/files/961/pub/COMM...Harrison APAR
23USAhttps://openei.org/datasets/files/961/pub/COMM...Hot Springs Mem APAR
24USAhttps://openei.org/datasets/files/961/pub/COMM...Jonesboro Muni APAR
25USAhttps://openei.org/datasets/files/961/pub/COMM...Little Rock-Adams FieldAR
26USAhttps://openei.org/datasets/files/961/pub/COMM...Little Rock AFBAR
27USAhttps://openei.org/datasets/files/961/pub/COMM...Pine Bluff APAR
28USAhttps://openei.org/datasets/files/961/pub/COMM...Rogers AWOSAR
29USAhttps://openei.org/datasets/files/961/pub/COMM...Siloam Spring AWOSAR
...............
906USAhttps://openei.org/datasets/files/961/pub/COMM...Phillips-Price County APWI
907USAhttps://openei.org/datasets/files/961/pub/COMM...Rice Lake Muni APWI
908USAhttps://openei.org/datasets/files/961/pub/COMM...Sturgeon Bay-Door County APWI
909USAhttps://openei.org/datasets/files/961/pub/COMM...Watertown Muni APWI
910USAhttps://openei.org/datasets/files/961/pub/COMM...Wausau Muni APWI
911USAhttps://openei.org/datasets/files/961/pub/COMM...Wittman Rgnl APWI
912USAhttps://openei.org/datasets/files/961/pub/COMM...Beckley-Raleigh County Mem APWV
913USAhttps://openei.org/datasets/files/961/pub/COMM...Bluefield-Mercer County APWV
914USAhttps://openei.org/datasets/files/961/pub/COMM...Charleston-Yeager APWV
915USAhttps://openei.org/datasets/files/961/pub/COMM...Clarksburg-Harrison Marion Rgnl APWV
916USAhttps://openei.org/datasets/files/961/pub/COMM...Elkins-Randolph County APWV
917USAhttps://openei.org/datasets/files/961/pub/COMM...Huntington-Tri State Walker Long FieldWV
918USAhttps://openei.org/datasets/files/961/pub/COMM...Lewisburg-Greenbrier Valley APWV
919USAhttps://openei.org/datasets/files/961/pub/COMM...Martinsburg-Eastern WV Rgnl APWV
920USAhttps://openei.org/datasets/files/961/pub/COMM...Morgantown Muni-Hart FieldWV
921USAhttps://openei.org/datasets/files/961/pub/COMM...Parkersburg-Wood County-Gill Robb Wilson APWV
922USAhttps://openei.org/datasets/files/961/pub/COMM...Wheeling-Ohio County APWV
923USAhttps://openei.org/datasets/files/961/pub/COMM...Casper-Natrona County Intl APWY
924USAhttps://openei.org/datasets/files/961/pub/COMM...Cheyenne Muni APWY
925USAhttps://openei.org/datasets/files/961/pub/COMM...Cody Muni AWOSWY
926USAhttps://openei.org/datasets/files/961/pub/COMM...Evanston-Uinta County AP-Burns FieldWY
927USAhttps://openei.org/datasets/files/961/pub/COMM...Gillette-Gillette County APWY
928USAhttps://openei.org/datasets/files/961/pub/COMM...Green River-Greater Green River Intergalactic ...WY
929USAhttps://openei.org/datasets/files/961/pub/COMM...Jackson Hole APWY
930USAhttps://openei.org/datasets/files/961/pub/COMM...Lander-Hunt FieldWY
931USAhttps://openei.org/datasets/files/961/pub/COMM...Laramie-General Brees FieldWY
932USAhttps://openei.org/datasets/files/961/pub/COMM...Rawlins Muni APWY
933USAhttps://openei.org/datasets/files/961/pub/COMM...Riverton Rgnl APWY
934USAhttps://openei.org/datasets/files/961/pub/COMM...Sheridan County APWY
935USAhttps://openei.org/datasets/files/961/pub/COMM...Worland Muni APWY
\n", - "

936 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " country link \\\n", - "0 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "1 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "2 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "3 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "4 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "5 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "6 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "7 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "8 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "9 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "10 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "11 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "12 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "13 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "14 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "15 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "16 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "17 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "18 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "19 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "20 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "21 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "22 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "23 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "24 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "25 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "26 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "27 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "28 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "29 USA https://openei.org/datasets/files/961/pub/COMM... \n", - ".. ... ... \n", - "906 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "907 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "908 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "909 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "910 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "911 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "912 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "913 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "914 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "915 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "916 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "917 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "918 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "919 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "920 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "921 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "922 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "923 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "924 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "925 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "926 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "927 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "928 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "929 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "930 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "931 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "932 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "933 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "934 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "935 USA https://openei.org/datasets/files/961/pub/COMM... \n", - "\n", - " name state \n", - "0 Anchorage Intl AP AK \n", - "1 Fairbanks Intl AP AK \n", - "2 Anniston Metro AP AL \n", - "3 Auburn-Opelika AP AL \n", - "4 Birmingham Muni AP AL \n", - "5 Dothan Muni AP AL \n", - "6 Fort Rucker-Cairns Field AL \n", - "7 Gadsen Muni AWOS AL \n", - "8 Huntsville Intl AP-Jones Field AL \n", - "9 Maxwell AFB AL \n", - "10 Mobile-Downtown AP AL \n", - "11 Mobile-Rgnl AP AL \n", - "12 Montgomery-Dannelly Field AL \n", - "13 Muscle Shoals Rgnl AP AL \n", - "14 Troy Air Field AL \n", - "15 Tuscaloosa Muni AP AL \n", - "16 Batesville AWOS AR \n", - "17 Bentonville AWOS AR \n", - "18 El Dorado-Goodwin Field AR \n", - "19 Fayetteville-Drake Field AR \n", - "20 Flippin AWOS AR \n", - "21 Fort Smith Rgnl AP AR \n", - "22 Harrison AP AR \n", - "23 Hot Springs Mem AP AR \n", - "24 Jonesboro Muni AP AR \n", - "25 Little Rock-Adams Field AR \n", - "26 Little Rock AFB AR \n", - "27 Pine Bluff AP AR \n", - "28 Rogers AWOS AR \n", - "29 Siloam Spring AWOS AR \n", - ".. ... ... \n", - "906 Phillips-Price County AP WI \n", - "907 Rice Lake Muni AP WI \n", - "908 Sturgeon Bay-Door County AP WI \n", - "909 Watertown Muni AP WI \n", - "910 Wausau Muni AP WI \n", - "911 Wittman Rgnl AP WI \n", - "912 Beckley-Raleigh County Mem AP WV \n", - "913 Bluefield-Mercer County AP WV \n", - "914 Charleston-Yeager AP WV \n", - "915 Clarksburg-Harrison Marion Rgnl AP WV \n", - "916 Elkins-Randolph County AP WV \n", - "917 Huntington-Tri State Walker Long Field WV \n", - "918 Lewisburg-Greenbrier Valley AP WV \n", - "919 Martinsburg-Eastern WV Rgnl AP WV \n", - "920 Morgantown Muni-Hart Field WV \n", - "921 Parkersburg-Wood County-Gill Robb Wilson AP WV \n", - "922 Wheeling-Ohio County AP WV \n", - "923 Casper-Natrona County Intl AP WY \n", - "924 Cheyenne Muni AP WY \n", - "925 Cody Muni AWOS WY \n", - "926 Evanston-Uinta County AP-Burns Field WY \n", - "927 Gillette-Gillette County AP WY \n", - "928 Green River-Greater Green River Intergalactic ... WY \n", - "929 Jackson Hole AP WY \n", - "930 Lander-Hunt Field WY \n", - "931 Laramie-General Brees Field WY \n", - "932 Rawlins Muni AP WY \n", - "933 Riverton Rgnl AP WY \n", - "934 Sheridan County AP WY \n", - "935 Worland Muni AP WY \n", - "\n", - "[936 rows x 4 columns]" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_locations = get_commercial_load_locations(ssl_verify=False)\n", - "df_locations" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array(['AK', 'AL', 'AR', 'AZ', 'CA', 'CO', 'CT', 'DE', 'FL', 'GA', 'HI',\n", - " 'IA', 'ID', 'IL', 'IN', 'KS', 'KY', 'LA', 'MA', 'MD', 'ME', 'MI',\n", - " 'MN', 'MO', 'MS', 'MT', 'NC', 'ND', 'NE', 'NH', 'NJ', 'NM', 'NV',\n", - " 'NY', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT',\n", - " 'VA', 'VT', 'WA', 'WI', 'WV', 'WY'], dtype=object)" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_locations.state.unique()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/es_gui/readutdata2.py b/es_gui/readutdata2.py deleted file mode 100644 index cc26f178..00000000 --- a/es_gui/readutdata2.py +++ /dev/null @@ -1,257 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Created on Tue Nov 13 14:48:42 2018 - -@author: tunguy -""" -import urllib.request -import os -import pandas as pd -from pandas.io.json import json_normalize -import numpy as np -import json -import holidays -from datetime import datetime - -def download_utdata(**kwargs): - url_iou="https://openei.org/doe-opendata/dataset/53490bd4-671d-416d-aae2-de844d2d2738/resource/500990ae-ada2-4791-9206-01dc68e36f12/download/iouzipcodes2017.csv" - url_noniou="https://openei.org/doe-opendata/dataset/53490bd4-671d-416d-aae2-de844d2d2738/resource/672523aa-0d8a-4e6c-8a10-67e311bb1691/download/noniouzipcodes2017.csv" - - proxy_dict={} - http_proxy_on=True - https_proxy_on=True - succeed=True - try: - proxy_dict["http"]=kwargs["http_proxy"] - except: - http_proxy_on=False - - try: - proxy_dict["https"]=kwargs["https_proxy"] - except: - https_proxy_on=False - try: - des_dir = kwargs["dirloc"] - except: - des_dir="./" - - if not os.path.exists(des_dir): - os.makedirs(des_dir) - - des_file_iou = des_dir+"iouzipcodes2017.csv" - des_file_noniou = des_dir+"noniouzipcodes2017.csv" - proxy_support = urllib.request.ProxyHandler(proxy_dict) - opener = urllib.request.build_opener(proxy_support) - urllib.request.install_opener(opener) - try: - urllib.request.urlretrieve(url_iou, des_file_iou) - except urllib.error.URLError as e1: - print(e1) - succeed=False - try: - urllib.request.urlretrieve(url_noniou, des_file_noniou) - except urllib.error.URLError as e2: - print(e2) - suceed=False - - if succeed: - df_iou = pd.read_csv(des_file_iou) - df_noniou= pd.read_csv(des_file_noniou) - utdataframe=pd.concat([df_iou,df_noniou],ignore_index=True) - else: - utdataframe=pd.DataFrame() - - return utdataframe - -def search_utdata_byname(**kwargs): - - try: - utdataframe=kwargs["utdataframe"] - except: - utdataframe=pd.DataFrame() - - try: - utname=kwargs["utname"] - except: - utname="na" - - if len(utdataframe)>0: - utdatabyname=utdataframe.loc[utdataframe['utility_name']==utname] - utdatabyname=utdatabyname[['eiaid','utility_name','state','ownership']] - utdatabyname=utdatabyname.drop_duplicates() - else: - utdatabyname=pd.Dataframe() - - return utdatabyname - -def search_utdata_byzip(**kwargs): - - try: - utdataframe=kwargs["utdataframe"] - except: - utdataframe=pd.DataFrame() - - try: - utzip=kwargs["utzip"] - except: - utzip="na" - - if len(utdataframe)>0: - utdatabyzip=utdataframe.loc[utdataframe['zip']==utzip] - utdatabyzip=utdatabyzip[['eiaid','utility_name','state','ownership']] - utdatabyzip=utdatabyzip.drop_duplicates() - else: - utdatabyzip=pd.Dataframe() - - return utdatabyzip - -def search_utdata_bystate(**kwargs): - - try: - utdataframe=kwargs["utdataframe"] - except: - utdataframe=pd.DataFrame() - - try: - utstate=kwargs["utstate"] - except: - utstate="na" - - if len(utdataframe)>0: - utdatabystate=utdataframe.loc[utdataframe['state']==utstate] - utdatabystate=utdatabystate[['eiaid','utility_name','state','ownership']] - utdatabystate=utdatabystate.drop_duplicates() - else: - utdatabystate=pd.Dataframe() - - return utdatabystate - -def find_utschld(**kwargs): - proxy_dict={} - http_proxy_on=True - https_proxy_on=True - succeed=True - - try: - proxy_dict["http"]=kwargs["http_proxy"] - except: - http_proxy_on=False - - try: - proxy_dict["https"]=kwargs["https_proxy"] - except: - https_proxy_on=False - - try: - eia_id="&eia="+kwargs["eiaid"] - except: - eia_id="no_id" - - try: - api_key="&api_key="+kwargs["api_key"] - except: - api_key="no_key" - - root_url="https://api.openei.org/utility_rates?" - version="version=5" - request_format="&format=json" - detail="&detail=full" - url_openei=root_url+version+request_format+api_key+eia_id+detail - print(url_openei) - - try: - des_dir = kwargs["dirloc"] - except: - des_dir="./" - - if not os.path.exists(des_dir): - os.makedirs(des_dir) - - des_file=des_dir+"schedule.json" - - proxy_support = urllib.request.ProxyHandler(proxy_dict) - opener = urllib.request.build_opener(proxy_support) - urllib.request.install_opener(opener) - try: - urllib.request.urlretrieve(url_openei, des_file) - except urllib.error.URLError as e: - print(e) - succeed=False - - schld=json.loads(open(des_file).read()) -# schld_data=json_normalize(schld['items']) - return schld['items'] # this is a list of schedules in which each element contains the full details of a schedule. - -def input_df(year,wkday_er,wkend_er,wkday_dr,wkend_dr,flat_dr,nem): - """ - Generate a Pandas dataframe from the downloaded rate schedule data. - :param year: an integer. - :param wkday_er: a 12x24 NumPy array, wkday_er[i][j] is the energy price in $/kWh during hour j+1 in a weekday of month i+1 - :param wkend_er: a 12x24 NumPy array, wkend_er[i][j] is the energy price in $/kWh during hour j+1 in a weekend day or a holiday of month i+1 - :param wkday_dr: a 12x24 NumPy array, wkday_dr[i][j] is the demand price in $/kW during hour j+1 in a weekday of month i+1 - :param wkend_dr: a 12x24 NumPy array, wkend_dr[i][j] is the demand price in $/kW during hour j+1 in a weekend day or a holiday of month i+1 - :param flat_dr: a float represents the flat demand price in $/kW for all hours of a month. - :param nem: a float represents the netmetering sell price in $/kWh - :return opt_df: a Pandas dataframe with the following template:|year|month|day|hour|toue|toud|flatd|neme| - """ - column_list=['year','month','day','hour','toue','toud','flatd','neme'] - data_list=[] - nday={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31} - - if int(year)%4==0: - nday[2]=29 - - us_holidays=holidays.UnitedStates() - for month in range(1,13): - for day in range(1,nday[month]+1): - date=datetime(year, month, day) - dayofweek = date.weekday() - for hour in range(1,25): - if (date in us_holidays) or (dayofweek>4): - if wkend_dr.size>1: - row=[year,month,day,hour,wkend_er[month-1][hour-1],wkend_dr[month-1][hour-1],flat_dr,nem] - else: - row=[year,month,day,hour,wkend_er[month-1][hour-1],0,flat_dr,nem] - else: - if wkday_dr.size>1: - row=[year,month,day,hour,wkday_er[month-1][hour-1],wkday_dr[month-1][hour-1],flat_dr,nem] - else: - row=[year,month,day,hour,wkday_er[month-1][hour-1],0,flat_dr,nem] - - data_list.append(row) - opt_df=pd.DataFrame(data=data_list,columns=column_list) - pd.DataFrame() - return opt_df - - - - -# Example -utdataframe = download_utdata(https_proxy="wwwproxy.sandia.gov:80") -utdata=search_utdata_byzip(utdataframe=utdataframe,utzip=87185) -utid=utdata['eiaid'].values -print(utid) -schld_data=find_utschld(https_proxy="wwwproxy.sandia.gov:80",eiaid=str(utid[0]),api_key="QqYsZ7wI57tBiNaqc4IZfffvgWaorWER6J3D69tw") -print(len(schld_data)) -print(schld_data[1].keys()) - -wkday_schld=schld_data[1]['energyweekdayschedule'] -wkend_schld=schld_data[1]['energyweekendschedule'] -energy_rate=schld_data[1]['energyratestructure'] -#print(energy_rate) -wkday_er_list=[] -wkend_er_list=[] -for i in range(12): - wkday_row=[energy_rate[wkday_schld[i][j]][0]['rate'] for j in range(24)] - wkend_row=[energy_rate[wkend_schld[i][j]][0]['rate'] for j in range(24)] - wkday_er_list.append(wkday_row) - wkend_er_list.append(wkend_row) -wkday_er=np.array(wkday_er_list) -wkend_er=np.array(wkend_er_list) -wkday_dr=np.empty([]) -wkend_dr=np.empty([]) -flat_dr=20 -nem=0.03 -year=2017 -opt_df=input_df(year,wkday_er,wkend_er,wkday_dr,wkend_dr,flat_dr,nem) -print(opt_df) \ No newline at end of file