{ "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['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f1surface = f1.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f2surface = f2.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f3surface = f3.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f4surface = f4.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f5surface = f5.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f6surface = f6.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f7surface = f7.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f8surface = f8.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f9surface = f9.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f10surface = f10.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f11surface = f11.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f12surface = f12.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f13surface = f13.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f14surface = f14.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f15surface = f15.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f16surface = f16.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f17surface = f17.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f18surface = f18.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f19surface = f19.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f20surface = f20.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f21surface = f21.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f22surface = f22.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f23surface = f23.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f24surface = f24.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f25surface = f25.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f26surface = f26.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f27surface = f27.variables['mytracer4'][:, :, 550:700, 100:150]\n", "f28surface = f28.variables['mytracer4'][:, :, 550:700, 100:150]" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f29surface = f29.variables['mytracer4'][:,:,550:700,100:150]\n", "f30surface = f30.variables['mytracer4'][:,:,550:700,100:150]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(7440, 40, 150, 50)" ] }, "execution_count": 25, "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", "together.shape" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "import visualisations" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "bs_thalweg0 = np.loadtxt('bs_thalweg_cropped.txt')" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "mesh3 = nc.Dataset('mesh2.nc')\n", "bathy3 = nc.Dataset('bathy2.nc')" ] }, { "cell_type": "code", "execution_count": 29, "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", "viz_tools.set_aspect(ax)\n", "ax.pcolormesh(mesh3.variables['tmask'][0,0,...]);" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "together[together > 2] = 0" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0732372" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "together.max()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "from salishsea_tools import visualisations as vis2" ] }, { "cell_type": "code", "execution_count": 33, "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": 35, "metadata": {}, "outputs": [], "source": [ "import matplotlib.gridspec as gridspec" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\neffiuQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize = (15,4))\n", "gs = gridspec.GridSpec(1, 4)\n", "ax1 = plt.subplot(gs[0, :1])\n", "ax2 = plt.subplot(gs[0, 1:])\n", "def init():\n", " vis2.contour_thalweg(ax2, together[0,...], bathy3, mesh3, np.arange(0,1.05,0.05), cmap = 'Purples',\n", " thalweg_file = 'bs_thalweg_cropped.txt')\n", " ax1.contourf(np.ma.masked_array(together[0,0,...], mask= 1 - mesh3.variables['tmask'][0,0,...]),\n", " cmap = 'Purples', levels = np.arange(0,1.05, 0.05))\n", " ax1.contourf(mesh3.variables['tmask'][0,0,...], levels=[-0.01, 0.01], colors='burlywood')\n", " ax1.plot(bs_thalweg0[:,1], bs_thalweg0[:,0])\n", " ax1.set_ylim(0, 120)\n", " ax1.set_xlim(18, 50)\n", " viz_tools.set_aspect(ax1)\n", "def animate30(i):\n", " ax1.clear()\n", " ax2.clear()\n", " visualisations.contour_thalweg(ax2, together[i,...], bathy3, mesh3, np.arange(0,1.05,0.05), cmap = 'Purples',\n", " thalweg_file = 'bs_thalweg_cropped.txt')\n", " ax2.set_ylim(150, 0)\n", " ax2.set_title(dates[i])\n", " ax1.contourf(np.ma.masked_array(together[i,0,...], mask= 1 - mesh3.variables['tmask'][0,0,...]),\n", " cmap = 'Purples', levels = np.arange(0,1.05, 0.05))\n", " ax1.contourf(mesh3.variables['tmask'][0,0,...], levels=[-0.01, 0.01], colors='burlywood')\n", " ax1.plot(bs_thalweg0[:,1], bs_thalweg0[:,0])\n", " ax1.set_ylim(0, 120)\n", " ax1.set_xlim(18, 50)\n", " viz_tools.set_aspect(ax1)\n", " return ax\n", "interval = 0.1#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 }