python-awips/examples/notebooks/Satellite_Imagery.ipynb

807 lines
753 KiB
Text
Raw Normal View History

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",
"### 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": [
"Available Identifiers:\n",
2018-09-06 13:05:37 -06:00
" - source\n",
" - physicalElement\n",
" - sectorID\n",
2018-09-06 13:05:37 -06:00
" - creatingEntity\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",
"# 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",
"# 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.decode('UTF-8'))"
]
},
{
"cell_type": "code",
2018-09-06 13:05:37 -06:00
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"source:\n",
2018-09-06 13:05:37 -06:00
"['NESDIS', 'WCDAS', 'NSOF', 'UCAR', 'McIDAS']\n"
]
}
],
"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,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"creatingEntity:\n",
2018-09-06 13:05:37 -06:00
"['GOES-16', 'Composite', 'GOES-15(P)', 'POES-NPOESS', 'UNIWISC', 'GOES-11(L)', 'Miscellaneous', 'GOES-17', 'NEXRCOMP']\n"
]
}
],
"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,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sectorID:\n",
2018-09-06 13:05:37 -06:00
"['EMESO-2', 'Northern Hemisphere Composite', 'EFD', 'TCONUS', 'Hawaii Regional', 'Arctic', 'TFD', 'GOES-Sounder', 'PRREGI', 'EMESO-1', 'NEXRCOMP', 'ECONUS', 'Hawaii National', 'GOES-West', 'Antarctic', 'GOES-East', 'Alaska Regional', 'Puerto Rico National', 'Supernational', 'Alaska National', 'West CONUS', 'NH Composite - Meteosat-GOES E-GOES W-GMS']\n"
]
}
],
"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,
"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",
" - Alaska National\n",
" - Imager 11 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - Alaska Regional\n",
" - Imager 11 micron IR\n",
" - Imager 3.9 micron IR\n",
" - Imager 6.7-6.5 micron IR (WV)\n",
" - Imager Visible\n",
" - Hawaii National\n",
" - Gridded Cloud Amount\n",
" - Gridded Cloud Top Pressure or Height\n",
" - Imager 11 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 Based Derived Lifted Index (LI)\n",
" - Sounder Based Derived Surface Skin Temp (SFC Skin)\n",
" - Sounder Visible imagery\n",
" - Hawaii Regional\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",
" - 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",
" - Alaska National\n",
" - Rain fall rate\n",
" - Hawaii National\n",
" - Rain fall rate\n",
2018-09-06 13:05:37 -06:00
" - Puerto Rico National\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2018-09-06 13:05:37 -06:00
" - Rain fall rate\n",
" - Supernational\n",
" - Rain fall rate\n",
"UNIWISC\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",
" - GOES-East\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-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",
" - Low cloud base imagery\n",
"Miscellaneous\n",
" - Alaska National\n",
" - Percent of Normal TPW\n",
" - Sounder Based Derived Precipitable Water (PW)\n",
" - Hawaii National\n",
" - Percent of Normal TPW\n",
" - Sounder Based Derived Precipitable Water (PW)\n",
" - Puerto Rico National\n",
" - Percent of Normal TPW\n",
" - Sounder Based Derived Precipitable Water (PW)\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",
"NEXRCOMP\n",
" - NEXRCOMP\n",
" - DHR\n",
" - DVL\n",
" - EET\n",
" - HHC\n",
" - N0R\n",
" - N1P\n",
" - NTP\n"
]
}
],
"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": [
"## 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-09-06 13:05:37 -06:00
"execution_count": 7,
2018-09-05 15:52:38 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2018-09-06 13:05:37 -06:00
"Latest image available: 2018-09-06 18:40:25 (0m ago)\n",
"Image grid size: (500, 500)\n",
"Image grid extent: [-113.0645, -93.15873, 28.881845, 42.417145]\n",
2018-09-06 13:05:37 -06:00
"Latest image available: 2018-09-06 18:39:55 (1m ago)\n",
"Image grid size: (500, 500)\n",
"Image grid extent: [-54.55265, -39.13128, 18.64958, 29.786066]\n"
2018-09-05 15:52:38 -06:00
]
},
{
"data": {
"text/plain": [
"<Figure size 1152x1008 with 0 Axes>"
2018-09-05 15:52:38 -06:00
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2018-09-06 13:05:37 -06:00
"image/png": "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
2018-09-05 15:52:38 -06:00
"text/plain": [
"<Figure size 720x864 with 2 Axes>"
2018-09-05 15:52:38 -06:00
]
},
"metadata": {
"needs_background": "light"
},
2018-09-05 15:52:38 -06:00
"output_type": "display_data"
},
{
"data": {
2018-09-06 13:05:37 -06:00
"image/png": "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
2018-09-05 15:52:38 -06:00
"text/plain": [
"<Figure size 720x864 with 2 Axes>"
2018-09-05 15:52:38 -06:00
]
},
"metadata": {
"needs_background": "light"
},
2018-09-05 15:52:38 -06:00
"output_type": "display_data"
}
],
"source": [
"%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",
" 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",
"\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",
2018-09-06 13:05:37 -06:00
" cbar.set_label(sector + \" \" \\\n",
" + grid.getParameter().decode('UTF-8') + \" \" \\\n",
" + str(grid.getDataTime().getRefTime()))"
2018-09-05 15:52:38 -06:00
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
2018-09-05 15:52:38 -06:00
"language": "python",
"name": "python3"
2018-09-05 15:52:38 -06:00
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
2018-09-05 15:52:38 -06:00
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.6"
2018-09-05 15:52:38 -06:00
}
},
"nbformat": 4,
"nbformat_minor": 1
}