2018-09-05 15:52:38 -06:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Satellite images are returned by Python AWIPS as grids, and can be rendered with Cartopy pcolormesh the same as gridded forecast models in other python-awips examples. \n",
"\n",
2018-09-06 12:12:07 -06:00
"### Available Sources, Creating Entities, Sectors, and Products"
2018-09-05 15:52:38 -06:00
]
},
{
"cell_type": "code",
2018-09-06 13:05:37 -06:00
"execution_count": 1,
2018-09-05 15:52:38 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2018-09-06 12:12:07 -06:00
"Available Identifiers:\n",
" - sectorID\n",
2018-10-05 17:09:43 -06:00
" - source\n",
" - creatingEntity\n",
" - physicalElement\n"
2018-09-05 15:52:38 -06:00
]
}
],
"source": [
"from awips.dataaccess import DataAccessLayer\n",
2018-09-06 13:05:37 -06:00
"import cartopy.crs as ccrs\n",
"import cartopy.feature as cfeat\n",
"import matplotlib.pyplot as plt\n",
"from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER\n",
"import numpy as np\n",
"import datetime\n",
2018-09-05 15:52:38 -06:00
"\n",
2018-09-06 12:12:07 -06:00
"# Create an EDEX data request\n",
2018-09-06 13:05:37 -06:00
"DataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\n",
2018-09-05 15:52:38 -06:00
"request = DataAccessLayer.newDataRequest()\n",
"request.setDatatype(\"satellite\")\n",
"\n",
2018-09-06 12:12:07 -06:00
"# get optional identifiers for satellite datatype\n",
"identifiers = set(DataAccessLayer.getOptionalIdentifiers(request))\n",
2018-09-05 15:52:38 -06:00
"\n",
2018-09-06 12:12:07 -06:00
"print(\"Available Identifiers:\")\n",
"for id in identifiers:\n",
" if id.lower() == 'datauri':\n",
" continue\n",
" print(\" - \" + id.decode('UTF-8'))"
]
},
{
"cell_type": "code",
2018-09-06 13:05:37 -06:00
"execution_count": 2,
2018-09-06 12:12:07 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"source:\n",
2018-10-05 17:09:43 -06:00
"[b'NESDIS', b'WCDAS', b'NSOF', b'UCAR', b'McIDAS']\n"
2018-09-06 12:12:07 -06:00
]
}
],
"source": [
"# Show available sources\n",
"identifier = \"source\"\n",
"sources = DataAccessLayer.getIdentifierValues(request, identifier)\n",
"print(identifier + \":\")\n",
"print(list(sources))"
]
},
{
"cell_type": "code",
2018-09-06 13:05:37 -06:00
"execution_count": 3,
2018-09-06 12:12:07 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"creatingEntity:\n",
2018-10-05 17:09:43 -06:00
"[b'GOES-16', b'Composite', b'Miscellaneous', b'GOES-17', b'NEXRCOMP', b'GOES-15(P)', b'GOES-12(M)', b'POES-NPOESS', b'UNIWISC', b'GOES-11(L)']\n"
2018-09-06 12:12:07 -06:00
]
}
],
"source": [
"# Show available creatingEntities\n",
"identifier = \"creatingEntity\"\n",
"creatingEntities = DataAccessLayer.getIdentifierValues(request, identifier)\n",
"print(identifier + \":\")\n",
"print(list(creatingEntities))"
]
},
{
"cell_type": "code",
2018-09-06 13:05:37 -06:00
"execution_count": 4,
2018-09-06 12:12:07 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sectorID:\n",
2018-10-05 17:09:43 -06:00
"[b'EMESO-2', b'Northern Hemisphere Composite', b'EFD', b'TCONUS', b'Arctic', b'TFD', b'PRREGI', b'GOES-Sounder', b'East CONUS', b'EMESO-1', b'NEXRCOMP', b'ECONUS', b'GOES-West', b'Antarctic', b'GOES-East', b'Supernational', b'West CONUS', b'NH Composite - Meteosat-GOES E-GOES W-GMS']\n"
2018-09-06 12:12:07 -06:00
]
}
],
"source": [
"# Show available sectorIDs\n",
"identifier = \"sectorID\"\n",
"sectorIDs = DataAccessLayer.getIdentifierValues(request, identifier)\n",
"print(identifier + \":\")\n",
"print(list(sectorIDs))"
]
},
{
"cell_type": "code",
2018-09-06 13:05:37 -06:00
"execution_count": 5,
2018-09-06 12:12:07 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"GOES-16\n",
" - ECONUS\n",
" - ACTP\n",
" - ADP\n",
" - AOD\n",
" - CAPE\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
" - CSM\n",
" - CTH\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - TPW\n",
" - TT\n",
" - VMP-0.00hPa\n",
" - VMP-0.02hPa\n",
" - VMP-0.04hPa\n",
" - VMP-0.08hPa\n",
" - VMP-0.14hPa\n",
" - VMP-0.22hPa\n",
" - VMP-0.35hPa\n",
" - VMP-0.51hPa\n",
" - VMP-0.71hPa\n",
" - VMP-0.98hPa\n",
" - VMP-1.30hPa\n",
" - VMP-1.69hPa\n",
" - VMP-1013.95hPa\n",
" - VMP-103.02hPa\n",
" - VMP-1042.23hPa\n",
" - VMP-1070.92hPa\n",
" - VMP-11.00hPa\n",
" - VMP-110.24hPa\n",
" - VMP-1100.00hPa\n",
" - VMP-117.78hPa\n",
" - VMP-12.65hPa\n",
" - VMP-125.65hPa\n",
" - VMP-133.85hPa\n",
" - VMP-14.46hPa\n",
" - VMP-142.38hPa\n",
" - VMP-151.27hPa\n",
" - VMP-16.43hPa\n",
" - VMP-160.50hPa\n",
" - VMP-170.08hPa\n",
" - VMP-18.58hPa\n",
" - VMP-180.02hPa\n",
" - VMP-190.32hPa\n",
" - VMP-2.15hPa\n",
" - VMP-2.70hPa\n",
" - VMP-20.92hPa\n",
" - VMP-200.99hPa\n",
" - VMP-212.03hPa\n",
" - VMP-223.44hPa\n",
" - VMP-23.45hPa\n",
" - VMP-235.23hPa\n",
" - VMP-247.41hPa\n",
" - VMP-259.97hPa\n",
" - VMP-26.18hPa\n",
" - VMP-272.92hPa\n",
" - VMP-286.26hPa\n",
" - VMP-29.12hPa\n",
" - VMP-3.34hPa\n",
" - VMP-300.00hPa\n",
" - VMP-314.14hPa\n",
" - VMP-32.27hPa\n",
" - VMP-328.68hPa\n",
" - VMP-343.62hPa\n",
" - VMP-35.65hPa\n",
" - VMP-358.97hPa\n",
" - VMP-374.72hPa\n",
" - VMP-39.26hPa\n",
" - VMP-390.89hPa\n",
" - VMP-4.08hPa\n",
" - VMP-4.92hPa\n",
" - VMP-407.47hPa\n",
" - VMP-424.47hPa\n",
" - VMP-43.10hPa\n",
" - VMP-441.88hPa\n",
" - VMP-459.71hPa\n",
" - VMP-47.19hPa\n",
" - VMP-477.96hPa\n",
" - VMP-496.63hPa\n",
" - VMP-5.88hPa\n",
" - VMP-51.53hPa\n",
" - VMP-515.72hPa\n",
" - VMP-535.23hPa\n",
" - VMP-555.17hPa\n",
" - VMP-56.13hPa\n",
" - VMP-575.52hPa\n",
" - VMP-596.31hPa\n",
" - VMP-6.96hPa\n",
" - VMP-60.99hPa\n",
" - VMP-617.51hPa\n",
" - VMP-639.14hPa\n",
" - VMP-66.13hPa\n",
" - VMP-661.19hPa\n",
" - VMP-683.67hPa\n",
" - VMP-706.57hPa\n",
" - VMP-71.54hPa\n",
" - VMP-729.89hPa\n",
" - VMP-753.63hPa\n",
" - VMP-77.24hPa\n",
" - VMP-777.79hPa\n",
" - VMP-8.17hPa\n",
" - VMP-802.37hPa\n",
" - VMP-827.37hPa\n",
" - VMP-83.23hPa\n",
" - VMP-852.79hPa\n",
" - VMP-878.62hPa\n",
" - VMP-89.52hPa\n",
" - VMP-9.51hPa\n",
" - VMP-904.87hPa\n",
" - VMP-931.52hPa\n",
" - VMP-958.59hPa\n",
" - VMP-96.11hPa\n",
" - VMP-986.07hPa\n",
" - VTP-0.00hPa\n",
" - VTP-0.02hPa\n",
" - VTP-0.04hPa\n",
" - VTP-0.08hPa\n",
" - VTP-0.14hPa\n",
" - VTP-0.22hPa\n",
" - VTP-0.35hPa\n",
" - VTP-0.51hPa\n",
" - VTP-0.71hPa\n",
" - VTP-0.98hPa\n",
" - VTP-1.30hPa\n",
" - VTP-1.69hPa\n",
" - VTP-1013.95hPa\n",
" - VTP-103.02hPa\n",
" - VTP-1042.23hPa\n",
" - VTP-1070.92hPa\n",
" - VTP-11.00hPa\n",
" - VTP-110.24hPa\n",
" - VTP-1100.00hPa\n",
" - VTP-117.78hPa\n",
" - VTP-12.65hPa\n",
" - VTP-125.65hPa\n",
" - VTP-133.85hPa\n",
" - VTP-14.46hPa\n",
" - VTP-142.38hPa\n",
" - VTP-151.27hPa\n",
" - VTP-16.43hPa\n",
" - VTP-160.50hPa\n",
" - VTP-170.08hPa\n",
" - VTP-18.58hPa\n",
" - VTP-180.02hPa\n",
" - VTP-190.32hPa\n",
" - VTP-2.15hPa\n",
" - VTP-2.70hPa\n",
" - VTP-20.92hPa\n",
" - VTP-200.99hPa\n",
" - VTP-212.03hPa\n",
" - VTP-223.44hPa\n",
" - VTP-23.45hPa\n",
" - VTP-235.23hPa\n",
" - VTP-247.41hPa\n",
" - VTP-259.97hPa\n",
" - VTP-26.18hPa\n",
" - VTP-272.92hPa\n",
" - VTP-286.26hPa\n",
" - VTP-29.12hPa\n",
" - VTP-3.34hPa\n",
" - VTP-300.00hPa\n",
" - VTP-314.14hPa\n",
" - VTP-32.27hPa\n",
" - VTP-328.68hPa\n",
" - VTP-343.62hPa\n",
" - VTP-35.65hPa\n",
" - VTP-358.97hPa\n",
" - VTP-374.72hPa\n",
" - VTP-39.26hPa\n",
" - VTP-390.89hPa\n",
" - VTP-4.08hPa\n",
" - VTP-4.92hPa\n",
" - VTP-407.47hPa\n",
" - VTP-424.47hPa\n",
" - VTP-43.10hPa\n",
" - VTP-441.88hPa\n",
" - VTP-459.71hPa\n",
" - VTP-47.19hPa\n",
" - VTP-477.96hPa\n",
" - VTP-496.63hPa\n",
" - VTP-5.88hPa\n",
" - VTP-51.53hPa\n",
" - VTP-515.72hPa\n",
" - VTP-535.23hPa\n",
" - VTP-555.17hPa\n",
" - VTP-56.13hPa\n",
" - VTP-575.52hPa\n",
" - VTP-596.31hPa\n",
" - VTP-6.96hPa\n",
" - VTP-60.99hPa\n",
" - VTP-617.51hPa\n",
" - VTP-639.14hPa\n",
" - VTP-66.13hPa\n",
" - VTP-661.19hPa\n",
" - VTP-683.67hPa\n",
" - VTP-706.57hPa\n",
" - VTP-71.54hPa\n",
" - VTP-729.89hPa\n",
" - VTP-753.63hPa\n",
" - VTP-77.24hPa\n",
" - VTP-777.79hPa\n",
" - VTP-8.17hPa\n",
" - VTP-802.37hPa\n",
" - VTP-827.37hPa\n",
" - VTP-83.23hPa\n",
" - VTP-852.79hPa\n",
" - VTP-878.62hPa\n",
" - VTP-89.52hPa\n",
" - VTP-9.51hPa\n",
" - VTP-904.87hPa\n",
" - VTP-931.52hPa\n",
" - VTP-958.59hPa\n",
" - VTP-96.11hPa\n",
" - VTP-986.07hPa\n",
" - EFD\n",
" - ACTP\n",
" - ADP\n",
" - AOD\n",
" - CAPE\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - RRQPE\n",
" - SI\n",
" - SST\n",
" - TPW\n",
" - TT\n",
" - VAH\n",
" - VAML\n",
" - EMESO-1\n",
" - ACTP\n",
" - ADP\n",
" - CAPE\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - TPW\n",
" - TT\n",
" - EMESO-2\n",
" - ACTP\n",
" - ADP\n",
" - CAPE\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
" - CSM\n",
" - CTH\n",
" - CTT\n",
" - KI\n",
" - LI\n",
" - LST\n",
" - SI\n",
" - TPW\n",
" - TT\n",
" - PRREGI\n",
" - CH-01-0.47um\n",
" - CH-02-0.64um\n",
" - CH-03-0.87um\n",
" - CH-04-1.38um\n",
" - CH-05-1.61um\n",
" - CH-06-2.25um\n",
" - CH-07-3.90um\n",
" - CH-08-6.19um\n",
" - CH-09-6.95um\n",
" - CH-10-7.34um\n",
" - CH-11-8.50um\n",
" - CH-12-9.61um\n",
" - CH-13-10.35um\n",
" - CH-14-11.20um\n",
" - CH-15-12.30um\n",
" - CH-16-13.30um\n",
"Composite\n",
" - NH Composite - Meteosat-GOES E-GOES W-GMS\n",
" - Imager 11 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - Supernational\n",
" - Gridded Cloud Amount\n",
" - Gridded Cloud Top Pressure or Height\n",
" - Sounder Based Derived Lifted Index (LI)\n",
" - Sounder Based Derived Precipitable Water (PW)\n",
" - Sounder Based Derived Surface Skin Temp (SFC Skin)\n",
2018-10-05 17:09:43 -06:00
"Miscellaneous\n",
" - Supernational\n",
" - Percent of Normal TPW\n",
" - Sounder Based Derived Precipitable Water (PW)\n",
"GOES-17\n",
" - TCONUS\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",
" - TFD\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",
" - FDC Area\n",
" - FDC Power\n",
" - FDC Temp\n",
"NEXRCOMP\n",
" - NEXRCOMP\n",
" - DHR\n",
" - DVL\n",
" - EET\n",
" - HHC\n",
" - N0R\n",
" - N1P\n",
" - NTP\n",
2018-09-06 12:12:07 -06:00
"GOES-15(P)\n",
" - Northern Hemisphere Composite\n",
" - Imager 11 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - Supernational\n",
" - Imager 11 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - West CONUS\n",
" - Imager 11 micron IR\n",
" - Imager 13 micron IR\n",
" - Imager 3.9 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - Sounder 11.03 micron imagery\n",
" - Sounder 14.06 micron imagery\n",
" - Sounder 3.98 micron imagery\n",
" - Sounder 4.45 micron imagery\n",
" - Sounder 6.51 micron imagery\n",
" - Sounder 7.02 micron imagery\n",
" - Sounder 7.43 micron imagery\n",
" - Sounder Visible imagery\n",
2018-10-05 17:09:43 -06:00
"GOES-12(M)\n",
" - East CONUS\n",
" - Low cloud base imagery\n",
2018-09-06 12:12:07 -06:00
"POES-NPOESS\n",
2018-09-06 13:05:37 -06:00
" - Supernational\n",
" - Rain fall rate\n",
"UNIWISC\n",
2018-09-06 12:12:07 -06:00
" - 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",
2018-10-05 17:09:43 -06:00
" - GOES-East\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2018-09-06 12:12:07 -06:00
" - Imager 11 micron IR\n",
" - Imager 13 micron IR\n",
" - Imager 3.5-4.0 micron IR (Fog)\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - GOES-Sounder\n",
" - CAPE\n",
" - Sounder Based Derived Lifted Index (LI)\n",
" - Sounder Based Derived Precipitable Water (PW)\n",
" - Sounder Based Total Column Ozone\n",
" - GOES-West\n",
" - Imager 11 micron IR\n",
" - Imager 13 micron IR\n",
" - Imager 3.5-4.0 micron IR (Fog)\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
"GOES-11(L)\n",
" - West CONUS\n",
2018-10-05 17:09:43 -06:00
" - Low cloud base imagery\n"
2018-09-06 12:12:07 -06:00
]
}
],
"source": [
"# Contrust a full satellite product tree\n",
"for entity in creatingEntities:\n",
" print(entity.decode('UTF-8'))\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.decode('UTF-8'))\n",
" request.setLocationNames(sector.decode('UTF-8'))\n",
" availableProducts = DataAccessLayer.getAvailableParameters(request)\n",
" availableProducts.sort()\n",
" for product in availableProducts:\n",
" print(\" - \" + product.decode('UTF-8'))"
2018-09-05 15:52:38 -06:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-09-06 12:12:07 -06:00
"## GOES 16 Mesoscale Sectors\n",
"\n",
"Define our imports, and define our map properties first. "
2018-09-05 15:52:38 -06:00
]
},
{
"cell_type": "code",
2018-10-05 17:09:43 -06:00
"execution_count": 6,
2018-09-05 15:52:38 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2018-10-05 17:09:43 -06:00
"Latest image available: 2018-10-05 21:34:27 (0.019166666666666665hr 0.0m ago)\n",
2018-09-06 12:12:07 -06:00
"Image grid size: (500, 500)\n",
2018-10-05 17:09:43 -06:00
"Image grid extent: [-112.09298, -92.023224, 29.979464, 43.81187]\n",
"Latest image available: 2018-10-05 13:59:57 (7.595277777777778hr 0.0m ago)\n",
2018-09-06 12:12:07 -06:00
"Image grid size: (500, 500)\n",
2018-10-05 17:09:43 -06:00
"Image grid extent: [-95.207375, -80.199844, 30.912758, 44.278015]\n"
2018-09-05 15:52:38 -06:00
]
},
{
"data": {
"text/plain": [
2018-09-06 12:12:07 -06:00
"<Figure size 1152x1008 with 0 Axes>"
2018-09-05 15:52:38 -06:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2018-10-05 17:09:43 -06:00
"image/png": "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
2018-09-05 15:52:38 -06:00
"text/plain": [
2018-09-06 12:12:07 -06:00
"<Figure size 720x864 with 2 Axes>"
2018-09-05 15:52:38 -06:00
]
},
2018-09-06 12:12:07 -06:00
"metadata": {
"needs_background": "light"
},
2018-09-05 15:52:38 -06:00
"output_type": "display_data"
},
{
"data": {
2018-10-05 17:09:43 -06:00
"image/png": "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
2018-09-05 15:52:38 -06:00
"text/plain": [
2018-09-06 12:12:07 -06:00
"<Figure size 720x864 with 2 Axes>"
2018-09-05 15:52:38 -06:00
]
},
2018-09-06 12:12:07 -06:00
"metadata": {
"needs_background": "light"
},
2018-09-05 15:52:38 -06:00
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"\n",
"def make_map(bbox, projection=ccrs.PlateCarree()):\n",
" fig, ax = plt.subplots(figsize=(10,12),\n",
" subplot_kw=dict(projection=projection))\n",
2018-09-06 12:12:07 -06:00
" if bbox[0] is not np.nan:\n",
" ax.set_extent(bbox)\n",
2018-09-05 15:52:38 -06:00
" ax.coastlines(resolution='50m')\n",
" gl = ax.gridlines(draw_labels=True)\n",
" gl.xlabels_top = gl.ylabels_right = False\n",
" gl.xformatter = LONGITUDE_FORMATTER\n",
" gl.yformatter = LATITUDE_FORMATTER\n",
" return fig, ax\n",
"\n",
"sectors = [\"EMESO-1\",\"EMESO-2\"]\n",
"fig = plt.figure(figsize=(16,7*len(sectors)))\n",
"\n",
"for i, sector in enumerate(sectors):\n",
"\n",
" request = DataAccessLayer.newDataRequest()\n",
" request.setDatatype(\"satellite\")\n",
" request.setLocationNames(sector)\n",
" request.setParameters(\"CH-13-10.35um\")\n",
"\n",
" utc = datetime.datetime.utcnow()\n",
" times = DataAccessLayer.getAvailableTimes(request)\n",
" hourdiff = utc - datetime.datetime.strptime(str(times[-1]),'%Y-%m-%d %H:%M:%S')\n",
" hours,days = hourdiff.seconds/3600,hourdiff.days\n",
" minute = str((hourdiff.seconds - (3600 * hours)) / 60)\n",
" offsetStr = ''\n",
" if hours > 0:\n",
" offsetStr += str(hours) + \"hr \"\n",
" offsetStr += str(minute) + \"m ago\"\n",
" if days > 1:\n",
" offsetStr = str(days) + \" days ago\"\n",
"\n",
" response = DataAccessLayer.getGridData(request, [times[-1]])\n",
" grid = response[0]\n",
" data = grid.getRawData()\n",
" lons,lats = grid.getLatLonCoords()\n",
" bbox = [lons.min(), lons.max(), lats.min(), lats.max()]\n",
"\n",
" print(\"Latest image available: \"+str(times[-1]) + \" (\"+offsetStr+\")\")\n",
" print(\"Image grid size: \" + str(data.shape))\n",
" print(\"Image grid extent: \" + str(list(bbox)))\n",
2018-09-06 12:12:07 -06:00
"\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",
2018-09-06 12:12:07 -06:00
" 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",
2018-09-06 13:05:37 -06:00
" cbar.set_label(sector + \" \" \\\n",
2018-09-06 12:12:07 -06:00
" + grid.getParameter().decode('UTF-8') + \" \" \\\n",
" + str(grid.getDataTime().getRefTime()))"
2018-09-05 15:52:38 -06:00
]
}
],
"metadata": {
"kernelspec": {
2018-09-06 12:12:07 -06:00
"display_name": "Python 3",
2018-09-05 15:52:38 -06:00
"language": "python",
2018-09-06 12:12:07 -06:00
"name": "python3"
2018-09-05 15:52:38 -06:00
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
2018-09-06 12:12:07 -06:00
"version": 3
2018-09-05 15:52:38 -06:00
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
2018-09-06 12:12:07 -06:00
"pygments_lexer": "ipython3",
"version": "3.6.6"
2018-09-05 15:52:38 -06:00
}
},
"nbformat": 4,
"nbformat_minor": 1
}