Skip to content

Instantly share code, notes, and snippets.

@GallowayJ
Created October 2, 2017 11:14
Show Gist options
  • Save GallowayJ/a0910fe46e1e14c30903219dd677a792 to your computer and use it in GitHub Desktop.
Save GallowayJ/a0910fe46e1e14c30903219dd677a792 to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from scipy.optimize import curve_fit\n",
"import cv2\n",
"import imutils as im\n",
"import os.path\n",
"import glob\n",
"import seaborn as sns\n",
"% matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1. Relationship between surface flow velocity and hyporheic exchange"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define a function to convert discharge \\[L/min\\] to velocity \\[cm/s\\]."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# depth = 7 cm\n",
"# width = 29 cm\n",
"# lmin = 120 L/min\n",
"\n",
"def lmin_to_cm_s(lmin, depth, width):\n",
" cm3_min = lmin * 1000\n",
" cm_s = cm3_min / 60\n",
" area = depth * width\n",
" cm_sec = cm_s / area\n",
" return cm_sec\n",
"\n",
"#lmin_to_cm_s(120, 8, 29)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Import data of hyporheic exchange flux and surface velocity. [TODO: Use specific measured water stage]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('ec_discharge_hyporheic flux.csv')\n",
"df = df.dropna()\n",
"df['Velocity [cm/s]'] = lmin_to_cm_s(df['Discharge [L/min]'], 7.0, 29)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# Fit the function, y = A ^ Bx\n",
"x, y = df['Velocity [cm/s]'].values, df['Hyporheic flux [cm/d]'].values\n",
"result, _ = curve_fit(lambda t, a ,b: a*np.exp(b*t), x, y, p0=(4, 0.1))\n",
"A, B = result"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# Create data from 0 to 17 with 150 points for plot of exponential curve\n",
"x_exp = np.linspace(0,17, 150)\n",
"y_exp = A * np.exp(B*x_exp)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\no0aqXr26WrVqpfvuu09ZWVk5hnvhhRfUunVr1axZU7Vr19ahhx6qJ554Irt/x44d1bFjx1wxNG3a\nVP369cu2YHebAAAgAElEQVT+f6TqyAcffKBzzjlH6enpatu2bYFizsrK0pAhQ7Jj7tixoxYuXJjv\nOox49913deSRR6pq1apq1qxZjuWINnToUB155JGqXbu26tatq06dOmnevHk5lqV///6SpAMOOCC7\nysuSJUskSaNGjVK7du201157KT09Xccee6ymTZuWdJwAAAAAUBaReIhyWOM9dM0Ln2UnH+YsXqdr\nXvhMhzXeo8RjadKkiU488cQc1S3Gjh2rM888UzVr1sw1/LRp03TyySerZs2aGjdunF544QVt2rRJ\nJ5xwgpYtW5Y93I8//qiTTz5ZzzzzjKZNm6a+ffsqIyNDt99+e/Yws2fPVp8+fdShQwdNnjxZr7zy\nigYOHKgNGzYUenkuvPBC7b///nrllVc0YsSIAsWckZGhu+++WxdeeKEmT56srl27qlevXknN95tv\nvlGPHj1UrVo1TZgwQXfffbdGjhypd999N9ewK1as0PXXX6/XX39dY8aMUf369XXiiSfqq6++kiSd\neuqpGjJkiCRp4sSJmjt3rubOnatGjRpJkpYsWaIBAwZo4sSJeumll9SmTRv17NlT06dPL/R6AwAA\nAIBSzzmX0r+jjjrK5eV///tfnv0L6sMf1rrWd8xw9731rWt9xwz34Q9ri3T6+Xn22WedJPf999+7\n0aNHu/T0dLd161a3cuVKV7FiRTdjxgz3/vvvO0nu7bffzh6vWbNmrlOnTjmm9fvvv7s6deq4wYMH\nx53Xzp07XWZmprvzzjtdenq6y8rKcs459+9//9vtueeeecbZoUMH16FDh1zdmzRp4vr27Ztrea67\n7rpcwyYT86+//upq1KjhLr/88hzDjRgxwklyQ4cOzTPOCy64wNWpU8f98ccf2d1+/vlnl5aW5po0\naZJwvB07drjMzEx34IEHukGDBuVanu+//z7P+WZlZbnMzEzXpUsX16tXrzyHda7o92MAAAAAKG6S\nFrgknusp8RCjfbO66tN2Pz303g/q03Y/tW9WN7RYzjnnHP3555+aMmWKxo8fr4YNG+rkk0/ONdz3\n33+vxYsX68ILL9SOHTuyf9WrV1e7du30wQcfZA+7atUqXX755WrSpIkqV66stLQ0DRkyRBs2bNCa\nNWskSUcffbR+++039enTR1OnTt2tkg4RZ555ZqFi/uqrr7R582b17t07x/jnnXdeUvOdO3euevTo\noRo1amR323fffXXcccflGvadd97RSSedpDp16qhSpUpKS0vTokWL9N133yU1r08++UQ9e/ZUgwYN\nssd/++23kx4fAAAAAMoiEg8x5ixep3Ef/axBnZpr3Ec/52rzoSTVqlVLZ5xxhp5//nmNHTtWF154\noSpUyL3JIgmDSy+9VGlpaTl+U6dO1fr16yVJO3fuVK9evTR16lQNGTJE7733nubPn59dzWLbtm2S\npA4dOmjixIlatmyZzjzzTNWrV0+dO3fWl19+WehliVRHKGjMq1atkiQ1aNAgx/ix/09k1apVcYeN\n7fbpp5+qR48eqlmzpkaPHq158+Zp/vz5Ovzww7PXS16WLVumk08+Wb/++qsefvhhzZkzR/Pnz1f3\n7t2TGh8AAAAAyqpKYQeQSiJtOoy6oLXaN6urY5vVyfH/MFx88cU69dRTtXPnTr344otxh6lTp44k\n6Z///Kc6d+6cq3/lypUlSYsXL9aCBQv0/PPPq0+fPtn9p0yZkmucs88+W2effbb++OMPzZw5U7fc\ncou6d++u5cuXq0KFCqpatao2btyYa7xEn5k0s0LFHElYrF69Woccckh2/9WrV8edT6xGjRrFHTa2\n26uvvqpKlSrptddeU1paWnb33377Tenp6fnOZ/r06fr999/18ssvq3Hjxtndt2zZklScAAAAAFBW\nkXiI8uXy33MkGdo3q6tRF7TWl8t/Dy3x0KVLF/Xu3Vvp6ek5HryjHXTQQWratKkWLlyoW2+9NeG0\nIg/B0Q/WmZmZGj9+fMJxatasqZ49e+rHH3/U4MGDtX79etWrV09NmjTRq6++qu3bt2cnCT744ANt\n2rQpqeVKNubDDjtMNWrU0Msvv6xOnTpld58wYUJS82nXrp3eeOMNbd68Obu6xbJly/Thhx9q7733\nzh5uy5YtqlixYo4EyXvvvaeff/5Z+++/f3a3KlWqSPKfNo0Wb90uWrRIH374YY5EBAAAAACUNyQe\nolzRoVmubu2b1Q21nYeKFSsmLOkQYWZ65JFHdPrpp2v79u3q3bu36tatq9WrV2vOnDnab7/99H//\n939q0aKFmjRpottvv10VK1ZUWlqaHnjggVzT+8c//qHVq1frpJNO0t57763ly5froYce0hFHHKF6\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5d97960358>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"font_labels=16 # fontsize for labels\n",
"\n",
"ax.plot(x, y, 'x', label='Measured data')\n",
"ax.plot(x_exp, y_exp, 'r--', label='Fitted data')\n",
"ax.set_title('Hyporheic flux [cm/d] against overlying surface water velocity [cm/s]', fontsize=font_labels+3)\n",
"ax.set_ylabel('Hyporheic flux [cm/d]', fontsize=font_labels)\n",
"ax.set_xlabel('Overlying water velocity [cm/s]', fontsize=font_labels)\n",
"ax.legend(fontsize=font_labels)\n",
"fig.set_size_inches(18,10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 2. Converting percentage oxygen saturation to mass"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"#Garcia and Gordon equations\n",
"# http://astro.cornell.edu/~jmadden/wordpress/wp-content/uploads/2016/04/qw11.03.pdf\n",
"\n",
"#Calculate the scaled temperature\n",
"\n",
"def scaled_temp(t):\n",
" #t is the water temperature in degrees Celcius\n",
" Ts = np.log((298.15 - t) / (273.15 + t))\n",
" return Ts\n",
"\n",
"def DO_garcia_gordon(Ts):\n",
" #Ts is the scaled temperature\n",
" DO = 1.42905 * np.exp(2.00907 + (3.22014 * Ts) + (4.05010 * Ts**2)\n",
" + (4.94457 * Ts**3) - (0.256847 * Ts**4)\n",
" + (3.88767 * Ts**5))\n",
" return DO\n",
"\n",
"DO_gg = DO_garcia_gordon(scaled_temp(25))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Comparison of methods](comparison_of_o2_solubility_methods.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Put the values for O2 solubility here that I've gathered from Unisens, Presens, USGS etc. And also that graph showing the differences in the formulas from the different papers 1984, 1992.\n",
"\n",
"|Source|Value (in source)| Value (in mg/L)|Comments|Link|\n",
"|:----:|:---------------:|:--------------:|:------:|:---:|\n",
"|Unisense| 257 µmol/l | 8.25 | | [Link](http://www.unisense.com/files/PDF/Diverse/Seawater%20&%20Gases%20table.pdf)|\n",
"|Presens| 8.25 mg/l | 8.25 | | [Link](https://www.presens.de/support-services/faqs/question/how-does-temperature-affect-the-oxygen-measurement-105.html) | \n",
"|Jason | 8.26 mg/l | 8.26 | Calculated using Garcia & Gordon's (1992) formula|[Link](http://astro.cornell.edu/~jmadden/wordpress/wp-content/uploads/2016/04/qw11.03.pdf)| \n",
"|Unisense| 257 µmol/l | | | | \n",
"\n",
"@ 25°C degrees and 0‰ salinity"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"8.2522842"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Unisense Conversion\n",
"molecular_weight_O2 = 31.998\n",
"O2_µmol_l = 257.9 # Original value provided by Unisense\n",
"O2_µg_l = O2_µmol_l * molecular_weight_O2 # Multiply by the molecular weight of oxygen (31.998) to get microgram/l\n",
"O2_mg_l = O2_µg_l / 1000\n",
"O2_mg_l"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Assume that the surface water is at 100% oxygen saturation. Therefore the flux delivered to the subsurface is the product of hyporheic exhange flux \\[cm/d\\] by the area over which it occurs \\[cm<sup>2</sup>\\] and the oxygen concentration at 100% saturation \\[mg/L\\]."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"def calc_effective_exchange_flux(specific_flux, area):\n",
" \"\"\"If the specific flux is in [cm/d] and area is in [cm^2],\n",
" the result will be in units of [cm^3/d]\"\"\"\n",
" effective_exchange_flux = specific_flux * area\n",
" return effective_exchange_flux\n",
"\n",
"# y_exp array of exchange fluxes from the relationship between velocity and hyporheic flux\n",
"EEF = calc_effective_exchange_flux(y_exp, (29*260))"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n5ZVX0rZtW6pVq0azZs04//zzc186EzJkyBDMjJ9//pnevXtTo0YNmjdvztChQ/Ot85kzZ3LUUUdR\ntWpVmjVrxv33389dd92Vr5ePrKwsHnjgAdq3b09aWhr77rsvN910E9u3b4+5fkJNSiZNmsSUKVNy\nt1usZi1mlrsPRU4jtC+tWrWKhg0b5ivsP/vss5gZ7777bsx4CvLWW29xxBFHUKNGDWrVqkXXrl0Z\nP358nvgGDx7MI488QvPmzalWrRq9e/dmzZo1rFmzhnPOOYfatWvTrFkzHnrooQLnV716ddLS0vLc\nnQL/MqHx48fnaSK2du1azj//fGrVqkWdOnUYMGAAGzduLPKyiojIbmO+XkpGnaoc065hskMpkGrQ\ni+Hc/+RvV9qncxP6H96CbTuzGThier7hZx3clLMzm7Hhj51cPebbfMMvPKw5p3TZlxUbt3HDK9/l\nG375UftzfIdGLFz7O60a1ChW/NnZ2fkKtykpKaSkpHDZZZfRsWNHzj777NymArVq1WLHjh38+9//\nZuTIkbntalu1akVWVhYnnngis2fP5s4776RTp05MmzaNe+65hw0bNvDII48A8Ntvv9GtWzc2bNjA\n4MGD6dy5M2vWrOHtt99m586d3Hnnnaxdu5Zvvvkmt9AUq5awf//+PPXUU0yYMIGTTz45N/3dd99l\n48aNDBgwAPBvgj3yyCPZtm0bQ4YMoWXLlnz00UdcffXV7Nixg+uuuy7mOkp03MWLF9O1a1eqVavG\n0KFDadOmDb/88gsTJkzIN73zzz+fQYMG8fe//50RI0Zw9dVX065dO4499lgANmzYQHp6Og888AAN\nGjRgxYoVPPLIIxxxxBHMnTuX9PT0PNPs27cvF198MTfccAPvvPMOd911F82aNePiiy8GYN26dfTo\n0YN9992XUaNGkZqayrBhw6IWoC+88ELeeecdbrnlFrp168acOXO48847WbJkCW+88UbUddSkSROm\nTp3KlVdeSaVKlXjqqady04uqcePGjBgxgj59+vDMM89w1VVXMWfOHAYNGsR1111X6CYhIY8//jjX\nX389p59+OqNGjaJGjRrMnDkz37oYPXo0HTt25KmnnmL16tUMGjSIAQMGsGXLFk466SSuuOIKXnvt\nNW699VY6deqUZ/8DyMnJITs7m5UrV/Lggw8CcPnll+fJ8/XXX7Ny5co8BfQzzjiD77//nvvvv582\nbdrwyiuvxN0/RUQkcQ+e0Zlff9tKpZTy3f4c8LU4Zf0BKgGzgHeD7y2Br4EFwCtAapCeFnxfEAxv\nETaN24LZZe7KAAAgAElEQVT0ecCJYem9grQFwK2JxHPwwQe7eGbPnh01/Zxnvsr3efGrxc4557bu\nyIo6/NVvfnHOObf+9x1Rh4//brlzzrnlv22NOvzj/61yzjm3YM2WuDHHM2LECAdE/fTu3Ts3388/\n/+wAN2LEiDzj33HHHc7vOru9+OKLDnCff/55nvR7773XValSxa1evdo559ydd97pUlJS3MyZM2PG\nd9FFF7mMjIx86Z999pkD3GeffZab1qZNG9evX788+U477TR3wAEH5H4fOnSoS0tLc/Pnz8+T77LL\nLnP16tVzu3btihlLouP279/fVa9e3S1fvjzucgFu4sSJuWnbt293devWdZdffnnM8bKystwvv/zi\nAPfmm2/mpt91110OcC+88EKe/B07dnQnnHBC7vfbbrvNpaamul9//TU3bevWra5hw4Z5tuPkyZMd\n4EaNGpVnemPGjHGAmzVrVswYnXPuiCOOcN27d8+TFtrXFi9enJsGuLvuuitPvsWLF0fd166//npX\ntWpV9+2337rOnTu7zp07u+3bt8eNI9a0Nm3a5GrUqOH69u0bd3zAtWnTJs9+ccMNNzjA3XPPPblp\nu3btcg0aNHADBw7MN40zzzwz95hq2LChmzJlSr48t9xyiws/90yYMMEB7uWXX86Tr1evXvn2+5Dm\nzZu7Cy64IO7yxDp/iYhI2QNmuATKpsmqQf8LMAeoFXx/CBjmnBtrZs8AlwJPB39/c861NrN+Qb5z\nzawD0A/4P2Bf4BMzaxtM60ngBGAZ8I2ZjXfOzS6NhXjlysNjDquaWinu8LrVU+MO37dO1bjDi1t7\nDv5Wf+RDooVtCxvy4Ycf0rx5c7p165anVr5nz54MHjyYadOmceqppzJhwgQOOeQQ/vSnPxUr9pD+\n/fvzwAMPsGXLFmrWrMn69et5//33ufvuu/PEduihh9KyZcs8sZ144ok899xzzJ49m86dO8dcrkTG\nnTBhAn369GHfffeNG2+1atVya8rB3x1o27Ytv/zyS558Tz/9NM888wwLFy7kjz92dwU1b968fNPs\n3bt3nu8dO3Zk1qxZud+nTZvGYYcdlmdbV61ald69ezNixIg8y5qamspZZ52VbxsCTJ48mQMPPDDu\n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\nYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5d954c0ef0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.plot(x_exp, EEF, '--', label='Effective echange flux [cm3/d]')\n",
"ax.set_title('Effective exchange flux [cm3/d] against flow velocity [cm/s]', fontsize=font_labels+2)\n",
"ax.set_ylabel('Effective hyporheic flux [cm3/d]', fontsize=font_labels)\n",
"ax.set_xlabel('Overlying water velocity [cm/s]', fontsize=font_labels)\n",
"ax.legend(fontsize=font_labels)\n",
"fig.set_size_inches(12,6)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Convert from units of $\\frac{cm^3}{d}$ to units of $\\frac{L}{d}$ (O2 solubility will be in units of $\\frac{mg}{L}$)."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def convert_cm3_to_L(cm3):\n",
" \"\"\"Converts cm3 to litres.\"\"\"\n",
" l = cm3/1000\n",
" return l\n",
"\n",
"EEF_l_d = convert_cm3_to_L(EEF) # [L/d]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The product of effective echange flux \\[$\\frac{L}{d}$\\] and O<sub>2</sub> solubility at 25 $^\\circ$C in \\[$\\frac{mg}{L}$\\] to yield flux in units of \\[$\\frac{mg}{d}$\\]. Convert these units to\\[$\\frac{mg}{s}$\\] for ease of use in unsteady calculations. "
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"O2_mass_flux = EEF_l_d * DO_gg # Unit is mg/day\n",
"O2_mass_flux_second = O2_mass_flux / (24 * 60 * 60) # Unit is mg/second"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"8.2522842"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def convert_to_percent(val):\n",
" percent = val/255 * 100\n",
" return percent\n",
"\n",
"def convert_sat_to_mgl(Cp, percentage_sat):\n",
" \"\"\"Convert O2 saturation [%] to O2 mass [mg/L]\"\"\"\n",
" return (Cp * percentage_sat) / 100\n",
"convert_sat_to_mgl(O2_mg_l, 100)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"fp_anchor_120 = '/home/jason/Desktop/2nd Experiment/Stitched images/00_Anchor 1/Anchor_120Lmin.tif'"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"im = cv2.imread(fp_anchor_120,0) # import image as greyscale\n",
"df = pd.DataFrame(im) # convert image to df\n",
"df_percent = convert_to_percent(df) # convert greyscale to percent\n",
"df_mgL = convert_sat_to_mgl(O2_mg_l, df_percent)\n",
"#df_mgL.describe()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"# Sum of all rows and columns\n",
"sum_of_flux = df_mgL.sum().sum()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"height_pixels, width_pixels = df_mgL.shape # height in pixels, width in pixels"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"217.23809523809524 246.02836879432624\n"
]
}
],
"source": [
"print(height_pixels/optode_h, width_pixels/optode_l) # pixel/cm"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"40.584691164371748"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#lmin_to_cm_s(120, 7, 29)\n",
"#EEF_l_d[86] * O2_mg_l\n",
"#x_exp[86]"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.3523118531812948"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"flux_mgL_cm3 = sum_of_flux / (optode_area * 29) # mg/L/cm2\n",
"flux_mgL_L = flux_mgL_cm3 / 1000\n",
"flux_mgL_L"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2352.3118531812947"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 19 beforms including the first and last bedforms"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Optode foil is 10.5 cm in height\n",
"# Optode foil is 14.1 cm in length\n",
"optode_h = 10.5 # Optode h in cm\n",
"optode_l = 14.1 # Optode l in cm\n",
"optode_area = optode_h * optode_l # Optode area in cm2"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Sediment depth 10 cm to bottom of bedform\n",
"# Bedform height 1.5 cm\n",
"# Bedform length "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Strategy\n",
"\n",
"Work out O2 on a per bedform basis. Everything below the bottom of the optode is 0.\n",
"\n",
"Problems: Beginning and end of the flume, losing conditions\n",
"\n",
"Calculate the area represented by 1 pixel and use this to scale the mass of O2. Assume that the cross section is the same and multiply by 29 cm.\n",
"\n",
"2. Startegy\n",
"\n",
"Use photos to help"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def cmd_to_cmhr(cmd):\n",
" return cmd / 24\n",
"\n",
"def cmhr_to_cmmin(cmhr):\n",
" return cmhr / 60\n",
"\n",
"def cmmin_to_cms(cmmin):\n",
" return cmmin / 60\n",
"\n",
"def cmd_to_cms(cmd):\n",
" cmhr = cmd_to_cmhr(cmd)\n",
" cmmin = cmhr_to_cmmin(cmhr)\n",
" cms = cmmin_to_cms(cmhr)\n",
" return cms"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.002638888888888889"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cmd_to_cms(3.8)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.06333333333333332"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cmhr_to_cmmin(3.8)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"28652.0"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"area_of_sediment = 29 * 260 # cm2\n",
"hyporheic_exchange = 3.8 # cm/d\n",
"volume_of_hyporheic_sediment = hyporheic_exchange * area_of_sediment # cm3/d\n",
"volume_of_hyporheic_sediment # cm3/d"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"28.652"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"volume_of_hyporheic_sediment / 1000 # in L/d"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"229.216"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# ~ 8 mg of oxygen in every litre of water\n",
"# so 8 * number of litres per day for flux\n",
"8* (volume_of_hyporheic_sediment / 1000) # mg/d"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Determine equilibrium oxygen at nonstandard pressure\n",
"\n",
"$$ \\ln P = 5.25 \\times \\ln \\: (1 - \\frac{h}{44.3}) $$\n",
"\n",
"Where P = pressure [atm] at altitude h [km] relative to standard partial pressure (Pst) at 101.325 kpa at sea level"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.95349664354226371"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def p(h):\n",
" \"\"\"Determine the atmospheric pressure at flume. h is in km, p is in pst\"\"\"\n",
" ln_p = 5.25 * np.log(1 - (h/44.3))\n",
" return np.exp(ln_p)\n",
"\n",
"# Flume at 400 metres above sea level, 0.4 km\n",
"p(0.4)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.4279339580544401"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
".032 / .02241"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ \\text{DO mg/L} = \\frac{C_p \\times \\text{%Sat}}{100} $$ "
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"180.60224089635852"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solubility = 257.9 # micromoles per litre, oxygen salinity at 25 degrees.\n",
"solubility_mgml = solubility / 1.428\n",
"solubility_mgml"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"368281.19999999995"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solubility_mgml * 1000"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"def get_image(fp):\n",
" im_bgra = cv2.imread(fp, -1)\n",
" im_gray = cv2.imread(fp, 0)\n",
" return im_bgra, im_gray\n",
"\n",
"def convert_to_percent(val):\n",
" percent = val/255 * 100\n",
" return percent"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"def showimage(image, name=\"No name given\"):\n",
" cv2.imshow(name, image)\n",
" cv2.waitKey(0)\n",
" cv2.destroyAllWindows()\n",
" return"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"im = cv2.imread(fp,0) # import image as greyscale\n",
"df = pd.DataFrame(im) # convert image to df\n",
"df_percent = convert_to_percent(df) # convert greyscale to percent\n",
"df_mgL = convert_sat_to_mgl(equilibrium_conc, df_percent)\n",
"df_mgL.describe()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# Path to stitched images\n",
"root_folder = os.path.join(os.sep, 'home', 'jason', 'Desktop', '2nd Experiment', 'Stitched images', '*/')\n",
"\n",
"save_folder = os.path.join(os.sep, 'home', 'jason', 'Desktop', 'O2 in Mass')\n",
"\n",
"# Returns a list of all subdirectories, each subdirectory contains stitched image as .tif\n",
"list_of_subdirs = glob.glob(root_folder)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['/home/jason/Desktop/2nd Experiment/Stitched images/08_Gaining Steady 6 cmd/gaining steady 6 cmd.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/14_Losing Steady 3 cmd/losing_03cmd_steady_120.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/06_Gaining Steady 6 cmd/gaining_06cmd_steady_t10.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t9.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t4.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t7.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t10.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t10_1.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t0.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t2.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t1.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t5.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t3.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t8.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/10_Gaining Unsteady 3 cmd/gaining_03cmd_unsteady_t6.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_07cmd_t7.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_07cmd_t10.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_06cmd_t3.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_06cmd_t5.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_06cmd_t2.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_06cmd_t1.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_06cmd_t0.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_07cmd_t9.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_07cmd_t8.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_06cmd_t6.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/04_Losing Unsteady 6 cmd/losing_06cmd_t4.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/05_Losing Steady 6 cmd/losing steady 6 cmd.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/17_Anchor 4/neutral_steady_120Lmin_t13.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/09_Gaining Steady 3 cmd/steady 120 lmin gaining 3 cmd.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t3_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t9_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t4_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t5_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t2_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t0_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t10_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t7_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t1_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t8_neutral_unsteady_120lmin.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/01_Neutral Unsteady/t6_neutral_unsteady_120lmin.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t1.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t0.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t6.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t4.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t9.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t10.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t8.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t3.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t5.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t2.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/16_Neutral Unsteady 900 mins/neutral_900min_unsteady_t7.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/15_Anchor 3/neutral_steady_120.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/00_Anchor 1/Anchor_120Lmin.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/11_Gaining Steady 3 cmd/gaining_03cmd_steady_120.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t8.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t3.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t6.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t1.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t0.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t7.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t9.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t5.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t2.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t4.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/13_Losing Unsteady 3 cmd/Losing unsteady 3 cmd_t10.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/03_Losing Steady 6 cmd/Losing steady 10 cmd part 1.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/03_Losing Steady 6 cmd/Losing steady 10 cmd part 2.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/19_Anchor 5/neutral_120_t10.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t0.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t4.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t10.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t5.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t1.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t7.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t8.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t6.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t3.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t2.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/07_Gaining Unsteady 6 cmd/gaining_06cmd_t9.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/02_Anchor 2/anchor_t10_neutral_steady_120lmin.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/12_Losing Steady 3 cmd/losing_03cmd_steady_120.tif']\n",
"['/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t04.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t00.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t02.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t10.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t03.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t06.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t08.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t09.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t07.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t05.tif', '/home/jason/Desktop/2nd Experiment/Stitched images/18_Neutral Unsteady 300 mins/unsteady neutral 300min t01.tif']\n"
]
}
],
"source": [
"for subdir in list_of_subdirs:\n",
" images = glob.glob(os.path.join(subdir, '*.tif'))\n",
" print(images)\n",
" #for im in images:\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"8.26233241826\n"
]
},
{
"data": {
"text/plain": [
"7.3303687160937026"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# http://www.waterontheweb.org/under/waterquality/oxygen.html\n",
"#c_star provides a value of 8.26 mg/L, something wrong with adjustment for pressure \n",
"\n",
"def p(h):\n",
" \"\"\"Determine the atmospheric pressure at flume. h is in km, p is in pst\"\"\"\n",
" ln_p = 5.25 * np.log(1 - (h/44.3))\n",
" return np.exp(ln_p)\n",
"\n",
"# Flume at 400 metres above sea level, 0.4 km\n",
"p(0.4)\n",
"\n",
"\n",
"def Cp(t, P):\n",
" \"\"\"Determine the equilibrium constant at flume altitude.\n",
" Cp = equilibrium oxygen concentration at nonstandard pressure, mg/L\n",
" c_star = equilibrium oxygen concentration at standard pressure of 1 atm, mg/L\n",
" pwv = partial pressure of water vapour, atm\n",
" t = temperature, Celcius\n",
" T = temperature, Kelvin\n",
" \"\"\"\n",
" T = t + 273.15 # Convert temperature from Celcius to Kelvin\n",
" c_star = np.exp(7.7117 - 1.31403 * np.log(t + 45.93))\n",
" ln_pwv = 11.8571 - (3840.70 / T) - (216961/T**2)\n",
" pwv = np.exp(ln_pwv)\n",
" theta = 0.000975 - (1.426 * (10**-5 * t)) + (6.436 * (10**-8 * t**2))\n",
" Cp = c_star * (p ( ( (1- (pwv/P)) * (1 - (theta*P)) ) / ( (1 - pwv) * (1 - theta) ) ))\n",
" print(c_star)\n",
" return Cp\n",
"\n",
"equilibrium_conc = Cp(25., p(0.4)) # Water temperature and flume altitude in km\n",
"equilibrium_conc"
]
}
],
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment