{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Gridded Data Renderer\n", "\n", "PAVICS uses ncWMS2 to render netCDF data on a map canvas. ncWMS2 use the OGC's WMS standard to serve images rendered from a netCDF file. The WMS `GetMap` operation specifies a layer (/), styles, figure size and format, projection and color range and the server returns an image that can be displayed in a figure or a map canvas. \n", " \n", " \n", "Note that with the current configuration, the path for ncWMS layers starts with `outputs` and not `birdhouse` as in the THREDDS server. Note also that the image we obtain below has the North down. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from owslib.wms import WebMapService\n", "from IPython.display import Image\n", "\n", "url = \"https://pavics.ouranos.ca/twitcher/ows/proxy/ncWMS2/wms\"\n", "wms = WebMapService(url, version='1.3.0')\n", "link = 'outputs/testdata/flyingpigeon/cmip5/tasmax_Amon_MPI-ESM-MR_rcp45_r1i1p1_200601-200612.nc'\n", "resp = wms.getmap(\n", " layers=[\"{}/{}\".format(link, \"tasmax\")], \n", " format='image/png', \n", " colorscalerange='{},{}'.format(250, 350), \n", " size=[256,256], \n", " srs='CRS:84', \n", " bbox=(150, 30, 250, 80),\n", " time='2006-02',\n", " transparent=True)\n", "Image(resp.read())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One issue with the figure above is the colorscale range and the colormap, which do not provide a lot of contrast. In PAVICS, the data crawler while parsing the netCDF metadata also computes the min and max, so that the frontend knows for a given file the data range and can include it in its WMS request. Here, we'll do the same using the OPeNDAP protocol. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(241.01828002929688, 308.3053894042969)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import xarray as xr\n", "dap = 'https://pavics.ouranos.ca/twitcher/ows/proxy/thredds/dodsC/'\n", "ncfile = 'birdhouse/testdata/flyingpigeon/cmip5/tasmax_Amon_MPI-ESM-MR_rcp45_r1i1p1_200601-200612.nc'\n", "ds = xr.open_dataset(dap+ncfile)\n", "subtas = ds.tasmax.sel(time=slice('2006-02-01', '2006-03-01'), lon=slice(188,330), lat=slice(6, 70))\n", "mn, mx = subtas.min().values.tolist(), subtas.max().values.tolist()\n", "mn, mx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we'll simply pass those min/max to `getmap` with the colorscalerange parameter, and change the palette in the same go using the `styles` parameter. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resp = wms.getmap(\n", " layers=[\"{}/{}\".format(link, \"tasmax\")], \n", " styles=['default/div-Spectral'],\n", " format='image/png', \n", " colorscalerange='{},{}'.format(mn, mx), \n", " size=[256,256], \n", " srs='CRS:84', \n", " bbox=(150, 30, 250, 80),\n", " time='2006-02',\n", " transparent=True)\n", "Image(resp.read())" ] } ], "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.3" } }, "nbformat": 4, "nbformat_minor": 2 }