{ "metadata": { "name": "", "signature": "sha256:b6e27ca4dc541642431ff456da8c88a4d07f19638f541af3ad784feaf2116b2f" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook describes the recommended process for development of\n", "functions for the `salishsea_tools.nowcast.figures` module,\n", "and provides an example of development of such a function." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "\n", "import os\n", "\n", "import matplotlib.pyplot as plt\n", "import netCDF4 as nc\n", "\n", "from salishsea_tools import nc_tools\n", "\n", "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "The Big Goal" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The big goal of this notebook is to define conventions for functions\n", "that will live in `salishsea_tools.nowcast.figures` and be called\n", "by automation code to produce daily plots showing features of the results\n", "of real-time (nowcast and forecast) run of the SalishSeaCast NEMO model.\n", "\n", "Let's start with a simple example objective:\n", "\n", "an hourly plot of model sea surface height (ssh) at Pt. Atkinson\n", "\n", "To get that plot on a daily basis we need to provide a function\n", "that takes the hourly `grid_T` results dataset from NEMO\n", "and returns a Matplotlib `figure` object." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So,\n", "we'll have a function defintion like:\n", "```python\n", "def ssh_PtAtkinson(grid_T, bathy=None, figsize=(12, 4)):\n", " \"\"\"Return a figure containing a plot of hourly sea surface height at Pt. Atkinson.\n", " \n", " :arg grid_T: Hourly tracer results dataset from NEMO.\n", " :type grid_T: :class:`netCDF4.Dataset`\n", " \n", " :arg bathy: Bathymetry dataset for the SalishSeaCast NEMO model.\n", " :type bathy: :class:`netCDF4.Dataset`\n", " \n", " :arg figsize: Figure size (width, height) in inches.\n", " :type figsize: 2-tuple\n", " \n", " :returns: Matplotlib figure object\n", " \"\"\"\n", " fig, ax = plt.subplots(1, 1, figsize=figsize)\n", " ...\n", " return fig\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "that the automation code can use like:\n", "```python\n", "from salishsea_tools.nowcast import figures\n", "\n", "grid_T = nc.Dataset('nowcast/28oct14/SalishSea_1h_20141028_20141028_grid_T.nc')\n", "fig = figures.ssh_PtAtkinson(grid_T)\n", "\n", "# Render to figure object for display on a web page\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course,\n", "it's not just the automation code that can use the `salishsea_tools.nowcast.figures` functions,\n", "you and your colleagues can use them in exactly the same way in your notebooks." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Conventions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are a bunch of conventions implied in our function definition fragment:\n", "```python\n", "def ssh_PtAtkinson(grid_T, bathy=None, figsize=(12, 4)):\n", " \"\"\"Return a figure containing a plot of hourly sea surface height at Pt. Atkinson.\n", " \n", " :arg grid_T: Hourly tracer results dataset from NEMO.\n", " :type grid_T: :class:`netCDF4.Dataset`\n", " \n", " :arg bathy: Bathymetry dataset for the SalishSeaCast NEMO model.\n", " :type bathy: :class:`netCDF4.Dataset`\n", " \n", " :arg figsize: Figure size (width, height) in inches.\n", " :type figsize: 2-tuple\n", " \n", " :returns: Matplotlib figure object\n", " \"\"\"\n", " fig, ax = plt.subplots(1, 1, figsize=figsize)\n", " ...\n", " return fig\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* It's probably too early to say anything about a function naming convention,\n", " other than the function names don't need to contain words like `plot`, \n", " `figure`,\n", " `nowcast`,\n", " `realtime`,\n", " or `forecast`\n", " because their package and module context implies those things." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* We'll pass `netCDF4.Dataset` objects (like `grid_T`) into the functions\n", " rather than passing in file names because the chances are good that\n", " a given dataset (like bathymetry) will be used in more than one function.\n", " By making it the caller's job to load the dataset we avoid\n", " having multiple copies of it in memory,\n", " and the repeatedly doing the comparitively slow process of reading the dataset from disk." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Since many of our functions will need to use the model bathymetry\n", " we'll include a slot for it as the first keyword argument to the function\n", " but we'll set its default value to `None` so that we don't have to\n", " deal with it in functions like `ssh_PtAtkinson()` that don't use it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Including `figsize` as an argument with a default value\n", " allows the caller to adjust the size of the figure to their needs.\n", " Please choose an aspect ratio for `figsize` that is appropriate to\n", " the information in the figure;\n", " it serves as a hint for other users." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Include a docstring in the function and use the Sphinx `:arg ...:`, \n", " `:type ...:`,\n", " and `:returns:` markup\n", " (see the Sphinx [Info Field Lists](http://sphinx-doc.org/domains.html#info-field-lists) documentation)\n", " so that the nice looking documentation like \n", " [this](http://salishsea-meopar-tools.readthedocs.org/en/latest/SalishSeaTools/salishsea-tools.html#module-viz_tools)\n", " will be generated automatically." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Use the Matplotlib object interface,\n", " starting with a call to `plt.subplots()` to create `figure` and `axes` instances.\n", " Most of your plotting commands will be `axes` method calls\n", " (e.g. `ax.plot(...)`),\n", " with a few `figure` method calls,\n", " and rare `plt` method calls.\n", " That minimized global state and side-effects that may interfere with other plot functions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Return the `figure` object so that the automation code can render it appropriately\n", " for inclusion in a web page.\n", " If you,\n", " or someone else,\n", " calls your function in a notebook it will render automatically,\n", " in the notebook if `%matplotlib inline` has been set,\n", " or in a separate window otherwise." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Developing a New `nowcast.figures` Function" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The recommended workflow to develop a new `nowcast.figures` function is:\n", "\n", "1. Create the function in a notebook cell.\n", "\n", "2. Create 1 or more notebook cell(s) containing code\n", "to prepare the inputs for the function,\n", "and call the function;\n", "i.e. to drive the function.\n", "\n", "3. Iteratively test and edit the cells in steps 1 and 2\n", "until the function produces the plot that you want.\n", "\n", "4. Export the function to `nowcast.figures`.\n", "\n", "5. Use your favourite code editor to do any necessary clean-up in `nowcast.figures`.\n", "\n", "6. Commit and push your `nowcast.figures` changes." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Function Definition" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#%%writefile -a figures.py\n", "\n", "def ssh_PtAtkinson(grid_T, bathy=None, figsize=(12, 4)):\n", " \"\"\"Return a figure containing a plot of hourly sea surface height at Pt. Atkinson.\n", " \n", " :arg grid_T: Hourly tracer results dataset from NEMO.\n", " :type grid_T: :class:`netCDF4.Dataset`\n", " \n", " :arg bathy: Bathymetry dataset for the SalishSeaCast NEMO model.\n", " :type bathy: :class:`netCDF4.Dataset`\n", " \n", " :arg figsize: Figure size (width, height) in inches.\n", " :type figsize: 2-tuple\n", " \n", " :returns: Matplotlib figure object\n", " \"\"\"\n", " fig, ax = plt.subplots(1, 1, figsize=figsize)\n", " ssh = grid_T.variables['sossheig']\n", " results_date = nc_tools.timestamp(grid_T, 0).format('YYYY-MM-DD')\n", " ax.plot(ssh[:, 468, 328], 'o')\n", " ax.set_xlim(0, 23)\n", " ax.set_xlabel('UTC Hour on {}'.format(results_date))\n", " ax.set_ylabel('{label} [{units}]'.format(label=ssh.long_name.title(), units=ssh.units))\n", " ax.grid()\n", " ax.set_title('Pt. Atkinson Hourly Sea Surface Height on {}'.format(results_date))\n", " return fig\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 19 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Function Driver" ] }, { "cell_type": "code", "collapsed": false, "input": [ "grid_T = nc.Dataset(\n", " os.path.expanduser('~/MEOPAR/downloaded_results/SalishSea/nowcast/30oct14/SalishSea_1h_20141030_20141030_grid_T.nc'))\n", "\n", "fig = ssh_PtAtkinson(grid_T)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nzKxJ/x/4VPeoFEzyMwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "ax = fig.axes[0]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "ax.set_axis_bgcolor('#2b3e50')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "fig.set_facecolor('#2b3e50')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "fig" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "png": "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\n", "prompt_number": 15, "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }