{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import matplotlib as mpl\n", "from datetime import datetime, timedelta\n", "import pytz\n", "import xarray as xr\n", "import metpy as mpy\n", "from pandas.tseries.offsets import *\n", "import metpy.calc as mpcalc\n", "from metpy.units import units" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "folder = 'C:/Users/Matthew/Documents/summerintership/met_tower/'\n", "lpt2= 'HOBO_lpt_1631UTC_20170825.csv'\n", "lpt3 = 'HOBO_lpt_91617_18UTC.csv'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reading in each file with Pandas and converting the time column into a datetime64 index" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df_lpt2 = pd.read_csv((folder + lpt2),skiprows = 1, index_col = 'Date Time, GMT+00:00', na_values = -888.880)\n", "df_lpt3 = pd.read_csv((folder + lpt3),skiprows = 1, index_col = 'Date Time, GMT+00:00', na_values = -888.880, skipfooter = 4, engine = 'python')\n", "\n", "df_lpt2_index = pd.DatetimeIndex(df_lpt2.index)\n", "df_lpt2.index = pd.to_datetime(df_lpt2_index)\n", "\n", "df_lpt3_index = pd.DatetimeIndex(df_lpt3.index)\n", "df_lpt3.index = pd.to_datetime(df_lpt3_index)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Appending all attributes from the 2 datafiles into 1 datafile" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "time_lpt = df_lpt2.index.append(df_lpt3.index)\n", "temp_lpt = df_lpt2['Temp, °C (LGR S/N: 655340, SEN S/N: 20178069)'].append(df_lpt3['Temp, °C (LGR S/N: 655340, SEN S/N: 20178069)'])\n", "rad_lpt = df_lpt2['Solar Radiation, W/m² (LGR S/N: 655340, SEN S/N: 634668)'].append(df_lpt3['Solar Radiation, W/m² (LGR S/N: 655340, SEN S/N: 634668)'])\n", "rh_lpt = df_lpt2['RH, % (LGR S/N: 655340, SEN S/N: 20178069)'].append(df_lpt3['RH, % (LGR S/N: 655340, SEN S/N: 20178069)'])\n", "pres_lpt = df_lpt2['Pressure, mbar (LGR S/N: 655340, SEN S/N: 749928)'].append(df_lpt3['Pressure, mbar (LGR S/N: 655340, SEN S/N: 749928)'])\n", "rain_lpt = df_lpt2['Rain, mm (LGR S/N: 655340, SEN S/N: 533283)'].append(df_lpt3['Rain, mm (LGR S/N: 655340, SEN S/N: 533283)'])\n", "PAR_lpt = df_lpt2['PAR, uE (LGR S/N: 655340, SEN S/N: 674970)'].append(df_lpt3['PAR, uE (LGR S/N: 655340, SEN S/N: 674970)'])\n", "wsp_lpt = df_lpt2['Wind Speed, m/s (LGR S/N: 655340, SEN S/N: 747746)'].append(df_lpt3['Wind Speed, m/s (LGR S/N: 655340, SEN S/N: 747746)'])\n", "wgsp_lpt = df_lpt2['Gust Speed, m/s (LGR S/N: 655340, SEN S/N: 747746)'].append(df_lpt3['Gust Speed, m/s (LGR S/N: 655340, SEN S/N: 747746)'])\n", "wdir_lpt = df_lpt2['Wind Direction, ø (LGR S/N: 655340, SEN S/N: 747746)'].append(df_lpt3['Wind Direction, ø (LGR S/N: 655340, SEN S/N: 747746)'])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Converting each DF into an xarray data array" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "rad_lpt = xr.DataArray(rad_lpt*units('W/m**2'), name= ['Solar Radiation'], coords=[time_lpt], dims=['time'])\n", "pres_lpt = xr.DataArray(pres_lpt*units('hPa'), name= ['Pressure'], coords=[time_lpt], dims=['time'])\n", "rh_lpt = xr.DataArray(rh_lpt, name= ['Relative Humidity'], coords=[time_lpt], dims=['time'])\n", "temp_lpt = xr.DataArray(temp_lpt*units('degC'), name= ['Temperature'], coords=[time_lpt], dims=['time'])\n", "rain_lpt = xr.DataArray(rain_lpt*units('mm'), name= ['Rain Gauge'], coords=[time_lpt], dims=['time'])\n", "par_lpt = xr.DataArray(PAR_lpt*units('W/m**2'), name= ['PAR'], coords=[time_lpt], dims=['time'])\n", "wsp_lpt = xr.DataArray(wsp_lpt*units('m/s'), name= ['Wind Speed'], coords=[time_lpt], dims=['time'])\n", "wgsp_lpt = xr.DataArray(wgsp_lpt*units('m/s'), name= ['Wind Gust Speed'], coords=[time_lpt], dims=['time'])\n", "wdir_lpt = xr.DataArray(wdir_lpt, name= ['Wind Direction'], coords=[time_lpt], dims=['time'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Giving each data array information regarding its units" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "temp_lpt.attrs['units'] = 'degC'\n", "rad_lpt.attrs['units'] = 'W/m2'\n", "pres_lpt.attrs['units'] = 'hPa'\n", "rh_lpt.attrs['units'] = '%'\n", "rain_lpt.attrs['units'] = 'mm'\n", "par_lpt.attrs['units'] = 'W/m2'\n", "wsp_lpt.attrs['units'] = 'm/s'\n", "wgsp_lpt.attrs['units'] = 'm/s'\n", "wdir_lpt.attrs['units'] = 'degrees'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Creating a dataset and adding each data array to complete the Lake Placid Turn dataset" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\n", "Dimensions: (time: 34256)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2017-08-17T12:52:07 ...\n", "Data variables:\n", " Temperature (time) float64 18.89 18.87 18.94 18.94 19.03 19.15 ...\n", " Solar Radiation (time) float64 295.6 476.9 434.4 310.6 310.6 225.6 ...\n", " Pressure (time) float64 948.0 948.0 948.1 948.4 948.4 948.2 ...\n", " Relative Humidity (time) float64 51.2 51.3 51.8 50.3 50.5 50.3 48.6 ...\n", " Rain Gauge (time) float64 nan 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ...\n", " PAR (time) float64 601.2 666.2 783.7 581.2 666.2 496.2 ...\n", " Wind Speed (time) float64 1.3 0.37 0.0 0.93 0.0 0.37 0.0 0.93 ...\n", " Wind Gust Speed (time) float64 2.04 1.11 1.11 2.04 0.19 0.74 0.56 ...\n", " Wind Direction (time) float64 293.4 328.5 355.2 30.9 39.3 54.8 71.6 ...\n", "Attributes:\n", " Title: Lake Placid Turn Met Tower\n", " Sub Title: CPOC Field Campaign" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds_lpt = temp_lpt.to_dataset(name='Temperature')\n", "ds_lpt['Solar Radiation'] = rad_lpt\n", "ds_lpt['Pressure']= pres_lpt\n", "ds_lpt['Relative Humidity'] = rh_lpt\n", "ds_lpt['Rain Gauge']= rain_lpt\n", "ds_lpt['PAR']= par_lpt\n", "ds_lpt['Wind Speed'] = wsp_lpt\n", "ds_lpt['Wind Gust Speed'] = wgsp_lpt\n", "ds_lpt['Wind Direction']= wdir_lpt\n", "ds_lpt.attrs['Title'] = 'Lake Placid Turn Met Tower'\n", "ds_lpt.attrs['Sub Title'] = 'CPOC Field Campaign'\n", "ds_lpt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Converting the xarray data set into a netCDF file for easier distribution and use" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "ds_lpt.to_netcdf('C:/Users/Matthew/Documents/summerintership/met_tower/lpt.nc')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.0" } }, "nbformat": 4, "nbformat_minor": 2 }