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-10-09 13:39:16 -06:00
"execution_count": 2,
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",
2018-10-09 13:39:16 -06:00
" - physicalElement\n",
2018-10-05 17:09:43 -06:00
" - creatingEntity\n",
2018-10-09 13:39:16 -06:00
" - source\n",
" - sectorID\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",
2018-10-09 13:39:16 -06:00
" print(\" - \" + id)"
2018-09-06 12:12:07 -06:00
]
},
{
"cell_type": "code",
2018-10-09 13:39:16 -06:00
"execution_count": 3,
2018-09-06 12:12:07 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"source:\n",
2018-10-09 13:39:16 -06:00
"['NESDIS', 'WCDAS', 'NSOF', 'UCAR', '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-10-09 13:39:16 -06:00
"execution_count": 4,
2018-09-06 12:12:07 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"creatingEntity:\n",
2018-10-09 13:39:16 -06:00
"['GOES-16', 'Composite', 'GOES-15(P)', 'POES-NPOESS', 'UNIWISC', 'GOES-11(L)', 'Miscellaneous', 'GOES-17', 'NEXRCOMP']\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-10-09 13:39:16 -06:00
"execution_count": 5,
2018-09-06 12:12:07 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sectorID:\n",
2018-10-09 13:39:16 -06:00
"['EMESO-2', 'Northern Hemisphere Composite', 'EFD', 'TCONUS', 'Arctic', 'TFD', 'PRREGI', 'GOES-Sounder', 'EMESO-1', 'NEXRCOMP', 'ECONUS', 'GOES-West', 'Antarctic', 'GOES-East', 'Supernational', 'West CONUS', '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-10-09 13:39:16 -06:00
"execution_count": 6,
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",
"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",
"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-09 13:39:16 -06:00
" - GOES-East\n",
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-09 13:39:16 -06:00
" - Low cloud base imagery\n",
"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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" - 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",
"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
]
}
],
"source": [
"# Contrust a full satellite product tree\n",
"for entity in creatingEntities:\n",
2018-10-09 13:39:16 -06:00
" print(entity)\n",
2018-09-06 12:12:07 -06:00
" request = DataAccessLayer.newDataRequest(\"satellite\")\n",
" request.addIdentifier(\"creatingEntity\", entity)\n",
" availableSectors = DataAccessLayer.getAvailableLocationNames(request)\n",
" availableSectors.sort()\n",
" for sector in availableSectors:\n",
2018-10-09 13:39:16 -06:00
" print(\" - \" + sector)\n",
" request.setLocationNames(sector)\n",
2018-09-06 12:12:07 -06:00
" availableProducts = DataAccessLayer.getAvailableParameters(request)\n",
" availableProducts.sort()\n",
" for product in availableProducts:\n",
2018-10-09 13:39:16 -06:00
" print(\" - \" + product)"
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-09 13:39:16 -06:00
"execution_count": 7,
2018-09-05 15:52:38 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2018-10-09 13:39:16 -06:00
"Latest image available: 2018-10-09 19:17:28 (0.021388888888888888hr 0.0m ago)\n",
2018-09-06 12:12:07 -06:00
"Image grid size: (500, 500)\n",
2018-10-09 13:39:16 -06:00
"Image grid extent: [-92.47462, -80.657455, 20.24799, 31.116167]\n",
"Latest image available: 2018-10-09 14:30:58 (4.797777777777778hr 0.0m ago)\n",
2018-09-06 12:12:07 -06:00
"Image grid size: (500, 500)\n",
2018-10-09 13:39:16 -06:00
"Image grid extent: [-104.61595, -87.45227, 29.422266, 42.70851]\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-09 13:39:16 -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-09 13:39:16 -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-10-09 13:39:16 -06:00
" cbar.set_label(sector + \" \" + grid.getParameter() + \" \" \\\n",
2018-09-06 12:12:07 -06:00
" + 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
}