python-awips/examples/notebooks/Satellite_Imagery.ipynb

1232 lines
1.3 MiB
Text
Raw Permalink 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": 1,
"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": 2,
"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": 3,
"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": 4,
2018-09-05 15:52:38 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Available Identifiers:\n",
" - source\n",
" - physicalElement\n",
" - sectorID\n",
" - creatingEntity\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": 5,
"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": 6,
"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', 'CH-07-3.90um', 'CTT', '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', 'HHC', 'CAPE', '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', '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-958.60hPa', 'VTP-802.40hPa', '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', 'GLM_Total_Optical_Energy_tile', 'CF1', '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": 7,
"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": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sectorID:\n",
"['WCONUS', 'EMESO-2', '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": 9,
"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": 10,
"metadata": {},
2018-09-05 15:52:38 -06:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Latest image available: 2025-02-12 23:56:25 (0.02hr 0.0m ago)\n",
"Image grid size: (500, 500)\n",
"Image grid extent: [np.float32(-97.02021), np.float32(-82.868774), np.float32(26.70658), np.float32(38.9646)]\n",
"Latest image available: 2025-02-12 23:56:55 (0.012777777777777779hr 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": "iVBORw0KGgoAAAANSUhEUgAAAxQAAANnCAYAAACoNR7+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsvXm8bVlVHvqNOedae59zb1XRiDTSF03R903QaBIEDIg+TaOACHaAQoREUeJTnr0gRDB2iSYmGpsk+qLm2Tyb5GlsIiFgFxtUumCXIAhVde85e60553h/jDnmHHOdc6vOPudUAVV7/H73nnP2Xnvtubo5R/N93yBmZuxsZzvb2c52trOd7WxnO9vZKcx9qAews53tbGc729nOdrazne3sI9d2AcXOdrazne1sZzvb2c52trNT2y6g2NnOdrazne1sZzvb2c52dmrbBRQ729nOdrazne1sZzvb2c5ObbuAYmc729nOdrazne1sZzvb2altF1DsbGc729nOdrazne1sZzs7te0Cip3tbGc729nOdrazne1sZ6e28KEewHnb4eEhpmn6UA9jZzvb2c52trOd7WxnO/uItnEcsV6vb3a721RAcXh4iPvc617433/5lx/qoexsZzvb2c52trOd7WxnH9F2t7vdDe985ztvNqi4TQUU0zThf//lX+K//dLP4aqLF8EgAACTILsYBMcJAEDg7n2fY30PADJ5TG6NidZ1e8LRpuIMQoZDZtf9DQAJDgxCQNuvQwYAeEr196U94P73utljnecZP/dzP4enP/3pGIbhZrff2fnalc7/e9/7XnzTN30Tvu7rvg4XLlz4EI7wtm+7Z+BDb7eFa5BzxuHhIfb39z/UQzmV3RauwUey7c7/h9521+CWs+uvvx73ute9ME3T7SugULv6wgVcvHixey2T3yqgSE5OzeRHJHjwMXSTXAIGAMgsvyf28nmzvS+BAxGfKKD4i/d+AJ6ifIYZEQNmlocksUdkj5wi9vf38Wd/eQDnpxrsOMr1+OqxsAdR+/sh137MlU7dzk5o8zxjf38fV199dTeB/cmf/An+83/+z/jiL/5i3P3ud/8QjvC2b1e6Bju79ey2cA1+9md/Fp/5mZ+J3/qt38K9733vD/VwtrbbwjX4SLbd+f/Q2+4afHjYbTKgOM6Ixf2X3xlMVIMKn+OR7X2OiE5uTI+E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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
}