{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import datetime as dt\n",
    "import matplotlib.gridspec as gridspec\n",
    "from matplotlib.colors import LogNorm\n",
    "from salishsea_tools import evaltools as et\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.894 34.086\n",
      "5.35 32.915\n",
      "1.504 32.291\n"
     ]
    }
   ],
   "source": [
    "df=et.loadPSFCTD()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(Lat,Lon)= 0.0 0.0  not matched to domain\n",
      "(Lat,Lon)= 48.44 -123.34  not matched to domain\n",
      "(Lat,Lon)= 48.44 -123.32  not matched to domain\n",
      "(Lat,Lon)= 48.46 -123.34  not matched to domain\n",
      "(Lat,Lon)= 49.29 -124.4598  not matched to domain\n",
      "(Lat,Lon)= 49.2909 -124.3619  not matched to domain\n",
      "(Lat,Lon)= 49.2915 -124.3626  not matched to domain\n",
      "(Lat,Lon)= 49.855 -123.363333  not matched to domain\n",
      "progress: 0.0%\n",
      "progress: 1.067616418232326%\n",
      "progress: 2.135232836464652%\n",
      "progress: 3.2028492546969787%\n",
      "progress: 4.270465672929304%\n",
      "progress: 5.33808209116163%\n",
      "progress: 6.405698509393957%\n",
      "progress: 7.473314927626283%\n",
      "progress: 8.540931345858608%\n",
      "progress: 9.608547764090936%\n",
      "progress: 10.67616418232326%\n",
      "progress: 11.743780600555588%\n",
      "progress: 12.811397018787915%\n",
      "progress: 13.879013437020241%\n",
      "progress: 14.946629855252565%\n",
      "progress: 16.014246273484893%\n",
      "progress: 17.081862691717216%\n",
      "progress: 18.149479109949546%\n",
      "progress: 19.217095528181872%\n",
      "progress: 20.2847119464142%\n",
      "progress: 21.35232836464652%\n",
      "progress: 22.419944782878847%\n",
      "progress: 23.487561201111177%\n",
      "progress: 24.555177619343503%\n",
      "progress: 25.62279403757583%\n",
      "progress: 26.690410455808156%\n",
      "progress: 27.758026874040482%\n",
      "progress: 28.825643292272808%\n",
      "progress: 29.89325971050513%\n",
      "progress: 30.960876128737457%\n",
      "progress: 32.02849254696979%\n",
      "progress: 33.096108965202106%\n",
      "progress: 34.16372538343443%\n",
      "progress: 35.23134180166676%\n",
      "progress: 36.29895821989909%\n",
      "progress: 37.36657463813142%\n",
      "progress: 38.434191056363744%\n",
      "progress: 39.50180747459607%\n",
      "progress: 40.5694238928284%\n",
      "progress: 41.637040311060716%\n",
      "progress: 42.70465672929304%\n",
      "progress: 43.77227314752537%\n",
      "progress: 44.839889565757694%\n",
      "progress: 45.90750598399003%\n",
      "progress: 46.975122402222354%\n",
      "progress: 48.04273882045468%\n",
      "progress: 49.110355238687006%\n",
      "progress: 50.177971656919325%\n",
      "progress: 51.24558807515166%\n",
      "progress: 52.31320449338398%\n",
      "progress: 53.38082091161631%\n",
      "progress: 54.44843732984863%\n",
      "progress: 55.516053748080964%\n",
      "progress: 56.58367016631328%\n",
      "progress: 57.651286584545616%\n",
      "progress: 58.718903002777935%\n",
      "progress: 59.78651942101026%\n",
      "progress: 60.854135839242595%\n",
      "progress: 61.921752257474914%\n",
      "progress: 62.98936867570725%\n",
      "progress: 64.05698509393957%\n",
      "progress: 65.12460151217189%\n",
      "progress: 66.19221793040421%\n",
      "progress: 67.25983434863655%\n",
      "progress: 68.32745076686886%\n",
      "progress: 69.3950671851012%\n",
      "progress: 70.46268360333352%\n",
      "progress: 71.53030002156585%\n",
      "progress: 72.59791643979818%\n",
      "progress: 73.6655328580305%\n",
      "progress: 74.73314927626284%\n",
      "progress: 75.80076569449515%\n",
      "progress: 76.86838211272749%\n",
      "progress: 77.93599853095981%\n",
      "progress: 79.00361494919214%\n",
      "progress: 80.07123136742446%\n",
      "progress: 81.1388477856568%\n",
      "progress: 82.20646420388911%\n",
      "progress: 83.27408062212143%\n",
      "progress: 84.34169704035376%\n",
      "progress: 85.40931345858608%\n",
      "progress: 86.47692987681842%\n",
      "progress: 87.54454629505074%\n",
      "progress: 88.61216271328307%\n",
      "progress: 89.67977913151539%\n",
      "progress: 90.74739554974772%\n",
      "progress: 91.81501196798006%\n",
      "progress: 92.88262838621237%\n",
      "progress: 93.95024480444471%\n",
      "progress: 95.01786122267703%\n",
      "progress: 96.08547764090936%\n",
      "progress: 97.15309405914168%\n",
      "progress: 98.22071047737401%\n",
      "progress: 99.28832689560633%\n"
     ]
    }
   ],
   "source": [
    "# path to model files:\n",
    "PATH= '/results/SalishSea/nowcast-green.201812/'\n",
    "\n",
    "# start and end dates for analysis:\n",
    "start_date = dt.datetime(2015,1,1)\n",
    "end_date = dt.datetime(2018,1,1)\n",
    "\n",
    "# number of days per model file:\n",
    "flen=1\n",
    "\n",
    "# dictionary mapping desired model variables to the file types where they are found\n",
    "filemap={'vosaline':'grid_T','votemper':'grid_T'}\n",
    "\n",
    "# dictionary mapping model file types to their time resolution in hours (1 is hourly files, 24 is daily)\n",
    "fdict={'ptrc_T':1,'grid_T':1}\n",
    "\n",
    "# results format\n",
    "# -- nowcast: files like 01jan15/SalishSea_1h_20150101_20150101_ptrc_T.nc\n",
    "# -- long: files like SalishSea_1h_20150206_20150804_ptrc_T_20150427-20150506.nc, all in one directory\n",
    "namfmt='nowcast'\n",
    "\n",
    "data=et.matchData(df,filemap,fdict,start_date,end_date,namfmt,PATH,flen,preIndexed=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '$\\\\Theta$ ($^{\\\\circ}$C)')"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 540x234 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize = (7.5,3.25))\n",
    "gs1=gridspec.GridSpec(1,4,left=.08,right=.91,bottom=.1,top=.97,\n",
    "                      wspace=.2,width_ratios=[1,.1,1,.1])\n",
    "axT=fig.add_subplot(gs1[0,0])\n",
    "axS = fig.add_subplot(gs1[0,2])\n",
    "gscb=gridspec.GridSpecFromSubplotSpec(7,1,subplot_spec=gs1[:,3])\n",
    "axcb = fig.add_subplot(gscb[1:-1])\n",
    "\n",
    "axS.plot((0,36),(0,36),'k-',alpha=.2)\n",
    "axT.plot((0,25),(0,25),'k-',alpha=.2)\n",
    "\n",
    "iiT=(~np.isnan(data['CT']))&(~np.isnan(data['mod_votemper']))\n",
    "iiS=(~np.isnan(data['SA']))&(~np.isnan(data['mod_vosaline']))\n",
    "counts, xedges, yedges, m1=axT.hist2d(data.loc[iiT,['CT']].values.flatten(),\n",
    "                                      data.loc[iiT,['mod_votemper']].values.flatten(),bins=25*3,norm=LogNorm())\n",
    "counts, xedges, yedges, m2=axS.hist2d(data.loc[iiS,['SA']].values.flatten(),\n",
    "                                      data.loc[iiS,['mod_vosaline']].values.flatten(),bins=36*3,norm=LogNorm())\n",
    "\n",
    "cb=fig.colorbar(m1,cax=axcb)\n",
    "cb.set_label('Count')\n",
    "\n",
    "ntick=np.arange(0,36,10)\n",
    "ntickl=[str(i) for i in ntick]\n",
    "axS.set_xlim((0,36))\n",
    "axS.set_ylim((0,36))\n",
    "axS.set_xticks(ntick)\n",
    "axS.set_xticklabels(ntickl)\n",
    "axS.set_yticks(ntick)\n",
    "axS.set_yticklabels(ntickl)\n",
    "    \n",
    "stick=np.arange(0,25,10)\n",
    "stickl=[str(i) for i in stick]\n",
    "axT.set_xlim((0,25))\n",
    "axT.set_ylim((0,25))\n",
    "axT.set_xticks(stick)\n",
    "axT.set_xticklabels(stickl)\n",
    "axT.set_yticks(stick)\n",
    "axT.set_yticklabels(stickl)\n",
    "    \n",
    "for ax in (axT,axS):\n",
    "    ax.set_aspect(1, adjustable='box')\n",
    "    \n",
    "axT.set_ylabel('Modeled',fontsize=12)\n",
    "axS.set_ylabel('Modeled',fontsize=12)\n",
    "axT.set_xlabel('Observed',fontsize=12)\n",
    "axS.set_xlabel('Observed',fontsize=12)\n",
    "axS.set_xlim(5,35)\n",
    "axS.set_ylim(5,35)\n",
    "\n",
    "axS.set_title('S$_A$ (g/kg)',fontsize=12)\n",
    "axT.set_title('$\\Theta$ ($^{\\circ}$C)',fontsize=12)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['ID', 'Patrol', 'chl', 'conductivity', 'datetime', 'Z', 'Lat', 'Lon',\n",
       "       'o2SAT', 'o2uM', 'pressure', 'SA', 'station', 'temperature', 'dtUTC',\n",
       "       'CT', 'j', 'i', 'mod_vosaline', 'mod_votemper', 'k'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "data[['station','ID', 'Patrol','Lat', 'Lon','Z','dtUTC','i', 'j', 'k',\n",
    "       'pressure','chl', 'o2SAT', 'o2uM', 'conductivity', 'temperature', 'SA', \n",
    "      'CT']].to_csv('/data/eolson/results/MEOPAR/oldDBs/PSFCTD.csv',index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/eolson/anaconda3/envs/py39/lib/python3.9/site-packages/IPython/core/interactiveshell.py:3165: DtypeWarning: Columns (1) have mixed types.Specify dtype option on import or set low_memory=False.\n",
      "  has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n"
     ]
    }
   ],
   "source": [
    "test=pd.read_csv('/data/eolson/results/MEOPAR/oldDBs/PSFCTD.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>station</th>\n",
       "      <th>ID</th>\n",
       "      <th>Patrol</th>\n",
       "      <th>Lat</th>\n",
       "      <th>Lon</th>\n",
       "      <th>Z</th>\n",
       "      <th>dtUTC</th>\n",
       "      <th>i</th>\n",
       "      <th>j</th>\n",
       "      <th>k</th>\n",
       "      <th>pressure</th>\n",
       "      <th>chl</th>\n",
       "      <th>o2SAT</th>\n",
       "      <th>o2uM</th>\n",
       "      <th>conductivity</th>\n",
       "      <th>temperature</th>\n",
       "      <th>SA</th>\n",
       "      <th>CT</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>PR-1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>200</td>\n",
       "      <td>667</td>\n",
       "      <td>0</td>\n",
       "      <td>1.33</td>\n",
       "      <td>NaN</td>\n",
       "      <td>85.9</td>\n",
       "      <td>270.6</td>\n",
       "      <td>2.5319</td>\n",
       "      <td>8.431</td>\n",
       "      <td>23.394</td>\n",
       "      <td>8.602689</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>PR-1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>200</td>\n",
       "      <td>667</td>\n",
       "      <td>1</td>\n",
       "      <td>1.99</td>\n",
       "      <td>NaN</td>\n",
       "      <td>85.2</td>\n",
       "      <td>264.6</td>\n",
       "      <td>2.6946</td>\n",
       "      <td>8.602</td>\n",
       "      <td>24.930</td>\n",
       "      <td>8.753593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>PR-1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>200</td>\n",
       "      <td>667</td>\n",
       "      <td>2</td>\n",
       "      <td>3.03</td>\n",
       "      <td>NaN</td>\n",
       "      <td>84.8</td>\n",
       "      <td>262.2</td>\n",
       "      <td>2.7500</td>\n",
       "      <td>8.636</td>\n",
       "      <td>25.469</td>\n",
       "      <td>8.779866</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>PR-1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>200</td>\n",
       "      <td>667</td>\n",
       "      <td>3</td>\n",
       "      <td>4.04</td>\n",
       "      <td>NaN</td>\n",
       "      <td>84.5</td>\n",
       "      <td>260.8</td>\n",
       "      <td>2.7872</td>\n",
       "      <td>8.615</td>\n",
       "      <td>25.863</td>\n",
       "      <td>8.752570</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>PR-1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>200</td>\n",
       "      <td>667</td>\n",
       "      <td>4</td>\n",
       "      <td>5.03</td>\n",
       "      <td>NaN</td>\n",
       "      <td>84.2</td>\n",
       "      <td>259.9</td>\n",
       "      <td>2.7960</td>\n",
       "      <td>8.597</td>\n",
       "      <td>25.966</td>\n",
       "      <td>8.732706</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>468328</th>\n",
       "      <td>BS-7</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>49.483333</td>\n",
       "      <td>-124.766667</td>\n",
       "      <td>37.0</td>\n",
       "      <td>2017-10-19 21:49:51</td>\n",
       "      <td>125</td>\n",
       "      <td>605</td>\n",
       "      <td>22</td>\n",
       "      <td>37.39</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.2862</td>\n",
       "      <td>10.025</td>\n",
       "      <td>29.801</td>\n",
       "      <td>10.107736</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>468329</th>\n",
       "      <td>BS-7</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>49.483333</td>\n",
       "      <td>-124.766667</td>\n",
       "      <td>38.0</td>\n",
       "      <td>2017-10-19 21:49:51</td>\n",
       "      <td>125</td>\n",
       "      <td>605</td>\n",
       "      <td>22</td>\n",
       "      <td>38.26</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.2860</td>\n",
       "      <td>10.021</td>\n",
       "      <td>29.808</td>\n",
       "      <td>10.103491</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>468330</th>\n",
       "      <td>BS-7</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>49.483333</td>\n",
       "      <td>-124.766667</td>\n",
       "      <td>39.0</td>\n",
       "      <td>2017-10-19 21:49:51</td>\n",
       "      <td>125</td>\n",
       "      <td>605</td>\n",
       "      <td>22</td>\n",
       "      <td>39.44</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.2860</td>\n",
       "      <td>10.007</td>\n",
       "      <td>29.816</td>\n",
       "      <td>10.089130</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>468331</th>\n",
       "      <td>BS-7</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>49.483333</td>\n",
       "      <td>-124.766667</td>\n",
       "      <td>40.0</td>\n",
       "      <td>2017-10-19 21:49:51</td>\n",
       "      <td>125</td>\n",
       "      <td>605</td>\n",
       "      <td>23</td>\n",
       "      <td>40.38</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.2859</td>\n",
       "      <td>10.001</td>\n",
       "      <td>29.821</td>\n",
       "      <td>10.082901</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>468332</th>\n",
       "      <td>BS-7</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>49.483333</td>\n",
       "      <td>-124.766667</td>\n",
       "      <td>41.0</td>\n",
       "      <td>2017-10-19 21:49:51</td>\n",
       "      <td>125</td>\n",
       "      <td>605</td>\n",
       "      <td>23</td>\n",
       "      <td>41.23</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.2861</td>\n",
       "      <td>9.999</td>\n",
       "      <td>29.823</td>\n",
       "      <td>10.080761</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>468333 rows × 18 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       station   ID  Patrol        Lat         Lon     Z                dtUTC  \\\n",
       "0         PR-1  NaN       2  49.866525 -124.580281   1.0  2015-02-15 16:24:32   \n",
       "1         PR-1  NaN       2  49.866525 -124.580281   2.0  2015-02-15 16:24:32   \n",
       "2         PR-1  NaN       2  49.866525 -124.580281   3.0  2015-02-15 16:24:32   \n",
       "3         PR-1  NaN       2  49.866525 -124.580281   4.0  2015-02-15 16:24:32   \n",
       "4         PR-1  NaN       2  49.866525 -124.580281   5.0  2015-02-15 16:24:32   \n",
       "...        ...  ...     ...        ...         ...   ...                  ...   \n",
       "468328    BS-7  NaN       1  49.483333 -124.766667  37.0  2017-10-19 21:49:51   \n",
       "468329    BS-7  NaN       1  49.483333 -124.766667  38.0  2017-10-19 21:49:51   \n",
       "468330    BS-7  NaN       1  49.483333 -124.766667  39.0  2017-10-19 21:49:51   \n",
       "468331    BS-7  NaN       1  49.483333 -124.766667  40.0  2017-10-19 21:49:51   \n",
       "468332    BS-7  NaN       1  49.483333 -124.766667  41.0  2017-10-19 21:49:51   \n",
       "\n",
       "          i    j   k  pressure  chl  o2SAT   o2uM  conductivity  temperature  \\\n",
       "0       200  667   0      1.33  NaN   85.9  270.6        2.5319        8.431   \n",
       "1       200  667   1      1.99  NaN   85.2  264.6        2.6946        8.602   \n",
       "2       200  667   2      3.03  NaN   84.8  262.2        2.7500        8.636   \n",
       "3       200  667   3      4.04  NaN   84.5  260.8        2.7872        8.615   \n",
       "4       200  667   4      5.03  NaN   84.2  259.9        2.7960        8.597   \n",
       "...     ...  ...  ..       ...  ...    ...    ...           ...          ...   \n",
       "468328  125  605  22     37.39  NaN    NaN    NaN        3.2862       10.025   \n",
       "468329  125  605  22     38.26  NaN    NaN    NaN        3.2860       10.021   \n",
       "468330  125  605  22     39.44  NaN    NaN    NaN        3.2860       10.007   \n",
       "468331  125  605  23     40.38  NaN    NaN    NaN        3.2859       10.001   \n",
       "468332  125  605  23     41.23  NaN    NaN    NaN        3.2861        9.999   \n",
       "\n",
       "            SA         CT  \n",
       "0       23.394   8.602689  \n",
       "1       24.930   8.753593  \n",
       "2       25.469   8.779866  \n",
       "3       25.863   8.752570  \n",
       "4       25.966   8.732706  \n",
       "...        ...        ...  \n",
       "468328  29.801  10.107736  \n",
       "468329  29.808  10.103491  \n",
       "468330  29.816  10.089130  \n",
       "468331  29.821  10.082901  \n",
       "468332  29.823  10.080761  \n",
       "\n",
       "[468333 rows x 18 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>Patrol</th>\n",
       "      <th>chl</th>\n",
       "      <th>conductivity</th>\n",
       "      <th>datetime</th>\n",
       "      <th>Z</th>\n",
       "      <th>Lat</th>\n",
       "      <th>Lon</th>\n",
       "      <th>o2SAT</th>\n",
       "      <th>o2uM</th>\n",
       "      <th>...</th>\n",
       "      <th>SA</th>\n",
       "      <th>station</th>\n",
       "      <th>temperature</th>\n",
       "      <th>dtUTC</th>\n",
       "      <th>CT</th>\n",
       "      <th>j</th>\n",
       "      <th>i</th>\n",
       "      <th>mod_vosaline</th>\n",
       "      <th>mod_votemper</th>\n",
       "      <th>k</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.5319</td>\n",
       "      <td>15/02/2015 16:24:32</td>\n",
       "      <td>1.0</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>85.9</td>\n",
       "      <td>270.6</td>\n",
       "      <td>...</td>\n",
       "      <td>23.394</td>\n",
       "      <td>PR-1</td>\n",
       "      <td>8.431</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>8.602689</td>\n",
       "      <td>667</td>\n",
       "      <td>200</td>\n",
       "      <td>17.300295</td>\n",
       "      <td>6.104673</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.6946</td>\n",
       "      <td>15/02/2015 16:24:32</td>\n",
       "      <td>2.0</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>85.2</td>\n",
       "      <td>264.6</td>\n",
       "      <td>...</td>\n",
       "      <td>24.930</td>\n",
       "      <td>PR-1</td>\n",
       "      <td>8.602</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>8.753593</td>\n",
       "      <td>667</td>\n",
       "      <td>200</td>\n",
       "      <td>25.917959</td>\n",
       "      <td>8.178636</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.7500</td>\n",
       "      <td>15/02/2015 16:24:32</td>\n",
       "      <td>3.0</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>84.8</td>\n",
       "      <td>262.2</td>\n",
       "      <td>...</td>\n",
       "      <td>25.469</td>\n",
       "      <td>PR-1</td>\n",
       "      <td>8.636</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>8.779866</td>\n",
       "      <td>667</td>\n",
       "      <td>200</td>\n",
       "      <td>26.043879</td>\n",
       "      <td>8.188029</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.7872</td>\n",
       "      <td>15/02/2015 16:24:32</td>\n",
       "      <td>4.0</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>84.5</td>\n",
       "      <td>260.8</td>\n",
       "      <td>...</td>\n",
       "      <td>25.863</td>\n",
       "      <td>PR-1</td>\n",
       "      <td>8.615</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>8.752570</td>\n",
       "      <td>667</td>\n",
       "      <td>200</td>\n",
       "      <td>26.736950</td>\n",
       "      <td>8.213362</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.7960</td>\n",
       "      <td>15/02/2015 16:24:32</td>\n",
       "      <td>5.0</td>\n",
       "      <td>49.866525</td>\n",
       "      <td>-124.580281</td>\n",
       "      <td>84.2</td>\n",
       "      <td>259.9</td>\n",
       "      <td>...</td>\n",
       "      <td>25.966</td>\n",
       "      <td>PR-1</td>\n",
       "      <td>8.597</td>\n",
       "      <td>2015-02-15 16:24:32</td>\n",
       "      <td>8.732706</td>\n",
       "      <td>667</td>\n",
       "      <td>200</td>\n",
       "      <td>26.997450</td>\n",
       "      <td>8.230015</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 21 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    ID Patrol  chl  conductivity             datetime    Z        Lat  \\\n",
       "0  NaN      2  NaN        2.5319  15/02/2015 16:24:32  1.0  49.866525   \n",
       "1  NaN      2  NaN        2.6946  15/02/2015 16:24:32  2.0  49.866525   \n",
       "2  NaN      2  NaN        2.7500  15/02/2015 16:24:32  3.0  49.866525   \n",
       "3  NaN      2  NaN        2.7872  15/02/2015 16:24:32  4.0  49.866525   \n",
       "4  NaN      2  NaN        2.7960  15/02/2015 16:24:32  5.0  49.866525   \n",
       "\n",
       "          Lon  o2SAT   o2uM  ...      SA  station temperature  \\\n",
       "0 -124.580281   85.9  270.6  ...  23.394     PR-1       8.431   \n",
       "1 -124.580281   85.2  264.6  ...  24.930     PR-1       8.602   \n",
       "2 -124.580281   84.8  262.2  ...  25.469     PR-1       8.636   \n",
       "3 -124.580281   84.5  260.8  ...  25.863     PR-1       8.615   \n",
       "4 -124.580281   84.2  259.9  ...  25.966     PR-1       8.597   \n",
       "\n",
       "                dtUTC        CT    j    i  mod_vosaline  mod_votemper  k  \n",
       "0 2015-02-15 16:24:32  8.602689  667  200     17.300295      6.104673  0  \n",
       "1 2015-02-15 16:24:32  8.753593  667  200     25.917959      8.178636  1  \n",
       "2 2015-02-15 16:24:32  8.779866  667  200     26.043879      8.188029  2  \n",
       "3 2015-02-15 16:24:32  8.752570  667  200     26.736950      8.213362  3  \n",
       "4 2015-02-15 16:24:32  8.732706  667  200     26.997450      8.230015  4  \n",
       "\n",
       "[5 rows x 21 columns]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python (py39)",
   "language": "python",
   "name": "py39"
  },
  "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.9.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}