This commit is contained in:
srcarter3 2021-06-01 21:35:01 +00:00
parent 6040bec9e7
commit a24d2c78e2
21 changed files with 706 additions and 289 deletions

View file

Before

Width:  |  Height:  |  Size: 212 KiB

After

Width:  |  Height:  |  Size: 212 KiB

View file

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 139 KiB

View file

@ -2,24 +2,91 @@
Grid Levels and Parameters
==========================
`Notebook <http://nbviewer.ipython.org/github/Unidata/python-awips/blob/master/examples/notebooks/Grid_Levels_and_Parameters.ipynb>`_
This example covers the callable methods of python-awips when working
with gridded data. We start with a connection to an EDEX server, then
query data types, then grid names, parameters, levels, and other
information. Finally the gridded data is plotted for its domain using
Matplotlib and Cartopy.
Python-AWIPS Tutorial Notebook
DataAccessLayer.getSupportedDatatypes()
---------------------------------------
--------------
getSupportedDatatypes() returns a list of available data types offered
by the EDEX server defined above.
Objectives
==========
- Cover the relevant methods for accessing EDEX and investigating what
data is available.
- This example we look at the “grid” data type and investigate the
Global Forcast System (GFS) model.
- We will talk quite a bit about the **DataAccessLayer** utility, and
its `online
documentation <http://unidata.github.io/python-awips/api/DataAccessLayer.html#>`__
might be a helpful reference.
--------------
Table of Contents
-----------------
| `1
Imports <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#1-imports>`__\
| `2 Connect to
EDEX <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#2-connect-to-edex>`__\
| `3 Get a List of Supported Data
Types <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#3-get-a-list-of-supported-data-types>`__\
| `4 Create a New Data Request and Set the
Type <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#4-create-a-new-data-request-and-set-the-type>`__\
| `5 Get Available
Locations <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#5-get-available-locations>`__\
| `6 Get Available
Parameters <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#6-get-available-parameters>`__\
| `7 Get Available
Levels <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#7-get-available-levels>`__\
| `8 Get Available
Times <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#8-get-available-times>`__\
| `9 Get the
Data! <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#9-get-the-data>`__\
| `10 See
Also <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#10-see-also>`__\
|     `10.1 Related
Notebooks <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Paramters.html#10.1-related-notebooks>`__\
--------------
1 Imports
---------
Start by importing the DataAccessLayer package from python-awips:
.. code:: ipython3
from awips.dataaccess import DataAccessLayer
import unittest
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu")
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
--------------
2 Connect to EDEX
-----------------
Define a url for your EDEX connection, and then point python-awips at
that EDEX
.. code:: ipython3
# Unidata's cloud EDEX instance is used in this example
edex_url = "edex-cloud.unidata.ucar.edu"
DataAccessLayer.changeEDEXHost(edex_url)
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
--------------
3 Get a List of Supported Data Types
------------------------------------
`DataAccessLayer.getSupportedDatatypes() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getSupportedDatatypes>`__
returns a list of supported data types offered by the EDEX server
defined above. The code below shows how to populate, sort, and print out
that list.
.. code:: ipython3
dataTypes = DataAccessLayer.getSupportedDatatypes()
dataTypes.sort()
list(dataTypes)
@ -59,19 +126,50 @@ by the EDEX server defined above.
DataAccessLayer.getAvailableLocationNames()
-------------------------------------------
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
Now create a new data request, and set the data type to **grid** to
request all available grids with **getAvailableLocationNames()**
--------------
4 Create a New Data Request and Set the Type
--------------------------------------------
Now create a new data request using
`DataAccessLayer.newDataRequest() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.newDataRequest>`__,
and set the data type using
`request.setDatatype() <http://unidata.github.io/python-awips/api/IDataRequest.html#awips.dataaccess.IDataRequest.setDatatype>`__.
Below we create a few different requests with different data types to
show some differences with other methods.
For this example we are going to look at the **grid** data type, which
is where the model data can be found, along with some other datasets
(such as MRMS).
.. code:: ipython3
request = DataAccessLayer.newDataRequest()
request.setDatatype("grid")
available_grids = DataAccessLayer.getAvailableLocationNames(request)
available_grids.sort()
list(available_grids)
# Create a request for data type grid
grid_request = DataAccessLayer.newDataRequest()
grid_request.setDatatype("grid")
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
--------------
5 Get Available Locations
-------------------------
Use the
`DataAccessLayer.getAvailableLocationNames(request) <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLocationNames>`__
method to find out what locations are available for the given dataset.
Typically these will be geographic locations or NWS sites, although in
some instances it will be something else. Take a look at whats
outputted for the grid_request, for example.
.. code:: ipython3
# Grid Locations
grid_locations = DataAccessLayer.getAvailableLocationNames(grid_request)
grid_locations.sort()
list(grid_locations)
@ -140,18 +238,26 @@ request all available grids with **getAvailableLocationNames()**
DataAccessLayer.getAvailableParameters()
----------------------------------------
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
After datatype and model name (locationName) are set, you can query all
available parameters with **getAvailableParameters()**
--------------
6 Get Available Parameters
--------------------------
Were setting the “location” (in this case, what model we are interested
in) to specify our request before we look at the available parameters.
Take a look at the available parameters for the data set by using
`DataAccessLayer.getAvailableParameters(request) <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableParameters>`__
.. code:: ipython3
request.setLocationNames("RAP13")
availableParms = DataAccessLayer.getAvailableParameters(request)
availableParms.sort()
list(availableParms)
# Pick a model and set the location for the grid request -- we'll be using the Global Forecast System 20km (GFS20)
grid_request.setLocationNames("GFS20")
grid_params = DataAccessLayer.getAvailableParameters(grid_request)
grid_params.sort()
list(grid_params)
@ -174,16 +280,25 @@ available parameters with **getAvailableParameters()**
'BlkShr',
'CAPE',
'CFRZR',
'CFRZR3hr',
'CFRZR6hr',
'CICEP',
'CICEP3hr',
'CICEP6hr',
'CIn',
'CP',
'CP1hr',
'CP-GFS',
'CP3hr',
'CP6hr',
'CPr',
'CPrD',
'CRAIN',
'CRAIN3hr',
'CRAIN6hr',
'CSNOW',
'CSNOW3hr',
'CSNOW6hr',
'CURU',
'CXR',
'CapeStk',
'Corf',
'CorfF',
@ -200,6 +315,7 @@ available parameters with **getAvailableParameters()**
'EHI',
'EHI01',
'EHIi',
'EMSP',
'EPT',
'EPTA',
'EPTC',
@ -213,7 +329,6 @@ available parameters with **getAvailableParameters()**
'ESP',
'ESP2',
'FVecs',
'FeatMot',
'FnVecs',
'FsVecs',
'Fzra1',
@ -221,13 +336,12 @@ available parameters with **getAvailableParameters()**
'GH',
'GHxSM',
'GHxSM2',
'Gust',
'GVV',
'HI',
'HI1',
'HI3',
'HI4',
'HIdx',
'HPBL',
'Heli',
'HeliC',
'INV',
@ -243,7 +357,6 @@ available parameters with **getAvailableParameters()**
'MCon2',
'MLLCL',
'MMP',
'MMSP',
'MSFDi',
'MSFi',
'MSFmi',
@ -252,13 +365,18 @@ available parameters with **getAvailableParameters()**
'Mix1',
'Mix2',
'Mmag',
'MnT3hr',
'MnT6hr',
'MpV',
'MxT3hr',
'MxT6hr',
'NBE',
'NST',
'NST1',
'NST2',
'OmDiff',
'P',
'P3hr',
'P6hr',
'PAdv',
'PBE',
'PEC',
@ -267,10 +385,8 @@ available parameters with **getAvailableParameters()**
'PGrd1',
'PGrdM',
'PIVA',
'PR',
'PTvA',
'PTyp',
'PVV',
'PW',
'PW2',
'PoT',
@ -279,7 +395,6 @@ available parameters with **getAvailableParameters()**
'QPV2',
'QPV3',
'QPV4',
'REFC',
'RH',
'RH_001_bin',
'RH_002_bin',
@ -287,7 +402,6 @@ available parameters with **getAvailableParameters()**
'RM6',
'RMprop',
'RMprop2',
'RRtype',
'RV',
'Rain1',
'Rain2',
@ -311,7 +425,6 @@ available parameters with **getAvailableParameters()**
'STP1',
'Shear',
'ShrMag',
'SnD',
'Snow1',
'Snow2',
'Snow3',
@ -327,7 +440,9 @@ available parameters with **getAvailableParameters()**
'TORi',
'TORi2',
'TP',
'TP1hr',
'TP-GFS',
'TP3hr',
'TP6hr',
'TQIND',
'TShrMi',
'TV',
@ -349,20 +464,15 @@ available parameters with **getAvailableParameters()**
'TwMin',
'Twstk',
'TxSM',
'USTM',
'VAdv',
'VAdvAdvection',
'VGP',
'VSTM',
'Vis',
'VSS',
'WCD',
'WD',
'WEASD',
'WEASD1hr',
'WGS',
'Wind',
'WndChl',
'ageoVC',
'ageoW',
'ageoWM',
'cCape',
@ -421,7 +531,6 @@ available parameters with **getAvailableParameters()**
'vTOT',
'vW',
'vWStk',
'vertCirc',
'wDiv',
'wSp',
'wSp_001_bin',
@ -432,16 +541,39 @@ available parameters with **getAvailableParameters()**
DataAccessLayer.getAvailableLevels()
------------------------------------
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
Selecting **“T”** for temperature.
--------------
7 Get Available Levels
----------------------
Setting the parameters is just an option, you do not need to filter the
data if you do not wish to. Also, although we are only setting one
parameter in this example, you can set multiple parameters by using an
array:
::
params = ("param1", "param2", "param3"...)
request.setParameters(params)
Set a parameter, from the output above and take a look at what “levels”
are available for the data set youre looking at using
`DataAccessLayer.getAvailableLevels(request) <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLevels>`__.
.. container:: alert-warning
Warning: Not all datasets support levels. If you are trying this with
another dataset and run into an exception (error), its most likely
because levels are not supported for that data type.
.. code:: ipython3
request.setParameters("T")
availableLevels = DataAccessLayer.getAvailableLevels(request)
for lvl in availableLevels:
# For grid data we'll use the temperature parameter ("T")
grid_request.setParameters("T")
grid_levels = DataAccessLayer.getAvailableLevels(grid_request)
for lvl in grid_levels:
print(lvl)
@ -449,20 +581,15 @@ Selecting **“T”** for temperature.
0.0SFC
350.0MB
475.0MB
610.0_40000.0FHAG
225.0MB
120.0_150.0BL
900.0MB
125.0MB
0.0_610.0FHAG
450.0MB
575.0MB
325.0MB
100.0MB
1000.0MB
60.0_90.0BL
275.0MB
1.0PV
950.0MB
150.0MB
@ -471,7 +598,6 @@ Selecting **“T”** for temperature.
825.0MB
150.0_180.0BL
250.0MB
375.0MB
1000.0_500.0MB
800.0MB
4000.0FHAG
@ -486,7 +612,6 @@ Selecting **“T”** for temperature.
0.0FHAG
2.0FHAG
875.0MB
175.0MB
0.0_1000.0FHAG
850.0MB
600.0MB
@ -496,7 +621,6 @@ Selecting **“T”** for temperature.
550.0MB
0.0_3000.0FHAG
675.0MB
425.0MB
200.0MB
0.0_30.0BL
30.0_60.0BL
@ -568,7 +692,6 @@ Selecting **“T”** for temperature.
2000.0_8000.0FHAG
0.0_609.6FHAG
300.0K
0.0MAXOMEGA
315.0_325.0K
325.0K
340.0Ke
@ -705,23 +828,43 @@ Selecting **“T”** for temperature.
1000.0_500.0LYRMB
- **0.0SFC** is the Surface level
- **FHAG** stands for Fixed Height Above Ground (in meters)
- **NTAT** stands for Nominal Top of the ATmosphere
- **BL** stands for Boundary Layer, where **0.0_30.0BL** reads as *0-30
mb above ground level*
- **TROP** is the Tropopause level
.. container:: alert-info
**request.setLevels()**
Note:
For this example we will use Surface Temperature
.. raw:: html
<li>
0.0SFC is the Surface level
.. raw:: html
</li>
::
<li><b>HAG</b> stands for Fixed Height Above Ground (in meters)</li>
<li><b>NTAT</b> stands for Nominal Top of the ATmosphere</li>
<li><b>BL</b> stands for Boundary Layer, where <b>0.0_30.0BL</b> reads as <i>0-30 mb above ground level</i></li>
<li><b>TROP</b> is the Tropopause level
.. code:: ipython3
request.setLevels("2.0FHAG")
# We'll set the level to surface level
grid_request.setLevels("0.0SFC")
DataAccessLayer.getAvailableTimes()
-----------------------------------
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
--------------
8 Get Available Times
---------------------
Take a look at what time options are available for the data youre
looking at using the
`DataAccessLayer.getAvailableTimes() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableTimes>`__
method:
- **getAvailableTimes(request, True)** will return an object of *run
times* - formatted as ``YYYY-MM-DD HH:MM:SS``
@ -732,66 +875,148 @@ DataAccessLayer.getAvailableTimes()
.. code:: ipython3
cycles = DataAccessLayer.getAvailableTimes(request, True)
times = DataAccessLayer.getAvailableTimes(request)
fcstRun = DataAccessLayer.getForecastRun(cycles[-1], times)
list(fcstRun)
# Available grid times
grid_cycles = DataAccessLayer.getAvailableTimes(grid_request, True)
grid_times = DataAccessLayer.getAvailableTimes(grid_request)
## Using -1 in an array will access the last element of the array
## (using -2 will access the second last element, and so on)
grid_fcstRun = DataAccessLayer.getForecastRun(grid_cycles[-1], grid_times)
## print out the time instances
times = []
for fcst in grid_fcstRun:
print(fcst.getRefTime(), ':', fcst.getFcstTime(), 'seconds')
.. parsed-literal::
[<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >,
<DataTime instance: 2021-06-01 18:00:00 >]
2021-06-01 12:00:00.000 : 0 seconds
2021-06-01 12:00:00.000 : 10800 seconds
2021-06-01 12:00:00.000 : 21600 seconds
2021-06-01 12:00:00.000 : 32400 seconds
2021-06-01 12:00:00.000 : 43200 seconds
2021-06-01 12:00:00.000 : 54000 seconds
2021-06-01 12:00:00.000 : 64800 seconds
2021-06-01 12:00:00.000 : 75600 seconds
2021-06-01 12:00:00.000 : 86400 seconds
2021-06-01 12:00:00.000 : 97200 seconds
2021-06-01 12:00:00.000 : 108000 seconds
2021-06-01 12:00:00.000 : 118800 seconds
2021-06-01 12:00:00.000 : 129600 seconds
2021-06-01 12:00:00.000 : 140400 seconds
2021-06-01 12:00:00.000 : 151200 seconds
2021-06-01 12:00:00.000 : 162000 seconds
2021-06-01 12:00:00.000 : 172800 seconds
2021-06-01 12:00:00.000 : 183600 seconds
2021-06-01 12:00:00.000 : 194400 seconds
2021-06-01 12:00:00.000 : 205200 seconds
2021-06-01 12:00:00.000 : 216000 seconds
2021-06-01 12:00:00.000 : 226800 seconds
2021-06-01 12:00:00.000 : 237600 seconds
2021-06-01 12:00:00.000 : 248400 seconds
2021-06-01 12:00:00.000 : 259200 seconds
2021-06-01 12:00:00.000 : 270000 seconds
2021-06-01 12:00:00.000 : 280800 seconds
2021-06-01 12:00:00.000 : 291600 seconds
2021-06-01 12:00:00.000 : 302400 seconds
2021-06-01 12:00:00.000 : 324000 seconds
2021-06-01 12:00:00.000 : 345600 seconds
2021-06-01 12:00:00.000 : 367200 seconds
2021-06-01 12:00:00.000 : 388800 seconds
2021-06-01 12:00:00.000 : 410400 seconds
2021-06-01 12:00:00.000 : 432000 seconds
2021-06-01 12:00:00.000 : 453600 seconds
2021-06-01 12:00:00.000 : 475200 seconds
2021-06-01 12:00:00.000 : 496800 seconds
2021-06-01 12:00:00.000 : 518400 seconds
2021-06-01 12:00:00.000 : 540000 seconds
2021-06-01 12:00:00.000 : 561600 seconds
2021-06-01 12:00:00.000 : 583200 seconds
2021-06-01 12:00:00.000 : 604800 seconds
2021-06-01 12:00:00.000 : 626400 seconds
2021-06-01 12:00:00.000 : 648000 seconds
2021-06-01 12:00:00.000 : 669600 seconds
2021-06-01 12:00:00.000 : 691200 seconds
2021-06-01 12:00:00.000 : 712800 seconds
2021-06-01 12:00:00.000 : 734400 seconds
2021-06-01 12:00:00.000 : 756000 seconds
2021-06-01 12:00:00.000 : 777600 seconds
2021-06-01 12:00:00.000 : 799200 seconds
2021-06-01 12:00:00.000 : 820800 seconds
2021-06-01 12:00:00.000 : 842400 seconds
2021-06-01 12:00:00.000 : 864000 seconds
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
DataAccessLayer.getGridData()
-----------------------------
--------------
9 Get the Data!
---------------
Now that we have our ``request`` and DataTime ``fcstRun`` arrays ready,
its time to request the data array from EDEX.
its time to request the data array from EDEX. Depending on what kind of
data were working with, well either use
`DataAccessLayer.getGridData() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGridData>`__
or
`DataAccessLayer.getGeometryData() <http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGeometryData>`__
.. container:: alert-info
Note: We have more, detailed notebooks about how analyze and
visualize the data once you have what you want.
.. code:: ipython3
response = DataAccessLayer.getGridData(request, [fcstRun[-1]])
for grid in response:
data = grid.getRawData()
## Grid Data
grid_response = DataAccessLayer.getGridData(grid_request, [grid_fcstRun[-1]])
for grid in grid_response:
grid_data = grid.getRawData()
lons, lats = grid.getLatLonCoords()
print('Time :', str(grid.getDataTime()))
print('Time :', grid.getDataTime(), "-", grid.getDataTime().getFcstTime(), 'seconds')
## Take a look at some information in our data
print('Model:', str(grid.getLocationName()))
print('Parm :', str(grid.getParameter()))
print('Unit :', str(grid.getUnit()))
print(data.shape)
print(grid_data.shape)
.. parsed-literal::
Time : 2021-06-01 18:00:00
Model: RAP13
Time : 2021-06-01 12:00:00 - 864000 seconds
Model: GFS20
Parm : T
Unit : K
(337, 451)
(257, 369)
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
--------------
10 See Also
-----------
Several functions are used throughout this notebook from the
DataAccessLayer class in python-awips, to see full documentation for
these functions vist
`here <http://unidata.github.io/python-awips/api/DataAccessLayer.html#>`__.
10.1 Related Notebooks
~~~~~~~~~~~~~~~~~~~~~~
- `Colored Surface Temperature
Plot <https://unidata.github.io/python-awips/examples/generated/Colored_Surface_Temperature_Plot.html>`__
- `Grids and
Cartopy <https://unidata.github.io/python-awips/examples/generated/Grids_and_Cartopy.html>`__
- `Satellite
Imagery <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html>`__
- `Upper Air BUFR
Soundings <https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html>`__
- `Maps Resources and
Topography <https://unidata.github.io/python-awips/examples/generated/Map_Resources_and_Topography.html>`__
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__
--------------

View file

@ -1,7 +1,7 @@
=======================
AWIPS Grids and Cartopy
=======================
`Notebook <http://nbviewer.ipython.org/github/Unidata/python-awips/blob/master/examples/notebooks/AWIPS_Grids_and_Cartopy.ipynb>`_
=================
Grids and Cartopy
=================
`Notebook <http://nbviewer.ipython.org/github/Unidata/python-awips/blob/master/examples/notebooks/Grids_and_Cartopy.ipynb>`_
A simple example of requesting and plotting AWIPS grids with Matplotlib
and Cartopy.
@ -54,7 +54,7 @@ with pcolormesh
.. image:: AWIPS_Grids_and_Cartopy_files/AWIPS_Grids_and_Cartopy_3_0.png
.. image:: Grids_and_Cartopy_files/Grids_and_Cartopy_3_0.png
with contourf
@ -72,5 +72,5 @@ with contourf
.. image:: AWIPS_Grids_and_Cartopy_files/AWIPS_Grids_and_Cartopy_5_0.png
.. image:: Grids_and_Cartopy_files/Grids_and_Cartopy_5_0.png

View file

@ -43,7 +43,7 @@
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Forecast Model Vertical Sounding" href="Forecast_Model_Vertical_Sounding.html" />
<link rel="prev" title="AWIPS Grids and Cartopy" href="AWIPS_Grids_and_Cartopy.html" />
<link rel="prev" title="Data Plotting Examples" href="../index.html" />
</head>
<body class="wy-body-for-nav">
@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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>
@ -290,7 +290,7 @@ in GEMPAK and CAVE.</p>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="Forecast_Model_Vertical_Sounding.html" class="btn btn-neutral float-right" title="Forecast Model Vertical Sounding" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="AWIPS_Grids_and_Cartopy.html" class="btn btn-neutral float-left" title="AWIPS Grids and Cartopy" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../index.html" class="btn btn-neutral float-left" title="Data Plotting Examples" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>

View file

@ -96,7 +96,6 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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 current"><a class="current reference internal" href="#">Forecast Model Vertical Sounding</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#skew-t-log-p">Skew-T/Log-P</a></li>
@ -105,6 +104,7 @@
</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>

View file

@ -96,7 +96,6 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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 current"><a class="current reference internal" href="#">GOES Geostationary Lightning Mapper</a><ul>
@ -104,6 +103,7 @@
</ul>
</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>

View file

@ -42,7 +42,7 @@
<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="METAR Station Plot with MetPy" href="METAR_Station_Plot_with_MetPy.html" />
<link rel="next" title="Grids and Cartopy" href="Grids_and_Cartopy.html" />
<link rel="prev" title="GOES Geostationary Lightning Mapper" href="GOES_Geostationary_Lightning_Mapper.html" />
</head>
@ -96,19 +96,27 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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-l3"><a class="reference internal" href="#dataaccesslayer-getsupporteddatatypes">DataAccessLayer.getSupportedDatatypes()</a></li>
<li class="toctree-l3"><a class="reference internal" href="#dataaccesslayer-getavailablelocationnames">DataAccessLayer.getAvailableLocationNames()</a></li>
<li class="toctree-l3"><a class="reference internal" href="#dataaccesslayer-getavailableparameters">DataAccessLayer.getAvailableParameters()</a></li>
<li class="toctree-l3"><a class="reference internal" href="#dataaccesslayer-getavailablelevels">DataAccessLayer.getAvailableLevels()</a></li>
<li class="toctree-l3"><a class="reference internal" href="#dataaccesslayer-getavailabletimes">DataAccessLayer.getAvailableTimes()</a></li>
<li class="toctree-l3"><a class="reference internal" href="#dataaccesslayer-getgriddata">DataAccessLayer.getGridData()</a></li>
<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="#connect-to-edex">2 Connect to EDEX</a></li>
<li class="toctree-l4"><a class="reference internal" href="#get-a-list-of-supported-data-types">3 Get a List of Supported Data Types</a></li>
<li class="toctree-l4"><a class="reference internal" href="#create-a-new-data-request-and-set-the-type">4 Create a New Data Request and Set the Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="#get-available-locations">5 Get Available Locations</a></li>
<li class="toctree-l4"><a class="reference internal" href="#get-available-parameters">6 Get Available Parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="#get-available-levels">7 Get Available Levels</a></li>
<li class="toctree-l4"><a class="reference internal" href="#get-available-times">8 Get Available Times</a></li>
<li class="toctree-l4"><a class="reference internal" href="#get-the-data">9 Get the Data!</a></li>
<li class="toctree-l4"><a class="reference internal" href="#see-also">10 See Also</a></li>
</ul>
</li>
</ul>
</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>
@ -195,20 +203,77 @@
<div class="section" id="grid-levels-and-parameters">
<h1>Grid Levels and Parameters<a class="headerlink" href="#grid-levels-and-parameters" 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/Grid_Levels_and_Parameters.ipynb">Notebook</a>
This example covers the callable methods of python-awips when working
with gridded data. We start with a connection to an EDEX server, then
query data types, then grid names, parameters, levels, and other
information. Finally the gridded data is plotted for its domain using
Matplotlib and Cartopy.</p>
<div class="section" id="dataaccesslayer-getsupporteddatatypes">
<h2>DataAccessLayer.getSupportedDatatypes()<a class="headerlink" href="#dataaccesslayer-getsupporteddatatypes" title="Permalink to this headline"></a></h2>
<p>getSupportedDatatypes() returns a list of available data types offered
by the EDEX server defined above.</p>
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>Cover the relevant methods for accessing EDEX and investigating what
data is available.</p></li>
<li><p>This example we look at the “grid” data type and investigate the
Global Forcast System (GFS) model.</p></li>
<li><p>We will talk quite a bit about the <strong>DataAccessLayer</strong> utility, and
its <a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#">online
documentation</a>
might be a helpful reference.</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/Grid_Levels_and_Parameters.html#1-imports">1
Imports</a></div>
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#2-connect-to-edex">2 Connect to
EDEX</a></div>
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#3-get-a-list-of-supported-data-types">3 Get a List of Supported Data
Types</a></div>
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#4-create-a-new-data-request-and-set-the-type">4 Create a New Data Request and Set the
Type</a></div>
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#5-get-available-locations">5 Get Available
Locations</a></div>
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#6-get-available-parameters">6 Get Available
Parameters</a></div>
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#7-get-available-levels">7 Get Available
Levels</a></div>
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#8-get-available-times">8 Get Available
Times</a></div>
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#9-get-the-data">9 Get the
Data!</a></div>
<div class="line"><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html#10-see-also">10 See
Also</a></div>
<div class="line">    <a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Paramters.html#10.1-related-notebooks">10.1 Related
Notebooks</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>Start by importing the DataAccessLayer package from python-awips:</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">unittest</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span><span class="p">)</span>
<span class="n">dataTypes</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getSupportedDatatypes</span><span class="p">()</span>
</pre></div>
</div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
</div>
<hr class="docutils" />
<div class="section" id="connect-to-edex">
<h3>2 Connect to EDEX<a class="headerlink" href="#connect-to-edex" title="Permalink to this headline"></a></h3>
<p>Define a url for your EDEX connection, and then point python-awips at
that EDEX</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Unidata&#39;s cloud EDEX instance is used in this example</span>
<span class="n">edex_url</span> <span class="o">=</span> <span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="n">edex_url</span><span class="p">)</span>
</pre></div>
</div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
</div>
<hr class="docutils" />
<div class="section" id="get-a-list-of-supported-data-types">
<h3>3 Get a List of Supported Data Types<a class="headerlink" href="#get-a-list-of-supported-data-types" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getSupportedDatatypes">DataAccessLayer.getSupportedDatatypes()</a>
returns a list of supported data types offered by the EDEX server
defined above. The code below shows how to populate, sort, and print out
that list.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">dataTypes</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getSupportedDatatypes</span><span class="p">()</span>
<span class="n">dataTypes</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
<span class="nb">list</span><span class="p">(</span><span class="n">dataTypes</span><span class="p">)</span>
</pre></div>
@ -242,16 +307,40 @@ by the EDEX server defined above.</p>
<span class="s1">&#39;warning&#39;</span><span class="p">]</span>
</pre></div>
</div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
</div>
<div class="section" id="dataaccesslayer-getavailablelocationnames">
<h2>DataAccessLayer.getAvailableLocationNames()<a class="headerlink" href="#dataaccesslayer-getavailablelocationnames" title="Permalink to this headline"></a></h2>
<p>Now create a new data request, and set the data type to <strong>grid</strong> to
request all available grids with <strong>getAvailableLocationNames()</strong></p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></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">&quot;grid&quot;</span><span class="p">)</span>
<span class="n">available_grids</span> <span class="o">=</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="n">available_grids</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
<span class="nb">list</span><span class="p">(</span><span class="n">available_grids</span><span class="p">)</span>
<hr class="docutils" />
<div class="section" id="create-a-new-data-request-and-set-the-type">
<h3>4 Create a New Data Request and Set the Type<a class="headerlink" href="#create-a-new-data-request-and-set-the-type" title="Permalink to this headline"></a></h3>
<p>Now create a new data request using
<a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.newDataRequest">DataAccessLayer.newDataRequest()</a>,
and set the data type using
<a class="reference external" href="http://unidata.github.io/python-awips/api/IDataRequest.html#awips.dataaccess.IDataRequest.setDatatype">request.setDatatype()</a>.
Below we create a few different requests with different data types to
show some differences with other methods.</p>
<p>For this example we are going to look at the <strong>grid</strong> data type, which
is where the model data can be found, along with some other datasets
(such as MRMS).</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create a request for data type grid</span>
<span class="n">grid_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">grid_request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;grid&quot;</span><span class="p">)</span>
</pre></div>
</div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
</div>
<hr class="docutils" />
<div class="section" id="get-available-locations">
<h3>5 Get Available Locations<a class="headerlink" href="#get-available-locations" title="Permalink to this headline"></a></h3>
<p>Use the
<a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLocationNames">DataAccessLayer.getAvailableLocationNames(request)</a>
method to find out what locations are available for the given dataset.
Typically these will be geographic locations or NWS sites, although in
some instances it will be something else. Take a look at whats
outputted for the grid_request, for example.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Grid Locations</span>
<span class="n">grid_locations</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getAvailableLocationNames</span><span class="p">(</span><span class="n">grid_request</span><span class="p">)</span>
<span class="n">grid_locations</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
<span class="nb">list</span><span class="p">(</span><span class="n">grid_locations</span><span class="p">)</span>
</pre></div>
</div>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="s1">&#39;AUTOSPE&#39;</span><span class="p">,</span>
@ -315,15 +404,20 @@ request all available grids with <strong>getAvailableLocationNames()</strong></p
<span class="s1">&#39;navgem0p5&#39;</span><span class="p">]</span>
</pre></div>
</div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
</div>
<div class="section" id="dataaccesslayer-getavailableparameters">
<h2>DataAccessLayer.getAvailableParameters()<a class="headerlink" href="#dataaccesslayer-getavailableparameters" title="Permalink to this headline"></a></h2>
<p>After datatype and model name (locationName) are set, you can query all
available parameters with <strong>getAvailableParameters()</strong></p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">request</span><span class="o">.</span><span class="n">setLocationNames</span><span class="p">(</span><span class="s2">&quot;RAP13&quot;</span><span class="p">)</span>
<span class="n">availableParms</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getAvailableParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">availableParms</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
<span class="nb">list</span><span class="p">(</span><span class="n">availableParms</span><span class="p">)</span>
<hr class="docutils" />
<div class="section" id="get-available-parameters">
<h3>6 Get Available Parameters<a class="headerlink" href="#get-available-parameters" title="Permalink to this headline"></a></h3>
<p>Were setting the “location” (in this case, what model we are interested
in) to specify our request before we look at the available parameters.</p>
<p>Take a look at the available parameters for the data set by using
<a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableParameters">DataAccessLayer.getAvailableParameters(request)</a></p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Pick a model and set the location for the grid request -- we&#39;ll be using the Global Forecast System 20km (GFS20)</span>
<span class="n">grid_request</span><span class="o">.</span><span class="n">setLocationNames</span><span class="p">(</span><span class="s2">&quot;GFS20&quot;</span><span class="p">)</span>
<span class="n">grid_params</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getAvailableParameters</span><span class="p">(</span><span class="n">grid_request</span><span class="p">)</span>
<span class="n">grid_params</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
<span class="nb">list</span><span class="p">(</span><span class="n">grid_params</span><span class="p">)</span>
</pre></div>
</div>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="s1">&#39;36SHRMi&#39;</span><span class="p">,</span>
@ -342,16 +436,25 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;BlkShr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CAPE&#39;</span><span class="p">,</span>
<span class="s1">&#39;CFRZR&#39;</span><span class="p">,</span>
<span class="s1">&#39;CFRZR3hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CFRZR6hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CICEP&#39;</span><span class="p">,</span>
<span class="s1">&#39;CICEP3hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CICEP6hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CIn&#39;</span><span class="p">,</span>
<span class="s1">&#39;CP&#39;</span><span class="p">,</span>
<span class="s1">&#39;CP1hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CP-GFS&#39;</span><span class="p">,</span>
<span class="s1">&#39;CP3hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CP6hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CPr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CPrD&#39;</span><span class="p">,</span>
<span class="s1">&#39;CRAIN&#39;</span><span class="p">,</span>
<span class="s1">&#39;CRAIN3hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CRAIN6hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CSNOW&#39;</span><span class="p">,</span>
<span class="s1">&#39;CSNOW3hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CSNOW6hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;CURU&#39;</span><span class="p">,</span>
<span class="s1">&#39;CXR&#39;</span><span class="p">,</span>
<span class="s1">&#39;CapeStk&#39;</span><span class="p">,</span>
<span class="s1">&#39;Corf&#39;</span><span class="p">,</span>
<span class="s1">&#39;CorfF&#39;</span><span class="p">,</span>
@ -368,6 +471,7 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;EHI&#39;</span><span class="p">,</span>
<span class="s1">&#39;EHI01&#39;</span><span class="p">,</span>
<span class="s1">&#39;EHIi&#39;</span><span class="p">,</span>
<span class="s1">&#39;EMSP&#39;</span><span class="p">,</span>
<span class="s1">&#39;EPT&#39;</span><span class="p">,</span>
<span class="s1">&#39;EPTA&#39;</span><span class="p">,</span>
<span class="s1">&#39;EPTC&#39;</span><span class="p">,</span>
@ -381,7 +485,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;ESP&#39;</span><span class="p">,</span>
<span class="s1">&#39;ESP2&#39;</span><span class="p">,</span>
<span class="s1">&#39;FVecs&#39;</span><span class="p">,</span>
<span class="s1">&#39;FeatMot&#39;</span><span class="p">,</span>
<span class="s1">&#39;FnVecs&#39;</span><span class="p">,</span>
<span class="s1">&#39;FsVecs&#39;</span><span class="p">,</span>
<span class="s1">&#39;Fzra1&#39;</span><span class="p">,</span>
@ -389,13 +492,12 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;GH&#39;</span><span class="p">,</span>
<span class="s1">&#39;GHxSM&#39;</span><span class="p">,</span>
<span class="s1">&#39;GHxSM2&#39;</span><span class="p">,</span>
<span class="s1">&#39;Gust&#39;</span><span class="p">,</span>
<span class="s1">&#39;GVV&#39;</span><span class="p">,</span>
<span class="s1">&#39;HI&#39;</span><span class="p">,</span>
<span class="s1">&#39;HI1&#39;</span><span class="p">,</span>
<span class="s1">&#39;HI3&#39;</span><span class="p">,</span>
<span class="s1">&#39;HI4&#39;</span><span class="p">,</span>
<span class="s1">&#39;HIdx&#39;</span><span class="p">,</span>
<span class="s1">&#39;HPBL&#39;</span><span class="p">,</span>
<span class="s1">&#39;Heli&#39;</span><span class="p">,</span>
<span class="s1">&#39;HeliC&#39;</span><span class="p">,</span>
<span class="s1">&#39;INV&#39;</span><span class="p">,</span>
@ -411,7 +513,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;MCon2&#39;</span><span class="p">,</span>
<span class="s1">&#39;MLLCL&#39;</span><span class="p">,</span>
<span class="s1">&#39;MMP&#39;</span><span class="p">,</span>
<span class="s1">&#39;MMSP&#39;</span><span class="p">,</span>
<span class="s1">&#39;MSFDi&#39;</span><span class="p">,</span>
<span class="s1">&#39;MSFi&#39;</span><span class="p">,</span>
<span class="s1">&#39;MSFmi&#39;</span><span class="p">,</span>
@ -420,13 +521,18 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;Mix1&#39;</span><span class="p">,</span>
<span class="s1">&#39;Mix2&#39;</span><span class="p">,</span>
<span class="s1">&#39;Mmag&#39;</span><span class="p">,</span>
<span class="s1">&#39;MnT3hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;MnT6hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;MpV&#39;</span><span class="p">,</span>
<span class="s1">&#39;MxT3hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;MxT6hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;NBE&#39;</span><span class="p">,</span>
<span class="s1">&#39;NST&#39;</span><span class="p">,</span>
<span class="s1">&#39;NST1&#39;</span><span class="p">,</span>
<span class="s1">&#39;NST2&#39;</span><span class="p">,</span>
<span class="s1">&#39;OmDiff&#39;</span><span class="p">,</span>
<span class="s1">&#39;P&#39;</span><span class="p">,</span>
<span class="s1">&#39;P3hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;P6hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;PAdv&#39;</span><span class="p">,</span>
<span class="s1">&#39;PBE&#39;</span><span class="p">,</span>
<span class="s1">&#39;PEC&#39;</span><span class="p">,</span>
@ -435,10 +541,8 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;PGrd1&#39;</span><span class="p">,</span>
<span class="s1">&#39;PGrdM&#39;</span><span class="p">,</span>
<span class="s1">&#39;PIVA&#39;</span><span class="p">,</span>
<span class="s1">&#39;PR&#39;</span><span class="p">,</span>
<span class="s1">&#39;PTvA&#39;</span><span class="p">,</span>
<span class="s1">&#39;PTyp&#39;</span><span class="p">,</span>
<span class="s1">&#39;PVV&#39;</span><span class="p">,</span>
<span class="s1">&#39;PW&#39;</span><span class="p">,</span>
<span class="s1">&#39;PW2&#39;</span><span class="p">,</span>
<span class="s1">&#39;PoT&#39;</span><span class="p">,</span>
@ -447,7 +551,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;QPV2&#39;</span><span class="p">,</span>
<span class="s1">&#39;QPV3&#39;</span><span class="p">,</span>
<span class="s1">&#39;QPV4&#39;</span><span class="p">,</span>
<span class="s1">&#39;REFC&#39;</span><span class="p">,</span>
<span class="s1">&#39;RH&#39;</span><span class="p">,</span>
<span class="s1">&#39;RH_001_bin&#39;</span><span class="p">,</span>
<span class="s1">&#39;RH_002_bin&#39;</span><span class="p">,</span>
@ -455,7 +558,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;RM6&#39;</span><span class="p">,</span>
<span class="s1">&#39;RMprop&#39;</span><span class="p">,</span>
<span class="s1">&#39;RMprop2&#39;</span><span class="p">,</span>
<span class="s1">&#39;RRtype&#39;</span><span class="p">,</span>
<span class="s1">&#39;RV&#39;</span><span class="p">,</span>
<span class="s1">&#39;Rain1&#39;</span><span class="p">,</span>
<span class="s1">&#39;Rain2&#39;</span><span class="p">,</span>
@ -479,7 +581,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;STP1&#39;</span><span class="p">,</span>
<span class="s1">&#39;Shear&#39;</span><span class="p">,</span>
<span class="s1">&#39;ShrMag&#39;</span><span class="p">,</span>
<span class="s1">&#39;SnD&#39;</span><span class="p">,</span>
<span class="s1">&#39;Snow1&#39;</span><span class="p">,</span>
<span class="s1">&#39;Snow2&#39;</span><span class="p">,</span>
<span class="s1">&#39;Snow3&#39;</span><span class="p">,</span>
@ -495,7 +596,9 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;TORi&#39;</span><span class="p">,</span>
<span class="s1">&#39;TORi2&#39;</span><span class="p">,</span>
<span class="s1">&#39;TP&#39;</span><span class="p">,</span>
<span class="s1">&#39;TP1hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;TP-GFS&#39;</span><span class="p">,</span>
<span class="s1">&#39;TP3hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;TP6hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;TQIND&#39;</span><span class="p">,</span>
<span class="s1">&#39;TShrMi&#39;</span><span class="p">,</span>
<span class="s1">&#39;TV&#39;</span><span class="p">,</span>
@ -517,20 +620,15 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;TwMin&#39;</span><span class="p">,</span>
<span class="s1">&#39;Twstk&#39;</span><span class="p">,</span>
<span class="s1">&#39;TxSM&#39;</span><span class="p">,</span>
<span class="s1">&#39;USTM&#39;</span><span class="p">,</span>
<span class="s1">&#39;VAdv&#39;</span><span class="p">,</span>
<span class="s1">&#39;VAdvAdvection&#39;</span><span class="p">,</span>
<span class="s1">&#39;VGP&#39;</span><span class="p">,</span>
<span class="s1">&#39;VSTM&#39;</span><span class="p">,</span>
<span class="s1">&#39;Vis&#39;</span><span class="p">,</span>
<span class="s1">&#39;VSS&#39;</span><span class="p">,</span>
<span class="s1">&#39;WCD&#39;</span><span class="p">,</span>
<span class="s1">&#39;WD&#39;</span><span class="p">,</span>
<span class="s1">&#39;WEASD&#39;</span><span class="p">,</span>
<span class="s1">&#39;WEASD1hr&#39;</span><span class="p">,</span>
<span class="s1">&#39;WGS&#39;</span><span class="p">,</span>
<span class="s1">&#39;Wind&#39;</span><span class="p">,</span>
<span class="s1">&#39;WndChl&#39;</span><span class="p">,</span>
<span class="s1">&#39;ageoVC&#39;</span><span class="p">,</span>
<span class="s1">&#39;ageoW&#39;</span><span class="p">,</span>
<span class="s1">&#39;ageoWM&#39;</span><span class="p">,</span>
<span class="s1">&#39;cCape&#39;</span><span class="p">,</span>
@ -589,7 +687,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;vTOT&#39;</span><span class="p">,</span>
<span class="s1">&#39;vW&#39;</span><span class="p">,</span>
<span class="s1">&#39;vWStk&#39;</span><span class="p">,</span>
<span class="s1">&#39;vertCirc&#39;</span><span class="p">,</span>
<span class="s1">&#39;wDiv&#39;</span><span class="p">,</span>
<span class="s1">&#39;wSp&#39;</span><span class="p">,</span>
<span class="s1">&#39;wSp_001_bin&#39;</span><span class="p">,</span>
@ -599,32 +696,45 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="s1">&#39;zAGL&#39;</span><span class="p">]</span>
</pre></div>
</div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
</div>
<div class="section" id="dataaccesslayer-getavailablelevels">
<h2>DataAccessLayer.getAvailableLevels()<a class="headerlink" href="#dataaccesslayer-getavailablelevels" title="Permalink to this headline"></a></h2>
<p>Selecting <strong>“T”</strong> for temperature.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">request</span><span class="o">.</span><span class="n">setParameters</span><span class="p">(</span><span class="s2">&quot;T&quot;</span><span class="p">)</span>
<span class="n">availableLevels</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getAvailableLevels</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="k">for</span> <span class="n">lvl</span> <span class="ow">in</span> <span class="n">availableLevels</span><span class="p">:</span>
<hr class="docutils" />
<div class="section" id="get-available-levels">
<h3>7 Get Available Levels<a class="headerlink" href="#get-available-levels" title="Permalink to this headline"></a></h3>
<p>Setting the parameters is just an option, you do not need to filter the
data if you do not wish to. Also, although we are only setting one
parameter in this example, you can set multiple parameters by using an
array:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">params</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;param1&quot;</span><span class="p">,</span> <span class="s2">&quot;param2&quot;</span><span class="p">,</span> <span class="s2">&quot;param3&quot;</span><span class="o">...</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">params</span><span class="p">)</span>
</pre></div>
</div>
<p>Set a parameter, from the output above and take a look at what “levels”
are available for the data set youre looking at using
<a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLevels">DataAccessLayer.getAvailableLevels(request)</a>.</p>
<div class="alert-warning docutils container">
<p>Warning: Not all datasets support levels. If you are trying this with
another dataset and run into an exception (error), its most likely
because levels are not supported for that data type.</p>
</div>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># For grid data we&#39;ll use the temperature parameter (&quot;T&quot;)</span>
<span class="n">grid_request</span><span class="o">.</span><span class="n">setParameters</span><span class="p">(</span><span class="s2">&quot;T&quot;</span><span class="p">)</span>
<span class="n">grid_levels</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getAvailableLevels</span><span class="p">(</span><span class="n">grid_request</span><span class="p">)</span>
<span class="k">for</span> <span class="n">lvl</span> <span class="ow">in</span> <span class="n">grid_levels</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="n">lvl</span><span class="p">)</span>
</pre></div>
</div>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mf">0.0</span><span class="n">SFC</span>
<span class="mf">350.0</span><span class="n">MB</span>
<span class="mf">475.0</span><span class="n">MB</span>
<span class="mf">610.0_40000.0</span><span class="n">FHAG</span>
<span class="mf">225.0</span><span class="n">MB</span>
<span class="mf">120.0_150.0</span><span class="n">BL</span>
<span class="mf">900.0</span><span class="n">MB</span>
<span class="mf">125.0</span><span class="n">MB</span>
<span class="mf">0.0_610.0</span><span class="n">FHAG</span>
<span class="mf">450.0</span><span class="n">MB</span>
<span class="mf">575.0</span><span class="n">MB</span>
<span class="mf">325.0</span><span class="n">MB</span>
<span class="mf">100.0</span><span class="n">MB</span>
<span class="mf">1000.0</span><span class="n">MB</span>
<span class="mf">60.0_90.0</span><span class="n">BL</span>
<span class="mf">275.0</span><span class="n">MB</span>
<span class="mf">1.0</span><span class="n">PV</span>
<span class="mf">950.0</span><span class="n">MB</span>
<span class="mf">150.0</span><span class="n">MB</span>
@ -633,7 +743,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="mf">825.0</span><span class="n">MB</span>
<span class="mf">150.0_180.0</span><span class="n">BL</span>
<span class="mf">250.0</span><span class="n">MB</span>
<span class="mf">375.0</span><span class="n">MB</span>
<span class="mf">1000.0_500.0</span><span class="n">MB</span>
<span class="mf">800.0</span><span class="n">MB</span>
<span class="mf">4000.0</span><span class="n">FHAG</span>
@ -648,7 +757,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="mf">0.0</span><span class="n">FHAG</span>
<span class="mf">2.0</span><span class="n">FHAG</span>
<span class="mf">875.0</span><span class="n">MB</span>
<span class="mf">175.0</span><span class="n">MB</span>
<span class="mf">0.0_1000.0</span><span class="n">FHAG</span>
<span class="mf">850.0</span><span class="n">MB</span>
<span class="mf">600.0</span><span class="n">MB</span>
@ -658,7 +766,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="mf">550.0</span><span class="n">MB</span>
<span class="mf">0.0_3000.0</span><span class="n">FHAG</span>
<span class="mf">675.0</span><span class="n">MB</span>
<span class="mf">425.0</span><span class="n">MB</span>
<span class="mf">200.0</span><span class="n">MB</span>
<span class="mf">0.0_30.0</span><span class="n">BL</span>
<span class="mf">30.0_60.0</span><span class="n">BL</span>
@ -730,7 +837,6 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="mf">2000.0_8000.0</span><span class="n">FHAG</span>
<span class="mf">0.0_609.6</span><span class="n">FHAG</span>
<span class="mf">300.0</span><span class="n">K</span>
<span class="mf">0.0</span><span class="n">MAXOMEGA</span>
<span class="mf">315.0_325.0</span><span class="n">K</span>
<span class="mf">325.0</span><span class="n">K</span>
<span class="mf">340.0</span><span class="n">Ke</span>
@ -867,22 +973,29 @@ available parameters with <strong>getAvailableParameters()</strong></p>
<span class="mf">1000.0_500.0</span><span class="n">LYRMB</span>
</pre></div>
</div>
<ul class="simple">
<li><p><strong>0.0SFC</strong> is the Surface level</p></li>
<li><p><strong>FHAG</strong> stands for Fixed Height Above Ground (in meters)</p></li>
<li><p><strong>NTAT</strong> stands for Nominal Top of the ATmosphere</p></li>
<li><p><strong>BL</strong> stands for Boundary Layer, where <strong>0.0_30.0BL</strong> reads as <em>0-30
mb above ground level</em></p></li>
<li><p><strong>TROP</strong> is the Tropopause level</p></li>
</ul>
<p><strong>request.setLevels()</strong></p>
<p>For this example we will use Surface Temperature</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">request</span><span class="o">.</span><span class="n">setLevels</span><span class="p">(</span><span class="s2">&quot;2.0FHAG&quot;</span><span class="p">)</span>
<div class="alert-info docutils container">
<p>Note:</p>
<li><p>0.0SFC is the Surface level</p>
</li><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">&lt;</span><span class="n">li</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">HAG</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;</span> <span class="n">stands</span> <span class="k">for</span> <span class="n">Fixed</span> <span class="n">Height</span> <span class="n">Above</span> <span class="n">Ground</span> <span class="p">(</span><span class="ow">in</span> <span class="n">meters</span><span class="p">)</span><span class="o">&lt;/</span><span class="n">li</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">li</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">NTAT</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;</span> <span class="n">stands</span> <span class="k">for</span> <span class="n">Nominal</span> <span class="n">Top</span> <span class="n">of</span> <span class="n">the</span> <span class="n">ATmosphere</span><span class="o">&lt;/</span><span class="n">li</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">li</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">BL</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;</span> <span class="n">stands</span> <span class="k">for</span> <span class="n">Boundary</span> <span class="n">Layer</span><span class="p">,</span> <span class="n">where</span> <span class="o">&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mf">0.0_30.0</span><span class="n">BL</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;</span> <span class="n">reads</span> <span class="k">as</span> <span class="o">&lt;</span><span class="n">i</span><span class="o">&gt;</span><span class="mi">0</span><span class="o">-</span><span class="mi">30</span> <span class="n">mb</span> <span class="n">above</span> <span class="n">ground</span> <span class="n">level</span><span class="o">&lt;/</span><span class="n">i</span><span class="o">&gt;&lt;/</span><span class="n">li</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">li</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">TROP</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;</span> <span class="ow">is</span> <span class="n">the</span> <span class="n">Tropopause</span> <span class="n">level</span>
</pre></div>
</div>
</div>
<div class="section" id="dataaccesslayer-getavailabletimes">
<h2>DataAccessLayer.getAvailableTimes()<a class="headerlink" href="#dataaccesslayer-getavailabletimes" title="Permalink to this headline"></a></h2>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># We&#39;ll set the level to surface level</span>
<span class="n">grid_request</span><span class="o">.</span><span class="n">setLevels</span><span class="p">(</span><span class="s2">&quot;0.0SFC&quot;</span><span class="p">)</span>
</pre></div>
</div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
</div>
<hr class="docutils" />
<div class="section" id="get-available-times">
<h3>8 Get Available Times<a class="headerlink" href="#get-available-times" title="Permalink to this headline"></a></h3>
<p>Take a look at what time options are available for the data youre
looking at using the
<a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableTimes">DataAccessLayer.getAvailableTimes()</a>
method:</p>
<ul class="simple">
<li><p><strong>getAvailableTimes(request, True)</strong> will return an object of <em>run
times</em> - formatted as <code class="docutils literal notranslate"><span class="pre">YYYY-MM-DD</span> <span class="pre">HH:MM:SS</span></code></p></li>
@ -891,60 +1004,139 @@ formatted as <code class="docutils literal notranslate"><span class="pre">YYYY-M
<li><p><strong>getForecastRun(cycle, times)</strong> will return a DataTime array for a
single forecast cycle.</p></li>
</ul>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">cycles</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="kc">True</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">fcstRun</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getForecastRun</span><span class="p">(</span><span class="n">cycles</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">times</span><span class="p">)</span>
<span class="nb">list</span><span class="p">(</span><span class="n">fcstRun</span><span class="p">)</span>
</pre></div>
</div>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">DataTime</span> <span class="n">instance</span><span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">&gt;</span><span class="p">]</span>
</pre></div>
</div>
</div>
<div class="section" id="dataaccesslayer-getgriddata">
<h2>DataAccessLayer.getGridData()<a class="headerlink" href="#dataaccesslayer-getgriddata" title="Permalink to this headline"></a></h2>
<p>Now that we have our <code class="docutils literal notranslate"><span class="pre">request</span></code> and DataTime <code class="docutils literal notranslate"><span class="pre">fcstRun</span></code> arrays ready,
its time to request the data array from EDEX.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></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="p">[</span><span class="n">fcstRun</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]])</span>
<span class="k">for</span> <span class="n">grid</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</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">lons</span><span class="p">,</span> <span class="n">lats</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getLatLonCoords</span><span class="p">()</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Time :&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">grid</span><span class="o">.</span><span class="n">getDataTime</span><span class="p">()))</span>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Available grid times</span>
<span class="n">grid_cycles</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">grid_request</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span>
<span class="n">grid_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">grid_request</span><span class="p">)</span>
<span class="c1">## Using -1 in an array will access the last element of the array</span>
<span class="c1">## (using -2 will access the second last element, and so on)</span>
<span class="n">grid_fcstRun</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getForecastRun</span><span class="p">(</span><span class="n">grid_cycles</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">grid_times</span><span class="p">)</span>
<span class="c1">## print out the time instances</span>
<span class="n">times</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">fcst</span> <span class="ow">in</span> <span class="n">grid_fcstRun</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="n">fcst</span><span class="o">.</span><span class="n">getRefTime</span><span class="p">(),</span> <span class="s1">&#39;:&#39;</span><span class="p">,</span> <span class="n">fcst</span><span class="o">.</span><span class="n">getFcstTime</span><span class="p">(),</span> <span class="s1">&#39;seconds&#39;</span><span class="p">)</span>
</pre></div>
</div>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">0</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">10800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">21600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">32400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">43200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">54000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">64800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">75600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">86400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">97200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">108000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">118800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">129600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">140400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">151200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">162000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">172800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">183600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">194400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">205200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">216000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">226800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">237600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">248400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">259200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">270000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">280800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">291600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">302400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">324000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">345600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">367200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">388800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">410400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">432000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">453600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">475200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">496800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">518400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">540000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">561600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">583200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">604800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">626400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">648000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">669600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">691200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">712800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">734400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">756000</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">777600</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">799200</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">820800</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">842400</span> <span class="n">seconds</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mf">00.000</span> <span class="p">:</span> <span class="mi">864000</span> <span class="n">seconds</span>
</pre></div>
</div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
</div>
<hr class="docutils" />
<div class="section" id="get-the-data">
<h3>9 Get the Data!<a class="headerlink" href="#get-the-data" title="Permalink to this headline"></a></h3>
<p>Now that we have our <code class="docutils literal notranslate"><span class="pre">request</span></code> and DataTime <code class="docutils literal notranslate"><span class="pre">fcstRun</span></code> arrays ready,
its time to request the data array from EDEX. Depending on what kind of
data were working with, well either use
<a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGridData">DataAccessLayer.getGridData()</a>
or
<a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGeometryData">DataAccessLayer.getGeometryData()</a></p>
<div class="alert-info docutils container">
<p>Note: We have more, detailed notebooks about how analyze and
visualize the data once you have what you want.</p>
</div>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1">## Grid Data</span>
<span class="n">grid_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">grid_request</span><span class="p">,</span> <span class="p">[</span><span class="n">grid_fcstRun</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]])</span>
<span class="k">for</span> <span class="n">grid</span> <span class="ow">in</span> <span class="n">grid_response</span><span class="p">:</span>
<span class="n">grid_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">lons</span><span class="p">,</span> <span class="n">lats</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getLatLonCoords</span><span class="p">()</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Time :&#39;</span><span class="p">,</span> <span class="n">grid</span><span class="o">.</span><span class="n">getDataTime</span><span class="p">(),</span> <span class="s2">&quot;-&quot;</span><span class="p">,</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">getFcstTime</span><span class="p">(),</span> <span class="s1">&#39;seconds&#39;</span><span class="p">)</span>
<span class="c1">## Take a look at some information in our data</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Model:&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">grid</span><span class="o">.</span><span class="n">getLocationName</span><span class="p">()))</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Parm :&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">grid</span><span class="o">.</span><span class="n">getParameter</span><span class="p">()))</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Unit :&#39;</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">grid</span><span class="o">.</span><span class="n">getUnit</span><span class="p">()))</span>
<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">grid_data</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
</pre></div>
</div>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Time</span> <span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">18</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span>
<span class="n">Model</span><span class="p">:</span> <span class="n">RAP13</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Time</span> <span class="p">:</span> <span class="mi">2021</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">01</span> <span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span> <span class="o">-</span> <span class="mi">864000</span> <span class="n">seconds</span>
<span class="n">Model</span><span class="p">:</span> <span class="n">GFS20</span>
<span class="n">Parm</span> <span class="p">:</span> <span class="n">T</span>
<span class="n">Unit</span> <span class="p">:</span> <span class="n">K</span>
<span class="p">(</span><span class="mi">337</span><span class="p">,</span> <span class="mi">451</span><span class="p">)</span>
<span class="p">(</span><span class="mi">257</span><span class="p">,</span> <span class="mi">369</span><span class="p">)</span>
</pre></div>
</div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
</div>
<hr class="docutils" />
<div class="section" id="see-also">
<h3>10 See Also<a class="headerlink" href="#see-also" title="Permalink to this headline"></a></h3>
<p>Several functions are used throughout this notebook from the
DataAccessLayer class in python-awips, to see full documentation for
these functions vist
<a class="reference external" href="http://unidata.github.io/python-awips/api/DataAccessLayer.html#">here</a>.</p>
<div class="section" id="related-notebooks">
<h4>10.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="https://unidata.github.io/python-awips/examples/generated/Colored_Surface_Temperature_Plot.html">Colored Surface Temperature
Plot</a></p></li>
<li><p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grids_and_Cartopy.html">Grids and
Cartopy</a></p></li>
<li><p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html">Satellite
Imagery</a></p></li>
<li><p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html">Upper Air BUFR
Soundings</a></p></li>
<li><p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Map_Resources_and_Topography.html">Maps Resources and
Topography</a></p></li>
</ul>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
<hr class="docutils" />
</div>
</div>
</div>
</div>
@ -954,7 +1146,7 @@ its time to request the data array from EDEX.</p>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="METAR_Station_Plot_with_MetPy.html" class="btn btn-neutral float-right" title="METAR Station Plot with MetPy" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="Grids_and_Cartopy.html" class="btn btn-neutral float-right" title="Grids and Cartopy" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="GOES_Geostationary_Lightning_Mapper.html" class="btn btn-neutral float-left" title="GOES Geostationary Lightning Mapper" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>

View file

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AWIPS Grids and Cartopy &mdash; python-awips documentation</title>
<title>Grids and Cartopy &mdash; python-awips documentation</title>
@ -42,8 +42,8 @@
<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="Colored Surface Temperature Plot" href="Colored_Surface_Temperature_Plot.html" />
<link rel="prev" title="Data Plotting Examples" href="../index.html" />
<link rel="next" title="METAR Station Plot with MetPy" href="METAR_Station_Plot_with_MetPy.html" />
<link rel="prev" title="Grid Levels and Parameters" href="Grid_Levels_and_Parameters.html" />
</head>
<body class="wy-body-for-nav">
@ -96,15 +96,15 @@
<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 current"><a class="current reference internal" href="#">AWIPS Grids and Cartopy</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#with-pcolormesh">with pcolormesh</a></li>
<li class="toctree-l3"><a class="reference internal" href="#with-contourf">with contourf</a></li>
</ul>
</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="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 current"><a class="current reference internal" href="#">Grids and Cartopy</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#with-pcolormesh">with pcolormesh</a></li>
<li class="toctree-l3"><a class="reference internal" href="#with-contourf">with contourf</a></li>
</ul>
</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>
@ -169,13 +169,13 @@
<li><a href="../index.html">Data Plotting Examples</a> &raquo;</li>
<li>AWIPS Grids and Cartopy</li>
<li>Grids and Cartopy</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/examples/generated/AWIPS_Grids_and_Cartopy.rst.txt" rel="nofollow"> View page source</a>
<a href="../../_sources/examples/generated/Grids_and_Cartopy.rst.txt" rel="nofollow"> View page source</a>
</li>
@ -188,9 +188,9 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="awips-grids-and-cartopy">
<h1>AWIPS Grids and Cartopy<a class="headerlink" href="#awips-grids-and-cartopy" 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/AWIPS_Grids_and_Cartopy.ipynb">Notebook</a>
<div class="section" id="grids-and-cartopy">
<h1>Grids and Cartopy<a class="headerlink" href="#grids-and-cartopy" 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/Grids_and_Cartopy.ipynb">Notebook</a>
A simple example of requesting and plotting AWIPS grids with Matplotlib
and Cartopy.</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>
@ -237,7 +237,7 @@ and Cartopy.</p>
<span class="o">+</span> <span class="s2">&quot;valid &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</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>
</pre></div>
</div>
<img alt="../../_images/AWIPS_Grids_and_Cartopy_3_0.png" src="../../_images/AWIPS_Grids_and_Cartopy_3_0.png" />
<img alt="../../_images/Grids_and_Cartopy_3_0.png" src="../../_images/Grids_and_Cartopy_3_0.png" />
</div>
<div class="section" id="with-contourf">
<h2>with contourf<a class="headerlink" href="#with-contourf" title="Permalink to this headline"></a></h2>
@ -250,7 +250,7 @@ and Cartopy.</p>
<span class="o">+</span> <span class="s2">&quot;valid &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</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>
</pre></div>
</div>
<img alt="../../_images/AWIPS_Grids_and_Cartopy_5_0.png" src="../../_images/AWIPS_Grids_and_Cartopy_5_0.png" />
<img alt="../../_images/Grids_and_Cartopy_5_0.png" src="../../_images/Grids_and_Cartopy_5_0.png" />
</div>
</div>
@ -260,8 +260,8 @@ and Cartopy.</p>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="Colored_Surface_Temperature_Plot.html" class="btn btn-neutral float-right" title="Colored Surface Temperature Plot" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../index.html" class="btn btn-neutral float-left" title="Data Plotting Examples" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="METAR_Station_Plot_with_MetPy.html" class="btn btn-neutral float-right" title="METAR Station Plot with MetPy" 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-left" title="Grid Levels and Parameters" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>

View file

@ -43,7 +43,7 @@
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Map Resources and Topography" href="Map_Resources_and_Topography.html" />
<link rel="prev" title="Grid Levels and Parameters" href="Grid_Levels_and_Parameters.html" />
<link rel="prev" title="Grids and Cartopy" href="Grids_and_Cartopy.html" />
</head>
<body class="wy-body-for-nav">
@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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 current"><a class="current reference internal" href="#">METAR Station Plot with MetPy</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#metpy-surface-obs-plot">MetPy Surface Obs Plot</a></li>
</ul>
@ -375,7 +375,7 @@ plotting function later:</p>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="Map_Resources_and_Topography.html" class="btn btn-neutral float-right" title="Map Resources and Topography" 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-left" title="Grid Levels and Parameters" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="Grids_and_Cartopy.html" class="btn btn-neutral float-left" title="Grids and Cartopy" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>

View file

@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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 current"><a class="current reference internal" href="#">Map Resources and Topography</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#notes">Notes</a></li>

View file

@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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 current"><a class="current reference internal" href="#">Model Sounding Data</a><ul>

View file

@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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>

View file

@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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>

View file

@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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>

View file

@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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>

View file

@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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>

View file

@ -96,11 +96,11 @@
<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="AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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="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>

View file

@ -42,7 +42,7 @@
<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="AWIPS Grids and Cartopy" href="generated/AWIPS_Grids_and_Cartopy.html" />
<link rel="next" title="Colored Surface Temperature Plot" href="generated/Colored_Surface_Temperature_Plot.html" />
<link rel="prev" title="Available Data Types" href="../datatypes.html" />
</head>
@ -96,11 +96,11 @@
<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="current reference internal" href="#">Data Plotting Examples</a><ul>
<li class="toctree-l2"><a class="reference internal" href="generated/AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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/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/Grids_and_Cartopy.html">Grids and Cartopy</a></li>
<li class="toctree-l2"><a class="reference internal" href="generated/METAR_Station_Plot_with_MetPy.html">METAR Station Plot with MetPy</a></li>
<li class="toctree-l2"><a class="reference internal" href="generated/Map_Resources_and_Topography.html">Map Resources and Topography</a></li>
<li class="toctree-l2"><a class="reference internal" href="generated/Model_Sounding_Data.html">Model Sounding Data</a></li>
@ -186,11 +186,11 @@
<span id="examples-index"></span><h1>Data Plotting Examples<a class="headerlink" href="#data-plotting-examples" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="generated/AWIPS_Grids_and_Cartopy.html">AWIPS Grids and Cartopy</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/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/Grids_and_Cartopy.html">Grids and Cartopy</a></li>
<li class="toctree-l1"><a class="reference internal" href="generated/METAR_Station_Plot_with_MetPy.html">METAR Station Plot with MetPy</a></li>
<li class="toctree-l1"><a class="reference internal" href="generated/Map_Resources_and_Topography.html">Map Resources and Topography</a></li>
<li class="toctree-l1"><a class="reference internal" href="generated/Model_Sounding_Data.html">Model Sounding Data</a></li>
@ -210,7 +210,7 @@
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="generated/AWIPS_Grids_and_Cartopy.html" class="btn btn-neutral float-right" title="AWIPS Grids and Cartopy" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="generated/Colored_Surface_Temperature_Plot.html" class="btn btn-neutral float-right" title="Colored Surface Temperature Plot" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../datatypes.html" class="btn btn-neutral float-left" title="Available Data Types" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>

Binary file not shown.

File diff suppressed because one or more lines are too long