mirror of
https://github.com/Unidata/python-awips.git
synced 2025-02-24 06:57:56 -05:00
342 lines
1.3 MiB
Text
342 lines
1.3 MiB
Text
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"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. "
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 80,
|
||
|
"metadata": {
|
||
|
"collapsed": false
|
||
|
},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"%matplotlib inline\n",
|
||
|
"from awips.dataaccess import DataAccessLayer\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",
|
||
|
"DataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\n",
|
||
|
"request = DataAccessLayer.newDataRequest()\n",
|
||
|
"request.setDatatype(\"satellite\")"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"### Available Satellite Sectors and Products"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 81,
|
||
|
"metadata": {
|
||
|
"collapsed": false
|
||
|
},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"\n",
|
||
|
"Available sectors and products\n",
|
||
|
"\n",
|
||
|
"Alaska National:\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 Precipitable Water (PW)\n",
|
||
|
"Alaska Regional:\n",
|
||
|
" - Imager 11 micron IR\n",
|
||
|
" - Imager 3.9 micron IR\n",
|
||
|
" - Imager 6.7-6.5 micron IR (WV)\n",
|
||
|
" - Imager Visible\n",
|
||
|
"East CONUS:\n",
|
||
|
" - Imager 11 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",
|
||
|
"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-East-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",
|
||
|
"GOES-Sounder:\n",
|
||
|
" - CAPE\n",
|
||
|
" - Sounder Based Derived Lifted Index (LI)\n",
|
||
|
" - Sounder Based Derived Precipitable Water (PW)\n",
|
||
|
" - Sounder Based Derived Surface Skin Temp (SFC Skin)\n",
|
||
|
" - Sounder Based Total Column Ozone\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",
|
||
|
"Global:\n",
|
||
|
" - Imager 11 micron IR\n",
|
||
|
" - Imager 6.7-6.5 micron IR (WV)\n",
|
||
|
"Hawaii National:\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 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 Based Derived Lifted Index (LI)\n",
|
||
|
" - Sounder Based Derived Precipitable Water (PW)\n",
|
||
|
" - Sounder Based Derived Surface Skin Temp (SFC Skin)\n",
|
||
|
" - Sounder Visible imagery\n",
|
||
|
"Hawaii Regional:\n",
|
||
|
" - Imager 11 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",
|
||
|
"Mollweide:\n",
|
||
|
" - Imager 11 micron IR\n",
|
||
|
" - Imager 6.7-6.5 micron IR (WV)\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",
|
||
|
"Puerto Rico National:\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 Precipitable Water (PW)\n",
|
||
|
"Puerto Rico Regional:\n",
|
||
|
" - Imager 11 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",
|
||
|
"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 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": [
|
||
|
"availableSectors = DataAccessLayer.getAvailableLocationNames(request)\n",
|
||
|
"availableSectors.sort()\n",
|
||
|
"\n",
|
||
|
"print(\"\\nAvailable sectors and products\\n\")\n",
|
||
|
"for sect in availableSectors:\n",
|
||
|
" request.setLocationNames(sect)\n",
|
||
|
" availableProducts = DataAccessLayer.getAvailableParameters(request)\n",
|
||
|
" availableProducts.sort()\n",
|
||
|
" print(sect + \":\")\n",
|
||
|
" for prod in availableProducts:\n",
|
||
|
" print(\" - \"+prod)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"### Plot Global Water Vapor Composite"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 82,
|
||
|
"metadata": {
|
||
|
"collapsed": false
|
||
|
},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"Found 96 available times\n",
|
||
|
" 2017-01-23 00:00:00\n",
|
||
|
" to\n",
|
||
|
" 2017-02-03 21:00:00\n",
|
||
|
"Using 2017-02-03 21:00:00 (2hr 3m ago)\n"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"request.setLocationNames(\"Global\")\n",
|
||
|
"availableProducts = DataAccessLayer.getAvailableParameters(request)\n",
|
||
|
"availableProducts.sort()\n",
|
||
|
"request.setParameters(availableProducts[0])\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",
|
||
|
"print(\"Found \"+ str(len(times)) +\" available times\")\n",
|
||
|
"print(\" \"+str(times[0]) + \"\\n to\\n \" + str(times[-1]))\n",
|
||
|
"print(\"Using \"+str(times[-1]) + \" (\"+offsetStr+\")\")"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 83,
|
||
|
"metadata": {
|
||
|
"collapsed": false
|
||
|
},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"grid size (1024, 2048)\n",
|
||
|
"grid extent [-179.91191, 179.99982, -89.977936, 89.890022]\n"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"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(\"grid size \" + str(data.shape))\n",
|
||
|
"print(\"grid extent \" + str(list(bbox)))"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 84,
|
||
|
"metadata": {
|
||
|
"collapsed": false
|
||
|
},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAABTMAAAN1CAYAAACjH2+EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsfXmQVNd1/tc9S8/0LDALAwyMQGBAIECsAoSFrERLVJK8\nxImdshyX5bgiObblJbZjxxWpytYvsstJ7NhOnBhLsrBsly15kWVrdSQLIQnQsEkIjwQIhmWGmYHZ\n957u9/uDnMfp0+fed19PD6DQp4qi57377j13O8t3z7034nke8pSnPOUpT3nKU57ylKc85SlPecpT\nnvKUpzzl6Xyn6LlmIE95ylOe8pSnPOUpT3nKU57ylKc85SlPecpTnlwoD2bmKU95ylOe8pSnPOUp\nT3nKU57ylKc85SlPeXpLUB7MzFOe8pSnPOUpT3nKU57ylKc85SlPecpTnvL0lqA8mJmnPOUpT3nK\nU57ylKc85SlPecpTnvKUpzzl6S1BeTAzT3nKU57ylKc85SlPecpTnvKUpzzlKU95ytNbgvJgZp7y\nlKc85SlPecpTnvKUpzzlKU95ylOe8pSntwQVnmsGJEUiEe9c85CnPOUpT3nKU57ylKc85SlPecpT\nnvKUpzzlafzkeV4kl/mdd2AmAOzcufNcsxCaIpGc9stbrvww5HnuePVbqV65omg0dwHTL7/8Mlav\nXp2z/HJNb8X+fSvynKdgcu3X7du34/LLL59gbs5QGHkZhnI9jpPJ5DkpNxck2/hc83iuyz+bZJpP\nF1Ib5IreSrbVRMm1C51yoZ/O9dg4m/R/ZRyer/WIRCLnLW+udC78qLd6m2VLuZA9Y2NjOeDk/KFs\nx0I2bXk2ZP+yZctynmfkfJswkUjEe+GFF85l+Vl9l+t2PB/65VwbNOMtv7i4OEecnH+US8AzV5RL\nnlzGP42PszlOz0ZZE13GuZ7X5ytNpMw9G21+PuiMXNPZrtP5NjcIIHbhy0X+jqd+QX0xnrzPt3bX\nKNdjMRKJnHM9nk27T0Q7TFTenFKplPFdNv1gyy9PmVRQUHCuWfDJtvD2f1GPvpVpovvjXMmc8ZLr\n4nG2NJHtwnmfSLlAoGYYPZeNTrSBp7mybUz5TPQ4CEOkR4PG/fr16y+MyMyzgSZrE9XzPPW5S97Z\nDtgw351NJWvi63zgwZUSiQSAt6bRWVhon5oTLcCyUTDZtHNYJyLM+JsoR3EiHG/i1SSDwpKNR57/\n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\nDRl01MhEEbX77t27sWz
|
||
|
"text/plain": [
|
||
|
"<matplotlib.figure.Figure at 0x1069b8ed0>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"def make_map(bbox, projection=ccrs.PlateCarree()):\n",
|
||
|
" fig, ax = plt.subplots(figsize=(18,14),\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",
|
||
|
"fig, ax = make_map(bbox=bbox)\n",
|
||
|
"# State boundaries\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.9, orientation='horizontal')\n",
|
||
|
"cbar.set_label(str(grid.getLocationName())+\" \" \\\n",
|
||
|
" +str(grid.getParameter())+\" \" \\\n",
|
||
|
" +str(grid.getDataTime().getRefTime()))\n",
|
||
|
"plt.tight_layout()"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"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",
|
||
|
"version": "2.7.11"
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
|
"nbformat_minor": 0
|
||
|
}
|