{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n# Cartopy: Test regional projections\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pygeode as pyg, numpy as np, pylab as pyl\nfrom cartopy import crs as ccrs\nimport cartopy\n\nlat = pyg.gausslat(40)\nlon = pyg.regularlon(80, origin=-180)\n\nx = pyg.sin(2*np.pi * lon / 180.) * pyg.exp(-(lat - 30)**2 / (2*10**2))\ny = pyg.sin(2*np.pi * lon / 180.) * pyg.exp(-(lat + 40)**2 / (2*10**2))\n\npyl.ioff()\n\nprj_grid = ['PlateCarree', 'Mercator', 'Miller', 'TransverseMercator']\nprj_reg = ['AlbersEqualArea', 'EquidistantConic', 'LambertConformal', \\\n 'LambertCylindrical', 'RotatedPole']\nprj_glob = ['AzimuthalEquidistant', 'Mollweide', 'Orthographic', \\\n 'Stereographic', 'Robinson', 'Sinusoidal', \\\n 'Geostationary', 'LambertAzimuthalEqualArea', 'EckertIII']\n \nprj = dict(central_longitude=60.)\ngridlines = dict(draw_labels = False, xlocs = range(0, 361, 30), ylocs = range(-80, 81, 20)),\nmap = dict(gridline = gridlines)\n\ni = 0\naxr = []\n\nfor p in prj_reg[:]:\n if i == 5:\n axg.append(axr)\n axr = []\n i = 0\n\n ax = pyg.plot.CartopyAxes(projection = p)#, prj_args = prj)\n\n pyg.vquiver(x, y, axes = ax, map = map)\n ax.size = [4., 3.1]\n ax.setp(title = p)\n ax.set_extent([10, 70, -60, 20], crs = ccrs.PlateCarree())\n axr.append(ax)\n i += 1\n\nax = pyg.plot.grid([axr])\n\npyl.ion()\nax.render(2)" ] } ], "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.8.12" } }, "nbformat": 4, "nbformat_minor": 0 }