{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from salishsea_tools import grid_tools, nc_tools, timeseries_tools, viz_tools\n", "import visualisations\n", "import numpy as np\n", "import xarray as xr\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import pickle\n", "import netCDF4 as nc\n", "import xarray as xr\n", "import datetime\n", "from scipy import signal\n", "import cmocean\n", "import statsmodels.api as sm\n", "from matplotlib.colors import LogNorm\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from matplotlib import animation, rc\n", "rc('animation', html='html5')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "\n", "HTML('''\n", "
''')\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f0 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/21sep14/SalishSea_1h_20140921_20140927_ptrc_T.nc')\n", "f1 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/15oct14/SalishSea_1h_20141015_20141025_ptrc_T.nc')\n", "f2 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/27nov14/SalishSea_1h_20141127_20141204_ptrc_T.nc')\n", "f3 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/03dec14/SalishSea_1h_20141203_20141211_ptrc_T.nc')\n", "f4 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/23dec14/SalishSea_1h_20141223_20141230_ptrc_T.nc')\n", "f5 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/16apr15/SalishSea_1h_20150416_20150423_ptrc_T.nc')\n", "f6 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/25apr15/SalishSea_1h_20150425_20150429_ptrc_T.nc')\n", "f7 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/30apr15/SalishSea_1h_20150430_20150503_ptrc_T.nc')\n", "f8 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/03jun15/SalishSea_1h_20150603_20150622_ptrc_T.nc')\n", "f9 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/29jun15/SalishSea_1h_20150629_20150706_ptrc_T.nc')\n", "f10 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/13jul15/SalishSea_1h_20150713_20150722_ptrc_T.nc')\n", "f11 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/09aug15/SalishSea_1h_20150809_20150824_ptrc_T.nc')\n", "f12 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/27aug15/SalishSea_1h_20150827_20150903_ptrc_T.nc')\n", "f13 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/10sep15/SalishSea_1h_20150910_20151013_ptrc_T.nc')\n", "f14 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/13nov15/SalishSea_1h_20151113_20151125_ptrc_T.nc')\n", "f15 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/13dec15/SalishSea_1h_20151212_20151215_ptrc_T.nc')\n", "f16 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/23dec15/SalishSea_1h_20151223_20151226_ptrc_T.nc')\n", "f17 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/10jan16/SalishSea_1h_20160110_20160206_ptrc_T.nc')\n", "f18 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/26mar16/SalishSea_1h_20160326_20160329_ptrc_T.nc')\n", "f19 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/03may16/SalishSea_1h_20160503_20160514_ptrc_T.nc')\n", "f20 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/17may16/SalishSea_1h_20160517_20160520_ptrc_T.nc')\n", "f21 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/24jul16/SalishSea_1h_20160724_20160802_ptrc_T.nc')\n", "f22 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/02aug16/SalishSea_1h_20160802_20160828_ptrc_T.nc')\n", "f23 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/29dec16/SalishSea_1h_20161229_20170102_ptrc_T.nc')\n", "f24 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/03apr17/SalishSea_1h_20170403_20170407_ptrc_T.nc')\n", "f25 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/10jun17/SalishSea_1h_20170610_20170616_ptrc_T.nc')\n", "f26 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/19jun17/SalishSea_1h_20170619_20170629_ptrc_T.nc')\n", "f27 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/08jul17/SalishSea_1h_20170708_20170711_ptrc_T.nc')\n", "f28 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/23jul17/SalishSea_1h_20170723_20170728_ptrc_T.nc')\n", "f29 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/12sep17/SalishSea_1h_20170912_20170916_ptrc_T.nc')\n", "f30 = nc.Dataset('/data/vdo/MEOPAR/completed-runs/stats-runs/17dec17/SalishSea_1h_20171217_20171221_ptrc_T.nc')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f0surface = f0.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f1surface = f1.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f2surface = f2.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f3surface = f3.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f4surface = f4.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f5surface = f5.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f6surface = f6.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f7surface = f7.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f8surface = f8.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f9surface = f9.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f10surface = f10.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f11surface = f11.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f12surface = f12.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f13surface = f13.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f14surface = f14.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f15surface = f15.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f16surface = f16.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f17surface = f17.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f18surface = f18.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f19surface = f19.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f20surface = f20.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f21surface = f21.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f22surface = f22.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f23surface = f23.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f24surface = f24.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f25surface = f25.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f26surface = f26.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f27surface = f27.variables['mytracer3'][:, :, 550:700, 100:150]\n", "f28surface = f28.variables['mytracer3'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f29surface = f29.variables['mytracer3'][:,:,550:700,100:150]\n", "f30surface = f30.variables['mytracer3'][:,:,550:700,100:150]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "mesh = xr.open_dataset('/data/vdo/MEOPAR/NEMO-forcing/grid/mesh_mask201702.nc')" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "mesh2 = mesh.isel(y = slice(550,700), x = slice(100,150))" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(192, 40, 150, 50)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f9surface.shape" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(120, 40, 150, 50)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "together = np.append(f0surface, f1surface, axis = 0)\n", "for f in ([f2surface,f3surface,f4surface,f5surface,f6surface,f7surface,f8surface,f9surface, \n", " f10surface, f11surface, f12surface, f13surface, f14surface, f15surface, f16surface,\n", " f17surface, f18surface, f19surface, f20surface, f21surface, f22surface, f23surface,\n", " f24surface, f25surface, f26surface, f27surface, f28surface, f29surface, f30surface]):\n", " together = np.append(together, f, axis = 0)\n", "f.shape" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(7440, 40, 150, 50)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "together.shape" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "import visualisations" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "bs_thalweg0 = np.loadtxt('bs_thalweg.txt')" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize = (6,6))\n", "ax.plot(bs_thalweg0[:,1], bs_thalweg0[:,0])\n", "ax.set_xlim(100, 150)\n", "ax.set_ylim(580,660)\n", "viz_tools.set_aspect(ax)\n", "ax.pcolormesh(mesh.variables['tmask'][0,0,...]);" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "bathy = xr.open_dataset('/data/vdo/MEOPAR/grid/bathymetry_201702.nc')" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "bathy2 = bathy.isel(x = slice(100, 150), y = slice(550,700))" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "syncing\n" ] } ], "source": [ "bathy2.to_netcdf('bathy2.nc')" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "syncing\n" ] } ], "source": [ "mesh2.to_netcdf('mesh2.nc', engine = 'scipy')" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "mesh3 = nc.Dataset('mesh2.nc')\n", "bathy3 = nc.Dataset('bathy2.nc')" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "with open('bs_thalweg_cropped.txt', 'w') as f:\n", " for row in bs_thalweg0:\n", " f.write(str(int(row[0]-550)) +' ' +str(int(row[1] - 100)) + '\\n')" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "together[together > 2] = 0" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0587487" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "together.max()" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "from salishsea_tools import visualisations as vis2" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [], "source": [ "dates = np.array([])\n", "for f in ([f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16,\n", " f17, f18, f19, f20, f21, f22, f23,f24, f25, f26, f27, f28, f29, f30]):\n", " dates = np.append(dates, nc.num2date(f.variables['time_counter'][:], f.variables['time_counter'].units))" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nz8/8//dEiAEyAIe63OCooXHq84nx4ObzanP9fyV5/P4kn/xyAw2N07/Yppaz/P433W8JA33ws+8n\n+dn3kyw9Bd74F+4Hwsiw2+dzZEgZHoJDXW5f2t7uqcdbdhr82TtjnHZ2ZOILTD7LQg4Nwpc+Nj5t\nnetMwvR/BNi4YhRoDNzmOO519tuw2uH0c8KM3zTGVLOMAWQx+j4Wm6pysEtpbCCw71StG5jlK9CU\n0qrHk2zfXJzz231QaZs7/f3XF/L6PfmgG0CqKl0zWOd7Jh66M8nb3h3NGIBkGwy0a7ty5isytwQ8\n9kD42sPNax3O9M2NmeqfVyu2rINPvXeMj34uNtE3NDVP5e4dOmU5S7+d29z5J/OxdSNs3ejmt3QZ\n/Nk7YrzsrAgtvi8C/vPoNzIMX7pyLOs0U4VKJNx5Q4PeDt0Hp1/LlY85XJrPYrjGmKpUc3XbP/72\nOO+7Mk77gkqXpPj6enKnMYX50X8Wb+TugU7lhJOmBlCqyt4cI7BTnnrE4YOfch/v31OZptq7fuMG\nkJns2Jy5XM9vcDjzFcE1SL3dGrqGC+CPdyc5M21uzHV5TlheaY4D130rwYO/h099pYGmZuXAPuWf\n/650Swzt3MrEVEaRCLz8TyOcf0GEZadHcJJK1z7Yt9vhhefdWtD0WsBiGxuFpuapz6kqm9dOv5a9\n3e45i1Zfi5wxJg81E0CqKp17lB3Pu1OhnHBS5smca5Gqhq7BMpWVvkJLys6Qff+chLveefv8SFmn\n8PFLJGDH88pJLwluBn1+Y5b5LJ90eNdl059X1byXiVy3SqfVXs10+cpK2bbJrY08//URVj5aviDY\ncdxavZWPVS7w7uuZHkACrMhQpr4eZcHRdXQDN2YWqqmOKP/7bfcb/aGu+gy0+i2ArAm7MwR9Qetu\nZ/KcN8p4e5aavlK75YbgGjJVd9WZTLo63TRBo4rvuz3/4M8/MtdJuhN617JnHnaKMlirluzf574n\n0m16Lvh/ZdsmG41tTK3LGUCKSKOIvE9EviQiX0n9lKNwfnt2KHt3uo+7yrj0Wzmld5o31WnH88HR\nwc6t4fN48M4k3Yecifd0JWzdGLyKyNho7n2/941xnnjQ7Vfa2+0wPqYcOqAFNZWmRumqatEGOpmZ\nCTuAJmVfwPry2QZC1Vo3BWPMdGGasG8H+oBVuCvSVMR135qsLdm3uz5vPj2H7MOzFgz0TX8umchv\n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\nmZlZU/4LiI3duwXeqHEAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize = (12,4))\n", "def init():\n", " vis2.contour_thalweg(ax, together[0,...], bathy3, mesh3, np.arange(0,1.05,0.05), cmap = 'Purples',\n", " thalweg_file = 'bs_thalweg_cropped.txt')\n", "def animate30(i):\n", " ax.clear()\n", " visualisations.contour_thalweg(ax, together[i,...], bathy3, mesh3, np.arange(0,1.05,0.05), cmap = 'Purples',\n", " thalweg_file = 'bs_thalweg_cropped.txt')\n", " ax.set_ylim(70, 0)\n", " ax.set_title(dates[i])\n", " return ax\n", "interval = 0.25#in seconds\n", "ani40 = animation.FuncAnimation(fig,animate30,frames=7440,init_func = init, \n", " interval=interval*1e+3, repeat=False)\n", "ani40" ] }, { "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.0" } }, "nbformat": 4, "nbformat_minor": 2 }