python-awips/examples/notebooks/Satellite_Imagery.ipynb

391 lines
497 KiB
Text
Raw Normal View History

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-02-11 15:16:58 -07:00
"Satellite images are returned by Python AWIPS as grids, and can be rendered with Cartopy pcolormesh the same as gridded forecast models in other python-awips examples. \n",
"\n",
2018-02-11 15:16:58 -07:00
"### Available Sectors and Products"
]
},
{
"cell_type": "code",
2018-02-11 15:16:58 -07:00
"execution_count": 44,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2018-02-11 15:16:58 -07:00
"AREA7201\n",
" - Unknown-1\n",
"Arctic\n",
" - Unknown-2\n",
" - Unknown-4\n",
" - Unknown-5\n",
"ECONUS\n",
" - ACTP\n",
" - ADP\n",
" - AOD\n",
" - CAPE\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
" - CSM\n",
" - CTH\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - TPW\n",
" - TT\n",
"EFD\n",
" - ACTP\n",
" - ADP\n",
" - AOD\n",
" - CAPE\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - RRQPE\n",
" - SI\n",
" - SST\n",
" - TPW\n",
" - TT\n",
" - VAH\n",
" - VAML\n",
"EMESO-1\n",
" - ACTP\n",
" - ADP\n",
" - CAPE\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - TPW\n",
" - TT\n",
"EMESO-2\n",
" - ACTP\n",
" - ADP\n",
" - CAPE\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - TPW\n",
" - TT\n",
"East CONUS\n",
" - Low cloud base imagery\n",
"GOES-East\n",
" - Imager 11 micron IR\n",
" - Imager 13 micron IR\n",
" - Imager 3.5-4.0 micron IR (Fog)\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
"GOES-West\n",
" - Imager 11 micron IR\n",
" - Imager 13 micron IR\n",
" - Imager 3.5-4.0 micron IR (Fog)\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
"NEXRCOMP\n",
" - DHR\n",
" - DVL\n",
" - EET\n",
" - HHC\n",
" - N0R\n",
" - N1P\n",
" - NTP\n",
"NH Composite - Meteosat-GOES E-GOES W-GMS\n",
" - Imager 11 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
"Northern Hemisphere Composite\n",
" - Imager 11 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
"PRREGI\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
"Supernational\n",
" - Gridded Cloud Amount\n",
" - Gridded Cloud Top Pressure or Height\n",
" - Imager 11 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - Percent of Normal TPW\n",
" - Rain fall rate\n",
" - Sounder Based Derived Lifted Index (LI)\n",
" - Sounder Based Derived Precipitable Water (PW)\n",
" - Sounder Based Derived Surface Skin Temp (SFC Skin)\n",
"West CONUS\n",
" - Imager 11 micron IR\n",
" - Imager 13 micron (IR)\n",
" - Imager 13 micron IR\n",
" - Imager 3.9 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - Low cloud base imagery\n",
" - Sounder 11.03 micron imagery\n",
" - Sounder 14.06 micron imagery\n",
" - Sounder 3.98 micron imagery\n",
" - Sounder 4.45 micron imagery\n",
" - Sounder 6.51 micron imagery\n",
" - Sounder 7.02 micron imagery\n",
" - Sounder 7.43 micron imagery\n",
" - Sounder Visible imagery\n"
]
}
],
"source": [
2018-02-11 15:16:58 -07:00
"from awips.dataaccess import DataAccessLayer\n",
"\n",
"DataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\n",
"request = DataAccessLayer.newDataRequest()\n",
"request.setDatatype(\"satellite\")\n",
"\n",
"availableSectors = DataAccessLayer.getAvailableLocationNames(request)\n",
"availableSectors.sort()\n",
"\n",
2018-02-11 15:16:58 -07:00
"for sector in availableSectors:\n",
" print sector\n",
" request.setLocationNames(sector)\n",
" availableProducts = DataAccessLayer.getAvailableParameters(request)\n",
" availableProducts.sort()\n",
2018-02-11 15:16:58 -07:00
" for product in availableProducts:\n",
" print \" - \" + product"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-02-11 15:16:58 -07:00
"### GOES 16 Mesoscale Sectors Plot"
]
},
{
"cell_type": "code",
2018-02-11 15:16:58 -07:00
"execution_count": 52,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2018-02-11 15:16:58 -07:00
"Latest image available: 2018-02-11 20:04:28 (44m ago)\n",
"Image grid size: (727, 513)\n",
"Image grid extent: [-81.83214, -68.16786, 32.143394, 45.88625]\n",
"Latest image available: 2018-02-11 20:04:58 (44m ago)\n",
"Image grid size: (703, 606)\n",
"Image grid extent: [-95.21105, -78.94757, 30.756178, 44.556156]\n"
]
2018-02-11 15:16:58 -07:00
},
{
2018-02-11 15:16:58 -07:00
"data": {
"text/plain": [
"<matplotlib.figure.Figure at 0x1242d8210>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2018-02-11 15:16:58 -07:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgcAAAJsCAYAAABpkgCiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzsvWuMrWlZ9/lfh1qHWrXqsGvX7r13\n0+dusemO0IEQQCY0qC/BUfwEmuhLPGFEMIPgO4NIpKOIxqAzxg+aCSFvZCa2yThmfIcPRkbeOASD\n7dCN2ILS3XTvU+9TnVatU1WttZ75UP276/9c9azdQO+WtzfrTipVtdbz3M99uO7r+l//67rvp5Rl\nmWZlVmZlVmZlVmZlVijl73QDZmVWZmVWZmVWZuW/rTIDB7MyK7MyK7MyK7OSKzNwMCuzMiuzMiuz\nMiu5MgMHszIrszIrszIrs5IrM3AwK7MyK7MyK7MyK7kyAwezMiuzMiuzMiuzkiszcDArszIrszIr\nszIruTIDB7MyK7MyK7MyK7OSKzNwMCuzMiuzMiuzMiu5MgMHszIrszIrszIrs5Ir1e90A15Iuf32\n27NnnnnmO92MWZmVWZmVWZmV/1bKM1mW3f5CK3lJMwfPPPOMsiz7d/v53Oc+9+/6vO/0z3dTf7+b\n+jrr7/P/TCYTPfTQQ7r11lv113/913rggQf0nve8R6PR6Dvel9n8fnf39/n6Kum262FfX9LMwazM\nyqzMyvUug8FAP/MzP6Onn35aDz/8sN71rnfpJ3/yJ/XRj35UpVLpO928WZmVf5fykmYOZmVWZmVW\nrmd59tln9aY3vUnlclmf/OQn9Y53vEPvf//79dBDD82Awax8V5UZczArszIr3zVlOBzq61//us6e\nPauzZ8/qzJkzub+fffZZ/dqv/Zo++MEP6vWvf70+9KEP6b3vfe93utmzMiv/7uWGAAdvf/vbVa1W\nVa1WVS4fkiHPxV/053/+57nr3/nOd6pUKqlUKmk0Gmk8HkuS/vIv/3LqM378x39cb33rW/Unf/In\nevjhh1+EXszKrMzKi1k+85nP6D3veY9arZZOnjypVqulcrmsxcVFveENb9D6+rpuueUW/ezP/qze\n97736f77758Bg1l5QeXVr361JpOJHn300Wte95rXvEaVSkVZlml3d1f7+/v6l3/5lyPX3XXXXfqV\nX/kV/cIv/ELKMZhMJun7p5566rq1/SUPDt7+9rdL0hHKr1QqqVKpaDwe653vfGcaRECB/3D9O97x\nDlUqFVUqFZVKJWVZptFopFKppHK5nOr8qZ/6KZXLZdVqNUnS/Py8JGkymWgymWh/fz/VOZlMchOY\nZZnG43G61n8kqVwup2dR/LtKpaJyuVwoGACjyWSicrmsubk5zc3Npb4Alj75yU9Kkt797ndrb29P\no9FIo9EoV1epVNJb3/pW/eEf/mECT3/1V391zbn46Z/+aZXLZVWrVdVqNdXrdVUqlfT97/3e713z\n/muVj370o5qbm0t9/PCHP/xt1zUr311lY2ND3/jGN/SRj3xES0tLOnv2rNbX17W6uqqvfe1reuCB\nB/T5z39e73//+/WJT3xCn/nMZ/TFL35RX/ziF1/SoYQf/MEfTH9/9rOffUF1vfrVr9ZgMEi6hXUu\nSY899tg3dT96ld+Scs6cdKB3/u7v/i79/0M/9EMql8tJj47HY+3t7Uk6dP4k6V3vepc++MEPpvah\n+4sK+pBr0e/Soa7lXj7HLlSr1Vz7vdCevb09jcdjZVmW6n7ggQdyOjjahVqtptFopN3d3aSLb7/9\n9phomNo+HA5zep323Hrrrc87F99secmDAzfcknKDSMHITyaTnPHHcDFBgAUEolQqqVqt5gS6Vqul\nxSEdGvMsy9Lver2enj0ej7W/v5+eFYXD+yEdCAmT7gLmbUAg+J5rsixTrVZLAixJ1Wo11/8sy/Tz\nP//zqQ3j8TiBFW9PBAqS9GM/9mM5kFStVnMGm88BMA4MSqWSPvKRj6S2+bi58EtKbY3C79d++MMf\n1nA41O7ubmo7c8Ac1ev1pMCoo1KpqFarJRBHHa95zWv0vve9L7Xb58Dn2fvj1wHwxuNxmi9vt/9m\n3rgHgIbswIAxxvzND2NFHfv7++n+ubk5VSoV1ev1NA7ValXNZlOVSiU97+abb9Yf/MEfpLYi5+Px\nWIPBQL1eT/1+Pyk65qRer6vRaCQ5qNfrarVakqR+v59keDKZaDAYaDQaSZLm5uaS8tvb20vzhZc0\nHo/VbDbVarVUrVaTXGZZpv39fc3NzalarSaFvre3p+3t7QTed3d31e/3NRwO1Wg0tLi4qMlkoitX\nrujRRx/Vxz/+ca2vr+uOO+7Q7bffrp2dHX3pS1/S/Py8/u3f/k333nuvfud3fkeTyUTvfe97dddd\nd+mNb3xjbl222+00/wDvpaUl1ev1NBeVSkWNRiM5DqPRSNVqVQsLC2o2m2lOdnd3tbm5KUlpXpBF\n2EzGinod6LsjgvyMx+O0Jn/0R380Z6Te8IY35PSP68fxeJxki7Xf6/Vy10Tnwdf2Aw88kP6PRpVn\nOavrxswdHz578MEHc7oYZ4s+ejvc6YoAwtcvdSHnfj/gg+K6yMfK9aWkpFu8RN3s9cb2+j3D4TCt\n43iNX0u9ACSfB//7epSXPDiInjaC5x55nKSiyWfxuRHw6xwcIGgo43K5fGRRuDFwdsKRrS90nhGf\njbHByHv/EFTqQ2F5Pd42noMhYWyonzojMIgGtlwuJwPh4xN/3DuIBs6Nr4+dMy/0xecNQ8X4O3Ci\n3lKplBSp9wPl4IrQvRBf2P6Zz5/Xxfwwlg7mohIu8hoAjm4AXB5RqIA7lL/LyO7ubpIRn2uAUqPR\nSAZrfn5eOzs72tnZ0Xg81ubmZhqvZrMp6SAmD5OUZVmaZ2Si2Wyq0WikZ8zNzanRaGgwGOSMy/7+\nflp/5XJZg8EgKUBkjLFhnsfjsbrdbpL13d3dXPivWq3mwAp9bzQaGo/H6vV6Go/Hmp+fT8DgkUce\n0dzcnCTpbW97m+r1ui5duqR/+Id/ULlcVrvd1h133CFJWl9f18LCgk6fPp0AD+HKubk5jcdj1Wo1\nzc/Pa35+XrVaLYEDXx/IcqvVSnOO3E0mE41GI+3v76d5xShg1JCH6IEyz4wv4MufMRqN0jj0+/0c\naAFg0Q6XddcPeKX0ibY5YGXN+7pF5nzei7zy+LcXd9x8jRfpcdrHGO3u7h75LOq3aeAoOpmx7Xzu\n4+VzQ/Ewtd/H2gTcu651EEz7i2yUOySuf10Grmd5yYMDhMgVspRX9pKScFCi4RiPx8mgROVeZGTc\nM4+GQjo0AFmWJWVXFNagLu5zAfVFEf+WDoRifn4+1VGr1ZLH4p4sysbbVbTI4vj5GPO/Gy3a78af\nvwFNhBhckbDox+OxhsNhjqp0ABJBnyNqWBK/njFzYOILP/bNwzuxRCAQAY+3ydmXOIf+HUqDzzBu\nyBFGbH5+PuclYgyLFHkEvRhsbzs/yB8ysLu7mwOq7rkwrjBRGIf5+XnV6/Uc+HSQ6/Lv4+6hKwyi\n95n2O6jY3d1NLAgGsd/vazAYqNFopHs3Nja0ubmp0WikRqOh/f19nT17Vl/+8peVZZmazaaq1aq+\n/OUvq9PpaHt7W+VyWTfffLNOnjyp/f19bWxsqNVqqdvt6v7778+Bprm5uSTDlUpFCwsLWlxcVL1e\nT6EzB7kO6BkLjCz/M9bOEgyHQw2Hw7ReXa+w9iQlI8Jv1iQMCp9TfG06KIsAANDgckxBh1HcAXHP\nGkPl6xDZ4W+fb+53PR7Do+hV5Me/9/Yi/0U6DmDnINz7WMSKOGCIHj19xeBTtxtq+iUdbI/lXnco\nmJN4nzO0vob5Hj3v7b3eAOElDw580OJijEo/GjQ3yJKSZxaLG4bombMoIyqOKBUDG3/4Php/2ori\npQ0oVjyTGEKQDgXQQQE
"text/plain": [
2018-02-11 15:16:58 -07:00
"<matplotlib.figure.Figure at 0x11a05a5d0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAAJsCAYAAADZbSaQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzsvUuMbNl1prdORGRG5ONm3nuryiy+\nhKJIQgaK4qOqZpZhcuAG3FYbMKyBBiZkTwTYkGTYbssQ7PZAD9iiG4YBamBANhqCBp4IHjRgG56I\nnLQ8EIslQiLVEsmi+HI97iNf8crIzDgeZP07v/PnOhF5H9UUq84CEhlxYp/9WHufvf79r7X3qeq6\njk466aSTTjrppJNOHk96P+kKdNJJJ5100kknnfw0SwemOumkk0466aSTTp5AOjDVSSeddNJJJ510\n8gTSgalOOumkk0466aSTJ5AOTHXSSSeddNJJJ508gXRgqpNOOumkk0466eQJpANTnXTSSSeddNJJ\nJ08gHZjqpJNOOumkk046eQLpwFQnnXTSSSeddNLJE0gHpjrppJNOOumkk06eQAY/6Qo8ibzwwgv1\n97///Z90NTrppJNOOumkk/emfL+u6xfWJap+mt/NV1VV/fe5/l/96lfj85///E+6Gj9x6fRwJZ0u\nLqXTw6V0eriUTg+X0unhUv4+6aGqqqjrulqXrnPzddJJJ5100kknnTyBdGCqk0466aSTTjrp5Amk\nA1OddNJJJ5100kknTyAdmOqkk0466aSTTjp5AunAVCeddNJJJ5100skTSAemOumkk0466aSTTp5A\nOjDVSSeddNJJJ5108gTyU31oZ0TEN7/5zfCzpuq6jqqqGt/Xyc///M9HRMQ3vvGNxj2f/exnn1ZV\nO+mkk0466aST96D81IOpiHKoVkRE63+CK/+9ruv4i7/4i2v56jrzUD79fr+ANuWhNL1eL/r9fszn\n8wL26rougI0i8PaZz3zmyZTQSSeddNJJJ538ROSnHkytYp34mwCNM1aexj8TJDH9crks17O/Xq9X\n/l9cXERENACb6qH8BNr8elt9IiJefvnliIj4+te/fu33V155pVUvnXTSSSeddNLJ05OfejD1qU99\nKv7qr/4qIq6DoQyYZACKzJbEr7Wl03UBJ4EolU3w1uv1CghbLpdpnsvl8hqLxrIor732WsrKRUT8\n+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\nOqktyluuY40L/ameAs3
"text/plain": [
"<matplotlib.figure.Figure at 0x124313690>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
2018-02-11 15:16:58 -07:00
"%matplotlib inline\n",
"import cartopy.crs as ccrs\n",
"import cartopy.feature as cfeat\n",
"import matplotlib.pyplot as plt\n",
"from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER\n",
"import numpy as np\n",
"import datetime\n",
"\n",
"def make_map(bbox, projection=ccrs.PlateCarree()):\n",
2018-02-11 15:16:58 -07:00
" fig, ax = plt.subplots(figsize=(10,12),\n",
" subplot_kw=dict(projection=projection))\n",
" ax.set_extent(bbox)\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\n",
"\n",
2018-02-11 15:16:58 -07:00
"sectors = [\"EMESO-1\",\"EMESO-2\"]\n",
"fig = plt.figure(figsize=(16,7*len(sectors)))\n",
"\n",
"for i, sector in enumerate(sectors):\n",
"\n",
" request = DataAccessLayer.newDataRequest()\n",
" request.setDatatype(\"satellite\")\n",
" request.setLocationNames(sector)\n",
" request.setParameters(\"CH-13-10.35um\")\n",
"\n",
" utc = datetime.datetime.utcnow()\n",
" times = DataAccessLayer.getAvailableTimes(request)\n",
" hourdiff = utc - datetime.datetime.strptime(str(times[-1]),'%Y-%m-%d %H:%M:%S')\n",
" hours,days = hourdiff.seconds/3600,hourdiff.days\n",
" minute = str((hourdiff.seconds - (3600 * hours)) / 60)\n",
" offsetStr = ''\n",
" if hours > 0:\n",
" offsetStr += str(hours) + \"hr \"\n",
" offsetStr += str(minute) + \"m ago\"\n",
" if days > 1:\n",
" offsetStr = str(days) + \" days ago\"\n",
"\n",
" response = DataAccessLayer.getGridData(request, [times[-1]])\n",
" grid = response[0]\n",
" data = grid.getRawData()\n",
" lons,lats = grid.getLatLonCoords()\n",
" bbox = [lons.min(), lons.max(), lats.min(), lats.max()]\n",
"\n",
" print(\"Latest image available: \"+str(times[-1]) + \" (\"+offsetStr+\")\")\n",
" print(\"Image grid size: \" + str(data.shape))\n",
" print(\"Image grid extent: \" + str(list(bbox)))\n",
" \n",
" fig, ax = make_map(bbox=bbox)\n",
" states = cfeat.NaturalEarthFeature(category='cultural',\n",
" name='admin_1_states_provinces_lines',\n",
" scale='50m', facecolor='none')\n",
" ax.add_feature(states, linestyle=':')\n",
" cs = ax.pcolormesh(lons, lats, data, cmap='Greys_r')\n",
" cbar = fig.colorbar(cs, shrink=0.6, orientation='horizontal')\n",
" cbar.set_label(str(grid.getLocationName())+\" \" \\\n",
" +str(grid.getParameter())+\" \" \\\n",
" +str(grid.getDataTime().getRefTime()))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
2018-02-11 15:16:58 -07:00
"version": "2.7.14"
}
},
"nbformat": 4,
2018-02-11 15:16:58 -07:00
"nbformat_minor": 1
}