python-awips/examples/notebooks/Satellite_Imagery.ipynb

807 lines
754 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",
"execution_count": 18,
2018-09-05 15:52:38 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Available Identifiers:\n",
" - physicalElement\n",
" - sectorID\n",
" - creatingEntity\n",
" - source\n"
2018-09-05 15:52:38 -06:00
]
}
],
"source": [
"from awips.dataaccess import DataAccessLayer\n",
"\n",
"# Create an EDEX data request\n",
"DataAccessLayer.changeEDEXHost(\"149.165.156.89\")\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",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"source:\n",
"[b'NESDIS', b'WCDAS', b'NSOF', b'UCAR', b'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",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"creatingEntity:\n",
"[b'GOES-16', b'Composite', b'GOES-15(P)', b'POES-NPOESS', b'UNIWISC', b'GOES-11(L)', b'Miscellaneous', b'GOES-17', b'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",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sectorID:\n",
"[b'EMESO-2', b'Northern Hemisphere Composite', b'EFD', b'TCONUS', b'Hawaii Regional', b'Arctic', b'TFD', b'GOES-Sounder', b'PRREGI', b'EMESO-1', b'NEXRCOMP', b'ECONUS', b'Hawaii National', b'Antarctic', b'GOES-West', b'GOES-East', b'Alaska Regional', b'Puerto Rico National', b'Supernational', b'Alaska National', b'West CONUS', b'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",
"execution_count": 22,
"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",
" - Puerto Rico National\n",
" - Rain fall rate\n",
" - Supernational\n",
" - Rain fall rate\n",
"UNIWISC\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" - 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",
"execution_count": 48,
2018-09-05 15:52:38 -06:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Latest image available: 2018-09-06 17:33:25 (0.03138888888888889hr 0.0m ago)\n",
"Image grid size: (500, 500)\n",
"Image grid extent: [-113.0645, -93.15873, 28.881845, 42.417145]\n",
"Latest image available: 2018-09-06 17:33:55 (0.02388888888888889hr 0.0m 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": {
"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": {
"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",
"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",
"\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",
" cbar.set_label(sectorName + \" \" \\\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
}