mirror of
https://github.com/Unidata/python-awips.git
synced 2025-02-23 22:57:56 -05:00
990 lines
27 KiB
ReStructuredText
990 lines
27 KiB
ReStructuredText
=================
|
||
Satellite Imagery
|
||
=================
|
||
`Notebook <http://nbviewer.ipython.org/github/Unidata/python-awips/blob/master/examples/notebooks/Satellite_Imagery.ipynb>`_
|
||
Python-AWIPS Tutorial Notebook
|
||
|
||
--------------
|
||
|
||
Objectives
|
||
==========
|
||
|
||
- Use python-awips to connect to an EDEX server
|
||
- Investigate available satellite imagery
|
||
- Define and filter request specifically for GOES mesoscale imagery
|
||
- Access satellite data in gridded format
|
||
- Create rendered images using `Matplotlib <https://matplotlib.org>`__
|
||
|
||
--------------
|
||
|
||
Table of Contents
|
||
-----------------
|
||
|
||
| `1
|
||
Imports <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#imports>`__\
|
||
| `2 EDEX
|
||
Connection <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#edex-connection>`__\
|
||
| `3 Function:
|
||
make_map() <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#function-make-map>`__\
|
||
| `4 Investigate Available
|
||
Data <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#investigate-available-data>`__\
|
||
| `4.1
|
||
Sources <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#sources>`__\
|
||
| `4.2 Physical
|
||
Elements <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#physical-elements>`__\
|
||
| `4.3 Creating
|
||
Entities <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#creating-entities>`__\
|
||
| `4.4
|
||
Sectors <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#sectors>`__\
|
||
| `4.5 All
|
||
Products <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#all-products>`__\
|
||
| `5 Render GOES East Mesoscale
|
||
Sectors <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#render-goes-east-mesoscale-sectors>`__\
|
||
| `6 See
|
||
Also <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#see-also>`__\
|
||
| `6.1 Related
|
||
Notebooks <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#related-notebooks>`__\
|
||
| `6.2 Additional
|
||
Documentation <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html#additional-documentation>`__\
|
||
|
||
1 Imports
|
||
---------
|
||
|
||
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.
|
||
|
||
.. code:: ipython3
|
||
|
||
from awips.dataaccess import DataAccessLayer
|
||
import cartopy.crs as ccrs
|
||
import cartopy.feature as cfeat
|
||
import matplotlib.pyplot as plt
|
||
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
|
||
from datetime import datetime, UTC
|
||
from pytz import timezone as tz
|
||
|
||
|
||
`Top <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html>`__
|
||
|
||
--------------
|
||
|
||
2 EDEX Connection
|
||
-----------------
|
||
|
||
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**.
|
||
|
||
.. code:: ipython3
|
||
|
||
# Create an EDEX data request
|
||
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu")
|
||
request = DataAccessLayer.newDataRequest()
|
||
request.setDatatype("satellite")
|
||
|
||
`Top <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html>`__
|
||
|
||
--------------
|
||
|
||
3 Function: make_map()
|
||
----------------------
|
||
|
||
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.
|
||
|
||
.. code:: ipython3
|
||
|
||
def make_map(bbox, projection=ccrs.PlateCarree()):
|
||
fig, ax = plt.subplots(figsize=(10,12),
|
||
subplot_kw=dict(projection=projection))
|
||
ax.set_extent(bbox)
|
||
ax.coastlines(resolution='50m')
|
||
gl = ax.gridlines(draw_labels=True)
|
||
gl.top_labels = gl.right_labels = False
|
||
gl.xformatter = LONGITUDE_FORMATTER
|
||
gl.yformatter = LATITUDE_FORMATTER
|
||
return fig, ax
|
||
|
||
`Top <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html>`__
|
||
|
||
--------------
|
||
|
||
4 Investigate Available Data
|
||
----------------------------
|
||
|
||
To see what data are all available, let’s look at which optional
|
||
identifiers satellite data uses.
|
||
|
||
.. code:: ipython3
|
||
|
||
# Get optional identifiers for satellite datatype
|
||
identifiers = set(DataAccessLayer.getOptionalIdentifiers(request))
|
||
|
||
print("Available Identifiers:")
|
||
for id in identifiers:
|
||
if id.lower() == 'datauri':
|
||
continue
|
||
print(" - " + id)
|
||
|
||
|
||
.. parsed-literal::
|
||
|
||
Available Identifiers:
|
||
- source
|
||
- physicalElement
|
||
- creatingEntity
|
||
- sectorID
|
||
|
||
|
||
4.1 Sources
|
||
~~~~~~~~~~~
|
||
|
||
.. code:: ipython3
|
||
|
||
# Show available sources
|
||
identifier = "source"
|
||
sources = DataAccessLayer.getIdentifierValues(request, identifier)
|
||
print(identifier + ":")
|
||
print(list(sources))
|
||
|
||
|
||
.. parsed-literal::
|
||
|
||
source:
|
||
['GTDO1', 'RAMMB', 'WCDAS', 'RBU', 'UCAR', 'NSOF', 'McIDAS']
|
||
|
||
|
||
4.2 Physical Elements
|
||
~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
.. code:: ipython3
|
||
|
||
# Show available physicalElements
|
||
identifier = "physicalElement"
|
||
elements = DataAccessLayer.getIdentifierValues(request, identifier)
|
||
print(identifier + ":")
|
||
print(list(elements))
|
||
|
||
|
||
.. parsed-literal::
|
||
|
||
physicalElement:
|
||
['Imager 6.7-6.5 micron IR (WV)', 'CH-02-0.64um', 'VMP-151.30hPa', 'CTT', 'CH-07-3.90um', 'VTP-878.60hPa', 'VMP-706.60hPa', 'CH-12-9.61um', 'VMP-496.60hPa', 'SI', 'CH-06-2.25um', 'NTP', 'DVL', 'CL', 'VMP-71.50hPa', 'DustLow', 'VTP-931.50hPa', 'VTP-103.00hPa', 'LI', 'VMP-555.20hPa', 'Imager 12 micron IR', 'IceTemp', 'CF2', 'VMP-729.90hPa', 'VTP-407.50hPa', 'CAPE', 'HHC', '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', 'SmokeMed', 'CH-09-6.95um', 'VMP-753.60hPa', 'VMP-878.60hPa', 'VTP-459.70hPa', 'DustMed', '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', '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', 'FDC Power', 'VTP-852.80hPa', 'VMP-575.50hPa', 'CH-13-10.35um', 'Fog_Depth', 'TCF', 'CH-04-1.38um', 'DustHigh', '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', 'COD', 'VTP-827.40hPa', 'IceThickness', 'N1P', 'LIFR_Fog_Prob', 'VMP-596.30hPa', 'VTP-496.60hPa', 'TPW', 'VMP-904.90hPa', 'VMP-683.70hPa', 'VTP-802.40hPa', 'VTP-958.60hPa', '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', 'CF1', 'GLM_Total_Optical_Energy_tile', 'VMP-9.51hPa', 'VMP-247.40hPa', 'CF4', 'Imager 3.5-4.0 micron IR (Fog)', 'IceConc', 'SmokeHigh', 'KI', 'VTP-300.00hPa', 'VTP-20.92hPa', 'VTP-359.00hPa', 'Imager 11 micron IR', 'SmokeLow', 'VMP-20.92hPa', 'VMP-29.12hPa', 'VMP-459.70hPa', 'CH-03-0.87um', 'VTP-71.50hPa', 'CH-14-11.20um', 'VTP-986.10hPa']
|
||
|
||
|
||
4.3 Creating Entities
|
||
~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
.. code:: ipython3
|
||
|
||
# Show available creatingEntities
|
||
identifier = "creatingEntity"
|
||
creatingEntities = DataAccessLayer.getIdentifierValues(request, identifier)
|
||
print(identifier + ":")
|
||
print(list(creatingEntities))
|
||
|
||
|
||
.. parsed-literal::
|
||
|
||
creatingEntity:
|
||
['GOES-18', 'GEOCOLR', 'GOES-16', 'NEXRCOMP', 'UNIWISC', 'CLDSNOW', 'DBRDUST']
|
||
|
||
|
||
4.4 Sectors
|
||
~~~~~~~~~~~
|
||
|
||
.. code:: ipython3
|
||
|
||
# Show available sectorIDs
|
||
identifier = "sectorID"
|
||
sectorIDs = DataAccessLayer.getIdentifierValues(request, identifier)
|
||
print(identifier + ":")
|
||
print(list(sectorIDs))
|
||
|
||
|
||
.. parsed-literal::
|
||
|
||
sectorID:
|
||
['EMESO-2', 'WCONUS', 'AKREGI', 'WMESO-1', 'WMESO-2', 'WFD', 'NEXRCOMP', 'ECONUS', 'AREA3100', 'Antarctic', 'PRREGI', 'EMESO-1', 'AREA3101', 'AREA0700', 'Arctic', 'AREA0600', 'EFD']
|
||
|
||
|
||
4.5 All Products
|
||
~~~~~~~~~~~~~~~~
|
||
|
||
.. code:: ipython3
|
||
|
||
# Construct a full satellite product tree
|
||
for entity in creatingEntities:
|
||
print(entity)
|
||
request = DataAccessLayer.newDataRequest("satellite")
|
||
request.addIdentifier("creatingEntity", entity)
|
||
availableSectors = DataAccessLayer.getAvailableLocationNames(request)
|
||
availableSectors.sort()
|
||
for sector in availableSectors:
|
||
print(" - " + sector)
|
||
request.setLocationNames(sector)
|
||
availableProducts = DataAccessLayer.getAvailableParameters(request)
|
||
availableProducts.sort()
|
||
for product in availableProducts:
|
||
print(" - " + product)
|
||
|
||
|
||
|
||
|
||
.. parsed-literal::
|
||
|
||
GOES-18
|
||
- AKREGI
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-11-8.50um
|
||
- CH-12-9.61um
|
||
- CH-13-10.35um
|
||
- CH-14-11.20um
|
||
- CH-15-12.30um
|
||
- CH-16-13.30um
|
||
- WCONUS
|
||
- ACTP
|
||
- AOD
|
||
- CAPE
|
||
- CF1
|
||
- CF2
|
||
- CF3
|
||
- CF4
|
||
- CF5
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-11-8.50um
|
||
- CH-12-9.61um
|
||
- CH-13-10.35um
|
||
- CH-14-11.20um
|
||
- CH-15-12.30um
|
||
- CH-16-13.30um
|
||
- CL
|
||
- CSM
|
||
- CTH
|
||
- DustHigh
|
||
- DustLow
|
||
- DustMed
|
||
- FDC Area
|
||
- FDC Power
|
||
- FDC Temp
|
||
- Fire_Mask
|
||
- Fog_Depth
|
||
- IFR_Fog_Prob
|
||
- KI
|
||
- LI
|
||
- LIFR_Fog_Prob
|
||
- LST
|
||
- MVFR_Fog_Prob
|
||
- SI
|
||
- SmokeHigh
|
||
- SmokeLow
|
||
- SmokeMed
|
||
- TCF
|
||
- TPW
|
||
- TT
|
||
- VMP-1014.00hPa
|
||
- VMP-103.00hPa
|
||
- VMP-151.30hPa
|
||
- VMP-20.92hPa
|
||
- VMP-201.00hPa
|
||
- VMP-247.40hPa
|
||
- VMP-29.12hPa
|
||
- VMP-300.00hPa
|
||
- VMP-359.00hPa
|
||
- VMP-407.50hPa
|
||
- VMP-459.70hPa
|
||
- VMP-496.60hPa
|
||
- VMP-51.53hPa
|
||
- VMP-535.20hPa
|
||
- VMP-555.20hPa
|
||
- VMP-575.50hPa
|
||
- VMP-596.30hPa
|
||
- VMP-617.50hPa
|
||
- VMP-661.20hPa
|
||
- VMP-683.70hPa
|
||
- VMP-706.60hPa
|
||
- VMP-71.50hPa
|
||
- VMP-729.90hPa
|
||
- VMP-753.60hPa
|
||
- VMP-777.80hPa
|
||
- VMP-802.40hPa
|
||
- VMP-827.40hPa
|
||
- VMP-852.80hPa
|
||
- VMP-878.60hPa
|
||
- VMP-9.51hPa
|
||
- VMP-904.90hPa
|
||
- VMP-931.50hPa
|
||
- VMP-958.60hPa
|
||
- VMP-986.10hPa
|
||
- VTP-1014.00hPa
|
||
- VTP-103.00hPa
|
||
- VTP-151.30hPa
|
||
- VTP-20.92hPa
|
||
- VTP-201.00hPa
|
||
- VTP-247.40hPa
|
||
- VTP-29.12hPa
|
||
- VTP-300.00hPa
|
||
- VTP-359.00hPa
|
||
- VTP-407.50hPa
|
||
- VTP-459.70hPa
|
||
- VTP-496.60hPa
|
||
- VTP-51.53hPa
|
||
- VTP-535.20hPa
|
||
- VTP-555.20hPa
|
||
- VTP-575.50hPa
|
||
- VTP-596.30hPa
|
||
- VTP-617.50hPa
|
||
- VTP-661.20hPa
|
||
- VTP-683.70hPa
|
||
- VTP-706.60hPa
|
||
- VTP-71.50hPa
|
||
- VTP-729.90hPa
|
||
- VTP-753.60hPa
|
||
- VTP-777.80hPa
|
||
- VTP-802.40hPa
|
||
- VTP-827.40hPa
|
||
- VTP-852.80hPa
|
||
- VTP-878.60hPa
|
||
- VTP-9.51hPa
|
||
- VTP-904.90hPa
|
||
- VTP-931.50hPa
|
||
- VTP-958.60hPa
|
||
- VTP-986.10hPa
|
||
- WFD
|
||
- ACTP
|
||
- AOD
|
||
- CAPE
|
||
- CF1
|
||
- CF2
|
||
- CF3
|
||
- CF4
|
||
- CF5
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-11-8.50um
|
||
- CH-12-9.61um
|
||
- CH-13-10.35um
|
||
- CH-14-11.20um
|
||
- CH-15-12.30um
|
||
- CH-16-13.30um
|
||
- CL
|
||
- CSM
|
||
- CTH
|
||
- CTT
|
||
- DustHigh
|
||
- DustLow
|
||
- DustMed
|
||
- FDC Area
|
||
- FDC Power
|
||
- FDC Temp
|
||
- FSC
|
||
- Fire_Mask
|
||
- GLM_Flash_Extent_Density
|
||
- GLM_Flash_Extent_Density_w5u1
|
||
- GLM_Minimum_Flash_Area
|
||
- GLM_Minimum_Flash_Area_w5u1
|
||
- GLM_Total_Optical_Energy_tile
|
||
- GLM_Total_Optical_Energy_w5u1_tile
|
||
- IceAge3
|
||
- IceAge8
|
||
- IceConc
|
||
- IceMask
|
||
- IceTemp
|
||
- IceThickness
|
||
- KI
|
||
- LI
|
||
- LST
|
||
- RRQPE
|
||
- SI
|
||
- SST
|
||
- SSTF
|
||
- SmokeHigh
|
||
- SmokeLow
|
||
- SmokeMed
|
||
- TCF
|
||
- TPW
|
||
- TT
|
||
- WMESO-1
|
||
- ACTP
|
||
- CAPE
|
||
- CF1
|
||
- CF2
|
||
- CF3
|
||
- CF4
|
||
- CF5
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-11-8.50um
|
||
- CH-12-9.61um
|
||
- CH-13-10.35um
|
||
- CH-14-11.20um
|
||
- CH-15-12.30um
|
||
- CH-16-13.30um
|
||
- CL
|
||
- CSM
|
||
- CTH
|
||
- CTT
|
||
- DustHigh
|
||
- DustLow
|
||
- DustMed
|
||
- FDC Area
|
||
- FDC Power
|
||
- FDC Temp
|
||
- Fire_Mask
|
||
- KI
|
||
- LI
|
||
- LST
|
||
- SI
|
||
- SmokeHigh
|
||
- SmokeLow
|
||
- SmokeMed
|
||
- TCF
|
||
- TPW
|
||
- TT
|
||
- WMESO-2
|
||
- ACTP
|
||
- CAPE
|
||
- CF1
|
||
- CF2
|
||
- CF3
|
||
- CF4
|
||
- CF5
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-11-8.50um
|
||
- CH-12-9.61um
|
||
- CH-13-10.35um
|
||
- CH-14-11.20um
|
||
- CH-15-12.30um
|
||
- CH-16-13.30um
|
||
- CL
|
||
- CSM
|
||
- CTH
|
||
- CTT
|
||
- DustHigh
|
||
- DustLow
|
||
- DustMed
|
||
- FDC Area
|
||
- FDC Power
|
||
- FDC Temp
|
||
- Fire_Mask
|
||
- KI
|
||
- LI
|
||
- LST
|
||
- SI
|
||
- SmokeHigh
|
||
- SmokeLow
|
||
- SmokeMed
|
||
- TCF
|
||
- TPW
|
||
- TT
|
||
GEOCOLR
|
||
- ECONUS
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- WCONUS
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
GOES-16
|
||
- ECONUS
|
||
- ACTP
|
||
- AOD
|
||
- CAPE
|
||
- CF1
|
||
- CF2
|
||
- CF3
|
||
- CF4
|
||
- CF5
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-11-8.50um
|
||
- CH-12-9.61um
|
||
- CH-13-10.35um
|
||
- CH-14-11.20um
|
||
- CH-15-12.30um
|
||
- CH-16-13.30um
|
||
- CL
|
||
- COD
|
||
- CSM
|
||
- CTH
|
||
- CTP
|
||
- DustHigh
|
||
- DustLow
|
||
- DustMed
|
||
- FDC Area
|
||
- FDC Power
|
||
- FDC Temp
|
||
- Fire_Mask
|
||
- Fog_Depth
|
||
- IFR_Fog_Prob
|
||
- KI
|
||
- LI
|
||
- LIFR_Fog_Prob
|
||
- LST
|
||
- MVFR_Fog_Prob
|
||
- SI
|
||
- SmokeHigh
|
||
- SmokeLow
|
||
- SmokeMed
|
||
- TCF
|
||
- TPW
|
||
- TT
|
||
- VMP-1014.00hPa
|
||
- VMP-103.00hPa
|
||
- VMP-151.30hPa
|
||
- VMP-20.92hPa
|
||
- VMP-201.00hPa
|
||
- VMP-247.40hPa
|
||
- VMP-29.12hPa
|
||
- VMP-300.00hPa
|
||
- VMP-359.00hPa
|
||
- VMP-407.50hPa
|
||
- VMP-459.70hPa
|
||
- VMP-496.60hPa
|
||
- VMP-51.53hPa
|
||
- VMP-535.20hPa
|
||
- VMP-555.20hPa
|
||
- VMP-575.50hPa
|
||
- VMP-596.30hPa
|
||
- VMP-617.50hPa
|
||
- VMP-661.20hPa
|
||
- VMP-683.70hPa
|
||
- VMP-706.60hPa
|
||
- VMP-71.50hPa
|
||
- VMP-729.90hPa
|
||
- VMP-753.60hPa
|
||
- VMP-777.80hPa
|
||
- VMP-802.40hPa
|
||
- VMP-827.40hPa
|
||
- VMP-852.80hPa
|
||
- VMP-878.60hPa
|
||
- VMP-9.51hPa
|
||
- VMP-904.90hPa
|
||
- VMP-931.50hPa
|
||
- VMP-958.60hPa
|
||
- VMP-986.10hPa
|
||
- VTP-1014.00hPa
|
||
- VTP-103.00hPa
|
||
- VTP-151.30hPa
|
||
- VTP-20.92hPa
|
||
- VTP-201.00hPa
|
||
- VTP-247.40hPa
|
||
- VTP-29.12hPa
|
||
- VTP-300.00hPa
|
||
- VTP-359.00hPa
|
||
- VTP-407.50hPa
|
||
- VTP-459.70hPa
|
||
- VTP-496.60hPa
|
||
- VTP-51.53hPa
|
||
- VTP-535.20hPa
|
||
- VTP-555.20hPa
|
||
- VTP-575.50hPa
|
||
- VTP-596.30hPa
|
||
- VTP-617.50hPa
|
||
- VTP-661.20hPa
|
||
- VTP-683.70hPa
|
||
- VTP-706.60hPa
|
||
- VTP-71.50hPa
|
||
- VTP-729.90hPa
|
||
- VTP-753.60hPa
|
||
- VTP-777.80hPa
|
||
- VTP-802.40hPa
|
||
- VTP-827.40hPa
|
||
- VTP-852.80hPa
|
||
- VTP-878.60hPa
|
||
- VTP-9.51hPa
|
||
- VTP-904.90hPa
|
||
- VTP-931.50hPa
|
||
- VTP-958.60hPa
|
||
- VTP-986.10hPa
|
||
- EFD
|
||
- ACTP
|
||
- AOD
|
||
- CAPE
|
||
- CF1
|
||
- CF2
|
||
- CF3
|
||
- CF4
|
||
- CF5
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-11-8.50um
|
||
- CH-12-9.61um
|
||
- CH-13-10.35um
|
||
- CH-14-11.20um
|
||
- CH-15-12.30um
|
||
- CH-16-13.30um
|
||
- CL
|
||
- COD
|
||
- CSM
|
||
- CTH
|
||
- CTP
|
||
- CTT
|
||
- DustHigh
|
||
- DustLow
|
||
- DustMed
|
||
- FDC Area
|
||
- FDC Power
|
||
- FDC Temp
|
||
- FSC
|
||
- Fire_Mask
|
||
- GLM_Flash_Extent_Density
|
||
- GLM_Flash_Extent_Density_w5u1
|
||
- GLM_Minimum_Flash_Area
|
||
- GLM_Minimum_Flash_Area_w5u1
|
||
- GLM_Total_Optical_Energy_tile
|
||
- GLM_Total_Optical_Energy_w5u1_tile
|
||
- IceAge3
|
||
- IceAge8
|
||
- IceConc
|
||
- IceMask
|
||
- IceTemp
|
||
- IceThickness
|
||
- KI
|
||
- LI
|
||
- LST
|
||
- RRQPE
|
||
- SI
|
||
- SST
|
||
- SSTF
|
||
- SmokeHigh
|
||
- SmokeLow
|
||
- SmokeMed
|
||
- TCF
|
||
- TPW
|
||
- TT
|
||
- EMESO-1
|
||
- ACTP
|
||
- CAPE
|
||
- CF1
|
||
- CF2
|
||
- CF3
|
||
- CF4
|
||
- CF5
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-11-8.50um
|
||
- CH-12-9.61um
|
||
- CH-13-10.35um
|
||
- CH-14-11.20um
|
||
- CH-15-12.30um
|
||
- CH-16-13.30um
|
||
- CL
|
||
- CSM
|
||
- CTH
|
||
- CTT
|
||
- DustHigh
|
||
- DustLow
|
||
- DustMed
|
||
- FDC Area
|
||
- FDC Power
|
||
- FDC Temp
|
||
- Fire_Mask
|
||
- KI
|
||
- LI
|
||
- LST
|
||
- SI
|
||
- SmokeHigh
|
||
- SmokeLow
|
||
- SmokeMed
|
||
- TCF
|
||
- TPW
|
||
- TT
|
||
- EMESO-2
|
||
- ACTP
|
||
- CAPE
|
||
- CF1
|
||
- CF2
|
||
- CF3
|
||
- CF4
|
||
- CF5
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-11-8.50um
|
||
- CH-12-9.61um
|
||
- CH-13-10.35um
|
||
- CH-14-11.20um
|
||
- CH-15-12.30um
|
||
- CH-16-13.30um
|
||
- CL
|
||
- CSM
|
||
- CTH
|
||
- CTT
|
||
- DustHigh
|
||
- DustLow
|
||
- DustMed
|
||
- FDC Area
|
||
- FDC Power
|
||
- FDC Temp
|
||
- Fire_Mask
|
||
- KI
|
||
- LI
|
||
- LST
|
||
- SI
|
||
- SmokeHigh
|
||
- SmokeLow
|
||
- SmokeMed
|
||
- TCF
|
||
- TPW
|
||
- TT
|
||
- PRREGI
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- CH-04-1.38um
|
||
- CH-05-1.61um
|
||
- CH-06-2.25um
|
||
- CH-07-3.90um
|
||
- CH-08-6.19um
|
||
- CH-09-6.95um
|
||
- CH-10-7.34um
|
||
- CH-13-10.35um
|
||
- CH-15-12.30um
|
||
NEXRCOMP
|
||
- NEXRCOMP
|
||
- DHR
|
||
- DVL
|
||
- EET
|
||
- HHC
|
||
- N1P
|
||
- NTP
|
||
UNIWISC
|
||
- AREA0600
|
||
- Imager 6.7-6.5 micron IR (WV)
|
||
- AREA0700
|
||
- Imager 11 micron IR
|
||
- AREA3100
|
||
- Imager 11 micron IR
|
||
- AREA3101
|
||
- Imager 6.7-6.5 micron IR (WV)
|
||
- Antarctic
|
||
- Imager 11 micron IR
|
||
- Imager 12 micron IR
|
||
- Imager 3.5-4.0 micron IR (Fog)
|
||
- Imager 6.7-6.5 micron IR (WV)
|
||
- Imager Visible
|
||
- Arctic
|
||
- Imager 11 micron IR
|
||
- Imager 12 micron IR
|
||
- Imager 3.5-4.0 micron IR (Fog)
|
||
- Imager 6.7-6.5 micron IR (WV)
|
||
- Imager Visible
|
||
CLDSNOW
|
||
- ECONUS
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
- WCONUS
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
DBRDUST
|
||
- ECONUS
|
||
- CH-01-0.47um
|
||
- CH-02-0.64um
|
||
- CH-03-0.87um
|
||
|
||
|
||
Top
|
||
|
||
--------------
|
||
|
||
5 Render GOES East Mesoscale Sectors
|
||
------------------------------------
|
||
|
||
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).
|
||
|
||
.. code:: ipython3
|
||
|
||
# Define the sectors we want to plot -- here let's use GOES-East mesoscales
|
||
sectors = ["EMESO-1","EMESO-2"]
|
||
|
||
# For each sector render our plot
|
||
for i, sector in enumerate(sectors):
|
||
|
||
# Create a new request specfically for this data
|
||
request = DataAccessLayer.newDataRequest()
|
||
request.setDatatype("satellite")
|
||
request.setLocationNames(sector)
|
||
# Use Channel 13 as the data we want to render
|
||
request.setParameters("CH-13-10.35um")
|
||
|
||
# Filter results by time
|
||
utc = datetime.now(UTC)
|
||
times = DataAccessLayer.getAvailableTimes(request)
|
||
sTime = datetime.strptime(str(times[-1]),'%Y-%m-%d %H:%M:%S')
|
||
sTime = sTime.replace(tzinfo=tz('UTC'))
|
||
hourdiff = utc - sTime
|
||
hours,days = hourdiff.seconds/3600,hourdiff.days
|
||
minute = str((hourdiff.seconds - (3600 * hours)) / 60)
|
||
offsetStr = ''
|
||
if hours > 0:
|
||
offsetStr += str(hours) + "hr "
|
||
offsetStr += str(minute) + "m ago"
|
||
if days > 1:
|
||
offsetStr = str(days) + " days ago"
|
||
|
||
response = DataAccessLayer.getGridData(request, [times[-1]])
|
||
grid = response[0]
|
||
data = grid.getRawData()
|
||
|
||
# Define the bounding box for the plot
|
||
lons,lats = grid.getLatLonCoords()
|
||
bbox = [lons.min(), lons.max(), lats.min(), lats.max()]
|
||
|
||
# Print out the time of the image we're using and where the data is
|
||
print("Latest image available: "+str(times[-1]) + " ("+offsetStr+")")
|
||
print("Image grid size: " + str(data.shape))
|
||
print("Image grid extent: " + str(list(bbox)))
|
||
|
||
# Create the new plots
|
||
fig, ax = make_map(bbox=bbox)
|
||
states = cfeat.NaturalEarthFeature(category='cultural',
|
||
name='admin_1_states_provinces_lines',
|
||
scale='50m', facecolor='none')
|
||
ax.add_feature(states, linestyle=':')
|
||
cs = ax.pcolormesh(lons, lats, data, cmap='coolwarm')
|
||
cbar = fig.colorbar(cs, shrink=0.6, orientation='horizontal')
|
||
# Set the colorbar label
|
||
cbar.set_label(sector + " " + grid.getParameter() + " " \
|
||
+ str(grid.getDataTime().getRefTime()))
|
||
|
||
|
||
.. parsed-literal::
|
||
|
||
Latest image available: 2024-01-30 21:20:28 (0.018333333333333333hr 0.0m ago)
|
||
Image grid size: (500, 500)
|
||
Image grid extent: [-81.83639, -68.16361, 32.285526, 45.709965]
|
||
Latest image available: 2024-01-30 21:20:55 (0.011666666666666667hr 0.0m ago)
|
||
Image grid size: (500, 500)
|
||
Image grid extent: [-95.20762, -80.19988, 30.912949, 44.27834]
|
||
|
||
|
||
|
||
.. image:: Satellite_Imagery_files/Satellite_Imagery_26_1.png
|
||
|
||
|
||
|
||
.. image:: Satellite_Imagery_files/Satellite_Imagery_26_2.png
|
||
|
||
|
||
`Top <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html>`__
|
||
|
||
--------------
|
||
|
||
6 See Also
|
||
----------
|
||
|
||
6.1 Related Notebooks
|
||
~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
- `GOES CIRA Product
|
||
Writer <http://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html>`__
|
||
|
||
6.2 Additional Documentation
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
**python-awips**
|
||
|
||
- `DataAccessLayer.changeEDEXHost() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.changeEDEXHost>`__
|
||
- `DataAccessLayer.newDataRequest() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.newDataRequest>`__
|
||
- `DataAccessLayer.getAvailableLocationNames() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLocationNames>`__
|
||
- `DataAccessLayer.getOptionalIdentifiers() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getOptionalIdentifiers>`__
|
||
- `DataAccessLayer.getIdentifierValues() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getIdentifierValues>`__
|
||
- `DataAccessLayer.getAvailableTimes() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableTimes>`__
|
||
- `IDataRequest <http://unidata.github.io/python-awips/api/IDataRequest.html>`__
|
||
|
||
**matplotlib**
|
||
|
||
- `matplotlib.pyplot() <https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.html>`__
|
||
- `matplotlib.pyplot.axes() <https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axes.html>`__
|
||
- `matplotlib.pyplot.figure() <https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.figure.html>`__
|
||
|
||
`Top <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html>`__
|
||
|
||
--------------
|