python-awips/examples/notebooks/Satellite_Imagery.ipynb

1236 lines
1.4 MiB
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": 35,
"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",
"from datetime import datetime, UTC\n",
"from pytz import timezone as tz"
]
},
{
"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": 36,
"metadata": {},
"outputs": [],
"source": [
"# Create an EDEX data request\n",
"DataAccessLayer.changeEDEXHost(\"edex-beta.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": 37,
"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": 38,
2018-09-05 15:52:38 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Available Identifiers:\n",
" - source\n",
2018-10-05 17:09:43 -06:00
" - creatingEntity\n",
" - physicalElement\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": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"source:\n",
"['GTDO1', 'UCAR', 'NSOF', 'McIDAS', 'RAMMB', 'WCDAS']\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": 40,
"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', 'VTP-931.50hPa', 'VTP-103.00hPa', 'LI', 'VMP-555.20hPa', 'Imager 12 micron IR', 'IceTemp', 'VMP-729.90hPa', 'CF2', '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', 'TT', 'CSM', 'IceAge8', 'VTP-706.60hPa', 'GLM_Minimum_Flash_Area_w5u1', 'CH-09-6.95um', 'VMP-753.60hPa', 'VMP-878.60hPa', 'VTP-459.70hPa', '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', 'CPSD', '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', 'Smoke', 'FDC Power', 'VTP-852.80hPa', 'VMP-575.50hPa', 'CH-13-10.35um', 'Fog_Depth', 'TCF', 'CH-04-1.38um', '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', 'VTP-827.40hPa', 'COD', 'IceThickness', 'Dust', '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', 'KI', 'VTP-300.00hPa', 'VTP-20.92hPa', 'VTP-359.00hPa', 'Imager 11 micron IR', '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": 41,
"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": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sectorID:\n",
"['EMESO-2', 'WCONUS', 'AKREGI', 'WMESO-1', 'NEXRCOMP', 'WMESO-2', 'WFD', 'AREA3100', 'ECONUS', 'ASREGI', '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": 43,
"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",
" - ASREGI\n",
" - CH-13-10.35um\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",
" - Dust\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",
" - Smoke\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",
" - Dust\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",
" - Smoke\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",
" - Dust\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - Smoke\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",
" - Dust\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - Smoke\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",
" - CPSD\n",
" - CSM\n",
" - CTH\n",
" - CTP\n",
" - Dust\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",
" - Smoke\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",
" - CPSD\n",
" - CSM\n",
" - CTH\n",
" - CTP\n",
" - CTT\n",
" - Dust\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",
" - Smoke\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",
" - CPSD\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - Dust\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - Smoke\n",
" - TCF\n",
" - TPW\n",
" - TT\n",
" - EMESO-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",
" - CPSD\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - Dust\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - Fire_Mask\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - Smoke\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",
"DBRDUST\n",
" - ECONUS\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\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": 47,
"metadata": {},
2018-09-05 15:52:38 -06:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-01-23 17:33:11.515594+00:00\n",
"2025-01-23 17:32:25\n",
"Latest image available: 2025-01-23 17:32:25 (0.012777777777777779hr 0.0m ago)\n",
"Image grid size: (500, 500)\n",
"Image grid extent: [np.float32(-81.83639), np.float32(-68.16361), np.float32(32.285526), np.float32(45.709965)]\n",
"2025-01-23 17:33:16.868693+00:00\n",
"2025-01-23 17:31:55\n",
"Latest image available: 2025-01-23 17:31:55 (0.0225hr 0.0m ago)\n",
"Image grid size: (500, 500)\n",
"Image grid extent: [np.float32(-95.20762), np.float32(-80.19988), np.float32(30.912949), np.float32(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 1000x1200 with 2 Axes>"
2018-09-05 15:52:38 -06:00
]
},
"metadata": {},
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 1000x1200 with 2 Axes>"
2018-09-05 15:52:38 -06:00
]
},
"metadata": {},
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",
" utc = datetime.now(UTC)\n",
2018-09-05 15:52:38 -06:00
" times = DataAccessLayer.getAvailableTimes(request)\n",
" sTime = datetime.strptime(str(times[-1]),'%Y-%m-%d %H:%M:%S')\n",
" sTime = sTime.replace(tzinfo=tz('UTC'))\n",
" hourdiff = utc - sTime\n",
2018-09-05 15:52:38 -06:00
" 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 (ipykernel)",
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.13.1"
},
"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": 4
2018-09-05 15:52:38 -06:00
}