{ "metadata": { "kernelspec": { "codemirror_mode": { "name": "ipython", "version": 3 }, "display_name": "IPython (Python 3)", "language": "python", "name": "python3", "pygments_lexer": "ipython3" }, "name": "", "signature": "sha256:b8a88816f76dcd27f87aee37b30697fad662c747ac283c709e3f6cf2df99bfa1" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "from IPython.core.display import HTML\n", "\n", "with open('creative_commons.txt', 'r') as f:\n", " html = f.read()\n", "\n", "name = '2014-11-10-OI2'\n", "\n", "html = '''\n", "\n", "
This post was written as an IPython notebook.\n", " It is available for download\n", " or as a static html.
\n", "\n", "%s''' % (name, name, html)\n", "\n", "%matplotlib inline\n", "from matplotlib import style\n", "style.use('ggplot')\n", "\n", "\n", "from datetime import datetime\n", "\n", "title = \"Gridding data part 2\"\n", "hour = datetime.utcnow().strftime('%H:%M')\n", "comments=\"true\"\n", "\n", "date = '-'.join(name.split('-')[:3])\n", "slug = '-'.join(name.split('-')[3:])\n", "\n", "metadata = dict(title=title,\n", " date=date,\n", " hour=hour,\n", " comments=comments,\n", " slug=slug,\n", " name=name)\n", "\n", "markdown = '''Title: {title}\n", "date: {date} {hour}\n", "comments: {comments}\n", "slug: {slug}\n", "\n", "{{% notebook {name}.ipynb cells[1:] %}}\n", "'''.format(**metadata)\n", "\n", "content = os.path.abspath(os.path.join(os.getcwd(), os.pardir, os.pardir, '{}.md'.format(name)))\n", "with open('{}'.format(content), 'w') as f:\n", " f.writelines(markdown)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "(This post is the second part of\n", "[Gridding data](https://ocefpaf.github.io/python4oceanographers/blog/2014/10/27/OI/).)\n", "\n", "In the first part we implemented a function to interpolate scattered\n", "observations to a grid. Our function took a correlation length and an\n", "estimated error and, using a fixed Gaussian correlation function, interpolate\n", "the observations to a rectangular grid. Remember that we had to guess the\n", "parameters and hope for the best fit. (BTW: A good first guess for the\n", "correlation length is the first would be the first Baroclinic Rossby radius.)\n", "\n", "In this post we extend our gridding function to take different correlation\n", "functions (Gaussian, Markov and LeTraon functions), but most importantly we\n", "will estimate the parameters `R` (Correlation length scale) and `lamb`\n", "(error variance).\n", "\n", "For this we need a function to express the `R`, the grid and\n", "the observed positions in kilometers (for an easier interpretation of the\n", "length scale `R`). We also need a function to estimate the scale using either\n", "a Gaussian or a Markov function.\n", "\n", "(For more information check the\n", "[original](http://marine.rutgers.edu/dmcs/ms615/jw_matlab/oi/myfunction.m)\n", "MatlabTM program and\n", "[this paper](http://link.springer.com/article/10.1007%2Fs10236-001-0011-2).)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "\n", "\n", "def ll2km(lon, lat, bbox):\n", " \"\"\"xkm, ykm will be the coordinates of the data (converted from lon/lat).\"\"\"\n", " rearth = 6370800 # Earth radius [m].\n", " deg2rad = np.pi/180\n", " ykm = rearth * (lat - bbox[2]) * deg2rad / 1000\n", " xkm = rearth * ((deg2rad * (lon - bbox[0])) *\n", " np.cos(deg2rad * 0.5 * (lat + bbox[2])) / 1000)\n", "\n", " return xkm, ykm\n", "\n", "\n", "def func(a, x, fx, method='markov'):\n", " \"\"\"Compute the mean squared misfit between an analytical function\n", " (e.g. Gaussian or Markov function) and a set of data FX observed at\n", " independent coordinates X.\n", " \n", " http://marine.rutgers.edu/dmcs/ms615/jw_matlab/oi/myfunction.m\n", "\n", " Parameters\n", " ----------\n", " a : float\n", " Parameters of analytically function\n", " x : array\n", " Locations of data\n", " fx : array\n", " Observed function values (data).\n", "\n", " method : string\n", " Specifies the shape of the function to be fitted:\n", " Must be one of 'gauss', 'markov' (default) or 'letra' (LeTraon).\n", "\n", " In all cases, two parameters are fit a[0] is the y-intercept at x=0\n", " a[1] is the characteristic scale of the fitted function.\n", " \"\"\"\n", "\n", " # Gaussian function f = a0 * exp(-0.5 * (r/a)**2).\n", " if method == 'gauss':\n", " r = x / a[1]\n", " fit = a[0] * np.exp(-0.5 * r**2)\n", " # Markov function f = a0 * (1 + r/a) * exp(-r/a).\n", " elif method == 'markov':\n", " r = np.abs(x) / a[1]\n", " fit = a[0] * (1+r) * np.exp(-r)\n", " # Le Traon function f = a0 * exp(-r/a) * (1+r/a+(r**2) / 6-(r**3) / 6.\n", " elif 'letra':\n", " r = np.abs(x) / a[1]\n", " rsq = r**2\n", " fit = a[0] * np.exp(-r) * (1 + r + rsq / 6 - (r * rsq) / 6)\n", " else:\n", " raise ValueError(\"Unrecognized method {!r}. Must be one of 'gauss',\"\n", " \" 'markov' or 'letra'.\".format(method))\n", "\n", " return np.mean((fit - fx)**2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below is our new gridding function. The function takes the correlation length\n", "`R`, an estimated error variance `lamb` along with the grid, observed data and\n", "observed positions. So far it is very similar to our previous gridding\n", "function. The main difference is that now we can pass either `Gaussian` or\n", "`Markov` as the correlation function." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def optinter(R, lamb, x, y, data, xdata, ydata, cov_func='markov'):\n", " \"\"\"The code uses optimal interpolation to map irregular spaced observations\n", " onto a regular grid.\n", " \n", " http://marine.rutgers.edu/dmcs/ms615/jw_matlab/oi/oi_mercator.m\n", "\n", " Parameters\n", " ----------\n", " R : float\n", " Square root of the de-correlation length scale in units of deg**2.\n", " lambda : float\n", " error squared to signal squared or E.\n", " X, Y : array\n", " Grid of the locations for theta.\n", " data : array\n", " Observations.\n", " xdata, ydata : array\n", " Observed locations.\n", "\n", " Returns\n", " -------\n", " theta : array\n", " Optimal interpolated data.\n", " err : array\n", " Estimated optimum error.\n", " res : array\n", " Residue fit.\n", " \"\"\"\n", " X, Y = ll2km(*np.meshgrid(x, y), bbox=bbox)\n", " \n", " # Ars.\n", " xkm, ykm = ll2km(xdata, ydata, bbox)\n", " xr, yr = np.meshgrid(xkm, ykm)\n", "\n", " # Compute the distance of each data point:\n", " rdist = np.sqrt((xr - xr.T)**2 + (yr - yr.T)**2)\n", "\n", " # Covariance function.\n", " if cov_func == 'gauss':\n", " cdd0 = np.exp(-rdist**2 / R**2)\n", " elif cov_func == 'markov':\n", " cdd0 = (1 + rdist/R) * np.exp(-rdist/R)\n", " else:\n", " raise ValueError(\"Unrecognized covariance function {!r}.\"\n", " \"Must be one of 'gauss' or 'markov'.\".format(cov_func))\n", "\n", " # Final Data covariance Matrix between data points.\n", " cdd = cdd0 + lamb * np.eye(*cdd0.shape)\n", "\n", " # Cxr.\n", " Xd, Xg = np.meshgrid(xkm, X.ravel())\n", " Yd, Yg = np.meshgrid(ykm, Y.ravel())\n", "\n", " # Distance between observation r and grid g.\n", " rmd = np.sqrt((Xg - Xd)**2 + (Yg - Yd)**2)\n", "\n", " # Again plug into covariance function.\n", " if cov_func == 'gauss':\n", " cmd = np.exp(-rmd**2 / R**2)\n", " elif cov_func == 'markov':\n", " cmd = (1 + rmd /R) * np.exp(-rmd/R)\n", " else:\n", " raise ValueError(\"Unrecognized covariance function {!r}.\"\n", " \"Must be one of 'gauss' or 'markov'.\".format(cov_func))\n", "\n", " demeaned = data - data.mean()\n", " res = data.mean() + np.dot(cdd0, np.linalg.solve(cdd, demeaned))\n", " res = data.ravel() - res.ravel()\n", "\n", " # Normalized by the error variance.\n", " err = np.diag(1 - np.dot(np.dot(cmd, np.linalg.inv(cdd)), cmd.T))\n", " err = np.reshape(err, X.shape) * 100 # Error in percentages.\n", "\n", " theta = data.mean() + np.dot(cmd, np.linalg.solve(cdd, demeaned))\n", " theta = np.reshape(theta, X.shape)\n", "\n", " return dict(residual=res, error=err, covariance=cdd0, final_covariance=cdd, theta=theta)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is the original data again." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import cartopy.crs as ccrs\n", "import matplotlib.pyplot as plt\n", "import cartopy.feature as cfeature\n", "from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER\n", "\n", "LAND = cfeature.NaturalEarthFeature('physical', 'land', '50m',\n", " edgecolor='face',\n", " facecolor=cfeature.COLORS['land'])\n", "\n", "\n", "def make_map(bbox, projection=ccrs.PlateCarree()):\n", " fig, ax = plt.subplots(figsize=(8, 6),\n", " subplot_kw=dict(projection=projection))\n", " ax.set_extent(bbox)\n", " ax.add_feature(LAND, facecolor='0.75')\n", " ax.coastlines(resolution='50m')\n", " gl = ax.gridlines(draw_labels=True)\n", " gl.xlabels_top = gl.ylabels_right = False\n", " gl.xformatter = LONGITUDE_FORMATTER\n", " gl.yformatter = LATITUDE_FORMATTER\n", " return fig, ax" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy.ma as ma\n", "from scipy.io import loadmat\n", "from oceans.colormaps import cm\n", "\n", "merc = loadmat('./data/mercator_temperature.mat', squeeze_me=True)\n", "\n", "x, y = merc['x'], merc['y']\n", "bbox = [x.min(), x.max(), y.min(), y.max()]\n", "\n", "level = 10 # 10 meters temperature.\n", "data = ma.masked_invalid(merc['temp'][level, ...])\n", "\n", "fig, ax = make_map(bbox=bbox)\n", "cs = ax.pcolormesh(x, y, data, cmap=cm.avhrr)\n", "cbar = fig.colorbar(cs, extend='both', shrink=0.85)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nR4LAxYOiAAAAAElFTkSuQmCC\n", "text": [ "This post was written as an IPython notebook.\n", " It is available for download\n", " or as a static html.
\n", "\n", "