diff --git a/.buildinfo b/.buildinfo index 6335acc..2703ea0 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: e7f300c030dadb271a156d06a9ad5681 +config: f0ebb3dbf3d9374c81a3df5a307e45ee tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/_images/Grid_Levels_and_Parameters_16_0.png b/_images/Grid_Levels_and_Parameters_16_0.png deleted file mode 100644 index 7fc5a4f..0000000 Binary files a/_images/Grid_Levels_and_Parameters_16_0.png and /dev/null differ diff --git a/_images/Grid_Levels_and_Parameters_18_0.png b/_images/Grid_Levels_and_Parameters_18_0.png deleted file mode 100644 index 9477165..0000000 Binary files a/_images/Grid_Levels_and_Parameters_18_0.png and /dev/null differ diff --git a/_modules/awips/DateTimeConverter.html b/_modules/awips/DateTimeConverter.html deleted file mode 100644 index 899a8ec..0000000 --- a/_modules/awips/DateTimeConverter.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - - - - - awips.DateTimeConverter — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • awips.DateTimeConverter
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for awips.DateTimeConverter

-#
-# Functions for converting between the various "Java" dynamic serialize types
-# used by EDEX to the native python time datetime.
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    06/24/15         #4480        dgilling       Initial Creation.
-#
-
-import datetime
-import time
-
-from dynamicserialize.dstypes.java.util import Date
-from dynamicserialize.dstypes.java.sql import Timestamp
-from dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange
-
-MAX_TIME = pow(2, 31) - 1
-MICROS_IN_SECOND = 1000000
-
-
-
[docs]def convertToDateTime(timeArg): - """ - Converts the given object to a python datetime object. Supports native - python representations like datetime and struct_time, but also - the dynamicserialize types like Date and Timestamp. Raises TypeError - if no conversion can be performed. - - Args: - timeArg: a python object representing a date and time. Supported - types include datetime, struct_time, float, int, long and the - dynamicserialize types Date and Timestamp. - - Returns: - A datetime that represents the same date/time as the passed in object. - """ - if isinstance(timeArg, datetime.datetime): - return timeArg - elif isinstance(timeArg, time.struct_time): - return datetime.datetime(*timeArg[:6]) - elif isinstance(timeArg, float): - # seconds as float, should be avoided due to floating point errors - totalSecs = int(timeArg) - micros = int((timeArg - totalSecs) * MICROS_IN_SECOND) - return _convertSecsAndMicros(totalSecs, micros) - elif isinstance(timeArg, int): - # seconds as integer - totalSecs = timeArg - return _convertSecsAndMicros(totalSecs, 0) - elif isinstance(timeArg, (Date, Timestamp)): - totalSecs = timeArg.getTime() - return _convertSecsAndMicros(totalSecs, 0) - else: - objType = str(type(timeArg)) - raise TypeError("Cannot convert object of type " + objType + " to datetime.")
- - -def _convertSecsAndMicros(seconds, micros): - if seconds < MAX_TIME: - rval = datetime.datetime.utcfromtimestamp(seconds) - else: - extraTime = datetime.timedelta(seconds=(seconds - MAX_TIME)) - rval = datetime.datetime.utcfromtimestamp(MAX_TIME) + extraTime - return rval.replace(microsecond=micros) - - -
[docs]def constructTimeRange(*args): - """ - Builds a python dynamicserialize TimeRange object from the given - arguments. - - Args: - args*: must be a TimeRange or a pair of objects that can be - converted to a datetime via convertToDateTime(). - - Returns: - A TimeRange. - """ - - if len(args) == 1 and isinstance(args[0], TimeRange): - return args[0] - if len(args) != 2: - raise TypeError("constructTimeRange takes exactly 2 arguments, " + str(len(args)) + " provided.") - startTime = convertToDateTime(args[0]) - endTime = convertToDateTime(args[1]) - return TimeRange(startTime, endTime)
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/RadarCommon.html b/_modules/awips/RadarCommon.html deleted file mode 100644 index 2c75f65..0000000 --- a/_modules/awips/RadarCommon.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - - - - awips.RadarCommon — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • awips.RadarCommon
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for awips.RadarCommon

-#
-# Common methods for the a2gtrad and a2advrad scripts.
-#
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    08/13/2014      3393          nabowle        Initial creation to contain common
-#                                                 code for a2*radStub scripts.
-#    03/15/2015                    mjames@ucar    Edited/added to awips package as RadarCommon
-#
-#
-
-
-
[docs]def get_datetime_str(record): - """ - Get the datetime string for a record. - - Args: - record: the record to get data for. - - Returns: - datetime string. - """ - return str(record.getDataTime())[0:19].replace(" ", "_") + ".0"
- - -
[docs]def get_data_type(azdat): - """ - Get the radar file type (radial or raster). - - Args: - azdat: Boolean. - - Returns: - Radial or raster. - """ - if azdat: - return "radial" - return "raster"
- - -
[docs]def get_hdf5_data(idra): - rdat = [] - azdat = [] - depVals = [] - threshVals = [] - if idra: - for item in idra: - if item.getName() == "Data": - rdat = item - elif item.getName() == "Angles": - azdat = item - # dattyp = "radial" - elif item.getName() == "DependentValues": - depVals = item.getShortData() - elif item.getName() == "Thresholds": - threshVals = item.getShortData() - - return rdat, azdat, depVals, threshVals
- - -
[docs]def get_header(record, headerFormat, xLen, yLen, azdat, description): - # Encode dimensions, time, mapping, description, tilt, and VCP - mytime = get_datetime_str(record) - dattyp = get_data_type(azdat) - - if headerFormat: - msg = str(xLen) + " " + str(yLen) + " " + mytime + " " + \ - dattyp + " " + str(record.getLatitude()) + " " + \ - str(record.getLongitude()) + " " + \ - str(record.getElevation()) + " " + \ - str(record.getElevationNumber()) + " " + \ - description + " " + str(record.getTrueElevationAngle()) + " " + \ - str(record.getVolumeCoveragePattern()) + "\n" - else: - msg = str(xLen) + " " + str(yLen) + " " + mytime + " " + \ - dattyp + " " + description + " " + \ - str(record.getTrueElevationAngle()) + " " + \ - str(record.getVolumeCoveragePattern()) + "\n" - - return msg
- - -
[docs]def encode_thresh_vals(threshVals): - spec = [".", "TH", "ND", "RF", "BI", "GC", "IC", "GR", "WS", "DS", - "RA", "HR", "BD", "HA", "UK"] - nnn = len(threshVals) - j = 0 - msg = "" - while j < nnn: - lo = threshVals[j] % 256 - hi = threshVals[j] / 256 - msg += " " - j += 1 - if hi < 0: - if lo > 14: - msg += "." - else: - msg += spec[lo] - continue - if hi % 16 >= 8: - msg += ">" - elif hi % 8 >= 4: - msg += "<" - if hi % 4 >= 2: - msg += "+" - elif hi % 2 >= 1: - msg += "-" - if hi >= 64: - msg += "%.2f" % (lo*0.01) - elif hi % 64 >= 32: - msg += "%.2f" % (lo*0.05) - elif hi % 32 >= 16: - msg += "%.1f" % (lo*0.1) - else: - msg += str(lo) - msg += "\n" - return msg
- - -
[docs]def encode_dep_vals(depVals): - nnn = len(depVals) - j = 0 - msg = [] - while j < nnn: - msg.append(str(depVals[j])) - j += 1 - return msg
- - -
[docs]def encode_radial(azVals): - azValsLen = len(azVals) - j = 0 - msg = [] - while j < azValsLen: - msg.append(azVals[j]) - j += 1 - return msg
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/ThriftClient.html b/_modules/awips/ThriftClient.html deleted file mode 100644 index f829ff7..0000000 --- a/_modules/awips/ThriftClient.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - - - - awips.ThriftClient — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • awips.ThriftClient
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for awips.ThriftClient

-#
-# Provides a Python-based interface for executing Thrift requests.
-#
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    09/20/10                      dgilling       Initial Creation.
-#
-#
-
-try:
-    import http.client as httpcl
-except ImportError:
-    import httplib as httpcl
-from dynamicserialize import DynamicSerializationManager
-
-
-
[docs]class ThriftClient: - - # How to call this constructor: - # 1. Pass in all arguments separately (e.g., - # ThriftClient.ThriftClient("localhost", 9581, "/services")) - # will return a Thrift client pointed at http://localhost:9581/services. - # 2. Pass in all arguments through the host string (e.g., - # ThriftClient.ThriftClient("localhost:9581/services")) - # will return a Thrift client pointed at http://localhost:9581/services. - # 3. Pass in host/port arguments through the host string (e.g., - # ThriftClient.ThriftClient("localhost:9581", "/services")) - # will return a Thrift client pointed at http://localhost:9581/services. - def __init__(self, host, port=9581, uri="/services"): - hostParts = host.split("/", 1) - if len(hostParts) > 1: - hostString = hostParts[0] - self.__uri = "/" + hostParts[1] - self.__httpConn = httpcl.HTTPConnection(hostString) - else: - if port is None: - self.__httpConn = httpcl.HTTPConnection(host) - else: - self.__httpConn = httpcl.HTTPConnection(host, port) - - self.__uri = uri - - self.__dsm = DynamicSerializationManager.DynamicSerializationManager() - -
[docs] def sendRequest(self, request, uri="/thrift"): - message = self.__dsm.serializeObject(request) - - self.__httpConn.connect() - self.__httpConn.request("POST", self.__uri + uri, message) - - response = self.__httpConn.getresponse() - if response.status != 200: - raise ThriftRequestException("Unable to post request to server") - - rval = self.__dsm.deserializeBytes(response.read()) - self.__httpConn.close() - - # let's verify we have an instance of ServerErrorResponse - # IF we do, through an exception up to the caller along - # with the original Java stack trace - # ELSE: we have a valid response and pass it back - try: - forceError = rval.getException() - raise ThriftRequestException(forceError) - except AttributeError: - pass - - return rval
- - -
[docs]class ThriftRequestException(Exception): - def __init__(self, value): - self.parameter = value - - def __str__(self): - return repr(self.parameter)
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/TimeUtil.html b/_modules/awips/TimeUtil.html deleted file mode 100644 index e7a7560..0000000 --- a/_modules/awips/TimeUtil.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - - - - awips.TimeUtil — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • awips.TimeUtil
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for awips.TimeUtil

-# ----------------------------------------------------------------------------
-# This software is in the public domain, furnished "as is", without technical
-# support, and with no warranty, express or implied, as to its usefulness for
-# any purpose.
-#
-# offsetTime.py
-# Handles Displaced Real Time for various applications
-#
-# Author: hansen/romberg
-# ----------------------------------------------------------------------------
-
-import string
-import time
-
-# Given the timeStr, return the offset (in seconds)
-# from the current time.
-# Also return the launchStr i.e. Programs launched from this
-# offset application will use the launchStr as the -z argument.
-# The offset will be positive for time in the future,
-# negative for time in the past.
-#
-# May still want it to be normalized to the most recent midnight.
-#
-# NOTES about synchronizing:
-# --With synchronizing on, the "current time" for all processes started
-#   within a given hour will be the same.
-#   This guarantees that GFE's have the same current time and ISC grid
-#   time stamps are syncrhonized and can be exchanged.
-#   Formatters launched from the GFE in this mode will be synchronized as
-#   well by setting the launchStr to use the time difference format
-#   (YYYYMMDD_HHMM,YYYYMMDD_HHMM).
-#   --This does not solve the problem in the general case.
-#     For example, if someone starts the GFE at 12:59 and someone
-#     else starts it at 1:01, they will have different offsets and
-#     current times.
-# --With synchronizing off, when the process starts, the current time
-#   matches the drtTime in the command line.  However, with synchronizing
-#   on, the current time will be offset by the fraction of the hour at
-#   which the process was started. Examples:
-#     Actual Starting time:             20040617_1230
-#     drtTime                           20040616_0000
-#     Synchronizing off:
-#        GFE Spatial Editor at StartUp: 20040616_0000
-#     Synchronizing on:
-#        GFE Spatial Editor at StartUp: 20040616_0030
-#
-
-
-
[docs]def determineDrtOffset(timeStr): - launchStr = timeStr - # Check for time difference - if timeStr.find(",") >= 0: - times = timeStr.split(",") - t1 = makeTime(times[0]) - t2 = makeTime(times[1]) - return t1-t2, launchStr - # Check for synchronized mode - synch = 0 - if timeStr[0] == "S": - timeStr = timeStr[1:] - synch = 1 - drt_t = makeTime(timeStr) - gm = time.gmtime() - cur_t = time.mktime(gm) - - # Synchronize to most recent hour - # i.e. "truncate" cur_t to most recent hour. - if synch: - cur_t = time.mktime((gm[0], gm[1], gm[2], gm[3], 0, 0, 0, 0, 0)) - curStr = '%4s%2s%2s_%2s00\n' % (repr(gm[0]), repr(gm[1]), - repr(gm[2]), repr(gm[3])) - curStr = curStr.replace(' ', '0') - launchStr = timeStr + "," + curStr - - offset = drt_t - cur_t - return int(offset), launchStr
- - -
[docs]def makeTime(timeStr): - year = string.atoi(timeStr[0:4]) - month = string.atoi(timeStr[4:6]) - day = string.atoi(timeStr[6:8]) - hour = string.atoi(timeStr[9:11]) - minute = string.atoi(timeStr[11:13]) - # Do not use daylight savings because gmtime is not in daylight - # savings time. - return time.mktime((year, month, day, hour, minute, 0, 0, 0, 0))
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/dataaccess.html b/_modules/awips/dataaccess.html deleted file mode 100644 index c9921cb..0000000 --- a/_modules/awips/dataaccess.html +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - - - - awips.dataaccess — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • awips.dataaccess
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for awips.dataaccess

-#
-# __init__.py for awips.dataaccess package
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    12/10/12                      njensen       Initial Creation.
-#    Feb 14, 2013    1614          bsteffen       refactor data access framework
-#                                                 to use single request.
-#    Apr 09, 2013    1871          njensen      Add doc strings
-#    Jun 03, 2013    2023          dgilling     Add getAttributes to IData, add
-#                                               getLatLonGrids() to IGridData.
-#    Aug 01, 2016    2416          tgurney      Add INotificationSubscriber
-#                                                 and INotificationFilter
-#
-#
-
-__all__ = [
-    'IData',
-    'IDataRequest',
-    'IGeometryData',
-    'IGridData',
-    'IGeometryData',
-    'INotificationFilter',
-    'INotificationSubscriber'
-]
-
-import abc
-from six import with_metaclass
-
-
-
[docs]class IDataRequest(with_metaclass(abc.ABCMeta, object)): - """ - An IDataRequest to be submitted to the DataAccessLayer to retrieve data. - """ - -
[docs] @abc.abstractmethod - def setDatatype(self, datatype): - """ - Sets the datatype of the request. - - Args: - datatype: A string of the datatype, such as "grid", "radar", "gfe", "obs" - """ - return
- -
[docs] @abc.abstractmethod - def addIdentifier(self, key, value): - """ - Adds an identifier to the request. Identifiers are specific to the - datatype being requested. - - Args: - key: the string key of the identifier - value: the value of the identifier - """ - return
- -
[docs] @abc.abstractmethod - def setParameters(self, params): - """ - Sets the parameters of data to request. - - Args: - params: a list of strings of parameters to request - """ - return
- -
[docs] @abc.abstractmethod - def setLevels(self, levels): - """ - Sets the levels of data to request. Not all datatypes support levels. - - Args: - levels: a list of strings of level abbreviations to request - """ - return
- -
[docs] @abc.abstractmethod - def setEnvelope(self, env): - """ - Sets the envelope of the request. If supported by the datatype factory, - the data returned for the request will be constrained to only the data - within the envelope. - - Args: - env: a shapely geometry - """ - return
- -
[docs] @abc.abstractmethod - def setLocationNames(self, locationNames): - """ - Sets the location names of the request. - - Args: - locationNames: a list of strings of location names to request - """ - return
- -
[docs] @abc.abstractmethod - def getDatatype(self): - """ - Gets the datatype of the request - - Returns: - the datatype set on the request - """ - return
- -
[docs] @abc.abstractmethod - def getIdentifiers(self): - """ - Gets the identifiers on the request - - Returns: - a dictionary of the identifiers - """ - return
- -
[docs] @abc.abstractmethod - def getLevels(self): - """ - Gets the levels on the request - - Returns: - a list of strings of the levels - """ - return
- -
[docs] @abc.abstractmethod - def getLocationNames(self): - """ - Gets the location names on the request - - Returns: - a list of strings of the location names - """ - return
- -
[docs] @abc.abstractmethod - def getEnvelope(self): - """ - Gets the envelope on the request - - Returns: - a rectangular shapely geometry - """ - return
- - -class IData(with_metaclass(abc.ABCMeta, object)): - """ - An IData representing data returned from the DataAccessLayer. - """ - - @abc.abstractmethod - def getAttribute(self, key): - """ - Gets an attribute of the data. - - Args: - key: the key of the attribute - - Returns: - the value of the attribute - """ - return - - @abc.abstractmethod - def getAttributes(self): - """ - Gets the valid attributes for the data. - - Returns: - a list of strings of the attribute names - """ - return - - @abc.abstractmethod - def getDataTime(self): - """ - Gets the data time of the data. - - Returns: - the data time of the data, or None if no time is associated - """ - return - - @abc.abstractmethod - def getLevel(self): - """ - Gets the level of the data. - - Returns: - the level of the data, or None if no level is associated - """ - return - - @abc.abstractmethod - def getLocationName(self, param): - """ - Gets the location name of the data. - - Returns: - the location name of the data, or None if no location name is - associated - """ - return - - -class IGridData(IData): - """ - An IData representing grid data that is returned by the DataAccessLayer. - """ - - @abc.abstractmethod - def getParameter(self): - """ - Gets the parameter of the data. - - Returns: - the parameter of the data - """ - return - - @abc.abstractmethod - def getUnit(self): - """ - Gets the unit of the data. - - Returns: - the string abbreviation of the unit, or None if no unit is associated - """ - return - - @abc.abstractmethod - def getRawData(self): - """ - Gets the grid data as a numpy array. - - Returns: - a numpy array of the data - """ - return - - @abc.abstractmethod - def getLatLonCoords(self): - """ - Gets the lat/lon coordinates of the grid data. - - Returns: - a tuple where the first element is a numpy array of lons, and the - second element is a numpy array of lats - """ - return - - -class IGeometryData(IData): - """ - An IData representing geometry data that is returned by the DataAccessLayer. - """ - - @abc.abstractmethod - def getGeometry(self): - """ - Gets the geometry of the data. - - Returns: - a shapely geometry - """ - return - - @abc.abstractmethod - def getParameters(self): - """Gets the parameters of the data. - - Returns: - a list of strings of the parameter names - """ - return - - @abc.abstractmethod - def getString(self, param): - """ - Gets the string value of the specified param. - - Args: - param: the string name of the param - - Returns: - the string value of the param - """ - return - - @abc.abstractmethod - def getNumber(self, param): - """ - Gets the number value of the specified param. - - Args: - param: the string name of the param - - Returns: - the number value of the param - """ - return - - @abc.abstractmethod - def getUnit(self, param): - """ - Gets the unit of the specified param. - - Args: - param: the string name of the param - - Returns: - the string abbreviation of the unit of the param - """ - return - - @abc.abstractmethod - def getType(self, param): - """ - Gets the type of the param. - - Args: - param: the string name of the param - - Returns: - a string of the type of the parameter, such as - "STRING", "INT", "LONG", "FLOAT", or "DOUBLE" - """ - return - - -class INotificationSubscriber(with_metaclass(abc.ABCMeta, object)): - """ - An INotificationSubscriber representing a notification filter returned from - the DataNotificationLayer. - """ - - @abc.abstractmethod - def subscribe(self, callback): - """ - Subscribes to the requested data. Method will not return until close is - called in a separate thread. - - Args: - callback: the method to call with the IGridData/IGeometryData - - """ - pass - - @abc.abstractmethod - def close(self): - """Closes the notification subscriber""" - pass - - -class INotificationFilter(with_metaclass(abc.ABCMeta, object)): - """ - Represents data required to filter a set of URIs and - return a corresponding list of IDataRequest to retrieve data for. - """ - @abc.abstractmethod - def accept(dataUri): - pass -
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/dataaccess/CombinedTimeQuery.html b/_modules/awips/dataaccess/CombinedTimeQuery.html deleted file mode 100644 index 6de050d..0000000 --- a/_modules/awips/dataaccess/CombinedTimeQuery.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - awips.dataaccess.CombinedTimeQuery — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- - - - -
-
-
-
- -

Source code for awips.dataaccess.CombinedTimeQuery

-#
-# Method for performing a DAF time query where all parameter/level/location
-# combinations must be available at the same time.
-#
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    06/22/16         #5591        bsteffen       Initial Creation.
-#
-
-from awips.dataaccess import DataAccessLayer
-
-
-
[docs]def getAvailableTimes(request, refTimeOnly=False): - return __getAvailableTimesForEachParameter(request, refTimeOnly)
- - -def __getAvailableTimesForEachParameter(request, refTimeOnly=False): - parameters = request.getParameters() - if parameters: - times = None - for parameter in parameters: - specificRequest = __cloneRequest(request) - specificRequest.setParameters(parameter) - specificTimes = __getAvailableTimesForEachLevel(specificRequest, refTimeOnly) - if times is None: - times = specificTimes - else: - times.intersection_update(specificTimes) - if not times: - break - return times - else: - return __getAvailableTimesForEachLevel(request, refTimeOnly) - - -def __getAvailableTimesForEachLevel(request, refTimeOnly=False): - levels = request.getLevels() - if levels: - times = None - for level in levels: - specificRequest = __cloneRequest(request) - specificRequest.setLevels(level) - specificTimes = __getAvailableTimesForEachLocation(specificRequest, refTimeOnly) - if times is None: - times = specificTimes - else: - times.intersection_update(specificTimes) - if not times: - break - return times - else: - return __getAvailableTimesForEachLocation(request, refTimeOnly) - - -def __getAvailableTimesForEachLocation(request, refTimeOnly=False): - locations = request.getLocationNames() - if locations: - times = None - for location in locations: - specificRequest = __cloneRequest(request) - specificRequest.setLocationNames(location) - specificTimes = DataAccessLayer.getAvailableTimes(specificRequest, refTimeOnly) - if times is None: - times = set(specificTimes) - else: - times.intersection_update(specificTimes) - if not times: - break - return times - else: - return DataAccessLayer.getAvailableTimes(request, refTimeOnly) - - -def __cloneRequest(request): - return DataAccessLayer.newDataRequest(datatype=request.getDatatype(), - parameters=request.getParameters(), - levels=request.getLevels(), - locationNames=request.getLocationNames(), - envelope=request.getEnvelope(), - **request.getIdentifiers()) -
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/dataaccess/DataAccessLayer.html b/_modules/awips/dataaccess/DataAccessLayer.html deleted file mode 100644 index 1b60373..0000000 --- a/_modules/awips/dataaccess/DataAccessLayer.html +++ /dev/null @@ -1,601 +0,0 @@ - - - - - - - - - - awips.dataaccess.DataAccessLayer — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- - - - -
-
-
-
- -

Source code for awips.dataaccess.DataAccessLayer

-#
-# Published interface for awips.dataaccess package
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date           Ticket#  Engineer    Description
-#    ------------   -------  ----------  -------------------------
-#    12/10/12                njensen     Initial Creation.
-#    Feb 14, 2013   1614     bsteffen    refactor data access framework to use single request.
-#    04/10/13       1871     mnash       move getLatLonCoords to JGridData and add default args
-#    05/29/13       2023     dgilling    Hook up ThriftClientRouter.
-#    03/03/14       2673     bsteffen    Add ability to query only ref times.
-#    07/22/14       3185     njensen     Added optional/default args to newDataRequest
-#    07/30/14       3185     njensen     Renamed valid identifiers to optional
-#    Apr 26, 2015   4259     njensen     Updated for new JEP API
-#    Apr 13, 2016   5379     tgurney     Add getIdentifierValues(), getRequiredIdentifiers(),
-#                                        and getOptionalIdentifiers()
-#    Oct 07, 2016   ----     mjames@ucar Added getForecastRun
-#    Oct 18, 2016   5916     bsteffen    Add setLazyLoadGridLatLon
-#    Oct 11, 2018   ----     mjames@ucar Added getMetarObs() getSynopticObs()
-#
-
-import sys
-import warnings
-
-THRIFT_HOST = "edex"
-
-USING_NATIVE_THRIFT = False
-
-if 'jep' in sys.modules:
-    # intentionally do not catch if this fails to import, we want it to
-    # be obvious that something is configured wrong when running from within
-    # Java instead of allowing false confidence and fallback behavior
-    import JepRouter
-    router = JepRouter
-else:
-    from awips.dataaccess import ThriftClientRouter
-    router = ThriftClientRouter.ThriftClientRouter(THRIFT_HOST)
-    USING_NATIVE_THRIFT = True
-
-
-
[docs]def getRadarProductIDs(availableParms): - """ - Get only the numeric idetifiers for NEXRAD3 products. - - Args: - availableParms: Full list of radar parameters - - Returns: - List of filtered parameters - """ - productIDs = [] - for p in list(availableParms): - try: - if isinstance(int(p), int): - productIDs.append(str(p)) - except ValueError: - pass - - return productIDs
- - -
[docs]def getRadarProductNames(availableParms): - """ - Get only the named idetifiers for NEXRAD3 products. - - Args: - availableParms: Full list of radar parameters - - Returns: - List of filtered parameters - """ - productNames = [] - for p in list(availableParms): - if len(p) > 3: - productNames.append(p) - - return productNames
- - -
[docs]def getMetarObs(response): - """ - Processes a DataAccessLayer "obs" response into a dictionary, - with special consideration for multi-value parameters - "presWeather", "skyCover", and "skyLayerBase". - - Args: - response: DAL getGeometry() list - - Returns: - A dictionary of METAR obs - """ - from datetime import datetime - single_val_params = ["timeObs", "stationName", "longitude", "latitude", - "temperature", "dewpoint", "windDir", - "windSpeed", "seaLevelPress"] - multi_val_params = ["presWeather", "skyCover", "skyLayerBase"] - params = single_val_params + multi_val_params - station_names, pres_weather, sky_cov, sky_layer_base = [], [], [], [] - obs = dict({params: [] for params in params}) - for ob in response: - avail_params = ob.getParameters() - if "presWeather" in avail_params: - pres_weather.append(ob.getString("presWeather")) - elif "skyCover" in avail_params and "skyLayerBase" in avail_params: - sky_cov.append(ob.getString("skyCover")) - sky_layer_base.append(ob.getNumber("skyLayerBase")) - else: - # If we already have a record for this stationName, skip - if ob.getString('stationName') not in station_names: - station_names.append(ob.getString('stationName')) - for param in single_val_params: - if param in avail_params: - if param == 'timeObs': - obs[param].append(datetime.fromtimestamp(ob.getNumber(param) / 1000.0)) - else: - try: - obs[param].append(ob.getNumber(param)) - except TypeError: - obs[param].append(ob.getString(param)) - else: - obs[param].append(None) - - obs['presWeather'].append(pres_weather) - obs['skyCover'].append(sky_cov) - obs['skyLayerBase'].append(sky_layer_base) - pres_weather = [] - sky_cov = [] - sky_layer_base = [] - return obs
- - -
[docs]def getSynopticObs(response): - """ - Processes a DataAccessLayer "sfcobs" response into a dictionary - of available parameters. - - Args: - response: DAL getGeometry() list - - Returns: - A dictionary of synop obs - """ - from datetime import datetime - station_names = [] - params = response[0].getParameters() - sfcobs = dict({params: [] for params in params}) - for sfcob in response: - # If we already have a record for this stationId, skip - if sfcob.getString('stationId') not in station_names: - station_names.append(sfcob.getString('stationId')) - for param in params: - if param == 'timeObs': - sfcobs[param].append(datetime.fromtimestamp(sfcob.getNumber(param) / 1000.0)) - else: - try: - sfcobs[param].append(sfcob.getNumber(param)) - except TypeError: - sfcobs[param].append(sfcob.getString(param)) - - return sfcobs
- - -
[docs]def getForecastRun(cycle, times): - """ - Get the latest forecast run (list of objects) from all - all cycles and times returned from DataAccessLayer "grid" - response. - - Args: - cycle: Forecast cycle reference time - times: All available times/cycles - - Returns: - DataTime array for a single forecast run - """ - fcstRun = [] - for t in times: - if str(t)[:19] == str(cycle): - fcstRun.append(t) - return fcstRun
- - -
[docs]def getAvailableTimes(request, refTimeOnly=False): - """ - Get the times of available data to the request. - - Args: - request: the IDataRequest to get data for - refTimeOnly: optional, use True if only unique refTimes should be - returned (without a forecastHr) - - Returns: - a list of DataTimes - """ - return router.getAvailableTimes(request, refTimeOnly)
- - -
[docs]def getGridData(request, times=[]): - """ - Gets the grid data that matches the request at the specified times. Each - combination of parameter, level, and dataTime will be returned as a - separate IGridData. - - Args: - request: the IDataRequest to get data for - times: a list of DataTimes, a TimeRange, or None if the data is time - agnostic - - Returns: - a list of IGridData - """ - return router.getGridData(request, times)
- - -
[docs]def getGeometryData(request, times=[]): - """ - Gets the geometry data that matches the request at the specified times. - Each combination of geometry, level, and dataTime will be returned as a - separate IGeometryData. - - Args: - request: the IDataRequest to get data for - times: a list of DataTimes, a TimeRange, or None if the data is time - agnostic - - Returns: - a list of IGeometryData - """ - return router.getGeometryData(request, times)
- - -
[docs]def getAvailableLocationNames(request): - """ - Gets the available location names that match the request without actually - requesting the data. - - Args: - request: the request to find matching location names for - - Returns: - a list of strings of available location names. - """ - return router.getAvailableLocationNames(request)
- - -
[docs]def getAvailableParameters(request): - """ - Gets the available parameters names that match the request without actually - requesting the data. - - Args: - request: the request to find matching parameter names for - - Returns: - a list of strings of available parameter names. - """ - return router.getAvailableParameters(request)
- - -
[docs]def getAvailableLevels(request): - """ - Gets the available levels that match the request without actually - requesting the data. - - Args: - request: the request to find matching levels for - - Returns: - a list of strings of available levels. - """ - return router.getAvailableLevels(request)
- - -
[docs]def getRequiredIdentifiers(request): - """ - Gets the required identifiers for this request. These identifiers - must be set on a request for the request of this datatype to succeed. - - Args: - request: the request to find required identifiers for - - Returns: - a list of strings of required identifiers - """ - if str(request) == request: - warnings.warn("Use getRequiredIdentifiers(IDataRequest) instead", - DeprecationWarning) - return router.getRequiredIdentifiers(request)
- - -
[docs]def getOptionalIdentifiers(request): - """ - Gets the optional identifiers for this request. - - Args: - request: the request to find optional identifiers for - - Returns: - a list of strings of optional identifiers - """ - if str(request) == request: - warnings.warn("Use getOptionalIdentifiers(IDataRequest) instead", - DeprecationWarning) - return router.getOptionalIdentifiers(request)
- - -
[docs]def getIdentifierValues(request, identifierKey): - """ - Gets the allowed values for a particular identifier on this datatype. - - Args: - request: the request to find identifier values for - identifierKey: the identifier to find values for - - Returns: - a list of strings of allowed values for the specified identifier - """ - return router.getIdentifierValues(request, identifierKey)
- - -
[docs]def newDataRequest(datatype=None, **kwargs): - """ - Creates a new instance of IDataRequest suitable for the runtime environment. - All args are optional and exist solely for convenience. - - Args: - datatype: the datatype to create a request for - parameters: a list of parameters to set on the request - levels: a list of levels to set on the request - locationNames: a list of locationNames to set on the request - envelope: an envelope to limit the request - kwargs: any leftover kwargs will be set as identifiers - - Returns: - a new IDataRequest - """ - return router.newDataRequest(datatype, **kwargs)
- - -
[docs]def getSupportedDatatypes(): - """ - Gets the datatypes that are supported by the framework - - Returns: - a list of strings of supported datatypes - """ - return router.getSupportedDatatypes()
- - -
[docs]def changeEDEXHost(newHostName): - """ - Changes the EDEX host the Data Access Framework is communicating with. Only - works if using the native Python client implementation, otherwise, this - method will throw a TypeError. - - Args: - newHostName: the EDEX host to connect to - """ - if USING_NATIVE_THRIFT: - global THRIFT_HOST - THRIFT_HOST = newHostName - global router - router = ThriftClientRouter.ThriftClientRouter(THRIFT_HOST) - else: - raise TypeError("Cannot call changeEDEXHost when using JepRouter.")
- - -
[docs]def setLazyLoadGridLatLon(lazyLoadGridLatLon): - """ - Provide a hint to the Data Access Framework indicating whether to load the - lat/lon data for a grid immediately or wait until it is needed. This is - provided as a performance tuning hint and should not affect the way the - Data Access Framework is used. Depending on the internal implementation of - the Data Access Framework this hint might be ignored. Examples of when this - should be set to True are when the lat/lon information is not used or when - it is used only if certain conditions within the data are met. It could be - set to False if it is guaranteed that all lat/lon information is needed and - it would be better to get any performance overhead for generating the - lat/lon data out of the way during the initial request. - - - Args: - lazyLoadGridLatLon: Boolean value indicating whether to lazy load. - """ - try: - router.setLazyLoadGridLatLon(lazyLoadGridLatLon) - except AttributeError: - # The router is not required to support this capability. - pass
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/dataaccess/ModelSounding.html b/_modules/awips/dataaccess/ModelSounding.html deleted file mode 100644 index 7c67749..0000000 --- a/_modules/awips/dataaccess/ModelSounding.html +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - - - - awips.dataaccess.ModelSounding — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- - - - -
-
-
-
- -

Source code for awips.dataaccess.ModelSounding

-#
-# Classes for retrieving soundings based on gridded data from the Data Access
-# Framework
-#
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    06/24/15         #4480        dgilling       Initial Creation.
-#
-
-from awips.dataaccess import DataAccessLayer
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.level import Level
-from shapely.geometry import Point
-
-
-
[docs]def getSounding(modelName, weatherElements, levels, samplePoint, timeRange=None): - """ - Performs a series of Data Access Framework requests to retrieve a sounding object - based on the specified request parameters. - - Args: - modelName: the grid model datasetid to use as the basis of the sounding. - weatherElements: a list of parameters to return in the sounding. - levels: a list of levels to sample the given weather elements at - samplePoint: a lat/lon pair to perform the sampling of data at. - timeRange: (optional) a list of times, or a TimeRange to specify - which forecast hours to use. If not specified, will default to all forecast hours. - - Returns: - A _SoundingCube instance, which acts a 3-tiered dictionary, keyed - by DataTime, then by level and finally by weather element. If no - data is available for the given request parameters, None is returned. - - """ - - (locationNames, parameters, levels, envelope, timeRange) = \ - __sanitizeInputs(modelName, weatherElements, levels, samplePoint, timeRange) - - requestArgs = {'datatype': 'grid', 'locationNames': locationNames, - 'parameters': parameters, 'levels': levels, 'envelope': envelope} - - req = DataAccessLayer.newDataRequest(**requestArgs) - response = DataAccessLayer.getGeometryData(req, timeRange) - soundingObject = _SoundingCube(response) - - return soundingObject
- - -
[docs]def changeEDEXHost(host): - """ - Changes the EDEX host the Data Access Framework is communicating with. - - Args: - host: the EDEX host to connect to - """ - - if host: - DataAccessLayer.changeEDEXHost(str(host))
- - -def __sanitizeInputs(modelName, weatherElements, levels, samplePoint, timeRange): - locationNames = [str(modelName)] - parameters = __buildStringList(weatherElements) - levels = __buildStringList(levels) - envelope = Point(samplePoint) - return locationNames, parameters, levels, envelope, timeRange - - -def __buildStringList(param): - if __notStringIter(param): - return [str(item) for item in param] - else: - return [str(param)] - - -def __notStringIter(iterable): - if not isinstance(iterable, str): - try: - iter(iterable) - return True - except TypeError: - return False - - -class _SoundingCube(object): - """ - The top-level sounding object returned when calling ModelSounding.getSounding. - - This object acts as a 3-tiered dict which is keyed by time then level - then parameter name. Calling times() will return all valid keys into this - object. - """ - - def __init__(self, geometryDataObjects): - self._dataDict = {} - self._sortedTimes = [] - if geometryDataObjects: - for geometryData in geometryDataObjects: - dataTime = geometryData.getDataTime() - level = geometryData.getLevel() - for parameter in geometryData.getParameters(): - self.__addItem(parameter, dataTime, level, geometryData.getNumber(parameter)) - - def __addItem(self, parameter, dataTime, level, value): - timeLayer = self._dataDict.get(dataTime, _SoundingTimeLayer(dataTime)) - self._dataDict[dataTime] = timeLayer - timeLayer._addItem(parameter, level, value) - if dataTime not in self._sortedTimes: - self._sortedTimes.append(dataTime) - self._sortedTimes.sort() - - def __getitem__(self, key): - return self._dataDict[key] - - def __len__(self): - return len(self._dataDict) - - def times(self): - """ - Returns the valid times for this sounding. - - Returns: - A list containing the valid DataTimes for this sounding in order. - """ - return self._sortedTimes - - -class _SoundingTimeLayer(object): - """ - The second-level sounding object returned when calling ModelSounding.getSounding. - - This object acts as a 2-tiered dict which is keyed by level then parameter - name. Calling levels() will return all valid keys into this - object. Calling time() will return the DataTime for this particular layer. - """ - - def __init__(self, dataTime): - self._dataTime = dataTime - self._dataDict = {} - - def _addItem(self, parameter, level, value): - asString = str(level) - levelLayer = self._dataDict.get(asString, _SoundingTimeAndLevelLayer(self._dataTime, asString)) - levelLayer._addItem(parameter, value) - self._dataDict[asString] = levelLayer - - def __getitem__(self, key): - asString = str(key) - if asString in self._dataDict: - return self._dataDict[asString] - else: - raise KeyError("Level " + str(key) + " is not a valid level for this sounding.") - - def __len__(self): - return len(self._dataDict) - - def time(self): - """ - Returns the DataTime for this sounding cube layer. - - Returns: - The DataTime for this sounding layer. - """ - return self._dataTime - - def levels(self): - """ - Returns the valid levels for this sounding. - - Returns: - A list containing the valid levels for this sounding in order of - closest to surface to highest from surface. - """ - sortedLevels = [Level(level) for level in list(self._dataDict.keys())] - sortedLevels.sort() - return [str(level) for level in sortedLevels] - - -class _SoundingTimeAndLevelLayer(object): - """ - The bottom-level sounding object returned when calling ModelSounding.getSounding. - - This object acts as a dict which is keyed by parameter name. Calling - parameters() will return all valid keys into this object. Calling time() - will return the DataTime for this particular layer. Calling level() will - return the level for this layer. - """ - - def __init__(self, time, level): - self._time = time - self._level = level - self._parameters = {} - - def _addItem(self, parameter, value): - self._parameters[parameter] = value - - def __getitem__(self, key): - return self._parameters[key] - - def __len__(self): - return len(self._parameters) - - def level(self): - """ - Returns the level for this sounding cube layer. - - Returns: - The level for this sounding layer. - """ - return self._level - - def parameters(self): - """ - Returns the valid parameters for this sounding. - - Returns: - A list containing the valid parameter names. - """ - return list(self._parameters.keys()) - - def time(self): - """ - Returns the DataTime for this sounding cube layer. - - Returns: - The DataTime for this sounding layer. - """ - return self._time -
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/dataaccess/PyData.html b/_modules/awips/dataaccess/PyData.html deleted file mode 100644 index 408841a..0000000 --- a/_modules/awips/dataaccess/PyData.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - - - - awips.dataaccess.PyData — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- - - - -
-
-
-
- -

Source code for awips.dataaccess.PyData

-#
-# Implements IData for use by native Python clients to the Data Access
-# Framework.
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    06/03/13                      dgilling      Initial Creation.
-#    10/05/18                      mjames@ucar   Encode/decode attribute names.
-#
-#
-
-from awips.dataaccess import IData
-import six
-
-
-
[docs]class PyData(IData): - - def __init__(self, dataRecord): - self.__time = dataRecord.getTime() - self.__level = dataRecord.getLevel() - self.__locationName = dataRecord.getLocationName() - self.__attributes = dataRecord.getAttributes() - -
[docs] def getAttribute(self, key): - return self.__attributes[key]
- -
[docs] def getAttributes(self): - return self.__attributes.keys()
- -
[docs] def getDataTime(self): - return self.__time
- -
[docs] def getLevel(self): - if six.PY2: - return self.__level - if not isinstance(self.__level, str): - return self.__level.decode('utf-8') - return self.__level
- -
[docs] def getLocationName(self): - return self.__locationName
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/dataaccess/PyGeometryData.html b/_modules/awips/dataaccess/PyGeometryData.html deleted file mode 100644 index cc57e31..0000000 --- a/_modules/awips/dataaccess/PyGeometryData.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - awips.dataaccess.PyGeometryData — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- - - - -
-
-
-
- -

Source code for awips.dataaccess.PyGeometryData

-#
-# Implements IGeometryData for use by native Python clients to the Data Access
-# Framework.
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    06/03/13                      dgilling       Initial Creation.
-#    01/06/14        2537          bsteffen       Share geometry WKT.
-#    03/19/14        2882          dgilling       Raise an exception when getNumber()
-#                                                 is called for data that is not a
-#                                                 numeric Type.
-#    06/09/16        5574          mapeters       Handle 'SHORT' type in getNumber().
-#    10/05/18                      mjames@ucar    Encode/decode string, number val, and type
-#
-#
-
-from awips.dataaccess import IGeometryData
-from awips.dataaccess import PyData
-import six
-
-
-
[docs]class PyGeometryData(IGeometryData, PyData.PyData): - - def __init__(self, geoDataRecord, geometry): - PyData.PyData.__init__(self, geoDataRecord) - self.__geometry = geometry - self.__dataMap = {} - tempDataMap = geoDataRecord.getDataMap() - for key, value in list(tempDataMap.items()): - self.__dataMap[key] = (value[0], value[1], value[2]) - -
[docs] def getGeometry(self): - return self.__geometry
- -
[docs] def getParameters(self): - if six.PY2: - return list(self.__dataMap.keys()) - else: - return [x.decode('utf-8') for x in list(self.__dataMap.keys())]
- -
[docs] def getString(self, param): - if six.PY2: - return self.__dataMap[param][0] - value = self.__dataMap[param.encode('utf-8')][0] - if isinstance(value, bytes): - return str(value.decode('utf-8')) - return str(value)
- -
[docs] def getNumber(self, param): - t = self.getType(param) - if six.PY2: - value = self.__dataMap[param][0] - else: - value = self.__dataMap[param.encode('utf-8')][0] - if t == 'INT' or t == 'SHORT' or t == 'LONG': - return int(value) - elif t == 'FLOAT': - return float(value) - elif t == 'DOUBLE': - return float(value) - else: - raise TypeError("Data for parameter " + param + " is not a numeric type.")
- -
[docs] def getUnit(self, param): - if six.PY2: - return self.__dataMap[param][2] - unit = self.__dataMap[param.encode('utf-8')][2] - if unit is not None: - return unit.decode('utf-8') - return unit
- -
[docs] def getType(self, param): - if six.PY2: - return self.__dataMap[param][1] - datatype = self.__dataMap[param.encode('utf-8')][1] - if datatype is not None: - return datatype.decode('utf-8') - return datatype
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/dataaccess/PyGridData.html b/_modules/awips/dataaccess/PyGridData.html deleted file mode 100644 index 70c9c76..0000000 --- a/_modules/awips/dataaccess/PyGridData.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - - - - awips.dataaccess.PyGridData — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- - - - -
-
-
-
- -

Source code for awips.dataaccess.PyGridData

-#
-# Implements IGridData for use by native Python clients to the Data Access
-# Framework.
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    06/03/13         #2023        dgilling      Initial Creation.
-#    10/13/16         #5916        bsteffen      Correct grid shape, allow lat/lon
-#    11/10/16         #5900        bsteffen      Correct grid shape
-#                                                to be requested by a delegate
-#
-#
-
-import numpy
-import warnings
-import six
-
-from awips.dataaccess import IGridData
-from awips.dataaccess import PyData
-
-NO_UNIT_CONVERT_WARNING = """
-The ability to unit convert grid data is not currently available in this version of the Data Access Framework.
-"""
-
-
-
[docs]class PyGridData(IGridData, PyData.PyData): - - def __init__(self, gridDataRecord, nx, ny, latLonGrid=None, latLonDelegate=None): - PyData.PyData.__init__(self, gridDataRecord) - nx = nx - ny = ny - self.__parameter = gridDataRecord.getParameter() - self.__unit = gridDataRecord.getUnit() - self.__gridData = numpy.reshape(numpy.array(gridDataRecord.getGridData()), (ny, nx)) - self.__latLonGrid = latLonGrid - self.__latLonDelegate = latLonDelegate - -
[docs] def getParameter(self): - return self.__parameter
- -
[docs] def getUnit(self): - if six.PY2: - return self.__unit - if self.__unit is not None and not isinstance(self.__unit, str): - return self.__unit.decode('utf-8') - return self.__unit
- -
[docs] def getRawData(self, unit=None): - # TODO: Find a proper python library that deals will with numpy and - # javax.measure style unit strings and hook it in to this method to - # allow end-users to perform unit conversion for grid data. - if unit is not None: - warnings.warn(NO_UNIT_CONVERT_WARNING, stacklevel=2) - return self.__gridData
- -
[docs] def getLatLonCoords(self): - if self.__latLonGrid is not None: - return self.__latLonGrid - elif self.__latLonDelegate is not None: - return self.__latLonDelegate() - return self.__latLonGrid
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/dataaccess/ThriftClientRouter.html b/_modules/awips/dataaccess/ThriftClientRouter.html deleted file mode 100644 index 6ee73f6..0000000 --- a/_modules/awips/dataaccess/ThriftClientRouter.html +++ /dev/null @@ -1,467 +0,0 @@ - - - - - - - - - - awips.dataaccess.ThriftClientRouter — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- - - - -
-
-
-
- -

Source code for awips.dataaccess.ThriftClientRouter

-#
-# Routes requests to the Data Access Framework through Python Thrift.
-#
-#
-#    SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    05/21/13        2023          dgilling       Initial Creation.
-#    01/06/14        2537          bsteffen       Share geometry WKT.
-#    03/03/14        2673          bsteffen       Add ability to query only ref times.
-#    07/22/14        3185          njensen        Added optional/default args to newDataRequest
-#    07/23/14        3185          njensen        Added new methods
-#    07/30/14        3185          njensen        Renamed valid identifiers to optional
-#    06/30/15        4569          nabowle        Use hex WKB for geometries.
-#    04/13/15        5379          tgurney        Add getIdentifierValues()
-#    06/01/16        5587          tgurney        Add new signatures for
-#                                                 getRequiredIdentifiers() and
-#                                                 getOptionalIdentifiers()
-#    08/01/16        2416          tgurney        Add getNotificationFilter()
-#    10/13/16        5916          bsteffen       Correct grid shape, allow lazy grid lat/lon
-#    10/26/16        5919          njensen        Speed up geometry creation in getGeometryData()
-#
-
-import numpy
-import six
-import shapely.wkb
-
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.impl import DefaultDataRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetAvailableLocationNamesRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetAvailableTimesRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetGeometryDataRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetGridDataRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetGridLatLonRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetAvailableParametersRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetAvailableLevelsRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetRequiredIdentifiersRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetOptionalIdentifiersRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetIdentifierValuesRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetSupportedDatatypesRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetNotificationFilterRequest
-
-from awips import ThriftClient
-from awips.dataaccess import PyGeometryData
-from awips.dataaccess import PyGridData
-
-
-
[docs]class LazyGridLatLon(object): - - def __init__(self, client, nx, ny, envelope, crsWkt): - self._latLonGrid = None - self._client = client - self._request = GetGridLatLonRequest() - self._request.setNx(nx) - self._request.setNy(ny) - self._request.setEnvelope(envelope) - self._request.setCrsWkt(crsWkt) - - def __call__(self): - # Its important that the data is cached internally so that if multiple - # GridData are sharing the same delegate then they can also share a - # single request for the LatLon information. - if self._latLonGrid is None: - response = self._client.sendRequest(self._request) - nx = response.getNx() - ny = response.getNy() - latData = numpy.reshape(numpy.array(response.getLats()), (ny, nx)) - lonData = numpy.reshape(numpy.array(response.getLons()), (ny, nx)) - self._latLonGrid = (lonData, latData) - return self._latLonGrid
- - -
[docs]class ThriftClientRouter(object): - - def __init__(self, host='localhost'): - self._client = ThriftClient.ThriftClient(host) - self._lazyLoadGridLatLon = False - -
[docs] def setLazyLoadGridLatLon(self, lazyLoadGridLatLon): - self._lazyLoadGridLatLon = lazyLoadGridLatLon
- -
[docs] def getAvailableTimes(self, request, refTimeOnly): - timesRequest = GetAvailableTimesRequest() - timesRequest.setRequestParameters(request) - timesRequest.setRefTimeOnly(refTimeOnly) - response = self._client.sendRequest(timesRequest) - return response
- -
[docs] def getGridData(self, request, times): - gridDataRequest = GetGridDataRequest() - gridDataRequest.setIncludeLatLonData(not self._lazyLoadGridLatLon) - gridDataRequest.setRequestParameters(request) - # if we have an iterable times instance, then the user must have asked - # for grid data with the List of DataTime objects - # else, we assume it was a single TimeRange that was meant for the - # request - try: - iter(times) - gridDataRequest.setRequestedTimes(times) - except TypeError: - gridDataRequest.setRequestedPeriod(times) - response = self._client.sendRequest(gridDataRequest) - - locSpecificData = {} - locNames = list(response.getSiteNxValues().keys()) - for location in locNames: - nx = response.getSiteNxValues()[location] - ny = response.getSiteNyValues()[location] - if self._lazyLoadGridLatLon: - envelope = response.getSiteEnvelopes()[location] - crsWkt = response.getSiteCrsWkt()[location] - delegate = LazyGridLatLon( - self._client, nx, ny, envelope, crsWkt) - locSpecificData[location] = (nx, ny, delegate) - else: - latData = numpy.reshape(numpy.array( - response.getSiteLatGrids()[location]), (ny, nx)) - lonData = numpy.reshape(numpy.array( - response.getSiteLonGrids()[location]), (ny, nx)) - locSpecificData[location] = (nx, ny, (lonData, latData)) - retVal = [] - for gridDataRecord in response.getGridData(): - locationName = gridDataRecord.getLocationName() - if locationName is not None: - if six.PY2: - locData = locSpecificData[locationName] - else: - locData = locSpecificData[locationName.encode('utf-8')] - else: - locData = locSpecificData[locationName] - if self._lazyLoadGridLatLon: - retVal.append(PyGridData.PyGridData(gridDataRecord, locData[ - 0], locData[1], latLonDelegate=locData[2])) - else: - retVal.append(PyGridData.PyGridData( - gridDataRecord, locData[0], locData[1], locData[2])) - return retVal
- -
[docs] def getGeometryData(self, request, times): - geoDataRequest = GetGeometryDataRequest() - geoDataRequest.setRequestParameters(request) - # if we have an iterable times instance, then the user must have asked - # for geometry data with the List of DataTime objects - # else, we assume it was a single TimeRange that was meant for the - # request - try: - iter(times) - geoDataRequest.setRequestedTimes(times) - except TypeError: - geoDataRequest.setRequestedPeriod(times) - response = self._client.sendRequest(geoDataRequest) - geometries = [] - for wkb in response.getGeometryWKBs(): - # the wkb is a numpy.ndarray of dtype int8 - # convert the bytearray to a byte string and load it - geometries.append(shapely.wkb.loads(wkb.tostring())) - - retVal = [] - for geoDataRecord in response.getGeoData(): - geom = geometries[geoDataRecord.getGeometryWKBindex()] - retVal.append(PyGeometryData.PyGeometryData(geoDataRecord, geom)) - return retVal
- -
[docs] def getAvailableLocationNames(self, request): - locNamesRequest = GetAvailableLocationNamesRequest() - locNamesRequest.setRequestParameters(request) - response = self._client.sendRequest(locNamesRequest) - if six.PY2: - return response - if response is not None: - return [x.decode('utf-8') for x in response] - return response
- -
[docs] def getAvailableParameters(self, request): - paramReq = GetAvailableParametersRequest() - paramReq.setRequestParameters(request) - response = self._client.sendRequest(paramReq) - if six.PY2: - return response - if response is not None: - return [x.decode('utf-8') for x in response] - return response
- -
[docs] def getAvailableLevels(self, request): - levelReq = GetAvailableLevelsRequest() - levelReq.setRequestParameters(request) - response = self._client.sendRequest(levelReq) - return response
- -
[docs] def getRequiredIdentifiers(self, request): - if str(request) == request: - # Handle old version getRequiredIdentifiers(str) - request = self.newDataRequest(request) - idReq = GetRequiredIdentifiersRequest() - idReq.setRequest(request) - response = self._client.sendRequest(idReq) - if six.PY2: - return response - if response is not None: - return [x.decode('utf-8') for x in response] - return response
- -
[docs] def getOptionalIdentifiers(self, request): - if str(request) == request: - # Handle old version getOptionalIdentifiers(str) - request = self.newDataRequest(request) - idReq = GetOptionalIdentifiersRequest() - idReq.setRequest(request) - response = self._client.sendRequest(idReq) - if six.PY2: - return response - if response is not None: - return [x.decode('utf-8') for x in response] - return response
- -
[docs] def getIdentifierValues(self, request, identifierKey): - idValReq = GetIdentifierValuesRequest() - idValReq.setIdentifierKey(identifierKey) - idValReq.setRequestParameters(request) - response = self._client.sendRequest(idValReq) - if six.PY2: - return response - if response is not None: - return [x.decode('utf-8') for x in response] - return response
- -
[docs] def newDataRequest(self, datatype, parameters=[], levels=[], locationNames=[], - envelope=None, **kwargs): - req = DefaultDataRequest() - if datatype: - req.setDatatype(datatype) - if parameters: - req.setParameters(*parameters) - if levels: - req.setLevels(*levels) - if locationNames: - req.setLocationNames(*locationNames) - if envelope: - req.setEnvelope(envelope) - if kwargs: - # any args leftover are assumed to be identifiers - req.identifiers = kwargs - return req
- -
[docs] def getSupportedDatatypes(self): - response = self._client.sendRequest(GetSupportedDatatypesRequest()) - if six.PY2: - return response - if response is not None: - return [x.decode('utf-8') for x in response] - return response
- -
[docs] def getNotificationFilter(self, request): - notifReq = GetNotificationFilterRequest() - notifReq.setRequestParameters(request) - response = self._client.sendRequest(notifReq) - return response
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/awips/gfe/IFPClient.html b/_modules/awips/gfe/IFPClient.html deleted file mode 100644 index 0016d90..0000000 --- a/_modules/awips/gfe/IFPClient.html +++ /dev/null @@ -1,360 +0,0 @@ - - - - - - - - - - awips.gfe.IFPClient — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • awips.gfe.IFPClient
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for awips.gfe.IFPClient

-#
-# Provides a Python-based interface for executing GFE requests.
-#
-#
-#     SOFTWARE HISTORY
-#
-#    Date            Ticket#       Engineer       Description
-#    ------------    ----------    -----------    --------------------------
-#    07/26/12                      dgilling       Initial Creation.
-#
-#
-
-from awips import ThriftClient
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.db.objects import DatabaseID
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.db.objects import ParmID
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import CommitGridsRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import GetGridInventoryRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import GetParmListRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import GetSelectTimeRangeRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.server.request import CommitGridRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.message import WsId
-from dynamicserialize.dstypes.com.raytheon.uf.common.site.requests import GetActiveSitesRequest
-from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.server.message import ServerResponse
-
-
-
[docs]class IFPClient(object): - def __init__(self, host, port, user, site=None, progName=None): - self.__thrift = ThriftClient.ThriftClient(host, port) - self.__wsId = WsId(userName=user, progName=progName) - # retrieve default site - if site is None: - sr = self.getSiteID() - if len(sr.getPayload()) > 0: - site = sr.getPayload()[0] - self.__siteId = site - -
[docs] def commitGrid(self, request): - if isinstance(request, CommitGridRequest): - return self.__commitGrid([request]) - elif self.__isHomogenousIterable(request, CommitGridRequest): - return self.__commitGrid([cgr for cgr in request]) - raise TypeError("Invalid type: " + str(type(request)) + - " for commitGrid(). Only accepts CommitGridRequest or lists of CommitGridRequest.")
- - def __commitGrid(self, requests): - ssr = ServerResponse() - request = CommitGridsRequest() - request.setCommits(requests) - sr = self.__makeRequest(request) - ssr.setMessages(sr.getMessages()) - return ssr - -
[docs] def getParmList(self, pid): - argType = type(pid) - if argType is DatabaseID: - return self.__getParmList([pid]) - elif self.__isHomogenousIterable(pid, DatabaseID): - return self.__getParmList([dbid for dbid in pid]) - raise TypeError("Invalid type: " + str(argType) + - " for getParmList(). Only accepts DatabaseID or lists of DatabaseID.")
- - def __getParmList(self, ids): - ssr = ServerResponse() - request = GetParmListRequest() - request.setDbIds(ids) - sr = self.__makeRequest(request) - ssr.setMessages(sr.getMessages()) - parmlist = sr.getPayload() if sr.getPayload() is not None else [] - ssr.setPayload(parmlist) - return ssr - - def __isHomogenousIterable(self, iterable, classType): - try: - iterator = iter(iterable) - for item in iterator: - if not isinstance(item, classType): - return False - except TypeError: - return False - return True - -
[docs] def getGridInventory(self, parmID): - if isinstance(parmID, ParmID): - sr = self.__getGridInventory([parmID]) - inventoryList = [] - try: - inventoryList = sr.getPayload()[parmID] - except KeyError: - # no-op, we've already default the TimeRange list to empty - pass - sr.setPayload(inventoryList) - return sr - elif self.__isHomogenousIterable(parmID, ParmID): - return self.__getGridInventory([pid for pid in parmID]) - raise TypeError("Invalid type: " + str(type(parmID)) + - " specified to getGridInventory(). Accepts ParmID or lists of ParmID.")
- - def __getGridInventory(self, parmIDs): - ssr = ServerResponse() - request = GetGridInventoryRequest() - request.setParmIds(parmIDs) - sr = self.__makeRequest(request) - ssr.setMessages(sr.getMessages()) - trs = sr.getPayload() if sr.getPayload() is not None else {} - ssr.setPayload(trs) - return ssr - -
[docs] def getSelectTR(self, name): - request = GetSelectTimeRangeRequest() - request.setName(name) - sr = self.__makeRequest(request) - ssr = ServerResponse() - ssr.setMessages(sr.getMessages()) - ssr.setPayload(sr.getPayload()) - return ssr
- -
[docs] def getSiteID(self): - ssr = ServerResponse() - request = GetActiveSitesRequest() - sr = self.__makeRequest(request) - ssr.setMessages(sr.getMessages()) - ids = sr.getPayload() if sr.getPayload() is not None else [] - sr.setPayload(ids) - return sr
- - def __makeRequest(self, request): - try: - request.setSiteID(self.__siteId) - except AttributeError: - pass - try: - request.setWorkstationID(self.__wsId) - except AttributeError: - pass - - sr = ServerResponse() - response = None - try: - response = self.__thrift.sendRequest(request) - except ThriftClient.ThriftRequestException as e: - sr.setMessages([str(e)]) - try: - sr.setPayload(response.getPayload()) - except AttributeError: - sr.setPayload(response) - try: - sr.setMessages(response.getMessages()) - except AttributeError: - # not a server response, nothing else to do - pass - - return sr
-
- -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_modules/index.html b/_modules/index.html deleted file mode 100644 index fb9a3b1..0000000 --- a/_modules/index.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - - - - Overview: module code — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Overview: module code
  • - - -
  • - -
  • - -
- - -
-
- - -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/_sources/examples/generated/Grid_Levels_and_Parameters.rst.txt b/_sources/examples/generated/Grid_Levels_and_Parameters.rst.txt index aabf540..1ab8565 100644 --- a/_sources/examples/generated/Grid_Levels_and_Parameters.rst.txt +++ b/_sources/examples/generated/Grid_Levels_and_Parameters.rst.txt @@ -94,8 +94,9 @@ request all available grids with **getAvailableLocationNames()** 'FFG-TAR', 'FFG-TIR', 'FFG-TUA', - 'GEFS', - 'GFS', + 'FNMOC-NCODA', + 'FNMOC-WW3', + 'GFS1p0', 'GFS20', 'HFR-EAST_6KM', 'HFR-EAST_PR_6KM', @@ -125,7 +126,6 @@ request all available grids with **getAvailableLocationNames()** 'NAM12', 'NAM40', 'NOHRSC-SNOW', - 'NationalBlend', 'RAP13', 'RTMA', 'RTOFS-Now-WestAtl', @@ -136,7 +136,7 @@ request all available grids with **getAvailableLocationNames()** 'SeaIce', 'TPCWindProb', 'URMA25', - 'WaveWatch'] + 'navgem0p5'] @@ -702,6 +702,7 @@ Selecting **“T”** for temperature. 8000.0_9000.0FHAG 700.0_300.0LYRMB 850.0_700.0LYRMB + 1000.0_500.0LYRMB - **0.0SFC** is the Surface level @@ -741,28 +742,28 @@ DataAccessLayer.getAvailableTimes() .. parsed-literal:: - [, - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - ] + [, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ] @@ -788,72 +789,9 @@ it’s time to request the data array from EDEX. .. parsed-literal:: - Time : 2020-09-04 18:00:00 + Time : 2021-06-01 18:00:00 Model: RAP13 Parm : T Unit : K (337, 451) - -Plotting with Matplotlib and Cartopy ------------------------------------- - -**1. pcolormesh** - -.. code:: ipython3 - - %matplotlib inline - import matplotlib.pyplot as plt - import matplotlib - import cartopy.crs as ccrs - import cartopy.feature as cfeature - from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER - import numpy as np - import numpy.ma as ma - from scipy.io import loadmat - from scipy.constants import convert_temperature - def make_map(bbox, projection=ccrs.PlateCarree()): - fig, ax = plt.subplots(figsize=(16, 9), - subplot_kw=dict(projection=projection)) - ax.set_extent(bbox) - ax.coastlines(resolution='50m') - gl = ax.gridlines(draw_labels=True) - gl.top_labels = gl.right_labels = False - gl.xformatter = LONGITUDE_FORMATTER - gl.yformatter = LATITUDE_FORMATTER - return fig, ax - - #convert temp from K to F - dataf = convert_temperature(data, 'K', 'F') - - cmap = plt.get_cmap('rainbow') - bbox = [lons.min(), lons.max(), lats.min(), lats.max()] - fig, ax = make_map(bbox=bbox) - cs = ax.pcolormesh(lons, lats, dataf, cmap=cmap) - cbar = fig.colorbar(cs, extend='both', shrink=0.5, orientation='horizontal') - cbar.set_label(grid.getLocationName() +" " + grid.getLevel() + " " \ - + grid.getParameter() + " (F) " \ - + "valid " + str(grid.getDataTime().getRefTime())) - - - -.. image:: Grid_Levels_and_Parameters_files/Grid_Levels_and_Parameters_16_0.png - - -**2. contourf** - -.. code:: ipython3 - - fig2, ax2 = make_map(bbox=bbox) - cs2 = ax2.contourf(lons, lats, dataf, 80, cmap=cmap, - vmin=dataf.min(), vmax=dataf.max(), extend='both') - cbar2 = fig2.colorbar(cs2, shrink=0.5, orientation='horizontal') - cbar2.set_label(grid.getLocationName() +" " + grid.getLevel() + " " \ - + grid.getParameter() + " (F) " \ - + "valid " + str(grid.getDataTime().getRefTime())) - - - -.. image:: Grid_Levels_and_Parameters_files/Grid_Levels_and_Parameters_18_0.png - - diff --git a/_static/basic.css b/_static/basic.css index be19270..aa9df31 100644 --- a/_static/basic.css +++ b/_static/basic.css @@ -130,7 +130,7 @@ ul.search li a { font-weight: bold; } -ul.search li div.context { +ul.search li p.context { color: #888; margin: 2px 0 0 30px; text-align: left; @@ -277,25 +277,25 @@ p.rubric { font-weight: bold; } -img.align-left, .figure.align-left, object.align-left { +img.align-left, figure.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } -img.align-right, .figure.align-right, object.align-right { +img.align-right, figure.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } -img.align-center, .figure.align-center, object.align-center { +img.align-center, figure.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } -img.align-default, .figure.align-default { +img.align-default, figure.align-default, .figure.align-default { display: block; margin-left: auto; margin-right: auto; @@ -319,7 +319,8 @@ img.align-default, .figure.align-default { /* -- sidebars -------------------------------------------------------------- */ -div.sidebar { +div.sidebar, +aside.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; padding: 7px; @@ -377,12 +378,14 @@ div.body p.centered { /* -- content of sidebars/topics/admonitions -------------------------------- */ div.sidebar > :last-child, +aside.sidebar > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; } div.sidebar::after, +aside.sidebar::after, div.topic::after, div.admonition::after, blockquote::after { @@ -455,20 +458,22 @@ td > :last-child { /* -- figures --------------------------------------------------------------- */ -div.figure { +div.figure, figure { margin: 0.5em; padding: 0.5em; } -div.figure p.caption { +div.figure p.caption, figcaption { padding: 0.3em; } -div.figure p.caption span.caption-number { +div.figure p.caption span.caption-number, +figcaption span.caption-number { font-style: italic; } -div.figure p.caption span.caption-text { +div.figure p.caption span.caption-text, +figcaption span.caption-text { } /* -- field list styles ----------------------------------------------------- */ @@ -503,6 +508,63 @@ table.hlist td { vertical-align: top; } +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + /* -- other body styles ----------------------------------------------------- */ @@ -629,14 +691,6 @@ dl.glossary dt { font-size: 1.1em; } -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - .versionmodified { font-style: italic; } @@ -766,7 +820,11 @@ div.code-block-caption code { table.highlighttable td.linenos, span.linenos, div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ } div.code-block-caption span.caption-number { @@ -781,16 +839,6 @@ div.literal-block-wrapper { margin: 1em 0; } -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - code.xref, a code { background-color: transparent; font-weight: bold; diff --git a/_static/fonts/Inconsolata-Bold.ttf b/_static/fonts/Inconsolata-Bold.ttf new file mode 100644 index 0000000..809c1f5 Binary files /dev/null and b/_static/fonts/Inconsolata-Bold.ttf differ diff --git a/_static/fonts/Inconsolata-Regular.ttf b/_static/fonts/Inconsolata-Regular.ttf new file mode 100644 index 0000000..fc981ce Binary files /dev/null and b/_static/fonts/Inconsolata-Regular.ttf differ diff --git a/_static/fonts/Inconsolata.ttf b/_static/fonts/Inconsolata.ttf new file mode 100644 index 0000000..4b8a36d Binary files /dev/null and b/_static/fonts/Inconsolata.ttf differ diff --git a/_static/fonts/Lato-Bold.ttf b/_static/fonts/Lato-Bold.ttf new file mode 100644 index 0000000..1d23c70 Binary files /dev/null and b/_static/fonts/Lato-Bold.ttf differ diff --git a/_static/fonts/Lato-Regular.ttf b/_static/fonts/Lato-Regular.ttf new file mode 100644 index 0000000..0f3d0f8 Binary files /dev/null and b/_static/fonts/Lato-Regular.ttf differ diff --git a/_static/fonts/Lato/lato-bold.eot b/_static/fonts/Lato/lato-bold.eot new file mode 100644 index 0000000..3361183 Binary files /dev/null and b/_static/fonts/Lato/lato-bold.eot differ diff --git a/_static/fonts/Lato/lato-bold.ttf b/_static/fonts/Lato/lato-bold.ttf new file mode 100644 index 0000000..29f691d Binary files /dev/null and b/_static/fonts/Lato/lato-bold.ttf differ diff --git a/_static/fonts/Lato/lato-bold.woff b/_static/fonts/Lato/lato-bold.woff new file mode 100644 index 0000000..c6dff51 Binary files /dev/null and b/_static/fonts/Lato/lato-bold.woff differ diff --git a/_static/fonts/Lato/lato-bold.woff2 b/_static/fonts/Lato/lato-bold.woff2 new file mode 100644 index 0000000..bb19504 Binary files /dev/null and b/_static/fonts/Lato/lato-bold.woff2 differ diff --git a/_static/fonts/Lato/lato-bolditalic.eot b/_static/fonts/Lato/lato-bolditalic.eot new file mode 100644 index 0000000..3d41549 Binary files /dev/null and b/_static/fonts/Lato/lato-bolditalic.eot differ diff --git a/_static/fonts/Lato/lato-bolditalic.ttf b/_static/fonts/Lato/lato-bolditalic.ttf new file mode 100644 index 0000000..f402040 Binary files /dev/null and b/_static/fonts/Lato/lato-bolditalic.ttf differ diff --git a/_static/fonts/Lato/lato-bolditalic.woff b/_static/fonts/Lato/lato-bolditalic.woff new file mode 100644 index 0000000..88ad05b Binary files /dev/null and b/_static/fonts/Lato/lato-bolditalic.woff differ diff --git a/_static/fonts/Lato/lato-bolditalic.woff2 b/_static/fonts/Lato/lato-bolditalic.woff2 new file mode 100644 index 0000000..c4e3d80 Binary files /dev/null and b/_static/fonts/Lato/lato-bolditalic.woff2 differ diff --git a/_static/fonts/Lato/lato-italic.eot b/_static/fonts/Lato/lato-italic.eot new file mode 100644 index 0000000..3f82642 Binary files /dev/null and b/_static/fonts/Lato/lato-italic.eot differ diff --git a/_static/fonts/Lato/lato-italic.ttf b/_static/fonts/Lato/lato-italic.ttf new file mode 100644 index 0000000..b4bfc9b Binary files /dev/null and b/_static/fonts/Lato/lato-italic.ttf differ diff --git a/_static/fonts/Lato/lato-italic.woff b/_static/fonts/Lato/lato-italic.woff new file mode 100644 index 0000000..76114bc Binary files /dev/null and b/_static/fonts/Lato/lato-italic.woff differ diff --git a/_static/fonts/Lato/lato-italic.woff2 b/_static/fonts/Lato/lato-italic.woff2 new file mode 100644 index 0000000..3404f37 Binary files /dev/null and b/_static/fonts/Lato/lato-italic.woff2 differ diff --git a/_static/fonts/Lato/lato-regular.eot b/_static/fonts/Lato/lato-regular.eot new file mode 100644 index 0000000..11e3f2a Binary files /dev/null and b/_static/fonts/Lato/lato-regular.eot differ diff --git a/_static/fonts/Lato/lato-regular.ttf b/_static/fonts/Lato/lato-regular.ttf new file mode 100644 index 0000000..74decd9 Binary files /dev/null and b/_static/fonts/Lato/lato-regular.ttf differ diff --git a/_static/fonts/Lato/lato-regular.woff b/_static/fonts/Lato/lato-regular.woff new file mode 100644 index 0000000..ae1307f Binary files /dev/null and b/_static/fonts/Lato/lato-regular.woff differ diff --git a/_static/fonts/Lato/lato-regular.woff2 b/_static/fonts/Lato/lato-regular.woff2 new file mode 100644 index 0000000..3bf9843 Binary files /dev/null and b/_static/fonts/Lato/lato-regular.woff2 differ diff --git a/_static/fonts/RobotoSlab-Bold.ttf b/_static/fonts/RobotoSlab-Bold.ttf new file mode 100644 index 0000000..df5d1df Binary files /dev/null and b/_static/fonts/RobotoSlab-Bold.ttf differ diff --git a/_static/fonts/RobotoSlab-Regular.ttf b/_static/fonts/RobotoSlab-Regular.ttf new file mode 100644 index 0000000..eb52a79 Binary files /dev/null and b/_static/fonts/RobotoSlab-Regular.ttf differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot new file mode 100644 index 0000000..79dc8ef Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf new file mode 100644 index 0000000..df5d1df Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff new file mode 100644 index 0000000..6cb6000 Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 new file mode 100644 index 0000000..7059e23 Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot new file mode 100644 index 0000000..2f7ca78 Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf new file mode 100644 index 0000000..eb52a79 Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff new file mode 100644 index 0000000..f815f63 Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff differ diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 new file mode 100644 index 0000000..f2c76e5 Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 differ diff --git a/_static/fonts/fontawesome-webfont.eot b/_static/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/_static/fonts/fontawesome-webfont.eot differ diff --git a/_static/fonts/fontawesome-webfont.svg b/_static/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/_static/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/fonts/fontawesome-webfont.ttf b/_static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/_static/fonts/fontawesome-webfont.ttf differ diff --git a/_static/fonts/fontawesome-webfont.woff b/_static/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/_static/fonts/fontawesome-webfont.woff differ diff --git a/_static/fonts/fontawesome-webfont.woff2 b/_static/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/_static/fonts/fontawesome-webfont.woff2 differ diff --git a/_static/js/modernizr.min.js b/_static/js/modernizr.min.js new file mode 100644 index 0000000..f65d479 --- /dev/null +++ b/_static/js/modernizr.min.js @@ -0,0 +1,4 @@ +/* Modernizr 2.6.2 (Custom Build) | MIT & BSD + * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load + */ +;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f 0) ? '...' : '') + $.trim(text.substr(start, 240)) + ((start + 240 - text.length) ? '...' : ''); - var rv = $('
').text(excerpt); + var rv = $('

').text(excerpt); $.each(hlwords, function() { rv = rv.highlightText(this, 'highlighted'); }); diff --git a/_static/underscore-1.12.0.js b/_static/underscore-1.13.1.js similarity index 94% rename from _static/underscore-1.12.0.js rename to _static/underscore-1.13.1.js index 3af6352..ffd77af 100644 --- a/_static/underscore-1.12.0.js +++ b/_static/underscore-1.13.1.js @@ -1,19 +1,19 @@ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define('underscore', factory) : - (global = global || self, (function () { + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () { var current = global._; var exports = global._ = factory(); exports.noConflict = function () { global._ = current; return exports; }; }())); }(this, (function () { - // Underscore.js 1.12.0 + // Underscore.js 1.13.1 // https://underscorejs.org - // (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + // (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors // Underscore may be freely distributed under the MIT license. // Current version. - var VERSION = '1.12.0'; + var VERSION = '1.13.1'; // Establish the root object, `window` (`self`) in the browser, `global` // on the server, or `this` in some virtual machines. We use `self` @@ -170,7 +170,7 @@ var isArray = nativeIsArray || tagTester('Array'); // Internal function to check whether `key` is an own property name of `obj`. - function has(obj, key) { + function has$1(obj, key) { return obj != null && hasOwnProperty.call(obj, key); } @@ -181,7 +181,7 @@ (function() { if (!isArguments(arguments)) { isArguments = function(obj) { - return has(obj, 'callee'); + return has$1(obj, 'callee'); }; } }()); @@ -268,7 +268,7 @@ // Constructor is a special case. var prop = 'constructor'; - if (has(obj, prop) && !keys.contains(prop)) keys.push(prop); + if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop); while (nonEnumIdx--) { prop = nonEnumerableProps[nonEnumIdx]; @@ -284,7 +284,7 @@ if (!isObject(obj)) return []; if (nativeKeys) return nativeKeys(obj); var keys = []; - for (var key in obj) if (has(obj, key)) keys.push(key); + for (var key in obj) if (has$1(obj, key)) keys.push(key); // Ahem, IE < 9. if (hasEnumBug) collectNonEnumProps(obj, keys); return keys; @@ -318,24 +318,24 @@ // If Underscore is called as a function, it returns a wrapped object that can // be used OO-style. This wrapper holds altered versions of all functions added // through `_.mixin`. Wrapped objects may be chained. - function _(obj) { - if (obj instanceof _) return obj; - if (!(this instanceof _)) return new _(obj); + function _$1(obj) { + if (obj instanceof _$1) return obj; + if (!(this instanceof _$1)) return new _$1(obj); this._wrapped = obj; } - _.VERSION = VERSION; + _$1.VERSION = VERSION; // Extracts the result from a wrapped and chained object. - _.prototype.value = function() { + _$1.prototype.value = function() { return this._wrapped; }; // Provide unwrapping proxies for some methods used in engine operations // such as arithmetic and JSON stringification. - _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + _$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value; - _.prototype.toString = function() { + _$1.prototype.toString = function() { return String(this._wrapped); }; @@ -370,8 +370,8 @@ // Internal recursive comparison function for `_.isEqual`. function deepEq(a, b, aStack, bStack) { // Unwrap any wrapped objects. - if (a instanceof _) a = a._wrapped; - if (b instanceof _) b = b._wrapped; + if (a instanceof _$1) a = a._wrapped; + if (b instanceof _$1) b = b._wrapped; // Compare `[[Class]]` names. var className = toString.call(a); if (className !== toString.call(b)) return false; @@ -463,7 +463,7 @@ while (length--) { // Deep compare each member key = _keys[length]; - if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false; } } // Remove the first object from the stack of traversed objects. @@ -642,15 +642,15 @@ // Normalize a (deep) property `path` to array. // Like `_.iteratee`, this function can be customized. - function toPath(path) { + function toPath$1(path) { return isArray(path) ? path : [path]; } - _.toPath = toPath; + _$1.toPath = toPath$1; // Internal wrapper for `_.toPath` to enable minification. // Similar to `cb` for `_.iteratee`. - function toPath$1(path) { - return _.toPath(path); + function toPath(path) { + return _$1.toPath(path); } // Internal function to obtain a nested property in `obj` along `path`. @@ -668,19 +668,19 @@ // `undefined`, return `defaultValue` instead. // The `path` is normalized through `_.toPath`. function get(object, path, defaultValue) { - var value = deepGet(object, toPath$1(path)); + var value = deepGet(object, toPath(path)); return isUndefined(value) ? defaultValue : value; } // Shortcut function for checking if an object has a given property directly on // itself (in other words, not on a prototype). Unlike the internal `has` // function, this public version can also traverse nested properties. - function has$1(obj, path) { - path = toPath$1(path); + function has(obj, path) { + path = toPath(path); var length = path.length; for (var i = 0; i < length; i++) { var key = path[i]; - if (!has(obj, key)) return false; + if (!has$1(obj, key)) return false; obj = obj[key]; } return !!length; @@ -703,7 +703,7 @@ // Creates a function that, when passed an object, will traverse that object’s // properties down the given `path`, specified as an array of keys or indices. function property(path) { - path = toPath$1(path); + path = toPath(path); return function(obj) { return deepGet(obj, path); }; @@ -747,12 +747,12 @@ function iteratee(value, context) { return baseIteratee(value, context, Infinity); } - _.iteratee = iteratee; + _$1.iteratee = iteratee; // The function we call internally to generate a callback. It invokes // `_.iteratee` if overridden, otherwise `baseIteratee`. function cb(value, context, argCount) { - if (_.iteratee !== iteratee) return _.iteratee(value, context); + if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context); return baseIteratee(value, context, argCount); } @@ -840,7 +840,7 @@ // By default, Underscore uses ERB-style template delimiters. Change the // following template settings to use alternative delimiters. - var templateSettings = _.templateSettings = { + var templateSettings = _$1.templateSettings = { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g, escape: /<%-([\s\S]+?)%>/g @@ -868,13 +868,20 @@ return '\\' + escapes[match]; } + // In order to prevent third-party code injection through + // `_.templateSettings.variable`, we test it against the following regular + // expression. It is intentionally a bit more liberal than just matching valid + // identifiers, but still prevents possible loopholes through defaults or + // destructuring assignment. + var bareIdentifier = /^\s*(\w|\$)+\s*$/; + // JavaScript micro-templating, similar to John Resig's implementation. // Underscore templating handles arbitrary delimiters, preserves whitespace, // and correctly escapes quotes within interpolated code. // NB: `oldSettings` only exists for backwards compatibility. function template(text, settings, oldSettings) { if (!settings && oldSettings) settings = oldSettings; - settings = defaults({}, settings, _.templateSettings); + settings = defaults({}, settings, _$1.templateSettings); // Combine delimiters into one regular expression via alternation. var matcher = RegExp([ @@ -903,8 +910,17 @@ }); source += "';\n"; - // If a variable is not specified, place data values in local scope. - if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } source = "var __t,__p='',__j=Array.prototype.join," + "print=function(){__p+=__j.call(arguments,'');};\n" + @@ -912,18 +928,17 @@ var render; try { - render = new Function(settings.variable || 'obj', '_', source); + render = new Function(argument, '_', source); } catch (e) { e.source = source; throw e; } var template = function(data) { - return render.call(this, data, _); + return render.call(this, data, _$1); }; // Provide the compiled source as a convenience for precompilation. - var argument = settings.variable || 'obj'; template.source = 'function(' + argument + '){\n' + source + '}'; return template; @@ -933,7 +948,7 @@ // is invoked with its parent as context. Returns the value of the final // child, or `fallback` if any child is undefined. function result(obj, path, fallback) { - path = toPath$1(path); + path = toPath(path); var length = path.length; if (!length) { return isFunction$1(fallback) ? fallback.call(obj) : fallback; @@ -959,7 +974,7 @@ // Start chaining a wrapped Underscore object. function chain(obj) { - var instance = _(obj); + var instance = _$1(obj); instance._chain = true; return instance; } @@ -993,7 +1008,7 @@ return bound; }); - partial.placeholder = _; + partial.placeholder = _$1; // Create a function bound to a given object (assigning `this`, and arguments, // optionally). @@ -1012,7 +1027,7 @@ var isArrayLike = createSizePropertyCheck(getLength); // Internal implementation of a recursive `flatten` function. - function flatten(input, depth, strict, output) { + function flatten$1(input, depth, strict, output) { output = output || []; if (!depth && depth !== 0) { depth = Infinity; @@ -1025,7 +1040,7 @@ if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) { // Flatten current level of array or arguments object. if (depth > 1) { - flatten(value, depth - 1, strict, output); + flatten$1(value, depth - 1, strict, output); idx = output.length; } else { var j = 0, len = value.length; @@ -1042,7 +1057,7 @@ // are the method names to be bound. Useful for ensuring that all callbacks // defined on an object belong to it. var bindAll = restArguments(function(obj, keys) { - keys = flatten(keys, false, false); + keys = flatten$1(keys, false, false); var index = keys.length; if (index < 1) throw new Error('bindAll must be passed function names'); while (index--) { @@ -1057,7 +1072,7 @@ var memoize = function(key) { var cache = memoize.cache; var address = '' + (hasher ? hasher.apply(this, arguments) : key); - if (!has(cache, address)) cache[address] = func.apply(this, arguments); + if (!has$1(cache, address)) cache[address] = func.apply(this, arguments); return cache[address]; }; memoize.cache = {}; @@ -1074,7 +1089,7 @@ // Defers a function, scheduling it to run after the current call stack has // cleared. - var defer = partial(delay, _, 1); + var defer = partial(delay, _$1, 1); // Returns a function, that, when invoked, will only be triggered at most once // during a given window of time. Normally, the throttled function will run @@ -1420,7 +1435,7 @@ if (isFunction$1(path)) { func = path; } else { - path = toPath$1(path); + path = toPath(path); contextPath = path.slice(0, -1); path = path[path.length - 1]; } @@ -1562,7 +1577,7 @@ // Groups the object's values by a criterion. Pass either a string attribute // to group by, or a function that returns the criterion. var groupBy = group(function(result, value, key) { - if (has(result, key)) result[key].push(value); else result[key] = [value]; + if (has$1(result, key)) result[key].push(value); else result[key] = [value]; }); // Indexes the object's values by a criterion, similar to `_.groupBy`, but for @@ -1575,7 +1590,7 @@ // either a string attribute to count by, or a function that returns the // criterion. var countBy = group(function(result, value, key) { - if (has(result, key)) result[key]++; else result[key] = 1; + if (has$1(result, key)) result[key]++; else result[key] = 1; }); // Split a collection into two arrays: one whose elements all pass the given @@ -1618,7 +1633,7 @@ keys = allKeys(obj); } else { iteratee = keyInObj; - keys = flatten(keys, false, false); + keys = flatten$1(keys, false, false); obj = Object(obj); } for (var i = 0, length = keys.length; i < length; i++) { @@ -1636,7 +1651,7 @@ iteratee = negate(iteratee); if (keys.length > 1) context = keys[1]; } else { - keys = map(flatten(keys, false, false), String); + keys = map(flatten$1(keys, false, false), String); iteratee = function(value, key) { return !contains(keys, key); }; @@ -1681,14 +1696,14 @@ // Flatten out an array, either recursively (by default), or up to `depth`. // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. - function flatten$1(array, depth) { - return flatten(array, depth, false); + function flatten(array, depth) { + return flatten$1(array, depth, false); } // Take the difference between one array and a number of other arrays. // Only the elements present in just the first array will remain. var difference = restArguments(function(array, rest) { - rest = flatten(rest, true, true); + rest = flatten$1(rest, true, true); return filter(array, function(value){ return !contains(rest, value); }); @@ -1734,7 +1749,7 @@ // Produce an array that contains the union: each distinct element from all of // the passed-in arrays. var union = restArguments(function(arrays) { - return uniq(flatten(arrays, true, true)); + return uniq(flatten$1(arrays, true, true)); }); // Produce an array that contains every item shared between all the @@ -1821,26 +1836,26 @@ // Helper function to continue chaining intermediate results. function chainResult(instance, obj) { - return instance._chain ? _(obj).chain() : obj; + return instance._chain ? _$1(obj).chain() : obj; } // Add your own custom functions to the Underscore object. function mixin(obj) { each(functions(obj), function(name) { - var func = _[name] = obj[name]; - _.prototype[name] = function() { + var func = _$1[name] = obj[name]; + _$1.prototype[name] = function() { var args = [this._wrapped]; push.apply(args, arguments); - return chainResult(this, func.apply(_, args)); + return chainResult(this, func.apply(_$1, args)); }; }); - return _; + return _$1; } // Add all mutator `Array` functions to the wrapper. each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { var method = ArrayProto[name]; - _.prototype[name] = function() { + _$1.prototype[name] = function() { var obj = this._wrapped; if (obj != null) { method.apply(obj, arguments); @@ -1855,7 +1870,7 @@ // Add all accessor `Array` functions to the wrapper. each(['concat', 'join', 'slice'], function(name) { var method = ArrayProto[name]; - _.prototype[name] = function() { + _$1.prototype[name] = function() { var obj = this._wrapped; if (obj != null) obj = method.apply(obj, arguments); return chainResult(this, obj); @@ -1909,12 +1924,12 @@ clone: clone, tap: tap, get: get, - has: has$1, + has: has, mapObject: mapObject, identity: identity, constant: constant, noop: noop, - toPath: toPath, + toPath: toPath$1, property: property, propertyOf: propertyOf, matcher: matcher, @@ -1997,7 +2012,7 @@ tail: rest, drop: rest, compact: compact, - flatten: flatten$1, + flatten: flatten, without: without, uniq: uniq, unique: uniq, @@ -2011,17 +2026,17 @@ range: range, chunk: chunk, mixin: mixin, - 'default': _ + 'default': _$1 }; // Default Export // Add all of the Underscore functions to the wrapper object. - var _$1 = mixin(allExports); + var _ = mixin(allExports); // Legacy Node.js API. - _$1._ = _$1; + _._ = _; - return _$1; + return _; }))); -//# sourceMappingURL=underscore.js.map +//# sourceMappingURL=underscore-umd.js.map diff --git a/_static/underscore.js b/_static/underscore.js index 166240e..cf177d4 100644 --- a/_static/underscore.js +++ b/_static/underscore.js @@ -1,6 +1,6 @@ -!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n=n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ -// Underscore.js 1.12.0 +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ +// Underscore.js 1.13.1 // https://underscorejs.org -// (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +// (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors // Underscore may be freely distributed under the MIT license. -var n="1.12.0",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,g=isFinite,d=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u=0&&t<=m}}function $(n){return function(r){return null==r?void 0:r[n]}}var G=$("byteLength"),H=J(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:K(!1),Y=$("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},Kn=Ln(Cn),Jn=Ln(_n(Cn)),$n=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=0;function Zn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var nr=j((function(n,r){var t=nr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)er(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var cr=nr(fr,2);function lr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),C))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Fn(t,u,4),e,o)}}var wr=_r(1),Ar=_r(-1);function xr(n,r,t){var e=[];return r=qn(r,t),mr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Sr(n,r,t){r=qn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o=0}var Er=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),jr(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Br(n,r){return jr(n,Rn(r))}function Nr(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ao&&(o=e);else r=qn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Ir(n,r,t){if(null==r||t)return tr(n)||(n=jn(n)),n[Wn(n.length-1)];var e=tr(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Fn(e,r[1])),r=an(n)):(e=Pr,r=er(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=jr(er(r,!1,!1),String),e=function(n,t){return!Mr(r,t)}),qr(n,e,t)}));function Wr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function zr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:Wr(n,n.length-r)}function Lr(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=er(r,!0,!0),xr(n,(function(n){return!Mr(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o=function(r,t){e=null,t&&(u=n.apply(r,t))},i=j((function(i){if(e&&clearTimeout(e),t){var a=!e;e=setTimeout(o,r),a&&(u=n.apply(this,i))}else e=or(o,r,this,i);return u}));return i.cancel=function(){clearTimeout(e),e=null},i},wrap:function(n,r){return nr(r,n)},negate:ar,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:fr,once:cr,findKey:lr,findIndex:pr,findLastIndex:vr,sortedIndex:hr,indexOf:gr,lastIndexOf:dr,find:br,detect:br,findWhere:function(n,r){return br(n,Dn(r))},each:mr,forEach:mr,map:jr,collect:jr,reduce:wr,foldl:wr,inject:wr,reduceRight:Ar,foldr:Ar,filter:xr,select:xr,reject:function(n,r,t){return xr(n,ar(qn(r)),t)},every:Sr,all:Sr,some:Or,any:Or,contains:Mr,includes:Mr,include:Mr,invoke:Er,pluck:Br,where:function(n,r){return xr(n,Dn(r))},max:Nr,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ae||void 0===t)return 1;if(t=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},Cn=Ln($n),Kn=Ln(_n($n)),Jn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=/^\s*(\w|\$)+\s*$/;var Zn=0;function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var rr=j((function(n,r){var t=rr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)ur(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var lr=rr(cr,2);function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Fn(t,u,4),e,o)}}var Ar=wr(1),xr=wr(-1);function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o=0}var Br=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),_r(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Nr(n,r){return _r(n,Rn(r))}function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;ao&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1)];var e=er(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Fn(e,r[1])),r=an(n)):(e=qr,r=ur(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=_r(ur(r,!1,!1),String),e=function(n,t){return!Er(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=ur(r,!0,!0),Sr(n,(function(n){return!Er(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=zn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=zn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return rr(r,n)},negate:fr,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:cr,once:lr,findKey:sr,findIndex:vr,findLastIndex:hr,sortedIndex:yr,indexOf:gr,lastIndexOf:br,find:mr,detect:mr,findWhere:function(n,r){return mr(n,Dn(r))},each:jr,forEach:jr,map:_r,collect:_r,reduce:Ar,foldl:Ar,inject:Ar,reduceRight:xr,foldr:xr,filter:Sr,select:Sr,reject:function(n,r,t){return Sr(n,fr(qn(r)),t)},every:Or,all:Or,some:Mr,any:Mr,contains:Er,includes:Er,include:Er,invoke:Br,pluck:Nr,where:function(n,r){return Sr(n,Dn(r))},max:Ir,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;ae||void 0===t)return 1;if(t + + @@ -29,6 +31,7 @@ + diff --git a/api/CombinedTimeQuery.html b/api/CombinedTimeQuery.html index 59cbc7e..89452a8 100644 --- a/api/CombinedTimeQuery.html +++ b/api/CombinedTimeQuery.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,13 +183,8 @@
-
-

CombinedTimeQuery

-
-
-awips.dataaccess.CombinedTimeQuery.getAvailableTimes(request, refTimeOnly=False)[source]
-
- +
+

CombinedTimeQuery

diff --git a/api/DataAccessLayer.html b/api/DataAccessLayer.html index 2835ac2..33141b2 100644 --- a/api/DataAccessLayer.html +++ b/api/DataAccessLayer.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,264 +183,8 @@
-
-

DataAccessLayer

-
-
-awips.dataaccess.DataAccessLayer.changeEDEXHost(newHostName)[source]
-

Changes the EDEX host the Data Access Framework is communicating with. Only -works if using the native Python client implementation, otherwise, this -method will throw a TypeError.

-
-
Args:

newHostName: the EDEX host to connect to

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getAvailableLevels(request)[source]
-

Gets the available levels that match the request without actually -requesting the data.

-
-
Args:

request: the request to find matching levels for

-
-
Returns:

a list of strings of available levels.

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getAvailableLocationNames(request)[source]
-

Gets the available location names that match the request without actually -requesting the data.

-
-
Args:

request: the request to find matching location names for

-
-
Returns:

a list of strings of available location names.

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getAvailableParameters(request)[source]
-

Gets the available parameters names that match the request without actually -requesting the data.

-
-
Args:

request: the request to find matching parameter names for

-
-
Returns:

a list of strings of available parameter names.

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getAvailableTimes(request, refTimeOnly=False)[source]
-

Get the times of available data to the request.

-
-
Args:

request: the IDataRequest to get data for -refTimeOnly: optional, use True if only unique refTimes should be

-
-

returned (without a forecastHr)

-
-
-
Returns:

a list of DataTimes

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getForecastRun(cycle, times)[source]
-

Get the latest forecast run (list of objects) from all -all cycles and times returned from DataAccessLayer “grid” -response.

-
-
Args:

cycle: Forecast cycle reference time -times: All available times/cycles

-
-
Returns:

DataTime array for a single forecast run

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getGeometryData(request, times=[])[source]
-

Gets the geometry data that matches the request at the specified times. -Each combination of geometry, level, and dataTime will be returned as a -separate IGeometryData.

-
-
Args:

request: the IDataRequest to get data for -times: a list of DataTimes, a TimeRange, or None if the data is time

-
-

agnostic

-
-
-
Returns:

a list of IGeometryData

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getGridData(request, times=[])[source]
-

Gets the grid data that matches the request at the specified times. Each -combination of parameter, level, and dataTime will be returned as a -separate IGridData.

-
-
Args:

request: the IDataRequest to get data for -times: a list of DataTimes, a TimeRange, or None if the data is time

-
-

agnostic

-
-
-
Returns:

a list of IGridData

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getIdentifierValues(request, identifierKey)[source]
-

Gets the allowed values for a particular identifier on this datatype.

-
-
Args:

request: the request to find identifier values for -identifierKey: the identifier to find values for

-
-
Returns:

a list of strings of allowed values for the specified identifier

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getMetarObs(response)[source]
-

Processes a DataAccessLayer “obs” response into a dictionary, -with special consideration for multi-value parameters -“presWeather”, “skyCover”, and “skyLayerBase”.

-
-
Args:

response: DAL getGeometry() list

-
-
Returns:

A dictionary of METAR obs

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getOptionalIdentifiers(request)[source]
-

Gets the optional identifiers for this request.

-
-
Args:

request: the request to find optional identifiers for

-
-
Returns:

a list of strings of optional identifiers

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getRadarProductIDs(availableParms)[source]
-

Get only the numeric idetifiers for NEXRAD3 products.

-
-
Args:

availableParms: Full list of radar parameters

-
-
Returns:

List of filtered parameters

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getRadarProductNames(availableParms)[source]
-
-

Get only the named idetifiers for NEXRAD3 products.

-
-
-
Args:

availableParms: Full list of radar parameters

-
-
Returns:

List of filtered parameters

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getRequiredIdentifiers(request)[source]
-

Gets the required identifiers for this request. These identifiers -must be set on a request for the request of this datatype to succeed.

-
-
Args:

request: the request to find required identifiers for

-
-
Returns:

a list of strings of required identifiers

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getSupportedDatatypes()[source]
-

Gets the datatypes that are supported by the framework

-
-
Returns:

a list of strings of supported datatypes

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.getSynopticObs(response)[source]
-

Processes a DataAccessLayer “sfcobs” response into a dictionary -of available parameters.

-
-
Args:

response: DAL getGeometry() list

-
-
Returns:

A dictionary of synop obs

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.newDataRequest(datatype=None, **kwargs)[source]
-

Creates a new instance of IDataRequest suitable for the runtime environment. -All args are optional and exist solely for convenience.

-
-
Args:

datatype: the datatype to create a request for -parameters: a list of parameters to set on the request -levels: a list of levels to set on the request -locationNames: a list of locationNames to set on the request -envelope: an envelope to limit the request -kwargs: any leftover kwargs will be set as identifiers

-
-
Returns:

a new IDataRequest

-
-
-
- -
-
-awips.dataaccess.DataAccessLayer.setLazyLoadGridLatLon(lazyLoadGridLatLon)[source]
-

Provide a hint to the Data Access Framework indicating whether to load the -lat/lon data for a grid immediately or wait until it is needed. This is -provided as a performance tuning hint and should not affect the way the -Data Access Framework is used. Depending on the internal implementation of -the Data Access Framework this hint might be ignored. Examples of when this -should be set to True are when the lat/lon information is not used or when -it is used only if certain conditions within the data are met. It could be -set to False if it is guaranteed that all lat/lon information is needed and -it would be better to get any performance overhead for generating the -lat/lon data out of the way during the initial request.

-
-
Args:

lazyLoadGridLatLon: Boolean value indicating whether to lazy load.

-
-
-
- +
+

DataAccessLayer

diff --git a/api/DateTimeConverter.html b/api/DateTimeConverter.html index f10f9e2..defbdab 100644 --- a/api/DateTimeConverter.html +++ b/api/DateTimeConverter.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,41 +183,8 @@
-
-

DateTimeConverter

-
-
-awips.DateTimeConverter.constructTimeRange(*args)[source]
-

Builds a python dynamicserialize TimeRange object from the given -arguments.

-
-
Args:
-
args*: must be a TimeRange or a pair of objects that can be

converted to a datetime via convertToDateTime().

-
-
-
-
Returns:

A TimeRange.

-
-
-
- -
-
-awips.DateTimeConverter.convertToDateTime(timeArg)[source]
-

Converts the given object to a python datetime object. Supports native -python representations like datetime and struct_time, but also -the dynamicserialize types like Date and Timestamp. Raises TypeError -if no conversion can be performed.

-
-
Args:

timeArg: a python object representing a date and time. Supported -types include datetime, struct_time, float, int, long and the -dynamicserialize types Date and Timestamp.

-
-
Returns:

A datetime that represents the same date/time as the passed in object.

-
-
-
- +
+

DateTimeConverter

diff --git a/api/IDataRequest.html b/api/IDataRequest.html index f58c3cc..ab04522 100644 --- a/api/IDataRequest.html +++ b/api/IDataRequest.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -182,132 +185,6 @@

IDataRequest (newDataRequest())

-
-
-class awips.dataaccess.IDataRequest[source]
-

An IDataRequest to be submitted to the DataAccessLayer to retrieve data.

-
-
-__weakref__
-

list of weak references to the object (if defined)

-
- -
-
-abstract addIdentifier(key, value)[source]
-

Adds an identifier to the request. Identifiers are specific to the -datatype being requested.

-
-
Args:

key: the string key of the identifier -value: the value of the identifier

-
-
-
- -
-
-abstract getDatatype()[source]
-

Gets the datatype of the request

-
-
Returns:

the datatype set on the request

-
-
-
- -
-
-abstract getEnvelope()[source]
-

Gets the envelope on the request

-
-
Returns:

a rectangular shapely geometry

-
-
-
- -
-
-abstract getIdentifiers()[source]
-

Gets the identifiers on the request

-
-
Returns:

a dictionary of the identifiers

-
-
-
- -
-
-abstract getLevels()[source]
-

Gets the levels on the request

-
-
Returns:

a list of strings of the levels

-
-
-
- -
-
-abstract getLocationNames()[source]
-

Gets the location names on the request

-
-
Returns:

a list of strings of the location names

-
-
-
- -
-
-abstract setDatatype(datatype)[source]
-

Sets the datatype of the request.

-
-
Args:

datatype: A string of the datatype, such as “grid”, “radar”, “gfe”, “obs”

-
-
-
- -
-
-abstract setEnvelope(env)[source]
-

Sets the envelope of the request. If supported by the datatype factory, -the data returned for the request will be constrained to only the data -within the envelope.

-
-
Args:

env: a shapely geometry

-
-
-
- -
-
-abstract setLevels(levels)[source]
-

Sets the levels of data to request. Not all datatypes support levels.

-
-
Args:

levels: a list of strings of level abbreviations to request

-
-
-
- -
-
-abstract setLocationNames(locationNames)[source]
-

Sets the location names of the request.

-
-
Args:

locationNames: a list of strings of location names to request

-
-
-
- -
-
-abstract setParameters(params)[source]
-

Sets the parameters of data to request.

-
-
Args:

params: a list of strings of parameters to request

-
-
-
- -
-
diff --git a/api/IFPClient.html b/api/IFPClient.html index ee0dae8..f6c3d19 100644 --- a/api/IFPClient.html +++ b/api/IFPClient.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,38 +183,8 @@
-
-

IFPClient

-
-
-class awips.gfe.IFPClient.IFPClient(host, port, user, site=None, progName=None)[source]
-
-
-commitGrid(request)[source]
-
- -
-
-getGridInventory(parmID)[source]
-
- -
-
-getParmList(pid)[source]
-
- -
-
-getSelectTR(name)[source]
-
- -
-
-getSiteID()[source]
-
- -
- +
+

IFPClient

diff --git a/api/ModelSounding.html b/api/ModelSounding.html index b0a4b22..ce6d60f 100644 --- a/api/ModelSounding.html +++ b/api/ModelSounding.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,38 +183,8 @@
-
-

ModelSounding

-
-
-awips.dataaccess.ModelSounding.changeEDEXHost(host)[source]
-

Changes the EDEX host the Data Access Framework is communicating with.

-
-
Args:

host: the EDEX host to connect to

-
-
-
- -
-
-awips.dataaccess.ModelSounding.getSounding(modelName, weatherElements, levels, samplePoint, timeRange=None)[source]
-

Performs a series of Data Access Framework requests to retrieve a sounding object -based on the specified request parameters.

-
-
Args:

modelName: the grid model datasetid to use as the basis of the sounding. -weatherElements: a list of parameters to return in the sounding. -levels: a list of levels to sample the given weather elements at -samplePoint: a lat/lon pair to perform the sampling of data at. -timeRange: (optional) a list of times, or a TimeRange to specify -which forecast hours to use. If not specified, will default to all forecast hours.

-
-
Returns:

A _SoundingCube instance, which acts a 3-tiered dictionary, keyed -by DataTime, then by level and finally by weather element. If no -data is available for the given request parameters, None is returned.

-
-
-
- +
+

ModelSounding

diff --git a/api/PyData.html b/api/PyData.html index 9961510..c285856 100644 --- a/api/PyData.html +++ b/api/PyData.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,66 +183,8 @@
-
-

PyData

-
-
-class awips.dataaccess.PyData.PyData(dataRecord)[source]
-
-
-getAttribute(key)[source]
-

Gets an attribute of the data.

-
-
Args:

key: the key of the attribute

-
-
Returns:

the value of the attribute

-
-
-
- -
-
-getAttributes()[source]
-

Gets the valid attributes for the data.

-
-
Returns:

a list of strings of the attribute names

-
-
-
- -
-
-getDataTime()[source]
-

Gets the data time of the data.

-
-
Returns:

the data time of the data, or None if no time is associated

-
-
-
- -
-
-getLevel()[source]
-

Gets the level of the data.

-
-
Returns:

the level of the data, or None if no level is associated

-
-
-
- -
-
-getLocationName()[source]
-

Gets the location name of the data.

-
-
Returns:

the location name of the data, or None if no location name is -associated

-
-
-
- -
- +
+

PyData

diff --git a/api/PyGeometryData.html b/api/PyGeometryData.html index 980b3e7..49d6f79 100644 --- a/api/PyGeometryData.html +++ b/api/PyGeometryData.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,82 +183,8 @@
-
-

PyGeometryData

-
-
-class awips.dataaccess.PyGeometryData.PyGeometryData(geoDataRecord, geometry)[source]
-
-
-getGeometry()[source]
-

Gets the geometry of the data.

-
-
Returns:

a shapely geometry

-
-
-
- -
-
-getNumber(param)[source]
-

Gets the number value of the specified param.

-
-
Args:

param: the string name of the param

-
-
Returns:

the number value of the param

-
-
-
- -
-
-getParameters()[source]
-

Gets the parameters of the data.

-
-
Returns:

a list of strings of the parameter names

-
-
-
- -
-
-getString(param)[source]
-

Gets the string value of the specified param.

-
-
Args:

param: the string name of the param

-
-
Returns:

the string value of the param

-
-
-
- -
-
-getType(param)[source]
-

Gets the type of the param.

-
-
Args:

param: the string name of the param

-
-
Returns:

a string of the type of the parameter, such as -“STRING”, “INT”, “LONG”, “FLOAT”, or “DOUBLE”

-
-
-
- -
-
-getUnit(param)[source]
-

Gets the unit of the specified param.

-
-
Args:

param: the string name of the param

-
-
Returns:

the string abbreviation of the unit of the param

-
-
-
- -
- +
+

PyGeometryData

diff --git a/api/PyGridData.html b/api/PyGridData.html index 45f20f4..48c92cd 100644 --- a/api/PyGridData.html +++ b/api/PyGridData.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,54 +183,8 @@
-
-

PyGridData

-
-
-class awips.dataaccess.PyGridData.PyGridData(gridDataRecord, nx, ny, latLonGrid=None, latLonDelegate=None)[source]
-
-
-getLatLonCoords()[source]
-

Gets the lat/lon coordinates of the grid data.

-
-
Returns:

a tuple where the first element is a numpy array of lons, and the -second element is a numpy array of lats

-
-
-
- -
-
-getParameter()[source]
-

Gets the parameter of the data.

-
-
Returns:

the parameter of the data

-
-
-
- -
-
-getRawData(unit=None)[source]
-

Gets the grid data as a numpy array.

-
-
Returns:

a numpy array of the data

-
-
-
- -
-
-getUnit()[source]
-

Gets the unit of the data.

-
-
Returns:

the string abbreviation of the unit, or None if no unit is associated

-
-
-
- -
- +
+

PyGridData

diff --git a/api/RadarCommon.html b/api/RadarCommon.html index 2f08700..0244993 100644 --- a/api/RadarCommon.html +++ b/api/RadarCommon.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,57 +183,8 @@
-
-

RadarCommon

-
-
-awips.RadarCommon.encode_dep_vals(depVals)[source]
-
- -
-
-awips.RadarCommon.encode_radial(azVals)[source]
-
- -
-
-awips.RadarCommon.encode_thresh_vals(threshVals)[source]
-
- -
-
-awips.RadarCommon.get_data_type(azdat)[source]
-

Get the radar file type (radial or raster).

-
-
Args:

azdat: Boolean.

-
-
Returns:

Radial or raster.

-
-
-
- -
-
-awips.RadarCommon.get_datetime_str(record)[source]
-

Get the datetime string for a record.

-
-
Args:

record: the record to get data for.

-
-
Returns:

datetime string.

-
-
-
- -
-
-awips.RadarCommon.get_hdf5_data(idra)[source]
-
- -
-
-awips.RadarCommon.get_header(record, headerFormat, xLen, yLen, azdat, description)[source]
-
- +
+

RadarCommon

diff --git a/api/ThriftClient.html b/api/ThriftClient.html index 9ac353e..8fc6df5 100644 --- a/api/ThriftClient.html +++ b/api/ThriftClient.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,23 +183,8 @@
-
-

ThriftClient

-
-
-class awips.ThriftClient.ThriftClient(host, port=9581, uri='/services')[source]
-
-
-sendRequest(request, uri='/thrift')[source]
-
- -
- -
-
-exception awips.ThriftClient.ThriftRequestException(value)[source]
-
- +
+

ThriftClient

diff --git a/api/ThriftClientRouter.html b/api/ThriftClientRouter.html index e8fec9a..1cc0339 100644 --- a/api/ThriftClientRouter.html +++ b/api/ThriftClientRouter.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,83 +183,8 @@
-
-

ThriftClientRouter

-
-
-class awips.dataaccess.ThriftClientRouter.LazyGridLatLon(client, nx, ny, envelope, crsWkt)[source]
-
- -
-
-class awips.dataaccess.ThriftClientRouter.ThriftClientRouter(host='localhost')[source]
-
-
-getAvailableLevels(request)[source]
-
- -
-
-getAvailableLocationNames(request)[source]
-
- -
-
-getAvailableParameters(request)[source]
-
- -
-
-getAvailableTimes(request, refTimeOnly)[source]
-
- -
-
-getGeometryData(request, times)[source]
-
- -
-
-getGridData(request, times)[source]
-
- -
-
-getIdentifierValues(request, identifierKey)[source]
-
- -
-
-getNotificationFilter(request)[source]
-
- -
-
-getOptionalIdentifiers(request)[source]
-
- -
-
-getRequiredIdentifiers(request)[source]
-
- -
-
-getSupportedDatatypes()[source]
-
- -
-
-newDataRequest(datatype, parameters=[], levels=[], locationNames=[], envelope=None, **kwargs)[source]
-
- -
-
-setLazyLoadGridLatLon(lazyLoadGridLatLon)[source]
-
- -
- +
+

ThriftClientRouter

diff --git a/api/TimeUtil.html b/api/TimeUtil.html index bf89ee9..0b537bb 100644 --- a/api/TimeUtil.html +++ b/api/TimeUtil.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -180,18 +183,8 @@
-
-

TimeUtil

-
-
-awips.TimeUtil.determineDrtOffset(timeStr)[source]
-
- -
-
-awips.TimeUtil.makeTime(timeStr)[source]
-
- +
+

TimeUtil

diff --git a/api/index.html b/api/index.html index 0f979a8..678f495 100644 --- a/api/index.html +++ b/api/index.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/datatypes.html b/datatypes.html index 5bfacb1..e22b644 100644 --- a/datatypes.html +++ b/datatypes.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/dev.html b/dev.html index 46f51fa..54af901 100644 --- a/dev.html +++ b/dev.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/examples/generated/AWIPS_Grids_and_Cartopy.html b/examples/generated/AWIPS_Grids_and_Cartopy.html index c5f2a83..a98bc9f 100644 --- a/examples/generated/AWIPS_Grids_and_Cartopy.html +++ b/examples/generated/AWIPS_Grids_and_Cartopy.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/examples/generated/Colored_Surface_Temperature_Plot.html b/examples/generated/Colored_Surface_Temperature_Plot.html index e8bb4e3..1e6ee30 100644 --- a/examples/generated/Colored_Surface_Temperature_Plot.html +++ b/examples/generated/Colored_Surface_Temperature_Plot.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/examples/generated/Forecast_Model_Vertical_Sounding.html b/examples/generated/Forecast_Model_Vertical_Sounding.html index 10b1c43..435be7e 100644 --- a/examples/generated/Forecast_Model_Vertical_Sounding.html +++ b/examples/generated/Forecast_Model_Vertical_Sounding.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/examples/generated/GOES_Geostationary_Lightning_Mapper.html b/examples/generated/GOES_Geostationary_Lightning_Mapper.html index 718a5b1..3748893 100644 --- a/examples/generated/GOES_Geostationary_Lightning_Mapper.html +++ b/examples/generated/GOES_Geostationary_Lightning_Mapper.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/examples/generated/Grid_Levels_and_Parameters.html b/examples/generated/Grid_Levels_and_Parameters.html index a517c06..bf3cacd 100644 --- a/examples/generated/Grid_Levels_and_Parameters.html +++ b/examples/generated/Grid_Levels_and_Parameters.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -104,7 +107,6 @@
  • DataAccessLayer.getAvailableLevels()
  • DataAccessLayer.getAvailableTimes()
  • DataAccessLayer.getGridData()
  • -
  • Plotting with Matplotlib and Cartopy
  • METAR Station Plot with MetPy
  • @@ -268,8 +270,9 @@ request all available grids with getAvailableLocationNames()

    'FFG-TAR', 'FFG-TIR', 'FFG-TUA', - 'GEFS', - 'GFS', + 'FNMOC-NCODA', + 'FNMOC-WW3', + 'GFS1p0', 'GFS20', 'HFR-EAST_6KM', 'HFR-EAST_PR_6KM', @@ -299,7 +302,6 @@ request all available grids with getAvailableLocationNames()

    'NAM12', 'NAM40', 'NOHRSC-SNOW', - 'NationalBlend', 'RAP13', 'RTMA', 'RTOFS-Now-WestAtl', @@ -310,7 +312,7 @@ request all available grids with getAvailableLocationNames()

    'SeaIce', 'TPCWindProb', 'URMA25', - 'WaveWatch'] + 'navgem0p5']
    @@ -610,18 +612,18 @@ available parameters with getAvailableParameters()

    0.0SFC
     350.0MB
     475.0MB
    -610.0_40000.0FHAG
    +610.0_40000.0FHAG
     225.0MB
    -120.0_150.0BL
    +120.0_150.0BL
     900.0MB
     125.0MB
    -0.0_610.0FHAG
    +0.0_610.0FHAG
     450.0MB
     575.0MB
     325.0MB
     100.0MB
     1000.0MB
    -60.0_90.0BL
    +60.0_90.0BL
     275.0MB
     1.0PV
     950.0MB
    @@ -629,10 +631,10 @@ available parameters with getAvailableParameters()

    1.5PV 700.0MB 825.0MB -150.0_180.0BL +150.0_180.0BL 250.0MB 375.0MB -1000.0_500.0MB +1000.0_500.0MB 800.0MB 4000.0FHAG 925.0MB @@ -647,221 +649,222 @@ available parameters with getAvailableParameters()

    2.0FHAG 875.0MB 175.0MB -0.0_1000.0FHAG +0.0_1000.0FHAG 850.0MB 600.0MB 725.0MB -0.0_6000.0FHAG +0.0_6000.0FHAG 975.0MB 550.0MB -0.0_3000.0FHAG +0.0_3000.0FHAG 675.0MB 425.0MB 200.0MB -0.0_30.0BL -30.0_60.0BL +0.0_30.0BL +30.0_60.0BL 650.0MB 525.0MB 300.0MB -90.0_120.0BL +90.0_120.0BL 1000.0FHAG 775.0MB -340.0_350.0K -290.0_300.0K -700.0_600.0MB -700.0_300.0MB +340.0_350.0K +290.0_300.0K +700.0_600.0MB +700.0_300.0MB 320.0Ke -800.0_750.0MB +800.0_750.0MB 60.0TILT 5.3TILT -1000.0_900.0MB +1000.0_900.0MB 340.0K -5500.0_6000.0FHAG +5500.0_6000.0FHAG 255.0K -255.0_265.0K -3000.0_6000.0FHAG +255.0_265.0K +3000.0_6000.0FHAG 25.0TILT 2000.0FHAG -0.0_500.0FHAG -1000.0_850.0MB -850.0_250.0MB -280.0_290.0Ke +0.0_500.0FHAG +1000.0_850.0MB +850.0_250.0MB +280.0_290.0Ke 1524.0FHAG -320.0_330.0K +320.0_330.0K 0.0TILT -310.0_320.0Ke +310.0_320.0Ke 310.0Ke 330.0K -900.0_800.0MB -550.0_500.0MB +900.0_800.0MB +550.0_500.0MB 2.4TILT 50.0TILT 3500.0FHAG 35.0TILT 12.0TILT -300.0_310.0K -3000.0_12000.0FHAG +300.0_310.0K +3000.0_12000.0FHAG 0.9TILT 320.0K -400.0_350.0MB +400.0_350.0MB 500.0FHAG -750.0_700.0MB -1000.0_400.0MB +750.0_700.0MB +1000.0_400.0MB 345.0K -250.0_260.0K +250.0_260.0K 300.0Ke 290.0Ke -950.0_900.0MB +950.0_900.0MB 4572.0FHAG -275.0_285.0Ke +275.0_285.0Ke 335.0Ke -295.0_305.0Ke -275.0_285.0K -600.0_550.0MB +295.0_305.0Ke +275.0_285.0K +600.0_550.0MB 310.0K 9000.0FHAG 335.0K -1000.0_7000.0FHAG -700.0_500.0MB +1000.0_7000.0FHAG +700.0_500.0MB 9144.0FHAG -325.0_335.0K -2000.0_8000.0FHAG -0.0_609.6FHAG +325.0_335.0K +2000.0_8000.0FHAG +0.0_609.6FHAG 300.0K 0.0MAXOMEGA -315.0_325.0K +315.0_325.0K 325.0K 340.0Ke -0.0_4000.0FHAG -5000.0_5500.0FHAG -300.0_250.0MB +0.0_4000.0FHAG +5000.0_5500.0FHAG +300.0_250.0MB 1.5TILT -335.0_345.0K +335.0_345.0K 315.0K 3.4TILT 2500.0FHAG 10000.0FHAG -0.0_2000.0FHAG +0.0_2000.0FHAG 7000.0FHAG 5000.0FHAG 330.0Ke -500.0_400.0MB -1000.0_1500.0FHAG +500.0_400.0MB +1000.0_1500.0FHAG 305.0K -285.0_295.0Ke +285.0_295.0Ke 14.0TILT -3000.0_3500.0FHAG -325.0_335.0Ke -2000.0_5000.0FHAG +3000.0_3500.0FHAG +325.0_335.0Ke +2000.0_5000.0FHAG 7620.0FHAG -850.0_800.0MB +850.0_800.0MB 6096.0FHAG -6000.0_7000.0FHAG -2000.0_7000.0FHAG -9000.0_10000.0FHAG +6000.0_7000.0FHAG +2000.0_7000.0FHAG +9000.0_10000.0FHAG 295.0Ke 305.0Ke -265.0_275.0K -7000.0_8000.0FHAG -3000.0_8000.0FHAG -700.0_650.0MB -1000.0_6000.0FHAG +265.0_275.0K +7000.0_8000.0FHAG +3000.0_8000.0FHAG +700.0_650.0MB +1000.0_6000.0FHAG 0.5TILT -450.0_400.0MB +450.0_400.0MB 1.8TILT -330.0_340.0K -800.0_700.0MB -850.0_300.0MB +330.0_340.0K +800.0_700.0MB +850.0_300.0MB 6.0TILT -900.0_850.0MB +900.0_850.0MB 3657.6FHAG -0.0_5000.0FHAG -320.0_330.0Ke +0.0_5000.0FHAG +320.0_330.0Ke 8.7TILT -650.0_600.0MB -600.0_400.0MB +650.0_600.0MB +600.0_400.0MB 55.0TILT -270.0_280.0Ke +270.0_280.0Ke 30.0TILT -310.0_320.0K +310.0_320.0K 1500.0FHAG -1000.0_950.0MB +1000.0_950.0MB 5500.0FHAG -250.0_200.0MB -500.0_1000.0FHAG -400.0_300.0MB -500.0_100.0MB -1000.0_3000.0FHAG +250.0_200.0MB +500.0_1000.0FHAG +400.0_300.0MB +500.0_100.0MB +1000.0_3000.0FHAG 8000.0FHAG 285.0Ke 290.0K -305.0_315.0K -285.0_295.0K -0.0_2500.0FHAG -925.0_850.0MB +305.0_315.0K +285.0_295.0K +0.0_2500.0FHAG +925.0_850.0MB 275.0Ke -1500.0_2000.0FHAG -300.0_200.0MB -260.0_270.0K +1500.0_2000.0FHAG +300.0_200.0MB +260.0_270.0K 2743.2FHAG 3000.0FHAG -315.0_325.0Ke -600.0_500.0MB +315.0_325.0Ke +600.0_500.0MB 16.7TILT 280.0K -500.0_250.0MB +500.0_250.0MB 40.0TILT 3048.0FHAG -400.0_200.0MB -300.0_310.0Ke -270.0_280.0K -1000.0_700.0MB +400.0_200.0MB +300.0_310.0Ke +270.0_280.0K +1000.0_700.0MB 45.0TILT -850.0_500.0MB -2500.0_3000.0FHAG +850.0_500.0MB +2500.0_3000.0FHAG 609.6FHAG -0.0_8000.0FHAG +0.0_8000.0FHAG 295.0K 4.3TILT -295.0_305.0K -330.0_340.0Ke +295.0_305.0K +330.0_340.0Ke 270.0K -4000.0_4500.0FHAG -280.0_290.0K -925.0_700.0MB -0.0_1500.0FHAG +4000.0_4500.0FHAG +280.0_290.0K +925.0_700.0MB +0.0_1500.0FHAG 260.0K 10.0TILT -3500.0_4000.0FHAG +3500.0_4000.0FHAG 325.0Ke 285.0K -290.0_300.0Ke +290.0_300.0Ke 7.5TILT 1828.8FHAG 280.0Ke -500.0_450.0MB -305.0_315.0Ke +500.0_450.0MB +305.0_315.0Ke 250.0K 4500.0FHAG 1250.0FHAG -0.0_10000.0FHAG -4500.0_5000.0FHAG -250.0_350.0K +0.0_10000.0FHAG +4500.0_5000.0FHAG +250.0_350.0K 270.0Ke 275.0K 315.0Ke -500.0_300.0MB -350.0_300.0MB +500.0_300.0MB +350.0_300.0MB 750.0FHAG 19.5TILT -2000.0_2500.0FHAG -850.0_700.0MB +2000.0_2500.0FHAG +850.0_700.0MB 350.0K 265.0K 6000.0FHAG -8000.0_9000.0FHAG -700.0_300.0LYRMB -850.0_700.0LYRMB +8000.0_9000.0FHAG +700.0_300.0LYRMB +850.0_700.0LYRMB +1000.0_500.0LYRMB
      @@ -894,28 +897,28 @@ single forecast cycle.

      list(fcstRun)
    -
    [<DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 18:00:00 >,
    - <DataTime instance: 2020-09-04 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 >,
    + <DataTime instance: 2021-06-01 18:00:00 >]
     
    @@ -935,7 +938,7 @@ it’s time to request the data array from EDEX.

    print(data.shape)
    -
    Time : 2020-09-04 18:00:00
    +
    Time : 2021-06-01 18:00:00
     Model: RAP13
     Parm : T
     Unit : K
    @@ -943,56 +946,6 @@ it’s time to request the data array from EDEX.

    -
    -

    Plotting with Matplotlib and Cartopy

    -

    1. pcolormesh

    -
    %matplotlib inline
    -import matplotlib.pyplot as plt
    -import matplotlib
    -import cartopy.crs as ccrs
    -import cartopy.feature as cfeature
    -from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
    -import numpy as np
    -import numpy.ma as ma
    -from scipy.io import loadmat
    -from scipy.constants import convert_temperature
    -def make_map(bbox, projection=ccrs.PlateCarree()):
    -    fig, ax = plt.subplots(figsize=(16, 9),
    -                           subplot_kw=dict(projection=projection))
    -    ax.set_extent(bbox)
    -    ax.coastlines(resolution='50m')
    -    gl = ax.gridlines(draw_labels=True)
    -    gl.top_labels = gl.right_labels = False
    -    gl.xformatter = LONGITUDE_FORMATTER
    -    gl.yformatter = LATITUDE_FORMATTER
    -    return fig, ax
    -
    -#convert temp from K to F
    -dataf = convert_temperature(data, 'K', 'F')
    -
    -cmap = plt.get_cmap('rainbow')
    -bbox = [lons.min(), lons.max(), lats.min(), lats.max()]
    -fig, ax = make_map(bbox=bbox)
    -cs = ax.pcolormesh(lons, lats, dataf, cmap=cmap)
    -cbar = fig.colorbar(cs, extend='both', shrink=0.5, orientation='horizontal')
    -cbar.set_label(grid.getLocationName() +" " + grid.getLevel() + " " \
    -               + grid.getParameter() + " (F) " \
    -               + "valid " + str(grid.getDataTime().getRefTime()))
    -
    -
    -../../_images/Grid_Levels_and_Parameters_16_0.png -

    2. contourf

    -
    fig2, ax2 = make_map(bbox=bbox)
    -cs2 = ax2.contourf(lons, lats, dataf, 80, cmap=cmap,
    -                  vmin=dataf.min(), vmax=dataf.max(), extend='both')
    -cbar2 = fig2.colorbar(cs2, shrink=0.5, orientation='horizontal')
    -cbar2.set_label(grid.getLocationName() +" " + grid.getLevel() + " " \
    -               + grid.getParameter() + " (F) " \
    -               + "valid " + str(grid.getDataTime().getRefTime()))
    -
    -
    -../../_images/Grid_Levels_and_Parameters_18_0.png -
    diff --git a/examples/generated/METAR_Station_Plot_with_MetPy.html b/examples/generated/METAR_Station_Plot_with_MetPy.html index 60988f3..2b31bb0 100644 --- a/examples/generated/METAR_Station_Plot_with_MetPy.html +++ b/examples/generated/METAR_Station_Plot_with_MetPy.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/examples/generated/Map_Resources_and_Topography.html b/examples/generated/Map_Resources_and_Topography.html index e701df8..0986160 100644 --- a/examples/generated/Map_Resources_and_Topography.html +++ b/examples/generated/Map_Resources_and_Topography.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/examples/generated/Model_Sounding_Data.html b/examples/generated/Model_Sounding_Data.html index 4e7e655..c20aa8a 100644 --- a/examples/generated/Model_Sounding_Data.html +++ b/examples/generated/Model_Sounding_Data.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/examples/generated/NEXRAD_Level3_Radar.html b/examples/generated/NEXRAD_Level3_Radar.html index c4477a8..dfdb02e 100644 --- a/examples/generated/NEXRAD_Level3_Radar.html +++ b/examples/generated/NEXRAD_Level3_Radar.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + @@ -279,7 +282,7 @@
    Recs :  1
     Time : 2018-10-17 16:37:23
    -Name : kmhx_0.0_464_464
    +Name : kmhx_0.0_464_464
     Prod : Composite Refl
     Range: 5.0  to  50.0  (Unit : dBZ )
     Size : (464, 464)
    @@ -291,7 +294,7 @@
     
     Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_230_360_0.0_359.0
    +Name : kmhx_0.0_230_360_0.0_359.0
     Prod : Digital Hybrid Scan Refl
     Range: -27.5  to  51.5  (Unit : dBZ )
     Size : (230, 360)
    @@ -300,7 +303,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_3.png
     
    Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_920_360_0.0_359.0
    +Name : kmhx_0.0_920_360_0.0_359.0
     Prod : Digital Inst Precip Rate
     Range: 7.0555557e-09  to  2.3071667e-05  (Unit : m*sec^-1 )
     Size : (920, 360)
    @@ -309,7 +312,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_5.png
     
    Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_13_13
    +Name : kmhx_0.0_13_13
     Prod : Digital Precip Array
     Range: 190.0  to  690.0  (Unit : count )
     Size : (13, 13)
    @@ -318,7 +321,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_7.png
     
    Recs :  1
     Time : 2018-10-17 16:37:23
    -Name : kmhx_0.0_460_360_0.0_359.0
    +Name : kmhx_0.0_460_360_0.0_359.0
     Prod : Digital Vert Integ Liq
     Range: 0.0  to  18.834518  (Unit : kg*m^-2 )
     Size : (460, 360)
    @@ -327,7 +330,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_9.png
     
    Recs :  1
     Time : 2018-10-17 16:37:23
    -Name : kmhx_0.0_116_116
    +Name : kmhx_0.0_116_116
     Prod : Echo Tops
     Range: 0.0  to  12192.0  (Unit : m )
     Size : (116, 116)
    @@ -336,7 +339,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_11.png
     
    Recs :  1
     Time : 2018-10-17 16:37:23
    -Name : kmhx_0.0_346_360_0.0_359.0
    +Name : kmhx_0.0_346_360_0.0_359.0
     Prod : Enhanced Echo Tops
     Range: nan  to  nan  (Unit : m )
     Size : (346, 360)
    @@ -345,7 +348,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_13.png
     
    Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_920_360_0.0_359.0
    +Name : kmhx_0.0_920_360_0.0_359.0
     Prod : Hybrid Hydrometeor Class
     Range: 1.0  to  14.0  (Unit : count )
     Size : (920, 360)
    @@ -359,7 +362,7 @@
     
     Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_115_360_359.0_359.0
    +Name : kmhx_0.0_115_360_359.0_359.0
     Prod : One Hour Accum
     Range: 0.0  to  0.0127  (Unit : m )
     Size : (115, 360)
    @@ -368,7 +371,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_17.png
     
    Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_920_360_0.0_359.0
    +Name : kmhx_0.0_920_360_0.0_359.0
     Prod : One Hour Diff
     Range: -0.008382  to  0.0027720002  (Unit : m )
     Size : (920, 360)
    @@ -377,7 +380,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_19.png
     
    Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_115_360_359.0_359.0
    +Name : kmhx_0.0_115_360_359.0_359.0
     Prod : One Hour Precip
     Range: 0.0  to  0.0127  (Unit : m )
     Size : (115, 360)
    @@ -386,7 +389,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_21.png
     
    Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_920_360_0.0_359.0
    +Name : kmhx_0.0_920_360_0.0_359.0
     Prod : One Hour Unbiased Accum
     Range: 2.5775646e-05  to  0.017472787  (Unit : m )
     Size : (920, 360)
    @@ -399,7 +402,7 @@
     
     Recs :  2
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_920_360_0.0_359.0
    +Name : kmhx_0.0_920_360_0.0_359.0
     Prod : Storm Total Accum
     Range: 0.000508  to  0.082804  (Unit : m )
     Size : (920, 360)
    @@ -408,7 +411,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_25.png
     
    Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_920_360_0.0_359.0
    +Name : kmhx_0.0_920_360_0.0_359.0
     Prod : Storm Total Diff
     Range: -0.08255  to  0.019499999  (Unit : m )
     Size : (920, 360)
    @@ -417,7 +420,7 @@
     ../../_images/NEXRAD_Level3_Radar_2_27.png
     
    Recs :  2
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_116_360_0.0_359.0
    +Name : kmhx_0.0_116_360_0.0_359.0
     Prod : Storm Total Precip
     Range: 0.0  to  0.088392  (Unit : m )
     Size : (116, 360)
    @@ -428,7 +431,7 @@
     
     Recs :  1
     Time : 2018-10-17 16:11:08
    -Name : kmhx_0.0_920_360_0.0_359.0
    +Name : kmhx_0.0_920_360_0.0_359.0
     Prod : User Select Accum
     Range: 2.5399999e-05  to  0.033959802  (Unit : m )
     Size : (920, 360)
    @@ -439,7 +442,7 @@
     
     Recs :  1
     Time : 2018-10-17 16:42:31
    -Name : kmhx_0.0_116_116
    +Name : kmhx_0.0_116_116
     Prod : Vert Integ Liq
     Range: 1.0  to  20.0  (Unit : kg*m^-2 )
     Size : (116, 116)
    diff --git a/examples/generated/Precip_Accumulation-Region_Of_Interest.html b/examples/generated/Precip_Accumulation-Region_Of_Interest.html
    index 7ed5b56..b2d1c5c 100644
    --- a/examples/generated/Precip_Accumulation-Region_Of_Interest.html
    +++ b/examples/generated/Precip_Accumulation-Region_Of_Interest.html
    @@ -13,6 +13,8 @@
       
       
       
    +  
    +  
     
       
       
    @@ -29,6 +31,7 @@
       
         
           
    +        
             
             
             
    diff --git a/examples/generated/Regional_Surface_Obs_Plot.html b/examples/generated/Regional_Surface_Obs_Plot.html
    index 0fbc6a1..a9fd17b 100644
    --- a/examples/generated/Regional_Surface_Obs_Plot.html
    +++ b/examples/generated/Regional_Surface_Obs_Plot.html
    @@ -13,6 +13,8 @@
       
       
       
    +  
    +  
     
       
       
    @@ -29,6 +31,7 @@
       
         
           
    +        
             
             
             
    diff --git a/examples/generated/Satellite_Imagery.html b/examples/generated/Satellite_Imagery.html
    index 8f1872f..d9da8db 100644
    --- a/examples/generated/Satellite_Imagery.html
    +++ b/examples/generated/Satellite_Imagery.html
    @@ -13,6 +13,8 @@
       
       
       
    +  
    +  
     
       
       
    @@ -29,6 +31,7 @@
       
         
           
    +        
             
             
             
    diff --git a/examples/generated/Upper_Air_BUFR_Soundings.html b/examples/generated/Upper_Air_BUFR_Soundings.html
    index 0f3c5cb..39a7308 100644
    --- a/examples/generated/Upper_Air_BUFR_Soundings.html
    +++ b/examples/generated/Upper_Air_BUFR_Soundings.html
    @@ -13,6 +13,8 @@
       
       
       
    +  
    +  
     
       
       
    @@ -29,6 +31,7 @@
       
         
           
    +        
             
             
             
    diff --git a/examples/generated/Watch_and_Warning_Polygons.html b/examples/generated/Watch_and_Warning_Polygons.html
    index f89517c..4a77218 100644
    --- a/examples/generated/Watch_and_Warning_Polygons.html
    +++ b/examples/generated/Watch_and_Warning_Polygons.html
    @@ -13,6 +13,8 @@
       
       
       
    +  
    +  
     
       
       
    @@ -29,6 +31,7 @@
       
         
           
    +        
             
             
             
    diff --git a/examples/index.html b/examples/index.html
    index 9b1d3ff..e70f66b 100644
    --- a/examples/index.html
    +++ b/examples/index.html
    @@ -13,6 +13,8 @@
       
       
       
    +  
    +  
     
       
       
    @@ -29,6 +31,7 @@
       
         
           
    +        
             
             
             
    diff --git a/genindex.html b/genindex.html
    index 4b94010..e9e1563 100644
    --- a/genindex.html
    +++ b/genindex.html
    @@ -13,6 +13,8 @@
       
       
       
    +  
    +  
     
       
       
    @@ -29,6 +31,7 @@
       
         
           
    +        
             
             
             
    @@ -163,430 +166,8 @@
     

    Index

    - _ - | A - | C - | D - | E - | G - | I - | L - | M - | N - | P - | S - | T
    -

    _

    - - -
    - -

    A

    - - - -
      -
    • - awips.dataaccess.ThriftClientRouter - -
    • -
    • - awips.DateTimeConverter - -
    • -
    • - awips.gfe.IFPClient - -
    • -
    • - awips.RadarCommon - -
    • -
    • - awips.ThriftClient - -
    • -
    • - awips.TimeUtil - -
    • -
    - -

    C

    - - - -
    - -

    D

    - - -
    - -

    E

    - - - -
    - -

    G

    - - - -
    - -

    I

    - - - -
    - -

    L

    - - -
    - -

    M

    - - -
    - -

    N

    - - -
    - -

    P

    - - - -
    - -

    S

    - - - -
    - -

    T

    - - - -
    -
    diff --git a/gridparms.html b/gridparms.html index c040fda..deaa29f 100644 --- a/gridparms.html +++ b/gridparms.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/index.html b/index.html index a014907..5bb3973 100644 --- a/index.html +++ b/index.html @@ -13,6 +13,8 @@ + + @@ -29,6 +31,7 @@ + diff --git a/objects.inv b/objects.inv index 05c539f..08a9c79 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/py-modindex.html b/py-modindex.html deleted file mode 100644 index 55ef68b..0000000 --- a/py-modindex.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - - - - - Python Module Index — python-awips documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - - - -
    - -
    - - - - - - - - - - - - - - - - - - - -
    - -
      - -
    • »
    • - -
    • Python Module Index
    • - - -
    • - -
    • - -
    - - -
    -
    -
    -
    - - -

    Python Module Index

    - -
    - a -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     
    - a
    - awips -
        - awips.dataaccess.CombinedTimeQuery -
        - awips.dataaccess.DataAccessLayer -
        - awips.dataaccess.ModelSounding -
        - awips.dataaccess.PyData -
        - awips.dataaccess.PyGeometryData -
        - awips.dataaccess.PyGridData -
        - awips.dataaccess.ThriftClientRouter -
        - awips.DateTimeConverter -
        - awips.gfe.IFPClient -
        - awips.RadarCommon -
        - awips.ThriftClient -
        - awips.TimeUtil -
    - - -
    - -
    -
    - -
    - -
    -

    - © Copyright 2018, Unidata. - -

    -
    - - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
    -
    -
    - -
    - -
    - - - - - - - - - - - \ No newline at end of file diff --git a/search.html b/search.html index 0155b98..35052e8 100644 --- a/search.html +++ b/search.html @@ -13,6 +13,8 @@ + + @@ -30,6 +32,7 @@ + diff --git a/searchindex.js b/searchindex.js index dd714fe..3919081 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["about","api/CombinedTimeQuery","api/DataAccessLayer","api/DateTimeConverter","api/IDataRequest","api/IFPClient","api/ModelSounding","api/PyData","api/PyGeometryData","api/PyGridData","api/RadarCommon","api/ThriftClient","api/ThriftClientRouter","api/TimeUtil","api/index","datatypes","dev","examples/generated/AWIPS_Grids_and_Cartopy","examples/generated/Colored_Surface_Temperature_Plot","examples/generated/Forecast_Model_Vertical_Sounding","examples/generated/GOES_Geostationary_Lightning_Mapper","examples/generated/Grid_Levels_and_Parameters","examples/generated/METAR_Station_Plot_with_MetPy","examples/generated/Map_Resources_and_Topography","examples/generated/Model_Sounding_Data","examples/generated/NEXRAD_Level3_Radar","examples/generated/Precip_Accumulation-Region_Of_Interest","examples/generated/Regional_Surface_Obs_Plot","examples/generated/Satellite_Imagery","examples/generated/Upper_Air_BUFR_Soundings","examples/generated/Watch_and_Warning_Polygons","examples/index","gridparms","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["about.rst","api/CombinedTimeQuery.rst","api/DataAccessLayer.rst","api/DateTimeConverter.rst","api/IDataRequest.rst","api/IFPClient.rst","api/ModelSounding.rst","api/PyData.rst","api/PyGeometryData.rst","api/PyGridData.rst","api/RadarCommon.rst","api/ThriftClient.rst","api/ThriftClientRouter.rst","api/TimeUtil.rst","api/index.rst","datatypes.rst","dev.rst","examples/generated/AWIPS_Grids_and_Cartopy.rst","examples/generated/Colored_Surface_Temperature_Plot.rst","examples/generated/Forecast_Model_Vertical_Sounding.rst","examples/generated/GOES_Geostationary_Lightning_Mapper.rst","examples/generated/Grid_Levels_and_Parameters.rst","examples/generated/METAR_Station_Plot_with_MetPy.rst","examples/generated/Map_Resources_and_Topography.rst","examples/generated/Model_Sounding_Data.rst","examples/generated/NEXRAD_Level3_Radar.rst","examples/generated/Precip_Accumulation-Region_Of_Interest.rst","examples/generated/Regional_Surface_Obs_Plot.rst","examples/generated/Satellite_Imagery.rst","examples/generated/Upper_Air_BUFR_Soundings.rst","examples/generated/Watch_and_Warning_Polygons.rst","examples/index.rst","gridparms.rst","index.rst"],objects:{"awips.DateTimeConverter":{constructTimeRange:[3,1,1,""],convertToDateTime:[3,1,1,""]},"awips.RadarCommon":{encode_dep_vals:[10,1,1,""],encode_radial:[10,1,1,""],encode_thresh_vals:[10,1,1,""],get_data_type:[10,1,1,""],get_datetime_str:[10,1,1,""],get_hdf5_data:[10,1,1,""],get_header:[10,1,1,""]},"awips.ThriftClient":{ThriftClient:[11,2,1,""],ThriftRequestException:[11,4,1,""]},"awips.ThriftClient.ThriftClient":{sendRequest:[11,3,1,""]},"awips.TimeUtil":{determineDrtOffset:[13,1,1,""],makeTime:[13,1,1,""]},"awips.dataaccess":{CombinedTimeQuery:[1,0,0,"-"],DataAccessLayer:[2,0,0,"-"],IDataRequest:[4,2,1,""],ModelSounding:[6,0,0,"-"],PyData:[7,0,0,"-"],PyGeometryData:[8,0,0,"-"],PyGridData:[9,0,0,"-"],ThriftClientRouter:[12,0,0,"-"]},"awips.dataaccess.CombinedTimeQuery":{getAvailableTimes:[1,1,1,""]},"awips.dataaccess.DataAccessLayer":{changeEDEXHost:[2,1,1,""],getAvailableLevels:[2,1,1,""],getAvailableLocationNames:[2,1,1,""],getAvailableParameters:[2,1,1,""],getAvailableTimes:[2,1,1,""],getForecastRun:[2,1,1,""],getGeometryData:[2,1,1,""],getGridData:[2,1,1,""],getIdentifierValues:[2,1,1,""],getMetarObs:[2,1,1,""],getOptionalIdentifiers:[2,1,1,""],getRadarProductIDs:[2,1,1,""],getRadarProductNames:[2,1,1,""],getRequiredIdentifiers:[2,1,1,""],getSupportedDatatypes:[2,1,1,""],getSynopticObs:[2,1,1,""],newDataRequest:[2,1,1,""],setLazyLoadGridLatLon:[2,1,1,""]},"awips.dataaccess.IDataRequest":{__weakref__:[4,5,1,""],addIdentifier:[4,3,1,""],getDatatype:[4,3,1,""],getEnvelope:[4,3,1,""],getIdentifiers:[4,3,1,""],getLevels:[4,3,1,""],getLocationNames:[4,3,1,""],setDatatype:[4,3,1,""],setEnvelope:[4,3,1,""],setLevels:[4,3,1,""],setLocationNames:[4,3,1,""],setParameters:[4,3,1,""]},"awips.dataaccess.ModelSounding":{changeEDEXHost:[6,1,1,""],getSounding:[6,1,1,""]},"awips.dataaccess.PyData":{PyData:[7,2,1,""]},"awips.dataaccess.PyData.PyData":{getAttribute:[7,3,1,""],getAttributes:[7,3,1,""],getDataTime:[7,3,1,""],getLevel:[7,3,1,""],getLocationName:[7,3,1,""]},"awips.dataaccess.PyGeometryData":{PyGeometryData:[8,2,1,""]},"awips.dataaccess.PyGeometryData.PyGeometryData":{getGeometry:[8,3,1,""],getNumber:[8,3,1,""],getParameters:[8,3,1,""],getString:[8,3,1,""],getType:[8,3,1,""],getUnit:[8,3,1,""]},"awips.dataaccess.PyGridData":{PyGridData:[9,2,1,""]},"awips.dataaccess.PyGridData.PyGridData":{getLatLonCoords:[9,3,1,""],getParameter:[9,3,1,""],getRawData:[9,3,1,""],getUnit:[9,3,1,""]},"awips.dataaccess.ThriftClientRouter":{LazyGridLatLon:[12,2,1,""],ThriftClientRouter:[12,2,1,""]},"awips.dataaccess.ThriftClientRouter.ThriftClientRouter":{getAvailableLevels:[12,3,1,""],getAvailableLocationNames:[12,3,1,""],getAvailableParameters:[12,3,1,""],getAvailableTimes:[12,3,1,""],getGeometryData:[12,3,1,""],getGridData:[12,3,1,""],getIdentifierValues:[12,3,1,""],getNotificationFilter:[12,3,1,""],getOptionalIdentifiers:[12,3,1,""],getRequiredIdentifiers:[12,3,1,""],getSupportedDatatypes:[12,3,1,""],newDataRequest:[12,3,1,""],setLazyLoadGridLatLon:[12,3,1,""]},"awips.gfe":{IFPClient:[5,0,0,"-"]},"awips.gfe.IFPClient":{IFPClient:[5,2,1,""]},"awips.gfe.IFPClient.IFPClient":{commitGrid:[5,3,1,""],getGridInventory:[5,3,1,""],getParmList:[5,3,1,""],getSelectTR:[5,3,1,""],getSiteID:[5,3,1,""]},awips:{DateTimeConverter:[3,0,0,"-"],RadarCommon:[10,0,0,"-"],ThriftClient:[11,0,0,"-"],TimeUtil:[13,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","exception","Python exception"],"5":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:exception","5":"py:attribute"},terms:{"000000":27,"000508":25,"001012802000048":27,"0027720002":25,"005":19,"008382":25,"00hpa":28,"0127":25,"017472787":25,"019499999":25,"021388888888888888hr":28,"0290003":26,"02905":27,"02hpa":28,"03199876199994":27,"033959802":25,"0393701":26,"03hpa":28,"04hpa":28,"051":26,"0555557e":25,"071":26,"07hpa":28,"08255":25,"082804":25,"088392":25,"0891":27,"08hpa":28,"092348410":15,"0_100":21,"0_1000":21,"0_10000":21,"0_115_360_359":25,"0_116_116":25,"0_116_360_0":25,"0_120":21,"0_12000":21,"0_13_13":25,"0_150":21,"0_1500":21,"0_180":21,"0_200":21,"0_2000":21,"0_230_360_0":25,"0_250":21,"0_2500":21,"0_260":21,"0_265":21,"0_270":21,"0_275":21,"0_280":21,"0_285":21,"0_290":21,"0_295":21,"0_30":21,"0_300":21,"0_3000":21,"0_305":21,"0_310":21,"0_315":21,"0_320":21,"0_325":21,"0_330":21,"0_335":21,"0_340":21,"0_345":21,"0_346_360_0":25,"0_350":21,"0_3500":21,"0_359":25,"0_400":21,"0_4000":21,"0_40000":21,"0_450":21,"0_4500":21,"0_460_360_0":25,"0_464_464":25,"0_500":21,"0_5000":21,"0_550":21,"0_5500":21,"0_60":21,"0_600":21,"0_6000":21,"0_609":21,"0_610":21,"0_650":21,"0_700":21,"0_7000":21,"0_750":21,"0_800":21,"0_8000":21,"0_850":21,"0_90":21,"0_900":21,"0_9000":21,"0_920_360_0":25,"0_950":21,"0bl":21,"0co":22,"0deg":32,"0fhag":[15,17,19,21],"0ke":21,"0lyrmb":21,"0maxomega":21,"0mb":[19,21],"0pv":21,"0sfc":[21,26],"0tilt":21,"0trop":21,"0x11b971da0":26,"0x11dcfedd8":27,"0x7ffd0f33c040":23,"100":[19,21,24,29,32],"1000":[19,21,22,24,29,32],"10000":21,"1013":28,"103":28,"104":[19,28],"1042":28,"1058":23,"1070":28,"109":30,"10c":32,"10hpa":28,"10m":32,"110":28,"1100":28,"112":24,"115":25,"1152x1008":28,"116":25,"116167":28,"117":28,"118":22,"11hpa":28,"120":[18,21,26,32],"1203":23,"12192":25,"125":[21,26,28],"1250":21,"127":[26,30],"12h":32,"12hpa":28,"131":32,"133":28,"134":25,"135":25,"137":32,"138":25,"139":26,"13hpa":28,"140":26,"1400":23,"141":25,"142":28,"1440":32,"14hpa":28,"150":21,"1500":21,"151":28,"152":27,"1524":21,"159":25,"15c":32,"15hpa":28,"160":28,"161":25,"163":25,"165":25,"166":25,"1688":23,"169":25,"1693":23,"1694":23,"170":[25,28],"1701":23,"1703":23,"1706":23,"171":25,"1716":23,"172":25,"173":25,"1730":23,"174":25,"1741":23,"1746":23,"175":[21,25],"1753":23,"176":25,"1767":23,"177":25,"1781":23,"1790004":26,"17hpa":28,"180":28,"1828":21,"1875":26,"1890006":26,"18hpa":28,"190":[25,28],"19hpa":28,"19um":28,"1mb":19,"1st":32,"1v4":24,"1x1":32,"200":[21,28,32],"2000":21,"2000m":32,"201":32,"2016":16,"2018":[19,25,28],"202":32,"2020":[21,24],"203":32,"204":32,"205":32,"206":32,"207":32,"207see":32,"208":[23,32],"209":32,"20b2aa":23,"20c":32,"20um":28,"210":32,"211":32,"212":[28,32],"215":32,"216":32,"217":32,"218":32,"219":32,"222":32,"223":[28,32],"224":32,"225":[21,23],"22hpa":28,"230":25,"235":28,"23hpa":28,"240":32,"243":24,"247":28,"24799":28,"24h":32,"24hpa":28,"250":[21,32],"2500":21,"252":32,"253":32,"254":32,"255":[21,22],"259":28,"25um":28,"260":[21,27],"263":24,"265":21,"26c":32,"26hpa":28,"270":21,"272":28,"273":[19,24,29],"2743":21,"274543999":15,"275":21,"27hpa":28,"280":21,"280511999":15,"285":21,"285491999":15,"286":28,"290":21,"295":[21,26],"2960005":26,"2fhag":[16,21],"2km":32,"2nd":32,"2pi":32,"300":[21,26,28,32],"3000":21,"3048":21,"305":21,"3071667e":25,"30hpa":28,"30m":32,"30um":28,"310":21,"3125":26,"314":28,"315":21,"31hpa":28,"320":21,"325":21,"328":28,"32hpa":28,"330":21,"334":26,"335":21,"337":21,"339":26,"340":21,"343":28,"345":21,"346":25,"3468":27,"34hpa":28,"34um":28,"350":21,"3500":21,"358":28,"35hpa":28,"35um":28,"360":[25,32],"3600":[26,28],"3657":21,"36shrmi":21,"374":28,"375":[21,26],"37hpa":28,"38hpa":28,"38um":28,"390":28,"3j2":24,"3rd":32,"3tilt":21,"400":21,"4000":21,"400hpa":32,"407":28,"40km":19,"41999816894531":24,"41hpa":28,"422266":28,"424":28,"425":21,"4328":23,"43hpa":28,"441":28,"4420482":26,"44848":27,"44hpa":28,"450":21,"4500":21,"451":21,"45227":28,"4572":21,"459":28,"45hpa":28,"460":25,"464":25,"46hpa":28,"47462":28,"475":21,"477":28,"47hpa":28,"47um":28,"496":28,"4bl":24,"4bq":24,"4hv":24,"4lftx":32,"4mb":19,"4om":24,"4th":32,"4tilt":21,"500":[21,28,32],"5000":[21,23],"50934":27,"50dbzz":21,"50hpa":28,"50m":[17,18,20,21,23,25,26,28,30],"50um":28,"515":28,"51hpa":28,"521051616000022":27,"525":21,"5290003":26,"52hpa":28,"535":28,"5364203":26,"5399999e":25,"53hpa":28,"54hpa":28,"550":21,"5500":21,"555":28,"5625":26,"575":[21,28],"5775646e":25,"57hpa":28,"58hpa":28,"596":28,"59hpa":28,"5af":24,"5ag":24,"5pv":21,"5sz":24,"5tilt":21,"5wava":32,"5wavh":32,"600":21,"6000":21,"609":21,"6096":21,"610":21,"61595":28,"617":28,"61um":28,"623":23,"625":[21,26],"626":26,"628002":26,"62hpa":28,"63429260299995":27,"639":28,"63hpa":28,"64um":28,"650":21,"65000152587891":24,"65155":27,"652773000":15,"65293884277344":15,"656933000":15,"657455":28,"65hpa":28,"660741000":15,"661":28,"66553":27,"670002":26,"67402":27,"675":21,"67hpa":28,"683":28,"6875":26,"68hpa":28,"690":25,"69hpa":28,"6fhag":21,"6km":32,"6mb":19,"6ro":24,"700":21,"7000":21,"706":28,"70851":28,"70hpa":28,"718":26,"71hpa":28,"725":21,"72562":29,"729":28,"72hpa":28,"750":21,"75201":27,"753":28,"757":23,"758":23,"759":23,"760":23,"761":23,"762":23,"7620":21,"765":23,"766":23,"768":23,"769":23,"775":[21,23],"777":28,"778":23,"782322971":15,"78hpa":28,"79354":27,"797777777777778hr":28,"79hpa":28,"7mb":19,"7tilt":21,"800":21,"8000":21,"802":28,"812":26,"825":21,"82676":27,"8269997":26,"827":28,"834518":25,"836":19,"837":19,"848":19,"850":21,"852":28,"853":26,"85hpa":28,"86989b":23,"875":[21,26],"878":28,"87hpa":28,"87um":28,"88hpa":28,"89899":27,"89hpa":28,"8fhag":21,"8tilt":21,"8v7":24,"900":21,"9000":21,"904":28,"90um":28,"911":18,"9144":21,"920":25,"921":18,"925":21,"92hpa":28,"931":28,"93574":27,"94384":24,"948581075":15,"94915580749512":15,"950":21,"958":28,"9581":11,"95hpa":28,"95um":28,"96hpa":28,"975":21,"97hpa":28,"986":28,"98hpa":28,"992865960":15,"9999":[18,22,26,27,29],"99hpa":28,"9b6":24,"9tilt":21,"\u03c9":32,"\u03c9\u03c9":32,"\u03c9q":32,"\u03c9t":32,"abstract":[4,16],"boolean":[2,10],"break":16,"byte":32,"case":[16,24,29],"class":[4,5,7,8,9,11,12,16,19,22,25],"default":[0,6,16,30],"enum":16,"export":0,"final":[6,21,32],"float":[3,8,16,18,19,22,27,32],"function":[0,16,22,27,30,32],"import":[16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],"int":[3,8,16,18,22,23,26,27,32],"long":[3,8,16,32],"new":[2,18,21,24,26,27,33],"null":16,"public":[0,16],"return":[2,3,4,6,7,8,9,10,15,16,17,19,21,22,23,24,25,26,27,28,29,30,32],"short":32,"super":32,"switch":19,"throw":[2,16],"transient":32,"true":[2,15,17,19,21,22,23,24,25,26,27,28,30,32],"try":[22,24,27],"void":16,"while":[16,27,29],Age:32,Axes:[18,28],BIS:22,BLS:24,BOS:22,Bas:32,CHS:22,CVS:24,DYS:24,FCS:24,For:[0,16,21,23,29],GFS:[21,24],GIS:23,GMS:28,GVS:24,HYS:24,ICE:32,ICED:32,ILS:24,Ice:32,Icing:32,Into:21,LOS:32,LPS:32,LUS:24,MRS:24,Near:32,Not:[4,16],Obs:[16,31],One:25,PWS:32,RCS:32,SPS:30,The:[0,16,19,20,23,24,29,32,33],There:[16,19],These:[0,2],Use:23,Used:32,Useful:16,Using:[18,19,23,27,30],VIS:32,Vis:21,WGS:[21,32],With:32,XRS:32,__future__:23,__weakref__:4,_datadict:19,_soundingcub:6,abbrevi:[4,8,9,32],abi:32,abl:[16,24],about:16,abov:[16,19,21,23,32],abq:22,absd:32,absfrq:32,absh:32,absolut:32,absorpt:32,absrb:32,abstractdatapluginfactori:16,abstractgeometrydatabasefactori:16,abstractgeometrytimeagnosticdatabasefactori:16,abstractgriddatapluginfactori:16,absv:32,ac137:32,acar:[16,21],acceler:32,access:[0,2,6,16,23],account:27,accum:[25,32],accumul:[31,32],acond:32,acpcp:32,acpcpn:32,act:6,action:16,activ:[32,33],actp:28,actual:[2,16],acv:22,acwvh:32,adcl:32,add:[4,16,18,22,29],add_barb:[22,27],add_featur:[22,23,27,28,30],add_geometri:26,add_grid:[19,24,29],add_subplot:22,add_valu:[22,27],added:[16,27,32],addidentifi:[4,15,16,20,23,24,27,28],adding:16,addit:[0,16],adiabat:32,adm:24,admin_0_boundary_lines_land:[23,30],admin_1_states_provinces_lin:[23,28,30],adp:28,aerodynam:32,aerosol:32,aetyp:32,afa:24,affect:2,after:[0,16,21],age:32,ageovc:21,ageow:21,ageowm:21,agl:32,agnost:[2,16],ago:28,agr:24,ahn:24,ai131:32,aia:24,aid:20,aih:24,air:[0,31,32],air_pressure_at_sea_level:[22,27],air_temperatur:[22,27],airep:[16,21],airmet:16,airport:16,ajo:24,akh:32,akm:32,alabama:27,alarm:0,albdo:32,albedo:32,alert:[0,16],algorithm:25,all:[0,2,4,6,16,18,19,21,23,29,32,33],allow:[0,2,16,19],along:21,alpha:[23,32],alr:21,alreadi:[22,33],alrrc:32,also:[0,3,15,16],alter:16,altimet:32,altitud:32,altmsl:32,alwai:16,america:[18,22],amixl:32,amount:[16,28,32],amsl:32,amsr:32,amsre10:32,amsre11:32,amsre12:32,amsre9:32,analysi:[0,33],anc:32,ancconvectiveoutlook:32,ancfinalforecast:32,angl:[16,32],ani:[0,2,16,19,23],anisotropi:32,anj:24,annot:23,anomali:32,anoth:16,antarct:28,anyth:16,aod:28,aohflx:32,aosgso:32,apach:0,apcp:32,apcpn:32,api:16,app:16,appar:32,appear:23,append:[19,20,22,23,24,27,29,30],appli:[0,16],applic:[0,23],approach:0,appropri:[0,30],approv:32,appt:21,aptmp:32,apx:24,aqq:24,aqua:32,aradp:32,arain:32,arbitrari:32,arbtxt:32,architectur:16,arctic:28,area:[23,26,28,32],arg:[2,3,4,6,7,8,10,16],argsort:29,argument:3,ari12h1000yr:32,ari12h100yr:32,ari12h10yr:32,ari12h1yr:32,ari12h200yr:32,ari12h25yr:32,ari12h2yr:32,ari12h500yr:32,ari12h50yr:32,ari12h5yr:32,ari1h1000yr:32,ari1h100yr:32,ari1h10yr:32,ari1h1yr:32,ari1h200yr:32,ari1h25yr:32,ari1h2yr:32,ari1h500yr:32,ari1h50yr:32,ari1h5yr:32,ari24h1000yr:32,ari24h100yr:32,ari24h10yr:32,ari24h1yr:32,ari24h200yr:32,ari24h25yr:32,ari24h2yr:32,ari24h500yr:32,ari24h50yr:32,ari24h5yr:32,ari2h1000yr:32,ari2h100yr:32,ari2h10yr:32,ari2h1yr:32,ari2h200yr:32,ari2h25yr:32,ari2h2yr:32,ari2h500yr:32,ari2h50yr:32,ari2h5yr:32,ari30m1000yr:32,ari30m100yr:32,ari30m10yr:32,ari30m1yr:32,ari30m200yr:32,ari30m25yr:32,ari30m2yr:32,ari30m500yr:32,ari30m50yr:32,ari30m5yr:32,ari3h1000yr:32,ari3h100yr:32,ari3h10yr:32,ari3h1yr:32,ari3h200yr:32,ari3h25yr:32,ari3h2yr:32,ari3h500yr:32,ari3h50yr:32,ari3h5yr:32,ari6h1000yr:32,ari6h100yr:32,ari6h10yr:32,ari6h1yr:32,ari6h200yr:32,ari6h25yr:32,ari6h2yr:32,ari6h500yr:32,ari6h50yr:32,ari6h5yr:32,around:16,arrai:[2,9,15,16,18,19,21,22,23,24,25,27,29,30],asd:32,aset:32,asgso:32,ash:32,ashfl:32,asnow:32,assign:29,assimil:32,assist:0,associ:[0,7,9,16,32],assum:24,asymptot:32,ath:24,atl1:24,atl2:24,atl3:24,atl4:24,atl:22,atlh:24,atmdiv:32,atmo:32,atmospher:[21,32],attach:[16,22,27],attempt:16,attent:19,attribut:[7,16,20],automat:16,autosp:21,avail:[0,2,6,16,19,20,21,23,30,32],avail_param:22,available_grid:21,available_loc:25,availablelevel:[15,19,21,25],availableloc:29,availableparm:[2,20,21,25],availableproduct:[15,22,27,28],availablesector:[15,28],averag:32,avg:32,aviat:32,avoid:16,avsft:32,awh:24,awip:[1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,18,19,20,21,22,23,24,25,26,27,28,29,30,31],awips2:[0,24],awr:24,awvh:32,ax2:[17,21],ax_hod:[19,24,29],ax_synop:27,axes_grid1:[19,24,29],axvlin:[19,24,29],azdat:10,azimuth:32,azval:10,bab:24,back:16,backend:0,backscatt:32,band:32,bare:32,baret:32,barotrop:32,base:[0,6,16,24,25,28,32],baseflow:32,baselin:16,basi:6,basin:16,basr:32,basrv:32,bassw:32,bbox:[17,18,19,21,23,25,26,27,28,30],bcbl:32,bcly:32,bctl:32,bcy:32,bde:22,bdept06:21,bdg:[22,24],bdp:24,beam:32,bean:16,becaus:[16,24,27,29],becom:[16,23],been:16,befor:16,begin:22,beginrang:[18,22,27],behavior:16,being:[0,4,16],below:[16,23,32,33],beninx:32,best:[16,32],better:2,between:[0,16,19,32],bfl:24,bgrun:32,bgtl:24,bh1:24,bh2:24,bh3:24,bh4:24,bh5:24,bhk:24,bia:32,bid:24,bil:22,bin:16,binlightn:[16,20,21],binoffset:16,bir:24,bkeng:32,bkn:[22,27],black:[23,26,29,30,32],blackadar:32,blank:30,bld:32,bli:[21,32],blkmag:21,blkshr:21,blob:24,blow:32,blst:32,blu:24,blue:[22,23,27],blysp:32,bmixl:32,bmx:24,bna:24,board:20,bod:24,boi:22,border:22,both:[16,20,21,23,25],bottom:32,bou:23,boulder:23,bound:[16,18,22,23,27,30],boundari:[21,27,32],box:[16,18,26],bra:24,bright:32,brightbandbottomheight:32,brightbandtopheight:32,brn:21,brnehii:21,brnmag:21,brnshr:21,brnvec:21,bro:22,broken:0,browser:33,brtmp:32,btl:24,btot:32,buffer:[23,27],bufr:[24,31],bufrmosavn:21,bufrmoseta:21,bufrmosgf:21,bufrmoshpc:21,bufrmoslamp:21,bufrmosmrf:21,bufrua:[16,21,29],bui:22,build:[3,16,29],bulb:32,bundl:16,bvec1:32,bvec2:32,bvec3:32,bvr:24,bytebufferwrapp:16,c01:24,c02:24,c03:24,c04:24,c06:24,c07:24,c08:24,c09:24,c10:24,c11:24,c12:24,c13:24,c14:24,c17:24,c18:24,c19:24,c20:24,c21:24,c22:24,c23:24,c24:24,c25:24,c27:24,c28:24,c30:24,c31:24,c32:24,c33:24,c34:24,c35:24,c36:24,c7h:24,caesium:32,cai:24,caii:32,caiirad:32,calc:[22,24,27,29],calcul:[16,26,29],call:[0,16,23,33],callabl:21,caller:16,camt:32,can:[0,3,16,21,23,24,27,28,33],canopi:32,capabl:16,capac:32,cape:[21,28,32],capestk:21,capetolvl:21,car:22,carolina:27,cartopi:[18,20,22,23,25,26,27,28,30,31],cat:32,categor:32,categori:[18,22,23,24,25,27,28,30,32],cave:[16,18,33],cbar2:[17,21],cbar:[17,21,23,25,26,28],cbase:32,cbe:24,cbhe:32,cbl:32,cbn:24,cbound:23,cc5000:23,ccape:21,ccbl:32,cceil:32,ccfp:16,ccin:21,ccittia5:32,ccly:32,ccond:32,ccr:[17,18,20,21,22,23,25,26,27,28,30],cctl:32,ccy:32,cdcimr:32,cdcon:32,cdlyr:32,cduvb:32,cdww:32,ceas:32,ceil:32,cell:16,cent:32,center:[0,32,33],cento:0,central_latitud:[22,27],central_longitud:[20,22,27],certain:[2,16],cfeat:[20,28],cfeatur:[21,22,27,30],cfnlf:32,cfnsf:32,cfrzr:[21,32],chang:[2,6,16,22,23,32],changeedexhost:[2,6,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30],channel:32,chart:29,che:24,chill:32,choos:16,cice:32,cicel:32,cicep:[21,32],ciflt:32,cin:[21,32],cisoilw:32,citylist:23,citynam:23,civi:32,ckn:24,cld:24,cldcvr:24,cle:[22,24],clean:[16,19],clear:32,clg:32,clgtn:32,click:0,client:[0,2,12],climat:21,clip_on:[22,27],cln:24,clone:33,cloud:[15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32],cloud_coverag:[22,27],cloudcov:32,cloudm:32,clt:22,clwmr:32,cmap:[17,21,23,25,26,28],cmc:[19,21],cngwdu:32,cngwdv:32,cnvdemf:32,cnvdmf:32,cnvhr:32,cnvmr:32,cnvu:32,cnvumf:32,cnvv:32,cnwat:32,coars:32,coastlin:[17,18,20,21,22,23,25,26,28,30],code:[0,16,22,25,27,32],coe:22,coeff:25,coeffici:32,col1:24,col2:24,col3:24,col4:24,col:32,collect:20,color:[19,22,24,27,29,30,31],colorado:23,colorbar:[17,21,23,25,26,28],column:[23,28,32],com:[0,16,18,22,24,27,33],combin:[2,16,32],combinedtimequeri:14,come:16,command:0,commerci:0,commitgrid:5,common:[0,16,18,22,27],common_obs_spati:21,commun:[0,2,6],compat:[0,16],complet:16,compon:[0,19,22,24,27,32],component_rang:[19,24,29],compos:0,composit:[0,25,28,32],compositereflectivitymaxhourli:32,compris:0,concaten:[24,29],concentr:32,concept:16,cond:32,condens:32,condit:[2,32],condp:32,conduct:[0,32],conf:0,confid:32,configur:0,connect:[2,6,21],consid:[0,16,32],consider:2,consist:[0,16],constant:[21,24,29],constrain:4,construct:24,constructor:16,constructtimerang:3,cont:32,contain:[0,16],contb:32,content:[16,32],contet:32,conti:32,continu:[16,25,28,29],contourf:[21,23],contrail:32,control:0,contrust:[15,28],contt:32,conu:[18,23,26,28,32],conus_envelop:26,conusmergedreflect:32,conusplusmergedreflect:32,convect:32,conveni:[2,16],converg:32,convers:3,convert:[3,16,18,19,21,22,27],convert_temperatur:21,converttodatetim:3,convp:32,coolwarm:28,coordin:[0,9,16,32],copi:18,corf:21,corff:21,corffm:21,corfm:21,coronagraph:32,correct:[22,27,32],correl:[16,25],correspond:16,cosd:16,cosmic:32,cot:[0,24],could:[2,16],count:[23,25,32],counti:[16,27],covari:32,cover:[21,24,32],coverag:32,covmm:32,covmz:32,covpsp:32,covqm:32,covqq:32,covqvv:32,covqz:32,covtm:32,covtt:32,covtvv:32,covtw:32,covtz:32,covvvvv:32,covzz:32,cp1hr:21,cpofp:32,cpozp:32,cppaf:32,cpr:[21,22],cprat:32,cprd:21,cqv:24,crain:[21,32],creat:[0,2,16,18,19,20,21,22,24,26,27,29,30,33],creatingent:[15,28],crest:32,crestmaxstreamflow:32,crestmaxustreamflow:32,crestsoilmoistur:32,critic:32,critt1:21,crl:24,cross:32,crr:24,crs:[17,18,20,21,22,23,25,26,27,28,30],crswkt:12,crtfrq:32,crw:22,cs2:[17,21],csdlf:32,csdsf:32,csm:28,csnow:[21,32],csrate:32,csrwe:32,csulf:32,csusf:32,cth:28,ctl:32,ctop:32,ctophqi:32,ctot:21,ctp:32,ctstm:32,ctt:28,cty:24,ctyp:32,cuefi:32,cultur:[23,28,30],cumnrm:21,cumshr:21,cumulonimbu:32,current:[16,32],curu:21,custom:16,custom_layout:[22,27],cvm:24,cwat:32,cwdi:32,cweu:24,cwfn:24,cwkx:24,cwlb:24,cwlo:24,cwlt:24,cwlw:24,cwmw:24,cwo:24,cwork:32,cwp:32,cwph:24,cwqg:24,cwr:32,cwsa:24,cwse:24,cwzb:24,cwzc:24,cwzv:24,cxr:21,cyah:24,cyaw:24,cybk:24,cybu:24,cycb:24,cycg:24,cycl:[2,15,17,19,21,24,25,26],cyclon:32,cycx:24,cyda:24,cyeg:24,cyev:24,cyf:24,cyfb:24,cyfo:24,cygq:24,cyhm:24,cyhz:24,cyjt:24,cylh:24,cylj:24,cymd:24,cymo:24,cymt:24,cymx:24,cyoc:24,cyow:24,cypa:24,cype:24,cypl:24,cypq:24,cyqa:24,cyqd:24,cyqg:24,cyqh:24,cyqi:24,cyqk:24,cyqq:24,cyqr:24,cyqt:24,cyqx:24,cyrb:24,cysi:24,cysm:24,cyt:24,cyth:24,cytl:24,cyul:24,cyux:24,cyvo:24,cyvp:24,cyvq:24,cyvr:24,cyvv:24,cywa:24,cywg:24,cywo:24,cyx:24,cyxc:24,cyxh:24,cyxi:24,cyxu:24,cyxx:24,cyxz:24,cyy:24,cyyb:24,cyyc:24,cyyj:24,cyyq:24,cyyr:24,cyyt:24,cyyz:24,cyz:24,cyzf:24,cyzt:24,cyzv:24,d2d:0,d2dgriddata:16,daemon:0,dai:[20,28,32],daili:32,dal:2,dalt:32,darkgreen:[18,22,27],darkr:[22,27],data:[0,2,4,6,7,8,9,10,17,20,21,22,23,25,26,27,28,29,30,32],data_arr:22,dataaccess:[1,2,4,6,7,8,9,12,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],dataaccesslay:[4,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30],dataaccessregistri:16,databas:[0,16,23,27],datadestin:16,dataf:21,datafactoryregistri:16,dataplugin:16,datarecord:7,dataset:[0,23,33],datasetid:[6,16],datastorag:16,datatim:[2,6,16,21,29],datatyp:[2,4,12,18,20,21,22,23,27,28],datauri:28,date:3,datetim:[3,10,18,19,20,22,24,27,28,30],datetimeconvert:14,dbll:32,dbm:0,dbsl:32,dbss:32,dbz:[25,32],dcape:21,dcbl:32,dccbl:32,dcctl:32,dctl:32,decod:[0,16],deep:32,def:[17,21,22,23,25,26,27,28,30],defaultdatarequest:16,defaultgeometryrequest:16,defaultgridrequest:16,deficit:32,defin:[4,21,23,28,30,32],definit:[16,23],defv:21,deg2rad:29,deg:[24,32],degc:[19,22,24,27,29],degf:[18,22,27,29],degre:[22,27,32],del2gh:21,deleg:16,delta:32,den:[24,32],densiti:32,depend:[2,16,23,32],depmn:32,deposit:32,depr:32,depress:32,depth:32,depval:10,deriv:[0,16,25,28,32],describ:0,descript:[10,32],design:0,desir:16,desktop:0,destin:16,detail:16,detect:[20,32],determin:[0,16,19,26],determinedrtoffset:13,detrain:32,dev:32,develop:[0,20,33],deviat:32,devmsl:32,dew:32,dew_point_temperatur:[22,27],dewpoint:[19,22,27,29],dfw:22,dhr:28,diagnost:32,dice:32,dict:[17,18,20,21,22,23,25,26,27,28,30],dictionari:[2,4,6,22,27],difeflux:32,diff:25,differ:[0,16,32],differenti:32,diffus:32,dififlux:32,difpflux:32,digit:[15,25],dim:32,dimension:0,dir:24,dirc:32,dirdegtru:32,direc:[29,32],direct:[22,27,32],directli:0,dirpw:32,dirsw:32,dirwww:32,discharg:20,disclosur:23,disk:32,dispers:32,displai:[0,16,33],display:0,dissip:32,dist:32,distinct:16,distirubt:24,distribut:0,diverg:32,divers:16,divf:21,divfn:21,divid:32,dlh:22,dlwrf:32,dman:29,dobson:32,document:16,doe:[16,24],domain:[0,21,23],don:16,done:16,dot:[19,29],doubl:8,dov:24,down:18,downdraft:32,download:[0,23],downward:32,dpblw:32,dpd:21,dpg:24,dpi:22,dpmsl:32,dpt:[19,21,27,32],drag:32,draw:[18,24,26,29],draw_label:[17,21,23,25,27,28,30],dream:16,drift:32,drop:32,droplet:32,drt:22,dry:32,dry_laps:[24,29],dsc:24,dsd:24,dskdai:32,dskint:32,dskngt:32,dsm:22,dstype:[18,22,27],dswrf:32,dtrf:32,dtx:24,dtype:[18,19,22,27,30],due:32,durat:32,dure:2,duvb:32,dvadv:21,dvl:28,dvn:24,dwpc:24,dwuvr:32,dwww:32,dynamicseri:[3,18,22,27],dzdt:32,e28:24,e74:24,e7e7e7:27,each:[2,16,23,24,27,30],eas:16,easier:16,easili:23,east:[28,32],east_6km:21,east_pr_6km:21,eastward_wind:[22,27],eat:24,eatm:32,eax:24,echo:[25,32],echotop18:32,echotop30:32,echotop50:32,echotop60:32,ecmwf:32,econu:28,eddi:32,edex:[2,6,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],edex_camel:0,edex_ldm:0,edex_postgr:0,edexserv:[18,20,22,27],edgecolor:[23,26,27,30],editor:0,edu:[0,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],edw:24,eet:28,ef25m:32,ef50m:32,efd:28,effect:[16,32],effici:32,effict:33,efl:24,ehelx:32,ehi01:21,ehi:21,ehii:21,ehlt:32,either:[0,16,30,33],elcden:32,electmp:32,electr:32,electron:32,element:[6,9,22],elev:[23,29,32],eli:22,elif:[18,19,22,27],elon:32,elonn:32,elp:22,els:[18,19,22,25,26,27,30],elsct:32,elyr:32,email:33,embed:32,emeso:28,emiss:32,emit:20,emnp:32,emp:24,emploi:0,empti:19,enabl:[16,23],encod:32,encode_dep_v:10,encode_radi:10,encode_thresh_v:10,encourag:0,end:[0,18,22,24,27],endrang:[18,22,27],energi:32,engeri:32,engin:32,enhanc:[0,25],enl:24,ensur:0,entir:[0,23,32],entiti:[0,15],entitl:0,enumer:[23,26,28],env:[4,16,33],envelop:[2,4,12,16,18,19,23,26,27],environ:[0,2,33],environment:[0,20],eocn:32,eph:22,epot:32,epsr:32,ept:21,epta:21,eptc:21,eptgrd:21,eptgrdm:21,epv:21,epvg:21,epvt1:21,epvt2:21,equilibrium:32,equival:32,error:[0,16,32],esp2:21,esp:21,essenti:[16,23],estc:24,estim:32,estof:21,estpc:32,estuwind:32,estvwind:32,eta:[24,32],etal:32,etc:[0,16,19,23],etcwl:32,etot:32,etsrg:32,etss:21,euv:32,euvirr:32,euvrad:32,evapor:32,evapotranspir:32,evapt:32,evb:32,evcw:32,evec1:32,evec2:32,evec3:32,event:20,everi:16,everyth:16,evp:32,ewatr:32,exampl:[0,2,15,16,17,21,23,24,25,28,29,30],exceed:32,except:[11,16,22,24,27],excess:32,exchang:[0,32],execut:0,exercis:[18,22,27],exist:[2,16,18],exit:24,exp:24,expand:16,expect:16,experienc:33,exten:32,extend:[16,21,23,25,29],extent:[20,23,28],extra:32,extrem:32,f107:32,f10:32,facecolor:[20,23,26,27,28,30],facilit:0,factor:32,factori:4,factorymethod:16,fall:[23,28],fals:[1,2,17,21,23,25,27,28,30],familiar:16,far:22,faster:16,fat:22,fcst:26,fcsthour:24,fcsthr:26,fcstrun:[15,17,19,21,24,26],fdc:28,fdr:24,featmot:21,featur:[20,21,22,23,27,28,30],feature_artist:[26,27],featureartist:[26,27],feed:0,feel:33,felt:16,few:[16,22,27],ffc:24,ffg01:32,ffg03:32,ffg06:32,ffg12:32,ffg24:32,ffg:[21,32],ffmp:16,ffr01:32,ffr03:32,ffr06:32,ffr12:32,ffr24:32,ffrun:32,fgen:21,fhag:[19,21],fhu:24,fice:32,field:[16,23,32],fig2:[17,21],fig:[17,18,20,21,22,23,25,26,27,28,30],fig_synop:27,figsiz:[17,18,19,20,21,22,23,24,25,26,27,28,29,30],figur:[19,22,24,28,29],file:[0,10,16],filter:[2,27],filterwarn:[18,22,24,25,27],find:2,fine:[16,32],finish:0,fire:[20,32],firedi:32,fireodt:32,fireolk:32,first:[9,16,20,28,30,32],fix:21,flag:29,flash:[20,32],flat:25,flatten:25,fldcp:32,flg:[22,24],flght:32,flight:32,float64:30,floatarraywrapp:16,flood:[20,32],florida:27,flow:0,flown:20,flp:24,flux:32,fmt:[22,27],fnd:21,fnvec:21,fog:28,folder:16,follow:[0,16,24,29],fontsiz:[18,22,27],forc:[32,33],forecast:[0,2,6,20,21,28,31,32,33],forecasthr:2,forecastmodel:24,forg:33,form:0,format:[0,20,21,22],foss:0,foss_cots_licens:0,found:[16,18,19,25,27],fpk:24,fprate:32,fractil:32,fraction:[22,27,32],frain:32,framework:[2,6],free:[0,16,32,33],freez:32,freq:32,frequenc:[20,32],frequent:16,fri:24,friction:32,fricv:32,frime:32,from:[0,2,3,16,17,18,19,20,21,22,23,25,26,27,28,29,30,32,33],fromtimestamp:22,front:0,frozen:32,frozr:32,frzr:32,fsd:[21,22],fsi:24,fsvec:21,ftr:24,full:[2,15,16,23,28,29],fundament:0,further:0,furthermor:16,futur:16,fvec:21,fwd:24,fwr:21,fzra1:21,fzra2:21,g001:24,g003:24,g004:24,g005:24,g007:24,g009:24,gage:16,gamma:21,gaug:32,gaugecorrqpe01h:32,gaugecorrqpe03h:32,gaugecorrqpe06h:32,gaugecorrqpe12h:32,gaugecorrqpe24h:32,gaugecorrqpe48h:32,gaugecorrqpe72h:32,gaugeinfindex01h:32,gaugeinfindex03h:32,gaugeinfindex06h:32,gaugeinfindex12h:32,gaugeinfindex24h:32,gaugeinfindex48h:32,gaugeinfindex72h:32,gaugeonlyqpe01h:32,gaugeonlyqpe03h:32,gaugeonlyqpe06h:32,gaugeonlyqpe12h:32,gaugeonlyqpe24h:32,gaugeonlyqpe48h:32,gaugeonlyqpe72h:32,gbound:23,gc137:32,gcbl:32,gctl:32,gdp:24,gdv:24,gef:21,gempak:[18,24],gener:[2,16,26],geodatarecord:8,geograph:33,geoid:32,geom:[15,23,24,27,30],geom_count:30,geom_typ:30,geometr:32,geometri:[2,4,8,16,18,19,23,26,27,30],geomfield:[23,27],geopotenti:32,georgia:27,geospati:16,geostationari:31,geovort:21,geow:21,geowm:21,get:[2,4,7,8,9,10,16,18,19,22,23,27,28,29,30],get_cloud_cov:[22,27],get_cmap:[17,21,23,25,26],get_data_typ:10,get_datetime_str:10,get_hdf5_data:[10,15],get_head:10,getattribut:[7,16,20],getavailablelevel:[2,12,15,19,25],getavailablelocationnam:[2,12,15,16,24,25,28,29],getavailableparamet:[2,12,15,20,22,25,27,28],getavailabletim:[1,2,12,15,16,17,19,20,24,25,26,28,29,30],getdata:16,getdatatim:[7,15,16,17,18,20,21,22,24,25,26,27,28,29,30],getdatatyp:[4,16],getenvelop:[4,16],getfcsttim:[24,26],getforecastrun:[2,15,17,19,21,24,26],getgeometri:[2,8,15,16,20,23,24,27,30],getgeometrydata:[2,12,15,16,18,20,22,23,24,27,29,30],getgriddata:[2,12,15,16,17,23,25,26,28],getgridgeometri:16,getgridinventori:5,getidentifi:[4,16],getidentifiervalu:[2,12,15,20,28],getlatcoord:16,getlatloncoord:[9,15,17,21,23,25,26,28],getlevel:[4,7,16,17,21,25],getlocationnam:[4,7,15,16,17,21,24,25,26,30],getloncoord:16,getmetarob:[2,18,27],getnotificationfilt:12,getnumb:[8,16,22,23,24,27,29],getoptionalidentifi:[2,12,28],getparamet:[8,9,16,17,21,22,24,25,28,29,30],getparmlist:5,getradarproductid:[2,25],getradarproductnam:[2,25],getrawdata:[9,15,16,17,21,23,25,26,28],getreftim:[15,17,19,20,21,24,25,26,28,29,30],getrequiredidentifi:[2,12],getselecttr:5,getsiteid:5,getsound:[6,19],getstoragerequest:16,getstr:[8,16,22,23,27,29,30],getsupporteddatatyp:[2,12],getsynopticob:[2,27],gettyp:[8,16],getunit:[8,9,16,17,21,25,29],getvalidperiod:[15,24,30],gfe:[0,4,5,16,21],gfeeditarea:21,gfegriddata:16,gflux:32,gfs20:[19,21],gfs40:16,ght:32,ghxsm2:21,ghxsm:21,gi131:32,git:33,github:[0,24,33],given:[3,6,32],gjt:22,gld:22,glm:15,glm_point:20,glmev:20,glmfl:20,glmgr:[15,20],global:32,glry:24,gmt:[20,24],gmx1:24,gnb:24,gnc:24,goal:16,goe:[31,32],going:16,good:23,gov:24,gpa:32,gpm:32,grab:[22,27],grad:32,gradient:32,gradp:32,graphic:0,graup:32,graupel:32,graupl:32,graviti:32,grb:22,greatest:26,green:18,grf:24,grib:[0,16,32],grid:[0,2,4,6,9,16,19,23,25,26,27,28,31],griddata:23,griddatafactori:16,griddatarecord:9,gridgeometry2d:16,gridlin:[17,20,21,23,25,26,27,28,30],grle:32,ground:[20,21,32],groundwat:32,group:[20,23],growth:32,gscbl:32,gsctl:32,gsgso:32,gtb:24,gtp:24,guarante:2,guidanc:32,gust:[21,32],gvl:24,gwd:32,gwdu:32,gwdv:32,gwrec:32,gyx:24,h02:24,h50above0c:32,h50abovem20c:32,h60above0c:32,h60abovem20c:32,hai:24,hail:32,hailprob:32,hailstorm:20,hain:32,hall:32,hand:[22,27],handl:[0,16,23],handler:[16,24],harad:32,has:[0,16,23],hat:0,have:[16,21,22,27,30,33],havni:32,hazard:16,hcbb:32,hcbl:32,hcbt:32,hcdc:32,hcl:32,hcly:32,hctl:32,hdfgroup:0,hdln:30,header:0,headerformat:10,heat:32,heavi:32,hecbb:32,hecbt:32,height:[16,20,21,23,28,29,32],heightcompositereflect:32,heightcthgt:32,heightllcompositereflect:32,helcor:32,heli:21,helic:[21,32],heliospher:32,helper:16,hemispher:28,here:[22,24,27],hflux:32,hfr:21,hgr:24,hgt:32,hgtag:32,hgtn:32,hhc:28,hi1:21,hi3:21,hi4:21,hidden:0,hide:16,hidx:21,hierarch:0,hierarchi:16,high:[0,20,32],highest:32,highlayercompositereflect:32,highli:0,hindex:32,hint:2,hlcy:32,hln:22,hmc:32,hmn:24,hodograph:[19,29],hom:24,hoo:24,hook:16,horizont:[17,21,23,25,26,28,32],host:[2,5,6,11,12,29],hot:22,hou:22,hour:[6,22,25,28,32],hourdiff:28,hourli:32,how:33,howev:16,hpbl:[21,32],hpcguid:21,hpcqpfndfd:21,hprimf:32,hrcono:32,hrrr:[21,26],hrs:32,hsclw:32,hsi:24,hstdv:32,hsv:22,htfl:32,htgl:32,htman:29,htsgw:32,htslw:32,http:[0,24,33],htx:32,huge:16,humid:32,humidi:32,hurrican:20,hybl:32,hybrid:[15,25,32],hydro:16,hydrometeor:25,hyr:24,icaht:32,icao:[16,32],icc:24,ice:32,icec:32,iceg:32,icetk:32,ici:32,icib:32,icip:32,icit:32,icmr:32,icon:0,icprb:32,icsev:32,ict:22,icwat:32,ida:22,idata:16,idatafactori:16,idatarequest:[2,14,16],idatastor:16,idd:0,ideal:16,identifi:[2,4,16,22,28],identifierkei:[2,12],idetifi:2,idra:[10,15],idrl:32,ierl:32,if1rl:32,if2rl:32,ifpclient:14,igeometrydata:[2,16],igeometrydatafactori:16,igeometryfactori:16,igeometryrequest:16,igm:24,ignor:[2,16,18,22,24,25,27],igriddata:[2,16],igriddatafactori:16,igridfactori:16,igridrequest:16,ihf:16,iintegr:32,iliqw:32,iln:24,ilw:32,ilx:24,imag:[0,15,28],imageri:[0,26,31,32],imftsw:32,imfww:32,immedi:2,impact:20,implement:[0,2],implent:16,improv:16,imt:24,imwf:32,inc:[19,26],inch:[22,26,27,32],includ:[0,3,16,20,24,33],inclus:29,incompatiblerequestexcept:16,increment:[16,19,24,29],ind:22,independ:0,index:[14,28,32],indic:[2,16,32],individu:[16,32],influenc:32,info:16,inform:[0,2,20,21],infrar:32,ingest:[0,16],ingestgrib:0,inhibit:32,init:0,initi:[2,29,32],ink:24,inlin:[17,18,19,20,21,22,23,24,25,26,27,28,29,30],inloc:[23,27],ins:16,inset_ax:[19,24,29],inset_loc:[19,24,29],insid:[16,23],inst:25,instal:0,instanc:[2,6,21],instantan:32,instanti:16,instead:16,instrr:32,instruct:33,instrument:20,inteflux:32,integ:[22,25,27,32],integr:32,intens:[15,20,32],inter:0,interact:16,interest:[31,32,33],interfac:[0,32],intern:2,internet:0,interpol:29,interpret:16,intersect:[23,30],interv:32,intfd:32,intiflux:32,intpflux:32,inv:21,invers:32,invok:0,iodin:32,ion:32,ionden:32,ionospher:32,iontmp:32,iplay:21,iprat:32,ipx:24,ipython3:25,irband4:32,irradi:32,isbl:32,isentrop:32,iserverrequest:16,isobar:[19,32],isol:0,isotherm:[19,24,29,32],issu:[30,33],item:[18,29],its:[0,16,21],itself:[0,16],izon:32,jack:24,jan:22,java:[0,24],javadoc:16,jax:22,jdn:24,jep:16,join:19,jupyt:33,just:33,jvm:16,k0co:22,k40b:24,k9v9:24,kabe:24,kabi:24,kabq:[22,24],kabr:24,kaci:24,kack:24,kact:24,kacv:[22,24],kag:24,kagc:24,kahn:24,kai:24,kak:24,kal:24,kalb:24,kali:24,kalo:24,kalw:24,kama:24,kan:24,kanb:24,kand:24,kaoo:24,kapa:24,kapn:24,kart:24,kase:24,kast:24,kati:24,katl:[22,24],kau:24,kaug:24,kauw:24,kavl:24,kavp:24,kaxn:24,kazo:24,kbaf:24,kbce:24,kbde:[22,24],kbdg:22,kbdl:24,kbdr:24,kbed:24,kbfd:24,kbff:24,kbfi:24,kbfl:24,kbgm:24,kbgr:24,kbhb:24,kbhm:24,kbi:[22,24],kbih:24,kbil:[22,24],kbjc:24,kbji:24,kbke:24,kbkw:24,kblf:24,kblh:24,kbli:24,kbml:24,kbna:24,kbno:24,kbnv:24,kbo:[22,24],kboi:[22,24],kbpt:24,kbqk:24,kbrd:24,kbrl:24,kbro:[22,24],kbtl:24,kbtm:24,kbtr:24,kbtv:24,kbuf:24,kbui:22,kbur:24,kbvi:24,kbvx:24,kbvy:24,kbwg:24,kbwi:24,kbyi:24,kbzn:24,kcae:24,kcak:24,kcar:[22,24],kcd:24,kcdc:24,kcdr:24,kcec:24,kcef:24,kcgi:24,kcgx:24,kch:[22,24],kcha:24,kchh:24,kcho:24,kcid:24,kciu:24,kckb:24,kckl:24,kcle:[22,24],kcll:24,kclm:24,kclt:[22,24],kcmh:24,kcmi:24,kcmx:24,kcnm:24,kcnu:24,kco:24,kcod:24,kcoe:[22,24],kcon:24,kcou:24,kcpr:[22,24],kcre:24,kcrp:24,kcrq:24,kcrw:[22,24],kcsg:24,kcsv:24,kctb:24,kcvg:24,kcwa:24,kcy:24,kdab:24,kdag:24,kdai:24,kdal:24,kdan:24,kdbq:24,kdca:24,kddc:24,kdec:24,kden:24,kdet:24,kdfw:[22,24],kdhn:24,kdht:24,kdik:24,kdl:24,kdlh:[22,24],kdmn:24,kdpa:24,kdra:24,kdro:24,kdrt:[22,24],kdsm:[22,24],kdtw:24,kdug:24,kduj:24,keat:24,keau:24,kecg:24,keed:24,kege:24,kei:[4,6,7,16],kekn:24,keko:24,kel:24,keld:24,keli:[22,24],kelm:24,kelo:24,kelp:[22,24],kelvin:[19,27],keng:32,kenv:24,keph:[22,24],kepo:24,kepz:24,keri:24,kesf:24,keug:24,kevv:24,kewb:24,kewn:24,kewr:24,keyw:24,kfai:24,kfam:24,kfar:[22,24],kfat:[22,24],kfca:24,kfdy:24,kfkl:24,kflg:[22,24],kfll:24,kflo:24,kfmn:24,kfmy:24,kfnt:24,kfoe:24,kfpr:24,kfrm:24,kfsd:[22,24],kfsm:24,kft:32,kftw:24,kfty:24,kfve:24,kfvx:24,kfwa:24,kfxe:24,kfyv:24,kgag:24,kgcc:24,kgck:24,kgcn:24,kgeg:24,kgfk:24,kgfl:24,kggg:24,kggw:24,kgjt:[22,24],kgl:24,kgld:[22,24],kglh:24,kgmu:24,kgnr:24,kgnv:24,kgon:24,kgpt:24,kgrb:[22,24],kgri:24,kgrr:24,kgso:24,kgsp:24,kgtf:24,kguc:24,kgup:24,kgwo:24,kgyi:24,kgzh:24,khat:24,khbr:24,khdn:24,khib:24,khio:24,khky:24,khlg:24,khln:[22,24],khob:24,khon:24,khot:[22,24],khou:[22,24],khpn:24,khqm:24,khrl:24,khro:24,khsv:[22,24],kht:24,khth:24,khuf:24,khul:24,khut:24,khvn:24,khvr:24,khya:24,kiad:24,kiag:24,kiah:24,kict:[22,24],kida:[22,24],kil:24,kilg:24,kilm:24,kind:[22,24,32],kinect:32,kinet:32,kink:24,kinl:24,kint:24,kinw:24,kipl:24,kipt:24,kisn:24,kisp:24,kith:24,kiwd:24,kjac:24,kjan:[22,24],kjax:[22,24],kjbr:24,kjfk:24,kjhw:24,kjkl:24,kjln:24,kjm:24,kjst:24,kjxn:24,kkl:24,kla:24,klaf:24,klan:24,klar:24,klax:[22,24],klbb:[22,24],klbe:24,klbf:[22,24,29],klcb:24,klch:24,kleb:24,klex:[22,24],klfk:24,klft:24,klga:24,klgb:24,klgu:24,klit:24,klmt:[22,24],klnd:24,klnk:[22,24],klol:24,kloz:24,klrd:24,klse:24,klsv:22,kluk:24,klv:24,klw:24,klwb:24,klwm:24,klwt:24,klyh:24,klzk:24,kmaf:24,kmb:24,kmcb:24,kmce:24,kmci:24,kmcn:24,kmco:24,kmcw:24,kmdn:24,kmdt:24,kmdw:24,kmei:24,kmem:[22,24],kmfd:24,kmfe:24,kmfr:24,kmgm:24,kmgw:24,kmhe:24,kmhk:24,kmht:24,kmhx:[15,24,25],kmhx_0:25,kmia:[22,24],kmiv:24,kmkc:24,kmke:24,kmkg:24,kmkl:24,kml:24,kmlb:24,kmlc:24,kmlf:22,kmli:24,kmlp:22,kmlt:24,kmlu:24,kmmu:24,kmob:[22,24],kmot:24,kmpv:24,kmqt:24,kmrb:24,kmry:24,kmsl:24,kmsn:24,kmso:[22,24],kmsp:[22,24],kmss:24,kmsy:[22,24],kmtj:24,kmtn:24,kmwh:24,kmyr:24,kna:24,knes1:32,knew:24,knl:24,knot:[19,22,24,27,29],know:16,known:[0,33],knsi:24,knyc:22,knyl:22,koak:24,kofk:24,kogd:24,kokc:[22,24],kolf:22,koli:22,kolm:24,koma:24,kont:24,kopf:24,koqu:24,kord:[22,24],korf:24,korh:24,kosh:24,koth:[22,24],kotm:24,kox:32,kp11:24,kp38:24,kpa:32,kpae:24,kpah:24,kpbf:24,kpbi:24,kpdk:24,kpdt:[22,24],kpdx:[22,24],kpfn:24,kpga:24,kphf:24,kphl:[22,24],kphn:24,kphx:[22,24],kpia:24,kpib:24,kpie:24,kpih:[22,24],kpir:24,kpit:[22,24],kpkb:24,kpln:24,kpmd:24,kpn:24,kpnc:24,kpne:24,kpou:24,kpqi:24,kprb:24,kprc:24,kpsc:24,kpsm:[22,24],kpsp:24,kptk:24,kpub:24,kpuw:22,kpvd:24,kpvu:24,kpwm:24,krad:24,krap:[22,24],krbl:24,krdd:24,krdg:24,krdm:[22,24],krdu:24,krf:21,krfd:24,kric:[22,24],kriw:24,krk:24,krkd:24,krno:[22,24],krnt:24,kroa:24,kroc:24,krow:24,krsl:24,krst:24,krsw:24,krum:24,krut:22,krwf:24,krwi:24,krwl:24,ksac:24,ksaf:24,ksan:24,ksat:[22,24],ksav:24,ksba:24,ksbn:24,ksbp:24,ksby:24,ksch:24,ksck:24,ksdf:24,ksdm:24,ksdy:24,ksea:[22,24],ksep:24,ksff:24,ksfo:[22,24],ksgf:24,ksgu:24,kshr:24,kshv:[22,24],ksjc:24,ksjt:24,kslc:[22,24],ksle:24,kslk:24,ksln:24,ksmf:24,ksmx:24,ksn:24,ksna:24,ksp:24,kspi:24,ksrq:24,kssi:24,kst:24,kstj:24,kstl:24,kstp:24,ksu:24,ksun:24,ksux:24,ksve:24,kswf:24,ksyr:[22,24],ktc:24,ktcc:24,ktcl:24,kteb:24,ktiw:24,ktlh:[22,24],ktmb:24,ktol:24,ktop:24,ktpa:[22,24],ktph:24,ktri:24,ktrk:24,ktrm:24,kttd:24,kttf:22,kttn:24,ktu:24,ktul:24,ktup:24,ktvc:24,ktvl:24,ktwf:24,ktxk:24,kty:24,ktyr:24,kuca:24,kuil:22,kuin:24,kuki:24,kunv:[22,24],kurtosi:32,kvct:24,kvel:24,kvih:22,kvld:24,kvny:24,kvrb:24,kwarg:[2,12],kwjf:24,kwmc:[22,24],kwrl:24,kwy:24,ky22:24,ky26:24,kykm:24,kykn:24,kyng:24,kyum:24,kzzv:24,l1783:24,laa:24,lai:32,lake:22,lambda:32,lambertconform:[18,22,27],lamp2p5:21,land:[22,30,32],landn:32,landu:32,languag:16,lap:24,lapp:32,lapr:32,laps:32,larg:[23,32],last:[18,22,30],lasthourdatetim:[18,22,27],lat:[2,6,9,15,16,17,18,19,21,23,25,26,27,28],latent:32,later:[22,27,30],latest:[2,19,28],latitud:[16,18,19,22,27,32],latitude_formatt:[17,20,21,23,25,26,27,28,30],latlondeleg:9,latlongrid:9,lauv:32,lavni:32,lavv:32,lax:22,layer:[16,21,25,32],layth:32,lazi:2,lazygridlatlon:12,lazyloadgridlatlon:[2,12],lbb:22,lbf:22,lbslw:32,lbthl:32,lby:24,lcbl:32,lcdc:32,lcl:[24,29],lcl_pressur:29,lcl_temperatur:29,lcly:32,lctl:32,lcy:32,ldadmesonet:16,ldl:24,ldmd:0,leaf:32,left:29,leftov:2,legendr:32,len:[18,19,23,25,27,28,30],length:[30,32],less:[16,19],let:16,level3:31,level:[0,2,4,6,7,12,16,19,23,24,25,29,31,32],levelreq:19,lex:22,lftx:32,lhtfl:32,lhx:24,lic:24,lift:[28,32],light:[20,32],lightn:[31,32],lightningdensity15min:32,lightningdensity1min:32,lightningdensity30min:32,lightningdensity5min:32,lightningprobabilitynext30min:32,like:[3,16],limb:32,limit:[2,16,27],line:[16,19,24,29],linestyl:[19,23,24,27,28,29],linewidth:[19,22,23,24,26,27,29],linux:0,lipmf:32,liq:25,liquid:32,liqvsm:32,lisfc2x:21,list:[2,4,6,7,8,16,19,20,21,24,25,28],llcompositereflect:32,llsm:32,lltw:32,lm5:21,lm6:21,lmbint:32,lmbsr:32,lmh:32,lmt:22,lmv:32,lnk:22,load:2,loadmat:21,loam:32,loc:[19,24,29],local:[0,16],localhost:12,locap:21,locat:[2,4,7,16,18,20,23,29],locationfield:[23,27],locationnam:[2,4,12,16,21],log10:32,log:[0,24,29,32],logger:0,logp:29,lon:[2,6,9,15,16,17,18,19,21,23,25,26,27,28],longitud:[16,18,19,22,27,32],longitude_formatt:[17,20,21,23,25,26,27,28,30],look:[16,23],lookup:16,loop:30,lopp:32,lor:24,louisiana:27,louv:32,lovv:32,low:[28,32],lower:[28,32],lowest:32,lowlayercompositereflect:32,lpmtf:32,lrghr:32,lrgmr:32,lrr:24,lsclw:32,lsf:24,lsoil:32,lspa:32,lsprate:32,lssrate:32,lssrwe:32,lst:28,lsv:22,lswp:32,ltng:32,lvl:[19,21],lvm:24,lw1:24,lwavr:32,lwbz:32,lwhr:32,lwrad:32,m2spw:32,mac:[0,24],macat:32,mactp:32,made:16,madv:21,magnet:32,magnitud:[19,32],mai:[0,16,27,33],main:[0,16,32],maintain:16,maip:32,majorriv:23,make:[16,27],make_map:[17,21,23,25,26,27,28,30],maketim:13,man_param:29,manag:[0,16,33],mandatori:29,mangeo:29,mani:27,manifest:16,manipul:[0,16],manner:16,manual:24,map:[16,21,22,26,27,28,31,32],mapdata:[23,27],mapgeometryfactori:16,mapper:[31,32],marker:[20,23,26],markerfacecolor:29,mask:[18,27,32],masked_invalid:23,mass:32,match:[2,16],math:[19,24,29],mathemat:16,matplotlib:[17,18,19,20,22,23,24,25,26,27,28,29,30],matplotplib:23,matter:32,max:[17,18,19,21,23,24,25,26,28,29,32],maxah:32,maxdvv:32,maxept:21,maximum:[23,26,32],maxref:32,maxrh:32,maxuvv:32,maxuw:32,maxvw:32,maxw:32,maxwh:32,maz:24,mbar:[22,24,27,29],mcbl:32,mcdc:32,mcida:28,mcly:32,mcon2:21,mcon:21,mconv:32,mctl:32,mcy:32,mdpc:24,mdpp:24,mdsd:24,mdst:24,mean:[16,32],measur:20,mecat:32,mectp:32,medium:32,mei:32,melbrn:32,melt:[25,32],mem:22,memori:16,merg:32,merged_counti:23,mergedazshear02kmagl:32,mergedazshear36kmagl:32,mergedbasereflect:32,mergedbasereflectivityqc:32,mergedreflectivityatlowestaltitud:32,mergedreflectivitycomposit:32,mergedreflectivityqccomposit:32,mergedreflectivityqcomposit:32,mergesound:24,meridion:32,mesh:32,meshtrack120min:32,meshtrack1440min:32,meshtrack240min:32,meshtrack30min:32,meshtrack360min:32,meshtrack60min:32,mesocyclon:25,messag:[0,16],met:[2,16],metadata:0,metar:[2,16,18,31],meteorolog:[0,33],meteosat:28,meter:[21,23],method:[2,16,21],metpi:[18,19,23,26,27,29,31],metr:32,mflux:32,mflx:32,mgfl:24,mggt:24,mght:24,mgpb:24,mgsj:24,mham:24,mhca:24,mhch:24,mhlc:24,mhle:24,mhlm:24,mhnj:24,mhpl:24,mhro:24,mhsr:24,mhte:24,mhtg:24,mhyr:24,mia:22,mib:24,microburst:20,micron:[28,32],mid:32,middl:32,mie:24,might:[2,33],min:[17,18,19,21,23,25,26,28,32],mind:16,minept:21,minim:32,minimum:[23,32],minrh:32,minut:[18,27,28],miscellan:28,miss:[27,29],missing200:32,mississippi:27,mix1:21,mix2:21,mix:[24,32],mixht:32,mixl:32,mixli:32,mixr:32,mixrat:21,mkj:24,mkjp:24,mld:24,mlf:22,mllcl:21,mlp:22,mlyno:32,mma:24,mmaa:24,mmag:21,mmbt:24,mmc:24,mmce:24,mmcl:24,mmcn:24,mmcu:24,mmcv:24,mmcz:24,mmdo:24,mmgl:24,mmgm:24,mmho:24,mmlp:24,mmma:24,mmmd:24,mmml:24,mmmm:24,mmmt:24,mmmx:24,mmmy:24,mmmz:24,mmnl:24,mmp:21,mmpr:24,mmrx:24,mmsd:24,mmsp:[21,24],mmtc:24,mmtj:24,mmtm:24,mmto:24,mmtp:24,mmun:24,mmvr:24,mmzc:24,mmzh:24,mmzo:24,mnmg:24,mnpc:24,mntsf:32,mob:22,moddelsound:16,model:[6,21,28,31,32],modelheight0c:32,modelnam:[6,16,19],modelsound:[14,19,21,24],modelsurfacetemperatur:32,modelwetbulbtemperatur:32,moder:32,modern:0,modifi:[0,16],moisten:32,moistur:32,moisutr:24,momentum:32,montgomeri:32,mor:24,more:16,mosaic:32,most:[0,16,29,32],motion:32,mountain:32,mountainmapperqpe01h:32,mountainmapperqpe03h:32,mountainmapperqpe06h:32,mountainmapperqpe12h:32,mountainmapperqpe24h:32,mountainmapperqpe48h:32,mountainmapperqpe72h:32,move:16,mpbo:24,mpch:24,mpda:24,mpl:[17,20,21,23,25,26,27,28,30],mpl_toolkit:[19,24,29],mpmg:24,mpsa:24,mpto:24,mpv:21,mpx:24,mrch:24,mrcono:32,mrf:[22,24],mrlb:24,mrlm:24,mrms_0500:21,mrms_1000:21,mrmsvil:32,mrmsvildens:32,mroc:24,mrpv:24,msac:24,msfdi:21,msfi:21,msfmi:21,msg:21,msgtype:20,msl:[21,32],mslet:32,mslp:[24,32],mslpm:32,mso:22,msp:22,msr:21,msss:24,mstav:32,msy:22,mtch:24,mtha:32,mthd:32,mthe:32,mtht:32,mtl:24,mtpp:24,mtri:[24,29],mtv:[21,24],mty:24,muba:24,mubi:24,muca:24,mucap:21,mucl:24,mucm:24,mucu:24,mugm:24,mugt:24,muha:24,multi:2,multi_value_param:[22,27],multilinestr:23,multipl:[0,16,27],multipolygon:[15,23,27,30],mumo:24,mumz:24,mung:24,must:[2,3,16,24],muvr:24,muvt:24,mwcr:24,mwsl:32,mwsper:32,mxsalb:32,mxuphl:32,myb:24,myeg:24,mygf:24,mygw:24,myl:24,mynn:24,mzbz:24,mzptsw:32,mzpww:32,mzt:24,mzwper:32,n0r:28,n1p:28,nam12:21,nam40:[19,21,26],nam:[19,24],name:[0,2,4,5,7,8,16,19,21,23,25,27,28,29,30],nan:[18,22,25,27,28,29],nanmax:25,nanmin:25,nation:[0,33],nationalblend:21,nativ:[2,3,16],natur:32,naturalearthfeatur:[23,28,30],nbdsf:32,nbe:21,nbsalb:32,ncep:24,ncip:32,nck:24,ncp:0,ncpcp:32,ndarrai:25,nddsf:32,ndvi:32,nearest:32,necessari:16,need:[2,16,33],neighbor:32,neither:32,nesdi:28,net:32,netcdf:0,neutral:32,neutron:32,newdatarequest:[2,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],newhostnam:2,nexrad3:2,nexrad:31,nexrad_data:25,nexrcomp:28,next:[22,27,30,32],ngx:24,nhk:24,nid:24,night:[20,32],nkx:24,nlat:32,nlatn:32,nlgsp:32,nlwr:32,nlwrc:32,nlwrf:32,nlwrt:32,noa:24,noaa:24,noaaport:24,nohrsc:21,nomin:[21,32],non:[32,33],none:[2,5,6,7,9,12,22,23,26,27,28,30,32],normal:[28,32],normalis:32,north:[18,22],northern:28,northward_wind:[22,27],note:[16,19,32],notebook:[17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],notif:0,now:[21,26,27,30],npixu:32,npoess:28,nru:24,nsharp:24,nsof:28,nst1:21,nst2:21,nst:21,nswr:32,nswrf:32,nswrfc:32,nswrt:32,ntat:[21,32],ntd:24,ntmp:24,ntp:28,ntrnflux:32,nuc:32,number:[0,8,16,23,30,32],numer:[2,32],nummand:29,nummwnd:29,numpi:[9,15,16,18,19,20,21,22,23,24,25,26,27,28,29,30],numsigt:29,numsigw:29,numtrop:29,nws:24,nwsalb:32,nwstr:32,nyc:22,nyl:22,o3mr:32,obil:32,object:[2,3,4,6,16,21,23,29],obml:32,obs:[2,4,18,21,22],observ:[0,18,22],observs:27,obsgeometryfactori:16,ocean:[22,32],oct:20,off:0,offer:21,offset:[16,23],offsetstr:28,often:16,ohc:32,oitl:32,okc:22,olf:22,oli:22,olyr:32,omdiff:21,omega:[24,32],omgalf:32,oml:32,omlu:32,omlv:32,onc:16,one:16,onli:[0,2,4,32],onset:32,open:[0,16,32,33],oper:[0,20,33],ops:23,option:[2,6,16,28],orang:[18,23],orbit:20,ord:22,order:[19,32,33],org:0,orient:[17,21,23,25,26,28],orn:21,orographi:32,orthograph:20,osd:32,oseq:32,oth:22,other:[0,16,21,23,28],otherwis:2,our:[19,21,23,26,27,28,30,33],ourselv:24,out:[2,16,22,27,33],outlook:32,outsid:16,ovc:[22,27],over:[24,32],overal:32,overhead:2,own:[0,16],ozcat:32,ozcon:32,ozmax1:32,ozmax8:32,ozon:[28,32],p2omlt:32,pacakg:33,packag:[0,16,23],padv:21,page:23,pai:19,pair:[3,6,18],palt:32,parallel:32,param:[4,8,16,18,22,27],paramet:[2,4,6,8,9,12,16,19,27,29,30,31],parameter:32,parameterin:32,paramt:24,parcal:32,parcali:32,parcel:[29,32],parcel_profil:[24,29],parm:[19,21,24,30],parm_arrai:29,parmid:5,part:[0,16],particl:32,particul:32,particular:[2,16],pass:[3,16,27],past:32,path:0,pbe:21,pblr:32,pblreg:32,pcbb:32,pcbt:32,pcolormesh:[21,25,26,28],pcp:32,pcpn:32,pctp1:32,pctp2:32,pctp3:32,pctp4:32,pdf:0,pdly:32,pdmax1:32,pdmax24:32,pdt:22,pdx:22,peak:32,peaked:32,pec:21,pecbb:32,pecbt:32,pecif:16,pedersen:32,pellet:32,per:32,percent:[28,32],perform:[2,3,6,16,19],period:[24,30,32],perpendicular:32,perpw:32,person:0,perspect:0,persw:32,pertin:16,pevap:32,pevpr:32,pfrezprec:32,pfrnt:21,pfrozprec:32,pgrd1:21,pgrd:21,pgrdm:21,phase:[25,32],phenomena:20,phensig:[15,30],phensigstr:30,phl:22,photar:32,photospher:32,photosynthet:32,phx:22,physic:32,physicalel:28,pid:5,piec:[0,16],pih:22,pirep:[16,21],pit:22,piva:21,pixel:32,pixst:32,plain:32,plan:16,planetari:32,plant:32,platecarre:[17,18,20,21,22,23,25,26,27,28,30],plbl:32,pleas:33,pli:32,plot:[17,19,20,23,24,25,29,30],plot_barb:[19,24,29],plot_colormap:[19,24,29],plot_dry_adiabat:19,plot_mixing_lin:19,plot_moist_adiabat:19,plot_paramet:18,plot_text:22,plpl:32,plsmden:32,plt:[17,18,19,20,21,22,23,24,25,26,27,28,29,30],plu:32,plug:16,plugin:[24,29],plugindataobject:16,pluginnam:16,pmaxwh:32,pmtc:32,pmtf:32,pname:23,poe:28,point:[15,16,18,19,20,23,24,26,32],pointdata:16,poli:[15,30],polit:23,political_boundari:[23,30],pollut:32,polygon:[15,16,18,19,23,26,27,31],pop:[23,32],popul:[16,23],populatedata:16,poro:32,poros:32,port:[5,11],posh:32,post:0,postgr:[0,23],pot:[21,32],pota:21,potenti:32,power:[16,28],poz:32,pozo:32,pozt:32,ppan:32,ppb:32,ppbn:32,ppbv:32,ppert:32,pperww:32,ppffg:32,ppnn:32,ppsub:32,practicewarn:21,prate:32,pratmp:32,prcp:32,pre:32,preced:16,precip:[25,31,32],precipit:[22,25,26,27,28,32],precipr:32,preciptyp:32,predomin:32,prepar:[16,22],prepend:22,pres_weath:[22,27],presa:32,presd:32,presdev:32,present:0,present_weath:[22,27],presn:32,pressur:[19,24,28,29,32],presur:32,presweath:[2,22,27],previous:[23,33],primari:[0,32],print:[15,18,19,20,21,22,23,24,25,26,27,28,30],print_funct:23,prior:32,prman:29,prmsl:32,prob:32,probabilityse:32,probabl:32,process:[0,2,16],processor:0,procon:32,prod:25,product:[0,2,15,16,18,24,25,32],productid:25,productnam:25,prof:29,profil:[0,16,21,24,29],prog_disc:23,prognam:5,program:[0,33],progress:23,proj:[22,27],project:[16,17,18,20,21,22,23,25,26,27,28,30],properti:28,proport:32,propos:32,proprietari:0,protden:32,proton:32,prottmp:32,provid:[0,2,16,23,33],prp01h:32,prp03h:32,prp06h:32,prp12h:32,prp24h:32,prp30min:32,prpmax:32,prptmp:32,prregi:28,prs:24,prsig:29,prsigsv:32,prsigsvr:32,prsigt:29,prsvr:32,pseudo:32,psfc:32,psm:22,psql:0,psu:32,ptan:32,ptbn:32,ptend:32,ptnn:32,ptor:32,ptr:21,ptva:21,ptyp:21,ptype:32,pull:22,pulsecount:20,pulseindex:20,pure:16,purpl:18,put:[22,27],puw:22,pveq:21,pvl:32,pvmww:32,pvort:32,pvv:21,pw2:21,pwat:32,pwc:32,pwcat:32,pwper:32,pwther:32,pydata:14,pygeometrydata:14,pygriddata:[14,23],pyjobject:16,pyplot:[17,18,19,20,21,22,23,24,25,26,27,28,29,30],python3:33,python:[0,2,3,16,21,22,23,27,28,30],qdiv:21,qmax:32,qmin:32,qnvec:21,qpe01:32,qpe01_acr:32,qpe01_alr:32,qpe01_fwr:32,qpe01_krf:32,qpe01_msr:32,qpe01_orn:32,qpe01_ptr:32,qpe01_rha:32,qpe01_rsa:32,qpe01_str:32,qpe01_tar:32,qpe01_tir:32,qpe01_tua:32,qpe06:32,qpe06_acr:32,qpe06_alr:32,qpe06_fwr:32,qpe06_krf:32,qpe06_msr:32,qpe06_orn:32,qpe06_ptr:32,qpe06_rha:32,qpe06_rsa:32,qpe06_str:32,qpe06_tar:32,qpe06_tir:32,qpe06_tua:32,qpe24:32,qpe24_acr:32,qpe24_alr:32,qpe24_fwr:32,qpe24_krf:32,qpe24_msr:32,qpe24_orn:32,qpe24_ptr:32,qpe24_rha:32,qpe24_rsa:32,qpe24_str:32,qpe24_tar:32,qpe24_tir:32,qpe24_tua:32,qpe:32,qpeffg01h:32,qpeffg03h:32,qpeffg06h:32,qpeffgmax:32,qpf06:32,qpf06_acr:32,qpf06_alr:32,qpf06_fwr:32,qpf06_krf:32,qpf06_msr:32,qpf06_orn:32,qpf06_ptr:32,qpf06_rha:32,qpf06_rsa:32,qpf06_str:32,qpf06_tar:32,qpf06_tir:32,qpf06_tua:32,qpf24:32,qpf24_acr:32,qpf24_alr:32,qpf24_fwr:32,qpf24_krf:32,qpf24_msr:32,qpf24_orn:32,qpf24_ptr:32,qpf24_rha:32,qpf24_rsa:32,qpf24_str:32,qpf24_tar:32,qpf24_tir:32,qpf24_tua:32,qpidd:0,qpv1:21,qpv2:21,qpv3:21,qpv4:21,qrec:32,qsvec:21,qualiti:32,quantit:32,queri:[0,16,19,21,23],queue:0,qvec:21,qz0:32,rad:32,radar:[0,2,4,10,16,21,31,32],radar_spati:21,radarcommon:[14,15],radargridfactori:16,radaronlyqpe01h:32,radaronlyqpe03h:32,radaronlyqpe06h:32,radaronlyqpe12h:32,radaronlyqpe24h:32,radaronlyqpe48h:32,radaronlyqpe72h:32,radarqualityindex:32,radi:32,radial:[10,32],radianc:32,radiat:32,radio:32,radioact:32,radiu:32,radt:32,rage:32,rai:32,rain1:21,rain2:21,rain3:21,rain:[28,32],rainbow:[17,21,25,26],rainfal:[26,32],rais:[3,19],rala:32,rang:[16,20,22,25,27,32],rap13:[15,17,21],rap:22,raster:10,rate:[25,28,32],rather:19,ratio:[24,32],raw:[16,32],raytheon:[0,16,18,22,27],raza:32,rcparam:[19,22,24,29],rcq:32,rcsol:32,rct:32,rdlnum:32,rdm:22,rdrip:32,rdsp1:32,rdsp2:32,rdsp3:32,reach:33,read:[0,21],readabl:0,readi:[0,21],real:30,reason:16,rec:25,receiv:0,recent:29,recharg:32,record:[10,16,18,19,22,23,27,29,30],rectangular:[4,16],recurr:32,red:[0,18,20],reduc:[16,32],reduct:32,ref:[15,16,30],refc:[21,32],refd:32,refer:[2,4,16,23,24,32],refl:[15,25],reflect:[0,25,32],reflectivity0c:32,reflectivityatlowestaltitud:32,reflectivitym10c:32,reflectivitym15c:32,reflectivitym20c:32,reflectivitym5c:32,reftim:[2,24,30],reftimeonli:[1,2,12],refzc:32,refzi:32,refzr:32,regardless:16,regim:32,region:[31,32],registri:16,rel:[25,32],relat:0,reld:32,releas:[0,33],relv:32,remain:0,remot:32,render:[0,23,28],replac:[16,19],reporttyp:24,repres:[3,16],represent:3,req:16,request:[0,1,2,4,5,6,11,12,15,17,18,19,20,21,22,24,25,26,27,28,29,30,33],requir:[0,2,16,23],res:16,resist:32,resolut:[17,18,20,21,23,25,26,28],resourc:31,respect:[16,32],respons:[2,15,17,18,20,21,22,23,24,25,26,27,28,29,30],rest:[16,27],result:16,retop:32,retriev:[0,4,6,29],retrofit:16,rev:32,review:[0,16],rfl06:32,rfl08:32,rfl16:32,rfl39:32,rh_001_bin:21,rh_002_bin:21,rha:21,rhpw:32,ric:22,richardson:32,right:0,right_label:[17,21,23,25,27,28,30],rime:32,risk:32,river:16,rlyr:32,rm5:21,rm6:21,rmix:24,rmprop2:21,rmprop:21,rno:22,root:32,rotat:[19,32],rotationtrackll120min:32,rotationtrackll1440min:32,rotationtrackll240min:32,rotationtrackll30min:32,rotationtrackll360min:32,rotationtrackll60min:32,rotationtrackml120min:32,rotationtrackml1440min:32,rotationtrackml240min:32,rotationtrackml30min:32,rotationtrackml360min:32,rotationtrackml60min:32,rough:32,round:29,rout:16,royalblu:18,rprate:32,rpttype:29,rqi:32,rrqpe:28,rrtype:21,rsa:21,rsmin:32,rssc:32,rtma:21,rtof:21,run:[0,2,16,19,21,33],runoff:32,runtim:2,runtimewarn:[18,22,24,25,27],rut:22,rwmr:32,salbd:32,salin:32,salt:32,salti:32,same:[3,16,23,27,28],sampl:[6,23],samplepoint:6,sat:[22,32],satd:32,satellit:[0,16,21,31],satellitefactori:16,satellitefactoryregist:16,satellitegriddata:16,satellitegridfactori:16,satosm:32,satur:32,save:[0,16],savefig:22,sbc123:32,sbc124:32,sbsalb:32,sbsno:32,sbt112:32,sbt113:32,sbt114:32,sbt115:32,sbt122:32,sbt123:32,sbt124:32,sbt125:32,sbta1610:32,sbta1611:32,sbta1612:32,sbta1613:32,sbta1614:32,sbta1615:32,sbta1616:32,sbta167:32,sbta168:32,sbta169:32,sbta1710:32,sbta1711:32,sbta1712:32,sbta1713:32,sbta1714:32,sbta1715:32,sbta1716:32,sbta177:32,sbta178:32,sbta179:32,scalb:32,scale:[23,28,30,32],scan:[0,15,25,32],scatter:[20,23,26],scatteromet:32,scbl:32,scbt:32,sccbt:32,scctl:32,scctp:32,sce:32,scene:32,scestuwind:32,scestvwind:32,schema:23,scint:32,scintil:32,scipi:21,scli:32,scope:16,scp:32,scpw:32,scrad:32,scratch:16,script:[0,29],scst:32,sct:[22,27],sctl:32,sden:32,sdsgso:32,sdwe:32,sea:[22,32],seab:32,seaic:21,sealevelpress:[22,27],seamless:32,seamlesshsr:32,seamlesshsrheight:32,search:16,sec:25,second:[9,28,32],secondari:32,section:[16,32],sector:[15,26],sectorid:28,see:[0,16,23,32],select:[19,21,22,23,25],send:[0,16],sendrequest:11,sens:[0,32],sensibl:32,sensorcount:20,sent:0,sep:24,separ:[0,2,16,29],sequenc:32,seri:[6,20],server:[0,16,19,21,23,29,30,33],serverrequestrout:16,servic:[0,11,16,33],servr:32,set:[2,4,16,21,22,28,29,30,32],set_ext:[17,18,21,22,23,25,26,27,28,30],set_label:[17,21,23,25,26,28],set_titl:[18,20,22,27],set_xlim:[19,24,29],set_ylim:[19,24,29],setdatatyp:[4,15,16,17,21,28,29,30],setenvelop:[4,16,23],setlazyloadgridlatlon:[2,12],setlevel:[4,15,16,17,21,25,26],setlocationnam:[4,15,16,17,19,21,22,23,24,25,26,27,28,29],setparamet:[4,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],setstoragerequest:16,setup:33,sevap:32,seven:20,sever:[0,20,32],sfc:[16,28,32],sfcob:[2,16,21],sfcr:32,sfcrh:32,sfexc:32,sfo:22,sgcvv:32,shahr:32,shailpro:32,shallow:32,shamr:32,shape:[4,8,15,16,18,19,21,23,25,26,27,28,30],shape_featur:[23,27,30],shapelyfeatur:[23,27,30],share:0,shear:[21,32],sheer:32,shef:16,shelf:0,shi:32,should:[2,16],show:[19,20,22,24,25,28,29,30],shrink:[17,21,23,25,26,28],shrmag:21,shsr:32,shtfl:32,shv:22,shwlt:21,shx:21,sice:32,sighailprob:32,sighal:32,sigl:32,sigma:32,signific:[29,32],significantli:23,sigp:32,sigpar:32,sigt:29,sigt_param:29,sigtgeo:29,sigtrndprob:32,sigwindprob:32,silt:32,similar:[0,16,18],simpl:[17,22,27],simple_layout:27,simpli:0,simul:32,sinc:[0,16],singl:[0,2,16,19,21,23,27,32],single_value_param:[22,27],sipd:32,site:[5,15,23,24,30],siteid:30,size:[25,28,32],skew:[24,29],skewt:[19,29],skin:[28,32],skip:22,sktmp:32,sky:32,sky_cov:[22,27],sky_layer_bas:[22,27],skycov:[2,22,27],skylayerbas:[2,22,27],slab:16,slant:[24,29],slc:22,sld:32,sldp:32,sli:[21,32],slight:32,slightli:16,slope:32,slow:23,sltfl:32,sltyp:32,smdry:32,smref:32,smy:32,snd:21,sndobject:19,snfalb:32,snmr:32,sno:32,snoag:32,snoc:32,snod:32,snohf:32,snol:32,snom:32,snorat:21,snoratcrocu:21,snoratemcsref:21,snoratov2:21,snoratspc:21,snoratspcdeep:21,snoratspcsurfac:21,snot:32,snow1:21,snow2:21,snow3:21,snow:[21,32],snowc:32,snowfal:32,snowstorm:20,snowt:[21,32],snsq:21,snw:21,snwa:21,softwar:[0,16],soil:32,soill:32,soilm:32,soilp:32,soilw:32,solar:32,sole:2,solrf:32,solza:32,some:[0,16],sort:[15,20,21,24,25,28,29],sotyp:32,sound:[6,31],sounder:28,soundingrequest:24,sourc:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,15,16],south:27,spacecraft:20,span:[22,32],spatial:27,spc:32,spcguid:21,spd:[24,29],spdl:32,spec:24,spechum:24,special:[2,16],specif:[0,4,16,22,25,32],specifi:[2,6,8,16,32],specirr:32,spectal:32,spectra:32,spectral:32,spectrum:32,speed:[22,27,32],spf:32,spfh:32,spftr:32,spr:32,sprate:32,sprdf:32,spread:32,spring:16,spt:32,sqrt:19,squar:32,src:[24,32],srcono:32,srfa161:32,srfa162:32,srfa163:32,srfa164:32,srfa165:32,srfa166:32,srfa171:32,srfa172:32,srfa173:32,srfa174:32,srfa175:32,srfa176:32,srml:21,srmlm:21,srmm:21,srmmm:21,srmr:21,srmrm:21,srweq:32,ssgso:32,sshg:32,ssi:21,ssp:21,ssrun:32,ssst:32,sst:28,sstor:32,sstt:32,stack:16,staelev:29,stanam:29,stand:[21,32],standard:[0,23,32],standard_parallel:[22,27],start:[0,16,18,21,22,27,33],state:[16,22,23,27,28],states_provinc:30,staticcorioli:21,staticspac:21,statictopo:21,station:[18,27,29,31],station_nam:22,stationid:[16,27],stationnam:[18,22,27],stationplot:[18,22,27],stationplotlayout:[22,27],std:32,steep:32,step:29,stid:[22,27],stoke:32,stomat:32,stop:0,storag:[0,16,32],store:[0,16,27],storm:[20,25,32],storprob:32,stp1:21,stp:21,stpa:32,str:[17,18,19,20,21,22,23,24,25,26,27,28,29,30],stream:32,streamflow:32,stree:32,stress:32,strftime:[18,22,27],striketyp:20,string:[2,4,7,8,9,10,16,19,32],strm:32,strmmot:21,strptime:[18,22,27,28],strtp:21,struct_tim:3,structur:16,style:16,sub:32,subinterv:32,sublay:32,sublim:32,submit:4,subplot:[17,18,20,21,23,25,26,27,28,30],subplot_kw:[17,18,20,21,23,25,26,27,28,30],subset:[16,18],subtair:18,succe:2,sucp:21,suggest:16,suit:0,suitabl:2,sun:32,sunsd:32,sunshin:32,supercool:32,superlayercompositereflect:32,supern:28,support:[0,2,3,4,33],suppress:[18,27],sure:27,surfac:[0,16,19,21,28,31,32],surg:32,svrt:32,swavr:32,swdir:32,sweat:32,swell:32,swepn:32,swhr:32,swindpro:32,swper:32,swrad:32,swsalb:32,swtidx:21,symbol:[22,27],synop:[2,16],syr:22,system:[0,32],t_001_bin:21,tabl:[0,23,27,30,32],taconcp:32,taconip:32,taconrdp:32,tadv:21,tair:18,take:[0,16,29],taken:[0,16],tar:21,task:16,taskbar:0,tcdc:32,tchp:32,tcioz:32,tciwv:32,tclsw:32,tcol:32,tcolc:32,tcolg:32,tcoli:32,tcolm:32,tcolr:32,tcolw:32,tcond:32,tconu:28,tcsrg20:32,tcsrg30:32,tcsrg40:32,tcsrg50:32,tcsrg60:32,tcsrg70:32,tcsrg80:32,tcsrg90:32,tcwat:32,td2:24,tdef:21,tdend:21,tdman:29,tdsig:29,tdsigt:29,tdunit:29,technic:16,temp:[18,21,22,24,27,28,32],temperatur:[19,21,22,24,27,29,31,32],tempwtr:32,ten:27,tendenc:32,term:[0,32],termain:0,terrain:[23,32],text:[20,32],textcoord:23,tfd:28,tgrd:21,tgrdm:21,than:[0,19],the_geom:[23,27],thei:[0,16],thel:32,them:[16,18,22,27],themat:32,therefor:16,thermo:24,thermoclin:32,theta:32,thflx:32,thgrd:21,thi:[0,2,16,18,19,21,22,23,24,25,27,29,30,33],thick:32,third:0,thom5:21,thom5a:21,thom6:21,those:16,thousand:27,three:[16,20,24],threshold:18,threshval:10,thrift:11,thriftclient:[14,16,19],thriftclientrout:14,thriftrequestexcept:11,through:[0,16,19,29,30],thrown:16,thunderstorm:32,thz0:32,tide:32,tie:23,tied:23,tier:6,time:[2,3,6,7,12,15,16,17,18,19,20,21,22,24,25,26,27,28,29,30,32],timeagnosticdataexcept:16,timearg:3,timedelta:[18,19,22,27],timeit:19,timeob:[22,27],timerang:[2,3,6,16,18,19,22,27],timereq:19,timestamp:3,timestr:13,timeutil:14,tipd:32,tir:21,titl:[19,24,29],title_str:29,tke:32,tlh:22,tman:29,tmax:[21,32],tmdpd:21,tmin:[21,32],tmp:[24,27,32],tmpa:32,tmpl:32,tmpswp:32,togeth:0,tool:0,toolbar:0,top:[16,20,21,25,28,32],top_label:[17,21,23,25,27,28,30],topo:[21,23],topographi:31,tori2:21,tori:21,tornado:[20,32],torprob:32,total:[18,20,23,25,26,28,32],totqi:21,totsn:32,toz:32,tozn:32,tp1hr:21,tp_inch:26,tpa:22,tpcwindprob:21,tpfi:32,tpman:29,tprate:32,tpsig:29,tpsigt:29,tpunit:29,tpw:28,tqind:21,track:[25,32],tran:32,transform:[18,20,22,23,26,27],transo:32,transpir:32,transport:32,trbb:32,trbtp:32,tree:[15,28],trend:32,tri:[24,29],trndprob:32,tro:32,trop:21,tropic:32,tropopaus:[21,32],tropospher:32,tsc:32,tsd1d:32,tsec:32,tshrmi:21,tsi:32,tslsa:32,tsmt:32,tsnow:32,tsnowp:32,tsoil:32,tsrate:32,tsrwe:32,tstk:21,tstm:32,tstmc:32,ttdia:32,ttf:22,tthdp:32,ttot:21,ttphy:32,ttrad:32,ttx:32,tua:21,tune:[2,16],tupl:9,turb:32,turbb:32,turbt:32,turbul:32,twatp:32,twind:21,twindu:21,twindv:21,twmax:21,twmin:21,two:[0,16,32,33],twstk:21,txsm:21,txt:23,type:[0,3,8,10,16,21,23,29,30,32],typeerror:[2,3,22],typic:[0,16],ubaro:32,ucar:[0,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],ucomp:24,uflx:32,ufx:21,ugrd:32,ugust:32,ugwd:32,uic:32,uil:22,ulsm:32,ulsnorat:21,ulst:32,ultra:32,ulwrf:32,unbias:25,under:32,underli:16,understand:16,understood:[16,23],undertak:16,undocu:16,unidata:[15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],unidata_16:24,unifi:[0,16],uniqu:2,unit:[8,9,16,19,21,22,24,25,26,27,29,32],unittest:21,uniwisc:28,unknown:32,unsupportedoperationexcept:16,unsupportedoutputtypeexcept:16,until:2,unv:22,uogrd:32,updat:33,updraft:32,uphl:32,upper:[0,31,32],upward:32,uri:11,urma25:21,us_east_delaware_1km:21,us_east_florida_2km:21,us_east_north_2km:21,us_east_south_2km:21,us_east_virginia_1km:21,us_hawaii_1km:21,us_hawaii_2km:21,us_hawaii_6km:21,us_west_500m:21,us_west_cencal_2km:21,us_west_losangeles_1km:21,us_west_lososos_1km:21,us_west_north_2km:21,us_west_sanfran_1km:21,us_west_socal_2km:21,us_west_washington_1km:21,use:[0,2,6,21,22,23,27,32,33],use_level:19,use_parm:19,used:[0,2,16,19,23,29,30],useful:16,useless:16,user:[0,5,25],uses:[0,27,30],using:[0,2,16,18,21,22,27],ussd:32,ustm:[21,32],uswrf:32,utc:28,utcnow:[18,22,27,28],utrf:32,uvi:32,uviuc:32,uwstk:21,vadv:21,vadvadvect:21,vaftd:32,vah:28,valid:[7,17,21,25,26,32],validperiod:29,validtim:29,valu:[2,4,7,8,11,16,18,22,23,24,26,27,32],valueerror:[19,27],vaml:28,vap:24,vapor:[24,32],vapor_pressur:24,vapour:32,vapp:32,vapr:24,variabl:[22,27],varianc:32,variou:[0,22],vash:32,vbaro:32,vbdsf:32,vcomp:24,vddsf:32,vdfhr:32,vdfmr:32,vdfoz:32,vdfua:32,vdfva:32,vector:32,vedh:32,veg:32,veget:32,vegt:32,vel1:32,vel2:32,vel3:32,veloc:[0,25,32],ventil:32,veri:16,version:0,vert:25,vertcirc:21,vertic:[24,29,31,32],vflx:32,vgp:21,vgrd:32,vgtyp:32,vgwd:32,via:[0,3,16],vice:32,view:0,vih:22,vii:32,vil:32,viliq:32,violet:32,virtual:32,viscou:32,visibl:[28,32],visual:0,vmax:[17,21],vmin:[17,21],vmp:28,vogrd:32,volash:32,volcan:32,voldec:32,voltso:32,volum:0,volumetr:32,vortic:32,vpot:32,vptmp:32,vrate:32,vsmthw:21,vsoilm:32,vsosm:32,vssd:32,vstm:[21,32],vtec:[30,32],vtmp:32,vtot:21,vtp:28,vucsh:32,vvcsh:32,vvel:32,vwiltm:32,vwsh:32,vwstk:21,wai:[2,16,26],wait:2,want:16,warm:32,warmrainprob:32,warn:[16,18,21,22,23,24,25,27,31],warning_color:30,wat:32,watch:[23,31],water:[28,32],watervapor:32,watr:32,wave:32,wavewatch:21,wbz:32,wcconv:32,wcd:21,wcda:28,wci:32,wcinc:32,wcuflx:32,wcvflx:32,wdir:32,wdirw:32,wdiv:21,wdman:29,wdrt:32,weak:4,weasd1hr:21,weasd:[21,32],weather:[0,6,22,27,32,33],weatherel:6,weight:32,well:[0,16,18,33],wesp:32,west:28,west_6km:21,westatl:21,westconu:21,wet:32,what:[16,19],when:[0,2,19,21],where:[9,16,19,21,23,24,26,32],whether:2,which:[0,6,16,23,24,32],white:[26,32],who:[0,16],whtcor:32,whtrad:32,wide:20,width:32,wilt:32,wind:[19,20,21,22,24,27,29,32],wind_compon:[22,24,27,29],wind_direct:24,wind_spe:[24,29],winddir:[22,27],windprob:32,windspe:[22,27],wish:16,within:[0,2,4,16,23],without:[0,2,16,27],wkb:19,wmc:22,wmix:32,wmo:[22,27,32],wmostanum:29,wndchl:21,word:16,work:[0,2,21,32,33],workstat:0,worri:16,would:[2,16],wpre:29,wrap:16,write:0,writer:16,written:[0,16,19],wsman:29,wsp:21,wsp_001_bin:21,wsp_002_bin:21,wsp_003_bin:21,wsp_004_bin:21,wspd:32,wstp:32,wstr:32,wsunit:29,wtend:32,wtmpc:32,wvconv:32,wvdir:32,wvhgt:32,wvinc:32,wvper:32,wvsp1:32,wvsp2:32,wvsp3:32,wvuflx:32,wvvflx:32,wwsdir:32,www:0,wxtype:32,xformatt:[17,21,23,25,27,28,30],xlen:10,xlong:32,xml:16,xrayrad:32,xshrt:32,xytext:23,year:32,yes:32,yformatt:[17,21,23,25,27,28,30],ylen:10,yml:33,you:[16,21,27,29,33],yyyi:21,zagl:21,zenith:32,zero:32,zonal:32,zone:[16,32],zpc:22},titles:["About Unidata AWIPS","CombinedTimeQuery","DataAccessLayer","DateTimeConverter","IDataRequest (newDataRequest())","IFPClient","ModelSounding","PyData","PyGeometryData","PyGridData","RadarCommon","ThriftClient","ThriftClientRouter","TimeUtil","API Documentation","Available Data Types","Development Guide","AWIPS Grids and Cartopy","Colored Surface Temperature Plot","Forecast Model Vertical Sounding","GOES Geostationary Lightning Mapper","Grid Levels and Parameters","METAR Station Plot with MetPy","Map Resources and Topography","Model Sounding Data","NEXRAD Level3 Radar","Precip Accumulation-Region Of Interest","Regional Surface Obs Plot","Satellite Imagery","Upper Air BUFR Soundings","Watch and Warning Polygons","Data Plotting Examples","Grid Parameters","Python AWIPS Data Access Framework"],titleterms:{"new":16,Obs:[22,27],Using:16,about:0,access:33,accumul:26,air:29,alertviz:0,api:14,avail:[15,24,28],awip:[0,17,33],background:16,binlightn:15,both:27,boundari:23,bufr:29,calcul:24,cartopi:[17,21],cascaded_union:23,cave:0,citi:23,code:33,color:18,combinedtimequeri:1,comparison:19,conda:33,contact:33,contourf:17,contribut:16,counti:23,creat:[23,28],cwa:23,data:[15,16,24,31,33],dataaccesslay:[2,21],datatyp:16,datetimeconvert:3,design:16,develop:16,dewpoint:24,document:14,edex:0,edexbridg:0,entiti:28,exampl:[31,33],factori:16,filter:23,forecast:19,framework:[16,33],from:24,geostationari:20,getavailablelevel:21,getavailablelocationnam:21,getavailableparamet:21,getavailabletim:21,getgriddata:21,getsupporteddatatyp:21,glm:20,goe:[20,28],grid:[15,17,21,32],guid:16,hdf5:0,hodograph:24,how:16,httpd:0,humid:24,idatarequest:4,ifpclient:5,imageri:28,implement:16,instal:33,interest:26,interfac:16,interst:23,java:16,lake:23,ldm:0,level3:25,level:21,licens:0,lightn:20,locat:24,log:19,major:23,map:23,mapper:20,matplotlib:21,merg:23,mesoscal:28,metar:[22,27],metpi:[22,24],model:[19,24],modelsound:6,nearbi:23,newdatarequest:4,nexrad:25,note:23,obs:27,onli:[16,33],packag:33,paramet:[20,21,24,32],pcolormesh:17,pip:33,plot:[18,21,22,27,31],plugin:16,polygon:30,postgresql:0,pre:33,precip:26,product:28,pydata:7,pygeometrydata:8,pygriddata:9,pypi:0,python:33,qpid:0,question:33,radar:[15,25],radarcommon:10,receiv:16,region:[26,27],regist:16,request:[16,23],requisit:33,resourc:23,retriev:16,river:23,satellit:[15,28],sector:28,setup:23,sfcob:27,skew:19,skewt:24,softwar:33,sound:[19,24,29],sourc:[20,28,33],spatial:23,specif:24,station:22,support:16,surfac:[18,22,27],synop:27,synopt:27,temperatur:18,thriftclient:11,thriftclientrout:12,timeutil:13,topographi:23,type:15,unidata:0,upper:29,use:16,user:16,vertic:19,warn:[15,30],watch:30,wfo:23,when:16,work:16,write:16}}) \ No newline at end of file +Search.setIndex({docnames:["about","api/CombinedTimeQuery","api/DataAccessLayer","api/DateTimeConverter","api/IDataRequest","api/IFPClient","api/ModelSounding","api/PyData","api/PyGeometryData","api/PyGridData","api/RadarCommon","api/ThriftClient","api/ThriftClientRouter","api/TimeUtil","api/index","datatypes","dev","examples/generated/AWIPS_Grids_and_Cartopy","examples/generated/Colored_Surface_Temperature_Plot","examples/generated/Forecast_Model_Vertical_Sounding","examples/generated/GOES_Geostationary_Lightning_Mapper","examples/generated/Grid_Levels_and_Parameters","examples/generated/METAR_Station_Plot_with_MetPy","examples/generated/Map_Resources_and_Topography","examples/generated/Model_Sounding_Data","examples/generated/NEXRAD_Level3_Radar","examples/generated/Precip_Accumulation-Region_Of_Interest","examples/generated/Regional_Surface_Obs_Plot","examples/generated/Satellite_Imagery","examples/generated/Upper_Air_BUFR_Soundings","examples/generated/Watch_and_Warning_Polygons","examples/index","gridparms","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["about.rst","api/CombinedTimeQuery.rst","api/DataAccessLayer.rst","api/DateTimeConverter.rst","api/IDataRequest.rst","api/IFPClient.rst","api/ModelSounding.rst","api/PyData.rst","api/PyGeometryData.rst","api/PyGridData.rst","api/RadarCommon.rst","api/ThriftClient.rst","api/ThriftClientRouter.rst","api/TimeUtil.rst","api/index.rst","datatypes.rst","dev.rst","examples/generated/AWIPS_Grids_and_Cartopy.rst","examples/generated/Colored_Surface_Temperature_Plot.rst","examples/generated/Forecast_Model_Vertical_Sounding.rst","examples/generated/GOES_Geostationary_Lightning_Mapper.rst","examples/generated/Grid_Levels_and_Parameters.rst","examples/generated/METAR_Station_Plot_with_MetPy.rst","examples/generated/Map_Resources_and_Topography.rst","examples/generated/Model_Sounding_Data.rst","examples/generated/NEXRAD_Level3_Radar.rst","examples/generated/Precip_Accumulation-Region_Of_Interest.rst","examples/generated/Regional_Surface_Obs_Plot.rst","examples/generated/Satellite_Imagery.rst","examples/generated/Upper_Air_BUFR_Soundings.rst","examples/generated/Watch_and_Warning_Polygons.rst","examples/index.rst","gridparms.rst","index.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[17,18,19,20,21,22,23,24,25,26,27,28,29,32],"00":[19,21,22,24],"000000":27,"000508":25,"001012802000048":27,"0027720002":25,"005":19,"008382":25,"00hpa":28,"01":[21,28,32],"0127":25,"017472787":25,"019499999":25,"02":28,"021388888888888888hr":28,"0290003":26,"02905":27,"02hpa":28,"03":28,"03199876199994":27,"033959802":25,"0393701":26,"03hpa":28,"04":[24,28],"04hpa":28,"05":[25,28],"051":26,"0555557e":25,"06":[21,28],"07":[20,28],"071":26,"07hpa":28,"08":[25,28],"08255":25,"082804":25,"088392":25,"0891":27,"08hpa":28,"09":[24,25,28],"092348410":15,"0_100":21,"0_1000":21,"0_10000":21,"0_115_360_359":25,"0_116_116":25,"0_116_360_0":25,"0_120":21,"0_12000":21,"0_13_13":25,"0_150":21,"0_1500":21,"0_180":21,"0_200":21,"0_2000":21,"0_230_360_0":25,"0_250":21,"0_2500":21,"0_260":21,"0_265":21,"0_270":21,"0_275":21,"0_280":21,"0_285":21,"0_290":21,"0_295":21,"0_30":21,"0_300":21,"0_3000":21,"0_305":21,"0_310":21,"0_315":21,"0_320":21,"0_325":21,"0_330":21,"0_335":21,"0_340":21,"0_345":21,"0_346_360_0":25,"0_350":21,"0_3500":21,"0_359":25,"0_400":21,"0_4000":21,"0_40000":21,"0_450":21,"0_4500":21,"0_460_360_0":25,"0_464_464":25,"0_500":21,"0_5000":21,"0_550":21,"0_5500":21,"0_60":21,"0_600":21,"0_6000":21,"0_609":21,"0_610":21,"0_650":21,"0_700":21,"0_7000":21,"0_750":21,"0_800":21,"0_8000":21,"0_850":21,"0_90":21,"0_900":21,"0_9000":21,"0_920_360_0":25,"0_950":21,"0bl":21,"0c":[19,32],"0co":22,"0deg":32,"0f":[22,27],"0fhag":[15,17,19,21],"0k":21,"0ke":21,"0lyrmb":21,"0m":28,"0maxomega":21,"0mb":[19,21],"0pv":21,"0sfc":[21,26],"0tilt":21,"0trop":21,"0x11b971da0":26,"0x11dcfedd8":27,"0x7ffd0f33c040":23,"1":[0,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32],"10":[15,18,19,21,22,25,26,27,28,29,32],"100":[19,21,24,29,32],"1000":[19,21,22,24,29,32],"10000":21,"1013":28,"103":28,"104":[19,28],"1042":28,"1058":23,"1070":28,"109":30,"10c":32,"10hpa":28,"10m":32,"11":[25,26,28,32],"110":28,"1100":28,"112":24,"115":25,"1152x1008":28,"116":25,"116167":28,"117":28,"118":22,"11hpa":28,"12":[18,19,21,23,24,26,27,28,29,30,32],"120":[18,21,26,32],"1203":23,"12192":25,"125":[21,26,28],"1250":21,"127":[26,30],"12h":32,"12hpa":28,"13":[25,26,28,32],"131":32,"133":28,"134":25,"135":25,"137":32,"138":25,"139":26,"13hpa":28,"14":[18,19,21,24,25,26,28,32],"140":26,"1400":23,"141":25,"142":28,"1440":32,"14hpa":28,"15":[18,19,20,24,26,28,29,32],"150":21,"1500":21,"151":28,"152":27,"1524":21,"159":25,"15c":32,"15hpa":28,"16":[15,17,18,20,21,24,25,26,27,32],"160":28,"161":25,"163":25,"165":25,"166":25,"1688":23,"169":25,"1693":23,"1694":23,"17":[24,25,26,28,32],"170":[25,28],"1701":23,"1703":23,"1706":23,"171":25,"1716":23,"172":25,"173":25,"1730":23,"174":25,"1741":23,"1746":23,"175":[21,25],"1753":23,"176":25,"1767":23,"177":25,"1781":23,"1790004":26,"17hpa":28,"18":[19,20,21,25,26,27,28,32],"180":28,"1828":21,"1875":26,"1890006":26,"18hpa":28,"19":[19,21,25,28],"190":[25,28],"19hpa":28,"19um":28,"1f":[19,22,27],"1h":32,"1mb":19,"1st":32,"1v4":24,"1x1":32,"2":[0,15,17,18,19,21,22,23,24,25,26,27,28,29,32],"20":[19,22,24,25,26,28,29,30,32],"200":[21,28,32],"2000":21,"2000m":32,"201":32,"2016":16,"2018":[19,25,28],"202":32,"2020":24,"2021":21,"203":32,"204":32,"205":32,"206":32,"207":32,"207see":32,"208":[23,32],"209":32,"20b2aa":23,"20c":32,"20um":28,"21":26,"210":32,"211":32,"212":[28,32],"215":32,"216":32,"217":32,"218":32,"219":32,"22":[19,20,26],"222":32,"223":[28,32],"224":32,"225":[21,23],"22hpa":28,"23":[22,23,25,28],"230":25,"235":28,"23hpa":28,"24":[26,27,30,32],"240":32,"243":24,"247":28,"24799":28,"24h":32,"24hpa":28,"25":[18,21,26,32],"250":[21,32],"2500":21,"252":32,"253":32,"254":32,"255":[21,22],"259":28,"25um":28,"26":28,"260":[21,27],"263":24,"265":21,"26c":32,"26hpa":28,"27":[25,26],"270":21,"272":28,"273":[19,24,29],"2743":21,"274543999":15,"275":21,"27hpa":28,"28":[26,27,28],"280":21,"280511999":15,"285":21,"285491999":15,"286":28,"29":[24,28],"290":21,"295":[21,26],"2960005":26,"2fhag":[16,21],"2h":32,"2km":32,"2m":32,"2nd":32,"2pi":32,"2s":32,"3":[18,19,21,23,24,25,26,27,28,29,32],"30":[21,26,28,29,32],"300":[21,26,28,32],"3000":21,"3048":21,"305":21,"3071667e":25,"30hpa":28,"30m":32,"30um":28,"31":[25,27,28],"310":21,"3125":26,"314":28,"315":21,"31hpa":28,"32":[18,19,25,26,27,28],"320":21,"325":21,"328":28,"32hpa":28,"33":[26,27,32],"330":21,"334":26,"335":21,"337":21,"339":26,"340":21,"343":28,"345":21,"346":25,"3468":27,"34hpa":28,"34um":28,"35":[18,21,22,27,28],"350":21,"3500":21,"358":28,"35hpa":28,"35um":28,"36":26,"360":[25,32],"3600":[26,28],"3657":21,"36shrmi":21,"37":25,"374":28,"375":[21,26],"37hpa":28,"38hpa":28,"38um":28,"39":[19,26,28],"390":28,"3h":32,"3j2":24,"3rd":32,"3tilt":21,"4":[19,21,22,24,26,27,28,32],"40":[19,21,24,32],"400":21,"4000":21,"400hpa":32,"407":28,"40km":19,"41":25,"41999816894531":24,"41hpa":28,"42":[25,26,28],"422266":28,"424":28,"425":21,"43":[24,28],"4328":23,"43hpa":28,"441":28,"4420482":26,"44848":27,"44hpa":28,"45":[18,19,21,26,28],"450":21,"4500":21,"451":21,"45227":28,"4572":21,"459":28,"45hpa":28,"46":15,"460":25,"464":25,"46hpa":28,"47":28,"47462":28,"475":21,"477":28,"47hpa":28,"47um":28,"48":[26,32],"49":30,"496":28,"4bl":24,"4bq":24,"4hv":24,"4lftx":32,"4mb":19,"4om":24,"4th":32,"4tilt":21,"5":[0,20,21,23,24,25,26,27,28,32],"50":[15,19,21,22,23,25,26,30,32],"500":[21,28,32],"5000":[21,23],"50934":27,"50dbzz":21,"50hpa":28,"50m":[17,18,20,23,25,26,28,30],"50um":28,"51":[25,26,28],"515":28,"51hpa":28,"52":26,"521051616000022":27,"525":21,"5290003":26,"52hpa":28,"535":28,"5364203":26,"5399999e":25,"53hpa":28,"54":26,"54hpa":28,"55":[18,21],"550":21,"5500":21,"555":28,"56":[25,28],"5625":26,"57":[23,25,26],"575":[21,28],"5775646e":25,"57hpa":28,"58":[25,28],"58hpa":28,"59":22,"596":28,"59hpa":28,"5af":24,"5ag":24,"5c":32,"5pv":21,"5sz":24,"5tilt":21,"5wava":32,"5wavh":32,"6":[19,21,22,24,26,27,28,32],"60":[21,24,26,27,28,29,32],"600":21,"6000":21,"609":21,"6096":21,"610":21,"61595":28,"617":28,"61um":28,"623":23,"625":[21,26],"626":26,"628002":26,"62hpa":28,"63":26,"63429260299995":27,"639":28,"63hpa":28,"64":[24,30],"64um":28,"65":[15,18,24,26],"650":21,"65000152587891":24,"65155":27,"652773000":15,"65293884277344":15,"656933000":15,"657455":28,"65hpa":28,"66":[26,28],"660741000":15,"661":28,"66553":27,"67":[19,24],"670002":26,"67402":27,"675":21,"67hpa":28,"683":28,"6875":26,"68hpa":28,"69":26,"690":25,"69hpa":28,"6fhag":21,"6h":32,"6km":32,"6mb":19,"6ro":24,"7":[17,19,21,24,25,26,28,32],"70":[18,32],"700":21,"7000":21,"706":28,"70851":28,"70hpa":28,"71":28,"718":26,"71hpa":28,"72":[26,32],"725":21,"72562":29,"729":28,"72hpa":28,"73":22,"74":26,"75":[18,26],"750":21,"75201":27,"753":28,"757":23,"758":23,"759":23,"760":23,"761":23,"762":23,"7620":21,"765":23,"766":23,"768":23,"769":23,"77":[26,28],"775":[21,23],"777":28,"778":23,"78":[25,26,27],"782322971":15,"78hpa":28,"79":26,"79354":27,"797777777777778hr":28,"79hpa":28,"7mb":19,"7tilt":21,"8":[18,21,22,24,26,27,28,32],"80":[17,23,25,27,28,32],"800":21,"8000":21,"802":28,"81":[25,26],"812":26,"82":[26,27],"825":21,"82676":27,"8269997":26,"827":28,"83":[27,28],"834518":25,"836":19,"837":19,"84":26,"848":19,"85":[18,26],"850":21,"852":28,"853":26,"85hpa":28,"86":27,"86989b":23,"87":[19,26,27,28],"875":[21,26],"878":28,"87hpa":28,"87um":28,"88hpa":28,"89":[26,27,28],"89899":27,"89hpa":28,"8fhag":21,"8tilt":21,"8v7":24,"9":[17,24,26,28,32],"90":[15,20,21,32],"900":21,"9000":21,"904":28,"90um":28,"911":18,"9144":21,"92":[15,27,28],"920":25,"921":18,"925":21,"92hpa":28,"931":28,"93574":27,"94":[24,25],"94384":24,"948581075":15,"94915580749512":15,"95":22,"950":21,"958":28,"95hpa":28,"95um":28,"96":28,"96hpa":28,"975":21,"97hpa":28,"98":28,"986":28,"98hpa":28,"99":25,"992865960":15,"9999":[18,22,26,27,29],"99hpa":28,"9b6":24,"9tilt":21,"\u03c9":32,"\u03c9\u03c9":32,"\u03c9q":32,"\u03c9t":32,"abstract":16,"break":16,"byte":32,"case":[16,24,29],"class":[16,19,22,25],"default":[0,16,30],"do":[0,16,30],"enum":16,"export":0,"final":[21,32],"float":[16,18,19,22,27,32],"function":[0,16,22,27,30,32],"import":[16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],"int":[16,18,22,23,26,27,32],"long":[16,32],"new":[18,21,24,26,27,33],"null":16,"public":[0,16],"return":[15,16,17,19,21,22,23,24,25,26,27,28,29,30,32],"short":32,"super":32,"switch":19,"throw":16,"transient":32,"true":[15,17,19,21,22,23,24,25,26,27,28,30,32],"try":[22,24,27],"void":16,"while":[16,27,29],A:[0,16,17,19,24,26,32],As:[0,16],At:[0,32],By:[16,32],For:[0,16,21,23,29],IS:19,If:[16,19,22,33],In:[0,16,23,32,33],Into:21,It:16,Near:32,No:[16,24,25],Not:16,Of:[31,32],One:25,The:[0,16,19,20,23,24,29,32,33],There:[16,19],These:0,To:[16,32],With:32,_:19,__future__:23,_datadict:19,abbrevi:32,abi:32,abl:[16,24],about:16,abov:[16,19,21,23,32],abq:22,absd:32,absfrq:32,absh:32,absolut:32,absorpt:32,absrb:32,abstractdatapluginfactori:16,abstractgeometrydatabasefactori:16,abstractgeometrytimeagnosticdatabasefactori:16,abstractgriddatapluginfactori:16,absv:32,ac137:32,acar:[16,21],acceler:32,access:[0,16,23],account:27,accum:[25,32],accumul:[31,32],acond:32,acpcp:32,acpcpn:32,action:16,activ:[32,33],actp:28,actual:16,acv:22,acwvh:32,ad:[16,27,32],adcl:32,add:[16,18,22,29],add_barb:[22,27],add_featur:[22,23,27,28,30],add_geometri:26,add_grid:[19,24,29],add_subplot:22,add_valu:[22,27],addidentifi:[15,16,20,23,24,27,28],addit:[0,16],adiabat:32,adm:24,admin_0_boundary_lines_land:[23,30],admin_1_states_provinces_lin:[23,28,30],adp:28,aerodynam:32,aerosol:32,aetyp:32,afa:24,after:[0,16,21],ag:32,ageovc:21,ageow:21,ageowm:21,agl:32,agnost:16,ago:28,agr:24,ah:32,ahn:24,ai131:32,aia:24,aid:20,aih:24,air:[0,31,32],air_pressure_at_sea_level:[22,27],air_temperatur:[22,27],airep:[16,21],airmet:16,airport:16,ajo:24,akh:32,akm:32,al:27,alabama:27,alarm:0,albdo:32,albedo:32,alert:[0,16],algorithm:25,all:[0,16,18,19,21,23,29,32,33],allow:[0,16,19],along:21,alpha:[23,32],alr:21,alreadi:[22,33],alrrc:32,also:[0,15,16],alter:16,altimet:32,altitud:32,altmsl:32,alwai:16,america:[18,22],amixl:32,amount:[16,28,32],amsl:32,amsr:32,amsre10:32,amsre11:32,amsre12:32,amsre9:32,an:[0,16,18,20,21,24,28,29,32,33],analysi:[0,33],anc:32,ancconvectiveoutlook:32,ancfinalforecast:32,angl:[16,32],ani:[0,16,19,23],anisotropi:32,anj:24,annot:23,anomali:32,anoth:16,antarct:28,anyth:16,aod:28,aohflx:32,aosgso:32,apach:0,apcp:32,apcpn:32,api:16,app:16,appar:32,appear:23,append:[19,20,22,23,24,27,29,30],appli:[0,16],applic:[0,23],approach:0,appropri:[0,30],approv:32,appt:21,aptmp:32,apx:24,aqq:24,aqua:32,ar:[0,16,19,20,21,23,24,27,28,29,32,33],aradp:32,arain:32,arbitrari:32,arbtxt:32,architectur:16,arctic:28,area:[23,26,28,32],arg:16,argsort:29,ari12h1000yr:32,ari12h100yr:32,ari12h10yr:32,ari12h1yr:32,ari12h200yr:32,ari12h25yr:32,ari12h2yr:32,ari12h500yr:32,ari12h50yr:32,ari12h5yr:32,ari1h1000yr:32,ari1h100yr:32,ari1h10yr:32,ari1h1yr:32,ari1h200yr:32,ari1h25yr:32,ari1h2yr:32,ari1h500yr:32,ari1h50yr:32,ari1h5yr:32,ari24h1000yr:32,ari24h100yr:32,ari24h10yr:32,ari24h1yr:32,ari24h200yr:32,ari24h25yr:32,ari24h2yr:32,ari24h500yr:32,ari24h50yr:32,ari24h5yr:32,ari2h1000yr:32,ari2h100yr:32,ari2h10yr:32,ari2h1yr:32,ari2h200yr:32,ari2h25yr:32,ari2h2yr:32,ari2h500yr:32,ari2h50yr:32,ari2h5yr:32,ari30m1000yr:32,ari30m100yr:32,ari30m10yr:32,ari30m1yr:32,ari30m200yr:32,ari30m25yr:32,ari30m2yr:32,ari30m500yr:32,ari30m50yr:32,ari30m5yr:32,ari3h1000yr:32,ari3h100yr:32,ari3h10yr:32,ari3h1yr:32,ari3h200yr:32,ari3h25yr:32,ari3h2yr:32,ari3h500yr:32,ari3h50yr:32,ari3h5yr:32,ari6h1000yr:32,ari6h100yr:32,ari6h10yr:32,ari6h1yr:32,ari6h200yr:32,ari6h25yr:32,ari6h2yr:32,ari6h500yr:32,ari6h50yr:32,ari6h5yr:32,around:16,arrai:[15,16,18,19,21,22,23,24,25,27,29,30],asd:32,aset:32,asgso:32,ash:32,ashfl:32,asnow:32,assign:29,assimil:32,assist:0,associ:[0,16,32],assum:24,asymptot:32,ath:24,atl1:24,atl2:24,atl3:24,atl4:24,atl:22,atlh:24,atmdiv:32,atmo:32,atmospher:[21,32],attach:[16,22,27],attempt:16,attent:19,attribut:[16,20],automat:16,autosp:21,av:21,avail:[0,16,19,20,21,23,30,32],avail_param:22,available_grid:21,available_loc:25,availablelevel:[15,19,21,25],availableloc:29,availableparm:[20,21,25],availableproduct:[15,22,27,28],availablesector:[15,28],averag:32,avg:32,aviat:32,avoid:16,avsft:32,awh:24,awip:[15,16,18,19,20,21,22,23,24,25,26,27,28,29,30,31],awips2:[0,24],awr:24,awvh:32,ax2:17,ax:[17,18,19,20,22,23,24,25,26,27,28,29,30],ax_hod:[19,24,29],ax_synop:27,axes_grid1:[19,24,29],axvlin:[19,24,29],azimuth:32,b:[24,32],ba:32,bab:24,back:16,backend:0,backscatt:32,band:32,bare:32,baret:32,barotrop:32,base:[0,16,24,25,28,32],baseflow:32,baselin:16,basin:16,basr:32,basrv:32,bassw:32,bbox:[17,18,19,23,25,26,27,28,30],bcbl:32,bcly:32,bctl:32,bcy:32,bde:22,bdept06:21,bdg:[22,24],bdp:24,beam:32,bean:16,becaus:[16,24,27,29],becom:[16,23],been:16,befor:16,begin:22,beginrang:[18,22,27],behavior:16,being:[0,16],below:[16,23,32,33],beninx:32,best:[16,32],between:[0,16,19,32],bfl:24,bgrun:32,bgtl:24,bh1:24,bh2:24,bh3:24,bh4:24,bh5:24,bhk:24,bi:22,bia:32,bid:24,bil:22,bin:16,binlightn:[16,20,21],binoffset:16,bir:24,bkeng:32,bkn:[22,27],bl:[21,24],black:[23,26,29,30,32],blackadar:32,blank:30,bld:32,bli:[21,32],blkmag:21,blkshr:21,blob:24,blow:32,blst:32,blu:24,blue:[22,23,27],blysp:32,bmixl:32,bmx:24,bna:24,bo:22,board:20,bod:24,boi:22,border:22,both:[16,20,23,25],bottom:32,bou:23,boulder:23,bound:[16,18,22,23,27,30],boundari:[21,27,32],box:[16,18,26],bq:32,bra:24,bright:32,brightbandbottomheight:32,brightbandtopheight:32,brn:21,brnehii:21,brnmag:21,brnshr:21,brnvec:21,bro:22,broken:0,browser:33,brtmp:32,btl:24,btot:32,buffer:[23,27],bufr:[24,31],bufrmosavn:21,bufrmoseta:21,bufrmosgf:21,bufrmoshpc:21,bufrmoslamp:21,bufrmosmrf:21,bufrua:[16,21,29],bui:22,build:[16,29],bulb:32,bundl:16,bvec1:32,bvec2:32,bvec3:32,bvr:24,bytebufferwrapp:16,c01:24,c02:24,c03:24,c04:24,c06:24,c07:24,c08:24,c09:24,c10:24,c11:24,c12:24,c13:24,c14:24,c17:24,c18:24,c19:24,c20:24,c21:24,c22:24,c23:24,c24:24,c25:24,c27:24,c28:24,c30:24,c31:24,c32:24,c33:24,c34:24,c35:24,c36:24,c7h:24,c:[18,19,24,29,32,33],caesium:32,cai:24,caii:32,caiirad:32,calc:[22,24,27,29],calcul:[16,26,29],call:[0,16,23,33],callabl:21,caller:16,camt:32,can:[0,16,21,23,24,27,28,33],canopi:32,capabl:16,capac:32,cape:[21,28,32],capestk:21,capetolvl:21,car:22,carolina:27,cartopi:[18,20,21,22,23,25,26,27,28,30,31],cat:32,categor:32,categori:[18,22,23,24,25,27,28,30,32],cave:[16,18,33],cb:32,cbar2:17,cbar:[17,23,25,26,28],cbase:32,cbe:24,cbhe:32,cbl:32,cbn:24,cbound:23,cc5000:23,ccape:21,ccbl:32,cceil:32,ccfp:16,ccin:21,ccittia5:32,ccly:32,ccond:32,ccr:[17,18,20,22,23,25,26,27,28,30],cctl:32,ccy:32,cd:[32,33],cdcimr:32,cdcon:32,cdlyr:32,cduvb:32,cdww:32,ceas:32,ceil:32,cell:16,cent:32,center:[0,32,33],cento:0,central_latitud:[22,27],central_longitud:[20,22,27],certain:16,cfeat:[20,28],cfeatur:[22,27,30],cfnlf:32,cfnsf:32,cfrzr:[21,32],cg:32,ch:[22,28],chang:[16,22,23,32],changeedexhost:[15,17,18,19,20,21,22,23,24,25,26,27,28,29,30],channel:32,chart:29,che:24,chill:32,choos:16,cice:32,cicel:32,cicep:[21,32],ciflt:32,cin:[21,32],cisoilw:32,citylist:23,citynam:23,civi:32,ckn:24,cld:24,cldcvr:24,cle:[22,24],clean:[16,19],clear:32,clg:32,clgtn:32,click:0,client:0,climat:21,clip_on:[22,27],cln:24,clone:33,cloud:[15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32],cloud_coverag:[22,27],cloudcov:32,cloudm:32,clt:22,clwmr:32,cm:32,cmap:[17,23,25,26,28],cmc:[19,21],cngwdu:32,cngwdv:32,cnvdemf:32,cnvdmf:32,cnvhr:32,cnvmr:32,cnvu:32,cnvumf:32,cnvv:32,cnwat:32,coars:32,coastlin:[17,18,20,22,23,25,26,28,30],code:[0,16,22,25,27,32],coe:22,coeff:25,coeffici:32,col1:24,col2:24,col3:24,col4:24,col:32,collect:20,color:[19,22,24,27,29,30,31],colorado:23,colorbar:[17,23,25,26,28],column:[23,28,32],com:[0,16,18,22,24,27,33],combin:[16,32],combinedtimequeri:14,come:16,command:0,commerci:0,common:[0,16,18,22,27],common_obs_spati:21,commun:0,compat:[0,16],complet:16,compon:[0,19,22,24,27,32],component_rang:[19,24,29],compos:0,composit:[0,25,28,32],compositereflectivitymaxhourli:32,compris:0,concaten:[24,29],concentr:32,concept:16,cond:32,condens:32,condit:32,condp:32,conduct:[0,32],conf:0,confid:32,configur:0,connect:21,consid:[0,16,32],consist:[0,16],constant:[24,29],construct:24,constructor:16,cont:32,contain:[0,16],contb:32,content:[16,32],contet:32,conti:32,continu:[16,25,28,29],contourf:23,contrail:32,control:0,contrust:[15,28],contt:32,conu:[18,23,26,28,32],conus_envelop:26,conusmergedreflect:32,conusplusmergedreflect:32,convect:32,conveni:16,converg:32,convert:[16,18,19,22,27],convp:32,coolwarm:28,coordin:[0,16,32],copi:18,corf:21,corff:21,corffm:21,corfm:21,coronagraph:32,correct:[22,27,32],correl:[16,25],correspond:16,cosd:16,cosmic:32,cot:[0,24],could:16,count:[23,25,32],counti:[16,27],covari:32,cover:[21,24,32],coverag:32,covmm:32,covmz:32,covpsp:32,covqm:32,covqq:32,covqvv:32,covqz:32,covtm:32,covtt:32,covtvv:32,covtw:32,covtz:32,covvvvv:32,covzz:32,cp1hr:21,cp:21,cpofp:32,cpozp:32,cppaf:32,cpr:[21,22],cprat:32,cprd:21,cqv:24,cr:[17,18,20,22,23,25,26,27,28,30],crain:[21,32],creat:[0,16,18,19,20,21,22,24,26,27,29,30,33],creatingent:[15,28],crest:32,crestmaxstreamflow:32,crestmaxustreamflow:32,crestsoilmoistur:32,critic:32,critt1:21,crl:24,cross:32,crr:24,crtfrq:32,crw:22,cs2:17,cs:[17,23,25,26,28],csdlf:32,csdsf:32,csm:28,csnow:[21,32],csrate:32,csrwe:32,csulf:32,csusf:32,ct:32,cth:28,ctl:32,ctop:32,ctophqi:32,ctot:21,ctp:32,ctstm:32,ctt:28,cty:24,ctyp:32,cuefi:32,cultur:[23,28,30],cumnrm:21,cumshr:21,cumulonimbu:32,current:[16,32],curu:21,custom:16,custom_layout:[22,27],cv:24,cvm:24,cwat:32,cwdi:32,cweu:24,cwfn:24,cwkx:24,cwlb:24,cwlo:24,cwlt:24,cwlw:24,cwmw:24,cwo:24,cwork:32,cwp:32,cwph:24,cwqg:24,cwr:32,cwsa:24,cwse:24,cwzb:24,cwzc:24,cwzv:24,cxr:21,cyah:24,cyaw:24,cybk:24,cybu:24,cycb:24,cycg:24,cycl:[15,17,19,21,24,25,26],cyclon:32,cycx:24,cyda:24,cyeg:24,cyev:24,cyf:24,cyfb:24,cyfo:24,cygq:24,cyhm:24,cyhz:24,cyjt:24,cylh:24,cylj:24,cymd:24,cymo:24,cymt:24,cymx:24,cyoc:24,cyow:24,cypa:24,cype:24,cypl:24,cypq:24,cyqa:24,cyqd:24,cyqg:24,cyqh:24,cyqi:24,cyqk:24,cyqq:24,cyqr:24,cyqt:24,cyqx:24,cyrb:24,cysi:24,cysm:24,cyt:24,cyth:24,cytl:24,cyul:24,cyux:24,cyvo:24,cyvp:24,cyvq:24,cyvr:24,cyvv:24,cywa:24,cywg:24,cywo:24,cyx:24,cyxc:24,cyxh:24,cyxi:24,cyxu:24,cyxx:24,cyxz:24,cyy:24,cyyb:24,cyyc:24,cyyj:24,cyyq:24,cyyr:24,cyyt:24,cyyz:24,cyz:24,cyzf:24,cyzt:24,cyzv:24,d2d:0,d2dgriddata:16,d:[0,15,16,18,19,22,24,27,28,32],daemon:0,dai:[20,28,32],daili:32,dalt:32,darkgreen:[18,22,27],darkr:[22,27],data:[0,17,20,21,22,23,25,26,27,28,29,30,32],data_arr:22,dataaccess:[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],dataaccesslay:[14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30],dataaccessregistri:16,databas:[0,16,23,27],datadestin:16,datafactoryregistri:16,dataplugin:16,dataset:[0,23,33],datasetid:16,datastorag:16,datatim:[16,21,29],datatyp:[18,20,21,22,23,27,28],datauri:28,datetim:[18,19,20,22,24,27,28,30],datetimeconvert:14,db:[16,32],dbll:32,dbm:0,dbsl:32,dbss:32,dbz:[25,32],dcape:21,dcbl:32,dccbl:32,dcctl:32,dctl:32,dd:21,decod:[0,16],deep:32,def:[17,22,23,25,26,27,28,30],defaultdatarequest:16,defaultgeometryrequest:16,defaultgridrequest:16,deficit:32,defin:[21,23,28,30,32],definit:[16,23],defv:21,deg2rad:29,deg:[24,32],degc:[19,22,24,27,29],degf:[18,22,27,29],degre:[22,27,32],del2gh:21,deleg:16,delta:32,den:[24,32],densiti:32,depend:[16,23,32],depmn:32,deposit:32,depr:32,depress:32,depth:32,deriv:[0,16,25,28,32],describ:0,descript:32,design:0,desir:16,desktop:0,destin:16,detail:16,detect:[20,32],determin:[0,16,19,26],detrain:32,dev:32,develop:[0,20,33],deviat:32,devmsl:32,dew:32,dew_point_temperatur:[22,27],dewpoint:[19,22,27,29],df:21,dfw:22,dhr:28,diagnost:32,dice:32,dict:[17,18,20,22,23,25,26,27,28,30],dictionari:[22,27],difeflux:32,diff:25,differ:[0,16,32],differenti:32,diffus:32,dififlux:32,difpflux:32,digit:[15,25],dim:32,dimension:0,dir:24,dirc:32,dirdegtru:32,direc:[29,32],direct:[22,27,32],directli:0,dirpw:32,dirsw:32,dirwww:32,discharg:20,disclosur:23,disk:32,dispers:32,displai:[0,16,33],display:0,dissip:32,dist:32,distinct:16,distirubt:24,distribut:0,diverg:32,divers:16,divf:21,divfn:21,divid:32,dlh:22,dlwrf:32,dm:32,dman:29,dobson:32,document:16,doe:[16,24],domain:[0,21,23],don:16,done:16,dot:[19,29],dov:24,down:18,downdraft:32,download:[0,23],downward:32,dp:[21,32],dpblw:32,dpd:21,dpg:24,dpi:22,dpmsl:32,dpt:[19,21,27,32],drag:32,draw:[18,24,26,29],draw_label:[17,23,25,27,28,30],dream:16,drift:32,drop:32,droplet:32,drt:22,dry:32,dry_laps:[24,29],dsc:24,dsd:24,dskdai:32,dskint:32,dskngt:32,dsm:22,dstype:[18,22,27],dswrf:32,dt:[21,32],dtrf:32,dtx:24,dtype:[18,19,22,27,30],due:32,durat:32,duvb:32,dvadv:21,dvl:28,dvn:24,dwpc:24,dwuvr:32,dwww:32,dy:24,dynamicseri:[18,22,27],dz:21,dzdt:32,e28:24,e74:24,e7e7e7:27,e:[0,16,22,24,27,28,32],ea:32,each:[16,23,24,27,30],eas:16,easier:16,easili:23,east:[28,32],east_6km:21,east_pr_6km:21,eastward_wind:[22,27],eat:24,eatm:32,eax:24,echo:[25,32],echotop18:32,echotop30:32,echotop50:32,echotop60:32,ecmwf:32,econu:28,eddi:32,edex:[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],edex_camel:0,edex_ldm:0,edex_postgr:0,edexserv:[18,20,22,27],edgecolor:[23,26,27,30],editor:0,edu:[0,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],edw:24,eet:28,ef25m:32,ef50m:32,efd:28,effect:[16,32],effici:32,effict:33,efl:24,ehelx:32,ehi01:21,ehi:21,ehii:21,ehlt:32,either:[0,16,30,33],elcden:32,electmp:32,electr:32,electron:32,element:22,elev:[23,29,32],eli:22,elif:[18,19,22,27],elon:32,elonn:32,elp:22,els:[18,19,22,25,26,27,30],elsct:32,elyr:32,email:33,embed:32,emeso:28,emiss:32,emit:20,emnp:32,emp:24,emploi:0,empti:19,enabl:[16,23],encod:32,encourag:0,end:[0,18,22,24,27],endrang:[18,22,27],energi:32,engeri:32,engin:32,enhanc:[0,25],enl:24,ensur:0,entir:[0,23,32],entiti:[0,15],entitl:0,enumer:[23,26,28],env:[16,33],envelop:[16,18,19,23,26,27],environ:[0,33],environment:[0,20],eocn:32,eph:22,epot:32,epsr:32,ept:21,epta:21,eptc:21,eptgrd:21,eptgrdm:21,epv:21,epvg:21,epvt1:21,epvt2:21,equilibrium:32,equival:32,error:[0,16,32],esp2:21,esp:21,essenti:[16,23],estc:24,estim:32,estof:21,estpc:32,estuwind:32,estvwind:32,eta:[24,32],etal:32,etc:[0,16,19,23],etcwl:32,etot:32,etsrg:32,etss:21,euv:32,euvirr:32,euvrad:32,ev:32,evapor:32,evapotranspir:32,evapt:32,evb:32,evcw:32,evec1:32,evec2:32,evec3:32,event:20,everi:16,everyth:16,evp:32,ewatr:32,exampl:[0,15,16,17,21,23,24,25,28,29,30],exceed:32,except:[16,22,24,27],excess:32,exchang:[0,32],execut:0,exercis:[18,22,27],exist:[16,18],exit:24,exp:24,expand:16,expect:16,experienc:33,exten:32,extend:[16,23,25,29],extent:[20,23,28],extra:32,extrem:32,f107:32,f10:32,f1:32,f2:32,f:[18,21,24,29,32,33],facecolor:[20,23,26,27,28,30],facilit:0,factor:32,factorymethod:16,fall:[23,28],fals:[17,23,25,27,28,30],familiar:16,far:22,faster:16,fat:22,fc:24,fcst:26,fcsthour:24,fcsthr:26,fcstrun:[15,17,19,21,24,26],fdc:28,fdr:24,featmot:21,featur:[20,22,23,27,28,30],feature_artist:[26,27],featureartist:[26,27],feed:0,feel:33,felt:16,few:[16,22,27],ff:21,ffc:24,ffg01:32,ffg03:32,ffg06:32,ffg12:32,ffg24:32,ffg:[21,32],ffmp:16,ffr01:32,ffr03:32,ffr06:32,ffr12:32,ffr24:32,ffrun:32,fgen:21,fhag:[19,21],fhu:24,fice:32,field:[16,23,32],fig2:17,fig:[17,18,20,22,23,25,26,27,28,30],fig_synop:27,figsiz:[17,18,19,20,22,23,24,25,26,27,28,29,30],figur:[19,22,24,28,29],file:[0,16],filter:27,filterwarn:[18,22,24,25,27],fine:[16,32],finish:0,fire:[20,32],firedi:32,fireodt:32,fireolk:32,first:[16,20,28,30,32],fix:21,fl:27,flag:29,flash:[20,32],flat:25,flatten:25,fldcp:32,flg:[22,24],flght:32,flight:32,float64:30,floatarraywrapp:16,flood:[20,32],florida:27,flow:0,flown:20,flp:24,flux:32,fmt:[22,27],fnd:21,fnmoc:21,fnvec:21,fog:28,folder:16,follow:[0,16,24,29],fontsiz:[18,22,27],forc:[32,33],forecast:[0,20,21,28,31,32,33],forecastmodel:24,forg:33,form:0,format:[0,20,21,22],foss:0,foss_cots_licens:0,found:[16,18,19,25,27],fpk:24,fprate:32,fractil:32,fraction:[22,27,32],frain:32,free:[0,16,32,33],freez:32,freq:32,frequenc:[20,32],frequent:16,fri:24,friction:32,fricv:32,frime:32,from:[0,16,17,18,19,20,21,22,23,25,26,27,28,29,30,32,33],fromtimestamp:22,front:0,frozen:32,frozr:32,frzr:32,fsd:[21,22],fsi:24,fsvec:21,ftr:24,full:[15,16,23,28,29],fundament:0,further:0,furthermor:16,futur:16,fvec:21,fwd:24,fwr:21,fzra1:21,fzra2:21,g001:24,g003:24,g004:24,g005:24,g007:24,g009:24,g:[16,19,24,29,32],ga:27,gage:16,gamma:21,gaug:32,gaugecorrqpe01h:32,gaugecorrqpe03h:32,gaugecorrqpe06h:32,gaugecorrqpe12h:32,gaugecorrqpe24h:32,gaugecorrqpe48h:32,gaugecorrqpe72h:32,gaugeinfindex01h:32,gaugeinfindex03h:32,gaugeinfindex06h:32,gaugeinfindex12h:32,gaugeinfindex24h:32,gaugeinfindex48h:32,gaugeinfindex72h:32,gaugeonlyqpe01h:32,gaugeonlyqpe03h:32,gaugeonlyqpe06h:32,gaugeonlyqpe12h:32,gaugeonlyqpe24h:32,gaugeonlyqpe48h:32,gaugeonlyqpe72h:32,gbound:23,gc137:32,gcbl:32,gctl:32,gdp:24,gdv:24,gempak:[18,24],gener:[16,26],geograph:33,geoid:32,geom:[15,23,24,27,30],geom_count:30,geom_typ:30,geometr:32,geometri:[16,18,19,23,26,27,30],geomfield:[23,27],geopotenti:32,georgia:27,geospati:16,geostationari:31,geovort:21,geow:21,geowm:21,get:[16,18,19,22,23,27,28,29,30],get_cloud_cov:[22,27],get_cmap:[17,23,25,26],get_hdf5_data:15,getattribut:[16,20],getavailablelevel:[15,19,25],getavailablelocationnam:[15,16,24,25,28,29],getavailableparamet:[15,20,22,25,27,28],getavailabletim:[15,16,17,19,20,24,25,26,28,29,30],getdata:16,getdatatim:[15,16,17,18,20,21,22,24,25,26,27,28,29,30],getdatatyp:16,getenvelop:16,getfcsttim:[24,26],getforecastrun:[15,17,19,21,24,26],getgeometri:[15,16,20,23,24,27,30],getgeometrydata:[15,16,18,20,22,23,24,27,29,30],getgriddata:[15,16,17,23,25,26,28],getgridgeometri:16,getidentifi:16,getidentifiervalu:[15,20,28],getlatcoord:16,getlatloncoord:[15,17,21,23,25,26,28],getlevel:[16,17,25],getlocationnam:[15,16,17,21,24,25,26,30],getloncoord:16,getmetarob:[18,27],getnumb:[16,22,23,24,27,29],getoptionalidentifi:28,getparamet:[16,17,21,22,24,25,28,29,30],getradarproductid:25,getradarproductnam:25,getrawdata:[15,16,17,21,23,25,26,28],getreftim:[15,17,19,20,24,25,26,28,29,30],getsound:19,getstoragerequest:16,getstr:[16,22,23,27,29,30],getsynopticob:27,gettyp:16,getunit:[16,17,21,25,29],getvalidperiod:[15,24,30],gf:24,gfe:[0,16,21],gfeeditarea:21,gfegriddata:16,gflux:32,gfs1p0:21,gfs20:[19,21],gfs40:16,gh:[21,32],ght:32,ghxsm2:21,ghxsm:21,gi131:32,gi:23,git:33,github:[0,24,33],given:32,gjt:22,gl:[17,23,25,27,28,30],gld:22,glm:15,glm_point:20,glmev:20,glmfl:20,glmgr:[15,20],global:32,glry:24,gm:28,gmt:[20,24],gmx1:24,gnb:24,gnc:24,go:16,goal:16,goe:[31,32],good:23,gov:24,gp:32,gpa:32,gpm:32,grab:[22,27],grad:32,gradient:32,gradp:32,graphic:0,graup:32,graupel:32,graupl:32,graviti:32,grb:22,greatest:26,green:18,grf:24,grib:[0,16,32],grid:[0,16,19,23,25,26,27,28,31],griddata:23,griddatafactori:16,gridgeometry2d:16,gridlin:[17,20,23,25,26,27,28,30],grle:32,ground:[20,21,32],groundwat:32,group:[20,23],growth:32,gscbl:32,gsctl:32,gsgso:32,gtb:24,gtp:24,guidanc:32,gust:[21,32],gv:24,gvl:24,gwd:32,gwdu:32,gwdv:32,gwrec:32,gyx:24,h02:24,h50above0c:32,h50abovem20c:32,h60above0c:32,h60abovem20c:32,h:[18,19,22,24,27,28,29,32],ha:[0,16,23],hai:24,hail:32,hailprob:32,hailstorm:20,hain:32,hall:32,hand:[22,27],handl:[0,16,23],handler:[16,24],harad:32,hat:0,have:[16,21,22,27,30,33],havni:32,hazard:16,hcbb:32,hcbl:32,hcbt:32,hcdc:32,hcl:32,hcly:32,hctl:32,hdfgroup:0,hdln:30,header:0,heat:32,heavi:32,hecbb:32,hecbt:32,height:[16,20,21,23,28,29,32],heightcompositereflect:32,heightcthgt:32,heightllcompositereflect:32,helcor:32,heli:21,helic:[21,32],heliospher:32,helper:16,hemispher:28,here:[22,24,27],hf:32,hflux:32,hfr:21,hgr:24,hgt:32,hgtag:32,hgtn:32,hh:21,hhc:28,hi1:21,hi3:21,hi4:21,hi:21,hidden:0,hide:16,hidx:21,hierarch:0,hierarchi:16,high:[0,20,32],highest:32,highlayercompositereflect:32,highli:0,hindex:32,hlcy:32,hln:22,hmc:32,hmn:24,hodograph:[19,29],hom:24,hoo:24,hook:16,horizont:[17,23,25,26,28,32],host:29,hot:22,hou:22,hour:[22,25,28,32],hourdiff:28,hourli:32,how:33,howev:16,hpbl:[21,32],hpcguid:21,hpcqpfndfd:21,hprimf:32,hr:[26,28,32],hrcono:32,hrrr:[21,26],hsclw:32,hsi:24,hstdv:32,hsv:22,htfl:32,htgl:32,htman:29,htsgw:32,htslw:32,http:[0,24,33],htx:32,huge:16,humid:32,humidi:32,hurrican:20,hy:24,hybl:32,hybrid:[15,25,32],hydro:16,hydrometeor:25,hyr:24,hz:32,i:[0,16,21,23,26,27,28],ic:32,icaht:32,icao:[16,32],icc:24,icec:32,iceg:32,icetk:32,ici:32,icib:32,icip:32,icit:32,icmr:32,icon:0,icprb:32,icsev:32,ict:22,icwat:32,id:[16,22,23,28,29],ida:22,idata:16,idatafactori:16,idatarequest:[14,16],idatastor:16,idd:0,ideal:16,identifi:[16,22,28],idra:15,idrl:32,ierl:32,if1rl:32,if2rl:32,ifpclient:14,igeometrydata:16,igeometrydatafactori:16,igeometryfactori:16,igeometryrequest:16,igm:24,ignor:[16,18,22,24,25,27],igriddata:16,igriddatafactori:16,igridfactori:16,igridrequest:16,ihf:16,ii:26,iintegr:32,il:24,iliqw:32,iln:24,ilw:32,ilx:24,imag:[0,15,28],imageri:[0,26,31,32],imftsw:32,imfww:32,impact:20,implement:0,implent:16,improv:16,imt:24,imwf:32,inc:[19,26],inch:[22,26,27,32],includ:[0,16,20,24,33],inclus:29,incompatiblerequestexcept:16,increment:[16,19,24,29],ind:22,independ:0,index:[14,28,32],indic:[16,32],individu:[16,32],influenc:32,info:16,inform:[0,20,21],infrar:32,ingest:[0,16],ingestgrib:0,inhibit:32,init:0,initi:[29,32],ink:24,inlin:[17,18,19,20,22,23,24,25,26,27,28,29,30],inloc:[23,27],ins:16,inset_ax:[19,24,29],inset_loc:[19,24,29],insid:[16,23],inst:25,instal:0,instanc:21,instantan:32,instanti:16,instead:16,instrr:32,instruct:33,instrument:20,inteflux:32,integ:[22,25,27,32],integr:32,intens:[15,20,32],inter:0,interact:16,interest:[31,32,33],interfac:[0,32],internet:0,interpol:29,interpret:16,intersect:[23,30],interv:32,intfd:32,intiflux:32,intpflux:32,inv:21,invers:32,invok:0,iodin:32,ion:32,ionden:32,ionospher:32,iontmp:32,iplay:21,iprat:32,ipx:24,ipython3:25,ir:[28,32],irband4:32,irradi:32,isbl:32,isentrop:32,iserverrequest:16,isobar:[19,32],isol:0,isotherm:[19,24,29,32],issu:[30,33],item:[18,29],its:[0,16,21],itself:[0,16],izon:32,j:[24,26,32],jack:24,jan:22,java:[0,24],javadoc:16,jax:22,jdn:24,jep:16,jj:26,join:19,jupyt:33,just:33,jvm:16,k0co:22,k40b:24,k9v9:24,k:[21,22,24,29,32],kabe:24,kabi:24,kabq:[22,24],kabr:24,kaci:24,kack:24,kact:24,kacv:[22,24],kag:24,kagc:24,kahn:24,kai:24,kak:24,kal:24,kalb:24,kali:24,kalo:24,kalw:24,kama:24,kan:24,kanb:24,kand:24,kaoo:24,kapa:24,kapn:24,kart:24,kase:24,kast:24,kati:24,katl:[22,24],kau:24,kaug:24,kauw:24,kavl:24,kavp:24,kaxn:24,kazo:24,kbaf:24,kbce:24,kbde:[22,24],kbdg:22,kbdl:24,kbdr:24,kbed:24,kbfd:24,kbff:24,kbfi:24,kbfl:24,kbgm:24,kbgr:24,kbhb:24,kbhm:24,kbi:[22,24],kbih:24,kbil:[22,24],kbjc:24,kbji:24,kbke:24,kbkw:24,kblf:24,kblh:24,kbli:24,kbml:24,kbna:24,kbno:24,kbnv:24,kbo:[22,24],kboi:[22,24],kbpt:24,kbqk:24,kbrd:24,kbrl:24,kbro:[22,24],kbtl:24,kbtm:24,kbtr:24,kbtv:24,kbuf:24,kbui:22,kbur:24,kbvi:24,kbvx:24,kbvy:24,kbwg:24,kbwi:24,kbyi:24,kbzn:24,kcae:24,kcak:24,kcar:[22,24],kcd:24,kcdc:24,kcdr:24,kcec:24,kcef:24,kcgi:24,kcgx:24,kch:[22,24],kcha:24,kchh:24,kcho:24,kcid:24,kciu:24,kckb:24,kckl:24,kcle:[22,24],kcll:24,kclm:24,kclt:[22,24],kcmh:24,kcmi:24,kcmx:24,kcnm:24,kcnu:24,kco:24,kcod:24,kcoe:[22,24],kcon:24,kcou:24,kcpr:[22,24],kcre:24,kcrp:24,kcrq:24,kcrw:[22,24],kcsg:24,kcsv:24,kctb:24,kcvg:24,kcwa:24,kcy:24,kdab:24,kdag:24,kdai:24,kdal:24,kdan:24,kdbq:24,kdca:24,kddc:24,kdec:24,kden:24,kdet:24,kdfw:[22,24],kdhn:24,kdht:24,kdik:24,kdl:24,kdlh:[22,24],kdmn:24,kdpa:24,kdra:24,kdro:24,kdrt:[22,24],kdsm:[22,24],kdtw:24,kdug:24,kduj:24,keat:24,keau:24,kecg:24,keed:24,kege:24,kei:16,kekn:24,keko:24,kel:24,keld:24,keli:[22,24],kelm:24,kelo:24,kelp:[22,24],kelvin:[19,27],keng:32,kenv:24,keph:[22,24],kepo:24,kepz:24,keri:24,kesf:24,keug:24,kevv:24,kewb:24,kewn:24,kewr:24,keyw:24,kfai:24,kfam:24,kfar:[22,24],kfat:[22,24],kfca:24,kfdy:24,kfkl:24,kflg:[22,24],kfll:24,kflo:24,kfmn:24,kfmy:24,kfnt:24,kfoe:24,kfpr:24,kfrm:24,kfsd:[22,24],kfsm:24,kft:32,kftw:24,kfty:24,kfve:24,kfvx:24,kfwa:24,kfxe:24,kfyv:24,kg:[24,25,32],kgag:24,kgcc:24,kgck:24,kgcn:24,kgeg:24,kgfk:24,kgfl:24,kggg:24,kggw:24,kgjt:[22,24],kgl:24,kgld:[22,24],kglh:24,kgmu:24,kgnr:24,kgnv:24,kgon:24,kgpt:24,kgrb:[22,24],kgri:24,kgrr:24,kgso:24,kgsp:24,kgtf:24,kguc:24,kgup:24,kgwo:24,kgyi:24,kgzh:24,khat:24,khbr:24,khdn:24,khib:24,khio:24,khky:24,khlg:24,khln:[22,24],khob:24,khon:24,khot:[22,24],khou:[22,24],khpn:24,khqm:24,khrl:24,khro:24,khsv:[22,24],kht:24,khth:24,khuf:24,khul:24,khut:24,khvn:24,khvr:24,khya:24,ki:[21,28],kiad:24,kiag:24,kiah:24,kict:[22,24],kida:[22,24],kil:24,kilg:24,kilm:24,kind:[22,24,32],kinect:32,kinet:32,kink:24,kinl:24,kint:24,kinw:24,kipl:24,kipt:24,kisn:24,kisp:24,kith:24,kiwd:24,kjac:24,kjan:[22,24],kjax:[22,24],kjbr:24,kjfk:24,kjhw:24,kjkl:24,kjln:24,kjm:24,kjst:24,kjxn:24,kkl:24,kla:24,klaf:24,klan:24,klar:24,klax:[22,24],klbb:[22,24],klbe:24,klbf:[22,24,29],klcb:24,klch:24,kleb:24,klex:[22,24],klfk:24,klft:24,klga:24,klgb:24,klgu:24,klit:24,klmt:[22,24],klnd:24,klnk:[22,24],klol:24,kloz:24,klrd:24,klse:24,klsv:22,kluk:24,klv:24,klw:24,klwb:24,klwm:24,klwt:24,klyh:24,klzk:24,km:32,kmaf:24,kmb:24,kmcb:24,kmce:24,kmci:24,kmcn:24,kmco:24,kmcw:24,kmdn:24,kmdt:24,kmdw:24,kmei:24,kmem:[22,24],kmfd:24,kmfe:24,kmfr:24,kmgm:24,kmgw:24,kmhe:24,kmhk:24,kmht:24,kmhx:[15,24,25],kmhx_0:25,kmia:[22,24],kmiv:24,kmkc:24,kmke:24,kmkg:24,kmkl:24,kml:24,kmlb:24,kmlc:24,kmlf:22,kmli:24,kmlp:22,kmlt:24,kmlu:24,kmmu:24,kmob:[22,24],kmot:24,kmpv:24,kmqt:24,kmrb:24,kmry:24,kmsl:24,kmsn:24,kmso:[22,24],kmsp:[22,24],kmss:24,kmsy:[22,24],kmtj:24,kmtn:24,kmwh:24,kmyr:24,kna:24,knes1:32,knew:24,knl:24,knot:[19,22,24,27,29],know:16,known:[0,33],knsi:24,knyc:22,knyl:22,ko:[29,32],koak:24,kofk:24,kogd:24,kokc:[22,24],kolf:22,koli:22,kolm:24,koma:24,kont:24,kopf:24,koqu:24,kord:[22,24],korf:24,korh:24,kosh:24,koth:[22,24],kotm:24,kox:32,kp11:24,kp38:24,kpa:32,kpae:24,kpah:24,kpbf:24,kpbi:24,kpdk:24,kpdt:[22,24],kpdx:[22,24],kpfn:24,kpga:24,kphf:24,kphl:[22,24],kphn:24,kphx:[22,24],kpia:24,kpib:24,kpie:24,kpih:[22,24],kpir:24,kpit:[22,24],kpkb:24,kpln:24,kpmd:24,kpn:24,kpnc:24,kpne:24,kpou:24,kpqi:24,kprb:24,kprc:24,kpsc:24,kpsm:[22,24],kpsp:24,kptk:24,kpub:24,kpuw:22,kpvd:24,kpvu:24,kpwm:24,krad:24,krap:[22,24],krbl:24,krdd:24,krdg:24,krdm:[22,24],krdu:24,krf:21,krfd:24,kric:[22,24],kriw:24,krk:24,krkd:24,krno:[22,24],krnt:24,kroa:24,kroc:24,krow:24,krsl:24,krst:24,krsw:24,krum:24,krut:22,krwf:24,krwi:24,krwl:24,ksac:24,ksaf:24,ksan:24,ksat:[22,24],ksav:24,ksba:24,ksbn:24,ksbp:24,ksby:24,ksch:24,ksck:24,ksdf:24,ksdm:24,ksdy:24,ksea:[22,24],ksep:24,ksff:24,ksfo:[22,24],ksgf:24,ksgu:24,kshr:24,kshv:[22,24],ksjc:24,ksjt:24,kslc:[22,24],ksle:24,kslk:24,ksln:24,ksmf:24,ksmx:24,ksn:24,ksna:24,ksp:24,kspi:24,ksrq:24,kssi:24,kst:24,kstj:24,kstl:24,kstp:24,ksu:24,ksun:24,ksux:24,ksve:24,kswf:24,ksyr:[22,24],ktc:24,ktcc:24,ktcl:24,kteb:24,ktiw:24,ktlh:[22,24],ktmb:24,ktol:24,ktop:24,ktpa:[22,24],ktph:24,ktri:24,ktrk:24,ktrm:24,kttd:24,kttf:22,kttn:24,ktu:24,ktul:24,ktup:24,ktvc:24,ktvl:24,ktwf:24,ktxk:24,kty:24,ktyr:24,kuca:24,kuil:22,kuin:24,kuki:24,kunv:[22,24],kurtosi:32,kvct:24,kvel:24,kvih:22,kvld:24,kvny:24,kvrb:24,kwjf:24,kwmc:[22,24],kwrl:24,kwy:24,kx:32,ky22:24,ky26:24,kykm:24,kykn:24,kyng:24,kyum:24,kzzv:24,l1783:24,l:[19,21,24,28,29,32],la:27,laa:24,lai:32,lake:22,lambda:32,lambertconform:[18,22,27],lamp2p5:21,land:[22,30,32],landn:32,landu:32,languag:16,lap:24,lapp:32,lapr:32,laps:32,larg:[23,32],last:[18,22,30],lasthourdatetim:[18,22,27],lat:[15,16,17,18,19,21,23,25,26,27,28],latent:32,later:[22,27,30],latest:[19,28],latitud:[16,18,19,22,27,32],latitude_formatt:[17,20,23,25,26,27,28,30],lauv:32,lavni:32,lavv:32,lax:22,layer:[16,21,25,32],layth:32,lbb:22,lbf:22,lbslw:32,lbthl:32,lby:24,lcbl:32,lcdc:32,lcl:[24,29],lcl_pressur:29,lcl_temperatur:29,lcly:32,lctl:32,lcy:32,ldadmesonet:16,ldl:24,ldmd:0,leaf:32,left:29,legendr:32,len:[18,19,23,25,27,28,30],length:[30,32],less:[16,19],let:16,level3:31,level:[0,16,19,23,24,25,29,31,32],levelreq:19,lex:22,lftx:32,lhtfl:32,lhx:24,li:28,lic:24,lift:[28,32],light:[20,32],lightn:[31,32],lightningdensity15min:32,lightningdensity1min:32,lightningdensity30min:32,lightningdensity5min:32,lightningprobabilitynext30min:32,like:16,limb:32,limit:[16,27],line:[16,19,24,29],linestyl:[19,23,24,27,28,29],linewidth:[19,22,23,24,26,27,29],linux:0,lipmf:32,liq:25,liquid:32,liqvsm:32,lisfc2x:21,list:[16,19,20,21,24,25,28],ll:33,llcompositereflect:32,llsm:32,lltw:32,lm5:21,lm6:21,lmbint:32,lmbsr:32,lmh:32,lmt:22,lmv:32,ln:32,lnk:22,lo:32,loam:32,loc:[19,24,29],local:[0,16],locap:21,locat:[16,18,20,23,29],locationfield:[23,27],locationnam:[16,21],log10:32,log:[0,24,29,32],logger:0,logp:29,lon:[15,16,17,18,19,21,23,25,26,27,28],longitud:[16,18,19,22,27,32],longitude_formatt:[17,20,23,25,26,27,28,30],look:[16,23],lookup:16,loop:30,lopp:32,lor:24,louisiana:27,louv:32,lovv:32,low:[28,32],lower:[28,32],lowest:32,lowlayercompositereflect:32,lp:32,lpmtf:32,lrghr:32,lrgmr:32,lrr:24,lsclw:32,lsf:24,lsoil:32,lspa:32,lsprate:32,lssrate:32,lssrwe:32,lst:28,lsv:22,lswp:32,ltng:32,lu:24,lvl:[19,21],lvm:24,lw1:24,lwavr:32,lwbz:32,lwhr:32,lwrad:32,m2:32,m2spw:32,m6:32,m:[18,19,22,24,25,27,28,29,32],ma:23,mac:[0,24],macat:32,mactp:32,made:16,madv:21,magnet:32,magnitud:[19,32],mai:[0,16,27,33],main:[0,16,32],maintain:16,maip:32,majorriv:23,make:[16,27],make_map:[17,23,25,26,27,28,30],man_param:29,manag:[0,16,33],mandatori:29,mangeo:29,mani:27,manifest:16,manipul:[0,16],manner:16,manual:24,map:[16,21,22,26,27,28,31,32],mapdata:[23,27],mapgeometryfactori:16,mapper:[31,32],marker:[20,23,26],markerfacecolor:29,mask:[18,27,32],masked_invalid:23,mass:32,match:16,math:[19,24,29],mathemat:16,matplotlib:[17,18,19,20,21,22,23,24,25,26,27,28,29,30],matplotplib:23,matter:32,max:[17,18,19,23,24,25,26,28,29,32],maxah:32,maxdvv:32,maxept:21,maximum:[23,26,32],maxref:32,maxrh:32,maxuvv:32,maxuw:32,maxvw:32,maxw:32,maxwh:32,maz:24,mb:[19,21,29,32],mbar:[22,24,27,29],mcbl:32,mcdc:32,mcida:28,mcly:32,mcon2:21,mcon:21,mconv:32,mctl:32,mcy:32,mdpc:24,mdpp:24,mdsd:24,mdst:24,mean:[16,32],measur:20,mecat:32,mectp:32,medium:32,mei:32,melbrn:32,melt:[25,32],mem:22,memori:16,merg:32,merged_counti:23,mergedazshear02kmagl:32,mergedazshear36kmagl:32,mergedbasereflect:32,mergedbasereflectivityqc:32,mergedreflectivityatlowestaltitud:32,mergedreflectivitycomposit:32,mergedreflectivityqccomposit:32,mergedreflectivityqcomposit:32,mergesound:24,meridion:32,mesh:32,meshtrack120min:32,meshtrack1440min:32,meshtrack240min:32,meshtrack30min:32,meshtrack360min:32,meshtrack60min:32,mesocyclon:25,messag:[0,16],met:16,metadata:0,metar:[16,18,31],meteorolog:[0,33],meteosat:28,meter:[21,23],method:[16,21],metpi:[18,19,23,26,27,29,31],metr:32,mf:16,mflux:32,mflx:32,mg:32,mgfl:24,mggt:24,mght:24,mgpb:24,mgsj:24,mham:24,mhca:24,mhch:24,mhlc:24,mhle:24,mhlm:24,mhnj:24,mhpl:24,mhro:24,mhsr:24,mhte:24,mhtg:24,mhyr:24,mia:22,mib:24,microburst:20,micron:[28,32],mid:32,middl:32,mie:24,might:33,min:[17,18,19,23,25,26,28,32],mind:16,minept:21,minim:32,minimum:[23,32],minrh:32,minut:[18,27,28],miscellan:28,miss:[27,29],missing200:32,mississippi:27,mix1:21,mix2:21,mix:[24,32],mixht:32,mixl:32,mixli:32,mixr:32,mixrat:21,mkj:24,mkjp:24,mld:24,mlf:22,mllcl:21,mlp:22,mlyno:32,mm:[21,32],mma:24,mmaa:24,mmag:21,mmbt:24,mmc:24,mmce:24,mmcl:24,mmcn:24,mmcu:24,mmcv:24,mmcz:24,mmdo:24,mmgl:24,mmgm:24,mmho:24,mmlp:24,mmma:24,mmmd:24,mmml:24,mmmm:24,mmmt:24,mmmx:24,mmmy:24,mmmz:24,mmnl:24,mmp:21,mmpr:24,mmrx:24,mmsd:24,mmsp:[21,24],mmtc:24,mmtj:24,mmtm:24,mmto:24,mmtp:24,mmun:24,mmvr:24,mmzc:24,mmzh:24,mmzo:24,mnmg:24,mnpc:24,mntsf:32,mob:22,moddelsound:16,model:[21,28,31,32],modelheight0c:32,modelnam:[16,19],modelsound:[14,19,21,24],modelsurfacetemperatur:32,modelwetbulbtemperatur:32,moder:32,modern:0,modifi:[0,16],moisten:32,moistur:32,moisutr:24,momentum:32,montgomeri:32,mor:24,more:16,mosaic:32,most:[0,16,29,32],motion:32,mountain:32,mountainmapperqpe01h:32,mountainmapperqpe03h:32,mountainmapperqpe06h:32,mountainmapperqpe12h:32,mountainmapperqpe24h:32,mountainmapperqpe48h:32,mountainmapperqpe72h:32,move:16,mpbo:24,mpch:24,mpda:24,mpl:[17,20,23,25,26,27,28,30],mpl_toolkit:[19,24,29],mpmg:24,mpsa:24,mpto:24,mpv:21,mpx:24,mr:24,mrch:24,mrcono:32,mrf:[22,24],mrlb:24,mrlm:24,mrms_0500:21,mrms_1000:21,mrmsvil:32,mrmsvildens:32,mroc:24,mrpv:24,ms:27,msac:24,msfdi:21,msfi:21,msfmi:21,msg:21,msgtype:20,msl:[21,32],mslet:32,mslp:[24,32],mslpm:32,mso:22,msp:22,msr:21,msss:24,mstav:32,msy:22,mtch:24,mtha:32,mthd:32,mthe:32,mtht:32,mtl:24,mtpp:24,mtri:[24,29],mtv:[21,24],mty:24,muba:24,mubi:24,muca:24,mucap:21,mucl:24,mucm:24,mucu:24,mugm:24,mugt:24,muha:24,multi_value_param:[22,27],multilinestr:23,multipl:[0,16,27],multipolygon:[15,23,27,30],mumo:24,mumz:24,mung:24,must:[16,24],muvr:24,muvt:24,mwcr:24,mwsl:32,mwsper:32,mxsalb:32,mxuphl:32,myb:24,myeg:24,mygf:24,mygw:24,myl:24,mynn:24,mzbz:24,mzptsw:32,mzpww:32,mzt:24,mzwper:32,n0r:28,n1p:28,n:[23,24,29,32],nam12:21,nam40:[19,21,26],nam:[19,24],name:[0,16,19,21,23,25,27,28,29,30],nan:[18,22,25,27,28,29],nanmax:25,nanmin:25,nation:[0,33],nativ:16,natur:32,naturalearthfeatur:[23,28,30],navgem0p5:21,nbdsf:32,nbe:21,nbsalb:32,ncep:24,ncip:32,nck:24,ncoda:21,ncp:0,ncpcp:32,ndarrai:25,nddsf:32,ndvi:32,nearest:32,necessari:16,need:[16,33],neighbor:32,neither:32,nesdi:28,net:32,netcdf:0,neutral:32,neutron:32,newdatarequest:[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],nexrad:31,nexrad_data:25,nexrcomp:28,next:[22,27,30,32],ngx:24,nh:28,nhk:24,nid:24,night:[20,32],nkx:24,nlat:32,nlatn:32,nlgsp:32,nlwr:32,nlwrc:32,nlwrf:32,nlwrt:32,noa:24,noaa:24,noaaport:24,nohrsc:21,nomin:[21,32],non:[32,33],none:[22,23,26,27,28,30,32],normal:[28,32],normalis:32,north:[18,22],northern:28,northward_wind:[22,27],note:[16,19,32],notebook:[17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],notif:0,now:[21,26,27,30],np:[18,19,20,22,23,24,25,26,27,28,29,30],npixu:32,npoess:28,nru:24,nsharp:24,nsof:28,nst1:21,nst2:21,nst:21,nswr:32,nswrf:32,nswrfc:32,nswrt:32,ntat:[21,32],ntd:24,ntmp:24,ntp:28,ntrnflux:32,nuc:32,number:[0,16,23,30,32],numer:32,nummand:29,nummwnd:29,numpi:[15,16,18,19,20,22,23,24,25,26,27,28,29,30],numsigt:29,numsigw:29,numtrop:29,nw:[22,24,27],nwsalb:32,nwstr:32,nyc:22,nyl:22,o3mr:32,o:24,ob:[15,16,18,20,21,23,24,29,30,31],obil:32,object:[16,21,23,29],obml:32,observ:[0,18,22],observs:27,obsgeometryfactori:16,ocean:[22,32],oct:20,off:0,offer:21,offset:[16,23],offsetstr:28,often:16,ohc:32,oitl:32,okc:22,olf:22,oli:22,olyr:32,om:24,omdiff:21,omega:[24,32],omgalf:32,oml:32,omlu:32,omlv:32,onc:16,one:16,onli:[0,32],onset:32,op:23,open:[0,16,32,33],oper:[0,20,33],option:[16,28],orang:[18,23],orbit:20,ord:22,order:[19,32,33],org:0,orient:[17,23,25,26,28],orn:21,orographi:32,orthograph:20,os:0,osd:32,oseq:32,oth:22,other:[0,16,21,23,28],our:[19,21,23,26,27,28,30,33],ourselv:24,out:[16,22,27,33],outlook:32,outsid:16,ovc:[22,27],over:[24,32],overal:32,own:[0,16],ozcat:32,ozcon:32,ozmax1:32,ozmax8:32,ozon:[28,32],p2omlt:32,p:[21,24,28,29,32],pa:[24,32],pacakg:33,packag:[0,16,23],padv:21,page:23,pai:19,pair:18,palt:32,parallel:32,param:[16,18,22,27],paramet:[16,19,27,29,30,31],parameter:32,parameterin:32,paramt:24,parcal:32,parcali:32,parcel:[29,32],parcel_profil:[24,29],parm:[19,21,24,30],parm_arrai:29,part:[0,16],particl:32,particul:32,particular:16,pass:[16,27],past:32,path:0,pbe:21,pblr:32,pblreg:32,pcbb:32,pcbt:32,pcolormesh:[25,26,28],pcp:32,pcpn:32,pctp1:32,pctp2:32,pctp3:32,pctp4:32,pd:[15,30],pdf:0,pdly:32,pdmax1:32,pdmax24:32,pdt:22,pdx:22,peak:32,peaked:32,pec:21,pecbb:32,pecbt:32,pecif:16,pedersen:32,pellet:32,per:32,percent:[28,32],perform:[16,19],period:[24,30,32],perpendicular:32,perpw:32,person:0,perspect:0,persw:32,pertin:16,pevap:32,pevpr:32,pfrezprec:32,pfrnt:21,pfrozprec:32,pgrd1:21,pgrd:21,pgrdm:21,phase:[25,32],phenomena:20,phensig:[15,30],phensigstr:30,phl:22,photar:32,photospher:32,photosynthet:32,phx:22,physic:32,physicalel:28,piec:[0,16],pih:22,pirep:[16,21],pit:22,piva:21,pixel:32,pixst:32,plain:32,plan:16,planetari:32,plant:32,platecarre:[17,18,20,22,23,25,26,27,28,30],plbl:32,pleas:33,pli:32,plot:[17,19,20,21,23,24,25,29,30],plot_barb:[19,24,29],plot_colormap:[19,24,29],plot_dry_adiabat:19,plot_mixing_lin:19,plot_moist_adiabat:19,plot_paramet:18,plot_text:22,plpl:32,plsmden:32,plt:[17,18,19,20,22,23,24,25,26,27,28,29,30],plu:32,plug:16,plugin:[24,29],plugindataobject:16,pluginnam:16,pm:32,pmaxwh:32,pmtc:32,pmtf:32,pname:23,poe:28,point:[15,16,18,19,20,23,24,26,32],pointdata:16,poli:[15,30],polit:23,political_boundari:[23,30],pollut:32,polygon:[15,16,18,19,23,26,27,31],pop:[23,32],popul:[16,23],populatedata:16,poro:32,poros:32,posh:32,post:0,postgr:[0,23],pot:[21,32],pota:21,potenti:32,power:[16,28],poz:32,pozo:32,pozt:32,ppan:32,ppb:32,ppbn:32,ppbv:32,ppert:32,pperww:32,ppffg:32,ppnn:32,ppsub:32,pr:[21,24,32],practicewarn:21,prate:32,pratmp:32,prcp:32,pre:32,preced:16,precip:[25,31,32],precipit:[22,25,26,27,28,32],precipr:32,preciptyp:32,predomin:32,prepar:[16,22],prepend:22,pres_weath:[22,27],presa:32,presd:32,presdev:32,present:0,present_weath:[22,27],presn:32,pressur:[19,24,28,29,32],presur:32,presweath:[22,27],previous:[23,33],primari:[0,32],print:[15,18,19,20,21,22,23,24,25,26,27,28,30],print_funct:23,prior:32,prman:29,prmsl:32,prob:32,probabilityse:32,probabl:32,process:[0,16],processor:0,procon:32,prod:25,product:[0,15,16,18,24,25,32],productid:25,productnam:25,prof:29,profil:[0,16,21,24,29],prog_disc:23,program:[0,33],progress:23,proj:[22,27],project:[16,17,18,20,22,23,25,26,27,28,30],properti:28,proport:32,propos:32,proprietari:0,protden:32,proton:32,prottmp:32,provid:[0,16,23,33],prp01h:32,prp03h:32,prp06h:32,prp12h:32,prp24h:32,prp30min:32,prpmax:32,prptmp:32,prregi:28,prsig:29,prsigsv:32,prsigsvr:32,prsigt:29,prsvr:32,ps:29,pseudo:32,psfc:32,psm:22,psql:0,psu:32,ptan:32,ptbn:32,ptend:32,ptnn:32,ptor:32,ptr:21,ptva:21,ptyp:21,ptype:32,pull:22,pulsecount:20,pulseindex:20,pure:16,purpl:18,put:[22,27],puw:22,pv:[21,32],pveq:21,pvl:32,pvmww:32,pvort:32,pvv:21,pw2:21,pw:[21,28,32],pwat:32,pwc:32,pwcat:32,pwper:32,pwther:32,py:[16,33],pydata:14,pygeometrydata:14,pygriddata:[14,23],pyjobject:16,pyplot:[17,18,19,20,22,23,24,25,26,27,28,29,30],python3:33,python:[0,16,21,22,23,27,28,30],q:[24,32],qdiv:21,qmax:32,qmin:32,qnvec:21,qpe01:32,qpe01_acr:32,qpe01_alr:32,qpe01_fwr:32,qpe01_krf:32,qpe01_msr:32,qpe01_orn:32,qpe01_ptr:32,qpe01_rha:32,qpe01_rsa:32,qpe01_str:32,qpe01_tar:32,qpe01_tir:32,qpe01_tua:32,qpe06:32,qpe06_acr:32,qpe06_alr:32,qpe06_fwr:32,qpe06_krf:32,qpe06_msr:32,qpe06_orn:32,qpe06_ptr:32,qpe06_rha:32,qpe06_rsa:32,qpe06_str:32,qpe06_tar:32,qpe06_tir:32,qpe06_tua:32,qpe24:32,qpe24_acr:32,qpe24_alr:32,qpe24_fwr:32,qpe24_krf:32,qpe24_msr:32,qpe24_orn:32,qpe24_ptr:32,qpe24_rha:32,qpe24_rsa:32,qpe24_str:32,qpe24_tar:32,qpe24_tir:32,qpe24_tua:32,qpe:32,qpeffg01h:32,qpeffg03h:32,qpeffg06h:32,qpeffgmax:32,qpf06:32,qpf06_acr:32,qpf06_alr:32,qpf06_fwr:32,qpf06_krf:32,qpf06_msr:32,qpf06_orn:32,qpf06_ptr:32,qpf06_rha:32,qpf06_rsa:32,qpf06_str:32,qpf06_tar:32,qpf06_tir:32,qpf06_tua:32,qpf24:32,qpf24_acr:32,qpf24_alr:32,qpf24_fwr:32,qpf24_krf:32,qpf24_msr:32,qpf24_orn:32,qpf24_ptr:32,qpf24_rha:32,qpf24_rsa:32,qpf24_str:32,qpf24_tar:32,qpf24_tir:32,qpf24_tua:32,qpidd:0,qpv1:21,qpv2:21,qpv3:21,qpv4:21,qq:32,qrec:32,qsvec:21,qualiti:32,quantit:32,queri:[0,16,19,21,23],queue:0,qvec:21,qz0:32,r:[16,19,20,24,29,32],rad:32,radar:[0,16,21,31,32],radar_spati:21,radarcommon:[14,15],radargridfactori:16,radaronlyqpe01h:32,radaronlyqpe03h:32,radaronlyqpe06h:32,radaronlyqpe12h:32,radaronlyqpe24h:32,radaronlyqpe48h:32,radaronlyqpe72h:32,radarqualityindex:32,radi:32,radial:32,radianc:32,radiat:32,radio:32,radioact:32,radiu:32,radt:32,rage:32,rai:32,rain1:21,rain2:21,rain3:21,rain:[28,32],rainbow:[17,25,26],rainfal:[26,32],rais:19,rala:32,rang:[16,20,22,25,27,32],rap13:[15,17,21],rap:22,rate:[25,28,32],rather:19,ratio:[24,32],raw:[16,32],raytheon:[0,16,18,22,27],raza:32,rc:[0,32],rcparam:[19,22,24,29],rcq:32,rcsol:32,rct:32,rdlnum:32,rdm:22,rdrip:32,rdsp1:32,rdsp2:32,rdsp3:32,re:[0,16],reach:33,read:[0,21],readabl:0,readi:[0,21],real:30,reason:16,rec:25,receiv:0,recent:29,recharg:32,record:[16,18,19,22,23,27,29,30],rectangular:16,recurr:32,red:[0,18,20],reduc:[16,32],reduct:32,ref:[15,16,30],refc:[21,32],refd:32,refer:[16,23,24,32],refl:[15,25],reflect:[0,25,32],reflectivity0c:32,reflectivityatlowestaltitud:32,reflectivitym10c:32,reflectivitym15c:32,reflectivitym20c:32,reflectivitym5c:32,reftim:[24,30],refzc:32,refzi:32,refzr:32,regardless:16,regim:32,region:[31,32],registri:16,rel:[25,32],relat:0,reld:32,releas:[0,33],relv:32,remain:0,remot:32,render:[0,23,28],replac:[16,19],reporttyp:24,repres:16,req:16,request:[0,15,17,18,19,20,21,22,24,25,26,27,28,29,30,33],requir:[0,16,23],resist:32,resolut:[17,18,20,23,25,26,28],resourc:31,respect:[16,32],respons:[15,17,18,20,21,22,23,24,25,26,27,28,29,30],rest:[16,27],result:16,retop:32,retriev:[0,29],retrofit:16,rev:32,review:[0,16],rfl06:32,rfl08:32,rfl16:32,rfl39:32,rh:[21,24,32],rh_001_bin:21,rh_002_bin:21,rha:21,rhpw:32,ri:32,ric:22,richardson:32,right:0,right_label:[17,23,25,27,28,30],rime:32,risk:32,river:16,rlyr:32,rm5:21,rm6:21,rmix:24,rmprop2:21,rmprop:21,rno:22,ro:21,root:32,rotat:[19,32],rotationtrackll120min:32,rotationtrackll1440min:32,rotationtrackll240min:32,rotationtrackll30min:32,rotationtrackll360min:32,rotationtrackll60min:32,rotationtrackml120min:32,rotationtrackml1440min:32,rotationtrackml240min:32,rotationtrackml30min:32,rotationtrackml360min:32,rotationtrackml60min:32,rough:32,round:29,rout:16,royalblu:18,rprate:32,rpttype:29,rqi:32,rrqpe:28,rrtype:21,rsa:21,rsmin:32,rssc:32,rtma:21,rtof:21,run:[0,16,19,21,33],runoff:32,runtimewarn:[18,22,24,25,27],rut:22,rv:21,rwmr:32,s:[16,18,19,21,22,24,26,27,28,32,33],salbd:32,salin:32,salt:32,salti:32,same:[16,23,27,28],sampl:23,sat:[22,32],satd:32,satellit:[0,16,21,31],satellitefactori:16,satellitefactoryregist:16,satellitegriddata:16,satellitegridfactori:16,satosm:32,satur:32,save:[0,16],savefig:22,sbc123:32,sbc124:32,sbsalb:32,sbsno:32,sbt112:32,sbt113:32,sbt114:32,sbt115:32,sbt122:32,sbt123:32,sbt124:32,sbt125:32,sbta1610:32,sbta1611:32,sbta1612:32,sbta1613:32,sbta1614:32,sbta1615:32,sbta1616:32,sbta167:32,sbta168:32,sbta169:32,sbta1710:32,sbta1711:32,sbta1712:32,sbta1713:32,sbta1714:32,sbta1715:32,sbta1716:32,sbta177:32,sbta178:32,sbta179:32,sc:[27,32],scalb:32,scale:[23,28,30,32],scan:[0,15,25,32],scatter:[20,23,26],scatteromet:32,scbl:32,scbt:32,sccbt:32,scctl:32,scctp:32,sce:32,scene:32,scestuwind:32,scestvwind:32,schema:23,scint:32,scintil:32,scli:32,scope:16,scp:32,scpw:32,scrad:32,scratch:16,script:[0,29],scst:32,sct:[22,27],sctl:32,sden:32,sdsgso:32,sdwe:32,sea:[22,32],seab:32,seaic:21,sealevelpress:[22,27],seamless:32,seamlesshsr:32,seamlesshsrheight:32,search:16,sec:25,second:[28,32],secondari:32,section:[16,32],sector:[15,26],sectorid:28,see:[0,16,23,32],select:[19,21,22,23,25],send:[0,16],sens:[0,32],sensibl:32,sensorcount:20,sent:0,sep:24,separ:[0,16,29],sequenc:32,seri:20,server:[0,16,19,21,23,29,30,33],serverrequestrout:16,servic:[0,16,33],servr:32,set:[16,21,22,28,29,30,32],set_ext:[17,18,22,23,25,26,27,28,30],set_label:[17,23,25,26,28],set_titl:[18,20,22,27],set_xlim:[19,24,29],set_ylim:[19,24,29],setdatatyp:[15,16,17,21,28,29,30],setenvelop:[16,23],setlevel:[15,16,17,21,25,26],setlocationnam:[15,16,17,19,21,22,23,24,25,26,27,28,29],setparamet:[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],setstoragerequest:16,setup:33,sevap:32,seven:20,sever:[0,20,32],sfc:[16,28,32],sfcob:[16,21],sfcr:32,sfcrh:32,sfexc:32,sfo:22,sgcvv:32,sh:[0,21,24],shahr:32,shailpro:32,shallow:32,shamr:32,shape:[15,16,18,19,21,23,25,26,27,28,30],shape_featur:[23,27,30],shapelyfeatur:[23,27,30],share:0,shear:[21,32],sheer:32,shef:16,shelf:0,shi:32,should:16,show:[19,20,22,24,25,28,29,30],shrink:[17,23,25,26,28],shrmag:21,shsr:32,shtfl:32,shv:22,shwlt:21,shx:21,si:28,sice:32,sighailprob:32,sighal:32,sigl:32,sigma:32,signific:[29,32],significantli:23,sigp:32,sigpar:32,sigt:29,sigt_param:29,sigtgeo:29,sigtrndprob:32,sigwindprob:32,silt:32,similar:[0,16,18],simpl:[17,22,27],simple_layout:27,simpli:0,simul:32,sinc:[0,16],singl:[0,16,19,21,23,27,32],single_value_param:[22,27],sipd:32,site:[15,23,24,30],siteid:30,size:[25,28,32],skew:[24,29],skewt:[19,29],skin:[28,32],skip:22,sktmp:32,sky:32,sky_cov:[22,27],sky_layer_bas:[22,27],skycov:[22,27],skylayerbas:[22,27],slab:16,slant:[24,29],slc:22,sld:32,sldp:32,sli:[21,32],slight:32,slightli:16,slope:32,slow:23,sltfl:32,sltyp:32,smdry:32,smref:32,smy:32,snd:21,sndobject:19,snfalb:32,snmr:32,sno:32,snoag:32,snoc:32,snod:32,snohf:32,snol:32,snom:32,snorat:21,snoratcrocu:21,snoratemcsref:21,snoratov2:21,snoratspc:21,snoratspcdeep:21,snoratspcsurfac:21,snot:32,snow1:21,snow2:21,snow3:21,snow:[21,32],snowc:32,snowfal:32,snowstorm:20,snowt:[21,32],snsq:21,snw:21,snwa:21,softwar:[0,16],soil:32,soill:32,soilm:32,soilp:32,soilw:32,solar:32,solrf:32,solza:32,some:[0,16],sort:[15,20,21,24,25,28,29],sotyp:32,sound:31,sounder:28,soundingrequest:24,sourc:[0,15,16],south:27,sp:[30,32],spacecraft:20,span:[22,32],spatial:27,spc:32,spcguid:21,spd:[24,29],spdl:32,spec:24,spechum:24,special:16,specif:[0,16,22,25,32],specifi:[16,32],specirr:32,spectal:32,spectra:32,spectral:32,spectrum:32,speed:[22,27,32],spf:32,spfh:32,spftr:32,spr:32,sprate:32,sprdf:32,spread:32,spring:16,spt:32,sqrt:19,squar:32,sr:32,src:[24,32],srcono:32,srfa161:32,srfa162:32,srfa163:32,srfa164:32,srfa165:32,srfa166:32,srfa171:32,srfa172:32,srfa173:32,srfa174:32,srfa175:32,srfa176:32,srml:21,srmlm:21,srmm:21,srmmm:21,srmr:21,srmrm:21,srweq:32,ss:21,ssgso:32,sshg:32,ssi:21,ssp:21,ssrun:32,ssst:32,sst:28,sstor:32,sstt:32,st:21,stack:16,staelev:29,stanam:29,stand:[21,32],standard:[0,23,32],standard_parallel:[22,27],start:[0,16,18,21,22,27,33],state:[16,22,23,27,28],states_provinc:30,staticcorioli:21,staticspac:21,statictopo:21,station:[18,27,29,31],station_nam:22,stationid:[16,27],stationnam:[18,22,27],stationplot:[18,22,27],stationplotlayout:[22,27],std:32,steep:32,step:29,stid:[22,27],stoke:32,stomat:32,stop:0,storag:[0,16,32],store:[0,16,27],storm:[20,25,32],storprob:32,stp1:21,stp:21,stpa:32,str:[17,18,19,20,21,22,23,24,25,26,27,28,29,30],stream:32,streamflow:32,stree:32,stress:32,strftime:[18,22,27],striketyp:20,string:[16,19,32],strm:32,strmmot:21,strptime:[18,22,27,28],strtp:21,structur:16,style:16,sub:32,subinterv:32,sublay:32,sublim:32,subplot:[17,18,20,23,25,26,27,28,30],subplot_kw:[17,18,20,23,25,26,27,28,30],subset:[16,18],subtair:18,sucp:21,suggest:16,suit:0,sun:32,sunsd:32,sunshin:32,supercool:32,superlayercompositereflect:32,supern:28,support:[0,33],suppress:[18,27],sure:27,surfac:[0,16,19,21,28,31,32],surg:32,svrt:32,sw:[22,27],swavr:32,swdir:32,sweat:32,swell:32,swepn:32,swhr:32,swindpro:32,swper:32,swrad:32,swsalb:32,swtidx:21,sx:32,symbol:[22,27],synop:16,syr:22,system:[0,32],t0:24,t:[15,16,17,21,24,29,32],t_001_bin:21,tabl:[0,23,27,30,32],taconcp:32,taconip:32,taconrdp:32,tadv:21,tair:18,take:[0,16,29],taken:[0,16],tar:21,task:16,taskbar:0,tcdc:32,tchp:32,tcioz:32,tciwv:32,tclsw:32,tcol:32,tcolc:32,tcolg:32,tcoli:32,tcolm:32,tcolr:32,tcolw:32,tcond:32,tconu:28,tcsrg20:32,tcsrg30:32,tcsrg40:32,tcsrg50:32,tcsrg60:32,tcsrg70:32,tcsrg80:32,tcsrg90:32,tcwat:32,td2:24,td:[24,29],tdef:21,tdend:21,tdman:29,tdsig:29,tdsigt:29,tdunit:29,technic:16,temp:[18,22,24,27,28,32],temperatur:[19,21,22,24,27,29,31,32],tempwtr:32,ten:27,tendenc:32,term:[0,32],termain:0,terrain:[23,32],text:[20,32],textcoord:23,tfd:28,tgrd:21,tgrdm:21,than:[0,19],the_geom:[23,27],thei:[0,16],thel:32,them:[16,18,22,27],themat:32,therefor:16,thermo:24,thermoclin:32,theta:32,thflx:32,thgrd:21,thi:[0,16,18,19,21,22,23,24,25,27,29,30,33],thick:32,third:0,thom5:21,thom5a:21,thom6:21,those:16,thousand:27,three:[16,20,24],threshold:18,thriftclient:[14,16,19],thriftclientrout:14,through:[0,16,19,29,30],thrown:16,thunderstorm:32,thz0:32,ti:23,tide:32,tie:23,time:[15,16,17,18,19,20,21,22,24,25,26,27,28,29,30,32],timeagnosticdataexcept:16,timedelta:[18,19,22,27],timeit:19,timeob:[22,27],timerang:[16,18,19,22,27],timereq:19,timeutil:14,tipd:32,tir:21,titl:[19,24,29],title_str:29,tke:32,tlh:22,tman:29,tmax:[21,32],tmdpd:21,tmin:[21,32],tmp:[24,27,32],tmpa:32,tmpl:32,tmpswp:32,togeth:0,tool:0,toolbar:0,top:[16,20,21,25,28,32],top_label:[17,23,25,27,28,30],topo:[21,23],topographi:31,tori2:21,tori:21,tornado:[20,32],torprob:32,total:[18,20,23,25,26,28,32],totqi:21,totsn:32,toz:32,tozn:32,tp1hr:21,tp:[21,26],tp_inch:26,tpa:22,tpcwindprob:21,tpfi:32,tpman:29,tprate:32,tpsig:29,tpsigt:29,tpunit:29,tpw:28,tqind:21,track:[25,32],tran:32,transform:[18,20,22,23,26,27],transo:32,transpir:32,transport:32,trbb:32,trbtp:32,tree:[15,28],trend:32,tri:[24,29],trndprob:32,tro:32,trop:21,tropic:32,tropopaus:[21,32],tropospher:32,tsc:32,tsd1d:32,tsec:32,tshrmi:21,tsi:32,tslsa:32,tsmt:32,tsnow:32,tsnowp:32,tsoil:32,tsrate:32,tsrwe:32,tstk:21,tstm:32,tstmc:32,tt:[26,28,32],ttdia:32,ttf:22,tthdp:32,ttot:21,ttphy:32,ttrad:32,ttx:32,tua:21,tune:16,turb:32,turbb:32,turbt:32,turbul:32,tv:21,tw:21,twatp:32,twind:21,twindu:21,twindv:21,twmax:21,twmin:21,two:[0,16,32,33],twstk:21,txsm:21,txt:23,type:[0,16,21,23,29,30,32],typeerror:22,typic:[0,16],u:[19,22,24,27,29,32],ubaro:32,uc:24,ucar:[0,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],ucomp:24,uf:[16,18,22,27],uflx:32,ufx:21,ug:32,ugrd:32,ugust:32,ugwd:32,uic:32,uil:22,ulsm:32,ulsnorat:21,ulst:32,ultra:32,ulwrf:32,unbias:25,under:32,underli:16,understand:16,understood:[16,23],undertak:16,undocu:16,unidata:[15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,33],unidata_16:24,unifi:[0,16],unit:[16,19,21,22,24,25,26,27,29,32],unittest:21,uniwisc:28,unknown:32,unsupportedoperationexcept:16,unsupportedoutputtypeexcept:16,unv:22,uogrd:32,up:[16,30,32,33],updat:33,updraft:32,uphl:32,upper:[0,31,32],upward:32,uq:32,urma25:21,us:[0,18,19,21,22,23,27,29,30,32],us_east_delaware_1km:21,us_east_florida_2km:21,us_east_north_2km:21,us_east_south_2km:21,us_east_virginia_1km:21,us_hawaii_1km:21,us_hawaii_2km:21,us_hawaii_6km:21,us_west_500m:21,us_west_cencal_2km:21,us_west_losangeles_1km:21,us_west_lososos_1km:21,us_west_north_2km:21,us_west_sanfran_1km:21,us_west_socal_2km:21,us_west_washington_1km:21,use_level:19,use_parm:19,useless:16,user:[0,25],ussd:32,ustm:[21,32],uswrf:32,ut:32,utc:28,utcnow:[18,22,27,28],utrf:32,uu:32,uv:32,uvi:32,uviuc:32,uw:[19,21],uwstk:21,v:[0,19,22,24,27,29,32],vadv:21,vadvadvect:21,vaftd:32,vah:28,valid:[17,25,26,32],validperiod:29,validtim:29,valu:[16,18,22,23,24,26,27,32],valueerror:[19,27],vaml:28,vap:24,vapor:[24,32],vapor_pressur:24,vapour:32,vapp:32,vapr:24,variabl:[22,27],varianc:32,variou:[0,22],vash:32,vbaro:32,vbdsf:32,vc:24,vcomp:24,vddsf:32,vdfhr:32,vdfmr:32,vdfoz:32,vdfua:32,vdfva:32,vector:32,vedh:32,veg:32,veget:32,vegt:32,vel1:32,vel2:32,vel3:32,veloc:[0,25,32],ventil:32,veri:16,version:0,vert:25,vertcirc:21,vertic:[24,29,31,32],vflx:32,vgp:21,vgrd:32,vgtyp:32,vgwd:32,vi:[21,32],via:[0,16],vice:32,view:0,vih:22,vii:32,vil:32,viliq:32,violet:32,virtual:32,viscou:32,visibl:[28,32],visual:0,vmax:17,vmin:17,vmp:28,vogrd:32,volash:32,volcan:32,voldec:32,voltso:32,volum:0,volumetr:32,vortic:32,vpot:32,vptmp:32,vq:32,vrate:32,vs:16,vsmthw:21,vsoilm:32,vsosm:32,vssd:32,vstm:[21,32],vt:32,vtec:[30,32],vtmp:32,vtot:21,vtp:28,vucsh:32,vv:32,vvcsh:32,vvel:32,vw:[19,21],vwiltm:32,vwsh:32,vwstk:21,w:[19,28,32],wa:[0,16,19,27,32],wai:[16,26],want:16,warm:32,warmrainprob:32,warn:[16,18,21,22,23,24,25,27,31],warning_color:30,wat:32,watch:[23,31],water:[28,32],watervapor:32,watr:32,wave:32,wbz:32,wcconv:32,wcd:21,wcda:28,wci:32,wcinc:32,wcuflx:32,wcvflx:32,wd:21,wdir:32,wdirw:32,wdiv:21,wdman:29,wdrt:32,we:[21,22,24,27,30],weasd1hr:21,weasd:[21,32],weather:[0,22,27,32,33],weight:32,well:[0,16,18,33],wesp:32,west:28,west_6km:21,westatl:21,westconu:21,wet:32,wg:[21,32],what:[16,19],when:[0,19,21],where:[16,19,21,23,24,26,32],which:[0,16,23,24,32],white:[26,32],who:[0,16],whtcor:32,whtrad:32,wide:20,width:32,wilt:32,wind:[19,20,21,22,24,27,29,32],wind_compon:[22,24,27,29],wind_direct:24,wind_spe:[24,29],winddir:[22,27],windprob:32,windspe:[22,27],wish:16,within:[0,16,23],without:[0,16,27],wkb:19,wmc:22,wmix:32,wmo:[22,27,32],wmostanum:29,wndchl:21,word:16,work:[0,21,32,33],workstat:0,worri:16,would:16,wpre:29,wrap:16,write:0,writer:16,written:[0,16,19],wsman:29,wsp:21,wsp_001_bin:21,wsp_002_bin:21,wsp_003_bin:21,wsp_004_bin:21,wspd:32,wstp:32,wstr:32,wsunit:29,wt:32,wtend:32,wtmpc:32,wv:28,wvconv:32,wvdir:32,wvhgt:32,wvinc:32,wvper:32,wvsp1:32,wvsp2:32,wvsp3:32,wvuflx:32,wvvflx:32,ww3:21,wwsdir:32,www:0,wxtype:32,x:[0,18,19,20,22,23,26,27,30,32],xformatt:[17,23,25,27,28,30],xlong:32,xml:16,xr:32,xrayrad:32,xshrt:32,xytext:23,y:[18,19,20,22,23,24,26,27,28,32],ye:32,year:32,yformatt:[17,23,25,27,28,30],yml:33,you:[16,21,27,29,33],yyyi:21,z:32,zagl:21,zenith:32,zero:32,zonal:32,zone:[16,32],zpc:22},titles:["About Unidata AWIPS","CombinedTimeQuery","DataAccessLayer","DateTimeConverter","IDataRequest (newDataRequest())","IFPClient","ModelSounding","PyData","PyGeometryData","PyGridData","RadarCommon","ThriftClient","ThriftClientRouter","TimeUtil","API Documentation","Available Data Types","Development Guide","AWIPS Grids and Cartopy","Colored Surface Temperature Plot","Forecast Model Vertical Sounding","GOES Geostationary Lightning Mapper","Grid Levels and Parameters","METAR Station Plot with MetPy","Map Resources and Topography","Model Sounding Data","NEXRAD Level3 Radar","Precip Accumulation-Region Of Interest","Regional Surface Obs Plot","Satellite Imagery","Upper Air BUFR Soundings","Watch and Warning Polygons","Data Plotting Examples","Grid Parameters","Python AWIPS Data Access Framework"],titleterms:{"16":28,"new":16,Of:26,about:0,access:33,accumul:26,air:29,alertviz:0,api:14,avail:[15,24,28],awip:[0,17,33],background:16,binlightn:15,both:27,boundari:23,bufr:29,calcul:24,cartopi:17,cascaded_union:23,cave:0,citi:23,code:33,color:18,combinedtimequeri:1,comparison:19,conda:33,contact:33,contourf:17,contribut:16,counti:23,creat:[23,28],cwa:23,data:[15,16,24,31,33],dataaccesslay:[2,21],datatyp:16,datetimeconvert:3,design:16,develop:16,dewpoint:24,document:14,edex:0,edexbridg:0,entiti:28,exampl:[31,33],factori:16,filter:23,forecast:19,framework:[16,33],from:24,geostationari:20,getavailablelevel:21,getavailablelocationnam:21,getavailableparamet:21,getavailabletim:21,getgriddata:21,getsupporteddatatyp:21,glm:20,goe:[20,28],grid:[15,17,21,32],guid:16,hdf5:0,hodograph:24,how:16,httpd:0,humid:24,idatarequest:4,ifpclient:5,imageri:28,implement:16,instal:33,interest:26,interfac:16,interst:23,java:16,lake:23,ldm:0,level3:25,level:21,licens:0,lightn:20,locat:24,log:19,major:23,map:23,mapper:20,merg:23,mesoscal:28,metar:[22,27],metpi:[22,24],model:[19,24],modelsound:6,nearbi:23,newdatarequest:4,nexrad:25,note:23,ob:[22,27],onli:[16,33],p:19,packag:33,paramet:[20,21,24,32],pcolormesh:17,pip:33,plot:[18,22,27,31],plugin:16,polygon:30,postgresql:0,pre:33,precip:26,product:28,pydata:7,pygeometrydata:8,pygriddata:9,pypi:0,python:33,qpid:0,question:33,radar:[15,25],radarcommon:10,receiv:16,region:[26,27],regist:16,request:[16,23],requisit:33,resourc:23,retriev:16,river:23,satellit:[15,28],sector:28,setup:23,sfcob:27,skew:19,skewt:24,softwar:33,sound:[19,24,29],sourc:[20,28,33],spatial:23,specif:24,station:22,support:16,surfac:[18,22,27],synop:27,synopt:27,t:19,temperatur:18,thriftclient:11,thriftclientrout:12,timeutil:13,topographi:23,type:15,unidata:0,upper:29,us:[16,33],user:16,vertic:19,warn:[15,30],watch:30,wfo:23,when:16,work:16,write:16}}) \ No newline at end of file