python-awips/examples/notebooks/Satellite_Imagery.ipynb

1165 lines
853 KiB
Text
Raw Normal View History

2018-09-05 15:52:38 -06:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name=\"top\"></a>\n",
"<div style=\"width:1000 px\">\n",
2018-09-05 15:52:38 -06:00
"\n",
"<div style=\"float:right; width:98 px; height:98px;\">\n",
"<img src=\"https://docs.unidata.ucar.edu/images/logos/unidata_logo_vertical_150x150.png\" alt=\"Unidata Logo\" style=\"height: 98px;\">\n",
"</div>\n",
"\n",
"# Satellite Imagery\n",
"**Python-AWIPS Tutorial Notebook**\n",
"\n",
"<div style=\"clear:both\"></div>\n",
"</div>\n",
"\n",
"---\n",
"\n",
"<div style=\"float:right; width:250 px\"><img src=\"../images/satellite_imagery_preview.png\" alt=\"Example image of mesoscale GOES imagery\" style=\"height: 300px;\"></div>\n",
"\n",
"\n",
"# Objectives\n",
"\n",
"* Use python-awips to connect to an EDEX server\n",
"* Investigate available satellite imagery\n",
"* Define and filter request specifically for GOES mesoscale imagery\n",
"* Access satellite data in gridded format\n",
"* Create rendered images using [Matplotlib](https://matplotlib.org)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"toc": true
},
"source": [
"<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n",
"<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Imports\" data-toc-modified-id=\"Imports-1\"><span class=\"toc-item-num\">1&nbsp;&nbsp;</span>Imports</a></span></li><li><span><a href=\"#EDEX-Connection\" data-toc-modified-id=\"EDEX-Connection-2\"><span class=\"toc-item-num\">2&nbsp;&nbsp;</span>EDEX Connection</a></span></li><li><span><a href=\"#Function:-make_map()\" data-toc-modified-id=\"Function:-make_map()-3\"><span class=\"toc-item-num\">3&nbsp;&nbsp;</span>Function: make_map()</a></span></li><li><span><a href=\"#Investigate-Available-Data\" data-toc-modified-id=\"Investigate-Available-Data-4\"><span class=\"toc-item-num\">4&nbsp;&nbsp;</span>Investigate Available Data</a></span><ul class=\"toc-item\"><li><span><a href=\"#Sources\" data-toc-modified-id=\"Sources-4.1\"><span class=\"toc-item-num\">4.1&nbsp;&nbsp;</span>Sources</a></span></li><li><span><a href=\"#Physical-Elements\" data-toc-modified-id=\"Physical-Elements-4.2\"><span class=\"toc-item-num\">4.2&nbsp;&nbsp;</span>Physical Elements</a></span></li><li><span><a href=\"#Creating-Entities\" data-toc-modified-id=\"Creating-Entities-4.3\"><span class=\"toc-item-num\">4.3&nbsp;&nbsp;</span>Creating Entities</a></span></li><li><span><a href=\"#Sectors\" data-toc-modified-id=\"Sectors-4.4\"><span class=\"toc-item-num\">4.4&nbsp;&nbsp;</span>Sectors</a></span></li><li><span><a href=\"#All-Products\" data-toc-modified-id=\"All-Products-4.5\"><span class=\"toc-item-num\">4.5&nbsp;&nbsp;</span>All Products</a></span></li></ul></li><li><span><a href=\"#Render-GOES-East-Mesoscale-Sectors\" data-toc-modified-id=\"Render-GOES-East-Mesoscale-Sectors-5\"><span class=\"toc-item-num\">5&nbsp;&nbsp;</span>Render GOES East Mesoscale Sectors</a></span></li><li><span><a href=\"#See-Also\" data-toc-modified-id=\"See-Also-6\"><span class=\"toc-item-num\">6&nbsp;&nbsp;</span>See Also</a></span><ul class=\"toc-item\"><li><span><a href=\"#Related-Notebooks\" data-toc-modified-id=\"Related-Notebooks-6.1\"><span class=\"toc-item-num\">6.1&nbsp;&nbsp;</span>Related Notebooks</a></span></li><li><span><a href=\"#Additional-Documentation\" data-toc-modified-id=\"Additional-Documentation-6.2\"><span class=\"toc-item-num\">6.2&nbsp;&nbsp;</span>Additional Documentation</a></span></li></ul></li></ul></div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Imports\n",
"\n",
"The imports below are used throughout the notebook. Note the first import is coming directly from python-awips and allows us to connect to an EDEX server. The subsequent imports are for data manipulation and visualization. "
2018-09-05 15:52:38 -06:00
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"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 datetime"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"#top\">Top</a>\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## EDEX Connection\n",
"\n",
"First we establish a connection to Unidata's public EDEX server. With that connection made, we can create a [new data request object](http://unidata.github.io/python-awips/api/IDataRequest.html) and set the data type to ***satellite***."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# Create an EDEX data request\n",
"DataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\n",
"request = DataAccessLayer.newDataRequest()\n",
"request.setDatatype(\"satellite\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"#top\">Top</a>\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Function: make_map()\n",
"\n",
"In order to plot more than one image, it's easiest to define common logic in a function. Here, a new function called **make_map** is defined. This function uses the [matplotlib.pyplot package (plt)](https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.html) to create a figure and axis. The coastlines (continental boundaries) are added, along with lat/lon grids."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def make_map(bbox, projection=ccrs.PlateCarree()):\n",
" 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.top_labels = gl.right_labels = False\n",
" gl.xformatter = LONGITUDE_FORMATTER\n",
" gl.yformatter = LATITUDE_FORMATTER\n",
" return fig, ax"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"#top\">Top</a>\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Investigate Available Data\n",
"\n",
"To see what data are all available, let's look at which optional identifiers satellite data uses."
]
},
{
"cell_type": "code",
"execution_count": 13,
2018-09-05 15:52:38 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Available Identifiers:\n",
" - source\n",
" - physicalElement\n",
2018-10-05 17:09:43 -06:00
" - creatingEntity\n",
" - sectorID\n"
2018-09-05 15:52:38 -06:00
]
}
],
"source": [
"# Get optional identifiers for satellite datatype\n",
"identifiers = set(DataAccessLayer.getOptionalIdentifiers(request))\n",
2018-09-05 15:52:38 -06:00
"\n",
"print(\"Available Identifiers:\")\n",
"for id in identifiers:\n",
" if id.lower() == 'datauri':\n",
" continue\n",
" print(\" - \" + id)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sources"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"source:\n",
"['GTDO1', 'RAMMB', 'WCDAS', 'RBU', 'UCAR', 'NSOF', 'McIDAS']\n"
]
}
],
"source": [
"# Show available sources\n",
"identifier = \"source\"\n",
"sources = DataAccessLayer.getIdentifierValues(request, identifier)\n",
"print(identifier + \":\")\n",
"print(list(sources))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Physical Elements"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"physicalElement:\n",
"['Imager 6.7-6.5 micron IR (WV)', 'CH-02-0.64um', 'VMP-151.30hPa', 'CTT', 'CH-07-3.90um', 'VTP-878.60hPa', 'VMP-706.60hPa', 'CH-12-9.61um', 'VMP-496.60hPa', 'SI', 'CH-06-2.25um', 'NTP', 'DVL', 'CL', 'VMP-71.50hPa', 'DustLow', 'VTP-931.50hPa', 'VTP-103.00hPa', 'LI', 'VMP-555.20hPa', 'Imager 12 micron IR', 'IceTemp', 'CF2', 'VMP-729.90hPa', 'VTP-407.50hPa', 'CAPE', 'HHC', 'VMP-1014.00hPa', 'VMP-535.20hPa', 'VTP-777.80hPa', 'VTP-535.20hPa', 'VTP-904.90hPa', 'CH-10-7.34um', 'VTP-1014.00hPa', 'ACTP', 'VTP-661.20hPa', 'IceAge3', 'VTP-9.51hPa', 'GLM_Flash_Extent_Density', 'GLM_Flash_Extent_Density_w5u1', 'CF3', 'VMP-852.80hPa', 'CSM', 'TT', 'IceAge8', 'VTP-706.60hPa', 'GLM_Minimum_Flash_Area_w5u1', 'SmokeMed', 'CH-09-6.95um', 'VMP-753.60hPa', 'VMP-878.60hPa', 'VTP-459.70hPa', 'DustMed', 'VMP-103.00hPa', 'CH-08-6.19um', 'VTP-151.30hPa', 'VTP-575.50hPa', 'VMP-407.50hPa', 'VMP-661.20hPa', 'VMP-777.80hPa', 'FDC Temp', 'DHR', 'IceMask', 'GLM_Total_Optical_Energy_w5u1_tile', 'CH-15-12.30um', 'VTP-29.12hPa', 'MVFR_Fog_Prob', 'CF5', 'VMP-359.00hPa', 'VMP-827.40hPa', 'VMP-986.10hPa', 'CTH', 'SSTF', 'VMP-201.00hPa', 'VMP-300.00hPa', 'FDC Power', 'VTP-852.80hPa', 'VMP-575.50hPa', 'CH-13-10.35um', 'Fog_Depth', 'TCF', 'CH-04-1.38um', 'DustHigh', 'VTP-683.70hPa', 'Imager Visible', 'GLM_Minimum_Flash_Area', 'VTP-729.90hPa', 'IFR_Fog_Prob', 'VMP-958.60hPa', 'VTP-753.60hPa', 'VMP-931.50hPa', 'VTP-555.20hPa', 'CH-05-1.61um', 'VTP-201.00hPa', 'RRQPE', 'LST', 'AOD', 'FSC', 'COD', 'VTP-827.40hPa', 'IceThickness', 'N1P', 'LIFR_Fog_Prob', 'VMP-596.30hPa', 'VTP-496.60hPa', 'TPW', 'VMP-904.90hPa', 'VMP-683.70hPa', 'VTP-802.40hPa', 'VTP-958.60hPa', 'VTP-596.30hPa', 'Fire_Mask', 'FDC Area', 'CH-11-8.50um', 'VMP-51.53hPa', 'EET', 'VTP-247.40hPa', 'VMP-802.40hPa', 'CTP', 'CH-01-0.47um', 'CH-16-13.30um', 'VMP-617.50hPa', 'VTP-51.53hPa', 'SST', 'VTP-617.50hPa', 'CF1', 'GLM_Total_Optical_Energy_tile', 'VMP-9.51hPa', 'VMP-247.40hPa', 'CF4', 'Imager 3.5-4.0 micron IR (Fog)', 'IceConc', 'SmokeHigh', 'KI', 'VTP-300.00hPa', 'VTP-20.92hPa', 'VTP-359.00hPa', 'Imager 11 micron IR', 'SmokeLow', 'VMP-20.92hPa', 'VMP-29.12hPa', 'VMP-459.70hPa', 'CH-03-0.87um', 'VTP-71.50hPa', 'CH-14-11.20um', 'VTP-986.10hPa']\n"
]
}
],
"source": [
"# Show available physicalElements\n",
"identifier = \"physicalElement\"\n",
"elements = DataAccessLayer.getIdentifierValues(request, identifier)\n",
"print(identifier + \":\")\n",
"print(list(elements))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Creating Entities"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"creatingEntity:\n",
"['GOES-18', 'GEOCOLR', 'GOES-16', 'NEXRCOMP', 'UNIWISC', 'CLDSNOW', 'DBRDUST']\n"
]
}
],
"source": [
"# Show available creatingEntities\n",
"identifier = \"creatingEntity\"\n",
"creatingEntities = DataAccessLayer.getIdentifierValues(request, identifier)\n",
"print(identifier + \":\")\n",
"print(list(creatingEntities))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sectors"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sectorID:\n",
"['EMESO-2', 'WCONUS', 'AKREGI', 'WMESO-1', 'WMESO-2', 'WFD', 'NEXRCOMP', 'ECONUS', 'AREA3100', 'Antarctic', 'PRREGI', 'EMESO-1', 'AREA3101', 'AREA0700', 'Arctic', 'AREA0600', 'EFD']\n"
]
}
],
"source": [
"# Show available sectorIDs\n",
"identifier = \"sectorID\"\n",
"sectorIDs = DataAccessLayer.getIdentifierValues(request, identifier)\n",
"print(identifier + \":\")\n",
"print(list(sectorIDs))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### All Products"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"GOES-18\n",
" - AKREGI\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",
" - WCONUS\n",
" - ACTP\n",
" - AOD\n",
" - CAPE\n",
" - CF1\n",
" - CF2\n",
" - CF3\n",
" - CF4\n",
" - CF5\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",
" - CL\n",
" - CSM\n",
" - CTH\n",
" - DustHigh\n",
" - DustLow\n",
" - DustMed\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - Fog_Depth\n",
" - IFR_Fog_Prob\n",
" - KI\n",
" - LI\n",
" - LIFR_Fog_Prob\n",
" - LST\n",
" - MVFR_Fog_Prob\n",
" - SI\n",
" - SmokeHigh\n",
" - SmokeLow\n",
" - SmokeMed\n",
" - TCF\n",
" - TPW\n",
" - TT\n",
" - VMP-1014.00hPa\n",
" - VMP-103.00hPa\n",
" - VMP-151.30hPa\n",
" - VMP-20.92hPa\n",
" - VMP-201.00hPa\n",
" - VMP-247.40hPa\n",
" - VMP-29.12hPa\n",
" - VMP-300.00hPa\n",
" - VMP-359.00hPa\n",
" - VMP-407.50hPa\n",
" - VMP-459.70hPa\n",
" - VMP-496.60hPa\n",
" - VMP-51.53hPa\n",
" - VMP-535.20hPa\n",
" - VMP-555.20hPa\n",
" - VMP-575.50hPa\n",
" - VMP-596.30hPa\n",
" - VMP-617.50hPa\n",
" - VMP-661.20hPa\n",
" - VMP-683.70hPa\n",
" - VMP-706.60hPa\n",
" - VMP-71.50hPa\n",
" - VMP-729.90hPa\n",
" - VMP-753.60hPa\n",
" - VMP-777.80hPa\n",
" - VMP-802.40hPa\n",
" - VMP-827.40hPa\n",
" - VMP-852.80hPa\n",
" - VMP-878.60hPa\n",
" - VMP-9.51hPa\n",
" - VMP-904.90hPa\n",
" - VMP-931.50hPa\n",
" - VMP-958.60hPa\n",
" - VMP-986.10hPa\n",
" - VTP-1014.00hPa\n",
" - VTP-103.00hPa\n",
" - VTP-151.30hPa\n",
" - VTP-20.92hPa\n",
" - VTP-201.00hPa\n",
" - VTP-247.40hPa\n",
" - VTP-29.12hPa\n",
" - VTP-300.00hPa\n",
" - VTP-359.00hPa\n",
" - VTP-407.50hPa\n",
" - VTP-459.70hPa\n",
" - VTP-496.60hPa\n",
" - VTP-51.53hPa\n",
" - VTP-535.20hPa\n",
" - VTP-555.20hPa\n",
" - VTP-575.50hPa\n",
" - VTP-596.30hPa\n",
" - VTP-617.50hPa\n",
" - VTP-661.20hPa\n",
" - VTP-683.70hPa\n",
" - VTP-706.60hPa\n",
" - VTP-71.50hPa\n",
" - VTP-729.90hPa\n",
" - VTP-753.60hPa\n",
" - VTP-777.80hPa\n",
" - VTP-802.40hPa\n",
" - VTP-827.40hPa\n",
" - VTP-852.80hPa\n",
" - VTP-878.60hPa\n",
" - VTP-9.51hPa\n",
" - VTP-904.90hPa\n",
" - VTP-931.50hPa\n",
" - VTP-958.60hPa\n",
" - VTP-986.10hPa\n",
" - WFD\n",
" - ACTP\n",
" - AOD\n",
" - CAPE\n",
" - CF1\n",
" - CF2\n",
" - CF3\n",
" - CF4\n",
" - CF5\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",
" - CL\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - DustHigh\n",
" - DustLow\n",
" - DustMed\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - FSC\n",
" - Fire_Mask\n",
" - GLM_Flash_Extent_Density\n",
" - GLM_Flash_Extent_Density_w5u1\n",
" - GLM_Minimum_Flash_Area\n",
" - GLM_Minimum_Flash_Area_w5u1\n",
" - GLM_Total_Optical_Energy_tile\n",
" - GLM_Total_Optical_Energy_w5u1_tile\n",
" - IceAge3\n",
" - IceAge8\n",
" - IceConc\n",
" - IceMask\n",
" - IceTemp\n",
" - IceThickness\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - RRQPE\n",
" - SI\n",
" - SST\n",
" - SSTF\n",
" - SmokeHigh\n",
" - SmokeLow\n",
" - SmokeMed\n",
" - TCF\n",
" - TPW\n",
" - TT\n",
" - WMESO-1\n",
" - ACTP\n",
" - CAPE\n",
" - CF1\n",
" - CF2\n",
" - CF3\n",
" - CF4\n",
" - CF5\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",
" - CL\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - DustHigh\n",
" - DustLow\n",
" - DustMed\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - SmokeHigh\n",
" - SmokeLow\n",
" - SmokeMed\n",
" - TCF\n",
" - TPW\n",
" - TT\n",
" - WMESO-2\n",
" - ACTP\n",
" - CAPE\n",
" - CF1\n",
" - CF2\n",
" - CF3\n",
" - CF4\n",
" - CF5\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",
" - CL\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - DustHigh\n",
" - DustLow\n",
" - DustMed\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - SmokeHigh\n",
" - SmokeLow\n",
" - SmokeMed\n",
" - TCF\n",
" - TPW\n",
" - TT\n",
"GEOCOLR\n",
" - ECONUS\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - WCONUS\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
"GOES-16\n",
" - ECONUS\n",
" - ACTP\n",
" - AOD\n",
" - CAPE\n",
" - CF1\n",
" - CF2\n",
" - CF3\n",
" - CF4\n",
" - CF5\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",
" - CL\n",
" - COD\n",
" - CSM\n",
" - CTH\n",
" - CTP\n",
" - DustHigh\n",
" - DustLow\n",
" - DustMed\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - Fog_Depth\n",
" - IFR_Fog_Prob\n",
" - KI\n",
" - LI\n",
" - LIFR_Fog_Prob\n",
" - LST\n",
" - MVFR_Fog_Prob\n",
" - SI\n",
" - SmokeHigh\n",
" - SmokeLow\n",
" - SmokeMed\n",
" - TCF\n",
" - TPW\n",
" - TT\n",
" - VMP-1014.00hPa\n",
" - VMP-103.00hPa\n",
" - VMP-151.30hPa\n",
" - VMP-20.92hPa\n",
" - VMP-201.00hPa\n",
" - VMP-247.40hPa\n",
" - VMP-29.12hPa\n",
" - VMP-300.00hPa\n",
" - VMP-359.00hPa\n",
" - VMP-407.50hPa\n",
" - VMP-459.70hPa\n",
" - VMP-496.60hPa\n",
" - VMP-51.53hPa\n",
" - VMP-535.20hPa\n",
" - VMP-555.20hPa\n",
" - VMP-575.50hPa\n",
" - VMP-596.30hPa\n",
" - VMP-617.50hPa\n",
" - VMP-661.20hPa\n",
" - VMP-683.70hPa\n",
" - VMP-706.60hPa\n",
" - VMP-71.50hPa\n",
" - VMP-729.90hPa\n",
" - VMP-753.60hPa\n",
" - VMP-777.80hPa\n",
" - VMP-802.40hPa\n",
" - VMP-827.40hPa\n",
" - VMP-852.80hPa\n",
" - VMP-878.60hPa\n",
" - VMP-9.51hPa\n",
" - VMP-904.90hPa\n",
" - VMP-931.50hPa\n",
" - VMP-958.60hPa\n",
" - VMP-986.10hPa\n",
" - VTP-1014.00hPa\n",
" - VTP-103.00hPa\n",
" - VTP-151.30hPa\n",
" - VTP-20.92hPa\n",
" - VTP-201.00hPa\n",
" - VTP-247.40hPa\n",
" - VTP-29.12hPa\n",
" - VTP-300.00hPa\n",
" - VTP-359.00hPa\n",
" - VTP-407.50hPa\n",
" - VTP-459.70hPa\n",
" - VTP-496.60hPa\n",
" - VTP-51.53hPa\n",
" - VTP-535.20hPa\n",
" - VTP-555.20hPa\n",
" - VTP-575.50hPa\n",
" - VTP-596.30hPa\n",
" - VTP-617.50hPa\n",
" - VTP-661.20hPa\n",
" - VTP-683.70hPa\n",
" - VTP-706.60hPa\n",
" - VTP-71.50hPa\n",
" - VTP-729.90hPa\n",
" - VTP-753.60hPa\n",
" - VTP-777.80hPa\n",
" - VTP-802.40hPa\n",
" - VTP-827.40hPa\n",
" - VTP-852.80hPa\n",
" - VTP-878.60hPa\n",
" - VTP-9.51hPa\n",
" - VTP-904.90hPa\n",
" - VTP-931.50hPa\n",
" - VTP-958.60hPa\n",
" - VTP-986.10hPa\n",
" - EFD\n",
" - ACTP\n",
" - AOD\n",
" - CAPE\n",
" - CF1\n",
" - CF2\n",
" - CF3\n",
" - CF4\n",
" - CF5\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",
" - CL\n",
" - COD\n",
" - CSM\n",
" - CTH\n",
" - CTP\n",
" - CTT\n",
" - DustHigh\n",
" - DustLow\n",
" - DustMed\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - FSC\n",
" - Fire_Mask\n",
" - GLM_Flash_Extent_Density\n",
" - GLM_Flash_Extent_Density_w5u1\n",
" - GLM_Minimum_Flash_Area\n",
" - GLM_Minimum_Flash_Area_w5u1\n",
" - GLM_Total_Optical_Energy_tile\n",
" - GLM_Total_Optical_Energy_w5u1_tile\n",
" - IceAge3\n",
" - IceAge8\n",
" - IceConc\n",
" - IceMask\n",
" - IceTemp\n",
" - IceThickness\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - RRQPE\n",
" - SI\n",
" - SST\n",
" - SSTF\n",
" - SmokeHigh\n",
" - SmokeLow\n",
" - SmokeMed\n",
" - TCF\n",
" - TPW\n",
" - TT\n",
" - EMESO-1\n",
" - ACTP\n",
" - CAPE\n",
" - CF1\n",
" - CF2\n",
" - CF3\n",
" - CF4\n",
" - CF5\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",
" - CL\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - DustHigh\n",
" - DustLow\n",
" - DustMed\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - SmokeHigh\n",
" - SmokeLow\n",
" - SmokeMed\n",
" - TCF\n",
" - TPW\n",
" - TT\n",
" - EMESO-2\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" - ACTP\n",
" - CAPE\n",
" - CF1\n",
" - CF2\n",
" - CF3\n",
" - CF4\n",
" - CF5\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",
" - CL\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - DustHigh\n",
" - DustLow\n",
" - DustMed\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - SmokeHigh\n",
" - SmokeLow\n",
" - SmokeMed\n",
" - TCF\n",
" - TPW\n",
" - TT\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-13-10.35um\n",
" - CH-15-12.30um\n",
"NEXRCOMP\n",
" - NEXRCOMP\n",
" - DHR\n",
" - DVL\n",
" - EET\n",
" - HHC\n",
" - N1P\n",
" - NTP\n",
"UNIWISC\n",
" - AREA0600\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - AREA0700\n",
" - Imager 11 micron IR\n",
" - AREA3100\n",
" - Imager 11 micron IR\n",
" - AREA3101\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Antarctic\n",
" - Imager 11 micron IR\n",
" - Imager 12 micron IR\n",
" - Imager 3.5-4.0 micron IR (Fog)\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - Arctic\n",
" - Imager 11 micron IR\n",
" - Imager 12 micron IR\n",
" - Imager 3.5-4.0 micron IR (Fog)\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
"CLDSNOW\n",
" - ECONUS\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - WCONUS\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
"DBRDUST\n",
" - ECONUS\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n"
]
}
],
"source": [
"# Construct a full satellite product tree\n",
"for entity in creatingEntities:\n",
" print(entity)\n",
" request = DataAccessLayer.newDataRequest(\"satellite\")\n",
" request.addIdentifier(\"creatingEntity\", entity)\n",
" availableSectors = DataAccessLayer.getAvailableLocationNames(request)\n",
" availableSectors.sort()\n",
" for sector in availableSectors:\n",
" print(\" - \" + sector)\n",
" request.setLocationNames(sector)\n",
" availableProducts = DataAccessLayer.getAvailableParameters(request)\n",
" availableProducts.sort()\n",
" for product in availableProducts:\n",
" print(\" - \" + product)\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"#top\">Top</a>\n",
"\n",
"---"
2018-09-05 15:52:38 -06:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Render GOES East Mesoscale Sectors\n",
"\n",
"Create specific requests defining the datatype, sector, and parameter. Use the data returned to create plots and print out useful information about the data (metadata)."
2018-09-05 15:52:38 -06:00
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"scrolled": false
},
2018-09-05 15:52:38 -06:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Latest image available: 2024-01-30 21:20:28 (0.018333333333333333hr 0.0m ago)\n",
"Image grid size: (500, 500)\n",
"Image grid extent: [-81.83639, -68.16361, 32.285526, 45.709965]\n",
"Latest image available: 2024-01-30 21:20:55 (0.011666666666666667hr 0.0m ago)\n",
"Image grid size: (500, 500)\n",
"Image grid extent: [-95.20762, -80.19988, 30.912949, 44.27834]\n"
2018-09-05 15:52:38 -06:00
]
},
{
"data": {
"image/png": "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
2018-09-05 15:52:38 -06:00
"text/plain": [
"<Figure size 720x864 with 2 Axes>"
2018-09-05 15:52:38 -06:00
]
},
"metadata": {
"needs_background": "light"
},
2018-09-05 15:52:38 -06:00
"output_type": "display_data"
},
{
"data": {
"image/png": "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
2018-09-05 15:52:38 -06:00
"text/plain": [
"<Figure size 720x864 with 2 Axes>"
2018-09-05 15:52:38 -06:00
]
},
"metadata": {
"needs_background": "light"
},
2018-09-05 15:52:38 -06:00
"output_type": "display_data"
}
],
"source": [
"# Define the sectors we want to plot -- here let's use GOES-East mesoscales\n",
2018-09-05 15:52:38 -06:00
"sectors = [\"EMESO-1\",\"EMESO-2\"]\n",
"\n",
"# For each sector render our plot\n",
2018-09-05 15:52:38 -06:00
"for i, sector in enumerate(sectors):\n",
"\n",
" # Create a new request specfically for this data\n",
2018-09-05 15:52:38 -06:00
" request = DataAccessLayer.newDataRequest()\n",
" request.setDatatype(\"satellite\")\n",
" request.setLocationNames(sector)\n",
" # Use Channel 13 as the data we want to render\n",
2018-09-05 15:52:38 -06:00
" request.setParameters(\"CH-13-10.35um\")\n",
"\n",
" # Filter results by time\n",
2018-09-05 15:52:38 -06:00
" 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",
" \n",
" # Define the bounding box for the plot\n",
2018-09-05 15:52:38 -06:00
" lons,lats = grid.getLatLonCoords()\n",
" bbox = [lons.min(), lons.max(), lats.min(), lats.max()]\n",
"\n",
" # Print out the time of the image we're using and where the data is\n",
2018-09-05 15:52:38 -06:00
" 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",
" # Create the new plots\n",
2018-09-05 15:52:38 -06:00
" 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='coolwarm')\n",
2018-09-05 15:52:38 -06:00
" cbar = fig.colorbar(cs, shrink=0.6, orientation='horizontal')\n",
" # Set the colorbar label\n",
" cbar.set_label(sector + \" \" + grid.getParameter() + \" \" \\\n",
" + str(grid.getDataTime().getRefTime()))"
2018-09-05 15:52:38 -06:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"#top\">Top</a>\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## See Also\n",
"\n",
"### Related Notebooks\n",
"\n",
"- [GOES CIRA Product Writer](http://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html)\n",
"\n",
"### Additional Documentation\n",
"\n",
"\n",
"**python-awips**\n",
"\n",
"- [DataAccessLayer.changeEDEXHost()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.changeEDEXHost)\n",
"- [DataAccessLayer.newDataRequest()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.newDataRequest)\n",
"- [DataAccessLayer.getAvailableLocationNames()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLocationNames)\n",
"- [DataAccessLayer.getOptionalIdentifiers()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getOptionalIdentifiers)\n",
"- [DataAccessLayer.getIdentifierValues()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getIdentifierValues)\n",
"- [DataAccessLayer.getAvailableTimes()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableTimes)\n",
"- [IDataRequest](http://unidata.github.io/python-awips/api/IDataRequest.html)\n",
"\n",
"**matplotlib**\n",
"\n",
"- [matplotlib.pyplot()](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.html)\n",
"- [matplotlib.pyplot.axes()](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axes.html)\n",
"- [matplotlib.pyplot.figure()](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.figure.html)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"#top\">Top</a>\n",
"\n",
"---"
]
2018-09-05 15:52:38 -06:00
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
2018-09-05 15:52:38 -06:00
"language": "python",
"name": "python3"
2018-09-05 15:52:38 -06:00
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
2018-09-05 15:52:38 -06:00
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.5"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": true,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": true,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": true
2018-09-05 15:52:38 -06:00
}
},
"nbformat": 4,
"nbformat_minor": 1
}