mirror of
https://github.com/Unidata/python-awips.git
synced 2025-02-23 22:57:56 -05:00
deploy: 5ccbb7e95e
This commit is contained in:
parent
0b8fb7a51d
commit
6eeb64e9f8
25 changed files with 1160 additions and 13 deletions
BIN
_images/GOES_CIRA_Product_Writer_25_2.png
Normal file
BIN
_images/GOES_CIRA_Product_Writer_25_2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.3 MiB |
BIN
_images/GOES_CIRA_Product_Writer_25_4.png
Normal file
BIN
_images/GOES_CIRA_Product_Writer_25_4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.6 MiB |
BIN
_images/GOES_CIRA_Product_Writer_25_6.png
Normal file
BIN
_images/GOES_CIRA_Product_Writer_25_6.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.7 MiB |
470
_sources/examples/generated/GOES_CIRA_Product_Writer.rst.txt
Normal file
470
_sources/examples/generated/GOES_CIRA_Product_Writer.rst.txt
Normal file
|
@ -0,0 +1,470 @@
|
||||||
|
========================
|
||||||
|
GOES CIRA Product Writer
|
||||||
|
========================
|
||||||
|
`Notebook <http://nbviewer.ipython.org/github/Unidata/python-awips/blob/master/examples/notebooks/GOES_CIRA_Product_Writer.ipynb>`_
|
||||||
|
Python-AWIPS Tutorial Notebook
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Objectives
|
||||||
|
==========
|
||||||
|
|
||||||
|
- Use python-awips to connect to an EDEX server
|
||||||
|
- Define and filter the data request specifically for new `CIRA GOES16
|
||||||
|
data
|
||||||
|
products <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#additional-documentation>`__
|
||||||
|
- Resize the products to their native resolution
|
||||||
|
- Write the individual bands (channels) locally
|
||||||
|
- Combine and write the RGB product locally
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Table of Contents
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
| `1
|
||||||
|
Imports <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#imports>`__\
|
||||||
|
| `2 Initial
|
||||||
|
Setup <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#initial-setup>`__\
|
||||||
|
| `2.1 EDEX
|
||||||
|
Connection <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#edex-connection>`__\
|
||||||
|
| `2.2 Parameter
|
||||||
|
Definition <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#parameter-definition>`__\
|
||||||
|
| `3 Function:
|
||||||
|
set_size() <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#function-set_size>`__\
|
||||||
|
| `4 Function:
|
||||||
|
write_img() <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#function-write-img>`__\
|
||||||
|
| `5 Get the Data and Write it
|
||||||
|
Out! <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#get-the-data-and-write-it-out>`__\
|
||||||
|
| `5.1 Filter the
|
||||||
|
Data <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#filter-the-data>`__\
|
||||||
|
| `5.2 Define Output
|
||||||
|
Location <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#define-output-location>`__\
|
||||||
|
| `5.3 Write Out GOES
|
||||||
|
Images <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#write-out-goes-images>`__\
|
||||||
|
| `6 See
|
||||||
|
Also <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#see-also>`__\
|
||||||
|
| `6.1 Related
|
||||||
|
Notebooks <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#related-notebooks>`__\
|
||||||
|
| `6.2 Additional
|
||||||
|
Documentation <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.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 datetime import datetime
|
||||||
|
import numpy as np
|
||||||
|
import os
|
||||||
|
|
||||||
|
`Top <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html>`__
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|
2 Initial Setup
|
||||||
|
---------------
|
||||||
|
|
||||||
|
2.1 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")
|
||||||
|
|
||||||
|
2.2 Parameter Definition
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
After establishing the python-awips specific objects, we create a few
|
||||||
|
other parameters that will be used for the data query based off of known
|
||||||
|
values: projection, and extent.
|
||||||
|
|
||||||
|
.. code:: ipython3
|
||||||
|
|
||||||
|
# Create a projection for ECONUS and WCONUS
|
||||||
|
# Set up the projection using known parameters (from the netcdf of GOES products)
|
||||||
|
globe = ccrs.Globe(semimajor_axis=6378137.0, semiminor_axis=6356752.5, ellipse=None)
|
||||||
|
sat_h = 35785830.0
|
||||||
|
proj = ccrs.Geostationary(globe=globe, central_longitude=-75.0, satellite_height=sat_h, sweep_axis='x')
|
||||||
|
|
||||||
|
# Define the extents for ECONUS and WCONUS in goes native coords
|
||||||
|
# (originally taken from netcdf GOES data)
|
||||||
|
extent = (-3626751., 1382263.5, 1583666.1, 4588674.)
|
||||||
|
|
||||||
|
`Top <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html>`__
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|
3 Function: set_size()
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Here we’re defining a function that will allow us to pass in the
|
||||||
|
dimensions of the output file we desire in pixels. Default Python
|
||||||
|
methods require the size to be set in inches, which is confusing in our
|
||||||
|
case, since we know what the size of GOES images are in pixels. Also,
|
||||||
|
default Python functions add a padding when creating figures, and we
|
||||||
|
don’t want that.
|
||||||
|
|
||||||
|
This function allows the exact final image to be specified based in
|
||||||
|
pixels, with no padding or buffers.
|
||||||
|
|
||||||
|
.. code:: ipython3
|
||||||
|
|
||||||
|
def set_size(w,h, plt):
|
||||||
|
""" w, h: width, height in pixels """
|
||||||
|
|
||||||
|
# Convert from pixels to inches
|
||||||
|
DPI = plt.figure().get_dpi()
|
||||||
|
w = w/float(DPI)
|
||||||
|
h = h/float(DPI)
|
||||||
|
|
||||||
|
# Get the axes
|
||||||
|
ax=plt.gca()
|
||||||
|
|
||||||
|
# Remove the padding
|
||||||
|
l = ax.figure.subplotpars.left
|
||||||
|
r = ax.figure.subplotpars.right
|
||||||
|
t = ax.figure.subplotpars.top
|
||||||
|
b = ax.figure.subplotpars.bottom
|
||||||
|
figw = float(w)/(r-l)
|
||||||
|
figh = float(h)/(t-b)
|
||||||
|
|
||||||
|
# Set the final size
|
||||||
|
ax.figure.set_size_inches(figw, figh)
|
||||||
|
|
||||||
|
# Return the DPI, this is used when in the
|
||||||
|
# write_image() function
|
||||||
|
return DPI
|
||||||
|
|
||||||
|
`Top <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html>`__
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|
4 Function: write_img()
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Next, we’re defining another function which takes the image data, file
|
||||||
|
name, projection, extent, reference time, and whether or not to print
|
||||||
|
out a footnote.
|
||||||
|
|
||||||
|
This method specifies the size of the output image and creates a plot
|
||||||
|
object to draw all our data into. Then it draws the GOES data,
|
||||||
|
coastlines, state boundaries, and lat/lon lines onto the image.
|
||||||
|
Additionally, if we want, it writes out a short footnote describing what
|
||||||
|
product we’re looking at. Finally, it writes out the figure to disk.
|
||||||
|
|
||||||
|
By default we’re specifying the output dimensions to be 5000x4000
|
||||||
|
pixels, because that is the native GOES image size, but feel free to
|
||||||
|
modify these values if you wish to print out an image of another size
|
||||||
|
(you may want to keep the w:h ratio the same though).
|
||||||
|
|
||||||
|
.. code:: ipython3
|
||||||
|
|
||||||
|
def write_img(data, name, proj, extent, reftime, footnote):
|
||||||
|
|
||||||
|
# Specify the desired size, in pixels
|
||||||
|
px_width = 5000.0
|
||||||
|
px_height = 3000.0
|
||||||
|
|
||||||
|
# Create the plot with proper projection, and set the figure size
|
||||||
|
fig = plt.figure()
|
||||||
|
DPI = set_size(px_width, px_height, plt)
|
||||||
|
ax = plt.axes(projection=proj)
|
||||||
|
|
||||||
|
# Draw GOES data
|
||||||
|
ax.imshow(data, cmap='gray', transform=proj, extent=extent)
|
||||||
|
|
||||||
|
# Add Coastlines and States
|
||||||
|
ax.coastlines(resolution='50m', color='magenta', linewidth=1.0)
|
||||||
|
ax.add_feature(cfeat.STATES, edgecolor='magenta', linewidth=1.0)
|
||||||
|
ax.gridlines(color='cyan', linewidth=2.0, xlocs=np.arange(-180, 180, 10), linestyle=(0,(5,10)))
|
||||||
|
|
||||||
|
# Create and draw the footnote if needed
|
||||||
|
if footnote:
|
||||||
|
footnoteStr = ' CIRA-'+name[7:-4]+'-'+str(reftime)
|
||||||
|
plt.annotate(str(footnoteStr), (0,0), (0, 0), xycoords='axes fraction', textcoords='offset points', va='top')
|
||||||
|
|
||||||
|
# Write out the figure
|
||||||
|
plt.savefig(name, dpi=DPI, bbox_inches='tight', pad_inches=0)
|
||||||
|
|
||||||
|
`Top <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html>`__
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|
5 Get the Data and Write it Out!
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
5.1 Filter the Data
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Define exactly what data we want to be printing out. This notebook is
|
||||||
|
designed to loop through and print out multiple images, so here we can
|
||||||
|
pick which images we’re wanting to print out. We’re specifying
|
||||||
|
**ECONUS** (for East CONUS), **CLDSNOW**, **DBRDUST**, and **GEOCOLR**
|
||||||
|
(for the new CIRA products) and the **three channels** for the RBG
|
||||||
|
composites.
|
||||||
|
|
||||||
|
.. container:: alert-info
|
||||||
|
|
||||||
|
| Tip:
|
||||||
|
| More information could be gathered by looking at all the available
|
||||||
|
location names (sectors), identifiers (entities), and parameters
|
||||||
|
(channels). To see those run the following lines of code after the
|
||||||
|
dataType has been set to satellite on the request object:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
## Print Available Location Names
|
||||||
|
print((DataAccessLayer.getAvailableLocationNames(request))
|
||||||
|
|
||||||
|
## Print Available Identifiers and Values
|
||||||
|
ids = DataAccessLayer.getOptionalIdentifiers(request)
|
||||||
|
print(ids)
|
||||||
|
for id in ids:
|
||||||
|
print(id, DataAccessLayer.getIdentifierValues(request, id))
|
||||||
|
|
||||||
|
.. code:: ipython3
|
||||||
|
|
||||||
|
# Define Location names
|
||||||
|
sectors = ["ECONUS"]
|
||||||
|
|
||||||
|
# Define creatingEntity Identifiers
|
||||||
|
entities = ["CLDSNOW", "DBRDUST", "GEOCOLR"]
|
||||||
|
|
||||||
|
# Define parameters
|
||||||
|
ch1 = "CH-01-0.47um"
|
||||||
|
ch2 = "CH-02-0.64um"
|
||||||
|
ch3 = "CH-03-0.87um"
|
||||||
|
channels = [ch1, ch2, ch3]
|
||||||
|
|
||||||
|
5.2 Define Output Location
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Here we define a folder for where the satellite images will be written
|
||||||
|
to. The default directory is a new folder called ‘output’ that lives
|
||||||
|
whereever this notebook lives.
|
||||||
|
|
||||||
|
.. container:: alert-info
|
||||||
|
|
||||||
|
| Tip:
|
||||||
|
| If you specify the fully qualified path, it will no longer depend
|
||||||
|
on where this notebook is located. For example (for a Mac):
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
outputDir = '/Users/scarter/test_dir/output/'
|
||||||
|
|
||||||
|
.. code:: ipython3
|
||||||
|
|
||||||
|
# Define name of the desired end directory
|
||||||
|
outputDir = 'output/'
|
||||||
|
|
||||||
|
# Check to see if this folder exists
|
||||||
|
if not os.path.exists(outputDir):
|
||||||
|
# If not, create the directory
|
||||||
|
print('Creating new output directory: ',outputDir)
|
||||||
|
os.makedirs(outputDir)
|
||||||
|
else:
|
||||||
|
# If so, let the user know
|
||||||
|
print('Output directory exists!')
|
||||||
|
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
Output directory exists!
|
||||||
|
|
||||||
|
|
||||||
|
5.3 Write Out GOES Images
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code:: ipython3
|
||||||
|
|
||||||
|
# First loop through the sectors (location names)
|
||||||
|
for sector in sectors:
|
||||||
|
|
||||||
|
# Set the location on the request
|
||||||
|
request.setLocationNames(sector)
|
||||||
|
|
||||||
|
# Next loop through the Products (entities)
|
||||||
|
for entity in entities:
|
||||||
|
# Reset the time and channel variables since we're on a new product
|
||||||
|
time = None
|
||||||
|
R = None
|
||||||
|
G = None
|
||||||
|
B = None
|
||||||
|
|
||||||
|
# Set the product
|
||||||
|
request.addIdentifier("creatingEntity", entity)
|
||||||
|
|
||||||
|
# Cycle through the channels (parameters)
|
||||||
|
for channel in channels:
|
||||||
|
request.setParameters(channel)
|
||||||
|
|
||||||
|
# Set the time for this product if it hasn't been set
|
||||||
|
# If it has been set, then we proceed with that value
|
||||||
|
# so that all bands in for the one product are pulled
|
||||||
|
# from the same time
|
||||||
|
if(time is None):
|
||||||
|
times = DataAccessLayer.getAvailableTimes(request)
|
||||||
|
time = [times[-1]]
|
||||||
|
print("selected time:", time)
|
||||||
|
|
||||||
|
# Request the data from EDEX
|
||||||
|
response = DataAccessLayer.getGridData(request, time)
|
||||||
|
# Grab the actual data from the response
|
||||||
|
grid = response[0]
|
||||||
|
# Get the raw data from the response
|
||||||
|
data = grid.getRawData()
|
||||||
|
reftime = grid.getDataTime().getRefTime()
|
||||||
|
|
||||||
|
# Set the R,G,B channel
|
||||||
|
if(channel == ch1):
|
||||||
|
B = data
|
||||||
|
elif (channel == ch2):
|
||||||
|
R = data
|
||||||
|
elif (channel == ch3):
|
||||||
|
G = data
|
||||||
|
|
||||||
|
# Create the single channel name
|
||||||
|
name = outputDir+entity+'-'+sector+'-'+channel+'.png'
|
||||||
|
|
||||||
|
# Write out the single channel
|
||||||
|
print('writing',name)
|
||||||
|
write_img(data, name, proj, extent, reftime, False)
|
||||||
|
|
||||||
|
# --- End of channel loop
|
||||||
|
|
||||||
|
# Create the RGB product
|
||||||
|
# Apply range limits for each channel. RGB values must be between 0 and 1
|
||||||
|
R = np.clip(R, 0, 1)
|
||||||
|
G = np.clip(G, 0, 1)
|
||||||
|
B = np.clip(B, 0, 1)
|
||||||
|
RGB = np.dstack([R, G, B])
|
||||||
|
|
||||||
|
# Create RGB name
|
||||||
|
rgbName = outputDir+entity+'-'+sector+'-RGB.png'
|
||||||
|
# Write out the RGB image
|
||||||
|
print('writing', rgbName)
|
||||||
|
write_img(RGB, rgbName, proj, extent, time, False)
|
||||||
|
|
||||||
|
# --- End of entity loop
|
||||||
|
#--- End of sector loop
|
||||||
|
|
||||||
|
print('Done!')
|
||||||
|
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
selected time: [<DataTime instance: 2021-05-28 06:51:14 >]
|
||||||
|
writing output/CLDSNOW-ECONUS-CH-01-0.47um.png
|
||||||
|
writing output/CLDSNOW-ECONUS-CH-02-0.64um.png
|
||||||
|
writing output/CLDSNOW-ECONUS-CH-03-0.87um.png
|
||||||
|
writing output/CLDSNOW-ECONUS-RGB.png
|
||||||
|
selected time: [<DataTime instance: 2021-05-28 06:51:14 >]
|
||||||
|
writing output/DBRDUST-ECONUS-CH-01-0.47um.png
|
||||||
|
writing output/DBRDUST-ECONUS-CH-02-0.64um.png
|
||||||
|
writing output/DBRDUST-ECONUS-CH-03-0.87um.png
|
||||||
|
writing output/DBRDUST-ECONUS-RGB.png
|
||||||
|
selected time: [<DataTime instance: 2021-05-28 06:56:14 >]
|
||||||
|
writing output/GEOCOLR-ECONUS-CH-01-0.47um.png
|
||||||
|
writing output/GEOCOLR-ECONUS-CH-02-0.64um.png
|
||||||
|
writing output/GEOCOLR-ECONUS-CH-03-0.87um.png
|
||||||
|
writing output/GEOCOLR-ECONUS-RGB.png
|
||||||
|
Done!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
<Figure size 432x288 with 0 Axes>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. image:: GOES_CIRA_Product_Writer_files/GOES_CIRA_Product_Writer_25_2.png
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
<Figure size 432x288 with 0 Axes>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. image:: GOES_CIRA_Product_Writer_files/GOES_CIRA_Product_Writer_25_4.png
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
<Figure size 432x288 with 0 Axes>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. image:: GOES_CIRA_Product_Writer_files/GOES_CIRA_Product_Writer_25_6.png
|
||||||
|
|
||||||
|
|
||||||
|
`Top <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html>`__
|
||||||
|
|
||||||
|
--------------
|
||||||
|
|
||||||
|
6 See Also
|
||||||
|
----------
|
||||||
|
|
||||||
|
6.1 Related Notebooks
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- `Satellite
|
||||||
|
Imagery <http://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html>`__
|
||||||
|
|
||||||
|
6.2 Additional Documentation
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
**CIRA Quick Guides**
|
||||||
|
|
||||||
|
- `DEBRA-Dust <https://rammb.cira.colostate.edu/training/visit/quick_guides/QuickGuide_DEBRA-Dust_20210217.pdf>`__
|
||||||
|
- `Cloud-Snow <https://rammb.cira.colostate.edu/training/visit/quick_guides/GOES_Cloud_Snow_Discriminator_Quick_Guide_20190814.pdf>`__
|
||||||
|
- `GEOCOLOR <https://rammb.cira.colostate.edu/training/visit/quick_guides/QuickGuide_CIRA_Geocolor_20171019.pdf>`__
|
||||||
|
|
||||||
|
**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>`__
|
||||||
|
|
||||||
|
**numpy**
|
||||||
|
|
||||||
|
- `numpy.clip() <https://numpy.org/doc/stable/reference/generated/numpy.clip.html>`__
|
||||||
|
- `numpy.dstack() <https://numpy.org/doc/stable/reference/generated/numpy.dstack.html>`__
|
||||||
|
|
||||||
|
`Top <https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html>`__
|
||||||
|
|
||||||
|
--------------
|
|
@ -819,7 +819,7 @@ div.code-block-caption code {
|
||||||
|
|
||||||
table.highlighttable td.linenos,
|
table.highlighttable td.linenos,
|
||||||
span.linenos,
|
span.linenos,
|
||||||
div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */
|
div.highlight span.gp { /* gp: Generic.Prompt */
|
||||||
user-select: none;
|
user-select: none;
|
||||||
-webkit-user-select: text; /* Safari fallback only */
|
-webkit-user-select: text; /* Safari fallback only */
|
||||||
-webkit-user-select: none; /* Chrome/Safari */
|
-webkit-user-select: none; /* Chrome/Safari */
|
||||||
|
|
|
@ -301,12 +301,14 @@ var Documentation = {
|
||||||
window.location.href = prevHref;
|
window.location.href = prevHref;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case 39: // right
|
case 39: // right
|
||||||
var nextHref = $('link[rel="next"]').prop('href');
|
var nextHref = $('link[rel="next"]').prop('href');
|
||||||
if (nextHref) {
|
if (nextHref) {
|
||||||
window.location.href = nextHref;
|
window.location.href = nextHref;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -276,7 +276,7 @@ var Search = {
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
displayNextItem();
|
displayNextItem();
|
||||||
}, 5);
|
}, 5);
|
||||||
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
|
} else {
|
||||||
$.ajax({url: requestUrl,
|
$.ajax({url: requestUrl,
|
||||||
dataType: "text",
|
dataType: "text",
|
||||||
complete: function(jqxhr, textstatus) {
|
complete: function(jqxhr, textstatus) {
|
||||||
|
@ -289,12 +289,6 @@ var Search = {
|
||||||
displayNextItem();
|
displayNextItem();
|
||||||
}, 5);
|
}, 5);
|
||||||
}});
|
}});
|
||||||
} else {
|
|
||||||
// no source available, just display title
|
|
||||||
Search.output.append(listItem);
|
|
||||||
setTimeout(function() {
|
|
||||||
displayNextItem();
|
|
||||||
}, 5);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// search finished, update title and status message
|
// search finished, update title and status message
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
<link rel="author" title="About these documents" href="../../about.html" />
|
<link rel="author" title="About these documents" href="../../about.html" />
|
||||||
<link rel="index" title="Index" href="../../genindex.html" />
|
<link rel="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
<link rel="next" title="GOES Geostationary Lightning Mapper" href="GOES_Geostationary_Lightning_Mapper.html" />
|
<link rel="next" title="GOES CIRA Product Writer" href="GOES_CIRA_Product_Writer.html" />
|
||||||
<link rel="prev" title="Colored Surface Temperature Plot" href="Colored_Surface_Temperature_Plot.html" />
|
<link rel="prev" title="Colored Surface Temperature Plot" href="Colored_Surface_Temperature_Plot.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@ -102,6 +102,7 @@
|
||||||
<li class="toctree-l3"><a class="reference internal" href="#model-sounding-comparison">Model Sounding Comparison</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="#model-sounding-comparison">Model Sounding Comparison</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
@ -483,7 +484,7 @@ are returned as Kelvin and wind components as m/s.</p></li>
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||||
<a href="GOES_Geostationary_Lightning_Mapper.html" class="btn btn-neutral float-right" title="GOES Geostationary Lightning Mapper" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
<a href="GOES_CIRA_Product_Writer.html" class="btn btn-neutral float-right" title="GOES CIRA Product Writer" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||||
<a href="Colored_Surface_Temperature_Plot.html" class="btn btn-neutral float-left" title="Colored Surface Temperature Plot" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
<a href="Colored_Surface_Temperature_Plot.html" class="btn btn-neutral float-left" title="Colored Surface Temperature Plot" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
665
examples/generated/GOES_CIRA_Product_Writer.html
Normal file
665
examples/generated/GOES_CIRA_Product_Writer.html
Normal file
|
@ -0,0 +1,665 @@
|
||||||
|
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html class="writer-html5" lang="en" >
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
|
||||||
|
<title>GOES CIRA Product Writer — python-awips documentation</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||||
|
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||||
|
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||||
|
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../../_static/js/html5shiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||||
|
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||||
|
<script src="../../_static/jquery.js"></script>
|
||||||
|
<script src="../../_static/underscore.js"></script>
|
||||||
|
<script src="../../_static/doctools.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="author" title="About these documents" href="../../about.html" />
|
||||||
|
<link rel="index" title="Index" href="../../genindex.html" />
|
||||||
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
|
<link rel="next" title="GOES Geostationary Lightning Mapper" href="GOES_Geostationary_Lightning_Mapper.html" />
|
||||||
|
<link rel="prev" title="Forecast Model Vertical Sounding" href="Forecast_Model_Vertical_Sounding.html" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-scroll">
|
||||||
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="../../index.html" class="icon icon-home"> python-awips
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="version">
|
||||||
|
18.1.7
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../../api/index.html">API Documentation</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../../datatypes.html">Available Data Types</a></li>
|
||||||
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">GOES CIRA Product Writer</a><ul>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#objectives">Objectives</a><ul>
|
||||||
|
<li class="toctree-l4"><a class="reference internal" href="#table-of-contents">Table of Contents</a></li>
|
||||||
|
<li class="toctree-l4"><a class="reference internal" href="#imports">1 Imports</a></li>
|
||||||
|
<li class="toctree-l4"><a class="reference internal" href="#initial-setup">2 Initial Setup</a></li>
|
||||||
|
<li class="toctree-l4"><a class="reference internal" href="#function-set-size">3 Function: set_size()</a></li>
|
||||||
|
<li class="toctree-l4"><a class="reference internal" href="#function-write-img">4 Function: write_img()</a></li>
|
||||||
|
<li class="toctree-l4"><a class="reference internal" href="#get-the-data-and-write-it-out">5 Get the Data and Write it Out!</a></li>
|
||||||
|
<li class="toctree-l4"><a class="reference internal" href="#see-also">6 See Also</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="METAR_Station_Plot_with_MetPy.html">METAR Station Plot with MetPy</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Map_Resources_and_Topography.html">Map Resources and Topography</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Model_Sounding_Data.html">Model Sounding Data</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="NEXRAD_Level3_Radar.html">NEXRAD Level3 Radar</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Precip_Accumulation-Region_Of_Interest.html">Precip Accumulation-Region Of Interest</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Regional_Surface_Obs_Plot.html">Regional Surface Obs Plot</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Satellite_Imagery.html">Satellite Imagery</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Upper_Air_BUFR_Soundings.html">Upper Air BUFR Soundings</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="Watch_and_Warning_Polygons.html">Watch and Warning Polygons</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../../dev.html">Development Guide</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../../gridparms.html">Grid Parameters</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../../about.html">About Unidata AWIPS</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="wy-nav-top" aria-label="top navigation">
|
||||||
|
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="../../index.html">python-awips</a>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
|
<div class="rst-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
|
<li><a href="../index.html">Data Plotting Examples</a> »</li>
|
||||||
|
|
||||||
|
<li>GOES CIRA Product Writer</li>
|
||||||
|
|
||||||
|
|
||||||
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
|
|
||||||
|
<a href="../../_sources/examples/generated/GOES_CIRA_Product_Writer.rst.txt" rel="nofollow"> View page source</a>
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
|
<div class="section" id="goes-cira-product-writer">
|
||||||
|
<h1>GOES CIRA Product Writer<a class="headerlink" href="#goes-cira-product-writer" title="Permalink to this headline">¶</a></h1>
|
||||||
|
<p><a class="reference external" href="http://nbviewer.ipython.org/github/Unidata/python-awips/blob/master/examples/notebooks/GOES_CIRA_Product_Writer.ipynb">Notebook</a>
|
||||||
|
Python-AWIPS Tutorial Notebook</p>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<div class="section" id="objectives">
|
||||||
|
<h2>Objectives<a class="headerlink" href="#objectives" title="Permalink to this headline">¶</a></h2>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p>Use python-awips to connect to an EDEX server</p></li>
|
||||||
|
<li><p>Define and filter the data request specifically for new <a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#additional-documentation">CIRA GOES16
|
||||||
|
data
|
||||||
|
products</a></p></li>
|
||||||
|
<li><p>Resize the products to their native resolution</p></li>
|
||||||
|
<li><p>Write the individual bands (channels) locally</p></li>
|
||||||
|
<li><p>Combine and write the RGB product locally</p></li>
|
||||||
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<div class="section" id="table-of-contents">
|
||||||
|
<h3>Table of Contents<a class="headerlink" href="#table-of-contents" title="Permalink to this headline">¶</a></h3>
|
||||||
|
<div class="line-block">
|
||||||
|
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#imports">1
|
||||||
|
Imports</a></div>
|
||||||
|
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#initial-setup">2 Initial
|
||||||
|
Setup</a></div>
|
||||||
|
<div class="line"> <a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#edex-connection">2.1 EDEX
|
||||||
|
Connection</a></div>
|
||||||
|
<div class="line"> <a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#parameter-definition">2.2 Parameter
|
||||||
|
Definition</a></div>
|
||||||
|
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#function-set_size">3 Function:
|
||||||
|
set_size()</a></div>
|
||||||
|
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#function-write-img">4 Function:
|
||||||
|
write_img()</a></div>
|
||||||
|
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#get-the-data-and-write-it-out">5 Get the Data and Write it
|
||||||
|
Out!</a></div>
|
||||||
|
<div class="line"> <a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#filter-the-data">5.1 Filter the
|
||||||
|
Data</a></div>
|
||||||
|
<div class="line"> <a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#define-output-location">5.2 Define Output
|
||||||
|
Location</a></div>
|
||||||
|
<div class="line"> <a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#write-out-goes-images">5.3 Write Out GOES
|
||||||
|
Images</a></div>
|
||||||
|
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#see-also">6 See
|
||||||
|
Also</a></div>
|
||||||
|
<div class="line"> <a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#related-notebooks">6.1 Related
|
||||||
|
Notebooks</a></div>
|
||||||
|
<div class="line"> <a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html#additional-documentation">6.2 Additional
|
||||||
|
Documentation</a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<div class="section" id="imports">
|
||||||
|
<h3>1 Imports<a class="headerlink" href="#imports" title="Permalink to this headline">¶</a></h3>
|
||||||
|
<p>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.</p>
|
||||||
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">DataAccessLayer</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">cartopy.crs</span> <span class="k">as</span> <span class="nn">ccrs</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">cartopy.feature</span> <span class="k">as</span> <span class="nn">cfeat</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||||
|
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">os</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html">Top</a></p>
|
||||||
|
</div>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<div class="section" id="initial-setup">
|
||||||
|
<h3>2 Initial Setup<a class="headerlink" href="#initial-setup" title="Permalink to this headline">¶</a></h3>
|
||||||
|
<div class="section" id="edex-connection">
|
||||||
|
<h4>2.1 EDEX Connection<a class="headerlink" href="#edex-connection" title="Permalink to this headline">¶</a></h4>
|
||||||
|
<p>First we establish a connection to Unidata’s public EDEX server. With
|
||||||
|
that connection made, we can create a <a class="reference external" href="http://unidata.github.io/python-awips/api/IDataRequest.html">new data request
|
||||||
|
object</a>
|
||||||
|
and set the data type to <strong>satellite</strong>.</p>
|
||||||
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create an EDEX data request</span>
|
||||||
|
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">"edex-cloud.unidata.ucar.edu"</span><span class="p">)</span>
|
||||||
|
<span class="n">request</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">()</span>
|
||||||
|
<span class="n">request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">"satellite"</span><span class="p">)</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="parameter-definition">
|
||||||
|
<h4>2.2 Parameter Definition<a class="headerlink" href="#parameter-definition" title="Permalink to this headline">¶</a></h4>
|
||||||
|
<p>After establishing the python-awips specific objects, we create a few
|
||||||
|
other parameters that will be used for the data query based off of known
|
||||||
|
values: projection, and extent.</p>
|
||||||
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create a projection for ECONUS and WCONUS</span>
|
||||||
|
<span class="c1"># Set up the projection using known parameters (from the netcdf of GOES products)</span>
|
||||||
|
<span class="n">globe</span> <span class="o">=</span> <span class="n">ccrs</span><span class="o">.</span><span class="n">Globe</span><span class="p">(</span><span class="n">semimajor_axis</span><span class="o">=</span><span class="mf">6378137.0</span><span class="p">,</span> <span class="n">semiminor_axis</span><span class="o">=</span><span class="mf">6356752.5</span><span class="p">,</span> <span class="n">ellipse</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
||||||
|
<span class="n">sat_h</span> <span class="o">=</span> <span class="mf">35785830.0</span>
|
||||||
|
<span class="n">proj</span> <span class="o">=</span> <span class="n">ccrs</span><span class="o">.</span><span class="n">Geostationary</span><span class="p">(</span><span class="n">globe</span><span class="o">=</span><span class="n">globe</span><span class="p">,</span> <span class="n">central_longitude</span><span class="o">=-</span><span class="mf">75.0</span><span class="p">,</span> <span class="n">satellite_height</span><span class="o">=</span><span class="n">sat_h</span><span class="p">,</span> <span class="n">sweep_axis</span><span class="o">=</span><span class="s1">'x'</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Define the extents for ECONUS and WCONUS in goes native coords</span>
|
||||||
|
<span class="c1"># (originally taken from netcdf GOES data)</span>
|
||||||
|
<span class="n">extent</span> <span class="o">=</span> <span class="p">(</span><span class="o">-</span><span class="mf">3626751.</span><span class="p">,</span> <span class="mf">1382263.5</span><span class="p">,</span> <span class="mf">1583666.1</span><span class="p">,</span> <span class="mf">4588674.</span><span class="p">)</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html">Top</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<div class="section" id="function-set-size">
|
||||||
|
<h3>3 Function: set_size()<a class="headerlink" href="#function-set-size" title="Permalink to this headline">¶</a></h3>
|
||||||
|
<p>Here we’re defining a function that will allow us to pass in the
|
||||||
|
dimensions of the output file we desire in pixels. Default Python
|
||||||
|
methods require the size to be set in inches, which is confusing in our
|
||||||
|
case, since we know what the size of GOES images are in pixels. Also,
|
||||||
|
default Python functions add a padding when creating figures, and we
|
||||||
|
don’t want that.</p>
|
||||||
|
<p>This function allows the exact final image to be specified based in
|
||||||
|
pixels, with no padding or buffers.</p>
|
||||||
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">set_size</span><span class="p">(</span><span class="n">w</span><span class="p">,</span><span class="n">h</span><span class="p">,</span> <span class="n">plt</span><span class="p">):</span>
|
||||||
|
<span class="sd">""" w, h: width, height in pixels """</span>
|
||||||
|
|
||||||
|
<span class="c1"># Convert from pixels to inches</span>
|
||||||
|
<span class="n">DPI</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span><span class="o">.</span><span class="n">get_dpi</span><span class="p">()</span>
|
||||||
|
<span class="n">w</span> <span class="o">=</span> <span class="n">w</span><span class="o">/</span><span class="nb">float</span><span class="p">(</span><span class="n">DPI</span><span class="p">)</span>
|
||||||
|
<span class="n">h</span> <span class="o">=</span> <span class="n">h</span><span class="o">/</span><span class="nb">float</span><span class="p">(</span><span class="n">DPI</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Get the axes</span>
|
||||||
|
<span class="n">ax</span><span class="o">=</span><span class="n">plt</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span>
|
||||||
|
|
||||||
|
<span class="c1"># Remove the padding</span>
|
||||||
|
<span class="n">l</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">figure</span><span class="o">.</span><span class="n">subplotpars</span><span class="o">.</span><span class="n">left</span>
|
||||||
|
<span class="n">r</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">figure</span><span class="o">.</span><span class="n">subplotpars</span><span class="o">.</span><span class="n">right</span>
|
||||||
|
<span class="n">t</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">figure</span><span class="o">.</span><span class="n">subplotpars</span><span class="o">.</span><span class="n">top</span>
|
||||||
|
<span class="n">b</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">figure</span><span class="o">.</span><span class="n">subplotpars</span><span class="o">.</span><span class="n">bottom</span>
|
||||||
|
<span class="n">figw</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">w</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">r</span><span class="o">-</span><span class="n">l</span><span class="p">)</span>
|
||||||
|
<span class="n">figh</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">h</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">t</span><span class="o">-</span><span class="n">b</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Set the final size</span>
|
||||||
|
<span class="n">ax</span><span class="o">.</span><span class="n">figure</span><span class="o">.</span><span class="n">set_size_inches</span><span class="p">(</span><span class="n">figw</span><span class="p">,</span> <span class="n">figh</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Return the DPI, this is used when in the</span>
|
||||||
|
<span class="c1"># write_image() function</span>
|
||||||
|
<span class="k">return</span> <span class="n">DPI</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html">Top</a></p>
|
||||||
|
</div>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<div class="section" id="function-write-img">
|
||||||
|
<h3>4 Function: write_img()<a class="headerlink" href="#function-write-img" title="Permalink to this headline">¶</a></h3>
|
||||||
|
<p>Next, we’re defining another function which takes the image data, file
|
||||||
|
name, projection, extent, reference time, and whether or not to print
|
||||||
|
out a footnote.</p>
|
||||||
|
<p>This method specifies the size of the output image and creates a plot
|
||||||
|
object to draw all our data into. Then it draws the GOES data,
|
||||||
|
coastlines, state boundaries, and lat/lon lines onto the image.
|
||||||
|
Additionally, if we want, it writes out a short footnote describing what
|
||||||
|
product we’re looking at. Finally, it writes out the figure to disk.</p>
|
||||||
|
<p>By default we’re specifying the output dimensions to be 5000x4000
|
||||||
|
pixels, because that is the native GOES image size, but feel free to
|
||||||
|
modify these values if you wish to print out an image of another size
|
||||||
|
(you may want to keep the w:h ratio the same though).</p>
|
||||||
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">write_img</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">proj</span><span class="p">,</span> <span class="n">extent</span><span class="p">,</span> <span class="n">reftime</span><span class="p">,</span> <span class="n">footnote</span><span class="p">):</span>
|
||||||
|
|
||||||
|
<span class="c1"># Specify the desired size, in pixels</span>
|
||||||
|
<span class="n">px_width</span> <span class="o">=</span> <span class="mf">5000.0</span>
|
||||||
|
<span class="n">px_height</span> <span class="o">=</span> <span class="mf">3000.0</span>
|
||||||
|
|
||||||
|
<span class="c1"># Create the plot with proper projection, and set the figure size</span>
|
||||||
|
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
|
||||||
|
<span class="n">DPI</span> <span class="o">=</span> <span class="n">set_size</span><span class="p">(</span><span class="n">px_width</span><span class="p">,</span> <span class="n">px_height</span><span class="p">,</span> <span class="n">plt</span><span class="p">)</span>
|
||||||
|
<span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">axes</span><span class="p">(</span><span class="n">projection</span><span class="o">=</span><span class="n">proj</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Draw GOES data</span>
|
||||||
|
<span class="n">ax</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="s1">'gray'</span><span class="p">,</span> <span class="n">transform</span><span class="o">=</span><span class="n">proj</span><span class="p">,</span> <span class="n">extent</span><span class="o">=</span><span class="n">extent</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Add Coastlines and States</span>
|
||||||
|
<span class="n">ax</span><span class="o">.</span><span class="n">coastlines</span><span class="p">(</span><span class="n">resolution</span><span class="o">=</span><span class="s1">'50m'</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'magenta'</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">1.0</span><span class="p">)</span>
|
||||||
|
<span class="n">ax</span><span class="o">.</span><span class="n">add_feature</span><span class="p">(</span><span class="n">cfeat</span><span class="o">.</span><span class="n">STATES</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s1">'magenta'</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">1.0</span><span class="p">)</span>
|
||||||
|
<span class="n">ax</span><span class="o">.</span><span class="n">gridlines</span><span class="p">(</span><span class="n">color</span><span class="o">=</span><span class="s1">'cyan'</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">xlocs</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="o">-</span><span class="mi">180</span><span class="p">,</span> <span class="mi">180</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span> <span class="n">linestyle</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,(</span><span class="mi">5</span><span class="p">,</span><span class="mi">10</span><span class="p">)))</span>
|
||||||
|
|
||||||
|
<span class="c1"># Create and draw the footnote if needed</span>
|
||||||
|
<span class="k">if</span> <span class="n">footnote</span><span class="p">:</span>
|
||||||
|
<span class="n">footnoteStr</span> <span class="o">=</span> <span class="s1">' CIRA-'</span><span class="o">+</span><span class="n">name</span><span class="p">[</span><span class="mi">7</span><span class="p">:</span><span class="o">-</span><span class="mi">4</span><span class="p">]</span><span class="o">+</span><span class="s1">'-'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">reftime</span><span class="p">)</span>
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">annotate</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">footnoteStr</span><span class="p">),</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">),</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">xycoords</span><span class="o">=</span><span class="s1">'axes fraction'</span><span class="p">,</span> <span class="n">textcoords</span><span class="o">=</span><span class="s1">'offset points'</span><span class="p">,</span> <span class="n">va</span><span class="o">=</span><span class="s1">'top'</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Write out the figure</span>
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="n">DPI</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">,</span> <span class="n">pad_inches</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html">Top</a></p>
|
||||||
|
</div>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<div class="section" id="get-the-data-and-write-it-out">
|
||||||
|
<h3>5 Get the Data and Write it Out!<a class="headerlink" href="#get-the-data-and-write-it-out" title="Permalink to this headline">¶</a></h3>
|
||||||
|
<div class="section" id="filter-the-data">
|
||||||
|
<h4>5.1 Filter the Data<a class="headerlink" href="#filter-the-data" title="Permalink to this headline">¶</a></h4>
|
||||||
|
<p>Define exactly what data we want to be printing out. This notebook is
|
||||||
|
designed to loop through and print out multiple images, so here we can
|
||||||
|
pick which images we’re wanting to print out. We’re specifying
|
||||||
|
<strong>ECONUS</strong> (for East CONUS), <strong>CLDSNOW</strong>, <strong>DBRDUST</strong>, and <strong>GEOCOLR</strong>
|
||||||
|
(for the new CIRA products) and the <strong>three channels</strong> for the RBG
|
||||||
|
composites.</p>
|
||||||
|
<div class="alert-info docutils container">
|
||||||
|
<div class="line-block">
|
||||||
|
<div class="line">Tip:</div>
|
||||||
|
<div class="line">More information could be gathered by looking at all the available
|
||||||
|
location names (sectors), identifiers (entities), and parameters
|
||||||
|
(channels). To see those run the following lines of code after the
|
||||||
|
dataType has been set to satellite on the request object:</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">## Print Available Location Names</span>
|
||||||
|
<span class="nb">print</span><span class="p">((</span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getAvailableLocationNames</span><span class="p">(</span><span class="n">request</span><span class="p">))</span>
|
||||||
|
|
||||||
|
<span class="c1">## Print Available Identifiers and Values</span>
|
||||||
|
<span class="n">ids</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getOptionalIdentifiers</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">ids</span><span class="p">)</span>
|
||||||
|
<span class="k">for</span> <span class="nb">id</span> <span class="ow">in</span> <span class="n">ids</span><span class="p">:</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="nb">id</span><span class="p">,</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getIdentifierValues</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="nb">id</span><span class="p">))</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Define Location names</span>
|
||||||
|
<span class="n">sectors</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"ECONUS"</span><span class="p">]</span>
|
||||||
|
|
||||||
|
<span class="c1"># Define creatingEntity Identifiers</span>
|
||||||
|
<span class="n">entities</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"CLDSNOW"</span><span class="p">,</span> <span class="s2">"DBRDUST"</span><span class="p">,</span> <span class="s2">"GEOCOLR"</span><span class="p">]</span>
|
||||||
|
|
||||||
|
<span class="c1"># Define parameters</span>
|
||||||
|
<span class="n">ch1</span> <span class="o">=</span> <span class="s2">"CH-01-0.47um"</span>
|
||||||
|
<span class="n">ch2</span> <span class="o">=</span> <span class="s2">"CH-02-0.64um"</span>
|
||||||
|
<span class="n">ch3</span> <span class="o">=</span> <span class="s2">"CH-03-0.87um"</span>
|
||||||
|
<span class="n">channels</span> <span class="o">=</span> <span class="p">[</span><span class="n">ch1</span><span class="p">,</span> <span class="n">ch2</span><span class="p">,</span> <span class="n">ch3</span><span class="p">]</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="define-output-location">
|
||||||
|
<h4>5.2 Define Output Location<a class="headerlink" href="#define-output-location" title="Permalink to this headline">¶</a></h4>
|
||||||
|
<p>Here we define a folder for where the satellite images will be written
|
||||||
|
to. The default directory is a new folder called ‘output’ that lives
|
||||||
|
whereever this notebook lives.</p>
|
||||||
|
<div class="alert-info docutils container">
|
||||||
|
<div class="line-block">
|
||||||
|
<div class="line">Tip:</div>
|
||||||
|
<div class="line">If you specify the fully qualified path, it will no longer depend
|
||||||
|
on where this notebook is located. For example (for a Mac):</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">outputDir</span> <span class="o">=</span> <span class="s1">'/Users/scarter/test_dir/output/'</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Define name of the desired end directory</span>
|
||||||
|
<span class="n">outputDir</span> <span class="o">=</span> <span class="s1">'output/'</span>
|
||||||
|
|
||||||
|
<span class="c1"># Check to see if this folder exists</span>
|
||||||
|
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">outputDir</span><span class="p">):</span>
|
||||||
|
<span class="c1"># If not, create the directory</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="s1">'Creating new output directory: '</span><span class="p">,</span><span class="n">outputDir</span><span class="p">)</span>
|
||||||
|
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">outputDir</span><span class="p">)</span>
|
||||||
|
<span class="k">else</span><span class="p">:</span>
|
||||||
|
<span class="c1"># If so, let the user know</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="s1">'Output directory exists!'</span><span class="p">)</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>Output directory exists!
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="write-out-goes-images">
|
||||||
|
<h4>5.3 Write Out GOES Images<a class="headerlink" href="#write-out-goes-images" title="Permalink to this headline">¶</a></h4>
|
||||||
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># First loop through the sectors (location names)</span>
|
||||||
|
<span class="k">for</span> <span class="n">sector</span> <span class="ow">in</span> <span class="n">sectors</span><span class="p">:</span>
|
||||||
|
|
||||||
|
<span class="c1"># Set the location on the request</span>
|
||||||
|
<span class="n">request</span><span class="o">.</span><span class="n">setLocationNames</span><span class="p">(</span><span class="n">sector</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Next loop through the Products (entities)</span>
|
||||||
|
<span class="k">for</span> <span class="n">entity</span> <span class="ow">in</span> <span class="n">entities</span><span class="p">:</span>
|
||||||
|
<span class="c1"># Reset the time and channel variables since we're on a new product</span>
|
||||||
|
<span class="n">time</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
|
<span class="n">R</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
|
<span class="n">G</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
|
<span class="n">B</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
|
|
||||||
|
<span class="c1"># Set the product</span>
|
||||||
|
<span class="n">request</span><span class="o">.</span><span class="n">addIdentifier</span><span class="p">(</span><span class="s2">"creatingEntity"</span><span class="p">,</span> <span class="n">entity</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Cycle through the channels (parameters)</span>
|
||||||
|
<span class="k">for</span> <span class="n">channel</span> <span class="ow">in</span> <span class="n">channels</span><span class="p">:</span>
|
||||||
|
<span class="n">request</span><span class="o">.</span><span class="n">setParameters</span><span class="p">(</span><span class="n">channel</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Set the time for this product if it hasn't been set</span>
|
||||||
|
<span class="c1"># If it has been set, then we proceed with that value</span>
|
||||||
|
<span class="c1"># so that all bands in for the one product are pulled</span>
|
||||||
|
<span class="c1"># from the same time</span>
|
||||||
|
<span class="k">if</span><span class="p">(</span><span class="n">time</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">):</span>
|
||||||
|
<span class="n">times</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getAvailableTimes</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
|
||||||
|
<span class="n">time</span> <span class="o">=</span> <span class="p">[</span><span class="n">times</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="s2">"selected time:"</span><span class="p">,</span> <span class="n">time</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Request the data from EDEX</span>
|
||||||
|
<span class="n">response</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getGridData</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">time</span><span class="p">)</span>
|
||||||
|
<span class="c1"># Grab the actual data from the response</span>
|
||||||
|
<span class="n">grid</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
|
<span class="c1"># Get the raw data from the response</span>
|
||||||
|
<span class="n">data</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getRawData</span><span class="p">()</span>
|
||||||
|
<span class="n">reftime</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getDataTime</span><span class="p">()</span><span class="o">.</span><span class="n">getRefTime</span><span class="p">()</span>
|
||||||
|
|
||||||
|
<span class="c1"># Set the R,G,B channel</span>
|
||||||
|
<span class="k">if</span><span class="p">(</span><span class="n">channel</span> <span class="o">==</span> <span class="n">ch1</span><span class="p">):</span>
|
||||||
|
<span class="n">B</span> <span class="o">=</span> <span class="n">data</span>
|
||||||
|
<span class="k">elif</span> <span class="p">(</span><span class="n">channel</span> <span class="o">==</span> <span class="n">ch2</span><span class="p">):</span>
|
||||||
|
<span class="n">R</span> <span class="o">=</span> <span class="n">data</span>
|
||||||
|
<span class="k">elif</span> <span class="p">(</span><span class="n">channel</span> <span class="o">==</span> <span class="n">ch3</span><span class="p">):</span>
|
||||||
|
<span class="n">G</span> <span class="o">=</span> <span class="n">data</span>
|
||||||
|
|
||||||
|
<span class="c1"># Create the single channel name</span>
|
||||||
|
<span class="n">name</span> <span class="o">=</span> <span class="n">outputDir</span><span class="o">+</span><span class="n">entity</span><span class="o">+</span><span class="s1">'-'</span><span class="o">+</span><span class="n">sector</span><span class="o">+</span><span class="s1">'-'</span><span class="o">+</span><span class="n">channel</span><span class="o">+</span><span class="s1">'.png'</span>
|
||||||
|
|
||||||
|
<span class="c1"># Write out the single channel</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="s1">'writing'</span><span class="p">,</span><span class="n">name</span><span class="p">)</span>
|
||||||
|
<span class="n">write_img</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">proj</span><span class="p">,</span> <span class="n">extent</span><span class="p">,</span> <span class="n">reftime</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># --- End of channel loop</span>
|
||||||
|
|
||||||
|
<span class="c1"># Create the RGB product</span>
|
||||||
|
<span class="c1"># Apply range limits for each channel. RGB values must be between 0 and 1</span>
|
||||||
|
<span class="n">R</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">clip</span><span class="p">(</span><span class="n">R</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||||
|
<span class="n">G</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">clip</span><span class="p">(</span><span class="n">G</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||||
|
<span class="n">B</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">clip</span><span class="p">(</span><span class="n">B</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||||
|
<span class="n">RGB</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">dstack</span><span class="p">([</span><span class="n">R</span><span class="p">,</span> <span class="n">G</span><span class="p">,</span> <span class="n">B</span><span class="p">])</span>
|
||||||
|
|
||||||
|
<span class="c1"># Create RGB name</span>
|
||||||
|
<span class="n">rgbName</span> <span class="o">=</span> <span class="n">outputDir</span><span class="o">+</span><span class="n">entity</span><span class="o">+</span><span class="s1">'-'</span><span class="o">+</span><span class="n">sector</span><span class="o">+</span><span class="s1">'-RGB.png'</span>
|
||||||
|
<span class="c1"># Write out the RGB image</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="s1">'writing'</span><span class="p">,</span> <span class="n">rgbName</span><span class="p">)</span>
|
||||||
|
<span class="n">write_img</span><span class="p">(</span><span class="n">RGB</span><span class="p">,</span> <span class="n">rgbName</span><span class="p">,</span> <span class="n">proj</span><span class="p">,</span> <span class="n">extent</span><span class="p">,</span> <span class="n">time</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># --- End of entity loop</span>
|
||||||
|
<span class="c1">#--- End of sector loop</span>
|
||||||
|
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="s1">'Done!'</span><span class="p">)</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>selected time: [<DataTime instance: 2021-05-28 06:51:14 >]
|
||||||
|
writing output/CLDSNOW-ECONUS-CH-01-0.47um.png
|
||||||
|
writing output/CLDSNOW-ECONUS-CH-02-0.64um.png
|
||||||
|
writing output/CLDSNOW-ECONUS-CH-03-0.87um.png
|
||||||
|
writing output/CLDSNOW-ECONUS-RGB.png
|
||||||
|
selected time: [<DataTime instance: 2021-05-28 06:51:14 >]
|
||||||
|
writing output/DBRDUST-ECONUS-CH-01-0.47um.png
|
||||||
|
writing output/DBRDUST-ECONUS-CH-02-0.64um.png
|
||||||
|
writing output/DBRDUST-ECONUS-CH-03-0.87um.png
|
||||||
|
writing output/DBRDUST-ECONUS-RGB.png
|
||||||
|
selected time: [<DataTime instance: 2021-05-28 06:56:14 >]
|
||||||
|
writing output/GEOCOLR-ECONUS-CH-01-0.47um.png
|
||||||
|
writing output/GEOCOLR-ECONUS-CH-02-0.64um.png
|
||||||
|
writing output/GEOCOLR-ECONUS-CH-03-0.87um.png
|
||||||
|
writing output/GEOCOLR-ECONUS-RGB.png
|
||||||
|
Done!
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="n">Figure</span> <span class="n">size</span> <span class="mi">432</span><span class="n">x288</span> <span class="k">with</span> <span class="mi">0</span> <span class="n">Axes</span><span class="o">></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<img alt="../../_images/GOES_CIRA_Product_Writer_25_2.png" src="../../_images/GOES_CIRA_Product_Writer_25_2.png" />
|
||||||
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="n">Figure</span> <span class="n">size</span> <span class="mi">432</span><span class="n">x288</span> <span class="k">with</span> <span class="mi">0</span> <span class="n">Axes</span><span class="o">></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<img alt="../../_images/GOES_CIRA_Product_Writer_25_4.png" src="../../_images/GOES_CIRA_Product_Writer_25_4.png" />
|
||||||
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="n">Figure</span> <span class="n">size</span> <span class="mi">432</span><span class="n">x288</span> <span class="k">with</span> <span class="mi">0</span> <span class="n">Axes</span><span class="o">></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<img alt="../../_images/GOES_CIRA_Product_Writer_25_6.png" src="../../_images/GOES_CIRA_Product_Writer_25_6.png" />
|
||||||
|
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html">Top</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<div class="section" id="see-also">
|
||||||
|
<h3>6 See Also<a class="headerlink" href="#see-also" title="Permalink to this headline">¶</a></h3>
|
||||||
|
<div class="section" id="related-notebooks">
|
||||||
|
<h4>6.1 Related Notebooks<a class="headerlink" href="#related-notebooks" title="Permalink to this headline">¶</a></h4>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><a class="reference external" href="http://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html">Satellite
|
||||||
|
Imagery</a></p></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="additional-documentation">
|
||||||
|
<h4>6.2 Additional Documentation<a class="headerlink" href="#additional-documentation" title="Permalink to this headline">¶</a></h4>
|
||||||
|
<p><strong>CIRA Quick Guides</strong></p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><a class="reference external" href="https://rammb.cira.colostate.edu/training/visit/quick_guides/QuickGuide_DEBRA-Dust_20210217.pdf">DEBRA-Dust</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="https://rammb.cira.colostate.edu/training/visit/quick_guides/GOES_Cloud_Snow_Discriminator_Quick_Guide_20190814.pdf">Cloud-Snow</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="https://rammb.cira.colostate.edu/training/visit/quick_guides/QuickGuide_CIRA_Geocolor_20171019.pdf">GEOCOLOR</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<p><strong>python-awips</strong></p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.changeEDEXHost">DataAccessLayer.changeEDEXHost()</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.newDataRequest">DataAccessLayer.newDataRequest()</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLocationNames">DataAccessLayer.getAvailableLocationNames()</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getOptionalIdentifiers">DataAccessLayer.getOptionalIdentifiers()</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getIdentifierValues">DataAccessLayer.getIdentifierValues()</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableTimes">DataAccessLayer.getAvailableTimes()</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="http://unidata.github.io/python-awips/api/IDataRequest.html">IDataRequest</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<p><strong>matplotlib</strong></p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><a class="reference external" href="https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.html">matplotlib.pyplot()</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axes.html">matplotlib.pyplot.axes()</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.figure.html">matplotlib.pyplot.figure()</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<p><strong>numpy</strong></p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><a class="reference external" href="https://numpy.org/doc/stable/reference/generated/numpy.clip.html">numpy.clip()</a></p></li>
|
||||||
|
<li><p><a class="reference external" href="https://numpy.org/doc/stable/reference/generated/numpy.dstack.html">numpy.dstack()</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html">Top</a></p>
|
||||||
|
<hr class="docutils" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||||
|
<a href="GOES_Geostationary_Lightning_Mapper.html" class="btn btn-neutral float-right" title="GOES Geostationary Lightning Mapper" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||||
|
<a href="Forecast_Model_Vertical_Sounding.html" class="btn btn-neutral float-left" title="Forecast Model Vertical Sounding" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>
|
||||||
|
© Copyright 2018, Unidata.
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||||
|
|
||||||
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||||
|
|
||||||
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -43,7 +43,7 @@
|
||||||
<link rel="index" title="Index" href="../../genindex.html" />
|
<link rel="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
<link rel="next" title="Grid Levels and Parameters" href="Grid_Levels_and_Parameters.html" />
|
<link rel="next" title="Grid Levels and Parameters" href="Grid_Levels_and_Parameters.html" />
|
||||||
<link rel="prev" title="Forecast Model Vertical Sounding" href="Forecast_Model_Vertical_Sounding.html" />
|
<link rel="prev" title="GOES CIRA Product Writer" href="GOES_CIRA_Product_Writer.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">GOES Geostationary Lightning Mapper</a><ul>
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">GOES Geostationary Lightning Mapper</a><ul>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="#glm-sources-and-parameters">GLM Sources and Parameters</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="#glm-sources-and-parameters">GLM Sources and Parameters</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -285,7 +286,7 @@ tornadoes, hurricanes, flash floods, snowstorms and fires.</p>
|
||||||
<footer>
|
<footer>
|
||||||
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||||
<a href="Grid_Levels_and_Parameters.html" class="btn btn-neutral float-right" title="Grid Levels and Parameters" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
<a href="Grid_Levels_and_Parameters.html" class="btn btn-neutral float-right" title="Grid Levels and Parameters" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||||
<a href="Forecast_Model_Vertical_Sounding.html" class="btn btn-neutral float-left" title="Forecast Model Vertical Sounding" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
<a href="GOES_CIRA_Product_Writer.html" class="btn btn-neutral float-left" title="GOES CIRA Product Writer" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">Grid Levels and Parameters</a><ul>
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">Grid Levels and Parameters</a><ul>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="#objectives">Objectives</a><ul>
|
<li class="toctree-l3"><a class="reference internal" href="#objectives">Objectives</a><ul>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">Grids and Cartopy</a><ul>
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">Grids and Cartopy</a><ul>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Data Plotting Examples</a><ul class="current">
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Data Plotting Examples</a><ul>
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">Data Plotting Examples</a><ul>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="generated/Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="generated/Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="generated/Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="generated/Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="generated/GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="generated/GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="generated/GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="generated/Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="generated/Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="generated/Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="generated/Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
@ -188,6 +189,7 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="generated/Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="generated/Colored_Surface_Temperature_Plot.html">Colored Surface Temperature Plot</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="generated/Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="generated/Forecast_Model_Vertical_Sounding.html">Forecast Model Vertical Sounding</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="generated/GOES_CIRA_Product_Writer.html">GOES CIRA Product Writer</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="generated/GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="generated/GOES_Geostationary_Lightning_Mapper.html">GOES Geostationary Lightning Mapper</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="generated/Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="generated/Grid_Levels_and_Parameters.html">Grid Levels and Parameters</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="generated/Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="generated/Grids_and_Cartopy.html">Grids and Cartopy</a></li>
|
||||||
|
|
BIN
objects.inv
BIN
objects.inv
Binary file not shown.
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue