{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Sandbox to learn how to make animations. Very messy. Weird animations. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "import netCDF4 as nc\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from matplotlib import animation, rc, rcParams\n", "from IPython.display import HTML" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nj2IAgIkAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "ax.set_xlim(( 0, 2))\n", "ax.set_ylim((-2, 2))\n", "\n", "line, = ax.plot([], [], lw=2)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def init():\n", " line.set_data([], [])\n", " return (line,)\n", "\n", "def animate(i):\n", " x = np.linspace(0, 2, 1000)\n", " y = np.sin(2 * np.pi * (x - 0.01 * i))\n", " line.set_data(x, y)\n", " return (line,)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "anim = animation.FuncAnimation(fig, animate, init_func=init,\n", " frames=100, interval=20, blit=True)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "rc('animation', html='html5')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "anim" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "x = np.arange(0, 2*np.pi, 0.01)\n", "plt.plot(x, np.sin(x),'b')\n", "plt.axis([0,2*np.pi,-1,1])\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def animate_sine(t):\n", " plt.plot(x,np.sin(x+t/10.0),'b') \n", " plt.axis([0,2*np.pi,-1,1])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig=plt.figure()\n", "ani = animation.FuncAnimation(fig,animate_sine, frames=200)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ani = animation.FuncAnimation(fig,animate_sine, frames=200)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax = plt.subplots()\n", "\n", "#An empty plot\n", "pl,=ax.plot([],[])\n", "ax.set_xlim([0,2*np.pi])\n", "ax.set_ylim([-1,1])\n", "\n", "#animate funcion\n", "def animate_sine(t):\n", " pl.set_data(x,np.sin(x+t/10.0)) \n", " return pl,\n", "\n", "#set a clear initial frame\n", "def init():\n", " pl.set_data([],[])\n", " return pl,\n", "\n", "#blit=True to remove instances from previous frames\n", "ani = animation.FuncAnimation(fig,animate_sine, frames=200, init_func=init, blit=True)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ani" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import netCDF4 as nc\n", "import matplotlib.pyplot as plt\n", "import netCDF4 as nc\n", "from salishsea_tools import (nc_tools, viz_tools, gsw_calls)\n", "import numpy.ma as ma\n", "import glob\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "mesh_mask = nc.Dataset('/home/vdo/MEOPAR/NEMO-forcing/grid/mesh_mask_downbyone2.nc')\n", "new_domain = mesh_mask.variables['tmask'][0,:,334:898,114:398] " ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [], "source": [ "Jan04 = nc.Dataset('/ocean/vdo/MEOPAR/completed-runs/SalishSeaLake/LakeJan0.4/SalishSea_1h_20170101_20170107_grid_T.nc')\n", "JanN04 = nc.Dataset('/ocean/vdo/MEOPAR/completed-runs/SalishSeaLake/LakeJan-0.4/SalishSea_1h_20170101_20170107_grid_T.nc')\n", "Jun04 = nc.Dataset('/ocean/vdo/MEOPAR/completed-runs/SalishSeaLake/LakeJun0.4/SalishSea_1h_20160601_20160607_grid_T.nc')\n", "JunN04 = nc.Dataset('/ocean/vdo/MEOPAR/completed-runs/SalishSeaLake/LakeJun-0.4/SalishSea_1h_20160601_20160607_grid_T.nc')" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [], "source": [ "pressure1 = gsw_calls.generic_gsw_caller('gsw_p_from_z.m',\n", " [-np.expand_dims(Jan04.variables['deptht'][:], 1) * np.ones(284),\n", " (np.ones([284,40]) *np.expand_dims(Jan04.variables['nav_lat'][350,:][:],1)).T])\n", "density1 = gsw_calls.generic_gsw_caller('gsw_rho.m',\n", " [Jan04.variables['vosaline'][47,:,350,:],\n", " Jan04.variables['votemper'][47,:,350,:],\n", " pressure1])\n", "masked_density1 = ma.masked_array(density1, mask = 1 - new_domain[:,350,:])" ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(10, 85)" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax1=plt.subplots(1,1)\n", "den = ax1.contourf(masked_density1 #, colors='black'\n", " )\n", "fig.colorbar(den, ax=ax1)\n", "ax1.set_title('Vomecrty when rr_vtau = 0.1, Y = 350')\n", "ax1.set_ylim((40,0))\n", "ax1.set_xlim((10,85))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [], "source": [ "mask = 1 - new_domain[:,350,:]\n", "def animate_density(t):\n", " density1 = gsw_calls.generic_gsw_caller('gsw_rho.m',\n", " [Jan04.variables['vosaline'][t,:,350,:],\n", " Jan04.variables['votemper'][t,:,350,:],\n", " pressure1])\n", " masked_density1 = ma.masked_array(density1, mask = mask)\n", " \n", " fig,ax1=plt.subplots(1,1)\n", " den = ax1.contourf(masked_density1 #, colors='black'\n", " )\n", " fig.colorbar(den, ax=ax1)\n", " ax1.set_ylim((40,0))\n", " ax1.set_xlim((10,85))" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax = plt.subplots(1,1)\n", "def init():\n", " pl.set_data([],[])\n", " return pl,\n", "\n", "#blit=True to remove instances from previous frames\n", "ani = animation.FuncAnimation(fig,animate_density, frames=100, init_func=init, blit=True)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "ename": "RuntimeError", "evalue": "The animation function must return a sequence of Artist objects.", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m/home/vdo/anaconda3/lib/python3.6/site-packages/IPython/core/formatters.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, obj)\u001b[0m\n\u001b[1;32m 309\u001b[0m \u001b[0mmethod\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_real_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprint_method\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 310\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mmethod\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 311\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 312\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 313\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/vdo/anaconda3/lib/python3.6/site-packages/matplotlib/animation.py\u001b[0m in \u001b[0;36m_repr_html_\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1183\u001b[0m \u001b[0mfmt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrcParams\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'animation.html'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1184\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfmt\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'html5'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1185\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_html5_video\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1186\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1187\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/vdo/anaconda3/lib/python3.6/site-packages/matplotlib/animation.py\u001b[0m in \u001b[0;36mto_html5_video\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1157\u001b[0m \u001b[0mbitrate\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mrcParams\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'animation.bitrate'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1158\u001b[0m fps=1000. / self._interval)\n\u001b[0;32m-> 1159\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwriter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mwriter\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1160\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1161\u001b[0m \u001b[0;31m# Now open and base64 encode\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/vdo/anaconda3/lib/python3.6/site-packages/matplotlib/animation.py\u001b[0m in \u001b[0;36msave\u001b[0;34m(self, filename, writer, fps, dpi, codec, bitrate, extra_args, metadata, extra_anim, savefig_kwargs)\u001b[0m\n\u001b[1;32m 1010\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0manim\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0md\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mall_anim\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1011\u001b[0m \u001b[0;31m# TODO: See if turning off blit is really necessary\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1012\u001b[0;31m \u001b[0manim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_draw_next_frame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mblit\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1013\u001b[0m \u001b[0mwriter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgrab_frame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0msavefig_kwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1014\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/vdo/anaconda3/lib/python3.6/site-packages/matplotlib/animation.py\u001b[0m in \u001b[0;36m_draw_next_frame\u001b[0;34m(self, framedata, blit)\u001b[0m\n\u001b[1;32m 1047\u001b[0m \u001b[0;31m# post- draw, as well as the drawing of the frame itself.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1048\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_pre_draw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mframedata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mblit\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1049\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_draw_frame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mframedata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1050\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_post_draw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mframedata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mblit\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1051\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/vdo/anaconda3/lib/python3.6/site-packages/matplotlib/animation.py\u001b[0m in \u001b[0;36m_draw_frame\u001b[0;34m(self, framedata)\u001b[0m\n\u001b[1;32m 1513\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_blit\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1514\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_drawn_artists\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1515\u001b[0;31m raise RuntimeError('The animation function must return a '\n\u001b[0m\u001b[1;32m 1516\u001b[0m 'sequence of Artist objects.')\n\u001b[1;32m 1517\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_drawn_artists\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mRuntimeError\u001b[0m: The animation function must return a sequence of Artist objects." ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nM7MS+P8V7H5uxmpUiQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ani" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\ni9209IzmAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def update_line(num, data, line):\n", " line.set_data(data[...,:num])\n", " return line,\n", "\n", "fig1 = plt.figure()\n", "\n", "data = np.random.rand(2, 25)\n", "l, = plt.plot([], [], 'r-')\n", "plt.xlim(0, 1)\n", "plt.ylim(0, 1)\n", "plt.xlabel('x')\n", "plt.title('test')\n", "line_ani = animation.FuncAnimation(fig1, update_line, 25, fargs=(data, l),\n", " interval=50, blit=True)\n", "#line_ani.save('lines.mp4')\n", "\n", "fig2 = plt.figure()\n", "\n", "x = np.arange(-9, 10)\n", "y = np.arange(-9, 10).reshape(-1, 1)\n", "base = np.hypot(x, y)\n", "ims = []\n", "for add in np.arange(15):\n", " ims.append((plt.pcolor(x, y, base + add, norm=plt.Normalize(0, 30)),))\n", "\n", "im_ani = animation.ArtistAnimation(fig2, ims, interval=50, repeat_delay=3000,\n", " blit=True)\n", "#im_ani.save('im.mp4', metadata={'artist':'Guido'})\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "im_ani" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "line_ani" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nGAySpMb/B1E6u0pwJLtkAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def data_gen():\n", " t = data_gen.t\n", " cnt = 0\n", " while cnt < 1000:\n", " cnt+=1\n", " t += 0.05\n", " yield t, np.sin(2*np.pi*t) * np.exp(-t/10.)\n", "data_gen.t = 0\n", "\n", "fig, ax = plt.subplots()\n", "line, = ax.plot([], [], lw=2)\n", "ax.set_ylim(-1.1, 1.1)\n", "ax.set_xlim(0, 5)\n", "ax.grid()\n", "xdata, ydata = [], []\n", "def run(data):\n", " # update the data\n", " t,y = data\n", " xdata.append(t)\n", " ydata.append(y)\n", " xmin, xmax = ax.get_xlim()\n", "\n", " if t >= xmax:\n", " ax.set_xlim(xmin, 2*xmax)\n", " ax.figure.canvas.draw()\n", " line.set_data(xdata, ydata)\n", "\n", " return line,\n", "\n", "ani = animation.FuncAnimation(fig, run, data_gen, blit=True, interval=10,\n", " repeat=False)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ani" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax = plt.subplots()\n", "\n", "#An empty plot\n", "pl,=ax.plot([],[])\n", "ax.set_xlim([0,2*np.pi])\n", "ax.set_ylim([-1,1])\n", "\n", "#animate funcion\n", "def animate_sine(t):\n", " pl.set_data(x,np.sin(x+t/10.0)) \n", " return pl,\n", "\n", "#set a clear initial frame\n", "def init():\n", " pl.set_data([],[])\n", " return pl,\n", "\n", "#blit=True to remove instances from previous frames\n", "ani = animation.FuncAnimation(fig,animate_sine, frames=200, init_func=init, blit=True)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ani" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# WORKING" ] }, { "cell_type": "code", "execution_count": 94, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEICAYAAACj2qi6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFNRJREFUeJzt3X+sZPV93vH3UyAFL8RAudquwQ4mIqYEhaW5IjRGUcyP\nCNPWYMWq7CYWVSxtlDo2dpEq2sqtXf/jWMFuKlcoa5tAHESa2lAQJWmBIEW0CfbF4ccCa9bF2AYv\nuxc3DmAqJ8Cnf9yzZnJ7lz13750535l5v6TRnTnnzN1nZs45z3zPzD2bqkKSpD7+1tABJEnTw9KQ\nJPVmaUiSerM0JEm9WRqSpN4sDUlSb5aGJKk3S0PaBElOTHJLku8n+WaSfzoy78Iku5O8mOSeJD82\nMi9JfiPJd7vLbyTJMI9COjRLQ9oc/wn4K2Ar8EvAtUl+MslJwM3AR4ATgSXgP4/cbwdwOXA28FPA\nPwZ+dYK5pXWJfxEubUySLcBfAGdV1ePdtN8FvgM8AfyzqvrZkWWfBc6pqt1J/hdwfVXt7Ob/CrCj\nqs4b4KFIh+RIQ9q4nwBeOlAYnQeBn+wuDx6YWFXfB77eTWf1/JH7SU2yNKSNOxZ4btW054Djunl/\neZB5rDH/OeBYP9dQqywNaeNeAH501bTXA88fYt5a93098EJ53FiNsjSkjXscODLJ6SPTzgYe6S5n\nH5jYfabx4910Vs8fuZ/UJEtD2qDuc4qbgX+fZEuS84F3AF8AbgHOSvKLSY4G/h3wYFXt7u7+u8C/\nSHJykpOBq4DrJ/4gpJ6OHDqANCP+OXAdsB/4LvBrVfUIQJJfBD4D/B5wH/Dukfv9NnAa8HB3+3Pd\nNKlJfuVWktSbh6ckSb01XxpJLknytSRfT3L10HkkaZ41fXgqyRGsfDPlYuAp4CvAe6rq0UGDSdKc\nan2kcS7w9ap6oqr+Cvh94LKBM0nS3Gr921MnA98euf0U8DOrF0qyg5UTv7Fly5afPuOMMzY9yJ4H\nv7Xpv1OS1uv0s980lt97//33P1tVC4darvXS6KU72dtOgMXFxVpaWtr0f+PtW39t03+nJK3XHy5d\nO5bfm+SbfZZr/fDU08AbR26f0k2TJA2g9dL4CnB6kjcn+RFW/ijqtoEzSdLcavrwVFW9lOTXgf8O\nHAFcd+CvbCVJk9d0aQBU1R3AHUPnkCS1f3hKktQQS0OS1JulIUnqzdKQJPVmaUiSerM0JEm9WRqS\npN4sDUlSb5aGJKk3S0OS1JulIUnqzdKQJPVmaUiSerM0JEm9WRqSpN4sDUlSb5aGJKk3S0OS1Fvz\n/91rkieB54GXgZeqanHYRJI0v5ovjc7bqurZoUNI0rzz8JQkqbdpGGkUcFeSl4HfrqqdQ4R46cdP\nHuKflTTnjvzfTw8d4W+YhpHG+VW1HXg78P4kP7d6gSQ7kiwlWVpeXp58Qkkak9besDZfGlX1dPdz\nP3ALcO4ay+ysqsWqWlxYWJh0REmaG02XRpItSY47cB34BWDXsKkkabJaGm00XRrAVuDeJA8CXwb+\nW1X90cCZJGniWimOpj8Ir6ongLOHziFJLWihOFofaUiSGmJpSJJ6szQkSb1ZGpKk3iwNSVJvloYk\nqTdLQ5LUm6UhSerN0pAk9WZpSJJ6szQkSb1ZGpKk3iwNSVJvloYkqTdLQ5LUm6UhSeqt6f+EqSXP\nv/mYoSNImgPHfeP/Dh3hNTnSkKSGPP/mY5p+k2ppSFKDWi2OJkojyXVJ9ifZNTLtxCR3JtnT/Txh\nyIySNGktjjqaKA3geuCSVdOuBu6uqtOBu7vbkjR3WiqPJkqjqv4E+D+rJl8G3NBdvwG4fKKhJKkx\nLRRHE6VxEFuram93/Rlg68EWTLIjyVKSpeXl5cmkk6Q51HJp/FBVFVCvMX9nVS1W1eLCwsJYMvzZ\njVeN5fdK0jRpuTT2JdkG0P3cP3Aei0PS3Gu5NG4DruiuXwHcOmAWSRKNlEaSm4A/Bd6S5Kkk7wM+\nAVycZA9wUXd7cI42JM2zJk4jUlXvOcisCycapKc/u/Eqzvula4aOIUkT18RIQ5I0HSwNSVJvloYk\nqTdLQ5LUm6UhSerN0pAk9WZpSJJ6szQkSb1ZGpKk3iwNSVJvloYkqTdLQ5phnmBTm83SkGaUhaFx\nsDSkGTRaGJaHNpOlIc2YtUrC4tBmsTSkOWFxaDNYGtIMsRg0bpaGJKm3JkojyXVJ9ifZNTLto0me\nTvJAd7l0yIySpEZKA7geuGSN6Z+uqu3d5Y4JZ5IkrXLk0AEAqupPkpw6dI71eOHkVvpW6s/1tm3H\nPv3K0BEOqfU16ANJHuoOX51wsIWS7EiylGRpeXl5kvkkadNMQ6m3nPBa4DRgO7AXuOZgC1bVzqpa\nrKrFhYWFSeWTps6uT3546Ag6hNaLo9l0VbWvql6uqleAzwLnDp1JmgUWhzai2dJIsm3k5juBXQdb\nVtL6WBxta3m00USyJDcBfwq8JclTSd4HfDLJw0keAt4GuJZLm8jiaFurxdHKt6fes8bkz088iCQ1\npMXiaC+RpIlxtKH1sjQkSb1ZGpKk3iwNSVJvloYkqTdLQ5LUm6UhzTm/QaX1sDQkWRzqzdKQJPVm\naUgCHG2oH0tD0g9ZHDoUS+MwuXFJmkeWxgZYHJLmjaUhSerN0tggRxuS5omlsQksDknzwtLYJBaH\npHlgaUiSemuiNJK8Mck9SR5N8kiSK7vpJya5M8me7ucJQ2eVpHnWRGkALwFXVdWZwHnA+5OcCVwN\n3F1VpwN3d7clSQNpojSqam9VfbW7/jzwGHAycBlwQ7fYDcDlwySUJEEjpTEqyanAOcB9wNaq2tvN\negbYepD77EiylGRpeXl5IjklaR41VRpJjgW+BHyoqp4bnVdVBdRa96uqnVW1WFWLCwsLE0gqSfOp\nmdJIchQrhXFjVd3cTd6XZFs3fxuwf6h8kqRGSiNJgM8Dj1XVp0Zm3QZc0V2/Arh10tkkSa86cugA\nnbcC7wUeTvJAN+1fA58A/iDJ+4BvAv9koHySJBopjaq6F8hBZl84ySyb5cVTXhk6gubA654a/8EC\n1+VhTeI1Xo+20swINzJNyjjWtQOnxHnxlFdclxvQ2utgaWyiXZ/8cFMvrubDgXXO85/Ntlb2LZbG\nJnvig1cNHUFzaLMLwwJqUwvFYWlIU25cb1R8A6S1WBpj4MamWeG6rNUsjTFxY9MkTGI9c13WKEtD\n0lyyDA+PpSFp7hwoDItj/SwNSXPN4lgfS0PSXFmrJCyO/iwNSXPDctg4S2OMXEE1Tq5fm2sans8W\nMloakg6phZ3VJLT8OFvJ1sRZbmfZEx+8itP+4zUc+YYXh46iGfL4uz4y8X9zWtfll77zunUtP62P\nc1IcaUxAK+8QNBuGKIwDpnFdPpydf2uPc8jXfDVLY0JaetE1vVyPDs+Rb3hxakcOrb3mlsYEtfbi\na7q0sv60kmPcWnicLWRYzdKQNBcOZwfc4k57aE2URpI3JrknyaNJHklyZTf9o0meTvJAd7l06Kwb\n5UooTd5Gtju32b+pidIAXgKuqqozgfOA9yc5s5v36ara3l3uGC7i5nEllCZnM7Y3t9lXNVEaVbW3\nqr7aXX8eeAw4edhU4+VKKI3fZm5nbrMrmiiNUUlOBc4B7usmfSDJQ0muS3LCQe6zI8lSkqXl5eUJ\nJd04V0JpfNy+xqOp0khyLPAl4ENV9RxwLXAasB3YC1yz1v2qamdVLVbV4sLCwsTySvNqXnfI8/q4\nRzVTGkmOYqUwbqyqmwGqal9VvVxVrwCfBc4dMqM0lBZ3Vi1m0vg1URpJAnweeKyqPjUyfdvIYu8E\ndk06mzQ0d85qSROlAbwVeC9wwaqv134yycNJHgLeBnx40JTShLVeGK3n0+Zr4oSFVXUvkDVmzcRX\nbNfj7/3dfUNHUCNuPf8zQ0fo5fF3fYSf+OLH52bdnZfHeTBNlMY8W+ud2mX3/voASaTD9/i7PuJ6\nOydaOTylEdPyDlMa1dJ6O84sk3qcLT2foywNSTOl1Z3terT8GCyNRrW80kgHMy/r7bw8zrVYGg2b\n5xVT02vI9XaS//a4/q3Wt3tLo3Gtr0DSWoZYb2fh35yG7d1vT02BtVYkv6ky26Zh59GSoUc3m7E9\nTstr7khjSk3LCqb187Vdnxaer41maOEx9GVpTLFpWtGkcXAbmDxLY8q50cwWX8/pdbiv3bS95paG\n1Ihp23kMrcXna72ZWnwMh5KqGjrDplpcXKylpaWhY0ycH4xPt2nceejg+myPrb3mSe6vqsVDLedI\nY0a0tgJK8+xQ2+M0b69+5XaG3Hr+Z/it3RcNHWPd/vjZM4aOsG4XnLR76AiaAmutJ1eecdcASTaP\nI40ZM40r5LTtgKctr4YxzaOJ12JpqAkXnLS7+Z3xNGRUW1a/iZvGN3WreXhqBl15xl1TeZgKfBev\n2XNge5yFwgBLY2YdbAWd1jKRptmsFAY0cngqydFJvpzkwSSPJPlYN/3EJHcm2dP9PGHorJI0z5oo\nDeAHwAVVdTawHbgkyXnA1cDdVXU6cHd3WxswS+94JE1eE6VRK17obh7VXQq4DLihm34DcPkA8WaO\nxSHpcDVRGgBJjkjyALAfuLOq7gO2VtXebpFngK0Hue+OJEtJlpaXlyeUeLpZHJIOR3OnEUlyPHAL\n8AHg3qo6fmTeX1TVa36uMa+nEdksflA+GZa2WjO1pxGpqu8B9wCXAPuSbAPofu4fMts8cGc2fj7H\nmmZNlEaShW6EQZJjgIuB3cBtwBXdYlcAtw6TcL64Uxsfn1tNuyZKA9gG3JPkIeArrHymcTvwCeDi\nJHuAi7rbmgB3bpvP51SzoIk/7quqh4Bz1pj+XeDCySeSNpeFoVnRRGmoTf5VuaTVWjk8pSniu2Zp\nflkakqTeLA0dFkcb0nyyNHTYLA5p/lga2hCLQ5ovfntKG9a3OOb1W1cWq2aJIw1pjCwMzRpLQxMz\nbzvQeXu8mg+WhiZqXnak8/I4NX/8TEMTd+UZd7HnqTcMHWNs7njhzKEjSGPjSEODOP2U7wwdYWwc\nZWiWWRoazCwWxyw+JmmUpSFtEgtD88DS0KBmZUc7K49DOhRLQ4NzhytND0tDTZjm4pjm7NJ6+ZVb\nNeP0U74zsa/iuqOXDk8TI40kRyf5cpIHkzyS5GPd9I8meTrJA93l0qGzavpZGNLha2Wk8QPggqp6\nIclRwL1J/rCb9+mq+s0Bs2mCxj3asDCkjWlipFErXuhuHtVdasBIGpA7dqldTZQGQJIjkjwA7Afu\nrKr7ulkfSPJQkuuSnDBgRE3QOIrDMpI2rpXDU1TVy8D2JMcDtyQ5C7gW+Dgro46PA9cAv7L6vkl2\nADsA3vSmN00ss9pgGUiT08xI44Cq+h5wD3BJVe2rqper6hXgs8C5B7nPzqparKrFhYWFScbVwCwM\nabKaKI0kC90IgyTHABcDu5NsG1nsncCuIfKpTRaGNHmtHJ7aBtyQ5AhWiuwPqur2JF9Isp2Vw1NP\nAr86YEZJmntNlEZVPQScs8b09w4QR1PAUYY0jCYOT0nrYWFIw2lipCGtxXKQ2uNIQ5LUm6UhSerN\n0pAk9WZpSJJ6szQkSb1ZGpKk3iwNSVJvloYkqTdLQ5LUm6UhSerN0pAk9WZpSJJ6szQkSb1ZGpKk\n3iwNSVJvloYkqTdLQ5LUW1OlkeSIJH+e5Pbu9olJ7kyyp/t5wtAZJWmeNVUawJXAYyO3rwburqrT\ngbu725KkgTRTGklOAf4h8LmRyZcBN3TXbwAun3QuSdKrjhw6wIj/APxL4LiRaVuram93/Rlg61p3\nTLID2NHd/EGSXWNLuflOAp4dOsQ6mXn8pi0vmHkSxpn3x/os1ERpJPlHwP6quj/Jz6+1TFVVkjrI\nvJ3Azu53LVXV4tjCbrJpywtmnoRpywtmnoQW8jZRGsBbgXckuRQ4GvjRJL8H7Euyrar2JtkG7B80\npSTNuSY+06iqf1VVp1TVqcC7gT+uql8GbgOu6Ba7Arh1oIiSJBopjdfwCeDiJHuAi7rbh7JzvJE2\n3bTlBTNPwrTlBTNPwuB5U7XmxwSSJP1/Wh9pSJIaYmlIknqb6tJIcl2S/aN/l9HyqUeSvDHJPUke\nTfJIkiu76U1mTnJ0ki8nebDL+7FuepN5R03bKWmSPJnk4SQPJFnqpjWbOcnxSb6YZHeSx5L8g8bz\nvqV7bg9cnkvyoZYzAyT5cLft7UpyU7dNDpp5qksDuB64ZNW0lk898hJwVVWdCZwHvD/JmbSb+QfA\nBVV1NrAduCTJebSbd9Q0npLmbVW1feR7+C1n/i3gj6rqDOBsVp7rZvNW1de653Y78NPAi8AtNJw5\nycnAB4HFqjoLOIKVb5cOm7mqpvoCnArsGrn9NWBbd30b8LWhM75G9luBi6chM/A64KvAz7SeFziF\nlY3pAuD2aVgvgCeBk1ZNazIz8HrgG3RfpGk97xr5fwH4n61nBk4Gvg2cyMrf1N3eZR8087SPNNbS\n69QjQ0tyKnAOcB8NZ+4O8zzAyh9W3llVTeftHDglzSsj01rPXMBdSe7vTosD7WZ+M7AM/E53CPBz\nSbbQbt7V3g3c1F1vNnNVPQ38JvAtYC/wl1X1Pxg48yyWxg/VShU3953iJMcCXwI+VFXPjc5rLXNV\nvVwrQ/pTgHOTnLVqflN5R09Jc7BlWsvcOb97nt/OymHLnxud2VjmI4G/D1xbVecA32fVIZLG8v5Q\nkh8B3gH8l9XzWsvcfVZxGSsl/QZgS5JfHl1miMyzWBr7ulOO0OKpR5IcxUph3FhVN3eTm84MUFXf\nA+5h5TOklvMeOCXNk8DvAxeMnpIGmsx84F0lVbWflWPt59Ju5qeAp7pRJ8AXWSmRVvOOejvw1ara\n191uOfNFwDeqarmq/hq4GfhZBs48i6XR7KlHkgT4PPBYVX1qZFaTmZMsJDm+u34MK5+/7KbRvDCd\np6RJsiXJcQeus3LceheNZq6qZ4BvJ3lLN+lC4FEazbvKe3j10BS0nflbwHlJXtftOy5k5QsHw2Ye\n+sOeDX5QdBMrx/r+mpV3P+8D/g4rH4LuAe4CThw650je81kZSj4EPNBdLm01M/BTwJ93eXcB/7ab\n3mTeNfL/PK9+EN5sZuA04MHu8gjwb6Yg83ZgqVs3/itwQst5u8xbgO8Crx+Z1nrmj7HyRm0X8AXg\nbw+d2dOISJJ6m8XDU5KkMbE0JEm9WRqSpN4sDUlSb5aGJKk3S0OS1JulIUnq7f8BRIpkQNLEzgMA\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import matplotlib.animation as animation\n", "\n", "fig,ax = plt.subplots()\n", "\n", "def animate(i):\n", " ax.clear()\n", " density1 = gsw_calls.generic_gsw_caller('gsw_rho.m',\n", " [Jan04.variables['vosaline'][i,:,350,:],\n", " Jan04.variables['votemper'][i,:,350,:],\n", " pressure1])\n", " masked_density1 = ma.masked_array(density1, mask = mask)\n", " den = ax.contourf(masked_density1 #, colors='black'\n", " )\n", " fig.colorbar(den, ax=ax1)\n", " ax.set_ylim((40,0))\n", " ax.set_xlim((10,85))\n", " ax.set_title('%03d'%(i)) \n", " return ax\n", "\n", "interval = 2#in seconds \n", "ani2 = animation.FuncAnimation(fig,animate,5,interval=interval*1e+3,blit=False)" ] }, { "cell_type": "code", "execution_count": 95, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ani2" ] }, { "cell_type": "code", "execution_count": 125, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nSHWEx5czAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax = plt.subplots()\n", "\n", "def animate2(i):\n", " ax.clear()\n", " density1 = gsw_calls.generic_gsw_caller('gsw_rho.m',\n", " [Jan04.variables['vosaline'][i,:,350,:],\n", " Jan04.variables['votemper'][i,:,350,:],\n", " pressure1])\n", " masked_density1 = ma.masked_array(density1, mask = mask)\n", " den = ax.contourf(masked_density1, levels = np.linspace(1021, 1026, 9) #, colors='black'\n", " )\n", " ax.set_ylim((40,0))\n", " ax.set_xlim((10,85))\n", " ax.set_title('%03d'%(i)) \n", " return ax\n", "\n", "interval = 2#in seconds \n", "ani3 = animation.FuncAnimation(fig,animate2,5,interval=interval*1e+3,blit=False)" ] }, { "cell_type": "code", "execution_count": 126, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ani3" ] }, { "cell_type": "code", "execution_count": 127, "metadata": { "collapsed": true }, "outputs": [], "source": [ "mywriter = animation.FFMpegWriter(fps=50)" ] }, { "cell_type": "code", "execution_count": 140, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(1, 100)" ] }, "execution_count": 140, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.contourf(ma.masked_array(Jan04.variables['vosaline'][72,:,350,:], mask=mask))\n", "plt.ylim(40,0)\n", "plt.xlim(1,100)" ] }, { "cell_type": "code", "execution_count": 141, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(1, 100)" ] }, "execution_count": 141, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFe5JREFUeJzt3X2MZXV9x/HPpyssFhChTtYVdl1LCE8mLDqhWIxRVnRr\nTcGkoZBoNxU7/mGpgG3lIaYa0tRWhfoPJuOCrq3BEsRCtqClWxJKYsBZRVhcV3xgeXAfhqo8NClb\n8Ns/7hn27nTu3HPP88P7lUxm7rnnzP3e39z7Od/53XPPdUQIANBdv1F3AQCAchH0ANBxBD0AdBxB\nDwAdR9ADQMcR9ADQcbmC3vZG27ts/9j2lUUVBQAojrMeR297haQfSTpP0pOSviPp4oj4QXHlAQDy\nytPRnyXpxxHx04g4IOlrks4vpiwAQFFekWPb4yU9MXT5SUm/s3gl2zOSZiTpyCOPfPMpp5yS4ybr\n86Nde+suoRT+nwN1l5BZHHH4ksvbfJ9w0ElnrK27hMbYvn370xExlXX7PEGfSkTMSpqVpOnp6Zib\nmyv7Jkux4R1/W3cJpTp85xPjV2qYA6euGXldG+8PDnXX3A11l9AYtnfn2T7P1M1TkoafaScky9BC\ny4VmE7WtXqBOeYL+O5JOsv0G24dLukjSHcWUhToQnkA3ZZ66iYgXbf+ZpG9JWiHppoh4pLDKUAum\nQ4DuyTVHHxF3SrqzoFqQwzMnrpQkHfOTF0q7jYWdAIEPtAvvjO2AhZCvShumeNpQI1AVgr5jqgr9\nOoOUEAcmQ9C3XNXdPID2IehbbFTI96GrB5Be6W+YQrGa1sEfOHUNL84CDUdH3yKThHzTdgh14D8O\nYICgb4kmB3eVgUp4A5Mj6Fsga8g3eecAoDoEfcO1Jayb2mk3tS6gSgR9gxUR8m3ZUaRBaAPZEPQN\n1aWABlAvgr6Big75LhxXTzcPZEfQNwydfPHYSaDvCPoG6ULIE6pA8xD0DVF2yLd5J8LOA8iHoEfh\nCGagWQj6Bmhzt90W7HzQZ5zUDKXIc7IzQhkoVq6gt/2YpOckvSTpxYiYLqIodANntgSaoYipm3dE\nxHpCPpsqp23aMEXEsfhA8ZijR6kIV6B+eYM+JP277e22Z4ooCABQrLxB/9aIWC/p9yR9xPbbFq9g\ne8b2nO25+fn5nDfXLW2YSikCXT1Qr1xBHxFPJd/3S/qGpLOWWGc2IqYjYnpqairPzQG5sdNBH2UO\nettH2j564WdJ75K0o6jCuq4v3fwkCGGgHHk6+lWS7rP9fUkPSPrXiPhmMWWhLHXtYAhxoD6Zj6OP\niJ9KOqPAWgAAJeDwyhr0ddqmKV19U+oAqkLQ5/TMiSt7G9xZjApZwhcoD0GPyhHqQLUI+hyydPJ0\n/wOEPVAdzl7ZQ8+cuFLH/OSFusuoNew54Rr6hI6+QnTzAOpA0ANAxxH0BaFbB9BUBH1F2BEAqAtB\nnxHBDaAtCHr0Fod4oi8I+pTyvAOW7h9AnQj6CS0X+G0K9DbVCiAfgr5kBCqAuhH0ANBxBD0AdBzn\nuikYUzUAmoaOHr3GIZboA4IeADpubNDbvsn2fts7hpYdZ/tu248m348tt0wAQFZpOvovS9q4aNmV\nkrZFxEmStiWXAQANNDboI+JeSb9YtPh8SVuSn7dIuqDgugAABck6R78qIvYkP++VtGrUirZnbM/Z\nnpufn894cygDRwg1By8Ko0y5X4yNiJAUy1w/GxHTETE9NTWV9+ZqM7f5irpLAIBMsgb9PturJSn5\nvr+4koBq1d1NL9x+3XWgu7IG/R2SNiU/b5J0ezHlNBtdPYA2SnN45c2Svi3pZNtP2r5E0qclnWf7\nUUnvTC4DyImuHmUYewqEiLh4xFUbCq6lFeY2X6HpD11XdxnoCIIdVeCdsUDDEP4oGkEPNBBhjyIR\n9IDqCVbCHFUh6AGg4wj6nuPdsUD3EfQA0HEEPVCDNPPzzOGjKAQ9AHQcQQ8k6KDRVQQ9UKADp65h\nh4HGIeiBEiwX9pPsCNhpoAgEPVCQxaFMSKMpCHpgQnftvUF37b0h07aEP+pA0AMZpQl7gh1NQNA3\nzHOv98tfVeHdsemNCvdxc/J5Ap+dBfIi6BtkcbhXGfbIZpIpHAIbdSHoG4JQb4blwjjrvDxQN4K+\n4dgBAMgrzWfG3mR7v+0dQ8s+afsp2w8mX+8pt8xuGxfmhD36hDedFS9NR/9lSRuXWH59RKxPvu4s\ntiwAfUTAl2Ns0EfEvZJ+UUEtQCMQNvVg3MuTZ47+UtsPJVM7x45ayfaM7Tnbc/Pz8zlurpvSTsuU\nPX3DIZbN1vUQ7Pr9q1vWoP+CpN+WtF7SHkmfG7ViRMxGxHRETE9NTWW8OaC5OBonH0K+fJmCPiL2\nRcRLEfFrSV+UdFaxZfXDpF06L8pWh/BBl2QKeturhy6+T9KOUesCfbDtnqvqLqGV2KFWI83hlTdL\n+rakk20/afsSSX9v+2HbD0l6h6TLS66zc+jOu4ewnwwhX51XjFshIi5eYvGNJdSCFJ57vXX07qi7\njF44cOoaHb7zibrL6CRCvlq8MxZApQj56hH0Ncg7bcO0Tz91ISC7cB/aiKAHUAlCvj4EfUvR1VeD\ncEIXEPQASscOs14EfcWK7MTp6puHQyzRRAQ9Xsb5bpqvjZ1xG2vuGoK+5ejqyzdpUNHVH0TINwNB\nDwAdR9BXiO67P8rs6tvSJbelzj4g6DugyB0I8/TFYQoHTUHQZzC3+Yq6S0DF6E4nw3g1y9iTmiG7\nKqdqONkZmoKQbx46+ozo6lEnwhSTIOhzaFrYF/UfBPP0yOLAqWvYATUUQQ8gNwK+2Qj6nJrW1aM/\nmhCudPHtQNB3DMfqoyoEfHuMPerG9hpJX5G0SlJImo2Iz9s+TtI/S1on6TFJF0bEL8srFVV65sSV\nOuYnL9RdBsYo6+MOqw5xXhcqV5qO/kVJH4uI0ySdLekjtk+TdKWkbRFxkqRtyWU0AF09smIqppvG\nBn1E7ImI7yY/Pydpp6TjJZ0vaUuy2hZJF5RVJIDRigjmOgOebr58E71hyvY6SWdKul/SqojYk1y1\nV4OpnaW2mZE0I0lr167NWmfr1N1VF/EGKqZv2mOpKRw6cyxIHfS2j5L0dUmXRcSz9sEgi4iwvWSq\nRMSspFlJmp6e7sVbN+sO+QWEfb+0Mdjp5quR6qgb24dpEPJfjYjbksX7bK9Orl8taX85JbZLU0J+\nQRH1PHPiSp6QQIuNDXoPWvcbJe2MiOuGrrpD0qbk502Sbi++vHZ47vV++auJeMcs0G9ppm7OkfQB\nSQ/bfjBZdrWkT0u6xfYlknZLurCcEtEkC2HPdA7yonGoztigj4j7JI1qCTcUWw7KUvTZLYefpIQ+\nJkXIV4vTFPfIwhRO0aczzvOkZSfRH4R7fTgFQg816fWEhRd66wqBtLed9dOi+JQpXsxvAjr6Auz6\nxOU6+drr6y5jYmV1+FktFQZldvzDtzf82kMZ01Jpg64r/+EQ7M3iiOqe5NPT0zE3N1fZ7VWtjWE/\nrCmBv5QiA3DSECriDKXTH7pu/ErLKHoHsNxOdbnxWVxHmYHOmWEPsr09Iqazbk9Hj5cNT+c0LfSL\neONWnV3m3OYrcoV9Ef/tjLv/acaHTr2dCPoCtXUKZymj5vDr3AHUETJN7ioJXaRF0GMiaV7Ebdp/\nA0DfEfQo3LidQZN2BFUffVT07RU9lnmnmNBMBH1LvbD2wNh1Vj5+eAWVTC5L2OUJtKYcSlpGHWl/\n51Ljt/g1mYVpquXCfqnbW+5v05Sx7zuCvkXShHue9Yc1bSdBYOQzbvyWey1i3Lb8bZqPoG+BPIFd\n5202bWeB9OY2X9GZAwtA0DdSHcFehqXuR9PCf7mxLrrW4aOyyvwbT1r3rk9cPnJ5XWE/qiZkQ9AX\nbNInR1dCPa2i7+9yoZb3tsoKm7L/5qN+f1E7rjLqb1oD0DW8M7Yki8O+b4Hedo9t+nhpv3vdlr8r\n7XdPYiFcx+3Qqq63zLFvK94Z22CEO5qsiY9PQr4cnL2yJMwxtlfZYdO2MFuu3rUnPJ36C/Who0dr\njAqLx598TSm/t0yPbfq43rbtLyfeLs19XXx/8o6PNKh3YQon63iN2+7eDZ/J9HsxHkFfouEnR1ma\n1CmNC5Syam3SGJQty30tcgfZp7HukrFBb3uNpK9IWiUpJM1GxOdtf1LSn0qaT1a9OiLuLKvQtioi\n7Nvy5GpLnRhYe8LTE3XRWf8LQf3SdPQvSvpYRHzX9tGSttu+O7nu+oj4bHnldQ9hiKbIMlVy74bP\nEPYtlObDwfdI2pP8/JztnZKOL7uwLqETQt+9+7U76y6h1yaao7e9TtKZku6XdI6kS23/saQ5Dbr+\nXy6xzYykGUlau3ZtznLbi04ITfHu1+7UNadvzbz9vRs+o7955L0vX/7W3lNf/r1optRBb/soSV+X\ndFlEPGv7C5Ku1WDe/lpJn5P0wcXbRcSspFlp8IapIooGytKlIz+qCl4CvvlSBb3twzQI+a9GxG2S\nFBH7hq7/oqTsLQLQAFWH/MJ/eYuDcqFDXoxARVZpjrqxpBsl7YyI64aWr07m7yXpfZJ2lFMisLRR\nwTcqKJfbNs02VSHQUbQ0Hf05kj4g6WHbDybLrpZ0se31GkzdPCbpw6VUiM4pO8iy/P66pmwWz3cD\nZUhz1M19kpb6ZAGOmS8IHVy/XXP6VsIepeKdsRUa7hqXmptFPfIcgQK0ASc1q0mXju5AflXubIq4\nraLrZWdbLoK+Rjy46/eHr/pu3SUApWPqBrWrImxvffZNjQ/1Kubqi2wuiqqXhqd8fMJUA9T5QlzT\nw68KJ6/5ed0lHKKsx0NZgZq3XoJ+PD5hCqkR6mgaQr4aBH0DLH6wF9XREexYUGagZp3CIeSrQ9A3\n0PATZ7mwvvXZN/2/ZYT7ZJo2bVMGAhUEfUNdc/pW7XridcuuQ6jn04eQr8pCczL8mFyqERleH9Uh\n6IEOq/r4/OHmZFQjwg62ehxH32A8IcrD2KJP6Ogb7uQ1Px87hYNuafO0xrjHKzvYetDRAygUYd48\nBH0L8MRBF/A4rg9BD6Bwi0OdkK8XQd8SPFEAZEXQtwhhjzZZeLzyuK0fR920zOInDUfkoMkI+WYY\n29HbPsL2A7a/b/sR259Klh9n+27bjybfjy2/XADApNJM3bwg6dyIOEPSekkbbZ8t6UpJ2yLiJEnb\nksuoGB0TgHHGBn0MPJ9cPCz5CknnS9qSLN8i6YJSKgQA5JLqxVjbK2w/KGm/pLsj4n5JqyJiT7LK\nXkmrRmw7Y3vO9tz8/HwhReNQdPUAlpPqxdiIeEnSetuvlvQN229cdH3YXvKjqiJiVtKsNPiEqZz1\nYgRepF0eO0P02USHV0bEryTdI2mjpH22V0tS8n1/8eUhK4LtIMYCfZfmqJuppJOX7VdKOk/SDyXd\nIWlTstomSbeXVSQAILs0UzerJW2xvUKDHcMtEbHV9rcl3WL7Ekm7JV1YYp3IgDNf0s0DUoqgj4iH\nJJ25xPL/krShjKJQHMIeAO+M7YG+vlBLNw8McK4bAOg4gr6H6HSBfiHoAaDjCPqeoqsH+oOg7zHC\nHugHjrrpueXCvi9H5wBdR0ePkdrc8be5dqBoBD06h5AHDkXQY1mEJtB+BD3GalPYt6lWoCoEPTqD\nkAeWRtAjFUIUaC+CHp3AjggYjaBHaoQp0E4EPSbSxLBvYk1AkxD0aDVCHhiPUyBgYmV8ahWBDZQn\nzYeDH2H7Advft/2I7U8lyz9p+ynbDyZf7ym/XDQFwQy0R5qO/gVJ50bE87YPk3Sf7buS666PiM+W\nVx76gJ0GUK6xHX0MPJ9cPCz5ilKrQisUEdCEPFC+VC/G2l5h+0FJ+yXdHRH3J1ddavsh2zfZPra0\nKgEAmTkifXNu+9WSviHpUknzkp7WoLu/VtLqiPjgEtvMSJqRpLVr17559+7dBZSNJlnuhVk6diA/\n29sjYjrr9hMdXhkRv5J0j6SNEbEvIl6KiF9L+qKks0ZsMxsR0xExPTU1lbVOAEBGaY66mUo6edl+\npaTzJP3Q9uqh1d4naUc5JaKt6OaBZkhz1M1qSVtsr9Bgx3BLRGy1/Y+212swdfOYpA+XVybahpAH\nmmNs0EfEQ5LOXGL5B0qpCABQKE6BgMLRzQPNwikQkBvBDjQbHT0AdBxBDwAdR9ADQMcR9ADQcQQ9\nAHQcQQ8AHUfQA0DHEfQA0HEEPQB0HEEPAB1H0ANAxxH0ANBxBD0AdBxBDwAdR9ADQMcR9ADQcQQ9\nAHRc6qC3vcL292xvTS4fZ/tu248m348tr0wAQFaTdPQflbRz6PKVkrZFxEmStiWXAQANkyrobZ8g\n6fclbR5afL6kLcnPWyRdUGxpAIAipP1w8H+Q9FeSjh5atioi9iQ/75W0aqkNbc9ImkkuPm97V5ZC\nO+I1kp6uu4gGYTwOYiwOxXgc6uQ8G48NetvvlbQ/IrbbfvtS60RE2I4R181Kms1TZFfYnouI6brr\naArG4yDG4lCMx6Fsz+XZPk1Hf46kP7D9HklHSHqV7X+StM/26ojYY3u1pP15CgEAlGPsHH1EXBUR\nJ0TEOkkXSfqPiHi/pDskbUpW2yTp9tKqBABkluc4+k9LOs/2o5LemVzG8pjCOhTjcRBjcSjG41C5\nxsMRS06tAwA6gnfGAkDHEfQA0HEEfUlsr7F9j+0f2H7E9keT5b09dQSn0TjI9qtt32r7h7Z32n5L\nX8fD9uXJc2SH7ZttH9GnsbB9k+39tncMLRt5/21fZfvHtnfZfnea2yDoy/OipI9FxGmSzpb0Edun\nqd+njuA0Ggd9XtI3I+IUSWdoMC69Gw/bx0v6c0nTEfFGSSs0OLqvT2PxZUkbFy1b8v4nGXKRpNOT\nbW6wvWLsLUQEXxV8aXD46XmSdklanSxbLWlX3bVVdP9PSB6w50ramizr61gcI+lnSg6GGFreu/GQ\ndLykJyQdp8H7erZKelffxkLSOkk7xj0WJF0l6aqh9b4l6S3jfj8dfQVsr5N0pqT7lfLUER20cBqN\nXw8t6+tYvEHSvKQvJVNZm20fqR6OR0Q8Jemzkh6XtEfSMxHxb+rhWCwy6v4v7BgXPJksWxZBXzLb\nR0n6uqTLIuLZ4etisEvu/PGtw6fRGLVOX8Yi8QpJb5L0hYg4U9J/a9HURF/GI5l7Pl+Dnd/rJB1p\n+/3D6/RlLEYp4v4T9CWyfZgGIf/ViLgtWbwvOWWEenTqiIXTaDwm6WuSzh0+jYbUq7GQBl3YkxFx\nf3L5Vg2Cv4/j8U5JP4uI+Yj4X0m3Sfpd9XMsho26/09JWjO03gnJsmUR9CWxbUk3StoZEdcNXdW7\nU0cEp9E4RETslfSE7YUzEm6Q9AP1czwel3S27d9MnjMbNHhhuo9jMWzU/b9D0kW2V9p+g6STJD0w\n7pfxztiS2H6rpP+U9LAOzktfrcE8/S2S1kraLenCiPhFLUXWIDkD6l9ExHtt/5Z6Oha212vw+Q6H\nS/qppD/RoPHq3XjY/pSkP9LgSLXvSfqQpKPUk7GwfbOkt2twauZ9kv5a0r9oxP23fY2kD2owXpdF\nxF1jb4OgB4BuY+oGADqOoAeAjiPoAaDjCHoA6DiCHgA6jqAHgI4j6AGg4/4P7PNCeHfTxrIAAAAA\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.contourf(ma.masked_array(Jan04.variables['votemper'][72,:,350,:], mask=mask))\n", "plt.ylim(40,0)\n", "plt.xlim(1,100)" ] }, { "cell_type": "code", "execution_count": 142, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def calc_rho(Sal, TempC, P):\n", " \"\"\" Calculate rho: Based on SOG code\n", " \"\"\"\n", " \n", " # Calculate the square root of the salinities\n", " sqrSal = np.sqrt(Sal)\n", "\n", " # Calculate the density profile at the grid point depths\n", " # Pure water density at atmospheric pressure\n", " # (Bigg P.H., (1967) Br. J. Applied Physics 8 pp 521-537)\n", " R1 = ((((6.536332e-9 * TempC - 1.120083e-6) * TempC + 1.001685e-4)\n", " * TempC - 9.095290e-3) * TempC + 6.793952e-2) * TempC - 28.263737\n", " R2 = (((5.3875e-9 * TempC - 8.2467e-7) * TempC + 7.6438e-5)\n", " * TempC - 4.0899e-3) * TempC + 8.24493e-1\n", " R3 = (-1.6546e-6 * TempC + 1.0227e-4) * TempC - 5.72466e-3\n", "\n", " # International one-atmosphere equation of state of seawater\n", " SIG = (4.8314e-4 * Sal + R3 * sqrSal + R2) * Sal + R1\n", "\n", " # Specific volume at atmospheric pressure\n", " V350P = 1.0 / 1028.1063\n", " SVA = -SIG * V350P / (1028.1063 + SIG)\n", "\n", " # Density anomoly at atmospheric pressure\n", " rho = 28.106331 - SVA / (V350P * (V350P + SVA)) + 1000\n", " \n", " return rho" ] }, { "cell_type": "code", "execution_count": 145, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 loop, best of 3: 284 ms per loop\n" ] } ], "source": [ "%%timeit\n", "rho1 = calc_rho(Jan04.variables['vosaline'][0,:,350,:],\n", " Jan04.variables['votemper'][0,:,350,:],\n", " pressure1)" ] }, { "cell_type": "code", "execution_count": 146, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 loop, best of 3: 4.21 s per loop\n" ] } ], "source": [ "%%timeit\n", "i=0\n", "density1 = gsw_calls.generic_gsw_caller('gsw_rho.m',\n", " [Jan04.variables['vosaline'][i,:,350,:],\n", " Jan04.variables['votemper'][i,:,350,:],\n", " pressure1])" ] }, { "cell_type": "code", "execution_count": 149, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(40, 284)" ] }, "execution_count": 149, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rho1.shape" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" } }, "nbformat": 4, "nbformat_minor": 2 }