diff --git a/_images/Forecast_Model_Vertical_Sounding_24_0.png b/_images/Forecast_Model_Vertical_Sounding_24_0.png new file mode 100644 index 0000000..a846329 Binary files /dev/null and b/_images/Forecast_Model_Vertical_Sounding_24_0.png differ diff --git a/_images/Forecast_Model_Vertical_Sounding_27_1.png b/_images/Forecast_Model_Vertical_Sounding_27_1.png new file mode 100644 index 0000000..22efbee Binary files /dev/null and b/_images/Forecast_Model_Vertical_Sounding_27_1.png differ diff --git a/_images/Forecast_Model_Vertical_Sounding_27_3.png b/_images/Forecast_Model_Vertical_Sounding_27_3.png new file mode 100644 index 0000000..bf92f29 Binary files /dev/null and b/_images/Forecast_Model_Vertical_Sounding_27_3.png differ diff --git a/_images/Forecast_Model_Vertical_Sounding_27_5.png b/_images/Forecast_Model_Vertical_Sounding_27_5.png new file mode 100644 index 0000000..54e1b2f Binary files /dev/null and b/_images/Forecast_Model_Vertical_Sounding_27_5.png differ diff --git a/_images/Forecast_Model_Vertical_Sounding_5_0.png b/_images/Forecast_Model_Vertical_Sounding_5_0.png deleted file mode 100644 index c8a1be6..0000000 Binary files a/_images/Forecast_Model_Vertical_Sounding_5_0.png and /dev/null differ diff --git a/_images/Forecast_Model_Vertical_Sounding_7_1.png b/_images/Forecast_Model_Vertical_Sounding_7_1.png deleted file mode 100644 index e1d6f28..0000000 Binary files a/_images/Forecast_Model_Vertical_Sounding_7_1.png and /dev/null differ diff --git a/_images/Forecast_Model_Vertical_Sounding_7_3.png b/_images/Forecast_Model_Vertical_Sounding_7_3.png deleted file mode 100644 index 11f1d98..0000000 Binary files a/_images/Forecast_Model_Vertical_Sounding_7_3.png and /dev/null differ diff --git a/_images/Forecast_Model_Vertical_Sounding_7_5.png b/_images/Forecast_Model_Vertical_Sounding_7_5.png deleted file mode 100644 index 3cb03d1..0000000 Binary files a/_images/Forecast_Model_Vertical_Sounding_7_5.png and /dev/null differ diff --git a/_sources/examples/generated/Forecast_Model_Vertical_Sounding.rst.txt b/_sources/examples/generated/Forecast_Model_Vertical_Sounding.rst.txt index c3bb3aa..98c2d7e 100644 --- a/_sources/examples/generated/Forecast_Model_Vertical_Sounding.rst.txt +++ b/_sources/examples/generated/Forecast_Model_Vertical_Sounding.rst.txt @@ -2,50 +2,83 @@ Forecast Model Vertical Sounding ================================ `Notebook `_ -The ModelSounding class allows us to create a vertical sounding through -any available AWIPS model with isobaric levels. +Python-AWIPS Tutorial Notebook -- A Shapely Point geometry is used to select longitude and latitude: - from shapely.geometry import Point point = Point(-104.67,39.87) +-------------- -- Parameters ``['T','DpT','uW','vW']`` are requested for all isobaric - levels available for the selected model. +Objectives +========== -- There is a single-record query performed for ``level = "0.0FHAG"`` to - determine the surface pressure level. +- Use python-awips to connect to an edex server +- Request data using the `ModelSounding + class `__ + in addition to using the normal `DataAccess + class `__ +- Create and compare vertical sounding from different AWIPS model data + with isobaric levels +- Use `Shapely Point + geometry `__ + to define a point +- Convert between units when necessary +- Use MetPy to create + `SkewT `__ + and + `Hodograph `__ + plots -- Pay attention to units when switching models. This notebook was - written for the NAM 40km AWIPS model where temperature and dewpoint - are returned as Kelvin and wind components as m/s. +-------------- + +1 Imports +--------- + +The imports below are used throughout the notebook. Note the first +import is coming directly from python-awips and allows us to connect to +an EDEX server. The subsequent imports are for data manipulation and +visualization. .. code:: ipython3 - %matplotlib inline from awips.dataaccess import DataAccessLayer, ModelSounding - from awips import ThriftClient import matplotlib.pyplot as plt import numpy as np from metpy.plots import SkewT, Hodograph from metpy.units import units from mpl_toolkits.axes_grid1.inset_locator import inset_axes from math import sqrt - from datetime import datetime, timedelta - from shapely.geometry import Point, Polygon - import shapely.wkb - import timeit - model="NAM40" - parms = ['T','DpT','uW','vW'] + from shapely.geometry import Point + +`Top `__ + +-------------- + +2 EDEX Connection +----------------- + +First we establish a connection to Unidata’s public EDEX server. This +sets the proper server on the **DataAccessLayer**, which we will use +numerous times throughout the notebook. + +.. code:: ipython3 + server = 'edex-cloud.unidata.ucar.edu' DataAccessLayer.changeEDEXHost(server) - - # note the order is LON,lat and not lat,LON + +`Top `__ + +-------------- + +3 Define Useful Variables +------------------------- + +The plotting in this notebook needs a model name, a location point +(defined by latitude and longitude), and the most recent time range with +the initial forecast run. + +.. code:: ipython3 + + # Note the order is Lon,Lat and not Lat,Lon point = Point(-104.67,39.87) - - inc = 0.005 - bbox=[point.y-inc, point.y+inc, point.x-inc, point.x+inc] - polygon = Polygon([(bbox[0],bbox[2]),(bbox[0],bbox[3]), - (bbox[1],bbox[3]),(bbox[1],bbox[2]), - (bbox[0],bbox[2])]) + model="NAM40" # Get latest forecast cycle run timeReq = DataAccessLayer.newDataRequest("grid") @@ -54,276 +87,332 @@ any available AWIPS model with isobaric levels. times = DataAccessLayer.getAvailableTimes(timeReq) fcstRun = DataAccessLayer.getForecastRun(cycles[-2], times) - print("Using " + model + " forecast time " + str(fcstRun[0])) + timeRange = [fcstRun[0]] + + print("Using " + model + " forecast time " + str(timeRange)) .. parsed-literal:: - Using NAM40 forecast time 2023-05-17 12:00:00 + Using NAM40 forecast time [] -.. code:: ipython3 - - p,t,d,u,v = [],[],[],[],[] - use_parms = ['T','DpT','uW','vW','P'] - use_level = "0.0FHAG" - sndObject = ModelSounding.getSounding(model, use_parms, - ["0.0FHAG"], point, timeRange=[fcstRun[0]]) - if len(sndObject) > 0: - for time in sndObject._dataDict: - p.append(float(sndObject._dataDict[time][use_level]['P'])) - t.append(float(sndObject._dataDict[time][use_level]['T'])) - d.append(float(sndObject._dataDict[time][use_level]['DpT'])) - u.append(float(sndObject._dataDict[time][use_level]['uW'])) - v.append(float(sndObject._dataDict[time][use_level]['vW'])) - print("Found surface record at " + "%.1f" % p[0] + "MB") - else: - raise ValueError("sndObject returned empty for query [" - + ', '.join(str(x) for x in (model, use_parms, point, use_level)) +"]") - - - - -.. parsed-literal:: - - Found surface record at 830.1MB - - -.. code:: ipython3 - - - # Get isobaric levels with our requested parameters - levelReq = DataAccessLayer.newDataRequest("grid", envelope=point) - levelReq.setLocationNames(model) - levelReq.setParameters('T','DpT','uW','vW') - availableLevels = DataAccessLayer.getAvailableLevels(levelReq) - - # Clean levels list of unit string (MB, FHAG, etc.) - levels = [] - for lvl in availableLevels: - name=str(lvl) - if 'MB' in name and '_' not in name: - # If this level is above (less than in mb) our 0.0FHAG record - if float(name.replace('MB','')) < p[0]: - levels.append(lvl) - - # Get Sounding - sndObject = ModelSounding.getSounding(model, parms, levels, point, - timeRange=[fcstRun[0]]) - - if not len(sndObject) > 0: - raise ValueError("sndObject returned empty for query [" - + ', '.join(str(x) for x in (model, parms, point, levels)) +"]") - - for time in sndObject._dataDict: - for lvl in sndObject._dataDict[time].levels(): - for parm in sndObject._dataDict[time][lvl].parameters(): - if parm == "T": - t.append(float(sndObject._dataDict[time][lvl][parm])) - elif parm == "DpT": - d.append(float(sndObject._dataDict[time][lvl][parm])) - elif parm == 'uW': - u.append(float(sndObject._dataDict[time][lvl][parm])) - elif parm == 'vW': - v.append(float(sndObject._dataDict[time][lvl][parm])) - else: - print("WHAT IS THIS") - print(sndObject._dataDict[time][lvl][parm]) - # Pressure is our requested level rather than a returned parameter - p.append(float(lvl.replace('MB',''))) - - # convert to numpy.array() - p = np.array(p, dtype=float) - t = (np.array(t, dtype=float) - 273.15) * units.degC - d = (np.array(d, dtype=float) - 273.15) * units.degC - u = (np.array(u, dtype=float) * units('m/s')).to('knots') - v = (np.array(v, dtype=float) * units('m/s')).to('knots') - w = np.sqrt(u**2 + v**2) - - print("Using " + str(len(levels)) + " levels between " + - str("%.1f" % max(p)) + " and " + str("%.1f" % min(p)) + "MB") - - -.. parsed-literal:: - - Using 32 levels between 830.1 and 50.0MB - +`Top `__ -------------- -Skew-T/Log-P ------------- +4 Function: get_surface_data() +------------------------------ + +This function is used to get the initial forecast model data for surface +height. This is done separately from the rest of the heights to +determine the surface pressure. It uses the +`ModelSounding `__ +data object from python-awips to retrieve all the relevant information. + +This function takes the model name, location, and time as attributes, +and returns arrays for pressure, temperature, dewpoint, and the u and v +wind components. .. code:: ipython3 - plt.rcParams['figure.figsize'] = (12, 14) - - # Skew-T - skew = SkewT(rotation=45) - skew.plot(p, t, 'r', linewidth=2) - skew.plot(p, d, 'g', linewidth=2) - skew.plot_barbs(p, u, v) - skew.plot_dry_adiabats() - skew.plot_moist_adiabats() - skew.plot_mixing_lines(linestyle=':') - - skew.ax.set_ylim(1000, np.min(p)) - skew.ax.set_xlim(-50, 40) - - # Title - plt.title( model + " (" + str(point) + ") " + str(time.getRefTime())) - - # Hodograph - ax_hod = inset_axes(skew.ax, '40%', '40%', loc=2) - h = Hodograph(ax_hod, component_range=max(w.magnitude)) - h.add_grid(increment=20) - h.plot_colormapped(u, v, w) - - # Dotted line at 0C isotherm - l = skew.ax.axvline(0, color='c', linestyle='-', linewidth=1) - - plt.show() - - - -.. image:: Forecast_Model_Vertical_Sounding_files/Forecast_Model_Vertical_Sounding_5_0.png - - -Model Sounding Comparison -------------------------- - -.. code:: ipython3 - - models = ["RAP13", "GFS20", "NAM40"] - parms = ['T','DpT','uW','vW'] - - for modelName in models: - timeReq = DataAccessLayer.newDataRequest("grid") - timeReq.setLocationNames(modelName) - cycles = DataAccessLayer.getAvailableTimes(timeReq, True) - times = DataAccessLayer.getAvailableTimes(timeReq) - fcstRun = DataAccessLayer.getForecastRun(cycles[-1], times) - print("Using " + modelName + " forecast time " + str(fcstRun[0])) + def get_surface_data(modelName, location, time): + """ model name, location, and timeRange desire """ - p,t,d,u,v = [],[],[],[],[] + # request data and sort response + pressure,temp,dpt,ucomp,vcomp = [],[],[],[],[] use_parms = ['T','DpT','uW','vW','P'] use_level = "0.0FHAG" - sndObject = ModelSounding.getSounding(modelName, use_parms, - [use_level], point, timeRange=[fcstRun[0]]) + sndObject = ModelSounding.getSounding(modelName, use_parms, [use_level], location, time) if len(sndObject) > 0: for time in sndObject._dataDict: - p.append(float(sndObject._dataDict[time][use_level]['P'])) - t.append(float(sndObject._dataDict[time][use_level]['T'])) - d.append(float(sndObject._dataDict[time][use_level]['DpT'])) - u.append(float(sndObject._dataDict[time][use_level]['uW'])) - v.append(float(sndObject._dataDict[time][use_level]['vW'])) - print("Found surface record at " + "%.1f" % p[0] + "MB") + pressure.append(float(sndObject._dataDict[time][use_level]['P'])) + temp.append(float(sndObject._dataDict[time][use_level]['T'])) + dpt.append(float(sndObject._dataDict[time][use_level]['DpT'])) + ucomp.append(float(sndObject._dataDict[time][use_level]['uW'])) + vcomp.append(float(sndObject._dataDict[time][use_level]['vW'])) + print("Found surface record at " + "%.1f" % pressure[0] + "MB") else: raise ValueError("sndObject returned empty for query [" + ', '.join(str(x) for x in (modelName, use_parms, point, use_level)) +"]") - + + # return information for plotting + return pressure,temp,dpt,ucomp,vcomp + +Top + +-------------- + +5 Function: get_levels_data() +----------------------------- + +This function is similar to *get_surface_data()*, except it gets data +values for presure heights above the surface. It uses the +`ModelSounding `__ +data object from python-awips to retrieve all the relevant information. + +It takes the model name, location, and time (similar to the other +function), and also takes the instantiated pressure, temperature, +dewpoint, and wind vector arrays. + +It returns the fully populated pressure, temperature, dewpoint, +u-component, v-component, and computed wind arrays. + +.. code:: ipython3 + + def get_levels_data(modelName, location, time, pressure, temp, dpt, ucomp, vcomp): + # Get isobaric levels with our requested parameters + parms = ['T','DpT','uW','vW'] levelReq = DataAccessLayer.newDataRequest("grid", envelope=point) - levelReq.setLocationNames(modelName) - levelReq.setParameters('T','DpT','uW','vW') + levelReq.setLocationNames(model) + levelReq.setParameters(*(parms)) availableLevels = DataAccessLayer.getAvailableLevels(levelReq) + # Clean levels list of unit string (MB, FHAG, etc.) levels = [] for lvl in availableLevels: name=str(lvl) if 'MB' in name and '_' not in name: # If this level is above (less than in mb) our 0.0FHAG record - if float(name.replace('MB','')) < p[0]: + if float(name.replace('MB','')) < pressure[0]: levels.append(lvl) - + # Get Sounding - sndObject = ModelSounding.getSounding(modelName, parms, levels, point, - timeRange=[fcstRun[0]]) + sndObject = ModelSounding.getSounding(modelName, parms, levels, location, time) + if not len(sndObject) > 0: raise ValueError("sndObject returned empty for query [" - + ', '.join(str(x) for x in (modelName, parms, point, levels)) +"]") + + ', '.join(str(x) for x in (model, parms, point, levels)) +"]") + for time in sndObject._dataDict: for lvl in sndObject._dataDict[time].levels(): for parm in sndObject._dataDict[time][lvl].parameters(): if parm == "T": - t.append(float(sndObject._dataDict[time][lvl][parm])) + temp.append(float(sndObject._dataDict[time][lvl][parm])) elif parm == "DpT": - d.append(float(sndObject._dataDict[time][lvl][parm])) + dpt.append(float(sndObject._dataDict[time][lvl][parm])) elif parm == 'uW': - u.append(float(sndObject._dataDict[time][lvl][parm])) + ucomp.append(float(sndObject._dataDict[time][lvl][parm])) elif parm == 'vW': - v.append(float(sndObject._dataDict[time][lvl][parm])) + vcomp.append(float(sndObject._dataDict[time][lvl][parm])) else: print("WHAT IS THIS") print(sndObject._dataDict[time][lvl][parm]) # Pressure is our requested level rather than a returned parameter - p.append(float(lvl.replace('MB',''))) + pressure.append(float(lvl.replace('MB',''))) # convert to numpy.array() - p = np.array(p, dtype=float) - t = (np.array(t, dtype=float) - 273.15) * units.degC - d = (np.array(d, dtype=float) - 273.15) * units.degC - u = (np.array(u, dtype=float) * units('m/s')).to('knots') - v = (np.array(v, dtype=float) * units('m/s')).to('knots') - w = np.sqrt(u**2 + v**2) + pressure = np.array(pressure, dtype=float) + temp = (np.array(temp, dtype=float) - 273.15) * units.degC + dpt = (np.array(dpt, dtype=float) - 273.15) * units.degC + ucomp = (np.array(ucomp, dtype=float) * units('m/s')).to('knots') + vcomp = (np.array(vcomp, dtype=float) * units('m/s')).to('knots') + wind = np.sqrt(ucomp**2 + vcomp**2) print("Using " + str(len(levels)) + " levels between " + - str("%.1f" % max(p)) + " and " + str("%.1f" % min(p)) + "MB") + str("%.1f" % max(pressure)) + " and " + str("%.1f" % min(pressure)) + "MB") + return pressure,temp,dpt,ucomp,vcomp,wind + +`Top `__ + +-------------- + +6 Function: plot_skewT() +------------------------ + +Since we’re plotting many different models for comparison, all that code +was used to create this function. + +The function takes the model name, reference time, and the pressure, +temperature, dewpoint, u-component, v-component, and wind arrays. It +plots a skewT and hodograph using metpy. + +.. code:: ipython3 + + def plot_skewT(modelName, pressure, temp, dpt, ucomp, vcomp, wind, refTime): + plt.rcParams['figure.figsize'] = (12, 14) # Skew-T - plt.rcParams['figure.figsize'] = (12, 14) skew = SkewT(rotation=45) - skew.plot(p, t, 'r', linewidth=2) - skew.plot(p, d, 'g', linewidth=2) - skew.plot_barbs(p, u, v) + skew.plot(pressure, temp, 'r', linewidth=2) + skew.plot(pressure, dpt, 'g', linewidth=2) + skew.plot_barbs(pressure, ucomp, vcomp) skew.plot_dry_adiabats() skew.plot_moist_adiabats() skew.plot_mixing_lines(linestyle=':') - skew.ax.set_ylim(1000, 100) + + skew.ax.set_ylim(1000, np.min(pressure)) skew.ax.set_xlim(-50, 40) + # Title - plt.title( modelName + " (" + str(point) + ") " + str(time.getRefTime())) + plt.title(modelName + " (" + str(point) + ") " + str(refTime)) + # Hodograph ax_hod = inset_axes(skew.ax, '40%', '40%', loc=2) - h = Hodograph(ax_hod, component_range=max(w.magnitude)) + h = Hodograph(ax_hod, component_range=max(wind.magnitude)) h.add_grid(increment=20) - h.plot_colormapped(u, v, w) + h.plot_colormapped(ucomp, vcomp, wind) + # Dotted line at 0C isotherm l = skew.ax.axvline(0, color='c', linestyle='-', linewidth=1) + plt.show() +`Top `__ + +-------------- + +7 Retrieve Necessary Plotting Data +---------------------------------- + +First we get the initial data at surface level using the +get_surface_data function, and then pass those initial data arrays onto +the get_levels_data request to finish populating for additional heights +needed for Skew-T plots. We want to keep track of the pressure, +temeperature, dewpoint, u-component, v-component, and wind arrays so we +store them in variables to use later on. + +.. code:: ipython3 + + p,t,d,u,v = get_surface_data(model,point,timeRange) + + p,t,d,u,v,w = get_levels_data(model,point,timeRange,p,t,d,u,v) + .. parsed-literal:: - Using RAP13 forecast time 2023-05-17 20:00:00 + Found surface record at 833.2MB + Using 32 levels between 833.2 and 50.0MB + + +`Top `__ + +-------------- + +8 Skew-T/Log-P +-------------- + +Here we use our plot_skewT function to generate our skewT & hodograph +charts for the data we retreived so far. This is where the pressure, +temperature, dewpoint, and wind data is needed. + +.. code:: ipython3 + + plot_skewT(model, p, t, d, u, v, w, timeRange[0]) + + + +.. image:: Forecast_Model_Vertical_Sounding_files/Forecast_Model_Vertical_Sounding_24_0.png + + +`Top `__ + +-------------- + +9 Model Sounding Comparison +--------------------------- + +Now that we know how to retreive and plot the data for one model, we can +run a loop to retreive data for various models and plot them for +comparison. In this example we’ll also plot RAP13 and GFS20 data to +compare with NAM40. + +This is also where our functions become so important, because we can +easily recall all that logic and keep this for-loop fairly simple. + +.. code:: ipython3 + + models = ["RAP13", "GFS20", "NAM40"] + + for modelName in models: + timeReq = DataAccessLayer.newDataRequest("grid") + timeReq.setLocationNames(modelName) + cycles = DataAccessLayer.getAvailableTimes(timeReq, True) + times = DataAccessLayer.getAvailableTimes(timeReq) + fr = DataAccessLayer.getForecastRun(cycles[-1], times) + print("Using " + modelName + " forecast time " + str(fr[0])) + tr = [fr[0]] + + p,t,d,u,v = get_surface_data(modelName,point,tr) + p,t,d,u,v,w = get_levels_data(modelName,point,tr,p,t,d,u,v) + + # Skew-T + plot_skewT(modelName,p,t,d,u,v,w,tr[0]) + + +.. parsed-literal:: + + Using RAP13 forecast time 2023-07-25 19:00:00 + Found surface record at 839.4MB + Using 32 levels between 839.4 and 100.0MB + + + +.. image:: Forecast_Model_Vertical_Sounding_files/Forecast_Model_Vertical_Sounding_27_1.png + + +.. parsed-literal:: + + Using GFS20 forecast time 2023-07-25 12:00:00 + Found surface record at 842.5MB + Using 32 levels between 842.5 and 100.0MB + + + +.. image:: Forecast_Model_Vertical_Sounding_files/Forecast_Model_Vertical_Sounding_27_3.png + + +.. parsed-literal:: + + Using NAM40 forecast time 2023-07-25 18:00:00 Found surface record at 833.8MB - Using 30 levels between 833.8 and 100.0MB + Using 32 levels between 833.8 and 50.0MB -.. image:: Forecast_Model_Vertical_Sounding_files/Forecast_Model_Vertical_Sounding_7_1.png +.. image:: Forecast_Model_Vertical_Sounding_files/Forecast_Model_Vertical_Sounding_27_5.png -.. parsed-literal:: +`Top `__ - Using GFS20 forecast time 2023-05-17 12:00:00 - Found surface record at 839.9MB - Using 22 levels between 839.9 and 100.0MB +-------------- +10 See Also +----------- +10.1 Related Notebooks +~~~~~~~~~~~~~~~~~~~~~~ -.. image:: Forecast_Model_Vertical_Sounding_files/Forecast_Model_Vertical_Sounding_7_3.png +- `Grid Levels and + Parameters `__ +- `Upper Air BUFR + Soundings `__ +- `Model Sounding + Data `__ +10.2 Additional Documentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. parsed-literal:: +**python-awips:** - Using NAM40 forecast time 2023-05-17 18:00:00 - Found surface record at 829.4MB - Using 32 levels between 829.4 and 50.0MB +- `awips.DataAccessLayer `__ +- `awips.ModelSounding `__ +**matplotlib:** +- `matplotlib.pyplot `__ -.. image:: Forecast_Model_Vertical_Sounding_files/Forecast_Model_Vertical_Sounding_7_5.png +**MetPy** +- `metpy.wind_speed `__ +- `metpy.wind_direction `__ +- `metpy.vapor_pressure `__ +- `metpy.dewpoint `__ +- `metpy.skewt `__ +- `metpy.hodograph `__ +`Top `__ + +-------------- diff --git a/_static/css/theme.css b/_static/css/theme.css index c03c88f..19a446a 100644 --- a/_static/css/theme.css +++ b/_static/css/theme.css @@ -1,4 +1,4 @@ html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file + */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file diff --git a/examples/generated/Forecast_Model_Vertical_Sounding.html b/examples/generated/Forecast_Model_Vertical_Sounding.html index 611f9bd..30ed7ba 100644 --- a/examples/generated/Forecast_Model_Vertical_Sounding.html +++ b/examples/generated/Forecast_Model_Vertical_Sounding.html @@ -53,8 +53,19 @@
  • Colored Surface Temperature Plot
  • Colorized Grid Data
  • Forecast Model Vertical Sounding
  • GOES CIRA Product Writer
  • @@ -103,45 +114,68 @@

    Forecast Model Vertical Sounding

    Notebook -The ModelSounding class allows us to create a vertical sounding through -any available AWIPS model with isobaric levels.

    +Python-AWIPS Tutorial Notebook

    +
    +
    +

    Objectives

      -
    • A Shapely Point geometry is used to select longitude and latitude: -from shapely.geometry import Point point = Point(-104.67,39.87)

    • -
    • Parameters ['T','DpT','uW','vW'] are requested for all isobaric -levels available for the selected model.

    • -
    • There is a single-record query performed for level = "0.0FHAG" to -determine the surface pressure level.

    • -
    • Pay attention to units when switching models. This notebook was -written for the NAM 40km AWIPS model where temperature and dewpoint -are returned as Kelvin and wind components as m/s.

    • +
    • Use python-awips to connect to an edex server

    • +
    • Request data using the ModelSounding +class +in addition to using the normal DataAccess +class

    • +
    • Create and compare vertical sounding from different AWIPS model data +with isobaric levels

    • +
    • Use Shapely Point +geometry +to define a point

    • +
    • Convert between units when necessary

    • +
    • Use MetPy to create +SkewT +and +Hodograph +plots

    -
    %matplotlib inline
    -from awips.dataaccess import DataAccessLayer, ModelSounding
    -from awips import ThriftClient
    +
    +
    +

    1 Imports

    +

    The imports below are used throughout the notebook. Note the first +import is coming directly from python-awips and allows us to connect to +an EDEX server. The subsequent imports are for data manipulation and +visualization.

    +
    from awips.dataaccess import DataAccessLayer, ModelSounding
     import matplotlib.pyplot as plt
     import numpy as np
     from metpy.plots import SkewT, Hodograph
     from metpy.units import units
     from mpl_toolkits.axes_grid1.inset_locator import inset_axes
     from math import sqrt
    -from datetime import datetime, timedelta
    -from shapely.geometry import Point, Polygon
    -import shapely.wkb
    -import timeit
    -model="NAM40"
    -parms = ['T','DpT','uW','vW']
    -server = 'edex-cloud.unidata.ucar.edu'
    +from shapely.geometry import Point
    +
    +
    +

    Top

    +
    +
    +
    +

    2 EDEX Connection

    +

    First we establish a connection to Unidata’s public EDEX server. This +sets the proper server on the DataAccessLayer, which we will use +numerous times throughout the notebook.

    +
    server = 'edex-cloud.unidata.ucar.edu'
     DataAccessLayer.changeEDEXHost(server)
    -
    -# note the order is LON,lat and not lat,LON
    +
    +
    +

    Top

    +
    +
    +
    +

    3 Define Useful Variables

    +

    The plotting in this notebook needs a model name, a location point +(defined by latitude and longitude), and the most recent time range with +the initial forecast run.

    +
    # Note the order is Lon,Lat and not Lat,Lon
     point = Point(-104.67,39.87)
    -
    -inc = 0.005
    -bbox=[point.y-inc, point.y+inc, point.x-inc, point.x+inc]
    -polygon = Polygon([(bbox[0],bbox[2]),(bbox[0],bbox[3]),
    -                   (bbox[1],bbox[3]),(bbox[1],bbox[2]),
    -                   (bbox[0],bbox[2])])
    +model="NAM40"
     
     # Get latest forecast cycle run
     timeReq = DataAccessLayer.newDataRequest("grid")
    @@ -150,242 +184,280 @@ are returned as Kelvin and wind components as m/s.

    times = DataAccessLayer.getAvailableTimes(timeReq) fcstRun = DataAccessLayer.getForecastRun(cycles[-2], times) -print("Using " + model + " forecast time " + str(fcstRun[0])) +timeRange = [fcstRun[0]] + +print("Using " + model + " forecast time " + str(timeRange))
    -
    Using NAM40 forecast time 2023-05-17 12:00:00
    +
    Using NAM40 forecast time [<DataTime instance: 2023-07-25 12:00:00 >]
     
    -
    p,t,d,u,v = [],[],[],[],[]
    -use_parms = ['T','DpT','uW','vW','P']
    -use_level = "0.0FHAG"
    -sndObject = ModelSounding.getSounding(model, use_parms,
    -                                      ["0.0FHAG"], point, timeRange=[fcstRun[0]])
    -if len(sndObject) > 0:
    -    for time in sndObject._dataDict:
    -        p.append(float(sndObject._dataDict[time][use_level]['P']))
    -        t.append(float(sndObject._dataDict[time][use_level]['T']))
    -        d.append(float(sndObject._dataDict[time][use_level]['DpT']))
    -        u.append(float(sndObject._dataDict[time][use_level]['uW']))
    -        v.append(float(sndObject._dataDict[time][use_level]['vW']))
    -    print("Found surface record at " + "%.1f" % p[0] + "MB")
    -else:
    -    raise ValueError("sndObject returned empty for query ["
    -                    + ', '.join(str(x) for x in (model, use_parms, point, use_level)) +"]")
    -
    -
    -
    Found surface record at 830.1MB
    -
    -
    -
    # Get isobaric levels with our requested parameters
    -levelReq = DataAccessLayer.newDataRequest("grid", envelope=point)
    -levelReq.setLocationNames(model)
    -levelReq.setParameters('T','DpT','uW','vW')
    -availableLevels = DataAccessLayer.getAvailableLevels(levelReq)
    -
    -# Clean levels list of unit string (MB, FHAG, etc.)
    -levels = []
    -for lvl in availableLevels:
    -    name=str(lvl)
    -    if 'MB' in name and '_' not in name:
    -        # If this level is above (less than in mb) our 0.0FHAG record
    -        if float(name.replace('MB','')) < p[0]:
    -            levels.append(lvl)
    -
    -# Get Sounding
    -sndObject = ModelSounding.getSounding(model, parms, levels, point,
    -                        timeRange=[fcstRun[0]])
    -
    -if not len(sndObject) > 0:
    -    raise ValueError("sndObject returned empty for query ["
    -                    + ', '.join(str(x) for x in (model, parms, point, levels)) +"]")
    -
    -for time in sndObject._dataDict:
    -    for lvl in sndObject._dataDict[time].levels():
    -        for parm in sndObject._dataDict[time][lvl].parameters():
    -            if parm == "T":
    -                t.append(float(sndObject._dataDict[time][lvl][parm]))
    -            elif parm == "DpT":
    -                d.append(float(sndObject._dataDict[time][lvl][parm]))
    -            elif parm == 'uW':
    -                u.append(float(sndObject._dataDict[time][lvl][parm]))
    -            elif parm == 'vW':
    -                v.append(float(sndObject._dataDict[time][lvl][parm]))
    -            else:
    -                print("WHAT IS THIS")
    -                print(sndObject._dataDict[time][lvl][parm])
    -        # Pressure is our requested level rather than a returned parameter
    -        p.append(float(lvl.replace('MB','')))
    -
    -# convert to numpy.array()
    -p = np.array(p, dtype=float)
    -t = (np.array(t, dtype=float) - 273.15) * units.degC
    -d = (np.array(d, dtype=float) - 273.15) * units.degC
    -u = (np.array(u, dtype=float) * units('m/s')).to('knots')
    -v = (np.array(v, dtype=float) * units('m/s')).to('knots')
    -w = np.sqrt(u**2 + v**2)
    -
    -print("Using " + str(len(levels)) + " levels between " +
    -      str("%.1f" % max(p)) + " and " + str("%.1f" % min(p)) + "MB")
    -
    -
    -
    Using 32 levels between 830.1 and 50.0MB
    -
    -
    -
    -
    -

    Skew-T/Log-P

    -
    plt.rcParams['figure.figsize'] = (12, 14)
    -
    -# Skew-T
    -skew = SkewT(rotation=45)
    -skew.plot(p, t, 'r', linewidth=2)
    -skew.plot(p, d, 'g', linewidth=2)
    -skew.plot_barbs(p, u, v)
    -skew.plot_dry_adiabats()
    -skew.plot_moist_adiabats()
    -skew.plot_mixing_lines(linestyle=':')
    -
    -skew.ax.set_ylim(1000, np.min(p))
    -skew.ax.set_xlim(-50, 40)
    -
    -# Title
    -plt.title( model + " (" + str(point) + ") " + str(time.getRefTime()))
    -
    -# Hodograph
    -ax_hod = inset_axes(skew.ax, '40%', '40%', loc=2)
    -h = Hodograph(ax_hod, component_range=max(w.magnitude))
    -h.add_grid(increment=20)
    -h.plot_colormapped(u, v, w)
    -
    -# Dotted line at 0C isotherm
    -l = skew.ax.axvline(0, color='c', linestyle='-', linewidth=1)
    -
    -plt.show()
    -
    -
    -../../_images/Forecast_Model_Vertical_Sounding_5_0.png +

    Top

    -
    -

    Model Sounding Comparison

    -
    models = ["RAP13", "GFS20", "NAM40"]
    -parms = ['T','DpT','uW','vW']
    +
    +
    +

    4 Function: get_surface_data()

    +

    This function is used to get the initial forecast model data for surface +height. This is done separately from the rest of the heights to +determine the surface pressure. It uses the +ModelSounding +data object from python-awips to retrieve all the relevant information.

    +

    This function takes the model name, location, and time as attributes, +and returns arrays for pressure, temperature, dewpoint, and the u and v +wind components.

    +
    def get_surface_data(modelName, location, time):
    +    """ model name, location, and timeRange desire """
     
    -for modelName in models:
    -    timeReq = DataAccessLayer.newDataRequest("grid")
    -    timeReq.setLocationNames(modelName)
    -    cycles = DataAccessLayer.getAvailableTimes(timeReq, True)
    -    times = DataAccessLayer.getAvailableTimes(timeReq)
    -    fcstRun = DataAccessLayer.getForecastRun(cycles[-1], times)
    -    print("Using " + modelName + " forecast time " + str(fcstRun[0]))
    -
    -    p,t,d,u,v = [],[],[],[],[]
    +    # request data and sort response
    +    pressure,temp,dpt,ucomp,vcomp = [],[],[],[],[]
         use_parms = ['T','DpT','uW','vW','P']
         use_level = "0.0FHAG"
     
    -    sndObject = ModelSounding.getSounding(modelName, use_parms,
    -                                          [use_level], point, timeRange=[fcstRun[0]])
    +    sndObject = ModelSounding.getSounding(modelName, use_parms, [use_level], location, time)
         if len(sndObject) > 0:
             for time in sndObject._dataDict:
    -            p.append(float(sndObject._dataDict[time][use_level]['P']))
    -            t.append(float(sndObject._dataDict[time][use_level]['T']))
    -            d.append(float(sndObject._dataDict[time][use_level]['DpT']))
    -            u.append(float(sndObject._dataDict[time][use_level]['uW']))
    -            v.append(float(sndObject._dataDict[time][use_level]['vW']))
    -        print("Found surface record at " + "%.1f" % p[0] + "MB")
    +            pressure.append(float(sndObject._dataDict[time][use_level]['P']))
    +            temp.append(float(sndObject._dataDict[time][use_level]['T']))
    +            dpt.append(float(sndObject._dataDict[time][use_level]['DpT']))
    +            ucomp.append(float(sndObject._dataDict[time][use_level]['uW']))
    +            vcomp.append(float(sndObject._dataDict[time][use_level]['vW']))
    +        print("Found surface record at " + "%.1f" % pressure[0] + "MB")
         else:
             raise ValueError("sndObject returned empty for query ["
                             + ', '.join(str(x) for x in (modelName, use_parms, point, use_level)) +"]")
     
    +    # return information for plotting
    +    return pressure,temp,dpt,ucomp,vcomp
    +
    +
    +

    Top

    +
    +
    +
    +

    5 Function: get_levels_data()

    +

    This function is similar to get_surface_data(), except it gets data +values for presure heights above the surface. It uses the +ModelSounding +data object from python-awips to retrieve all the relevant information.

    +

    It takes the model name, location, and time (similar to the other +function), and also takes the instantiated pressure, temperature, +dewpoint, and wind vector arrays.

    +

    It returns the fully populated pressure, temperature, dewpoint, +u-component, v-component, and computed wind arrays.

    +
    def get_levels_data(modelName, location, time, pressure, temp, dpt, ucomp, vcomp):
    +
         # Get isobaric levels with our requested parameters
    +    parms = ['T','DpT','uW','vW']
         levelReq = DataAccessLayer.newDataRequest("grid", envelope=point)
    -    levelReq.setLocationNames(modelName)
    -    levelReq.setParameters('T','DpT','uW','vW')
    +    levelReq.setLocationNames(model)
    +    levelReq.setParameters(*(parms))
         availableLevels = DataAccessLayer.getAvailableLevels(levelReq)
    +
         # Clean levels list of unit string (MB, FHAG, etc.)
         levels = []
         for lvl in availableLevels:
             name=str(lvl)
             if 'MB' in name and '_' not in name:
                 # If this level is above (less than in mb) our 0.0FHAG record
    -            if float(name.replace('MB','')) < p[0]:
    +            if float(name.replace('MB','')) < pressure[0]:
                     levels.append(lvl)
     
         # Get Sounding
    -    sndObject = ModelSounding.getSounding(modelName, parms, levels, point,
    -                            timeRange=[fcstRun[0]])
    +    sndObject = ModelSounding.getSounding(modelName, parms, levels, location, time)
    +
         if not len(sndObject) > 0:
             raise ValueError("sndObject returned empty for query ["
    -                        + ', '.join(str(x) for x in (modelName, parms, point, levels)) +"]")
    +                        + ', '.join(str(x) for x in (model, parms, point, levels)) +"]")
    +
         for time in sndObject._dataDict:
             for lvl in sndObject._dataDict[time].levels():
                 for parm in sndObject._dataDict[time][lvl].parameters():
                     if parm == "T":
    -                    t.append(float(sndObject._dataDict[time][lvl][parm]))
    +                    temp.append(float(sndObject._dataDict[time][lvl][parm]))
                     elif parm == "DpT":
    -                    d.append(float(sndObject._dataDict[time][lvl][parm]))
    +                    dpt.append(float(sndObject._dataDict[time][lvl][parm]))
                     elif parm == 'uW':
    -                    u.append(float(sndObject._dataDict[time][lvl][parm]))
    +                    ucomp.append(float(sndObject._dataDict[time][lvl][parm]))
                     elif parm == 'vW':
    -                    v.append(float(sndObject._dataDict[time][lvl][parm]))
    +                    vcomp.append(float(sndObject._dataDict[time][lvl][parm]))
                     else:
                         print("WHAT IS THIS")
                         print(sndObject._dataDict[time][lvl][parm])
                 # Pressure is our requested level rather than a returned parameter
    -            p.append(float(lvl.replace('MB','')))
    +            pressure.append(float(lvl.replace('MB','')))
     
         # convert to numpy.array()
    -    p = np.array(p, dtype=float)
    -    t = (np.array(t, dtype=float) - 273.15) * units.degC
    -    d = (np.array(d, dtype=float) - 273.15) * units.degC
    -    u = (np.array(u, dtype=float) * units('m/s')).to('knots')
    -    v = (np.array(v, dtype=float) * units('m/s')).to('knots')
    -    w = np.sqrt(u**2 + v**2)
    +    pressure = np.array(pressure, dtype=float)
    +    temp = (np.array(temp, dtype=float) - 273.15) * units.degC
    +    dpt = (np.array(dpt, dtype=float) - 273.15) * units.degC
    +    ucomp = (np.array(ucomp, dtype=float) * units('m/s')).to('knots')
    +    vcomp = (np.array(vcomp, dtype=float) * units('m/s')).to('knots')
    +    wind = np.sqrt(ucomp**2 + vcomp**2)
     
         print("Using " + str(len(levels)) + " levels between " +
    -          str("%.1f" % max(p)) + " and " + str("%.1f" % min(p)) + "MB")
    +          str("%.1f" % max(pressure)) + " and " + str("%.1f" % min(pressure)) + "MB")
    +    return pressure,temp,dpt,ucomp,vcomp,wind
    +
    +
    +

    Top

    +
    +
    +
    +

    6 Function: plot_skewT()

    +

    Since we’re plotting many different models for comparison, all that code +was used to create this function.

    +

    The function takes the model name, reference time, and the pressure, +temperature, dewpoint, u-component, v-component, and wind arrays. It +plots a skewT and hodograph using metpy.

    +
    def plot_skewT(modelName, pressure, temp, dpt, ucomp, vcomp, wind, refTime):
    +    plt.rcParams['figure.figsize'] = (12, 14)
     
         # Skew-T
    -    plt.rcParams['figure.figsize'] = (12, 14)
         skew = SkewT(rotation=45)
    -    skew.plot(p, t, 'r', linewidth=2)
    -    skew.plot(p, d, 'g', linewidth=2)
    -    skew.plot_barbs(p, u, v)
    +    skew.plot(pressure, temp, 'r', linewidth=2)
    +    skew.plot(pressure, dpt, 'g', linewidth=2)
    +    skew.plot_barbs(pressure, ucomp, vcomp)
         skew.plot_dry_adiabats()
         skew.plot_moist_adiabats()
         skew.plot_mixing_lines(linestyle=':')
    -    skew.ax.set_ylim(1000, 100)
    +
    +    skew.ax.set_ylim(1000, np.min(pressure))
         skew.ax.set_xlim(-50, 40)
    +
         # Title
    -    plt.title( modelName + " (" + str(point) + ") " + str(time.getRefTime()))
    +    plt.title(modelName + " (" + str(point) + ") " + str(refTime))
    +
         # Hodograph
         ax_hod = inset_axes(skew.ax, '40%', '40%', loc=2)
    -    h = Hodograph(ax_hod, component_range=max(w.magnitude))
    +    h = Hodograph(ax_hod, component_range=max(wind.magnitude))
         h.add_grid(increment=20)
    -    h.plot_colormapped(u, v, w)
    +    h.plot_colormapped(ucomp, vcomp, wind)
    +
         # Dotted line at 0C isotherm
         l = skew.ax.axvline(0, color='c', linestyle='-', linewidth=1)
    +
         plt.show()
     
    -
    Using RAP13 forecast time 2023-05-17 20:00:00
    +

    Top

    +
    +
    +
    +

    7 Retrieve Necessary Plotting Data

    +

    First we get the initial data at surface level using the +get_surface_data function, and then pass those initial data arrays onto +the get_levels_data request to finish populating for additional heights +needed for Skew-T plots. We want to keep track of the pressure, +temeperature, dewpoint, u-component, v-component, and wind arrays so we +store them in variables to use later on.

    +
    p,t,d,u,v = get_surface_data(model,point,timeRange)
    +
    +p,t,d,u,v,w = get_levels_data(model,point,timeRange,p,t,d,u,v)
    +
    +
    +
    Found surface record at 833.2MB
    +Using 32 levels between 833.2 and 50.0MB
    +
    +
    +

    Top

    +
    +
    +
    +

    8 Skew-T/Log-P

    +

    Here we use our plot_skewT function to generate our skewT & hodograph +charts for the data we retreived so far. This is where the pressure, +temperature, dewpoint, and wind data is needed.

    +
    plot_skewT(model, p, t, d, u, v, w, timeRange[0])
    +
    +
    +../../_images/Forecast_Model_Vertical_Sounding_24_0.png +

    Top

    +
    +
    +
    +

    9 Model Sounding Comparison

    +

    Now that we know how to retreive and plot the data for one model, we can +run a loop to retreive data for various models and plot them for +comparison. In this example we’ll also plot RAP13 and GFS20 data to +compare with NAM40.

    +

    This is also where our functions become so important, because we can +easily recall all that logic and keep this for-loop fairly simple.

    +
    models = ["RAP13", "GFS20", "NAM40"]
    +
    +for modelName in models:
    +    timeReq = DataAccessLayer.newDataRequest("grid")
    +    timeReq.setLocationNames(modelName)
    +    cycles = DataAccessLayer.getAvailableTimes(timeReq, True)
    +    times = DataAccessLayer.getAvailableTimes(timeReq)
    +    fr = DataAccessLayer.getForecastRun(cycles[-1], times)
    +    print("Using " + modelName + " forecast time " + str(fr[0]))
    +    tr = [fr[0]]
    +
    +    p,t,d,u,v = get_surface_data(modelName,point,tr)
    +    p,t,d,u,v,w = get_levels_data(modelName,point,tr,p,t,d,u,v)
    +
    +    # Skew-T
    +    plot_skewT(modelName,p,t,d,u,v,w,tr[0])
    +
    +
    +
    Using RAP13 forecast time 2023-07-25 19:00:00
    +Found surface record at 839.4MB
    +Using 32 levels between 839.4 and 100.0MB
    +
    +
    +../../_images/Forecast_Model_Vertical_Sounding_27_1.png +
    Using GFS20 forecast time 2023-07-25 12:00:00
    +Found surface record at 842.5MB
    +Using 32 levels between 842.5 and 100.0MB
    +
    +
    +../../_images/Forecast_Model_Vertical_Sounding_27_3.png +
    Using NAM40 forecast time 2023-07-25 18:00:00
     Found surface record at 833.8MB
    -Using 30 levels between 833.8 and 100.0MB
    +Using 32 levels between 833.8 and 50.0MB
     
    -../../_images/Forecast_Model_Vertical_Sounding_7_1.png -
    Using GFS20 forecast time 2023-05-17 12:00:00
    -Found surface record at 839.9MB
    -Using 22 levels between 839.9 and 100.0MB
    -
    -
    -../../_images/Forecast_Model_Vertical_Sounding_7_3.png -
    Using NAM40 forecast time 2023-05-17 18:00:00
    -Found surface record at 829.4MB
    -Using 32 levels between 829.4 and 50.0MB
    -
    -
    -../../_images/Forecast_Model_Vertical_Sounding_7_5.png +../../_images/Forecast_Model_Vertical_Sounding_27_5.png +

    Top

    +
    +
    +
    +

    10 See Also

    + +
    +

    10.2 Additional Documentation

    +

    python-awips:

    + +

    matplotlib:

    + +

    MetPy

    + +

    Top

    +
    +
    +
    diff --git a/objects.inv b/objects.inv index 8ab2183..807c358 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/searchindex.js b/searchindex.js index 72bdfe3..dee593d 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/Colored_Surface_Temperature_Plot", "examples/generated/Colorized_Grid_Data", "examples/generated/Forecast_Model_Vertical_Sounding", "examples/generated/GOES_CIRA_Product_Writer", "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_Warning_and_Advisory_Plotting", "examples/index", "index"], "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/Colored_Surface_Temperature_Plot.rst", "examples/generated/Colorized_Grid_Data.rst", "examples/generated/Forecast_Model_Vertical_Sounding.rst", "examples/generated/GOES_CIRA_Product_Writer.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_Warning_and_Advisory_Plotting.rst", "examples/index.rst", "index.rst"], "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", "Colored Surface Temperature Plot", "Colorized Grid Data", "Forecast Model Vertical Sounding", "GOES CIRA Product Writer", "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 Warning and Advisory Plotting", "Data Plotting Examples", "Python AWIPS Data Access Framework"], "terms": {"i": [0, 2, 6, 7, 9, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32], "weather": [0, 6, 22, 27, 30, 32], "forecast": [0, 2, 6, 18, 21, 24, 28, 29, 31, 32], "displai": [0, 16, 22, 24, 27, 29, 30, 32], "analysi": [0, 32], "packag": [0, 16, 18, 21, 23, 27, 30], "develop": [0, 32], "nation": [0, 30, 32], "servic": [0, 11, 16, 30, 32], "raytheon": [0, 16, 17, 18, 22, 27, 30], "java": 0, "applic": [0, 23], "consist": [0, 16, 23], "data": [0, 2, 4, 6, 7, 8, 9, 10, 23, 25, 26, 28], "render": [0, 23, 28], "client": [0, 2, 12], "which": [0, 6, 16, 17, 18, 20, 21, 23, 24, 27, 29, 30], "run": [0, 2, 16, 18, 19, 20, 21, 22, 24, 29, 30], "red": [0, 17, 18], "hat": 0, "cento": 0, "linux": 0, "mac": [0, 20, 24], "o": [0, 20, 24], "x": [0, 17, 18, 19, 20, 23, 24, 26, 27], "backend": 0, "server": [0, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30, 32], "onli": [0, 2, 4, 17, 21, 22, 23, 24, 30], "take": [0, 16, 18, 20, 21, 22, 27, 30], "unifi": [0, 16], "approach": 0, "ingest": [0, 16], "most": [0, 16, 18, 21, 22, 24, 27, 29, 30], "type": [0, 3, 8, 10, 16, 17, 18, 20, 22, 23, 24, 29, 30], "follow": [0, 16, 20, 24, 27], "standard": [0, 23, 30], "path": [0, 20, 30], "through": [0, 16, 17, 18, 19, 20, 22, 24, 27, 30], "system": [0, 21], "At": 0, "high": 0, "level": [0, 2, 4, 6, 7, 12, 16, 18, 19, 22, 23, 24, 25, 27, 29, 30, 31], "flow": 0, "describ": [0, 20, 30], "taken": [0, 16, 20], "piec": [0, 16], "from": [0, 2, 3, 16, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 32], "its": [0, 16, 21, 27, 30], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "thi": [0, 2, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32], "start": [0, 16, 17, 18, 21, 22, 27, 30, 32], "request": [0, 1, 2, 4, 5, 6, 11, 12, 15, 17, 19, 20, 22, 23, 24, 25, 26, 28, 30, 32], "store": [0, 16, 17, 22, 30], "an": [0, 2, 4, 7, 16, 17, 18, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "includ": [0, 3, 16, 17, 24, 32], "decod": [0, 16], "form": 0, "readabl": 0, "display": 0, "end": [0, 17, 20, 23, 24, 27, 30], "user": [0, 5, 18, 20, 25], "The": [0, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30, 32], "process": [0, 2, 16, 30], "ar": [0, 2, 4, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "highli": 0, "distribut": 0, "messag": [0, 16, 30], "broken": 0, "us": [0, 2, 6, 17, 19, 20, 21, 27, 32], "inter": 0, "commun": [0, 2, 6], "imag": [0, 15, 18, 23, 27, 28, 30], "softwar": [0, 16], "releas": [0, 32], "program": [0, 32], "center": [0, 18, 22, 27, 30, 32], "consid": [0, 16], "public": [0, 16, 17, 20, 22, 23, 24, 27, 29, 30], "domain": [0, 23, 24], "sinc": [0, 16, 20, 24, 29, 30], "without": [0, 2, 16, 27], "proprietari": 0, "code": [0, 16, 20, 21, 22, 23, 25, 27], "As": [0, 16], "export": 0, "control": 0, "do": [0, 16, 17, 21, 24, 30], "appli": [0, 16, 20], "ani": [0, 2, 16, 19, 23, 30], "person": 0, "free": [0, 16, 20, 32], "download": [0, 23], "modifi": [0, 16, 20, 22, 29, 30], "share": [0, 27], "entiti": [0, 15, 20], "who": [0, 16], "re": [0, 16, 17, 20, 21, 22, 24, 27, 29, 30], "encourag": 0, "conduct": 0, "own": [0, 16], "foss": 0, "cot": [0, 24], "entitl": 0, "review": [0, 16], "ensur": 0, "thei": [0, 16, 23, 24, 27, 30], "remain": [0, 22], "compat": [0, 16], "associ": [0, 7, 9, 16, 22, 30], "term": 0, "see": [0, 16], "foss_cots_licens": 0, "pdf": 0, "http": [0, 22, 30, 32], "github": [0, 32], "com": [0, 16, 17, 18, 22, 27, 30, 32], "awips2": 0, "primari": 0, "storag": [0, 16], "environment": 0, "exchang": 0, "visual": [0, 17, 20, 21, 22, 23, 24, 27, 29, 30], "manipul": [0, 16, 17, 18, 20, 22, 23, 24, 27, 29, 30], "common": [0, 16, 17, 18, 22, 23, 30], "environ": [0, 2, 32], "typic": [0, 16, 21, 23], "instal": 0, "workstat": 0, "separ": [0, 2, 16, 17, 29], "other": [0, 16, 20, 21, 23, 28], "compon": [0, 19, 22, 24, 27, 29], "In": [0, 16, 17, 18, 22, 23, 24, 27, 29, 30, 32], "addit": [0, 16], "specif": [0, 4, 16, 18, 20, 22, 23, 25, 30], "sever": [0, 21, 22, 23, 27, 29, 30], "commerci": 0, "off": [0, 18, 20, 27, 30], "shelf": 0, "open": [0, 16, 32], "product": [0, 2, 15, 16, 17, 24, 25, 31], "assist": 0, "oper": [0, 32], "work": [0, 2, 21, 24, 29, 32], "togeth": 0, "compos": 0, "entir": [0, 23], "main": [0, 16, 24], "send": [0, 16, 17], "alert": [0, 16], "when": [0, 2, 17, 18, 19, 20, 23, 24, 29], "readi": [0, 21, 22, 30], "These": [0, 2, 30], "file": [0, 10, 16, 20], "header": 0, "inform": [0, 2, 20, 21, 22, 23, 27, 30], "allow": [0, 2, 16, 17, 19, 20, 22, 23, 24, 27, 29, 30], "determin": [0, 16, 19, 26], "appropri": [0, 27, 30], "default": [0, 6, 16, 20, 22, 27, 30], "simpli": [0, 30], "name": [0, 2, 4, 5, 7, 8, 16, 19, 20, 23, 25, 27, 28, 30], "handl": [0, 16, 23, 30], "all": [0, 2, 4, 6, 16, 17, 19, 20, 21, 23, 24, 27, 29, 30, 32], "than": [0, 18, 19, 27, 30], "grib": [0, 16, 18], "ingestgrib": 0, "after": [0, 16, 20, 22, 29, 30], "write": 0, "metadata": 0, "databas": [0, 16, 23, 27], "via": [0, 3, 16], "postgr": [0, 23], "save": [0, 16], "A": [0, 2, 3, 4, 6, 16, 19, 24, 26, 30], "third": 0, "feed": 0, "stop": 0, "command": 0, "script": 0, "etc": [0, 16, 19, 22], "rc": 0, "d": [0, 15, 16, 17, 19, 22, 24, 27, 28, 30], "init": 0, "edex_camel": 0, "tool": 0, "contain": [0, 16, 22, 27], "number": [0, 8, 16, 18, 23, 30], "differ": [0, 16, 17, 18, 21, 23, 24, 27, 29, 30], "configur": 0, "call": [0, 16, 18, 20, 23, 27, 30, 32], "perspect": 0, "d2d": 0, "two": [0, 16, 18, 22, 23, 24, 27, 30, 32], "dimension": 0, "gfe": [0, 4, 5, 16, 21], "graphic": 0, "editor": 0, "ncp": 0, "sh": [0, 21, 24], "modern": 0, "version": 0, "design": [0, 20], "present": 0, "variou": [0, 22, 23, 27], "notif": 0, "error": [0, 16, 21, 27], "alarm": 0, "can": [0, 3, 16, 17, 18, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "execut": 0, "either": [0, 16, 21, 27, 32], "independ": 0, "itself": [0, 16], "within": [0, 2, 4, 16, 23], "requir": [0, 2, 16, 20, 23], "toolbar": 0, "also": [0, 3, 15, 16], "hidden": 0, "view": [0, 24], "access": [0, 2, 6, 16, 18, 21, 23, 27, 30], "right": [0, 20], "click": 0, "desktop": 0, "taskbar": 0, "icon": 0, "www": 0, "ucar": [0, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32], "edu": [0, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32], "local": [0, 16, 20], "manag": [0, 16, 32], "support": [0, 2, 3, 4, 32], "suit": 0, "fundament": 0, "compris": 0, "internet": 0, "idd": 0, "provid": [0, 2, 16, 23, 30, 32], "grid": [0, 2, 4, 6, 9, 16, 19, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31], "surfac": [0, 16, 19, 21, 22, 28, 31], "observ": [0, 27], "upper": [0, 21, 24, 31], "air": [0, 21, 24, 27, 31], "profil": [0, 16, 21, 24, 29], "satellit": [0, 16, 20, 21, 31], "radar": [0, 2, 4, 10, 16, 21, 31], "imageri": [0, 20, 21, 26, 31], "meteorolog": [0, 32], "dataset": [0, 21, 23, 27, 32], "directli": [0, 17, 20, 22, 23, 24, 27, 29], "avail": [0, 2, 6, 16, 18, 19, 20, 23, 30], "edex_ldm": 0, "invok": 0, "ldmd": 0, "conf": 0, "post": 0, "apach": 0, "org": [0, 22, 30], "queue": 0, "processor": 0, "interfac": [0, 22, 30], "daemon": 0, "facilit": 0, "between": [0, 16, 18, 19, 20, 24, 27, 30], "receiv": [0, 24, 29], "emploi": 0, "ha": [0, 16, 20, 22, 23, 24, 27, 30], "finish": 0, "further": 0, "qpidd": 0, "known": [0, 20, 32], "relat": [0, 17], "dbm": 0, "retriev": [0, 4, 6, 27, 29], "tabl": 0, "some": [0, 16, 21, 24, 27, 29], "read": [0, 18, 21], "mai": [0, 16, 18, 20, 24, 27, 29], "queri": [0, 16, 19, 20, 23], "termain": 0, "base": [0, 6, 16, 17, 20, 23, 24, 25, 27, 28, 30], "front": 0, "psql": 0, "edex_postgr": 0, "hdfgroup": 0, "hierarch": 0, "format": [0, 21, 24], "v": [0, 16, 19, 22, 24, 27, 29], "5": [0, 25, 26, 27, 28], "similar": [0, 16, 17, 27, 30], "netcdf": [0, 20], "multipl": [0, 16, 20, 21, 23, 27], "singl": [0, 2, 16, 19, 20, 21, 23], "For": [0, 16, 17, 20, 21, 23], "exampl": [0, 2, 15, 16, 18, 20, 21, 23, 24, 25, 27, 28, 29, 30], "volum": 0, "scan": [0, 15, 25], "reflect": [0, 25], "veloc": [0, 25], "well": [0, 16, 18, 22, 27, 30, 32], "deriv": [0, 16, 25, 28], "composit": [0, 20, 25, 28], "python": [0, 2, 3, 16, 17, 18, 20, 21, 22, 23, 24, 27, 28, 29, 30], "isol": 0, "enhanc": [0, 25], "wa": [0, 16, 19, 24, 27], "creat": [0, 2, 16, 17, 18, 19, 20, 22, 24, 26, 27, 29, 32], "e": [0, 16, 24, 27, 28], "sens": 0, "function": [0, 16, 21], "being": [0, 4, 16, 27, 30], "written": [0, 16, 19, 20], "sent": [0, 17], "implement": [0, 2], "part": [0, 16], "1": [0, 15, 19, 25, 26, 27, 28], "2": [0, 15, 19, 25, 26, 27, 28], "logger": 0, "coordin": [0, 9, 16, 18], "log": [0, 24, 29], "awip": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "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], "getavailabletim": [1, 2, 12, 14, 15, 16, 18, 19, 20, 21, 24, 25, 26, 28, 29], "reftimeonli": [1, 2, 12], "fals": [1, 2, 18, 20, 23, 25, 27, 28, 30], "changeedexhost": [2, 6, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "newhostnam": 2, "chang": [2, 6, 16, 23, 24], "edex": [2, 6, 15, 16, 18, 19, 25, 26, 28, 32], "host": [2, 5, 6, 11, 12], "framework": [2, 6], "nativ": [2, 3, 16, 20], "otherwis": 2, "method": [2, 16, 20, 21, 30], "throw": [2, 16], "typeerror": [2, 3, 22], "arg": [2, 3, 4, 6, 7, 8, 10, 16, 18], "connect": [2, 6], "getavailablelevel": [2, 12, 14, 15, 19, 21, 25], "get": [2, 4, 7, 8, 9, 10, 16, 17, 18, 19, 23, 28], "match": [2, 16], "actual": [2, 16, 20, 30], "find": [2, 21, 30], "return": [2, 3, 4, 6, 7, 8, 9, 10, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "list": [2, 4, 6, 7, 8, 16, 19, 22, 24, 25, 27, 28, 29], "string": [2, 4, 7, 8, 9, 10, 16, 19, 22, 30], "getavailablelocationnam": [2, 12, 14, 15, 16, 20, 21, 24, 25, 28, 29], "locat": [2, 4, 7, 16, 18, 23, 30], "getavailableparamet": [2, 12, 14, 15, 21, 25, 28, 30], "paramet": [2, 4, 6, 8, 9, 12, 16, 18, 19, 24, 30, 31], "time": [2, 3, 6, 7, 12, 15, 16, 19, 20, 23, 25, 26, 28], "idatarequest": [2, 14, 16, 20, 22, 27, 30], "option": [2, 6, 16, 21, 24, 28, 29, 30], "true": [2, 15, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30], "uniqu": [2, 22, 30], "reftim": [2, 20, 24, 29, 30], "should": [2, 16, 27], "forecasthr": [2, 24], "datatim": [2, 6, 16, 20, 21, 29], "getforecastrun": [2, 14, 15, 18, 19, 21, 24, 26], "cycl": [2, 15, 17, 18, 19, 20, 21, 22, 24, 25, 26, 30], "latest": [2, 19, 28, 30], "object": [2, 3, 4, 6, 16], "respons": [2, 15, 17, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30], "refer": [2, 4, 16, 20, 21, 23, 24, 30], "arrai": [2, 9, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 29, 30], "getgeometrydata": [2, 12, 14, 15, 16, 17, 21, 22, 23, 24, 27, 29, 30], "geometri": [2, 4, 8, 16, 17, 19, 23, 26, 27], "specifi": [2, 6, 8, 16, 20, 21, 23], "each": [2, 16, 17, 20, 22, 23, 24, 27, 29, 30], "combin": [2, 16, 20, 23, 27], "igeometrydata": [2, 16], "timerang": [2, 3, 6, 16, 17, 19, 22, 27, 30], "none": [2, 5, 6, 7, 9, 12, 18, 20, 22, 23, 26, 27, 28, 30], "agnost": [2, 16], "getgriddata": [2, 12, 14, 15, 16, 18, 20, 21, 23, 25, 26, 28], "igriddata": [2, 16], "getidentifiervalu": [2, 12, 14, 15, 20, 28], "identifierkei": [2, 12], "valu": [2, 4, 7, 8, 11, 16, 17, 20, 22, 23, 24, 26, 27, 30], "particular": [2, 16, 24, 29], "identifi": [2, 4, 16, 18, 20, 23, 24, 27, 28, 29], "datatyp": [2, 4, 12, 18, 20, 21, 23, 27, 28], "getmetarob": [2, 14, 17, 27], "ob": [2, 4, 15, 16, 17, 21, 22, 23, 24, 29, 30, 31], "dictionari": [2, 4, 6, 27, 30], "special": [2, 16], "consider": 2, "multi": 2, "presweath": [2, 27], "skycov": [2, 22, 27], "skylayerbas": [2, 27], "dal": 2, "getgeometri": [2, 8, 15, 16, 23, 24, 27, 29, 30], "metar": [2, 16, 17, 31], "getoptionalidentifi": [2, 12, 14, 20, 28], "getradarproductid": [2, 14, 25], "availableparm": [2, 25], "numer": 2, "idetifi": 2, "nexrad3": 2, "full": [2, 15, 16, 21, 23, 28, 29, 30], "filter": [2, 21], "getradarproductnam": [2, 14, 25], "getrequiredidentifi": [2, 12, 14], "must": [2, 3, 16, 20, 24, 27], "set": [2, 4, 16, 17, 18, 20, 23, 27, 28, 30], "succe": 2, "getsupporteddatatyp": [2, 12, 14, 21], "getsynopticob": [2, 14, 27], "sfcob": [2, 16, 21, 27], "synop": [2, 16, 27], "newdatarequest": [2, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "kwarg": [2, 12], "new": [2, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 32], "instanc": [2, 6, 20, 21, 22], "suitabl": 2, "runtim": 2, "exist": [2, 16, 17, 20, 23], "sole": 2, "conveni": [2, 16], "locationnam": [2, 4, 12, 16, 18, 27], "envelop": [2, 4, 12, 16, 17, 18, 19, 23, 26, 27], "limit": [2, 16, 17, 20, 24, 27, 29], "leftov": 2, "setlazyloadgridlatlon": [2, 12, 14], "lazyloadgridlatlon": [2, 12], "hint": 2, "indic": [2, 16, 24], "whether": [2, 20, 30], "load": 2, "lat": [2, 6, 9, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 30], "lon": [2, 6, 9, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 30], "immedi": 2, "wait": 2, "until": 2, "need": [2, 16, 18, 20, 21, 22, 23, 24, 29, 30, 32], "perform": [2, 3, 6, 16, 19], "tune": [2, 16], "affect": [2, 17], "wai": [2, 16, 22, 26, 30], "depend": [2, 16, 20, 21, 23, 24], "intern": 2, "might": [2, 21, 32], "ignor": [2, 16, 17, 25, 27], "certain": [2, 16], "condit": 2, "met": [2, 16], "It": [2, 16, 29, 30], "could": [2, 16, 20], "guarante": 2, "would": [2, 16, 30], "better": 2, "overhead": 2, "gener": [2, 16, 26], "out": [2, 16, 21, 22, 24, 27, 29, 30, 32], "dure": [2, 18, 24, 29, 30], "initi": 2, "boolean": [2, 10, 22, 30], "lazi": 2, "constructtimerang": [3, 14], "build": [3, 16, 29], "dynamicseri": [3, 17, 18, 22, 27, 30], "given": [3, 6, 21], "argument": [3, 27], "pair": [3, 6, 17], "convert": [3, 16, 18, 19, 20, 27, 30], "datetim": [3, 10, 17, 19, 20, 22, 24, 27, 28, 29, 30], "converttodatetim": [3, 14], "timearg": 3, "represent": 3, "like": [3, 16, 21], "struct_tim": 3, "date": 3, "timestamp": 3, "rais": [3, 19], "convers": 3, "repres": [3, 16], "float": [3, 8, 16, 17, 19, 20, 22, 27], "int": [3, 8, 16, 17, 22, 23, 26, 27], "long": [3, 8, 16, 24], "same": [3, 16, 20, 23, 24, 27, 28], "pass": [3, 16, 20], "class": [4, 5, 7, 8, 9, 11, 12, 16, 19, 21, 25], "submit": 4, "dataaccesslay": [4, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "__weakref__": 4, "weak": 4, "defin": [4, 21, 22, 23, 24, 28, 29, 30], "abstract": [4, 16], "addidentifi": [4, 15, 16, 20, 23, 24, 27, 28], "kei": [4, 6, 7, 16, 30], "add": [4, 16, 17, 20, 22, 24, 27, 29, 30], "getdatatyp": [4, 16], "getenvelop": [4, 16], "rectangular": [4, 16], "shape": [4, 8, 15, 16, 17, 19, 21, 23, 25, 26, 27, 28, 30], "getidentifi": [4, 16], "getlevel": [4, 7, 16, 18, 25], "getlocationnam": [4, 7, 15, 16, 18, 21, 24, 25, 26, 29], "setdatatyp": [4, 15, 16, 18, 20, 21, 28, 29, 30], "setenvelop": [4, 16], "env": [4, 16, 18, 32], "If": [4, 6, 16, 18, 19, 20, 21, 22, 30, 32], "factori": 4, "constrain": 4, "setlevel": [4, 15, 16, 18, 21, 25, 26], "Not": [4, 16, 21], "abbrevi": [4, 8, 9], "setlocationnam": [4, 15, 16, 18, 19, 20, 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], "param": [4, 8, 16, 17, 21, 22, 30], "port": [5, 11], "site": [5, 15, 18, 21, 23, 24, 29], "prognam": 5, "commitgrid": 5, "getgridinventori": 5, "parmid": 5, "getparmlist": 5, "pid": 5, "getselecttr": 5, "getsiteid": 5, "getsound": [6, 14, 19], "modelnam": [6, 16, 19], "weatherel": 6, "samplepoint": 6, "seri": 6, "sound": [6, 21, 31], "model": [6, 18, 21, 28, 29, 31], "datasetid": [6, 16], "basi": 6, "sampl": [6, 23], "element": [6, 9, 21, 22], "hour": [6, 22, 25, 27, 28, 30], "_soundingcub": 6, "act": 6, "3": [6, 19, 25, 26, 27, 28], "tier": 6, "final": [6, 17, 18, 20, 22, 27, 30], "datarecord": 7, "getattribut": [7, 16], "attribut": [7, 16, 22, 23], "valid": [7, 18, 25, 26], "getdatatim": [7, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30], "geodatarecord": 8, "getnumb": [8, 16, 22, 23, 24, 27, 29], "getparamet": [8, 9, 16, 18, 21, 22, 24, 25, 28, 29], "getstr": [8, 16, 22, 23, 27, 29, 30], "gettyp": [8, 16], "doubl": 8, "getunit": [8, 9, 16, 21, 25, 29], "unit": [8, 9, 16, 17, 19, 21, 22, 24, 25, 26, 27], "griddatarecord": 9, "nx": [9, 12], "ny": [9, 12], "latlongrid": 9, "latlondeleg": 9, "getlatloncoord": [9, 15, 18, 21, 23, 25, 26, 28], "tupl": 9, "where": [9, 16, 19, 20, 21, 24, 26, 30], "first": [9, 16, 17, 20, 22, 23, 24, 27, 28, 29, 30], "numpi": [9, 15, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "second": [9, 21, 24, 28, 30], "getrawdata": [9, 15, 16, 18, 20, 21, 23, 25, 26, 28], "encode_dep_v": [10, 14], "depval": 10, "encode_radi": [10, 14], "azval": 10, "encode_thresh_v": [10, 14], "threshval": 10, "get_data_typ": [10, 14], "azdat": 10, "radial": 10, "raster": 10, "get_datetime_str": [10, 14], "record": [10, 16, 17, 19, 22, 23, 27, 29, 30], "get_hdf5_data": [10, 14, 15], "idra": [10, 15], "get_head": [10, 14], "headerformat": 10, "xlen": 10, "ylen": 10, "descript": [10, 30], "9581": 11, "uri": 11, "sendrequest": 11, "thrift": 11, "except": [11, 16, 21, 22, 24], "thriftrequestexcept": [11, 14], "lazygridlatlon": [12, 14], "crswkt": 12, "localhost": 12, "getnotificationfilt": 12, "determinedrtoffset": [13, 14], "timestr": 13, "maketim": [13, 14], "pydata": 14, "pygriddata": [14, 18, 23], "pygeometrydata": [14, 24, 29], "modelsound": [14, 19, 21, 24], "thriftclientrout": 14, "thriftclient": [14, 16, 19], "timeutil": 14, "radarcommon": [14, 15], "ifpclient": 14, "datetimeconvert": 14, "combinedtimequeri": 14, "index": [14, 28], "contrust": [15, 28], "tree": [15, 28], "cloud": [15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "unidata": [15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32], "creatingent": [15, 20, 28], "print": [15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "availablesector": [15, 28], "sort": [15, 21, 24, 25, 28, 29, 30], "sector": [15, 20, 26], "availableproduct": [15, 28], "point": [15, 16, 19, 20, 21, 23, 24, 26, 27, 29], "65": [15, 17, 24, 26, 30], "65293884277344": 15, "16": [15, 17, 18, 21, 24, 25, 26, 27, 30], "94915580749512": 15, "glm": 15, "glmgr": 15, "intens": 15, "10": [15, 17, 20, 22, 25, 26, 27, 28, 29, 30], "geom": [15, 24, 27, 29, 30], "rap13": [15, 18, 19, 21], "t": [15, 16, 18, 20, 21, 24, 29], "0fhag": [15, 18, 19, 21], "fcstrun": [15, 18, 19, 21, 24, 26], "multipolygon": [15, 23, 27, 30], "polygon": [15, 16, 17, 19, 23, 26, 27, 30], "92": [15, 27, 28], "092348410": 15, "46": 15, "782322971": 15, "90": [15, 21, 27], "948581075": 15, "992865960": 15, "274543999": 15, "652773000": 15, "280511999": 15, "656933000": 15, "285491999": 15, "660741000": 15, "phensig": 15, "50": [15, 19, 21, 22, 23, 25, 26], "poli": [15, 30], "pd": 15, "getvalidperiod": [15, 24, 29], "ref": [15, 16, 30], "getreftim": [15, 18, 19, 20, 21, 24, 25, 26, 28, 29, 30], "kmhx": [15, 24, 25], "digit": [15, 25], "hybrid": [15, 25], "refl": [15, 25], "availablelevel": [15, 19, 25], "have": [16, 21, 22, 24, 27, 29, 30, 32], "those": [16, 17, 20, 23, 24], "custom": [16, 22], "individu": [16, 20], "plug": 16, "ins": 16, "pertin": 16, "often": [16, 24, 29], "dataplugin": [16, 18], "alwai": 16, "clean": [16, 19], "both": [16, 18, 23, 25, 29], "cave": [16, 17, 32], "": [16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32], "idatafactori": 16, "eas": 16, "been": [16, 20], "choos": 16, "unsupportedoutputtypeexcept": 16, "let": [16, 18, 20, 24, 29], "know": [16, 18, 20, 22, 24, 29], "come": [16, 17, 20, 22, 23, 24, 27, 29, 30], "helper": 16, "make": [16, 17, 18, 27], "easier": 16, "plugindataobject": 16, "abstractdatapluginfactori": 16, "everyth": 16, "scratch": 16, "manner": 16, "felt": 16, "necessari": [16, 22, 23, 24, 27, 29, 30], "power": [16, 28], "mean": 16, "doe": [16, 24], "anyth": 16, "underli": 16, "To": [16, 17, 20, 27], "satellitegridfactori": 16, "radargridfactori": 16, "correspond": [16, 29, 30], "what": [16, 19, 20, 21, 22, 24, 29, 30], "binoffset": 16, "abov": [16, 18, 19, 21, 23, 27, 29, 30], "bin": 16, "offset": [16, 20, 23], "note": [16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30], "preced": 16, "timeagnosticdataexcept": 16, "There": [16, 19], "rang": [16, 17, 20, 22, 24, 25, 30], "incompatiblerequestexcept": 16, "thrown": 16, "ad": [16, 18, 27, 30], "spring": 16, "bean": 16, "id": [16, 20, 22, 23, 28, 29], "uf": [16, 17, 18, 22, 27, 30], "dataaccessregistri": 16, "factorymethod": 16, "constructor": 16, "registri": 16, "more": [16, 17, 18, 20, 21, 22, 27, 30], "divers": 16, "layer": [16, 21, 25], "current": [16, 30], "veri": [16, 27, 30], "want": [16, 17, 20, 21, 22, 30], "bundl": 16, "manifest": 16, "mf": 16, "import": [16, 19, 25, 26, 28], "req": 16, "2fhag": [16, 21], "info": [16, 27], "gfs40": 16, "idata": 16, "defaultdatarequest": [16, 18, 27], "futur": 16, "implent": 16, "found": [16, 17, 19, 21, 25, 27], "section": [16, 22, 23, 24, 29, 30], "case": [16, 18, 20, 21, 23, 24, 29], "mathemat": 16, "angl": 16, "height": [16, 18, 20, 21, 23, 28, 29], "fine": 16, "respect": [16, 18], "languag": 16, "py": [16, 18], "becaus": [16, 20, 21, 22, 23, 24, 29], "best": [16, 24], "undocu": 16, "hazard": 16, "technic": 16, "baselin": 16, "2016": 16, "hydro": 16, "shef": 16, "acar": [16, 21], "airep": [16, 21], "pirep": [16, 21], "map": [16, 17, 21, 22, 26, 28, 30, 31], "you": [16, 18, 20, 21, 24, 27, 29, 30, 32], "look": [16, 18, 20, 21, 23, 29, 30], "binlightn": [16, 21], "sfc": [16, 27, 28], "ffmp": 16, "bufrua": [16, 21, 29], "moddelsound": 16, "ldadmesonet": 16, "pointdata": 16, "hierarchi": 16, "abstractgriddatapluginfactori": 16, "abstractgeometrydatabasefactori": 16, "abstractgeometrytimeagnosticdatabasefactori": 16, "content": 16, "document": [16, 21], "attach": [16, 22, 27], "slightli": [16, 22], "geospati": 16, "river": 16, "gage": 16, "basin": 16, "airmet": 16, "hide": 16, "detail": [16, 21, 30], "worri": 16, "about": [16, 21, 24], "structur": 16, "suggest": 16, "one": [16, 18, 20, 21, 22, 23, 27, 30], "below": [16, 17, 20, 21, 22, 23, 24, 27, 29, 30, 32], "definit": [16, 23, 30], "expand": 16, "dream": 16, "up": [16, 20, 23, 24, 29, 32], "interpret": [16, 18], "state": [16, 17, 20, 22, 23, 27, 28], "counti": [16, 23], "zone": 16, "db": 16, "ihf": 16, "warn": [16, 17, 18, 21, 23, 25, 27, 31], "ccfp": 16, "around": [16, 17, 18], "concept": 16, "interact": 16, "expect": 16, "them": [16, 17, 22, 27], "automat": [16, 24], "rest": [16, 23], "rout": 16, "style": [16, 30], "architectur": 16, "effect": 16, "enabl": [16, 23], "capabl": 16, "alter": 16, "increment": [16, 19, 24, 29], "becom": [16, 23], "break": 16, "api": 16, "plan": 16, "retrofit": 16, "cosd": 16, "ideal": 16, "improv": 16, "maintain": 16, "pecif": 16, "hook": 16, "idatastor": 16, "iserverrequest": 16, "complet": 16, "understood": [16, 23], "three": [16, 20, 24], "wish": [16, 20, 21], "instanti": [16, 22], "igridrequest": 16, "extend": [16, 23, 25, 29], "igeometryrequest": 16, "defaultgridrequest": 16, "defaultgeometryrequest": 16, "howev": [16, 27, 30], "prepar": 16, "gfegriddata": 16, "d2dgriddata": 16, "satellitegriddata": 16, "few": [16, 20, 21, 22, 27, 30], "distinct": 16, "project": [16, 17, 18, 20, 22, 23, 25, 26, 27, 28, 30], "raw": [16, 18, 20], "latitud": [16, 17, 18, 19, 22, 23, 27], "longitud": [16, 17, 18, 19, 22, 23, 27], "pure": 16, "jep": 16, "pyjobject": 16, "wrap": 16, "goal": 16, "app": 16, "therefor": 16, "outsid": 16, "go": [16, 18, 21, 22, 24], "familiar": 16, "scope": 16, "huge": 16, "undertak": 16, "anoth": [16, 20, 21, 23], "igridfactori": 16, "igeometryfactori": 16, "desir": [16, 20, 22], "furthermor": 16, "stack": 16, "top": [16, 17, 18, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30], "griddatafactori": 16, "while": [16, 24, 27, 30], "calcul": [16, 18, 22, 26, 29], "befor": [16, 21, 30], "mapgeometryfactori": 16, "u": [16, 17, 18, 19, 20, 22, 23, 24, 27, 29, 30], "unsupportedoperationexcept": 16, "javadoc": 16, "obsgeometryfactori": 16, "field": [16, 23, 29], "writer": [16, 31], "mind": 16, "reason": 16, "behavior": 16, "reduc": 16, "amount": [16, 27, 28], "action": 16, "g": [16, 19, 20, 24, 29], "handler": 16, "serverrequestrout": 16, "regardless": 16, "jvm": 16, "insid": [16, 23], "onc": [16, 21], "done": [16, 20, 30], "xml": 16, "folder": [16, 20], "word": 16, "satellitefactori": 16, "satellitefactoryregist": 16, "datafactoryregistri": 16, "everi": [16, 17], "lookup": [16, 30], "deleg": 16, "result": [16, 17, 27], "back": 16, "caller": 16, "By": [16, 17, 20, 22, 27, 30], "abl": [16, 17, 24], "understand": [16, 18, 29], "avoid": [16, 27], "continu": [16, 24, 25, 28, 29], "essenti": 16, "useless": 16, "task": 16, "void": 16, "frequent": 16, "pluginnam": 16, "setstoragerequest": 16, "datastorag": 16, "slab": 16, "line": [16, 19, 20, 22, 23, 24, 27, 29, 30], "faster": 16, "less": [16, 19], "getstoragerequest": 16, "No": [16, 24, 25], "bound": [16, 17, 18, 22, 23, 24, 27, 30], "box": [16, 17, 18, 26, 30], "search": 16, "icao": 16, "airport": [16, 24, 29], "stationid": [16, 27], "instead": 16, "null": 16, "gridgeometry2d": 16, "getgridgeometri": 16, "datadestin": 16, "populatedata": 16, "destin": 16, "floatarraywrapp": 16, "bytebufferwrapp": 16, "memori": 16, "attempt": 16, "popul": [16, 21, 23, 24, 29, 30], "enum": 16, "correl": [16, 25, 30], "made": [16, 17, 20, 22, 23, 24, 29, 30], "getdata": 16, "replac": [16, 19], "getlatcoord": 16, "getloncoord": 16, "cell": [16, 18, 23, 24, 27, 29, 30], "r": [16, 19, 20, 24, 29], "igriddatafactori": 16, "subset": [16, 17], "move": 16, "don": [16, 20, 24], "igeometrydatafactori": 16, "notebook": [17, 19, 23, 25, 26, 28, 32], "tutori": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "gempak": [17, 24], "connnect": 17, "throughout": [17, 20, 21, 22, 23, 24, 27, 29, 30], "subsequ": [17, 18, 20, 22, 23, 24, 27, 29], "dstype": [17, 18, 22, 27, 30], "timedelta": [17, 19, 22, 27, 30], "np": [17, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30], "cartopi": [17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30], "cr": [17, 18, 20, 22, 23, 25, 26, 27, 28, 30], "ccr": [17, 18, 20, 22, 23, 25, 26, 27, 28, 30], "matplotlib": [17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "pyplot": [17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "plt": [17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "metpi": [17, 19, 24, 26, 27, 29, 31], "stationplot": [17, 22, 27], "continent": [17, 18], "conu": [17, 20, 23, 26, 28], "we": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "optim": 17, "bbox": [17, 18, 19, 23, 25, 26, 27, 28, 30], "130": 17, "70": [17, 24], "15": [17, 19, 24, 26, 28, 29], "55": [17, 21], "0": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "establish": [17, 20, 22, 23, 24, 27, 29, 30], "With": [17, 20, 22, 23, 24, 29, 30], "just": [17, 21, 22, 24, 30, 32], "edexserv": [17, 22, 27], "stationnam": [17, 22, 27], "our": [17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32], "so": [17, 18, 20, 21, 22, 24, 27, 29, 30], "last": [17, 21, 22, 27, 30], "minut": [17, 27, 28], "kept": 17, "variabl": [17, 20, 22, 24, 27, 30], "lasthourdatetim": [17, 22, 27, 30], "utcnow": [17, 22, 27, 28, 30], "strftime": [17, 22, 27, 30], "y": [17, 18, 19, 22, 23, 24, 26, 27, 28, 30], "m": [17, 19, 22, 24, 25, 27, 28, 29, 30], "h": [17, 19, 20, 22, 24, 27, 28, 29, 30], "beginrang": [17, 22, 27, 30], "strptime": [17, 22, 27, 28, 30], "endrang": [17, 22, 27, 30], "str": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "len": [17, 18, 19, 23, 25, 27, 28, 30], "total": [17, 23, 25, 26, 28], "1704": 17, "1660": 17, "degre": [17, 18, 22, 27], "celsiu": [17, 29], "c": [17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 32], "fahreheit": 17, "f": [17, 18, 21, 24, 29, 32], "suppress": [17, 27], "nan": [17, 22, 25, 27, 28, 29], "mask": [17, 27, 29], "filterwarn": [17, 25, 27], "categori": [17, 23, 25, 27, 28, 30], "runtimewarn": [17, 25, 27], "tair": 17, "dtype": [17, 19, 22, 27], "9999": [17, 22, 26, 27, 29], "8": [17, 18, 19, 22, 26, 27, 28], "32": [17, 19, 25, 26, 27, 28], "order": [17, 18, 19, 22, 23, 27, 30, 32], "distinguish": [17, 27], "ll": [17, 18, 21, 22, 23, 24, 27, 30, 32], "tip": [17, 20, 23], "try": [17, 21, 22, 24, 27], "plai": [17, 18], "how": [17, 18, 21, 22, 24, 29, 30, 32], "purpl": 17, "25": [17, 21, 26, 29], "35": [17, 21, 22, 24, 28], "royalblu": 17, "45": [17, 19, 21, 26, 28], "darkgreen": [17, 22, 27], "green": 17, "75": [17, 20, 26], "orang": [17, 23], "85": [17, 26, 30], "here": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "segement": 17, "relev": [17, 21], "draw": [17, 20, 22, 24, 26, 29], "segment": 17, "produc": [17, 18, 24, 29, 30], "figur": [17, 18, 19, 20, 22, 24, 27, 28, 29, 30], "fig": [17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 30], "ax": [17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "subplot": [17, 18, 23, 25, 26, 27, 28, 30], "figsiz": [17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30], "12": [17, 19, 21, 23, 24, 26, 27, 28, 29, 30], "subplot_kw": [17, 18, 23, 25, 26, 27, 28, 30], "dict": [17, 18, 22, 23, 25, 26, 27, 28, 30], "lambertconform": [17, 22], "set_ext": [17, 18, 22, 23, 25, 26, 27, 28, 30], "coastlin": [17, 18, 20, 22, 23, 25, 26, 28, 30], "resolut": [17, 18, 20, 23, 25, 26, 28], "50m": [17, 18, 20, 23, 25, 26, 28, 30], "set_titl": [17, 22, 27], "degf": [17, 22, 27, 29], "item": [17, 29, 30], "subtair": 17, "copi": 17, "down": 17, "max": [17, 18, 19, 23, 24, 25, 26, 28, 29], "elif": [17, 19, 20, 22, 27, 30], "min": [17, 18, 19, 23, 25, 26, 28], "els": [17, 19, 20, 21, 22, 25, 26, 27, 30], "station": [17, 27, 29, 31], "transform": [17, 20, 22, 23, 26, 27], "platecarre": [17, 18, 22, 23, 25, 26, 27, 28, 30], "fontsiz": [17, 22, 27, 30], "14": [17, 19, 20, 21, 24, 25, 26, 28, 30], "plot_paramet": 17, "compar": [18, 30], "librari": [18, 22, 30], "mpl": [18, 23, 25, 26, 27, 28, 30], "gridlin": [18, 20, 23, 25, 26, 27, 28, 30], "longitude_formatt": [18, 23, 25, 26, 27, 28, 30], "latitude_formatt": [18, 23, 25, 26, 27, 28, 30], "scipi": 18, "constant": [18, 24, 29], "convert_temperatur": 18, "train": 18, "url": [18, 21], "temperatur": [18, 19, 21, 22, 24, 27, 29, 31], "fix": [18, 21], "ground": [18, 21], "meter": [18, 21, 23], "0x11127bfd0": 18, "mani": [18, 22, 23, 24, 27, 29, 30], "variant": [18, 24, 29], "recent": [18, 22, 24, 27, 29], "74": [18, 26], "easiest": [18, 27, 30], "logic": [18, 23, 24, 27, 30], "axi": [18, 24, 27, 30], "boundari": [18, 20, 21, 27], "along": [18, 21, 23, 30], "def": [18, 20, 22, 23, 25, 26, 27, 28, 30], "9": [18, 19, 24, 26, 27, 28], "gl": [18, 23, 25, 27, 28, 30], "draw_label": [18, 23, 25, 27, 28, 30], "top_label": [18, 23, 25, 27, 28, 30], "right_label": [18, 23, 25, 27, 28, 30], "xformatt": [18, 23, 25, 27, 28, 30], "yformatt": [18, 23, 25, 27, 28, 30], "previou": [18, 23, 24, 27, 29, 30], "kelvin": [18, 19, 27, 29], "farenheit": 18, "temp": [18, 22, 24, 27, 28], "destunit": 18, "k": [18, 21, 24, 29], "show": [18, 19, 21, 22, 24, 25, 28, 29, 30], "scale": [18, 23, 28, 30], "colorbar": [18, 23, 25, 26, 28], "cbar": [18, 23, 25, 26, 28], "label": [18, 24, 30], "appear": [18, 23], "background": 18, "okai": 18, "awai": 18, "cmap": [18, 20, 23, 25, 26, 28], "get_cmap": [18, 23, 25, 26], "rainbow": [18, 25, 26], "shrink": [18, 23, 25, 26, 28], "7": [18, 20, 25, 26, 27, 28], "orient": [18, 23, 25, 26, 28], "horizont": [18, 23, 25, 26, 28], "set_label": [18, 23, 25, 26, 28], "scarter": [18, 20], "opt": 18, "miniconda3": 18, "python3": [18, 32], "lib": 18, "geoax": 18, "1598": 18, "userwarn": 18, "input": 18, "monoton": 18, "increas": [18, 30], "decreas": 18, "lead": 18, "incorrectli": 18, "edg": 18, "pleas": [18, 32], "suppli": 18, "explicit": 18, "shade": 18, "self": 18, "_pcolorarg": 18, "cs2": 18, "cbar2": 18, "fig2": [18, 24], "ax2": 18, "80": [18, 23, 25, 27, 28], "vmin": 18, "vmax": 18, "isobar": 19, "select": [19, 20, 22, 23, 25], "104": [19, 28], "67": [19, 24], "39": [19, 26, 28], "87": [19, 26, 28], "dpt": [19, 21, 27], "uw": [19, 21], "vw": [19, 21], "pressur": [19, 24, 27, 28, 29], "pai": 19, "attent": 19, "switch": [19, 30], "nam": 19, "40km": 19, "dewpoint": [19, 22, 27, 29], "wind": [19, 21, 22, 24, 27, 29], "inlin": [19, 25, 26, 28], "plot": [19, 20, 21, 23, 25], "skewt": [19, 24, 29], "hodograph": [19, 24, 29], "mpl_toolkit": [19, 24, 29], "axes_grid1": [19, 24, 29], "inset_loc": [19, 24, 29], "inset_ax": [19, 24, 29], "math": [19, 24], "sqrt": 19, "wkb": 19, "timeit": 19, "nam40": [19, 21, 26], "parm": [19, 21, 24, 29], "inc": [19, 26], "005": 19, "timereq": 19, "2023": [19, 29], "05": [19, 20, 24, 25, 28, 29], "17": [19, 24, 25, 26, 28], "00": [19, 21, 22, 24, 27, 29], "use_parm": 19, "use_level": 19, "sndobject": 19, "_datadict": 19, "append": [19, 22, 23, 24, 27, 29, 30], "1f": [19, 27], "mb": [19, 21, 29], "valueerror": 19, "empti": [19, 22], "join": 19, "830": 19, "1mb": 19, "levelreq": 19, "fhag": 19, "lvl": [19, 21], "_": 19, "rather": 19, "273": [19, 24, 29], "degc": [19, 22, 24, 27, 29], "knot": [19, 22, 24, 27, 29], "w": [19, 20, 28, 30], "0mb": [19, 21], "rcparam": [19, 29], "rotat": 19, "linewidth": [19, 20, 22, 23, 24, 26, 27, 29], "plot_barb": [19, 24, 29], "plot_dry_adiabat": 19, "plot_moist_adiabat": 19, "plot_mixing_lin": 19, "linestyl": [19, 20, 23, 24, 27, 28, 29], "set_ylim": [19, 24, 29], "1000": [19, 21, 24, 29], "set_xlim": [19, 24, 29], "40": [19, 21, 24], "titl": [19, 22, 24, 27, 29, 30], "ax_hod": [19, 24, 29], "loc": [19, 24, 29, 30], "component_rang": [19, 24, 29], "magnitud": 19, "add_grid": [19, 24, 29], "20": [19, 22, 24, 25, 26, 27, 28, 29, 30], "plot_colormap": [19, 24, 29], "dot": [19, 29], "0c": 19, "isotherm": [19, 24, 29], "l": [19, 20, 21, 24, 28, 29], "axvlin": [19, 24, 29], "color": [19, 20, 21, 22, 23, 24, 27, 29, 30, 31], "gfs20": [19, 21], "100": [19, 21, 24, 29], "833": 19, "8mb": 19, "30": [19, 21, 26, 28, 29], "839": 19, "9mb": 19, "22": [19, 23, 24, 26, 27], "18": [19, 24, 25, 26, 27, 28], "829": 19, "4mb": 19, "4": [19, 26, 27, 28], "goes16": 20, "resiz": 20, "band": 20, "channel": 20, "rgb": 20, "featur": [20, 22, 23, 27, 28, 30], "cfeat": [20, 28], "extent": [20, 23, 27, 28], "econu": [20, 28], "wconu": 20, "globe": 20, "semimajor_axi": 20, "6378137": 20, "semiminor_axi": 20, "6356752": 20, "ellips": 20, "sat_h": 20, "35785830": 20, "proj": [20, 22, 27], "geostationari": 20, "central_longitud": [20, 22], "satellite_height": 20, "sweep_axi": 20, "coord": [20, 24], "origin": 20, "3626751": 20, "1382263": 20, "1583666": 20, "4588674": 20, "dimens": 20, "pixel": 20, "size": [20, 24, 25, 28, 30], "inch": [20, 26, 27], "confus": 20, "pad": [20, 30], "exact": [20, 24], "buffer": [20, 23, 27], "width": 20, "dpi": 20, "get_dpi": 20, "gca": 20, "remov": [20, 24, 30], "subplotpar": 20, "left": [20, 29], "b": [20, 24], "bottom": [20, 30], "figw": 20, "figh": 20, "set_size_inch": 20, "write_imag": 20, "next": [20, 22, 30], "footnot": 20, "Then": [20, 22, 30], "onto": 20, "addition": [20, 22], "short": 20, "disk": 20, "5000x4000": 20, "feel": [20, 32], "keep": [20, 22, 23, 30], "ratio": [20, 24], "though": 20, "px_width": 20, "5000": [20, 21, 23], "px_height": 20, "3000": [20, 21], "proper": 20, "imshow": 20, "grai": 20, "magenta": 20, "add_featur": [20, 22, 23, 27, 28, 30], "edgecolor": [20, 23, 24, 26, 27, 30], "cyan": 20, "xloc": 20, "arang": 20, "180": [20, 28], "footnotestr": 20, "annot": [20, 23], "xycoord": 20, "fraction": 20, "textcoord": [20, 23], "va": 20, "savefig": 20, "bbox_inch": 20, "tight": 20, "pad_inch": 20, "exactli": [20, 24, 29], "loop": [20, 22, 30], "pick": [20, 21], "east": [20, 28], "cldsnow": 20, "dbrdust": 20, "geocolr": 20, "rbg": 20, "gather": [20, 22, 30], "ch1": 20, "ch": [20, 28], "01": [20, 21, 28], "47um": [20, 28], "ch2": 20, "02": [20, 28], "64um": [20, 28], "ch3": 20, "03": [20, 28], "87um": [20, 28], "directori": 20, "live": 20, "whereev": 20, "fulli": 20, "qualifi": 20, "longer": [20, 22, 30], "outputdir": 20, "test_dir": 20, "check": [20, 30], "makedir": 20, "reset": 20, "hasn": 20, "proce": 20, "pull": [20, 22, 27, 30], "grab": [20, 22, 27], "png": 20, "clip": 20, "dstack": 20, "rgbname": 20, "2021": [20, 21], "28": [20, 26, 27, 28], "06": [20, 21, 28], "51": [20, 25, 26, 28], "56": [20, 25, 28], "432x288": 20, "quick": 20, "guid": 20, "debra": 20, "dust": 20, "snow": [20, 21], "geocolor": 20, "cover": [21, 22, 24], "investig": [21, 24, 29], "global": 21, "forcast": 21, "gf": [21, 24], "talk": 21, "quit": 21, "bit": 21, "util": 21, "onlin": 21, "help": [21, 22, 27, 29, 30], "your": 21, "edex_url": 21, "offer": 21, "bufrmosavn": 21, "bufrmoseta": 21, "bufrmosgf": 21, "bufrmoshpc": 21, "bufrmoslamp": 21, "bufrmosmrf": 21, "climat": 21, "common_obs_spati": 21, "gfeeditarea": 21, "practicewarn": 21, "radar_spati": 21, "topo": [21, 23], "now": [21, 22, 23, 24, 26, 27, 29, 30], "mrm": 21, "grid_request": 21, "geograph": [21, 23, 32], "nw": [21, 22, 27, 30], "although": 21, "someth": [21, 30], "output": 21, "grid_loc": 21, "autosp": 21, "cmc": 21, "estof": 21, "etss": 21, "ffg": 21, "alr": 21, "fwr": 21, "krf": 21, "msr": 21, "orn": 21, "ptr": 21, "rha": 21, "rsa": 21, "tar": 21, "tir": 21, "tua": 21, "fnmoc": 21, "ncoda": 21, "ww3": 21, "gfs1p0": 21, "hfr": 21, "east_6km": 21, "east_pr_6km": 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, "west_6km": 21, "hpcguid": 21, "hpcqpfndfd": 21, "hrrr": [21, 26], "lamp2p5": 21, "mrms_0500": 21, "mrms_1000": 21, "nam12": 21, "nohrsc": 21, "rtma": 21, "rtof": 21, "westatl": 21, "westconu": 21, "spcguid": 21, "seaic": 21, "tpcwindprob": 21, "urma25": 21, "navgem0p5": 21, "interest": [21, 24, 27, 29, 31, 32], "20km": 21, "grid_param": 21, "36shrmi": 21, "50dbzz": 21, "av": 21, "appt": 21, "bli": 21, "brn": 21, "brnehii": 21, "brnshr": 21, "brnmag": 21, "brnvec": 21, "bdept06": 21, "blkmag": 21, "blkshr": 21, "cape": [21, 28], "cfrzr": 21, "cfrzr3hr": 21, "cfrzr6hr": 21, "cicep": 21, "cicep3hr": 21, "cicep6hr": 21, "cin": 21, "cp": 21, "cp3hr": 21, "cp6hr": 21, "cpr": 21, "cprd": 21, "crain": 21, "crain3hr": 21, "crain6hr": 21, "csnow": 21, "csnow3hr": 21, "csnow6hr": 21, "curu": 21, "capestk": 21, "corf": 21, "corff": 21, "corffm": 21, "corfm": 21, "critt1": 21, "cumnrm": 21, "cumshr": 21, "divf": 21, "divfn": 21, "dpd": 21, "ehi": 21, "ehi01": 21, "ehii": 21, "emsp": 21, "ept": 21, "epta": 21, "eptc": 21, "eptgrd": 21, "eptgrdm": 21, "epvg": 21, "epv": 21, "epvt1": 21, "epvt2": 21, "esp": 21, "esp2": 21, "fvec": 21, "fnvec": 21, "fsvec": 21, "fzra1": 21, "fzra2": 21, "gh": 21, "ghxsm": 21, "ghxsm2": 21, "gvv": 21, "hi": 21, "hi1": 21, "hi3": 21, "hi4": 21, "hidx": 21, "heli": 21, "helic": 21, "inv": 21, "iplay": 21, "Into": 21, "ki": [21, 28], "lisfc2x": 21, "lm5": 21, "lm6": 21, "madv": 21, "mcon": 21, "mcon2": 21, "mllcl": 21, "mmp": 21, "msfdi": 21, "msfi": 21, "msfmi": 21, "msg": 21, "mtv": [21, 24], "mix1": 21, "mix2": 21, "mmag": 21, "mnt3hr": 21, "mnt6hr": 21, "mpv": 21, "mxt3hr": 21, "mxt6hr": 21, "nbe": 21, "nst": 21, "nst1": 21, "nst2": 21, "p": [21, 24, 28, 29], "p3hr": 21, "p6hr": 21, "padv": 21, "pbe": 21, "pec": 21, "pfrnt": 21, "pgrd": 21, "pgrd1": 21, "pgrdm": 21, "piva": 21, "ptva": 21, "ptyp": 21, "pw": [21, 28], "pw2": 21, "pot": 21, "pota": 21, "qpv1": 21, "qpv2": 21, "qpv3": 21, "qpv4": 21, "rh": [21, 24], "rh_001_bin": 21, "rh_002_bin": 21, "rm5": 21, "rm6": 21, "rmprop": 21, "rmprop2": 21, "rv": 21, "rain1": 21, "rain2": 21, "rain3": 21, "ro": 21, "shx": 21, "sli": 21, "snsq": 21, "snw": 21, "snwa": 21, "srml": 21, "srmlm": 21, "srmm": 21, "srmmm": 21, "srmr": 21, "srmrm": 21, "ssp": 21, "ssi": 21, "stp": 21, "stp1": 21, "shear": 21, "shrmag": 21, "snow1": 21, "snow2": 21, "snow3": 21, "snowt": 21, "st": 21, "pr": [21, 24], "strtp": 21, "strmmot": 21, "sucp": 21, "tadv": 21, "tgrd": 21, "tgrdm": 21, "tori": 21, "tori2": 21, "tp": [21, 26], "tp3hr": 21, "tp6hr": 21, "tqind": 21, "tshrmi": 21, "tv": 21, "tw": 21, "t_001_bin": 21, "tdef": 21, "tdend": 21, "thgrd": 21, "thom5": 21, "thom5a": 21, "thom6": 21, "tmdpd": 21, "tmax": 21, "tmin": 21, "totqi": 21, "tstk": 21, "twmax": 21, "twmin": 21, "twstk": 21, "txsm": 21, "vadv": 21, "vadvadvect": 21, "vgp": 21, "vss": 21, "wcd": 21, "wd": 21, "weasd": 21, "wndchl": 21, "ageow": 21, "ageowm": 21, "ccape": 21, "ccin": 21, "ctot": 21, "capetolvl": 21, "dcape": 21, "dp": 21, "dt": 21, "dvadv": 21, "dz": 21, "defv": 21, "del2gh": 21, "df": 21, "fgen": 21, "fnd": 21, "fsd": 21, "gamma": 21, "geovort": 21, "geow": 21, "geowm": 21, "locap": 21, "maxept": 21, "minept": 21, "mixrat": 21, "msl": 21, "mucap": 21, "pv": 21, "pveq": 21, "qdiv": 21, "qvec": 21, "qnvec": 21, "qsvec": 21, "shwlt": 21, "snorat": 21, "snoratcrocu": 21, "snoratemcsref": 21, "snoratov2": 21, "snoratspc": 21, "snoratspcdeep": 21, "snoratspcsurfac": 21, "staticcorioli": 21, "staticspac": 21, "statictopo": 21, "swtidx": 21, "ttot": 21, "twind": 21, "twindu": 21, "twindv": 21, "ufx": 21, "uwstk": 21, "ulsnorat": 21, "vsmthw": 21, "vtot": 21, "vwstk": 21, "wdiv": 21, "wsp": 21, "wsp_001_bin": 21, "wsp_002_bin": 21, "wsp_003_bin": 21, "wsp_004_bin": 21, "zagl": 21, "param1": 21, "param2": 21, "param3": 21, "grid_level": 21, "0sfc": [21, 26], "350": 21, "610": 21, "0_40000": 21, "120": [21, 26], "0_150": 21, "0bl": 21, "900": [21, 24], "0_610": 21, "450": 21, "575": [21, 28], "60": [21, 26, 27, 28, 29], "0_90": 21, "0pv": 21, "950": 21, "150": 21, "5pv": 21, "700": 21, "825": 21, "0_180": 21, "250": 21, "0_500": 21, "800": 21, "4000": 21, "925": 21, "0trop": 21, "750": 21, "500": [21, 28], "625": [21, 26], "400": 21, "875": [21, 26], "0_1000": 21, "850": 21, "600": 21, "725": 21, "0_6000": 21, "975": 21, "550": 21, "0_3000": 21, "675": 21, "200": [21, 28], "0_30": 21, "0_60": 21, "650": 21, "525": 21, "300": [21, 26, 28], "0_120": 21, "775": [21, 23], "340": 21, "0_350": 21, "0k": 21, "290": 21, "0_300": 21, "0_600": 21, "320": 21, "0ke": 21, "0_750": 21, "0tilt": 21, "3tilt": 21, "0_900": 21, "5500": 21, "255": 21, "0_265": 21, "2000": [21, 30], "0_850": 21, "0_250": 21, "280": 21, "0_290": 21, "1524": 21, "0_330": 21, "310": 21, "0_320": 21, "330": 21, "0_800": 21, "4tilt": 21, "3500": 21, "0_310": 21, "0_12000": 21, "9tilt": 21, "0_700": 21, "0_400": 21, "345": 21, "0_260": 21, "4572": 21, "275": 21, "0_285": 21, "335": 21, "295": [21, 26], "0_305": 21, "0_550": 21, "9000": 21, "0_7000": 21, "9144": 21, "325": 21, "0_335": 21, "0_8000": 21, "0_609": 21, "6fhag": 21, "315": 21, "0_325": 21, "0_4000": 21, "0_5500": 21, "5tilt": 21, "0_345": 21, "2500": 21, "10000": 21, "0_2000": 21, "7000": 21, "0_1500": 21, "305": 21, "285": 21, "0_295": 21, "0_3500": 21, "0_5000": 21, "7620": 21, "6096": 21, "6000": 21, "0_10000": 21, "265": 21, "0_275": 21, "0_650": 21, "8tilt": 21, "0_340": 21, "3657": 21, "7tilt": 21, "270": 21, "0_280": 21, "1500": 21, "0_950": 21, "0_200": 21, "0_100": 21, "8000": 21, "0_315": 21, "0_2500": 21, "260": 21, "0_270": 21, "2743": 21, "3048": 21, "609": 21, "0_4500": 21, "1828": 21, "8fhag": 21, "0_450": 21, "4500": 21, "1250": 21, "19": [21, 24, 25, 27, 28], "0_9000": 21, "0lyrmb": 21, "hag": 21, "stand": [21, 30], "ntat": 21, "nomin": 21, "atmospher": 21, "bl": [21, 24], "trop": 21, "tropopaus": 21, "yyyi": 21, "mm": 21, "dd": 21, "hh": 21, "ss": 21, "ff": 21, "grid_cycl": 21, "grid_tim": 21, "grid_fcstrun": 21, "fcst": [21, 26], "getfcsttim": [21, 24, 26, 29], "000": 21, "10800": 21, "21600": 21, "32400": 21, "43200": 21, "54000": 21, "64800": 21, "75600": 21, "86400": 21, "97200": 21, "108000": 21, "118800": 21, "129600": 21, "140400": 21, "151200": 21, "162000": 21, "172800": 21, "183600": 21, "194400": 21, "205200": 21, "216000": 21, "226800": 21, "237600": 21, "248400": 21, "259200": 21, "270000": 21, "280800": 21, "291600": 21, "302400": 21, "324000": 21, "345600": 21, "367200": 21, "388800": 21, "410400": 21, "432000": 21, "453600": 21, "475200": 21, "496800": 21, "518400": 21, "540000": 21, "561600": 21, "583200": 21, "604800": 21, "626400": 21, "648000": 21, "669600": 21, "691200": 21, "712800": 21, "734400": 21, "756000": 21, "777600": 21, "799200": 21, "820800": 21, "842400": 21, "864000": 21, "kind": [21, 22, 24], "analyz": 21, "grid_respons": 21, "grid_data": 21, "257": 21, "369": 21, "vist": 21, "bufr": [21, 24, 31], "resourc": [21, 27, 31], "topographi": [21, 27, 31], "reformat": 22, "styliz": [22, 27], "timrang": [22, 27], "cfeatur": [22, 30], "calc": [22, 24, 27, 29], "wind_compon": [22, 27, 29], "stationplotlayout": [22, 27], "sky_cov": [22, 27], "coverag": [22, 27], "integ": [22, 25, 27], "ovc": [22, 27], "bkn": [22, 27], "sct": [22, 27], "single_value_param": 22, "winddir": [22, 27], "windspe": [22, 27], "multi_value_param": 22, "too": 22, "clutter": [22, 24], "kpdx": [22, 24], "kokc": [22, 24], "kict": [22, 24], "kgld": [22, 24], "kmem": [22, 24], "kbo": [22, 24], "kmia": [22, 24], "kmob": [22, 24], "kabq": [22, 24], "kphx": [22, 24], "kttf": 22, "kord": [22, 24], "kbil": [22, 24], "kbi": [22, 24], "kcpr": [22, 24], "klax": [22, 24], "katl": [22, 24], "kmsp": [22, 24], "kslc": [22, 24], "kdfw": [22, 24], "knyc": 22, "kphl": [22, 24], "kpit": [22, 24], "koli": 22, "ksyr": [22, 24], "klex": [22, 24], "kch": [22, 24], "ktlh": [22, 24], "khou": [22, 24], "kgjt": [22, 24], "klbb": [22, 24], "klsv": 22, "kgrb": [22, 24], "kclt": [22, 24], "klnk": [22, 24], "kdsm": [22, 24], "kboi": [22, 24], "kfsd": [22, 24], "krap": [22, 24], "kric": [22, 24], "kjan": [22, 24], "khsv": [22, 24], "kcrw": [22, 24], "ksat": [22, 24], "kbui": 22, "k0co": 22, "kzpc": 22, "kvih": 22, "kbdg": 22, "kmlf": 22, "keli": [22, 24], "kwmc": [22, 24], "koth": [22, 24], "kcar": [22, 24], "klmt": [22, 24], "krdm": [22, 24], "kpdt": [22, 24], "ksea": [22, 24], "kuil": 22, "keph": [22, 24], "kpuw": 22, "kcoe": [22, 24], "kmlp": 22, "kpih": [22, 24], "kida": [22, 24], "kmso": [22, 24], "kacv": [22, 24], "khln": [22, 24], "kolf": 22, "krut": 22, "kpsm": [22, 24], "kjax": [22, 24], "ktpa": [22, 24], "kshv": [22, 24], "kmsy": [22, 24], "kelp": [22, 24], "krno": [22, 24], "kfat": [22, 24], "ksfo": [22, 24], "knyl": 22, "kbro": [22, 24], "kmrf": 22, "kdrt": [22, 24], "kfar": [22, 24], "kbde": [22, 24], "kdlh": [22, 24], "khot": [22, 24], "klbf": [22, 24, 29], "kflg": [22, 24], "kcle": [22, 24], "kunv": [22, 24], "decid": [22, 30], "much": [22, 30], "easili": [22, 23, 30], "adjust": [22, 24, 27, 30], "doc": [22, 30], "html": [22, 30], "__": [22, 30], "59": 22, "properli": [22, 30], "track": [22, 25, 30], "entri": [22, 30], "reciev": 22, "explicitli": 22, "timeob": [22, 27], "dynam": 22, "station_nam": 22, "time_titl": 22, "revers": 22, "avail_param": 22, "alreadi": [22, 24, 27, 29, 32], "skip": 22, "correct": [22, 27, 30], "put": [22, 27], "hand": [22, 27], "later": [22, 24, 27, 29, 30], "stid": [22, 27], "air_temperatur": [22, 27], "dew_point_temperatur": [22, 27], "direct": [22, 27, 29], "eastward_wind": [22, 27], "northward_wind": [22, 27], "cloud_coverag": [22, 27], "assign": [22, 27, 29], "land": [22, 30], "ocean": 22, "lake": 22, "border": 22, "give": [22, 27, 30], "contextu": 22, "layout": 22, "95": 22, "central_latitud": 22, "standard_parallel": 22, "add_subplot": 22, "118": 22, "73": 22, "23": [22, 25, 27, 28, 29], "custom_layout": [22, 27], "add_barb": [22, 27], "add_valu": [22, 27], "fmt": [22, 27], "0f": [22, 27], "darkr": [22, 27], "sw": [22, 27], "add_symbol": [22, 27], "clip_on": [22, 27], "plot_text": 22, "aviat": [22, 27], "static": [22, 27], "context": [23, 27], "ma": 23, "shapelyfeatur": [23, 27, 30], "naturalearthfeatur": [23, 28, 30], "op": 23, "cascaded_union": 23, "block": 23, "nice": 23, "neatli": 23, "gi": 23, "the_geom": [23, 27], "spatial": 23, "column": [23, 28, 30], "multilinestr": 23, "boulder": 23, "bou": 23, "area": [23, 26, 27, 28], "withe": 23, "characterist": 23, "refin": 23, "mapdata": [23, 27], "wfo": 23, "tie": 23, "inloc": [23, 27], "locationfield": [23, 27], "ti": 23, "geomfield": [23, 27], "merged_counti": 23, "polit": 23, "political_boundari": [23, 30], "cultur": [23, 28, 30], "admin_0_boundary_lines_land": [23, 30], "facecolor": [23, 26, 27, 28, 30], "admin_1_states_provinces_lin": [23, 28, 30], "black": [23, 24, 26, 29, 30], "shape_featur": [23, 27, 30], "86989b": 23, "feature_artist": [23, 26, 27], "featureartist": [23, 26, 27], "0x11568f6d0": 23, "burnt": 23, "cc5000": 23, "previous": 23, "fall": [23, 28], "225": 23, "progress": 23, "disclosur": 23, "prog_disc": 23, "significantli": 23, "asid": 23, "citylist": 23, "citynam": 23, "pop": 23, "good": 23, "marker": [23, 26], "scatter": [23, 26], "txt": 23, "enumer": [23, 26, 28], "xytext": 23, "1205": 23, "58": [23, 25, 28], "again": 23, "requst": 23, "blue": [23, 27], "20b2aa": 23, "208": 23, "majorriv": 23, "1400": 23, "slow": 23, "larg": 23, "group": [23, 30], "griddata": 23, "n": [23, 24, 29], "0x115a20370": 23, "778": 23, "1058": 23, "1694": 23, "1693": 23, "1688": 23, "757": 23, "761": 23, "762": 23, "1701": 23, "758": 23, "760": 23, "1703": 23, "1767": 23, "1741": 23, "1706": 23, "769": 23, "768": 23, "1746": 23, "1716": 23, "765": 23, "1781": 23, "1753": 23, "1730": 23, "766": 23, "759": 23, "masked_invalid": 23, "minimum": 23, "elev": [23, 29], "maximum": [23, 26], "contourf": 23, "terrain": 23, "alpha": 23, "623": 23, "4328": 23, "matplotplib": 23, "schema": 23, "colorado": 23, "watch": [23, 31], "page": 23, "vertic": [24, 29, 30, 31], "exp": 24, "vapor_pressur": 24, "wind_spe": 24, "wind_direct": 24, "forecastmodel": 24, "reporttyp": 24, "spechum": 24, "ucomp": 24, "vcomp": 24, "shown": [24, 29, 30], "step": [24, 29, 30], "1v4": 24, "3j2": 24, "4bl": 24, "4bq": 24, "4hv": 24, "4om": 24, "5af": 24, "5ag": 24, "5sz": 24, "6ro": 24, "8v7": 24, "9b6": 24, "adm": 24, "afa": 24, "agr": 24, "ahn": 24, "aia": 24, "aih": 24, "ajo": 24, "anj": 24, "apx": 24, "aqq": 24, "ath": 24, "atl1": 24, "atl2": 24, "atl3": 24, "atl4": 24, "atlh": 24, "awh": 24, "awr": 24, "j": [24, 26], "q": 24, "bab": 24, "bdg": 24, "bdp": 24, "bfl": 24, "bgtl": 24, "bh1": 24, "bh2": 24, "bh3": 24, "bh4": 24, "bh5": 24, "bhk": 24, "bid": 24, "bir": 24, "blu": 24, "bmx": 24, "bna": 24, "bod": 24, "bra": 24, "btl": 24, "bvr": 24, "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, "cai": 24, "cbe": 24, "cbn": 24, "che": 24, "ckn": 24, "cld": 24, "cle": 24, "cln": 24, "col1": 24, "col2": 24, "col3": 24, "col4": 24, "cqv": 24, "crl": 24, "crr": 24, "cty": 24, "cvm": 24, "cv": 24, "cweu": 24, "cwfn": 24, "cwkx": 24, "cwlb": 24, "cwlo": 24, "cwlt": 24, "cwlw": 24, "cwmw": 24, "cwo": 24, "cwph": 24, "cwqg": 24, "cwsa": 24, "cwse": 24, "cwzb": 24, "cwzc": 24, "cwzv": 24, "cyah": 24, "cyaw": 24, "cybk": 24, "cybu": 24, "cycb": 24, "cycg": 24, "cycx": 24, "cyda": 24, "cyeg": 24, "cyev": 24, "cyfb": 24, "cyfo": 24, "cyf": 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, "cysm": 24, "cysi": 24, "cyth": 24, "cytl": 24, "cyt": 24, "cyul": 24, "cyux": 24, "cyvo": 24, "cyvp": 24, "cyvq": 24, "cyvr": 24, "cyvv": 24, "cywa": 24, "cywg": 24, "cywo": 24, "cyxc": 24, "cyx": 24, "cyxh": 24, "cyxu": 24, "cyxx": 24, "cyxi": 24, "cyxz": 24, "cyyb": 24, "cyyc": 24, "cyy": 24, "cyyj": 24, "cyyq": 24, "cyyr": 24, "cyyt": 24, "cyyz": 24, "cyzf": 24, "cyz": 24, "cyzt": 24, "cyzv": 24, "den": 24, "dov": 24, "dpg": 24, "dsc": 24, "dsd": 24, "dtx": 24, "dvn": 24, "dy": 24, "e28": 24, "e74": 24, "eat": 24, "eax": 24, "edw": 24, "efl": 24, "emp": 24, "enl": 24, "estc": 24, "fc": 24, "fdr": 24, "ffc": 24, "fhu": 24, "flg": 24, "flp": 24, "fpk": 24, "fri": 24, "fsi": 24, "ftr": 24, "fwd": 24, "g001": 24, "g003": 24, "g004": 24, "g005": 24, "g007": 24, "g009": 24, "gdp": 24, "gdv": 24, "glry": 24, "gmx1": 24, "gnb": 24, "gnc": 24, "grf": 24, "gtb": 24, "gtp": 24, "gvl": 24, "gv": 24, "gyx": 24, "h02": 24, "hai": 24, "hgr": 24, "hmn": 24, "hom": 24, "hoo": 24, "hsi": 24, "hyr": 24, "hy": 24, "icc": 24, "igm": 24, "iln": 24, "il": 24, "ilx": 24, "imt": 24, "ink": 24, "ipx": 24, "jack": 24, "jdn": 24, "k40b": 24, "k9v9": 24, "kabe": 24, "kabi": 24, "kabr": 24, "kack": 24, "kact": 24, "kaci": 24, "kagc": 24, "kag": 24, "kahn": 24, "kak": 24, "kalb": 24, "kali": 24, "kalo": 24, "kal": 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, "kaug": 24, "kau": 24, "kauw": 24, "kavl": 24, "kavp": 24, "kaxn": 24, "kai": 24, "kazo": 24, "kbaf": 24, "kbce": 24, "kbdl": 24, "kbdr": 24, "kbed": 24, "kbfd": 24, "kbff": 24, "kbfi": 24, "kbfl": 24, "kbgm": 24, "kbgr": 24, "kbhb": 24, "kbhm": 24, "kbih": 24, "kbjc": 24, "kbji": 24, "kbke": 24, "kbkw": 24, "kblf": 24, "kblh": 24, "kbli": 24, "kbml": 24, "kbna": 24, "kbno": 24, "kbnv": 24, "kbpt": 24, "kbqk": 24, "kbrd": 24, "kbrl": 24, "kbtl": 24, "kbtm": 24, "kbtr": 24, "kbtv": 24, "kbuf": 24, "kbur": 24, "kbvi": 24, "kbvx": 24, "kbvy": 24, "kbwg": 24, "kbwi": 24, "kbyi": 24, "kbzn": 24, "kcae": 24, "kcak": 24, "kcdc": 24, "kcdr": 24, "kcd": 24, "kcec": 24, "kcef": 24, "kcgi": 24, "kcgx": 24, "kcha": 24, "kchh": 24, "kcho": 24, "kcid": 24, "kciu": 24, "kckb": 24, "kckl": 24, "kcll": 24, "kclm": 24, "kcmh": 24, "kcmi": 24, "kcmx": 24, "kcnm": 24, "kcnu": 24, "kcod": 24, "kcon": 24, "kco": 24, "kcou": 24, "kcre": 24, "kcrp": 24, "kcrq": 24, "kcsg": 24, "kcsv": 24, "kctb": 24, "kcvg": 24, "kcwa": 24, "kcy": 24, "kdab": 24, "kdag": 24, "kdal": 24, "kdan": 24, "kdai": 24, "kdbq": 24, "kdca": 24, "kddc": 24, "kdec": 24, "kden": 24, "kdet": 24, "kdhn": 24, "kdht": 24, "kdik": 24, "kdl": 24, "kdmn": 24, "kdpa": 24, "kdra": 24, "kdro": 24, "kdtw": 24, "kdug": 24, "kduj": 24, "keat": 24, "keau": 24, "kecg": 24, "keed": 24, "kege": 24, "kekn": 24, "keko": 24, "kel": 24, "keld": 24, "kelm": 24, "kelo": 24, "kenv": 24, "kepo": 24, "kepz": 24, "keri": 24, "kesf": 24, "keug": 24, "kevv": 24, "kewb": 24, "kewn": 24, "kewr": 24, "keyw": 24, "kfam": 24, "kfai": 24, "kfca": 24, "kfdy": 24, "kfkl": 24, "kfll": 24, "kflo": 24, "kfmn": 24, "kfmy": 24, "kfnt": 24, "kfoe": 24, "kfpr": 24, "kfrm": 24, "kfsm": 24, "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, "kglh": 24, "kgl": 24, "kgmu": 24, "kgnr": 24, "kgnv": 24, "kgon": 24, "kgpt": 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, "khob": 24, "khon": 24, "khpn": 24, "khqm": 24, "khrl": 24, "khro": 24, "khth": 24, "kht": 24, "khuf": 24, "khul": 24, "khut": 24, "khvn": 24, "khvr": 24, "khya": 24, "kiad": 24, "kiag": 24, "kiah": 24, "kil": 24, "kilg": 24, "kilm": 24, "kink": 24, "kinl": 24, "kint": 24, "kinw": 24, "kipl": 24, "kipt": 24, "kisn": 24, "kisp": 24, "kith": 24, "kiwd": 24, "kjac": 24, "kjbr": 24, "kjfk": 24, "kjhw": 24, "kjkl": 24, "kjln": 24, "kjm": 24, "kjst": 24, "kjxn": 24, "kkl": 24, "klaf": 24, "klan": 24, "klar": 24, "kla": 24, "klbe": 24, "klcb": 24, "klch": 24, "kleb": 24, "klfk": 24, "klft": 24, "klga": 24, "klgb": 24, "klgu": 24, "klit": 24, "klnd": 24, "klol": 24, "kloz": 24, "klrd": 24, "klse": 24, "kluk": 24, "klv": 24, "klwb": 24, "klwm": 24, "klw": 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, "kmfd": 24, "kmfe": 24, "kmfr": 24, "kmgm": 24, "kmgw": 24, "kmhe": 24, "kmhk": 24, "kmht": 24, "kmiv": 24, "kmkc": 24, "kmke": 24, "kmkg": 24, "kmkl": 24, "kmlb": 24, "kmlc": 24, "kmli": 24, "kml": 24, "kmlt": 24, "kmlu": 24, "kmmu": 24, "kmot": 24, "kmpv": 24, "kmqt": 24, "kmrb": 24, "kmry": 24, "kmsl": 24, "kmsn": 24, "kmss": 24, "kmtj": 24, "kmtn": 24, "kmwh": 24, "kmyr": 24, "kna": 24, "knew": 24, "knl": 24, "knsi": 24, "koak": 24, "kofk": 24, "kogd": 24, "kolm": 24, "koma": 24, "kont": 24, "kopf": 24, "koqu": 24, "korf": 24, "korh": 24, "kosh": 24, "kotm": 24, "kp11": 24, "kp38": 24, "kpae": 24, "kpah": 24, "kpbf": 24, "kpbi": 24, "kpdk": 24, "kpfn": 24, "kpga": 24, "kphf": 24, "kphn": 24, "kpia": 24, "kpib": 24, "kpie": 24, "kpir": 24, "kpkb": 24, "kpln": 24, "kpmd": 24, "kpnc": 24, "kpne": 24, "kpn": 24, "kpou": 24, "kpqi": 24, "kprb": 24, "kprc": 24, "kpsc": 24, "kpsp": 24, "kptk": 24, "kpub": 24, "kpvd": 24, "kpvu": 24, "kpwm": 24, "krad": 24, "krbl": 24, "krdd": 24, "krdg": 24, "krdu": 24, "krfd": 24, "kriw": 24, "krkd": 24, "krk": 24, "krnt": 24, "kroa": 24, "kroc": 24, "krow": 24, "krsl": 24, "krst": 24, "krsw": 24, "krum": 24, "krwf": 24, "krwi": 24, "krwl": 24, "ksac": 24, "ksaf": 24, "ksan": 24, "ksav": 24, "ksba": 24, "ksbn": 24, "ksbp": 24, "ksby": 24, "ksch": 24, "ksck": 24, "ksdf": 24, "ksdm": 24, "ksdy": 24, "ksep": 24, "ksff": 24, "ksgf": 24, "ksgu": 24, "kshr": 24, "ksjc": 24, "ksjt": 24, "ksle": 24, "kslk": 24, "ksln": 24, "ksmf": 24, "ksmx": 24, "ksna": 24, "ksn": 24, "kspi": 24, "ksp": 24, "ksrq": 24, "kssi": 24, "kstj": 24, "kstl": 24, "kstp": 24, "kst": 24, "ksun": 24, "ksu": 24, "ksux": 24, "ksve": 24, "kswf": 24, "ktcc": 24, "ktcl": 24, "ktc": 24, "kteb": 24, "ktiw": 24, "ktmb": 24, "ktol": 24, "ktop": 24, "ktph": 24, "ktri": 24, "ktrk": 24, "ktrm": 24, "kttd": 24, "kttn": 24, "ktul": 24, "ktup": 24, "ktu": 24, "ktvc": 24, "ktvl": 24, "ktwf": 24, "ktxk": 24, "ktyr": 24, "kty": 24, "kuca": 24, "kuin": 24, "kuki": 24, "kvct": 24, "kvel": 24, "kvld": 24, "kvny": 24, "kvrb": 24, "kwjf": 24, "kwrl": 24, "kwy": 24, "ky22": 24, "ky26": 24, "kykm": 24, "kykn": 24, "kyng": 24, "kyum": 24, "kzzv": 24, "laa": 24, "lap": 24, "lby": 24, "ldl": 24, "lhx": 24, "lic": 24, "lor": 24, "lrr": 24, "lsf": 24, "lu": 24, "lvm": 24, "lw1": 24, "maz": 24, "mdpc": 24, "mdpp": 24, "mdsd": 24, "mdst": 24, "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, "mib": 24, "mie": 24, "mkjp": 24, "mkj": 24, "mld": 24, "mmaa": 24, "mma": 24, "mmbt": 24, "mmce": 24, "mmcl": 24, "mmcn": 24, "mmc": 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, "mmpr": 24, "mmrx": 24, "mmsd": 24, "mmsp": 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, "mor": 24, "mpbo": 24, "mpch": 24, "mpda": 24, "mpmg": 24, "mpsa": 24, "mpto": 24, "mpx": 24, "mrch": 24, "mrf": 24, "mrlb": 24, "mrlm": 24, "mroc": 24, "mrpv": 24, "mr": 24, "msac": 24, "mslp": 24, "msss": 24, "mtch": 24, "mtl": 24, "mtpp": 24, "mty": 24, "muba": 24, "mubi": 24, "muca": 24, "mucl": 24, "mucm": 24, "mucu": 24, "mugm": 24, "mugt": 24, "muha": 24, "mumo": 24, "mumz": 24, "mung": 24, "muvr": 24, "muvt": 24, "mwcr": 24, "myb": 24, "myeg": 24, "mygf": 24, "mygw": 24, "myl": 24, "mynn": 24, "mzbz": 24, "mzt": 24, "nck": 24, "ngx": 24, "nhk": 24, "nid": 24, "nkx": 24, "noa": 24, "nru": 24, "ntd": 24, "municip": 24, "fairmont": 24, "minnesota": 24, "exit": 24, "verifi": [24, 29], "were": [24, 29], "obj": [24, 29], "fcsthour": [24, 29], "period": [24, 29], "94": [24, 25], "41999816894531": 24, "43": [24, 28], "65000152587891": 24, "2022": 24, "08": [24, 25, 28], "aug": 24, "gmt": [24, 29], "construct": [24, 29, 30], "moistur": 24, "spec": 24, "zero": 24, "That": 24, "length": 24, "humidti": 24, "equal": 24, "tmp": [24, 27], "prs2": 24, "tmp2": 24, "uc": 24, "vc": 24, "plugin": [24, 29], "ourselv": 24, "manual": [24, 30], "ncep": 24, "nsharp": 24, "tfull": 24, "pfull": 24, "mbar": [24, 27, 29], "94384": 24, "spd": [24, 29], "dir": 24, "deg": [24, 27], "mix": 24, "vapor": 24, "rmix": 24, "kg": [24, 25], "td": [24, 29], "assum": 24, "td2": 24, "soundingrequest": 24, "ntmp": 24, "pa": 24, "t0": 24, "263": 24, "29": [24, 28], "vap": 24, "112": 24, "243": 24, "vapr": 24, "dwpc": 24, "zoom": 24, "highlight": 24, "slight": 24, "skew": [24, 29], "purpos": 24, "18z": 24, "fh": 24, "42": [24, 25, 26, 28], "z": 24, "2f": 24, "secondari": 24, "zoom_ax": 24, "bbox_to_anchor": [24, 30], "bbox_transform": 24, "transax": 24, "skew2": 24, "hum": 24, "legaci": 24, "calucl": 24, "legend": 24, "explain": 24, "redund": 24, "set_xlabel": 24, "set_ylabel": 24, "970": 24, "11": [24, 25, 26, 27, 28], "region": [24, 29, 31], "indicate_inset_zoom": 24, "dispos": 24, "unnecessari": 24, "close": 24, "slant": [24, 29], "ipython3": 25, "algorithm": 25, "precipit": [25, 26, 27, 28], "available_loc": 25, "productid": 25, "productnam": 25, "134": 25, "135": 25, "138": 25, "141": 25, "159": 25, "161": 25, "163": 25, "165": 25, "166": 25, "169": 25, "170": [25, 28], "171": 25, "172": 25, "173": 25, "174": 25, "175": 25, "176": 25, "177": 25, "27": [25, 26], "37": 25, "41": [25, 29], "57": [25, 26], "78": [25, 26], "81": [25, 26], "99": 25, "coeff": 25, "diff": 25, "inst": 25, "precip": [25, 31], "rate": [25, 28], "vert": 25, "liq": 25, "echo": 25, "hydrometeor": 25, "melt": 25, "mesocyclon": 25, "One": 25, "accum": 25, "unbias": 25, "phase": 25, "storm": 25, "rel": 25, "make_map": [25, 26, 28], "nexrad_data": 25, "prod": 25, "rec": 25, "flat": 25, "ndarrai": 25, "flatten": 25, "nanmin": 25, "nanmax": 25, "pcolormesh": [25, 26, 28], "2018": [25, 28], "kmhx_0": 25, "0_464_464": 25, "dbz": 25, "464": 25, "31": [25, 27, 28], "0_230_360_0": 25, "0_359": 25, "230": 25, "360": 25, "0_920_360_0": 25, "0555557e": 25, "09": [25, 28], "3071667e": 25, "sec": 25, "920": 25, "0_13_13": 25, "190": [25, 28], "690": 25, "count": 25, "13": [25, 26, 28], "0_460_360_0": 25, "834518": 25, "460": 25, "0_116_116": 25, "12192": 25, "116": 25, "0_346_360_0": 25, "346": 25, "0_115_360_359": 25, "0127": 25, "115": 25, "008382": 25, "0027720002": 25, "5775646e": 25, "017472787": 25, "000508": 25, "082804": 25, "08255": 25, "019499999": 25, "0_116_360_0": 25, "088392": 25, "5399999e": 25, "033959802": 25, "greatest": 26, "conus_envelop": 26, "tt": [26, 28], "3600": [26, 28], "fcsthr": 26, "tp_inch": 26, "0393701": 26, "1875": 26, "52": 26, "125": [26, 28], "6": [26, 27, 28], "375": 26, "77": [26, 27, 28], "21": 26, "79": 26, "24": [26, 30], "82": [26, 27], "84": 26, "6875": 26, "33": [26, 27], "36": 26, "3125": 26, "89": [26, 27, 28], "48": 26, "127": [26, 30], "139": 26, "5625": 26, "54": [26, 27], "140": 26, "63": [26, 27], "66": [26, 28], "69": 26, "72": 26, "5364203": 26, "rainfal": 26, "ii": 26, "jj": 26, "hr": [26, 28], "add_geometri": 26, "white": 26, "0x11b971da0": 26, "853": 26, "5290003": 26, "0290003": 26, "051": 26, "2960005": 26, "8269997": 26, "1790004": 26, "1890006": 26, "071": 26, "812": 26, "718": 26, "339": 26, "626": 26, "670002": 26, "334": 26, "628002": 26, "4420482": 26, "florida": 27, "simple_layout": 27, "e7e7e7": 27, "simpl": 27, "speed": 27, "sea": 27, "account": 27, "miss": [27, 29], "arr": 27, "air_pressure_at_sea_level": 27, "sealevelpress": 27, "present_weath": 27, "sky": 27, "drawn": [27, 30], "barb": 27, "dew": 27, "outlin": 27, "neighbor": 27, "maps_request": 27, "fl": 27, "ga": 27, "al": 27, "sc": 27, "la": 27, "maps_respons": 27, "ten": 27, "thousand": 27, "fl_lat": 27, "fl_lon": 27, "67402": 27, "50934": 27, "georgia": 27, "65155": 27, "83": [27, 28], "44848": 27, "louisiana": 27, "0891": 27, "02905": 27, "alabama": 27, "79354": 27, "86": 27, "82676": 27, "mississippi": 27, "75201": 27, "66553": 27, "south": 27, "carolina": 27, "93574": 27, "89899": 27, "63429260299995": 27, "02105161600002": 27, "50101280200016": 27, "03199876199994": 27, "unreason": 27, "nov": 27, "reus": 27, "effici": 27, "shared_param": 27, "narrow": 27, "metar_request": 27, "specifc": 27, "metar_param": 27, "all_metar_param": 27, "vividsolut": 27, "jt": 27, "0x13abe40a0": 27, "syn_request": 27, "syn_param": 27, "all_syn_param": 27, "0x105048bb0": 27, "obtain": 27, "still": 27, "collect": 27, "metar_respons": 27, "tuse": 27, "syn_respons": 27, "4116": 27, "179": 27, "259": [27, 28], "metars_data": 27, "synoptic_data": 27, "retreiv": 27, "earlier": [27, 30], "000000": 27, "0x13b2ae5e0": 27, "On": 27, "ax_syn": 27, "fig_syn": 27, "synopot": 27, "lower": [28, 30], "datauri": 28, "physicalel": 28, "sectorid": 28, "nesdi": 28, "wcda": 28, "nsof": 28, "mcida": 28, "poe": 28, "npoess": 28, "uniwisc": 28, "miscellan": 28, "nexrcomp": 28, "emeso": 28, "northern": 28, "hemispher": 28, "efd": 28, "tconu": 28, "arctic": 28, "tfd": 28, "prregi": 28, "sounder": 28, "west": 28, "antarct": 28, "supern": 28, "nh": 28, "meteosat": 28, "gm": 28, "actp": 28, "adp": 28, "aod": 28, "04": [28, 30], "38um": 28, "61um": 28, "25um": 28, "07": 28, "90um": 28, "19um": 28, "95um": 28, "34um": 28, "50um": 28, "35um": 28, "20um": 28, "30um": 28, "csm": 28, "cth": 28, "fdc": 28, "li": 28, "lst": 28, "si": 28, "tpw": 28, "vmp": 28, "00hpa": 28, "02hpa": 28, "04hpa": 28, "08hpa": 28, "14hpa": 28, "22hpa": 28, "35hpa": 28, "51hpa": 28, "71hpa": 28, "98hpa": 28, "30hpa": 28, "69hpa": 28, "1013": 28, "95hpa": 28, "103": 28, "1042": 28, "23hpa": 28, "1070": 28, "92hpa": 28, "110": 28, "24hpa": 28, "1100": 28, "117": 28, "78hpa": 28, "65hpa": 28, "133": 28, "85hpa": 28, "46hpa": 28, "142": 28, "38hpa": 28, "151": 28, "27hpa": 28, "43hpa": 28, "160": 28, "50hpa": 28, "58hpa": 28, "32hpa": 28, "15hpa": 28, "70hpa": 28, "99hpa": 28, "212": 28, "03hpa": 28, "223": 28, "44hpa": 28, "45hpa": 28, "235": 28, "247": 28, "41hpa": 28, "97hpa": 28, "26": 28, "18hpa": 28, "272": 28, "286": 28, "26hpa": 28, "12hpa": 28, "34hpa": 28, "314": 28, "328": 28, "68hpa": 28, "343": 28, "62hpa": 28, "358": 28, "374": 28, "72hpa": 28, "390": 28, "89hpa": 28, "407": 28, "47hpa": 28, "424": 28, "10hpa": 28, "441": 28, "88hpa": 28, "459": 28, "47": 28, "19hpa": 28, "477": 28, "96hpa": 28, "496": 28, "63hpa": 28, "53hpa": 28, "515": 28, "535": 28, "555": 28, "17hpa": 28, "13hpa": 28, "52hpa": 28, "596": 28, "31hpa": 28, "617": 28, "639": 28, "661": 28, "683": 28, "67hpa": 28, "706": 28, "57hpa": 28, "71": 28, "54hpa": 28, "729": 28, "753": 28, "777": 28, "79hpa": 28, "802": 28, "37hpa": 28, "827": 28, "852": 28, "878": 28, "904": 28, "87hpa": 28, "931": 28, "958": 28, "59hpa": 28, "96": 28, "11hpa": 28, "986": 28, "07hpa": 28, "vtp": 28, "ctt": 28, "rrqpe": 28, "sst": 28, "vah": 28, "vaml": 28, "micron": 28, "ir": 28, "wv": 28, "visibl": 28, "lift": [28, 29], "water": 28, "skin": 28, "98": 28, "rain": 28, "fog": 28, "ozon": 28, "low": 28, "percent": 28, "normal": 28, "dhr": 28, "dvl": 28, "eet": 28, "hhc": 28, "n0r": 28, "n1p": 28, "ntp": 28, "properti": 28, "utc": [28, 30], "hourdiff": 28, "dai": 28, "offsetstr": 28, "ago": 28, "coolwarm": 28, "021388888888888888hr": 28, "0m": 28, "47462": 28, "657455": 28, "24799": 28, "116167": 28, "797777777777778hr": 28, "61595": 28, "45227": 28, "422266": 28, "70851": 28, "1152x1008": 28, "chart": 29, "mandatori": 29, "signific": 29, "lcl": 29, "parcel_profil": 29, "man_param": 29, "sigt_param": 29, "mention": 29, "prman": 29, "wdman": 29, "wsman": 29, "prsigt": 29, "tpsigt": 29, "tdsigt": 29, "staelev": 29, "stanam": 29, "wmo": 29, "Their": 29, "undata": 29, "21824": 29, "21946": 29, "24266": 29, "24343": 29, "24641": 29, "24688": 29, "24959": 29, "25123": 29, "25703": 29, "25913": 29, "31004": 29, "31088": 29, "31300": 29, "31369": 29, "31510": 29, "31538": 29, "31770": 29, "31873": 29, "32061": 29, "32098": 29, "32150": 29, "32389": 29, "32477": 29, "32540": 29, "32618": 29, "47122": 29, "47138": 29, "47158": 29, "47401": 29, "47412": 29, "47582": 29, "47646": 29, "47678": 29, "47807": 29, "47827": 29, "47909": 29, "47918": 29, "47945": 29, "47971": 29, "47991": 29, "70026": 29, "70133": 29, "70200": 29, "70219": 29, "70231": 29, "70261": 29, "70273": 29, "70308": 29, "70316": 29, "70326": 29, "70350": 29, "70361": 29, "70398": 29, "70414": 29, "71043": 29, "71081": 29, "71082": 29, "71109": 29, "71119": 29, "71603": 29, "71722": 29, "71802": 29, "71811": 29, "71815": 29, "71816": 29, "71823": 29, "71845": 29, "71867": 29, "71906": 29, "71907": 29, "71909": 29, "71913": 29, "71917": 29, "71924": 29, "71925": 29, "71926": 29, "71934": 29, "71945": 29, "71957": 29, "71964": 29, "72201": 29, "72202": 29, "72206": 29, "72208": 29, "72210": 29, "72214": 29, "72215": 29, "72221": 29, "72230": 29, "72233": 29, "72235": 29, "72240": 29, "72248": 29, "72249": 29, "72250": 29, "72251": 29, "72261": 29, "72265": 29, "72274": 29, "72293": 29, "72305": 29, "72317": 29, "72318": 29, "72327": 29, "72340": 29, "72357": 29, "72363": 29, "72364": 29, "72365": 29, "72376": 29, "72381": 29, "72388": 29, "72393": 29, "72402": 29, "72403": 29, "72426": 29, "72440": 29, "72451": 29, "72456": 29, "72469": 29, "72476": 29, "72489": 29, "72493": 29, "72501": 29, "72518": 29, "72520": 29, "72528": 29, "72558": 29, "72562": 29, "72572": 29, "72582": 29, "72597": 29, "72632": 29, "72634": 29, "72645": 29, "72649": 29, "72659": 29, "72662": 29, "72672": 29, "72681": 29, "72694": 29, "72712": 29, "72747": 29, "72764": 29, "72768": 29, "72776": 29, "72786": 29, "72797": 29, "74004": 29, "74005": 29, "74389": 29, "74455": 29, "74560": 29, "74794": 29, "78016": 29, "78384": 29, "78397": 29, "78486": 29, "78526": 29, "78583": 29, "78866": 29, "78954": 29, "78970": 29, "78988": 29, "80001": 29, "91165": 29, "91212": 29, "91285": 29, "91334": 29, "91348": 29, "91366": 29, "91376": 29, "91408": 29, "91413": 29, "91610": 29, "91643": 29, "91680": 29, "91765": 29, "94120": 29, "94203": 29, "94299": 29, "94332": 29, "94461": 29, "94510": 29, "94578": 29, "94637": 29, "94638": 29, "94653": 29, "94659": 29, "94672": 29, "94711": 29, "94776": 29, "94996": 29, "north": 29, "platt": 29, "lee": 29, "bird": 29, "nebraska": 29, "validperiod": 29, "7005615234375": 29, "14971923828125": 29, "prsig": 29, "tpsig": 29, "tdsig": 29, "mangeo": 29, "sigtgeo": 29, "parm_arrai": 29, "wsunit": 29, "tpunit": 29, "sigt": 29, "interpol": 29, "inclus": 29, "argsort": 29, "wpre": 29, "direc": 29, "flag": 29, "milibar": 29, "extract": 29, "radian": 29, "deg2rad": 29, "logp": 29, "title_str": [29, 30], "round": 29, "lcl_pressur": 29, "lcl_temperatur": 29, "ko": 29, "markerfacecolor": 29, "parcel": 29, "prof": 29, "condens": 29, "statement": 30, "accur": 30, "overlai": 30, "patch": 30, "mpatch": 30, "vtec": 30, "place": 30, "recogniz": 30, "hdln": 30, "rememb": 30, "xx": 30, "phen": 30, "phenomena": 30, "pamphlet": 30, "watch_sig": 30, "warn_sig": 30, "advis_sig": 30, "statem_sig": 30, "worth": 30, "littl": 30, "1502": 30, "summari": 30, "toggl": 30, "earliest": 30, "sum": 30, "alphabet": 30, "ex": 30, "blizzard": 30, "bz": 30, "areal": 30, "flood": 30, "fa": 30, "watch_shap": 30, "warning_shap": 30, "advisory_shap": 30, "statement_shap": 30, "time_str": 30, "truncat": 30, "decim": 30, "pars": 30, "easi": 30, "comparison": 30, "first_tim": 30, "last_tim": 30, "blank": 30, "sp": 30, "ref_str": 30, "ref_tim": 30, "phensigstr": 30, "geom_typ": 30, "intersect": 30, "printout": 30, "phensig_titl": 30, "frame": 30, "states_provinc": 30, "ot": 30, "turn": 30, "involv": 30, "draw_advisori": 30, "draw_watch": 30, "draw_warn": 30, "draw_stat": 30, "64": 30, "49": 30, "comma": 30, "space": 30, "bigger": 30, "font": 30, "horizonat": 30, "under": 30, "larger": 30, "ncol": 30, "baltimor": 30, "offic": 30, "colleg": 30, "dupag": 30, "explan": 30, "geometrydata": 30, "shaeplyfeatur": 30, "goe": 31, "cira": 31, "nexrad": 31, "level3": 31, "accumul": 31, "Of": 31, "advisori": 31, "non": 32, "effict": 32, "git": 32, "pacakg": 32, "forg": 32, "instruct": 32, "browser": 32, "jupyt": 32, "clone": 32, "cd": 32, "yml": 32, "activ": 32, "reach": 32, "email": 32}, "objects": {"awips": [[3, 0, 0, "-", "DateTimeConverter"], [10, 0, 0, "-", "RadarCommon"], [11, 0, 0, "-", "ThriftClient"], [13, 0, 0, "-", "TimeUtil"]], "awips.DateTimeConverter": [[3, 1, 1, "", "constructTimeRange"], [3, 1, 1, "", "convertToDateTime"]], "awips.RadarCommon": [[10, 1, 1, "", "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"]], "awips.ThriftClient": [[11, 2, 1, "", "ThriftClient"], [11, 4, 1, "", "ThriftRequestException"]], "awips.ThriftClient.ThriftClient": [[11, 3, 1, "", "sendRequest"]], "awips.TimeUtil": [[13, 1, 1, "", "determineDrtOffset"], [13, 1, 1, "", "makeTime"]], "awips.dataaccess": [[1, 0, 0, "-", "CombinedTimeQuery"], [2, 0, 0, "-", "DataAccessLayer"], [4, 2, 1, "", "IDataRequest"], [6, 0, 0, "-", "ModelSounding"], [7, 0, 0, "-", "PyData"], [8, 0, 0, "-", "PyGeometryData"], [9, 0, 0, "-", "PyGridData"], [12, 0, 0, "-", "ThriftClientRouter"]], "awips.dataaccess.CombinedTimeQuery": [[1, 1, 1, "", "getAvailableTimes"]], "awips.dataaccess.DataAccessLayer": [[2, 1, 1, "", "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"]], "awips.dataaccess.IDataRequest": [[4, 5, 1, "", "__weakref__"], [4, 3, 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"]], "awips.dataaccess.ModelSounding": [[6, 1, 1, "", "changeEDEXHost"], [6, 1, 1, "", "getSounding"]], "awips.dataaccess.PyData": [[7, 2, 1, "", "PyData"]], "awips.dataaccess.PyData.PyData": [[7, 3, 1, "", "getAttribute"], [7, 3, 1, "", "getAttributes"], [7, 3, 1, "", "getDataTime"], [7, 3, 1, "", "getLevel"], [7, 3, 1, "", "getLocationName"]], "awips.dataaccess.PyGeometryData": [[8, 2, 1, "", "PyGeometryData"]], "awips.dataaccess.PyGeometryData.PyGeometryData": [[8, 3, 1, "", "getGeometry"], [8, 3, 1, "", "getNumber"], [8, 3, 1, "", "getParameters"], [8, 3, 1, "", "getString"], [8, 3, 1, "", "getType"], [8, 3, 1, "", "getUnit"]], "awips.dataaccess.PyGridData": [[9, 2, 1, "", "PyGridData"]], "awips.dataaccess.PyGridData.PyGridData": [[9, 3, 1, "", "getLatLonCoords"], [9, 3, 1, "", "getParameter"], [9, 3, 1, "", "getRawData"], [9, 3, 1, "", "getUnit"]], "awips.dataaccess.ThriftClientRouter": [[12, 2, 1, "", "LazyGridLatLon"], [12, 2, 1, "", "ThriftClientRouter"]], "awips.dataaccess.ThriftClientRouter.ThriftClientRouter": [[12, 3, 1, "", "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"]], "awips.gfe": [[5, 0, 0, "-", "IFPClient"]], "awips.gfe.IFPClient": [[5, 2, 1, "", "IFPClient"]], "awips.gfe.IFPClient.IFPClient": [[5, 3, 1, "", "commitGrid"], [5, 3, 1, "", "getGridInventory"], [5, 3, 1, "", "getParmList"], [5, 3, 1, "", "getSelectTR"], [5, 3, 1, "", "getSiteID"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:exception", "5": "py:attribute"}, "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"]}, "titleterms": {"about": 0, "unidata": 0, "awip": [0, 32], "licens": 0, "edex": [0, 17, 20, 21, 22, 23, 24, 27, 29, 30], "cave": 0, "alertviz": 0, "ldm": 0, "edexbridg": 0, "qpid": 0, "postgresql": 0, "hdf5": 0, "pypi": 0, "httpd": 0, "combinedtimequeri": 1, "dataaccesslay": 2, "datetimeconvert": 3, "idatarequest": 4, "newdatarequest": 4, "ifpclient": 5, "modelsound": 6, "pydata": 7, "pygeometrydata": 8, "pygriddata": 9, "radarcommon": 10, "thriftclient": 11, "thriftclientrout": 12, "timeutil": 13, "api": 14, "document": [14, 17, 18, 20, 22, 23, 24, 27, 29, 30], "avail": [15, 21, 24, 28, 29], "data": [15, 16, 17, 18, 20, 21, 22, 24, 27, 29, 30, 31, 32], "type": [15, 21], "satellit": [15, 28], "binlightn": 15, "grid": [15, 18, 21], "warn": [15, 30], "radar": [15, 25], "develop": 16, "guid": 16, "write": [16, 20], "new": [16, 21], "factori": 16, "regist": 16, "framework": [16, 32], "retriev": 16, "us": [16, 18, 22, 23, 24, 29, 30], "background": 16, "design": 16, "implement": 16, "how": 16, "user": 16, "plugin": 16, "contribut": 16, "support": [16, 21], "datatyp": 16, "work": 16, "when": 16, "receiv": 16, "request": [16, 18, 21, 27, 29], "interfac": 16, "java": 16, "onli": [16, 32], "color": [17, 18], "surfac": [17, 27], "temperatur": 17, "plot": [17, 18, 22, 24, 27, 29, 30, 31], "object": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "tabl": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "content": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "1": [17, 18, 20, 21, 22, 23, 24, 29, 30], "import": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "2": [17, 18, 20, 21, 22, 23, 24, 29, 30], "initi": [17, 20, 22, 23, 27, 29, 30], "setup": [17, 20, 22, 27, 30], "geograph": [17, 27], "filter": [17, 20, 22, 23, 24, 27, 29, 30], "connect": [17, 20, 21, 22, 23, 24, 27, 29, 30], "3": [17, 18, 20, 21, 22, 23, 24, 29, 30], "time": [17, 18, 21, 22, 24, 27, 29, 30], "4": [17, 18, 20, 21, 22, 23, 24, 29, 30], "access": [17, 32], "convert": [17, 29], "temp": 17, "5": [17, 18, 20, 21, 22, 23, 24, 29, 30], "defin": [17, 18, 20, 27], "threshold": 17, "6": [17, 18, 20, 21, 22, 23, 24, 29, 30], "7": [17, 21, 22, 23, 24, 29, 30], "see": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "also": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "addit": [17, 18, 20, 22, 23, 24, 27, 29, 30], "limit": 18, "result": 18, "base": 18, "function": [18, 20, 22, 23, 27, 30], "make_map": [18, 23, 27, 30], "pcolormesh": 18, "contourf": 18, "relat": [18, 20, 21, 22, 24, 27, 29, 30], "notebook": [18, 20, 21, 22, 24, 27, 29, 30], "forecast": 19, "model": [19, 24], "vertic": 19, "sound": [19, 24, 29], "skew": 19, "t": 19, "log": 19, "p": 19, "comparison": 19, "goe": [20, 28], "cira": 20, "product": [20, 28], "writer": 20, "paramet": [20, 21, 22, 27, 29], "definit": 20, "set_siz": 20, "write_img": 20, "get": [20, 21, 22, 24, 27, 29, 30], "out": 20, "output": 20, "locat": [20, 21, 22, 24, 29], "imag": 20, "level": 21, "list": 21, "creat": [21, 23, 28, 30], "set": [21, 22, 24, 29], "8": [21, 23, 24, 30], "9": [21, 23, 30], "10": [21, 23], "metar": [22, 27], "station": 22, "metpi": 22, "get_cloud_cov": [22, 27], "name": [22, 24, 29], "extract": [22, 27, 30], "all": 22, "popul": 22, "dictionari": 22, "map": [23, 27], "resourc": 23, "topographi": 23, "from": [23, 24], "cwa": 23, "draw": [23, 27, 30], "merg": 23, "interst": 23, "boundari": [23, 30], "nearbi": 23, "citi": 23, "lake": 23, "major": 23, "river": 23, "11": 23, "prepar": [24, 29], "calcul": 24, "dewpoint": 24, "specif": 24, "humid": 24, "method": 24, "nexrad": 25, "level3": 25, "precip": 26, "accumul": 26, "region": [26, 27], "Of": 26, "interest": 26, "ob": 27, "extract_plotting_data": 27, "plot_data": 27, "respons": 27, "common": 27, "synopt": 27, "both": 27, "imageri": 28, "sourc": [28, 32], "entiti": 28, "sector": 28, "16": 28, "mesoscal": 28, "upper": 29, "air": 29, "bufr": 29, "unit": 29, "watch": 30, "advisori": 30, "get_color": 30, "get_titl": 30, "signific": 30, "sig": 30, "constant": 30, "phensig": 30, "geometri": 30, "state": 30, "polit": 30, "legend": 30, "wwa": 30, "exampl": [31, 32], "python": 32, "pre": 32, "requisit": 32, "softwar": 32, "packag": 32, "instal": 32, "pip": 32, "conda": 32, "code": 32, "question": 32, "contact": 32, "u": 32}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "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": 57}, "alltitles": {"About Unidata AWIPS": [[0, "about-unidata-awips"]], "License": [[0, "license"]], "About AWIPS": [[0, "about-awips"]], "EDEX": [[0, "edex"]], "CAVE": [[0, "cave"]], "Alertviz": [[0, "alertviz"]], "LDM": [[0, "id1"]], "edexBridge": [[0, "edexbridge"]], "Qpid": [[0, "id2"]], "PostgreSQL": [[0, "postgresql"]], "HDF5": [[0, "hdf5"]], "PyPIES (httpd-pypies)": [[0, "pypies-httpd-pypies"]], "CombinedTimeQuery": [[1, "module-awips.dataaccess.CombinedTimeQuery"]], "DataAccessLayer": [[2, "module-awips.dataaccess.DataAccessLayer"]], "DateTimeConverter": [[3, "module-awips.DateTimeConverter"]], "IDataRequest (newDataRequest())": [[4, "idatarequest-newdatarequest"]], "IFPClient": [[5, "module-awips.gfe.IFPClient"]], "ModelSounding": [[6, "module-awips.dataaccess.ModelSounding"]], "PyData": [[7, "module-awips.dataaccess.PyData"]], "PyGeometryData": [[8, "module-awips.dataaccess.PyGeometryData"]], "PyGridData": [[9, "module-awips.dataaccess.PyGridData"]], "RadarCommon": [[10, "module-awips.RadarCommon"]], "ThriftClient": [[11, "module-awips.ThriftClient"]], "ThriftClientRouter": [[12, "module-awips.dataaccess.ThriftClientRouter"]], "TimeUtil": [[13, "module-awips.TimeUtil"]], "API Documentation": [[14, "api-documentation"]], "Available Data Types": [[15, "available-data-types"]], "satellite": [[15, "satellite"]], "binlightning": [[15, "binlightning"]], "grid": [[15, "grid"]], "warning": [[15, "warning"]], "radar": [[15, "radar"]], "Development Guide": [[16, "development-guide"]], "Writing a New Factory": [[16, "writing-a-new-factory"]], "Registering the Factory with the Framework": [[16, "registering-the-factory-with-the-framework"]], "Retrieving Data Using the Factory": [[16, "retrieving-data-using-the-factory"]], "Development Background": [[16, "development-background"]], "Design/Implementation": [[16, "design-implementation"]], "How users of the framework retrieve and use the data": [[16, "how-users-of-the-framework-retrieve-and-use-the-data"]], "How plugin developers contribute support for new datatypes": [[16, "how-plugin-developers-contribute-support-for-new-datatypes"]], "How the framework works when it receives a request": [[16, "how-the-framework-works-when-it-receives-a-request"]], "Request interfaces": [[16, "request-interfaces"]], "Data Interfaces": [[16, "data-interfaces"]], "Factory Interfaces (Java only)": [[16, "factory-interfaces-java-only"]], "Colored Surface Temperature Plot": [[17, "colored-surface-temperature-plot"]], "Objectives": [[17, "objectives"], [18, "objectives"], [20, "objectives"], [21, "objectives"], [22, "objectives"], [23, "objectives"], [24, "objectives"], [27, "objectives"], [29, "objectives"], [30, "objectives"]], "Table of Contents": [[17, "table-of-contents"], [18, "table-of-contents"], [20, "table-of-contents"], [21, "table-of-contents"], [22, "table-of-contents"], [23, "table-of-contents"], [24, "table-of-contents"], [27, "table-of-contents"], [29, "table-of-contents"], [30, "table-of-contents"]], "1 Imports": [[17, "imports"], [18, "imports"], [20, "imports"], [21, "imports"], [22, "imports"], [23, "imports"], [24, "imports"], [29, "imports"], [30, "imports"]], "2 Initial Setup": [[17, "initial-setup"], [20, "initial-setup"]], "2.1 Geographic Filter": [[17, "geographic-filter"]], "2.2 EDEX Connection": [[17, "edex-connection"]], "3 Filter by Time": [[17, "filter-by-time"]], "4 Access and Convert Temp Data": [[17, "access-and-convert-temp-data"]], "5 Define Temperature Thresholds": [[17, "define-temperature-thresholds"]], "6 Plot the Data!": [[17, "plot-the-data"], [22, "plot-the-data"], [29, "plot-the-data"]], "7 See Also": [[17, "see-also"], [22, "see-also"], [29, "see-also"]], "7.1 Additional Documention": [[17, "additional-documention"]], "Colorized Grid Data": [[18, "colorized-grid-data"]], "2 Define Data Request": [[18, "define-data-request"]], "3 Limit Results Based on Time": [[18, "limit-results-based-on-time"]], "4 Function: make_map()": [[18, "function-make-map"]], "5 Use the Grid Data!": [[18, "use-the-grid-data"]], "5.1 Plot Using pcolormesh": [[18, "plot-using-pcolormesh"]], "5.2 Plot Using contourf": [[18, "plot-using-contourf"]], "6 See Also": [[18, "see-also"], [20, "see-also"]], "6.1 Related Notebooks": [[18, "related-notebooks"], [20, "related-notebooks"]], "6.2 Additional Documentation": [[18, "additional-documentation"], [20, "additional-documentation"]], "Forecast Model Vertical Sounding": [[19, "forecast-model-vertical-sounding"]], "Skew-T/Log-P": [[19, "skew-t-log-p"]], "Model Sounding Comparison": [[19, "model-sounding-comparison"]], "GOES CIRA Product Writer": [[20, "goes-cira-product-writer"]], "2.1 EDEX Connection": [[20, "edex-connection"]], "2.2 Parameter Definition": [[20, "parameter-definition"]], "3 Function: set_size()": [[20, "function-set-size"]], "4 Function: write_img()": [[20, "function-write-img"]], "5 Get the Data and Write it Out!": [[20, "get-the-data-and-write-it-out"]], "5.1 Filter the Data": [[20, "filter-the-data"]], "5.2 Define Output Location": [[20, "define-output-location"]], "5.3 Write Out GOES Images": [[20, "write-out-goes-images"]], "Grid Levels and Parameters": [[21, "grid-levels-and-parameters"]], "2 Connect to EDEX": [[21, "connect-to-edex"], [23, "connect-to-edex"]], "3 Get a List of Supported Data Types": [[21, "get-a-list-of-supported-data-types"]], "4 Create a New Data Request and Set the Type": [[21, "create-a-new-data-request-and-set-the-type"]], "5 Get Available Locations": [[21, "get-available-locations"]], "6 Get Available Parameters": [[21, "get-available-parameters"]], "7 Get Available Levels": [[21, "get-available-levels"]], "8 Get Available Times": [[21, "get-available-times"]], "9 Get the Data!": [[21, "get-the-data"]], "10 See Also": [[21, "see-also"]], "10.1 Related Notebooks": [[21, "related-notebooks"]], "METAR Station Plot with MetPy": [[22, "metar-station-plot-with-metpy"]], "2 Function: get_cloud_cover()": [[22, "function-get-cloud-cover"]], "3 Initial Setup": [[22, "initial-setup"]], "3.1 Initial EDEX Connection": [[22, "initial-edex-connection"]], "3.2 Setting Connection Location Names": [[22, "setting-connection-location-names"]], "4 Filter by Time": [[22, "filter-by-time"]], "5 Use the Data!": [[22, "use-the-data"], [29, "use-the-data"]], "5.1 Get the Data!": [[22, "get-the-data"]], "5.2 Extract all Parameters": [[22, "extract-all-parameters"]], "5.3 Populate the Data Dictionary": [[22, "populate-the-data-dictionary"]], "7.1 Related Notebooks": [[22, "related-notebooks"], [29, "related-notebooks"]], "7.2 Additional Documentation": [[22, "additional-documentation"], [29, "additional-documentation"]], "Map Resources and Topography": [[23, "map-resources-and-topography"]], "3 Function: make_map()": [[23, "function-make-map"]], "4 Create Initial Map From CWA": [[23, "create-initial-map-from-cwa"]], "5 Draw Merged CWA": [[23, "draw-merged-cwa"]], "6 Draw Interstates using Boundary Filter": [[23, "draw-interstates-using-boundary-filter"]], "7 Draw Nearby Cities": [[23, "draw-nearby-cities"]], "8 Draw Nearby Lakes": [[23, "draw-nearby-lakes"]], "9 Draw Major Rivers": [[23, "draw-major-rivers"]], "10 Draw Topography": [[23, "draw-topography"]], "11 See Also": [[23, "see-also"]], "11.1 Additional Documentation": [[23, "additional-documentation"]], "Model Sounding Data": [[24, "model-sounding-data"]], "2 EDEX Connection": [[24, "edex-connection"], [29, "edex-connection"]], "3 Setting Location": [[24, "setting-location"]], "3.1 Available Location Names": [[24, "available-location-names"]], "3.2 Setting the Location Name": [[24, "setting-the-location-name"]], "4 Filtering by Time": [[24, "filtering-by-time"]], "5 Get the Data!": [[24, "get-the-data"]], "6 Use the Data!": [[24, "use-the-data"]], "6.1 Prepare Data Objects": [[24, "prepare-data-objects"]], "6.2 Calculate Dewpoint from Specific Humidity": [[24, "calculate-dewpoint-from-specific-humidity"]], "6.2.1 Method 1": [[24, "method-1"]], "6.2.2 Method 2": [[24, "method-2"]], "6.2.3 Method 3": [[24, "method-3"]], "7 Plot the Data!": [[24, "plot-the-data"]], "8 See Also": [[24, "see-also"]], "8.1 Related Notebooks": [[24, "related-notebooks"]], "8.2 Additional Documentation": [[24, "additional-documentation"]], "NEXRAD Level3 Radar": [[25, "nexrad-level3-radar"]], "Precip Accumulation-Region Of Interest": [[26, "precip-accumulation-region-of-interest"]], "Regional Surface Obs Plot": [[27, "regional-surface-obs-plot"]], "Imports": [[27, "imports"]], "Function: get_cloud_cover()": [[27, "function-get-cloud-cover"]], "Function: make_map()": [[27, "function-make-map"]], "Function: extract_plotting_data()": [[27, "function-extract-plotting-data"]], "Function: plot_data()": [[27, "function-plot-data"]], "Initial Setup": [[27, "initial-setup"]], "Initial EDEX Connection": [[27, "initial-edex-connection"]], "Maps Request and Response": [[27, "maps-request-and-response"]], "Define Geographic Filter": [[27, "define-geographic-filter"]], "Define Time Filter": [[27, "define-time-filter"]], "Define Common Parameters for Data Requests": [[27, "define-common-parameters-for-data-requests"]], "Define METAR Request": [[27, "define-metar-request"]], "Define Synoptic Request": [[27, "define-synoptic-request"]], "Get the Data!": [[27, "get-the-data"]], "Get the EDEX Responses": [[27, "get-the-edex-responses"]], "Extract Plotting Data": [[27, "extract-plotting-data"]], "Plot the Data": [[27, "plot-the-data"]], "Draw the Region": [[27, "draw-the-region"]], "Plot METAR Data": [[27, "plot-metar-data"]], "Plot Synoptic Data": [[27, "plot-synoptic-data"]], "Plot both METAR and Synoptic Data": [[27, "plot-both-metar-and-synoptic-data"]], "See Also": [[27, "see-also"]], "Related Notebooks": [[27, "related-notebooks"]], "Additional Documentation": [[27, "additional-documentation"]], "Satellite Imagery": [[28, "satellite-imagery"]], "Available Sources, Creating Entities, Sectors, and Products": [[28, "available-sources-creating-entities-sectors-and-products"]], "GOES 16 Mesoscale Sectors": [[28, "goes-16-mesoscale-sectors"]], "Upper Air BUFR Soundings": [[29, "upper-air-bufr-soundings"]], "2.1 Initial EDEX Connection": [[29, "initial-edex-connection"]], "2.2 Setting Additional Request Parameters": [[29, "setting-additional-request-parameters"]], "2.3 Available Location Names": [[29, "available-location-names"]], "2.4 Setting the Location Name": [[29, "setting-the-location-name"]], "3 Filtering by Time": [[29, "filtering-by-time"]], "4 Get the Data!": [[29, "get-the-data"]], "5.1 Prepare Data Objects": [[29, "prepare-data-objects"]], "5.2 Convert Units": [[29, "convert-units"]], "Watch Warning and Advisory Plotting": [[30, "watch-warning-and-advisory-plotting"]], "2 Function: make_map()": [[30, "function-make-map"]], "3 Function: get_color()": [[30, "function-get-color"]], "4 Function get_title()": [[30, "function-get-title"]], "5 Initial Setup": [[30, "initial-setup"]], "5.1 EDEX Connection": [[30, "edex-connection"]], "5.2 Significance (Sig) Constants": [[30, "significance-sig-constants"]], "6 Filter by Time": [[30, "filter-by-time"]], "7 Use the Data!": [[30, "use-the-data"]], "7.1 Get the Data": [[30, "get-the-data"]], "7.2 Extract Phensigs, Geometries, and Times": [[30, "extract-phensigs-geometries-and-times"]], "8 Plot the Data!": [[30, "plot-the-data"]], "8.1 Create State and Political Boundaries": [[30, "create-state-and-political-boundaries"]], "8.2 Draw the Plot and Legend for WWAs": [[30, "draw-the-plot-and-legend-for-wwas"]], "9 See Also": [[30, "see-also"]], "9.1 Related Notebooks": [[30, "related-notebooks"]], "9.2 Additional Documentation": [[30, "additional-documentation"]], "Data Plotting Examples": [[31, "data-plotting-examples"]], "Python AWIPS Data Access Framework": [[32, "python-awips-data-access-framework"]], "Pre-requisite Software": [[32, "pre-requisite-software"]], "Package-Only Install": [[32, "package-only-install"]], "Pip Install": [[32, "pip-install"]], "Conda Install": [[32, "conda-install"]], "Source Code with Examples Install": [[32, "source-code-with-examples-install"]], "Questions \u2013 Contact Us!": [[32, "questions-contact-us"]]}, "indexentries": {"awips.dataaccess.combinedtimequery": [[1, "module-awips.dataaccess.CombinedTimeQuery"]], "getavailabletimes() (in module awips.dataaccess.combinedtimequery)": [[1, "awips.dataaccess.CombinedTimeQuery.getAvailableTimes"]], "module": [[1, "module-awips.dataaccess.CombinedTimeQuery"], [2, "module-awips.dataaccess.DataAccessLayer"], [3, "module-awips.DateTimeConverter"], [5, "module-awips.gfe.IFPClient"], [6, "module-awips.dataaccess.ModelSounding"], [7, "module-awips.dataaccess.PyData"], [8, "module-awips.dataaccess.PyGeometryData"], [9, "module-awips.dataaccess.PyGridData"], [10, "module-awips.RadarCommon"], [11, "module-awips.ThriftClient"], [12, "module-awips.dataaccess.ThriftClientRouter"], [13, "module-awips.TimeUtil"]], "awips.dataaccess.dataaccesslayer": [[2, "module-awips.dataaccess.DataAccessLayer"]], "changeedexhost() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.changeEDEXHost"]], "getavailablelevels() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getAvailableLevels"]], "getavailablelocationnames() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getAvailableLocationNames"]], "getavailableparameters() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getAvailableParameters"]], "getavailabletimes() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getAvailableTimes"]], "getforecastrun() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getForecastRun"]], "getgeometrydata() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getGeometryData"]], "getgriddata() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getGridData"]], "getidentifiervalues() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getIdentifierValues"]], "getmetarobs() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getMetarObs"]], "getoptionalidentifiers() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getOptionalIdentifiers"]], "getradarproductids() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getRadarProductIDs"]], "getradarproductnames() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getRadarProductNames"]], "getrequiredidentifiers() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getRequiredIdentifiers"]], "getsupporteddatatypes() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getSupportedDatatypes"]], "getsynopticobs() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getSynopticObs"]], "newdatarequest() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.newDataRequest"]], "setlazyloadgridlatlon() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.setLazyLoadGridLatLon"]], "awips.datetimeconverter": [[3, "module-awips.DateTimeConverter"]], "constructtimerange() (in module awips.datetimeconverter)": [[3, "awips.DateTimeConverter.constructTimeRange"]], "converttodatetime() (in module awips.datetimeconverter)": [[3, "awips.DateTimeConverter.convertToDateTime"]], "idatarequest (class in awips.dataaccess)": [[4, "awips.dataaccess.IDataRequest"]], "__weakref__ (awips.dataaccess.idatarequest attribute)": [[4, "awips.dataaccess.IDataRequest.__weakref__"]], "addidentifier() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.addIdentifier"]], "getdatatype() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getDatatype"]], "getenvelope() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getEnvelope"]], "getidentifiers() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getIdentifiers"]], "getlevels() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getLevels"]], "getlocationnames() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getLocationNames"]], "setdatatype() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setDatatype"]], "setenvelope() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setEnvelope"]], "setlevels() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setLevels"]], "setlocationnames() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setLocationNames"]], "setparameters() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setParameters"]], "ifpclient (class in awips.gfe.ifpclient)": [[5, "awips.gfe.IFPClient.IFPClient"]], "awips.gfe.ifpclient": [[5, "module-awips.gfe.IFPClient"]], "commitgrid() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.commitGrid"]], "getgridinventory() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.getGridInventory"]], "getparmlist() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.getParmList"]], "getselecttr() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.getSelectTR"]], "getsiteid() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.getSiteID"]], "awips.dataaccess.modelsounding": [[6, "module-awips.dataaccess.ModelSounding"]], "changeedexhost() (in module awips.dataaccess.modelsounding)": [[6, "awips.dataaccess.ModelSounding.changeEDEXHost"]], "getsounding() (in module awips.dataaccess.modelsounding)": [[6, "awips.dataaccess.ModelSounding.getSounding"]], "pydata (class in awips.dataaccess.pydata)": [[7, "awips.dataaccess.PyData.PyData"]], "awips.dataaccess.pydata": [[7, "module-awips.dataaccess.PyData"]], "getattribute() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getAttribute"]], "getattributes() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getAttributes"]], "getdatatime() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getDataTime"]], "getlevel() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getLevel"]], "getlocationname() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getLocationName"]], "pygeometrydata (class in awips.dataaccess.pygeometrydata)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData"]], "awips.dataaccess.pygeometrydata": [[8, "module-awips.dataaccess.PyGeometryData"]], "getgeometry() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getGeometry"]], "getnumber() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getNumber"]], "getparameters() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getParameters"]], "getstring() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getString"]], "gettype() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getType"]], "getunit() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getUnit"]], "pygriddata (class in awips.dataaccess.pygriddata)": [[9, "awips.dataaccess.PyGridData.PyGridData"]], "awips.dataaccess.pygriddata": [[9, "module-awips.dataaccess.PyGridData"]], "getlatloncoords() (awips.dataaccess.pygriddata.pygriddata method)": [[9, "awips.dataaccess.PyGridData.PyGridData.getLatLonCoords"]], "getparameter() (awips.dataaccess.pygriddata.pygriddata method)": [[9, "awips.dataaccess.PyGridData.PyGridData.getParameter"]], "getrawdata() (awips.dataaccess.pygriddata.pygriddata method)": [[9, "awips.dataaccess.PyGridData.PyGridData.getRawData"]], "getunit() (awips.dataaccess.pygriddata.pygriddata method)": [[9, "awips.dataaccess.PyGridData.PyGridData.getUnit"]], "awips.radarcommon": [[10, "module-awips.RadarCommon"]], "encode_dep_vals() (in module awips.radarcommon)": [[10, "awips.RadarCommon.encode_dep_vals"]], "encode_radial() (in module awips.radarcommon)": [[10, "awips.RadarCommon.encode_radial"]], "encode_thresh_vals() (in module awips.radarcommon)": [[10, "awips.RadarCommon.encode_thresh_vals"]], "get_data_type() (in module awips.radarcommon)": [[10, "awips.RadarCommon.get_data_type"]], "get_datetime_str() (in module awips.radarcommon)": [[10, "awips.RadarCommon.get_datetime_str"]], "get_hdf5_data() (in module awips.radarcommon)": [[10, "awips.RadarCommon.get_hdf5_data"]], "get_header() (in module awips.radarcommon)": [[10, "awips.RadarCommon.get_header"]], "thriftclient (class in awips.thriftclient)": [[11, "awips.ThriftClient.ThriftClient"]], "thriftrequestexception": [[11, "awips.ThriftClient.ThriftRequestException"]], "awips.thriftclient": [[11, "module-awips.ThriftClient"]], "sendrequest() (awips.thriftclient.thriftclient method)": [[11, "awips.ThriftClient.ThriftClient.sendRequest"]], "lazygridlatlon (class in awips.dataaccess.thriftclientrouter)": [[12, "awips.dataaccess.ThriftClientRouter.LazyGridLatLon"]], "thriftclientrouter (class in awips.dataaccess.thriftclientrouter)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter"]], "awips.dataaccess.thriftclientrouter": [[12, "module-awips.dataaccess.ThriftClientRouter"]], "getavailablelevels() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLevels"]], "getavailablelocationnames() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLocationNames"]], "getavailableparameters() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableParameters"]], "getavailabletimes() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableTimes"]], "getgeometrydata() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGeometryData"]], "getgriddata() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGridData"]], "getidentifiervalues() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getIdentifierValues"]], "getnotificationfilter() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getNotificationFilter"]], "getoptionalidentifiers() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getOptionalIdentifiers"]], "getrequiredidentifiers() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getRequiredIdentifiers"]], "getsupporteddatatypes() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getSupportedDatatypes"]], "newdatarequest() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.newDataRequest"]], "setlazyloadgridlatlon() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.setLazyLoadGridLatLon"]], "awips.timeutil": [[13, "module-awips.TimeUtil"]], "determinedrtoffset() (in module awips.timeutil)": [[13, "awips.TimeUtil.determineDrtOffset"]], "maketime() (in module awips.timeutil)": [[13, "awips.TimeUtil.makeTime"]]}}) \ 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/Colored_Surface_Temperature_Plot", "examples/generated/Colorized_Grid_Data", "examples/generated/Forecast_Model_Vertical_Sounding", "examples/generated/GOES_CIRA_Product_Writer", "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_Warning_and_Advisory_Plotting", "examples/index", "index"], "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/Colored_Surface_Temperature_Plot.rst", "examples/generated/Colorized_Grid_Data.rst", "examples/generated/Forecast_Model_Vertical_Sounding.rst", "examples/generated/GOES_CIRA_Product_Writer.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_Warning_and_Advisory_Plotting.rst", "examples/index.rst", "index.rst"], "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", "Colored Surface Temperature Plot", "Colorized Grid Data", "Forecast Model Vertical Sounding", "GOES CIRA Product Writer", "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 Warning and Advisory Plotting", "Data Plotting Examples", "Python AWIPS Data Access Framework"], "terms": {"i": [0, 2, 6, 7, 9, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32], "weather": [0, 6, 22, 27, 30, 32], "forecast": [0, 2, 6, 18, 21, 24, 28, 29, 31, 32], "displai": [0, 16, 22, 24, 27, 29, 30, 32], "analysi": [0, 32], "packag": [0, 16, 18, 21, 23, 27, 30], "develop": [0, 32], "nation": [0, 30, 32], "servic": [0, 11, 16, 30, 32], "raytheon": [0, 16, 17, 18, 22, 27, 30], "java": 0, "applic": [0, 23], "consist": [0, 16, 23], "data": [0, 2, 4, 6, 7, 8, 9, 10, 23, 25, 26, 28], "render": [0, 23, 28], "client": [0, 2, 12], "which": [0, 6, 16, 17, 18, 19, 20, 21, 23, 24, 27, 29, 30], "run": [0, 2, 16, 18, 19, 20, 21, 22, 24, 29, 30], "red": [0, 17, 18], "hat": 0, "cento": 0, "linux": 0, "mac": [0, 20, 24], "o": [0, 20, 24], "x": [0, 17, 18, 19, 20, 23, 24, 26, 27], "backend": 0, "server": [0, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30, 32], "onli": [0, 2, 4, 17, 21, 22, 23, 24, 30], "take": [0, 16, 18, 19, 20, 21, 22, 27, 30], "unifi": [0, 16], "approach": 0, "ingest": [0, 16], "most": [0, 16, 18, 19, 21, 22, 24, 27, 29, 30], "type": [0, 3, 8, 10, 16, 17, 18, 20, 22, 23, 24, 29, 30], "follow": [0, 16, 20, 24, 27], "standard": [0, 23, 30], "path": [0, 20, 30], "through": [0, 16, 17, 18, 20, 22, 24, 27, 30], "system": [0, 21], "At": 0, "high": 0, "level": [0, 2, 4, 6, 7, 12, 16, 18, 19, 22, 23, 24, 25, 27, 29, 30, 31], "flow": 0, "describ": [0, 20, 30], "taken": [0, 16, 20], "piec": [0, 16], "from": [0, 2, 3, 16, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30, 32], "its": [0, 16, 21, 27, 30], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16], "thi": [0, 2, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32], "start": [0, 16, 17, 18, 21, 22, 27, 30, 32], "request": [0, 1, 2, 4, 5, 6, 11, 12, 15, 17, 19, 20, 22, 23, 24, 25, 26, 28, 30, 32], "store": [0, 16, 17, 19, 22, 30], "an": [0, 2, 4, 7, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "includ": [0, 3, 16, 17, 24, 32], "decod": [0, 16], "form": 0, "readabl": 0, "display": 0, "end": [0, 17, 20, 23, 24, 27, 30], "user": [0, 5, 18, 20, 25], "The": [0, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30, 32], "process": [0, 2, 16, 30], "ar": [0, 2, 4, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "highli": 0, "distribut": 0, "messag": [0, 16, 30], "broken": 0, "us": [0, 2, 6, 17, 20, 21, 27, 32], "inter": 0, "commun": [0, 2, 6], "imag": [0, 15, 18, 23, 27, 28, 30], "softwar": [0, 16], "releas": [0, 32], "program": [0, 32], "center": [0, 18, 22, 27, 30, 32], "consid": [0, 16], "public": [0, 16, 17, 19, 20, 22, 23, 24, 27, 29, 30], "domain": [0, 23, 24], "sinc": [0, 16, 19, 20, 24, 29, 30], "without": [0, 2, 16, 27], "proprietari": 0, "code": [0, 16, 19, 20, 21, 22, 23, 25, 27], "As": [0, 16], "export": 0, "control": 0, "do": [0, 16, 17, 21, 24, 30], "appli": [0, 16, 20], "ani": [0, 2, 16, 23, 30], "person": 0, "free": [0, 16, 20, 32], "download": [0, 23], "modifi": [0, 16, 20, 22, 29, 30], "share": [0, 27], "entiti": [0, 15, 20], "who": [0, 16], "re": [0, 16, 17, 19, 20, 21, 22, 24, 27, 29, 30], "encourag": 0, "conduct": 0, "own": [0, 16], "foss": 0, "cot": [0, 24], "entitl": 0, "review": [0, 16], "ensur": 0, "thei": [0, 16, 23, 24, 27, 30], "remain": [0, 22], "compat": [0, 16], "associ": [0, 7, 9, 16, 22, 30], "term": 0, "see": [0, 16], "foss_cots_licens": 0, "pdf": 0, "http": [0, 22, 30, 32], "github": [0, 32], "com": [0, 16, 17, 18, 22, 27, 30, 32], "awips2": 0, "primari": 0, "storag": [0, 16], "environment": 0, "exchang": 0, "visual": [0, 17, 19, 20, 21, 22, 23, 24, 27, 29, 30], "manipul": [0, 16, 17, 18, 19, 20, 22, 23, 24, 27, 29, 30], "common": [0, 16, 17, 18, 22, 23, 30], "environ": [0, 2, 32], "typic": [0, 16, 21, 23], "instal": 0, "workstat": 0, "separ": [0, 2, 16, 17, 19, 29], "other": [0, 16, 19, 20, 21, 23, 28], "compon": [0, 19, 22, 24, 27, 29], "In": [0, 16, 17, 18, 19, 22, 23, 24, 27, 29, 30, 32], "addit": [0, 16], "specif": [0, 4, 16, 18, 20, 22, 23, 25, 30], "sever": [0, 21, 22, 23, 27, 29, 30], "commerci": 0, "off": [0, 18, 20, 27, 30], "shelf": 0, "open": [0, 16, 32], "product": [0, 2, 15, 16, 17, 24, 25, 31], "assist": 0, "oper": [0, 32], "work": [0, 2, 21, 24, 29, 32], "togeth": 0, "compos": 0, "entir": [0, 23], "main": [0, 16, 24], "send": [0, 16, 17], "alert": [0, 16], "when": [0, 2, 17, 18, 19, 20, 23, 24, 29], "readi": [0, 21, 22, 30], "These": [0, 2, 30], "file": [0, 10, 16, 20], "header": 0, "inform": [0, 2, 19, 20, 21, 22, 23, 27, 30], "allow": [0, 2, 16, 17, 19, 20, 22, 23, 24, 27, 29, 30], "determin": [0, 16, 19, 26], "appropri": [0, 27, 30], "default": [0, 6, 16, 20, 22, 27, 30], "simpli": [0, 30], "name": [0, 2, 4, 5, 7, 8, 16, 19, 20, 23, 25, 27, 28, 30], "handl": [0, 16, 23, 30], "all": [0, 2, 4, 6, 16, 17, 19, 20, 21, 23, 24, 27, 29, 30, 32], "than": [0, 18, 19, 27, 30], "grib": [0, 16, 18], "ingestgrib": 0, "after": [0, 16, 20, 22, 29, 30], "write": 0, "metadata": 0, "databas": [0, 16, 23, 27], "via": [0, 3, 16], "postgr": [0, 23], "save": [0, 16], "A": [0, 2, 3, 4, 6, 16, 24, 26, 30], "third": 0, "feed": 0, "stop": 0, "command": 0, "script": 0, "etc": [0, 16, 19, 22], "rc": 0, "d": [0, 15, 16, 17, 19, 22, 24, 27, 28, 30], "init": 0, "edex_camel": 0, "tool": 0, "contain": [0, 16, 22, 27], "number": [0, 8, 16, 18, 23, 30], "differ": [0, 16, 17, 18, 19, 21, 23, 24, 27, 29, 30], "configur": 0, "call": [0, 16, 18, 20, 23, 27, 30, 32], "perspect": 0, "d2d": 0, "two": [0, 16, 18, 22, 23, 24, 27, 30, 32], "dimension": 0, "gfe": [0, 4, 5, 16, 21], "graphic": 0, "editor": 0, "ncp": 0, "sh": [0, 21, 24], "modern": 0, "version": 0, "design": [0, 20], "present": 0, "variou": [0, 19, 22, 23, 27], "notif": 0, "error": [0, 16, 21, 27], "alarm": 0, "can": [0, 3, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 32], "execut": 0, "either": [0, 16, 21, 27, 32], "independ": 0, "itself": [0, 16], "within": [0, 2, 4, 16, 23], "requir": [0, 2, 16, 20, 23], "toolbar": 0, "also": [0, 3, 15, 16], "hidden": 0, "view": [0, 24], "access": [0, 2, 6, 16, 18, 21, 23, 27, 30], "right": [0, 20], "click": 0, "desktop": 0, "taskbar": 0, "icon": 0, "www": 0, "ucar": [0, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32], "edu": [0, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32], "local": [0, 16, 20], "manag": [0, 16, 32], "support": [0, 2, 3, 4, 32], "suit": 0, "fundament": 0, "compris": 0, "internet": 0, "idd": 0, "provid": [0, 2, 16, 23, 30, 32], "grid": [0, 2, 4, 6, 9, 16, 19, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31], "surfac": [0, 16, 19, 21, 22, 28, 31], "observ": [0, 27], "upper": [0, 19, 21, 24, 31], "air": [0, 19, 21, 24, 27, 31], "profil": [0, 16, 21, 24, 29], "satellit": [0, 16, 20, 21, 31], "radar": [0, 2, 4, 10, 16, 21, 31], "imageri": [0, 20, 21, 26, 31], "meteorolog": [0, 32], "dataset": [0, 21, 23, 27, 32], "directli": [0, 17, 19, 20, 22, 23, 24, 27, 29], "avail": [0, 2, 6, 16, 18, 20, 23, 30], "edex_ldm": 0, "invok": 0, "ldmd": 0, "conf": 0, "post": 0, "apach": 0, "org": [0, 22, 30], "queue": 0, "processor": 0, "interfac": [0, 22, 30], "daemon": 0, "facilit": 0, "between": [0, 16, 18, 19, 20, 24, 27, 30], "receiv": [0, 24, 29], "emploi": 0, "ha": [0, 16, 20, 22, 23, 24, 27, 30], "finish": [0, 19], "further": 0, "qpidd": 0, "known": [0, 20, 32], "relat": [0, 17], "dbm": 0, "retriev": [0, 4, 6, 27, 29], "tabl": 0, "some": [0, 16, 21, 24, 27, 29], "read": [0, 18, 21], "mai": [0, 16, 18, 20, 24, 27, 29], "queri": [0, 16, 19, 20, 23], "termain": 0, "base": [0, 6, 16, 17, 20, 23, 24, 25, 27, 28, 30], "front": 0, "psql": 0, "edex_postgr": 0, "hdfgroup": 0, "hierarch": 0, "format": [0, 21, 24], "v": [0, 16, 19, 22, 24, 27, 29], "5": [0, 25, 26, 27, 28], "similar": [0, 16, 17, 19, 27, 30], "netcdf": [0, 20], "multipl": [0, 16, 20, 21, 23, 27], "singl": [0, 2, 16, 20, 21, 23], "For": [0, 16, 17, 20, 21, 23], "exampl": [0, 2, 15, 16, 18, 19, 20, 21, 23, 24, 25, 27, 28, 29, 30], "volum": 0, "scan": [0, 15, 25], "reflect": [0, 25], "veloc": [0, 25], "well": [0, 16, 18, 22, 27, 30, 32], "deriv": [0, 16, 25, 28], "composit": [0, 20, 25, 28], "python": [0, 2, 3, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30], "isol": 0, "enhanc": [0, 25], "wa": [0, 16, 19, 24, 27], "creat": [0, 2, 16, 17, 18, 19, 20, 22, 24, 26, 27, 29, 32], "e": [0, 16, 24, 27, 28], "sens": 0, "function": [0, 16, 21], "being": [0, 4, 16, 27, 30], "written": [0, 16, 20], "sent": [0, 17], "implement": [0, 2], "part": [0, 16], "1": [0, 15, 25, 26, 27, 28], "2": [0, 15, 25, 26, 27, 28], "logger": 0, "coordin": [0, 9, 16, 18], "log": [0, 24, 29], "awip": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "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], "getavailabletim": [1, 2, 12, 14, 15, 16, 18, 19, 20, 21, 24, 25, 26, 28, 29], "reftimeonli": [1, 2, 12], "fals": [1, 2, 18, 20, 23, 25, 27, 28, 30], "changeedexhost": [2, 6, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "newhostnam": 2, "chang": [2, 6, 16, 23, 24], "edex": [2, 6, 15, 16, 18, 25, 26, 28, 32], "host": [2, 5, 6, 11, 12], "framework": [2, 6], "nativ": [2, 3, 16, 20], "otherwis": 2, "method": [2, 16, 20, 21, 30], "throw": [2, 16], "typeerror": [2, 3, 22], "arg": [2, 3, 4, 6, 7, 8, 10, 16, 18], "connect": [2, 6], "getavailablelevel": [2, 12, 14, 15, 19, 21, 25], "get": [2, 4, 7, 8, 9, 10, 16, 17, 18, 19, 23, 28], "match": [2, 16], "actual": [2, 16, 20, 30], "find": [2, 21, 30], "return": [2, 3, 4, 6, 7, 8, 9, 10, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "list": [2, 4, 6, 7, 8, 16, 19, 22, 24, 25, 27, 28, 29], "string": [2, 4, 7, 8, 9, 10, 16, 19, 22, 30], "getavailablelocationnam": [2, 12, 14, 15, 16, 20, 21, 24, 25, 28, 29], "locat": [2, 4, 7, 16, 18, 19, 23, 30], "getavailableparamet": [2, 12, 14, 15, 21, 25, 28, 30], "paramet": [2, 4, 6, 8, 9, 12, 16, 18, 19, 24, 30, 31], "time": [2, 3, 6, 7, 12, 15, 16, 19, 20, 23, 25, 26, 28], "idatarequest": [2, 14, 16, 20, 22, 27, 30], "option": [2, 6, 16, 21, 24, 28, 29, 30], "true": [2, 15, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30], "uniqu": [2, 22, 30], "reftim": [2, 19, 20, 24, 29, 30], "should": [2, 16, 27], "forecasthr": [2, 24], "datatim": [2, 6, 16, 19, 20, 21, 29], "getforecastrun": [2, 14, 15, 18, 19, 21, 24, 26], "cycl": [2, 15, 17, 18, 19, 20, 21, 22, 24, 25, 26, 30], "latest": [2, 19, 28, 30], "object": [2, 3, 4, 6, 16], "respons": [2, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 28, 29, 30], "refer": [2, 4, 16, 19, 20, 21, 23, 24, 30], "arrai": [2, 9, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 29, 30], "getgeometrydata": [2, 12, 14, 15, 16, 17, 21, 22, 23, 24, 27, 29, 30], "geometri": [2, 4, 8, 16, 17, 19, 23, 26, 27], "specifi": [2, 6, 8, 16, 20, 21, 23], "each": [2, 16, 17, 20, 22, 23, 24, 27, 29, 30], "combin": [2, 16, 20, 23, 27], "igeometrydata": [2, 16], "timerang": [2, 3, 6, 16, 17, 19, 22, 27, 30], "none": [2, 5, 6, 7, 9, 12, 18, 20, 22, 23, 26, 27, 28, 30], "agnost": [2, 16], "getgriddata": [2, 12, 14, 15, 16, 18, 20, 21, 23, 25, 26, 28], "igriddata": [2, 16], "getidentifiervalu": [2, 12, 14, 15, 20, 28], "identifierkei": [2, 12], "valu": [2, 4, 7, 8, 11, 16, 17, 19, 20, 22, 23, 24, 26, 27, 30], "particular": [2, 16, 24, 29], "identifi": [2, 4, 16, 18, 20, 23, 24, 27, 28, 29], "datatyp": [2, 4, 12, 18, 20, 21, 23, 27, 28], "getmetarob": [2, 14, 17, 27], "ob": [2, 4, 15, 16, 17, 21, 22, 23, 24, 29, 30, 31], "dictionari": [2, 4, 6, 27, 30], "special": [2, 16], "consider": 2, "multi": 2, "presweath": [2, 27], "skycov": [2, 22, 27], "skylayerbas": [2, 27], "dal": 2, "getgeometri": [2, 8, 15, 16, 23, 24, 27, 29, 30], "metar": [2, 16, 17, 31], "getoptionalidentifi": [2, 12, 14, 20, 28], "getradarproductid": [2, 14, 25], "availableparm": [2, 25], "numer": [2, 19], "idetifi": 2, "nexrad3": 2, "full": [2, 15, 16, 21, 23, 28, 29, 30], "filter": [2, 21], "getradarproductnam": [2, 14, 25], "getrequiredidentifi": [2, 12, 14], "must": [2, 3, 16, 20, 24, 27], "set": [2, 4, 16, 17, 18, 19, 20, 23, 27, 28, 30], "succe": 2, "getsupporteddatatyp": [2, 12, 14, 21], "getsynopticob": [2, 14, 27], "sfcob": [2, 16, 21, 27], "synop": [2, 16, 27], "newdatarequest": [2, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "kwarg": [2, 12], "new": [2, 17, 18, 20, 22, 23, 24, 26, 27, 29, 30, 32], "instanc": [2, 6, 19, 20, 21, 22], "suitabl": 2, "runtim": 2, "exist": [2, 16, 17, 20, 23], "sole": 2, "conveni": [2, 16], "locationnam": [2, 4, 12, 16, 18, 27], "envelop": [2, 4, 12, 16, 17, 18, 19, 23, 26, 27], "limit": [2, 16, 17, 20, 24, 27, 29], "leftov": 2, "setlazyloadgridlatlon": [2, 12, 14], "lazyloadgridlatlon": [2, 12], "hint": 2, "indic": [2, 16, 24], "whether": [2, 20, 30], "load": 2, "lat": [2, 6, 9, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 30], "lon": [2, 6, 9, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 30], "immedi": 2, "wait": 2, "until": 2, "need": [2, 16, 18, 19, 20, 21, 22, 23, 24, 29, 30, 32], "perform": [2, 3, 6, 16], "tune": [2, 16], "affect": [2, 17], "wai": [2, 16, 22, 26, 30], "depend": [2, 16, 20, 21, 23, 24], "intern": 2, "might": [2, 21, 32], "ignor": [2, 16, 17, 25, 27], "certain": [2, 16], "condit": 2, "met": [2, 16], "It": [2, 16, 19, 29, 30], "could": [2, 16, 20], "guarante": 2, "would": [2, 16, 30], "better": 2, "overhead": 2, "gener": [2, 16, 19, 26], "out": [2, 16, 21, 22, 24, 27, 29, 30, 32], "dure": [2, 18, 24, 29, 30], "initi": [2, 19], "boolean": [2, 10, 22, 30], "lazi": 2, "constructtimerang": [3, 14], "build": [3, 16, 29], "dynamicseri": [3, 17, 18, 22, 27, 30], "given": [3, 6, 21], "argument": [3, 27], "pair": [3, 6, 17], "convert": [3, 16, 18, 19, 20, 27, 30], "datetim": [3, 10, 17, 20, 22, 24, 27, 28, 29, 30], "converttodatetim": [3, 14], "timearg": 3, "represent": 3, "like": [3, 16, 21], "struct_tim": 3, "date": 3, "timestamp": 3, "rais": [3, 19], "convers": 3, "repres": [3, 16], "float": [3, 8, 16, 17, 19, 20, 22, 27], "int": [3, 8, 16, 17, 22, 23, 26, 27], "long": [3, 8, 16, 24], "same": [3, 16, 20, 23, 24, 27, 28], "pass": [3, 16, 19, 20], "class": [4, 5, 7, 8, 9, 11, 12, 16, 19, 21, 25], "submit": 4, "dataaccesslay": [4, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "__weakref__": 4, "weak": 4, "defin": [4, 21, 22, 23, 24, 28, 29, 30], "abstract": [4, 16], "addidentifi": [4, 15, 16, 20, 23, 24, 27, 28], "kei": [4, 6, 7, 16, 30], "add": [4, 16, 17, 20, 22, 24, 27, 29, 30], "getdatatyp": [4, 16], "getenvelop": [4, 16], "rectangular": [4, 16], "shape": [4, 8, 15, 16, 17, 19, 21, 23, 25, 26, 27, 28, 30], "getidentifi": [4, 16], "getlevel": [4, 7, 16, 18, 25], "getlocationnam": [4, 7, 15, 16, 18, 21, 24, 25, 26, 29], "setdatatyp": [4, 15, 16, 18, 20, 21, 28, 29, 30], "setenvelop": [4, 16], "env": [4, 16, 18, 32], "If": [4, 6, 16, 18, 19, 20, 21, 22, 30, 32], "factori": 4, "constrain": 4, "setlevel": [4, 15, 16, 18, 21, 25, 26], "Not": [4, 16, 21], "abbrevi": [4, 8, 9], "setlocationnam": [4, 15, 16, 18, 19, 20, 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], "param": [4, 8, 16, 17, 21, 22, 30], "port": [5, 11], "site": [5, 15, 18, 21, 23, 24, 29], "prognam": 5, "commitgrid": 5, "getgridinventori": 5, "parmid": 5, "getparmlist": 5, "pid": 5, "getselecttr": 5, "getsiteid": 5, "getsound": [6, 14, 19], "modelnam": [6, 16, 19], "weatherel": 6, "samplepoint": 6, "seri": 6, "sound": [6, 21, 31], "model": [6, 18, 21, 28, 29, 31], "datasetid": [6, 16], "basi": 6, "sampl": [6, 23], "element": [6, 9, 21, 22], "hour": [6, 22, 25, 27, 28, 30], "_soundingcub": 6, "act": 6, "3": [6, 25, 26, 27, 28], "tier": 6, "final": [6, 17, 18, 20, 22, 27, 30], "datarecord": 7, "getattribut": [7, 16], "attribut": [7, 16, 19, 22, 23], "valid": [7, 18, 25, 26], "getdatatim": [7, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30], "geodatarecord": 8, "getnumb": [8, 16, 22, 23, 24, 27, 29], "getparamet": [8, 9, 16, 18, 21, 22, 24, 25, 28, 29], "getstr": [8, 16, 22, 23, 27, 29, 30], "gettyp": [8, 16], "doubl": 8, "getunit": [8, 9, 16, 21, 25, 29], "unit": [8, 9, 16, 17, 19, 21, 22, 24, 25, 26, 27], "griddatarecord": 9, "nx": [9, 12], "ny": [9, 12], "latlongrid": 9, "latlondeleg": 9, "getlatloncoord": [9, 15, 18, 21, 23, 25, 26, 28], "tupl": 9, "where": [9, 16, 19, 20, 21, 24, 26, 30], "first": [9, 16, 17, 19, 20, 22, 23, 24, 27, 28, 29, 30], "numpi": [9, 15, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "second": [9, 21, 24, 28, 30], "getrawdata": [9, 15, 16, 18, 20, 21, 23, 25, 26, 28], "encode_dep_v": [10, 14], "depval": 10, "encode_radi": [10, 14], "azval": 10, "encode_thresh_v": [10, 14], "threshval": 10, "get_data_typ": [10, 14], "azdat": 10, "radial": 10, "raster": 10, "get_datetime_str": [10, 14], "record": [10, 16, 17, 19, 22, 23, 27, 29, 30], "get_hdf5_data": [10, 14, 15], "idra": [10, 15], "get_head": [10, 14], "headerformat": 10, "xlen": 10, "ylen": 10, "descript": [10, 30], "9581": 11, "uri": 11, "sendrequest": 11, "thrift": 11, "except": [11, 16, 19, 21, 22, 24], "thriftrequestexcept": [11, 14], "lazygridlatlon": [12, 14], "crswkt": 12, "localhost": 12, "getnotificationfilt": 12, "determinedrtoffset": [13, 14], "timestr": 13, "maketim": [13, 14], "pydata": 14, "pygriddata": [14, 18, 23], "pygeometrydata": [14, 24, 29], "modelsound": [14, 19, 21, 24], "thriftclientrout": 14, "thriftclient": [14, 16], "timeutil": 14, "radarcommon": [14, 15], "ifpclient": 14, "datetimeconvert": 14, "combinedtimequeri": 14, "index": [14, 28], "contrust": [15, 28], "tree": [15, 28], "cloud": [15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "unidata": [15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32], "creatingent": [15, 20, 28], "print": [15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "availablesector": [15, 28], "sort": [15, 19, 21, 24, 25, 28, 29, 30], "sector": [15, 20, 26], "availableproduct": [15, 28], "point": [15, 16, 19, 20, 21, 23, 24, 26, 27, 29], "65": [15, 17, 24, 26, 30], "65293884277344": 15, "16": [15, 17, 18, 21, 24, 25, 26, 27, 30], "94915580749512": 15, "glm": 15, "glmgr": 15, "intens": 15, "10": [15, 17, 20, 22, 25, 26, 27, 28, 29, 30], "geom": [15, 24, 27, 29, 30], "rap13": [15, 18, 19, 21], "t": [15, 16, 18, 20, 21, 24, 29], "0fhag": [15, 18, 19, 21], "fcstrun": [15, 18, 19, 21, 24, 26], "multipolygon": [15, 23, 27, 30], "polygon": [15, 16, 17, 23, 26, 27, 30], "92": [15, 27, 28], "092348410": 15, "46": 15, "782322971": 15, "90": [15, 21, 27], "948581075": 15, "992865960": 15, "274543999": 15, "652773000": 15, "280511999": 15, "656933000": 15, "285491999": 15, "660741000": 15, "phensig": 15, "50": [15, 19, 21, 22, 23, 25, 26], "poli": [15, 30], "pd": 15, "getvalidperiod": [15, 24, 29], "ref": [15, 16, 30], "getreftim": [15, 18, 20, 21, 24, 25, 26, 28, 29, 30], "kmhx": [15, 24, 25], "digit": [15, 25], "hybrid": [15, 25], "refl": [15, 25], "availablelevel": [15, 19, 25], "have": [16, 21, 22, 24, 27, 29, 30, 32], "those": [16, 17, 19, 20, 23, 24], "custom": [16, 22], "individu": [16, 20], "plug": 16, "ins": 16, "pertin": 16, "often": [16, 24, 29], "dataplugin": [16, 18], "alwai": 16, "clean": [16, 19], "both": [16, 18, 23, 25, 29], "cave": [16, 17, 32], "": [16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32], "idatafactori": 16, "eas": 16, "been": [16, 20], "choos": 16, "unsupportedoutputtypeexcept": 16, "let": [16, 18, 20, 24, 29], "know": [16, 18, 19, 20, 22, 24, 29], "come": [16, 17, 19, 20, 22, 23, 24, 27, 29, 30], "helper": 16, "make": [16, 17, 18, 27], "easier": 16, "plugindataobject": 16, "abstractdatapluginfactori": 16, "everyth": 16, "scratch": 16, "manner": 16, "felt": 16, "necessari": [16, 22, 23, 24, 27, 29, 30], "power": [16, 28], "mean": 16, "doe": [16, 24], "anyth": 16, "underli": 16, "To": [16, 17, 20, 27], "satellitegridfactori": 16, "radargridfactori": 16, "correspond": [16, 29, 30], "what": [16, 19, 20, 21, 22, 24, 29, 30], "binoffset": 16, "abov": [16, 18, 19, 21, 23, 27, 29, 30], "bin": 16, "offset": [16, 20, 23], "note": [16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30], "preced": 16, "timeagnosticdataexcept": 16, "There": 16, "rang": [16, 17, 19, 20, 22, 24, 25, 30], "incompatiblerequestexcept": 16, "thrown": 16, "ad": [16, 18, 27, 30], "spring": 16, "bean": 16, "id": [16, 20, 22, 23, 28, 29], "uf": [16, 17, 18, 22, 27, 30], "dataaccessregistri": 16, "factorymethod": 16, "constructor": 16, "registri": 16, "more": [16, 17, 18, 20, 21, 22, 27, 30], "divers": 16, "layer": [16, 21, 25], "current": [16, 30], "veri": [16, 27, 30], "want": [16, 17, 19, 20, 21, 22, 30], "bundl": 16, "manifest": 16, "mf": 16, "import": [16, 25, 26, 28], "req": 16, "2fhag": [16, 21], "info": [16, 27], "gfs40": 16, "idata": 16, "defaultdatarequest": [16, 18, 27], "futur": 16, "implent": 16, "found": [16, 17, 19, 21, 25, 27], "section": [16, 22, 23, 24, 29, 30], "case": [16, 18, 20, 21, 23, 24, 29], "mathemat": 16, "angl": 16, "height": [16, 18, 19, 20, 21, 23, 28, 29], "fine": 16, "respect": [16, 18], "languag": 16, "py": [16, 18], "becaus": [16, 19, 20, 21, 22, 23, 24, 29], "best": [16, 24], "undocu": 16, "hazard": 16, "technic": 16, "baselin": 16, "2016": 16, "hydro": 16, "shef": 16, "acar": [16, 21], "airep": [16, 21], "pirep": [16, 21], "map": [16, 17, 21, 22, 26, 28, 30, 31], "you": [16, 18, 20, 21, 24, 27, 29, 30, 32], "look": [16, 18, 20, 21, 23, 29, 30], "binlightn": [16, 21], "sfc": [16, 27, 28], "ffmp": 16, "bufrua": [16, 21, 29], "moddelsound": 16, "ldadmesonet": 16, "pointdata": 16, "hierarchi": 16, "abstractgriddatapluginfactori": 16, "abstractgeometrydatabasefactori": 16, "abstractgeometrytimeagnosticdatabasefactori": 16, "content": 16, "document": [16, 21], "attach": [16, 22, 27], "slightli": [16, 22], "geospati": 16, "river": 16, "gage": 16, "basin": 16, "airmet": 16, "hide": 16, "detail": [16, 21, 30], "worri": 16, "about": [16, 21, 24], "structur": 16, "suggest": 16, "one": [16, 18, 19, 20, 21, 22, 23, 27, 30], "below": [16, 17, 19, 20, 21, 22, 23, 24, 27, 29, 30, 32], "definit": [16, 23, 30], "expand": 16, "dream": 16, "up": [16, 20, 23, 24, 29, 32], "interpret": [16, 18], "state": [16, 17, 20, 22, 23, 27, 28], "counti": [16, 23], "zone": 16, "db": 16, "ihf": 16, "warn": [16, 17, 18, 21, 23, 25, 27, 31], "ccfp": 16, "around": [16, 17, 18], "concept": 16, "interact": 16, "expect": 16, "them": [16, 17, 19, 22, 27], "automat": [16, 24], "rest": [16, 19, 23], "rout": 16, "style": [16, 30], "architectur": 16, "effect": 16, "enabl": [16, 23], "capabl": 16, "alter": 16, "increment": [16, 19, 24, 29], "becom": [16, 19, 23], "break": 16, "api": 16, "plan": 16, "retrofit": 16, "cosd": 16, "ideal": 16, "improv": 16, "maintain": 16, "pecif": 16, "hook": 16, "idatastor": 16, "iserverrequest": 16, "complet": 16, "understood": [16, 23], "three": [16, 20, 24], "wish": [16, 20, 21], "instanti": [16, 19, 22], "igridrequest": 16, "extend": [16, 23, 25, 29], "igeometryrequest": 16, "defaultgridrequest": 16, "defaultgeometryrequest": 16, "howev": [16, 27, 30], "prepar": 16, "gfegriddata": 16, "d2dgriddata": 16, "satellitegriddata": 16, "few": [16, 20, 21, 22, 27, 30], "distinct": 16, "project": [16, 17, 18, 20, 22, 23, 25, 26, 27, 28, 30], "raw": [16, 18, 20], "latitud": [16, 17, 18, 19, 22, 23, 27], "longitud": [16, 17, 18, 19, 22, 23, 27], "pure": 16, "jep": 16, "pyjobject": 16, "wrap": 16, "goal": 16, "app": 16, "therefor": 16, "outsid": 16, "go": [16, 18, 21, 22, 24], "familiar": 16, "scope": 16, "huge": 16, "undertak": 16, "anoth": [16, 20, 21, 23], "igridfactori": 16, "igeometryfactori": 16, "desir": [16, 19, 20, 22], "furthermor": 16, "stack": 16, "top": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30], "griddatafactori": 16, "while": [16, 24, 27, 30], "calcul": [16, 18, 22, 26, 29], "befor": [16, 21, 30], "mapgeometryfactori": 16, "u": [16, 17, 18, 19, 20, 22, 23, 24, 27, 29, 30], "unsupportedoperationexcept": 16, "javadoc": 16, "obsgeometryfactori": 16, "field": [16, 23, 29], "writer": [16, 31], "mind": 16, "reason": 16, "behavior": 16, "reduc": 16, "amount": [16, 27, 28], "action": 16, "g": [16, 19, 20, 24, 29], "handler": 16, "serverrequestrout": 16, "regardless": 16, "jvm": 16, "insid": [16, 23], "onc": [16, 21], "done": [16, 19, 20, 30], "xml": 16, "folder": [16, 20], "word": 16, "satellitefactori": 16, "satellitefactoryregist": 16, "datafactoryregistri": 16, "everi": [16, 17], "lookup": [16, 30], "deleg": 16, "result": [16, 17, 27], "back": 16, "caller": 16, "By": [16, 17, 20, 22, 27, 30], "abl": [16, 17, 24], "understand": [16, 18, 29], "avoid": [16, 27], "continu": [16, 24, 25, 28, 29], "essenti": 16, "useless": 16, "task": 16, "void": 16, "frequent": 16, "pluginnam": 16, "setstoragerequest": 16, "datastorag": 16, "slab": 16, "line": [16, 19, 20, 22, 23, 24, 27, 29, 30], "faster": 16, "less": [16, 19], "getstoragerequest": 16, "No": [16, 24, 25], "bound": [16, 17, 18, 22, 23, 24, 27, 30], "box": [16, 17, 18, 26, 30], "search": 16, "icao": 16, "airport": [16, 24, 29], "stationid": [16, 27], "instead": 16, "null": 16, "gridgeometry2d": 16, "getgridgeometri": 16, "datadestin": 16, "populatedata": 16, "destin": 16, "floatarraywrapp": 16, "bytebufferwrapp": 16, "memori": 16, "attempt": 16, "popul": [16, 19, 21, 23, 24, 29, 30], "enum": 16, "correl": [16, 25, 30], "made": [16, 17, 20, 22, 23, 24, 29, 30], "getdata": 16, "replac": [16, 19], "getlatcoord": 16, "getloncoord": 16, "cell": [16, 18, 23, 24, 27, 29, 30], "r": [16, 19, 20, 24, 29], "igriddatafactori": 16, "subset": [16, 17], "move": 16, "don": [16, 20, 24], "igeometrydatafactori": 16, "notebook": [17, 23, 25, 26, 28, 32], "tutori": [17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30], "gempak": [17, 24], "connnect": 17, "throughout": [17, 19, 20, 21, 22, 23, 24, 27, 29, 30], "subsequ": [17, 18, 19, 20, 22, 23, 24, 27, 29], "dstype": [17, 18, 22, 27, 30], "timedelta": [17, 22, 27, 30], "np": [17, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30], "cartopi": [17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30], "cr": [17, 18, 20, 22, 23, 25, 26, 27, 28, 30], "ccr": [17, 18, 20, 22, 23, 25, 26, 27, 28, 30], "matplotlib": [17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "pyplot": [17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "plt": [17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "metpi": [17, 19, 24, 26, 27, 29, 31], "stationplot": [17, 22, 27], "continent": [17, 18], "conu": [17, 20, 23, 26, 28], "we": [17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30], "optim": 17, "bbox": [17, 18, 23, 25, 26, 27, 28, 30], "130": 17, "70": [17, 24], "15": [17, 19, 24, 26, 28, 29], "55": [17, 21], "0": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "establish": [17, 19, 20, 22, 23, 24, 27, 29, 30], "With": [17, 20, 22, 23, 24, 29, 30], "just": [17, 21, 22, 24, 30, 32], "edexserv": [17, 22, 27], "stationnam": [17, 22, 27], "our": [17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32], "so": [17, 18, 19, 20, 21, 22, 24, 27, 29, 30], "last": [17, 21, 22, 27, 30], "minut": [17, 27, 28], "kept": 17, "variabl": [17, 20, 22, 24, 27, 30], "lasthourdatetim": [17, 22, 27, 30], "utcnow": [17, 22, 27, 28, 30], "strftime": [17, 22, 27, 30], "y": [17, 18, 22, 23, 24, 26, 27, 28, 30], "m": [17, 19, 22, 24, 25, 27, 28, 29, 30], "h": [17, 19, 20, 22, 24, 27, 28, 29, 30], "beginrang": [17, 22, 27, 30], "strptime": [17, 22, 27, 28, 30], "endrang": [17, 22, 27, 30], "str": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "len": [17, 18, 19, 23, 25, 27, 28, 30], "total": [17, 23, 25, 26, 28], "1704": 17, "1660": 17, "degre": [17, 18, 22, 27], "celsiu": [17, 29], "c": [17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 32], "fahreheit": 17, "f": [17, 18, 21, 24, 29, 32], "suppress": [17, 27], "nan": [17, 22, 25, 27, 28, 29], "mask": [17, 27, 29], "filterwarn": [17, 25, 27], "categori": [17, 23, 25, 27, 28, 30], "runtimewarn": [17, 25, 27], "tair": 17, "dtype": [17, 19, 22, 27], "9999": [17, 22, 26, 27, 29], "8": [17, 18, 22, 26, 27, 28], "32": [17, 19, 25, 26, 27, 28], "order": [17, 18, 19, 22, 23, 27, 30, 32], "distinguish": [17, 27], "ll": [17, 18, 19, 21, 22, 23, 24, 27, 30, 32], "tip": [17, 20, 23], "try": [17, 21, 22, 24, 27], "plai": [17, 18], "how": [17, 18, 19, 21, 22, 24, 29, 30, 32], "purpl": 17, "25": [17, 19, 21, 26, 29], "35": [17, 21, 22, 24, 28], "royalblu": 17, "45": [17, 19, 21, 26, 28], "darkgreen": [17, 22, 27], "green": 17, "75": [17, 20, 26], "orang": [17, 23], "85": [17, 26, 30], "here": [17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30], "segement": 17, "relev": [17, 19, 21], "draw": [17, 20, 22, 24, 26, 29], "segment": 17, "produc": [17, 18, 24, 29, 30], "figur": [17, 18, 19, 20, 22, 24, 27, 28, 29, 30], "fig": [17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 30], "ax": [17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "subplot": [17, 18, 23, 25, 26, 27, 28, 30], "figsiz": [17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30], "12": [17, 19, 21, 23, 24, 26, 27, 28, 29, 30], "subplot_kw": [17, 18, 23, 25, 26, 27, 28, 30], "dict": [17, 18, 22, 23, 25, 26, 27, 28, 30], "lambertconform": [17, 22], "set_ext": [17, 18, 22, 23, 25, 26, 27, 28, 30], "coastlin": [17, 18, 20, 22, 23, 25, 26, 28, 30], "resolut": [17, 18, 20, 23, 25, 26, 28], "50m": [17, 18, 20, 23, 25, 26, 28, 30], "set_titl": [17, 22, 27], "degf": [17, 22, 27, 29], "item": [17, 29, 30], "subtair": 17, "copi": 17, "down": 17, "max": [17, 18, 19, 23, 24, 25, 26, 28, 29], "elif": [17, 19, 20, 22, 27, 30], "min": [17, 18, 19, 23, 25, 26, 28], "els": [17, 19, 20, 21, 22, 25, 26, 27, 30], "station": [17, 27, 29, 31], "transform": [17, 20, 22, 23, 26, 27], "platecarre": [17, 18, 22, 23, 25, 26, 27, 28, 30], "fontsiz": [17, 22, 27, 30], "14": [17, 19, 20, 21, 24, 25, 26, 28, 30], "plot_paramet": 17, "compar": [18, 19, 30], "librari": [18, 22, 30], "mpl": [18, 23, 25, 26, 27, 28, 30], "gridlin": [18, 20, 23, 25, 26, 27, 28, 30], "longitude_formatt": [18, 23, 25, 26, 27, 28, 30], "latitude_formatt": [18, 23, 25, 26, 27, 28, 30], "scipi": 18, "constant": [18, 24, 29], "convert_temperatur": 18, "train": 18, "url": [18, 21], "temperatur": [18, 19, 21, 22, 24, 27, 29, 31], "fix": [18, 21], "ground": [18, 21], "meter": [18, 21, 23], "0x11127bfd0": 18, "mani": [18, 19, 22, 23, 24, 27, 29, 30], "variant": [18, 24, 29], "recent": [18, 19, 22, 24, 27, 29], "74": [18, 26], "easiest": [18, 27, 30], "logic": [18, 19, 23, 24, 27, 30], "axi": [18, 24, 27, 30], "boundari": [18, 20, 21, 27], "along": [18, 21, 23, 30], "def": [18, 19, 20, 22, 23, 25, 26, 27, 28, 30], "9": [18, 24, 26, 27, 28], "gl": [18, 23, 25, 27, 28, 30], "draw_label": [18, 23, 25, 27, 28, 30], "top_label": [18, 23, 25, 27, 28, 30], "right_label": [18, 23, 25, 27, 28, 30], "xformatt": [18, 23, 25, 27, 28, 30], "yformatt": [18, 23, 25, 27, 28, 30], "previou": [18, 23, 24, 27, 29, 30], "kelvin": [18, 27, 29], "farenheit": 18, "temp": [18, 19, 22, 24, 27, 28], "destunit": 18, "k": [18, 21, 24, 29], "show": [18, 19, 21, 22, 24, 25, 28, 29, 30], "scale": [18, 23, 28, 30], "colorbar": [18, 23, 25, 26, 28], "cbar": [18, 23, 25, 26, 28], "label": [18, 24, 30], "appear": [18, 23], "background": 18, "okai": 18, "awai": 18, "cmap": [18, 20, 23, 25, 26, 28], "get_cmap": [18, 23, 25, 26], "rainbow": [18, 25, 26], "shrink": [18, 23, 25, 26, 28], "7": [18, 20, 25, 26, 27, 28], "orient": [18, 23, 25, 26, 28], "horizont": [18, 23, 25, 26, 28], "set_label": [18, 23, 25, 26, 28], "scarter": [18, 20], "opt": 18, "miniconda3": 18, "python3": [18, 32], "lib": 18, "geoax": 18, "1598": 18, "userwarn": 18, "input": 18, "monoton": 18, "increas": [18, 30], "decreas": 18, "lead": 18, "incorrectli": 18, "edg": 18, "pleas": [18, 32], "suppli": 18, "explicit": 18, "shade": 18, "self": 18, "_pcolorarg": 18, "cs2": 18, "cbar2": 18, "fig2": [18, 24], "ax2": 18, "80": [18, 23, 25, 27, 28], "vmin": 18, "vmax": 18, "normal": [19, 28], "isobar": 19, "skewt": [19, 24, 29], "hodograph": [19, 24, 29], "mpl_toolkit": [19, 24, 29], "axes_grid1": [19, 24, 29], "inset_loc": [19, 24, 29], "inset_ax": [19, 24, 29], "math": [19, 24], "sqrt": 19, "proper": [19, 20], "104": [19, 28], "67": [19, 24], "39": [19, 26, 28], "87": [19, 26, 28], "nam40": [19, 21, 26], "timereq": 19, "2023": [19, 29], "07": [19, 28], "00": [19, 21, 22, 24, 27, 29], "pressur": [19, 24, 27, 28, 29], "dewpoint": [19, 22, 27, 29], "wind": [19, 21, 22, 24, 27, 29], "dpt": [19, 21, 27], "ucomp": [19, 24], "vcomp": [19, 24], "use_parm": 19, "uw": [19, 21], "vw": [19, 21], "use_level": 19, "sndobject": 19, "_datadict": 19, "append": [19, 22, 23, 24, 27, 29, 30], "1f": [19, 27], "mb": [19, 21, 29], "valueerror": 19, "empti": [19, 22], "join": 19, "presur": 19, "vector": 19, "fulli": [19, 20], "comput": 19, "parm": [19, 21, 24, 29], "levelreq": 19, "fhag": 19, "lvl": [19, 21], "_": 19, "rather": 19, "273": [19, 24, 29], "degc": [19, 22, 24, 27, 29], "knot": [19, 22, 24, 27, 29], "rcparam": [19, 29], "rotat": 19, "linewidth": [19, 20, 22, 23, 24, 26, 27, 29], "plot_barb": [19, 24, 29], "plot_dry_adiabat": 19, "plot_moist_adiabat": 19, "plot_mixing_lin": 19, "linestyl": [19, 20, 23, 24, 27, 28, 29], "set_ylim": [19, 24, 29], "1000": [19, 21, 24, 29], "set_xlim": [19, 24, 29], "40": [19, 21, 24], "titl": [19, 22, 24, 27, 29, 30], "ax_hod": [19, 24, 29], "loc": [19, 24, 29, 30], "component_rang": [19, 24, 29], "magnitud": 19, "add_grid": [19, 24, 29], "20": [19, 22, 24, 25, 26, 27, 28, 29, 30], "plot_colormap": [19, 24, 29], "dot": [19, 29], "0c": 19, "isotherm": [19, 24, 29], "l": [19, 20, 21, 24, 28, 29], "axvlin": [19, 24, 29], "color": [19, 20, 21, 22, 23, 24, 27, 29, 30, 31], "onto": [19, 20], "keep": [19, 20, 22, 23, 30], "track": [19, 22, 25, 30], "temeperatur": 19, "later": [19, 22, 24, 27, 29, 30], "w": [19, 20, 28, 30], "833": 19, "2mb": 19, "0mb": [19, 21], "chart": [19, 29], "retreiv": [19, 27], "far": 19, "now": [19, 21, 22, 23, 24, 26, 27, 29, 30], "loop": [19, 20, 22, 30], "gfs20": [19, 21], "easili": [19, 22, 23, 30], "recal": 19, "fairli": 19, "simpl": [19, 27], "fr": 19, "tr": 19, "19": [19, 21, 24, 25, 27, 28], "839": 19, "4mb": 19, "100": [19, 21, 24, 29], "842": 19, "5mb": 19, "18": [19, 24, 25, 26, 27, 28], "8mb": 19, "bufr": [19, 21, 24, 31], "wind_spe": [19, 24], "wind_direct": [19, 24], "vapor_pressur": [19, 24], "goes16": 20, "resiz": 20, "band": 20, "channel": 20, "rgb": 20, "featur": [20, 22, 23, 27, 28, 30], "cfeat": [20, 28], "extent": [20, 23, 27, 28], "econu": [20, 28], "wconu": 20, "globe": 20, "semimajor_axi": 20, "6378137": 20, "semiminor_axi": 20, "6356752": 20, "ellips": 20, "sat_h": 20, "35785830": 20, "proj": [20, 22, 27], "geostationari": 20, "central_longitud": [20, 22], "satellite_height": 20, "sweep_axi": 20, "coord": [20, 24], "origin": 20, "3626751": 20, "1382263": 20, "1583666": 20, "4588674": 20, "dimens": 20, "pixel": 20, "size": [20, 24, 25, 28, 30], "inch": [20, 26, 27], "confus": 20, "pad": [20, 30], "exact": [20, 24], "buffer": [20, 23, 27], "width": 20, "dpi": 20, "get_dpi": 20, "gca": 20, "remov": [20, 24, 30], "subplotpar": 20, "left": [20, 29], "b": [20, 24], "bottom": [20, 30], "figw": 20, "figh": 20, "set_size_inch": 20, "write_imag": 20, "next": [20, 22, 30], "footnot": 20, "plot": [20, 21, 23, 25], "Then": [20, 22, 30], "addition": [20, 22], "short": 20, "disk": 20, "5000x4000": 20, "feel": [20, 32], "ratio": [20, 24], "though": 20, "px_width": 20, "5000": [20, 21, 23], "px_height": 20, "3000": [20, 21], "imshow": 20, "grai": 20, "magenta": 20, "add_featur": [20, 22, 23, 27, 28, 30], "edgecolor": [20, 23, 24, 26, 27, 30], "cyan": 20, "xloc": 20, "arang": 20, "180": [20, 28], "footnotestr": 20, "annot": [20, 23], "xycoord": 20, "fraction": 20, "textcoord": [20, 23], "va": 20, "savefig": 20, "bbox_inch": 20, "tight": 20, "pad_inch": 20, "exactli": [20, 24, 29], "pick": [20, 21], "east": [20, 28], "cldsnow": 20, "dbrdust": 20, "geocolr": 20, "rbg": 20, "gather": [20, 22, 30], "ch1": 20, "ch": [20, 28], "01": [20, 21, 28], "47um": [20, 28], "ch2": 20, "02": [20, 28], "64um": [20, 28], "ch3": 20, "03": [20, 28], "87um": [20, 28], "directori": 20, "live": 20, "whereev": 20, "qualifi": 20, "longer": [20, 22, 30], "outputdir": 20, "test_dir": 20, "check": [20, 30], "makedir": 20, "reset": 20, "hasn": 20, "proce": 20, "pull": [20, 22, 27, 30], "select": [20, 22, 23, 25], "grab": [20, 22, 27], "png": 20, "clip": 20, "dstack": 20, "rgbname": 20, "2021": [20, 21], "05": [20, 24, 25, 28, 29], "28": [20, 26, 27, 28], "06": [20, 21, 28], "51": [20, 25, 26, 28], "56": [20, 25, 28], "432x288": 20, "quick": 20, "guid": 20, "debra": 20, "dust": 20, "snow": [20, 21], "geocolor": 20, "cover": [21, 22, 24], "investig": [21, 24, 29], "global": 21, "forcast": 21, "gf": [21, 24], "talk": 21, "quit": 21, "bit": 21, "util": 21, "onlin": 21, "help": [21, 22, 27, 29, 30], "your": 21, "edex_url": 21, "offer": 21, "bufrmosavn": 21, "bufrmoseta": 21, "bufrmosgf": 21, "bufrmoshpc": 21, "bufrmoslamp": 21, "bufrmosmrf": 21, "climat": 21, "common_obs_spati": 21, "gfeeditarea": 21, "practicewarn": 21, "radar_spati": 21, "topo": [21, 23], "mrm": 21, "grid_request": 21, "geograph": [21, 23, 32], "nw": [21, 22, 27, 30], "although": 21, "someth": [21, 30], "output": 21, "grid_loc": 21, "autosp": 21, "cmc": 21, "estof": 21, "etss": 21, "ffg": 21, "alr": 21, "fwr": 21, "krf": 21, "msr": 21, "orn": 21, "ptr": 21, "rha": 21, "rsa": 21, "tar": 21, "tir": 21, "tua": 21, "fnmoc": 21, "ncoda": 21, "ww3": 21, "gfs1p0": 21, "hfr": 21, "east_6km": 21, "east_pr_6km": 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, "west_6km": 21, "hpcguid": 21, "hpcqpfndfd": 21, "hrrr": [21, 26], "lamp2p5": 21, "mrms_0500": 21, "mrms_1000": 21, "nam12": 21, "nohrsc": 21, "rtma": 21, "rtof": 21, "westatl": 21, "westconu": 21, "spcguid": 21, "seaic": 21, "tpcwindprob": 21, "urma25": 21, "navgem0p5": 21, "interest": [21, 24, 27, 29, 31, 32], "20km": 21, "grid_param": 21, "36shrmi": 21, "50dbzz": 21, "av": 21, "appt": 21, "bli": 21, "brn": 21, "brnehii": 21, "brnshr": 21, "brnmag": 21, "brnvec": 21, "bdept06": 21, "blkmag": 21, "blkshr": 21, "cape": [21, 28], "cfrzr": 21, "cfrzr3hr": 21, "cfrzr6hr": 21, "cicep": 21, "cicep3hr": 21, "cicep6hr": 21, "cin": 21, "cp": 21, "cp3hr": 21, "cp6hr": 21, "cpr": 21, "cprd": 21, "crain": 21, "crain3hr": 21, "crain6hr": 21, "csnow": 21, "csnow3hr": 21, "csnow6hr": 21, "curu": 21, "capestk": 21, "corf": 21, "corff": 21, "corffm": 21, "corfm": 21, "critt1": 21, "cumnrm": 21, "cumshr": 21, "divf": 21, "divfn": 21, "dpd": 21, "ehi": 21, "ehi01": 21, "ehii": 21, "emsp": 21, "ept": 21, "epta": 21, "eptc": 21, "eptgrd": 21, "eptgrdm": 21, "epvg": 21, "epv": 21, "epvt1": 21, "epvt2": 21, "esp": 21, "esp2": 21, "fvec": 21, "fnvec": 21, "fsvec": 21, "fzra1": 21, "fzra2": 21, "gh": 21, "ghxsm": 21, "ghxsm2": 21, "gvv": 21, "hi": 21, "hi1": 21, "hi3": 21, "hi4": 21, "hidx": 21, "heli": 21, "helic": 21, "inv": 21, "iplay": 21, "Into": 21, "ki": [21, 28], "lisfc2x": 21, "lm5": 21, "lm6": 21, "madv": 21, "mcon": 21, "mcon2": 21, "mllcl": 21, "mmp": 21, "msfdi": 21, "msfi": 21, "msfmi": 21, "msg": 21, "mtv": [21, 24], "mix1": 21, "mix2": 21, "mmag": 21, "mnt3hr": 21, "mnt6hr": 21, "mpv": 21, "mxt3hr": 21, "mxt6hr": 21, "nbe": 21, "nst": 21, "nst1": 21, "nst2": 21, "p": [21, 24, 28, 29], "p3hr": 21, "p6hr": 21, "padv": 21, "pbe": 21, "pec": 21, "pfrnt": 21, "pgrd": 21, "pgrd1": 21, "pgrdm": 21, "piva": 21, "ptva": 21, "ptyp": 21, "pw": [21, 28], "pw2": 21, "pot": 21, "pota": 21, "qpv1": 21, "qpv2": 21, "qpv3": 21, "qpv4": 21, "rh": [21, 24], "rh_001_bin": 21, "rh_002_bin": 21, "rm5": 21, "rm6": 21, "rmprop": 21, "rmprop2": 21, "rv": 21, "rain1": 21, "rain2": 21, "rain3": 21, "ro": 21, "shx": 21, "sli": 21, "snsq": 21, "snw": 21, "snwa": 21, "srml": 21, "srmlm": 21, "srmm": 21, "srmmm": 21, "srmr": 21, "srmrm": 21, "ssp": 21, "ssi": 21, "stp": 21, "stp1": 21, "shear": 21, "shrmag": 21, "snow1": 21, "snow2": 21, "snow3": 21, "snowt": 21, "st": 21, "pr": [21, 24], "strtp": 21, "strmmot": 21, "sucp": 21, "tadv": 21, "tgrd": 21, "tgrdm": 21, "tori": 21, "tori2": 21, "tp": [21, 26], "tp3hr": 21, "tp6hr": 21, "tqind": 21, "tshrmi": 21, "tv": 21, "tw": 21, "t_001_bin": 21, "tdef": 21, "tdend": 21, "thgrd": 21, "thom5": 21, "thom5a": 21, "thom6": 21, "tmdpd": 21, "tmax": 21, "tmin": 21, "totqi": 21, "tstk": 21, "twmax": 21, "twmin": 21, "twstk": 21, "txsm": 21, "vadv": 21, "vadvadvect": 21, "vgp": 21, "vss": 21, "wcd": 21, "wd": 21, "weasd": 21, "wndchl": 21, "ageow": 21, "ageowm": 21, "ccape": 21, "ccin": 21, "ctot": 21, "capetolvl": 21, "dcape": 21, "dp": 21, "dt": 21, "dvadv": 21, "dz": 21, "defv": 21, "del2gh": 21, "df": 21, "fgen": 21, "fnd": 21, "fsd": 21, "gamma": 21, "geovort": 21, "geow": 21, "geowm": 21, "locap": 21, "maxept": 21, "minept": 21, "mixrat": 21, "msl": 21, "mucap": 21, "pv": 21, "pveq": 21, "qdiv": 21, "qvec": 21, "qnvec": 21, "qsvec": 21, "shwlt": 21, "snorat": 21, "snoratcrocu": 21, "snoratemcsref": 21, "snoratov2": 21, "snoratspc": 21, "snoratspcdeep": 21, "snoratspcsurfac": 21, "staticcorioli": 21, "staticspac": 21, "statictopo": 21, "swtidx": 21, "ttot": 21, "twind": 21, "twindu": 21, "twindv": 21, "ufx": 21, "uwstk": 21, "ulsnorat": 21, "vsmthw": 21, "vtot": 21, "vwstk": 21, "wdiv": 21, "wsp": 21, "wsp_001_bin": 21, "wsp_002_bin": 21, "wsp_003_bin": 21, "wsp_004_bin": 21, "zagl": 21, "param1": 21, "param2": 21, "param3": 21, "grid_level": 21, "0sfc": [21, 26], "350": 21, "610": 21, "0_40000": 21, "120": [21, 26], "0_150": 21, "0bl": 21, "900": [21, 24], "0_610": 21, "450": 21, "575": [21, 28], "60": [21, 26, 27, 28, 29], "0_90": 21, "0pv": 21, "950": 21, "150": 21, "5pv": 21, "700": 21, "825": 21, "0_180": 21, "250": 21, "0_500": 21, "800": 21, "4000": 21, "925": 21, "0trop": 21, "750": 21, "500": [21, 28], "625": [21, 26], "400": 21, "875": [21, 26], "0_1000": 21, "850": 21, "600": 21, "725": 21, "0_6000": 21, "975": 21, "550": 21, "0_3000": 21, "675": 21, "200": [21, 28], "0_30": 21, "30": [21, 26, 28, 29], "0_60": 21, "650": 21, "525": 21, "300": [21, 26, 28], "0_120": 21, "775": [21, 23], "340": 21, "0_350": 21, "0k": 21, "290": 21, "0_300": 21, "0_600": 21, "320": 21, "0ke": 21, "0_750": 21, "0tilt": 21, "3tilt": 21, "0_900": 21, "5500": 21, "255": 21, "0_265": 21, "2000": [21, 30], "0_850": 21, "0_250": 21, "280": 21, "0_290": 21, "1524": 21, "0_330": 21, "310": 21, "0_320": 21, "330": 21, "0_800": 21, "4tilt": 21, "3500": 21, "0_310": 21, "0_12000": 21, "9tilt": 21, "0_700": 21, "0_400": 21, "345": 21, "0_260": 21, "4572": 21, "275": 21, "0_285": 21, "335": 21, "295": [21, 26], "0_305": 21, "0_550": 21, "9000": 21, "0_7000": 21, "9144": 21, "325": 21, "0_335": 21, "0_8000": 21, "0_609": 21, "6fhag": 21, "315": 21, "0_325": 21, "0_4000": 21, "0_5500": 21, "5tilt": 21, "0_345": 21, "2500": 21, "10000": 21, "0_2000": 21, "7000": 21, "0_1500": 21, "305": 21, "285": 21, "0_295": 21, "0_3500": 21, "0_5000": 21, "7620": 21, "6096": 21, "6000": 21, "0_10000": 21, "265": 21, "0_275": 21, "0_650": 21, "8tilt": 21, "0_340": 21, "3657": 21, "7tilt": 21, "270": 21, "0_280": 21, "1500": 21, "0_950": 21, "0_200": 21, "0_100": 21, "8000": 21, "0_315": 21, "0_2500": 21, "260": 21, "0_270": 21, "2743": 21, "3048": 21, "609": 21, "0_4500": 21, "1828": 21, "8fhag": 21, "0_450": 21, "4500": 21, "1250": 21, "0_9000": 21, "0lyrmb": 21, "hag": 21, "stand": [21, 30], "ntat": 21, "nomin": 21, "atmospher": 21, "bl": [21, 24], "trop": 21, "tropopaus": 21, "yyyi": 21, "mm": 21, "dd": 21, "hh": 21, "ss": 21, "ff": 21, "grid_cycl": 21, "grid_tim": 21, "grid_fcstrun": 21, "fcst": [21, 26], "getfcsttim": [21, 24, 26, 29], "000": 21, "10800": 21, "21600": 21, "32400": 21, "43200": 21, "54000": 21, "64800": 21, "75600": 21, "86400": 21, "97200": 21, "108000": 21, "118800": 21, "129600": 21, "140400": 21, "151200": 21, "162000": 21, "172800": 21, "183600": 21, "194400": 21, "205200": 21, "216000": 21, "226800": 21, "237600": 21, "248400": 21, "259200": 21, "270000": 21, "280800": 21, "291600": 21, "302400": 21, "324000": 21, "345600": 21, "367200": 21, "388800": 21, "410400": 21, "432000": 21, "453600": 21, "475200": 21, "496800": 21, "518400": 21, "540000": 21, "561600": 21, "583200": 21, "604800": 21, "626400": 21, "648000": 21, "669600": 21, "691200": 21, "712800": 21, "734400": 21, "756000": 21, "777600": 21, "799200": 21, "820800": 21, "842400": 21, "864000": 21, "kind": [21, 22, 24], "analyz": 21, "grid_respons": 21, "grid_data": 21, "257": 21, "369": 21, "vist": 21, "resourc": [21, 27, 31], "topographi": [21, 27, 31], "reformat": 22, "styliz": [22, 27], "timrang": [22, 27], "cfeatur": [22, 30], "calc": [22, 24, 27, 29], "wind_compon": [22, 27, 29], "stationplotlayout": [22, 27], "sky_cov": [22, 27], "coverag": [22, 27], "integ": [22, 25, 27], "ovc": [22, 27], "bkn": [22, 27], "sct": [22, 27], "single_value_param": 22, "winddir": [22, 27], "windspe": [22, 27], "multi_value_param": 22, "too": 22, "clutter": [22, 24], "kpdx": [22, 24], "kokc": [22, 24], "kict": [22, 24], "kgld": [22, 24], "kmem": [22, 24], "kbo": [22, 24], "kmia": [22, 24], "kmob": [22, 24], "kabq": [22, 24], "kphx": [22, 24], "kttf": 22, "kord": [22, 24], "kbil": [22, 24], "kbi": [22, 24], "kcpr": [22, 24], "klax": [22, 24], "katl": [22, 24], "kmsp": [22, 24], "kslc": [22, 24], "kdfw": [22, 24], "knyc": 22, "kphl": [22, 24], "kpit": [22, 24], "koli": 22, "ksyr": [22, 24], "klex": [22, 24], "kch": [22, 24], "ktlh": [22, 24], "khou": [22, 24], "kgjt": [22, 24], "klbb": [22, 24], "klsv": 22, "kgrb": [22, 24], "kclt": [22, 24], "klnk": [22, 24], "kdsm": [22, 24], "kboi": [22, 24], "kfsd": [22, 24], "krap": [22, 24], "kric": [22, 24], "kjan": [22, 24], "khsv": [22, 24], "kcrw": [22, 24], "ksat": [22, 24], "kbui": 22, "k0co": 22, "kzpc": 22, "kvih": 22, "kbdg": 22, "kmlf": 22, "keli": [22, 24], "kwmc": [22, 24], "koth": [22, 24], "kcar": [22, 24], "klmt": [22, 24], "krdm": [22, 24], "kpdt": [22, 24], "ksea": [22, 24], "kuil": 22, "keph": [22, 24], "kpuw": 22, "kcoe": [22, 24], "kmlp": 22, "kpih": [22, 24], "kida": [22, 24], "kmso": [22, 24], "kacv": [22, 24], "khln": [22, 24], "kolf": 22, "krut": 22, "kpsm": [22, 24], "kjax": [22, 24], "ktpa": [22, 24], "kshv": [22, 24], "kmsy": [22, 24], "kelp": [22, 24], "krno": [22, 24], "kfat": [22, 24], "ksfo": [22, 24], "knyl": 22, "kbro": [22, 24], "kmrf": 22, "kdrt": [22, 24], "kfar": [22, 24], "kbde": [22, 24], "kdlh": [22, 24], "khot": [22, 24], "klbf": [22, 24, 29], "kflg": [22, 24], "kcle": [22, 24], "kunv": [22, 24], "decid": [22, 30], "much": [22, 30], "adjust": [22, 24, 27, 30], "doc": [22, 30], "html": [22, 30], "__": [22, 30], "59": 22, "properli": [22, 30], "entri": [22, 30], "reciev": 22, "explicitli": 22, "timeob": [22, 27], "dynam": 22, "station_nam": 22, "time_titl": 22, "revers": 22, "avail_param": 22, "alreadi": [22, 24, 27, 29, 32], "skip": 22, "correct": [22, 27, 30], "put": [22, 27], "hand": [22, 27], "stid": [22, 27], "air_temperatur": [22, 27], "dew_point_temperatur": [22, 27], "direct": [22, 27, 29], "eastward_wind": [22, 27], "northward_wind": [22, 27], "cloud_coverag": [22, 27], "assign": [22, 27, 29], "land": [22, 30], "ocean": 22, "lake": 22, "border": 22, "give": [22, 27, 30], "contextu": 22, "layout": 22, "95": 22, "central_latitud": 22, "standard_parallel": 22, "add_subplot": 22, "118": 22, "73": 22, "23": [22, 25, 27, 28, 29], "custom_layout": [22, 27], "add_barb": [22, 27], "add_valu": [22, 27], "fmt": [22, 27], "0f": [22, 27], "darkr": [22, 27], "sw": [22, 27], "add_symbol": [22, 27], "clip_on": [22, 27], "plot_text": 22, "aviat": [22, 27], "static": [22, 27], "context": [23, 27], "ma": 23, "shapelyfeatur": [23, 27, 30], "naturalearthfeatur": [23, 28, 30], "op": 23, "cascaded_union": 23, "block": 23, "nice": 23, "neatli": 23, "gi": 23, "the_geom": [23, 27], "spatial": 23, "column": [23, 28, 30], "multilinestr": 23, "boulder": 23, "bou": 23, "area": [23, 26, 27, 28], "withe": 23, "characterist": 23, "refin": 23, "mapdata": [23, 27], "wfo": 23, "tie": 23, "inloc": [23, 27], "locationfield": [23, 27], "ti": 23, "geomfield": [23, 27], "merged_counti": 23, "polit": 23, "political_boundari": [23, 30], "cultur": [23, 28, 30], "admin_0_boundary_lines_land": [23, 30], "facecolor": [23, 26, 27, 28, 30], "admin_1_states_provinces_lin": [23, 28, 30], "black": [23, 24, 26, 29, 30], "shape_featur": [23, 27, 30], "86989b": 23, "22": [23, 24, 26, 27], "feature_artist": [23, 26, 27], "featureartist": [23, 26, 27], "0x11568f6d0": 23, "burnt": 23, "cc5000": 23, "previous": 23, "fall": [23, 28], "225": 23, "progress": 23, "disclosur": 23, "prog_disc": 23, "significantli": 23, "asid": 23, "citylist": 23, "citynam": 23, "pop": 23, "good": 23, "marker": [23, 26], "scatter": [23, 26], "txt": 23, "enumer": [23, 26, 28], "xytext": 23, "1205": 23, "58": [23, 25, 28], "again": 23, "requst": 23, "blue": [23, 27], "20b2aa": 23, "208": 23, "majorriv": 23, "1400": 23, "slow": 23, "larg": 23, "group": [23, 30], "griddata": 23, "n": [23, 24, 29], "0x115a20370": 23, "778": 23, "1058": 23, "1694": 23, "1693": 23, "1688": 23, "757": 23, "761": 23, "762": 23, "1701": 23, "758": 23, "760": 23, "1703": 23, "1767": 23, "1741": 23, "1706": 23, "769": 23, "768": 23, "1746": 23, "1716": 23, "765": 23, "1781": 23, "1753": 23, "1730": 23, "766": 23, "759": 23, "masked_invalid": 23, "minimum": 23, "elev": [23, 29], "maximum": [23, 26], "contourf": 23, "terrain": 23, "alpha": 23, "623": 23, "4328": 23, "matplotplib": 23, "schema": 23, "colorado": 23, "watch": [23, 31], "page": 23, "vertic": [24, 29, 30, 31], "exp": 24, "forecastmodel": 24, "reporttyp": 24, "spechum": 24, "shown": [24, 29, 30], "step": [24, 29, 30], "1v4": 24, "3j2": 24, "4bl": 24, "4bq": 24, "4hv": 24, "4om": 24, "5af": 24, "5ag": 24, "5sz": 24, "6ro": 24, "8v7": 24, "9b6": 24, "adm": 24, "afa": 24, "agr": 24, "ahn": 24, "aia": 24, "aih": 24, "ajo": 24, "anj": 24, "apx": 24, "aqq": 24, "ath": 24, "atl1": 24, "atl2": 24, "atl3": 24, "atl4": 24, "atlh": 24, "awh": 24, "awr": 24, "j": [24, 26], "q": 24, "bab": 24, "bdg": 24, "bdp": 24, "bfl": 24, "bgtl": 24, "bh1": 24, "bh2": 24, "bh3": 24, "bh4": 24, "bh5": 24, "bhk": 24, "bid": 24, "bir": 24, "blu": 24, "bmx": 24, "bna": 24, "bod": 24, "bra": 24, "btl": 24, "bvr": 24, "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, "cai": 24, "cbe": 24, "cbn": 24, "che": 24, "ckn": 24, "cld": 24, "cle": 24, "cln": 24, "col1": 24, "col2": 24, "col3": 24, "col4": 24, "cqv": 24, "crl": 24, "crr": 24, "cty": 24, "cvm": 24, "cv": 24, "cweu": 24, "cwfn": 24, "cwkx": 24, "cwlb": 24, "cwlo": 24, "cwlt": 24, "cwlw": 24, "cwmw": 24, "cwo": 24, "cwph": 24, "cwqg": 24, "cwsa": 24, "cwse": 24, "cwzb": 24, "cwzc": 24, "cwzv": 24, "cyah": 24, "cyaw": 24, "cybk": 24, "cybu": 24, "cycb": 24, "cycg": 24, "cycx": 24, "cyda": 24, "cyeg": 24, "cyev": 24, "cyfb": 24, "cyfo": 24, "cyf": 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, "cysm": 24, "cysi": 24, "cyth": 24, "cytl": 24, "cyt": 24, "cyul": 24, "cyux": 24, "cyvo": 24, "cyvp": 24, "cyvq": 24, "cyvr": 24, "cyvv": 24, "cywa": 24, "cywg": 24, "cywo": 24, "cyxc": 24, "cyx": 24, "cyxh": 24, "cyxu": 24, "cyxx": 24, "cyxi": 24, "cyxz": 24, "cyyb": 24, "cyyc": 24, "cyy": 24, "cyyj": 24, "cyyq": 24, "cyyr": 24, "cyyt": 24, "cyyz": 24, "cyzf": 24, "cyz": 24, "cyzt": 24, "cyzv": 24, "den": 24, "dov": 24, "dpg": 24, "dsc": 24, "dsd": 24, "dtx": 24, "dvn": 24, "dy": 24, "e28": 24, "e74": 24, "eat": 24, "eax": 24, "edw": 24, "efl": 24, "emp": 24, "enl": 24, "estc": 24, "fc": 24, "fdr": 24, "ffc": 24, "fhu": 24, "flg": 24, "flp": 24, "fpk": 24, "fri": 24, "fsi": 24, "ftr": 24, "fwd": 24, "g001": 24, "g003": 24, "g004": 24, "g005": 24, "g007": 24, "g009": 24, "gdp": 24, "gdv": 24, "glry": 24, "gmx1": 24, "gnb": 24, "gnc": 24, "grf": 24, "gtb": 24, "gtp": 24, "gvl": 24, "gv": 24, "gyx": 24, "h02": 24, "hai": 24, "hgr": 24, "hmn": 24, "hom": 24, "hoo": 24, "hsi": 24, "hyr": 24, "hy": 24, "icc": 24, "igm": 24, "iln": 24, "il": 24, "ilx": 24, "imt": 24, "ink": 24, "ipx": 24, "jack": 24, "jdn": 24, "k40b": 24, "k9v9": 24, "kabe": 24, "kabi": 24, "kabr": 24, "kack": 24, "kact": 24, "kaci": 24, "kagc": 24, "kag": 24, "kahn": 24, "kak": 24, "kalb": 24, "kali": 24, "kalo": 24, "kal": 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, "kaug": 24, "kau": 24, "kauw": 24, "kavl": 24, "kavp": 24, "kaxn": 24, "kai": 24, "kazo": 24, "kbaf": 24, "kbce": 24, "kbdl": 24, "kbdr": 24, "kbed": 24, "kbfd": 24, "kbff": 24, "kbfi": 24, "kbfl": 24, "kbgm": 24, "kbgr": 24, "kbhb": 24, "kbhm": 24, "kbih": 24, "kbjc": 24, "kbji": 24, "kbke": 24, "kbkw": 24, "kblf": 24, "kblh": 24, "kbli": 24, "kbml": 24, "kbna": 24, "kbno": 24, "kbnv": 24, "kbpt": 24, "kbqk": 24, "kbrd": 24, "kbrl": 24, "kbtl": 24, "kbtm": 24, "kbtr": 24, "kbtv": 24, "kbuf": 24, "kbur": 24, "kbvi": 24, "kbvx": 24, "kbvy": 24, "kbwg": 24, "kbwi": 24, "kbyi": 24, "kbzn": 24, "kcae": 24, "kcak": 24, "kcdc": 24, "kcdr": 24, "kcd": 24, "kcec": 24, "kcef": 24, "kcgi": 24, "kcgx": 24, "kcha": 24, "kchh": 24, "kcho": 24, "kcid": 24, "kciu": 24, "kckb": 24, "kckl": 24, "kcll": 24, "kclm": 24, "kcmh": 24, "kcmi": 24, "kcmx": 24, "kcnm": 24, "kcnu": 24, "kcod": 24, "kcon": 24, "kco": 24, "kcou": 24, "kcre": 24, "kcrp": 24, "kcrq": 24, "kcsg": 24, "kcsv": 24, "kctb": 24, "kcvg": 24, "kcwa": 24, "kcy": 24, "kdab": 24, "kdag": 24, "kdal": 24, "kdan": 24, "kdai": 24, "kdbq": 24, "kdca": 24, "kddc": 24, "kdec": 24, "kden": 24, "kdet": 24, "kdhn": 24, "kdht": 24, "kdik": 24, "kdl": 24, "kdmn": 24, "kdpa": 24, "kdra": 24, "kdro": 24, "kdtw": 24, "kdug": 24, "kduj": 24, "keat": 24, "keau": 24, "kecg": 24, "keed": 24, "kege": 24, "kekn": 24, "keko": 24, "kel": 24, "keld": 24, "kelm": 24, "kelo": 24, "kenv": 24, "kepo": 24, "kepz": 24, "keri": 24, "kesf": 24, "keug": 24, "kevv": 24, "kewb": 24, "kewn": 24, "kewr": 24, "keyw": 24, "kfam": 24, "kfai": 24, "kfca": 24, "kfdy": 24, "kfkl": 24, "kfll": 24, "kflo": 24, "kfmn": 24, "kfmy": 24, "kfnt": 24, "kfoe": 24, "kfpr": 24, "kfrm": 24, "kfsm": 24, "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, "kglh": 24, "kgl": 24, "kgmu": 24, "kgnr": 24, "kgnv": 24, "kgon": 24, "kgpt": 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, "khob": 24, "khon": 24, "khpn": 24, "khqm": 24, "khrl": 24, "khro": 24, "khth": 24, "kht": 24, "khuf": 24, "khul": 24, "khut": 24, "khvn": 24, "khvr": 24, "khya": 24, "kiad": 24, "kiag": 24, "kiah": 24, "kil": 24, "kilg": 24, "kilm": 24, "kink": 24, "kinl": 24, "kint": 24, "kinw": 24, "kipl": 24, "kipt": 24, "kisn": 24, "kisp": 24, "kith": 24, "kiwd": 24, "kjac": 24, "kjbr": 24, "kjfk": 24, "kjhw": 24, "kjkl": 24, "kjln": 24, "kjm": 24, "kjst": 24, "kjxn": 24, "kkl": 24, "klaf": 24, "klan": 24, "klar": 24, "kla": 24, "klbe": 24, "klcb": 24, "klch": 24, "kleb": 24, "klfk": 24, "klft": 24, "klga": 24, "klgb": 24, "klgu": 24, "klit": 24, "klnd": 24, "klol": 24, "kloz": 24, "klrd": 24, "klse": 24, "kluk": 24, "klv": 24, "klwb": 24, "klwm": 24, "klw": 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, "kmfd": 24, "kmfe": 24, "kmfr": 24, "kmgm": 24, "kmgw": 24, "kmhe": 24, "kmhk": 24, "kmht": 24, "kmiv": 24, "kmkc": 24, "kmke": 24, "kmkg": 24, "kmkl": 24, "kmlb": 24, "kmlc": 24, "kmli": 24, "kml": 24, "kmlt": 24, "kmlu": 24, "kmmu": 24, "kmot": 24, "kmpv": 24, "kmqt": 24, "kmrb": 24, "kmry": 24, "kmsl": 24, "kmsn": 24, "kmss": 24, "kmtj": 24, "kmtn": 24, "kmwh": 24, "kmyr": 24, "kna": 24, "knew": 24, "knl": 24, "knsi": 24, "koak": 24, "kofk": 24, "kogd": 24, "kolm": 24, "koma": 24, "kont": 24, "kopf": 24, "koqu": 24, "korf": 24, "korh": 24, "kosh": 24, "kotm": 24, "kp11": 24, "kp38": 24, "kpae": 24, "kpah": 24, "kpbf": 24, "kpbi": 24, "kpdk": 24, "kpfn": 24, "kpga": 24, "kphf": 24, "kphn": 24, "kpia": 24, "kpib": 24, "kpie": 24, "kpir": 24, "kpkb": 24, "kpln": 24, "kpmd": 24, "kpnc": 24, "kpne": 24, "kpn": 24, "kpou": 24, "kpqi": 24, "kprb": 24, "kprc": 24, "kpsc": 24, "kpsp": 24, "kptk": 24, "kpub": 24, "kpvd": 24, "kpvu": 24, "kpwm": 24, "krad": 24, "krbl": 24, "krdd": 24, "krdg": 24, "krdu": 24, "krfd": 24, "kriw": 24, "krkd": 24, "krk": 24, "krnt": 24, "kroa": 24, "kroc": 24, "krow": 24, "krsl": 24, "krst": 24, "krsw": 24, "krum": 24, "krwf": 24, "krwi": 24, "krwl": 24, "ksac": 24, "ksaf": 24, "ksan": 24, "ksav": 24, "ksba": 24, "ksbn": 24, "ksbp": 24, "ksby": 24, "ksch": 24, "ksck": 24, "ksdf": 24, "ksdm": 24, "ksdy": 24, "ksep": 24, "ksff": 24, "ksgf": 24, "ksgu": 24, "kshr": 24, "ksjc": 24, "ksjt": 24, "ksle": 24, "kslk": 24, "ksln": 24, "ksmf": 24, "ksmx": 24, "ksna": 24, "ksn": 24, "kspi": 24, "ksp": 24, "ksrq": 24, "kssi": 24, "kstj": 24, "kstl": 24, "kstp": 24, "kst": 24, "ksun": 24, "ksu": 24, "ksux": 24, "ksve": 24, "kswf": 24, "ktcc": 24, "ktcl": 24, "ktc": 24, "kteb": 24, "ktiw": 24, "ktmb": 24, "ktol": 24, "ktop": 24, "ktph": 24, "ktri": 24, "ktrk": 24, "ktrm": 24, "kttd": 24, "kttn": 24, "ktul": 24, "ktup": 24, "ktu": 24, "ktvc": 24, "ktvl": 24, "ktwf": 24, "ktxk": 24, "ktyr": 24, "kty": 24, "kuca": 24, "kuin": 24, "kuki": 24, "kvct": 24, "kvel": 24, "kvld": 24, "kvny": 24, "kvrb": 24, "kwjf": 24, "kwrl": 24, "kwy": 24, "ky22": 24, "ky26": 24, "kykm": 24, "kykn": 24, "kyng": 24, "kyum": 24, "kzzv": 24, "laa": 24, "lap": 24, "lby": 24, "ldl": 24, "lhx": 24, "lic": 24, "lor": 24, "lrr": 24, "lsf": 24, "lu": 24, "lvm": 24, "lw1": 24, "maz": 24, "mdpc": 24, "mdpp": 24, "mdsd": 24, "mdst": 24, "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, "mib": 24, "mie": 24, "mkjp": 24, "mkj": 24, "mld": 24, "mmaa": 24, "mma": 24, "mmbt": 24, "mmce": 24, "mmcl": 24, "mmcn": 24, "mmc": 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, "mmpr": 24, "mmrx": 24, "mmsd": 24, "mmsp": 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, "mor": 24, "mpbo": 24, "mpch": 24, "mpda": 24, "mpmg": 24, "mpsa": 24, "mpto": 24, "mpx": 24, "mrch": 24, "mrf": 24, "mrlb": 24, "mrlm": 24, "mroc": 24, "mrpv": 24, "mr": 24, "msac": 24, "mslp": 24, "msss": 24, "mtch": 24, "mtl": 24, "mtpp": 24, "mty": 24, "muba": 24, "mubi": 24, "muca": 24, "mucl": 24, "mucm": 24, "mucu": 24, "mugm": 24, "mugt": 24, "muha": 24, "mumo": 24, "mumz": 24, "mung": 24, "muvr": 24, "muvt": 24, "mwcr": 24, "myb": 24, "myeg": 24, "mygf": 24, "mygw": 24, "myl": 24, "mynn": 24, "mzbz": 24, "mzt": 24, "nck": 24, "ngx": 24, "nhk": 24, "nid": 24, "nkx": 24, "noa": 24, "nru": 24, "ntd": 24, "municip": 24, "fairmont": 24, "minnesota": 24, "exit": 24, "verifi": [24, 29], "were": [24, 29], "obj": [24, 29], "fcsthour": [24, 29], "period": [24, 29], "94": [24, 25], "41999816894531": 24, "43": [24, 28], "65000152587891": 24, "2022": 24, "08": [24, 25, 28], "aug": 24, "gmt": [24, 29], "construct": [24, 29, 30], "moistur": 24, "spec": 24, "zero": 24, "That": 24, "length": 24, "humidti": 24, "equal": 24, "tmp": [24, 27], "prs2": 24, "tmp2": 24, "uc": 24, "vc": 24, "plugin": [24, 29], "ourselv": 24, "manual": [24, 30], "ncep": 24, "nsharp": 24, "tfull": 24, "pfull": 24, "mbar": [24, 27, 29], "94384": 24, "spd": [24, 29], "dir": 24, "deg": [24, 27], "mix": 24, "vapor": 24, "rmix": 24, "kg": [24, 25], "td": [24, 29], "assum": 24, "td2": 24, "soundingrequest": 24, "ntmp": 24, "pa": 24, "t0": 24, "263": 24, "17": [24, 25, 26, 28], "29": [24, 28], "vap": 24, "112": 24, "243": 24, "vapr": 24, "dwpc": 24, "zoom": 24, "highlight": 24, "slight": 24, "skew": [24, 29], "purpos": 24, "18z": 24, "fh": 24, "42": [24, 25, 26, 28], "z": 24, "2f": 24, "secondari": 24, "zoom_ax": 24, "bbox_to_anchor": [24, 30], "bbox_transform": 24, "transax": 24, "skew2": 24, "hum": 24, "legaci": 24, "calucl": 24, "legend": 24, "explain": 24, "redund": 24, "set_xlabel": 24, "set_ylabel": 24, "970": 24, "11": [24, 25, 26, 27, 28], "region": [24, 29, 31], "indicate_inset_zoom": 24, "dispos": 24, "unnecessari": 24, "close": 24, "slant": [24, 29], "ipython3": 25, "algorithm": 25, "precipit": [25, 26, 27, 28], "inlin": [25, 26, 28], "available_loc": 25, "productid": 25, "productnam": 25, "134": 25, "135": 25, "138": 25, "141": 25, "159": 25, "161": 25, "163": 25, "165": 25, "166": 25, "169": 25, "170": [25, 28], "171": 25, "172": 25, "173": 25, "174": 25, "175": 25, "176": 25, "177": 25, "27": [25, 26], "37": 25, "41": [25, 29], "57": [25, 26], "78": [25, 26], "81": [25, 26], "99": 25, "coeff": 25, "diff": 25, "inst": 25, "precip": [25, 31], "rate": [25, 28], "vert": 25, "liq": 25, "echo": 25, "hydrometeor": 25, "melt": 25, "mesocyclon": 25, "One": 25, "accum": 25, "unbias": 25, "phase": 25, "storm": 25, "rel": 25, "make_map": [25, 26, 28], "nexrad_data": 25, "prod": 25, "rec": 25, "flat": 25, "ndarrai": 25, "flatten": 25, "nanmin": 25, "nanmax": 25, "pcolormesh": [25, 26, 28], "2018": [25, 28], "kmhx_0": 25, "0_464_464": 25, "dbz": 25, "464": 25, "31": [25, 27, 28], "0_230_360_0": 25, "0_359": 25, "230": 25, "360": 25, "0_920_360_0": 25, "0555557e": 25, "09": [25, 28], "3071667e": 25, "sec": 25, "920": 25, "0_13_13": 25, "190": [25, 28], "690": 25, "count": 25, "13": [25, 26, 28], "0_460_360_0": 25, "834518": 25, "460": 25, "0_116_116": 25, "12192": 25, "116": 25, "0_346_360_0": 25, "346": 25, "0_115_360_359": 25, "0127": 25, "115": 25, "008382": 25, "0027720002": 25, "5775646e": 25, "017472787": 25, "000508": 25, "082804": 25, "08255": 25, "019499999": 25, "0_116_360_0": 25, "088392": 25, "5399999e": 25, "033959802": 25, "greatest": 26, "conus_envelop": 26, "tt": [26, 28], "3600": [26, 28], "fcsthr": 26, "tp_inch": 26, "0393701": 26, "1875": 26, "52": 26, "125": [26, 28], "6": [26, 27, 28], "375": 26, "77": [26, 27, 28], "21": 26, "79": 26, "24": [26, 30], "82": [26, 27], "84": 26, "6875": 26, "33": [26, 27], "36": 26, "3125": 26, "89": [26, 27, 28], "48": 26, "127": [26, 30], "139": 26, "5625": 26, "54": [26, 27], "140": 26, "63": [26, 27], "66": [26, 28], "69": 26, "72": 26, "5364203": 26, "rainfal": 26, "ii": 26, "jj": 26, "hr": [26, 28], "inc": 26, "add_geometri": 26, "white": 26, "0x11b971da0": 26, "853": 26, "5290003": 26, "0290003": 26, "051": 26, "4": [26, 27, 28], "2960005": 26, "8269997": 26, "1790004": 26, "1890006": 26, "071": 26, "812": 26, "718": 26, "339": 26, "626": 26, "670002": 26, "334": 26, "628002": 26, "4420482": 26, "florida": 27, "simple_layout": 27, "e7e7e7": 27, "speed": 27, "sea": 27, "account": 27, "miss": [27, 29], "arr": 27, "air_pressure_at_sea_level": 27, "sealevelpress": 27, "present_weath": 27, "sky": 27, "drawn": [27, 30], "barb": 27, "dew": 27, "outlin": 27, "neighbor": 27, "maps_request": 27, "fl": 27, "ga": 27, "al": 27, "sc": 27, "la": 27, "maps_respons": 27, "ten": 27, "thousand": 27, "fl_lat": 27, "fl_lon": 27, "67402": 27, "50934": 27, "georgia": 27, "65155": 27, "83": [27, 28], "44848": 27, "louisiana": 27, "0891": 27, "02905": 27, "alabama": 27, "79354": 27, "86": 27, "82676": 27, "mississippi": 27, "75201": 27, "66553": 27, "south": 27, "carolina": 27, "93574": 27, "89899": 27, "63429260299995": 27, "02105161600002": 27, "50101280200016": 27, "03199876199994": 27, "unreason": 27, "nov": 27, "reus": 27, "effici": 27, "shared_param": 27, "narrow": 27, "metar_request": 27, "specifc": 27, "metar_param": 27, "all_metar_param": 27, "vividsolut": 27, "jt": 27, "0x13abe40a0": 27, "syn_request": 27, "syn_param": 27, "all_syn_param": 27, "0x105048bb0": 27, "obtain": 27, "still": 27, "collect": 27, "metar_respons": 27, "tuse": 27, "syn_respons": 27, "4116": 27, "179": 27, "259": [27, 28], "metars_data": 27, "synoptic_data": 27, "earlier": [27, 30], "000000": 27, "0x13b2ae5e0": 27, "On": 27, "ax_syn": 27, "fig_syn": 27, "synopot": 27, "lower": [28, 30], "datauri": 28, "physicalel": 28, "sectorid": 28, "nesdi": 28, "wcda": 28, "nsof": 28, "mcida": 28, "poe": 28, "npoess": 28, "uniwisc": 28, "miscellan": 28, "nexrcomp": 28, "emeso": 28, "northern": 28, "hemispher": 28, "efd": 28, "tconu": 28, "arctic": 28, "tfd": 28, "prregi": 28, "sounder": 28, "west": 28, "antarct": 28, "supern": 28, "nh": 28, "meteosat": 28, "gm": 28, "actp": 28, "adp": 28, "aod": 28, "04": [28, 30], "38um": 28, "61um": 28, "25um": 28, "90um": 28, "19um": 28, "95um": 28, "34um": 28, "50um": 28, "35um": 28, "20um": 28, "30um": 28, "csm": 28, "cth": 28, "fdc": 28, "li": 28, "lst": 28, "si": 28, "tpw": 28, "vmp": 28, "00hpa": 28, "02hpa": 28, "04hpa": 28, "08hpa": 28, "14hpa": 28, "22hpa": 28, "35hpa": 28, "51hpa": 28, "71hpa": 28, "98hpa": 28, "30hpa": 28, "69hpa": 28, "1013": 28, "95hpa": 28, "103": 28, "1042": 28, "23hpa": 28, "1070": 28, "92hpa": 28, "110": 28, "24hpa": 28, "1100": 28, "117": 28, "78hpa": 28, "65hpa": 28, "133": 28, "85hpa": 28, "46hpa": 28, "142": 28, "38hpa": 28, "151": 28, "27hpa": 28, "43hpa": 28, "160": 28, "50hpa": 28, "58hpa": 28, "32hpa": 28, "15hpa": 28, "70hpa": 28, "99hpa": 28, "212": 28, "03hpa": 28, "223": 28, "44hpa": 28, "45hpa": 28, "235": 28, "247": 28, "41hpa": 28, "97hpa": 28, "26": 28, "18hpa": 28, "272": 28, "286": 28, "26hpa": 28, "12hpa": 28, "34hpa": 28, "314": 28, "328": 28, "68hpa": 28, "343": 28, "62hpa": 28, "358": 28, "374": 28, "72hpa": 28, "390": 28, "89hpa": 28, "407": 28, "47hpa": 28, "424": 28, "10hpa": 28, "441": 28, "88hpa": 28, "459": 28, "47": 28, "19hpa": 28, "477": 28, "96hpa": 28, "496": 28, "63hpa": 28, "53hpa": 28, "515": 28, "535": 28, "555": 28, "17hpa": 28, "13hpa": 28, "52hpa": 28, "596": 28, "31hpa": 28, "617": 28, "639": 28, "661": 28, "683": 28, "67hpa": 28, "706": 28, "57hpa": 28, "71": 28, "54hpa": 28, "729": 28, "753": 28, "777": 28, "79hpa": 28, "802": 28, "37hpa": 28, "827": 28, "852": 28, "878": 28, "904": 28, "87hpa": 28, "931": 28, "958": 28, "59hpa": 28, "96": 28, "11hpa": 28, "986": 28, "07hpa": 28, "vtp": 28, "ctt": 28, "rrqpe": 28, "sst": 28, "vah": 28, "vaml": 28, "micron": 28, "ir": 28, "wv": 28, "visibl": 28, "lift": [28, 29], "water": 28, "skin": 28, "98": 28, "rain": 28, "fog": 28, "ozon": 28, "low": 28, "percent": 28, "dhr": 28, "dvl": 28, "eet": 28, "hhc": 28, "n0r": 28, "n1p": 28, "ntp": 28, "properti": 28, "utc": [28, 30], "hourdiff": 28, "dai": 28, "offsetstr": 28, "ago": 28, "coolwarm": 28, "021388888888888888hr": 28, "0m": 28, "47462": 28, "657455": 28, "24799": 28, "116167": 28, "797777777777778hr": 28, "61595": 28, "45227": 28, "422266": 28, "70851": 28, "1152x1008": 28, "mandatori": 29, "signific": 29, "lcl": 29, "parcel_profil": 29, "man_param": 29, "sigt_param": 29, "mention": 29, "prman": 29, "wdman": 29, "wsman": 29, "prsigt": 29, "tpsigt": 29, "tdsigt": 29, "staelev": 29, "stanam": 29, "wmo": 29, "Their": 29, "undata": 29, "21824": 29, "21946": 29, "24266": 29, "24343": 29, "24641": 29, "24688": 29, "24959": 29, "25123": 29, "25703": 29, "25913": 29, "31004": 29, "31088": 29, "31300": 29, "31369": 29, "31510": 29, "31538": 29, "31770": 29, "31873": 29, "32061": 29, "32098": 29, "32150": 29, "32389": 29, "32477": 29, "32540": 29, "32618": 29, "47122": 29, "47138": 29, "47158": 29, "47401": 29, "47412": 29, "47582": 29, "47646": 29, "47678": 29, "47807": 29, "47827": 29, "47909": 29, "47918": 29, "47945": 29, "47971": 29, "47991": 29, "70026": 29, "70133": 29, "70200": 29, "70219": 29, "70231": 29, "70261": 29, "70273": 29, "70308": 29, "70316": 29, "70326": 29, "70350": 29, "70361": 29, "70398": 29, "70414": 29, "71043": 29, "71081": 29, "71082": 29, "71109": 29, "71119": 29, "71603": 29, "71722": 29, "71802": 29, "71811": 29, "71815": 29, "71816": 29, "71823": 29, "71845": 29, "71867": 29, "71906": 29, "71907": 29, "71909": 29, "71913": 29, "71917": 29, "71924": 29, "71925": 29, "71926": 29, "71934": 29, "71945": 29, "71957": 29, "71964": 29, "72201": 29, "72202": 29, "72206": 29, "72208": 29, "72210": 29, "72214": 29, "72215": 29, "72221": 29, "72230": 29, "72233": 29, "72235": 29, "72240": 29, "72248": 29, "72249": 29, "72250": 29, "72251": 29, "72261": 29, "72265": 29, "72274": 29, "72293": 29, "72305": 29, "72317": 29, "72318": 29, "72327": 29, "72340": 29, "72357": 29, "72363": 29, "72364": 29, "72365": 29, "72376": 29, "72381": 29, "72388": 29, "72393": 29, "72402": 29, "72403": 29, "72426": 29, "72440": 29, "72451": 29, "72456": 29, "72469": 29, "72476": 29, "72489": 29, "72493": 29, "72501": 29, "72518": 29, "72520": 29, "72528": 29, "72558": 29, "72562": 29, "72572": 29, "72582": 29, "72597": 29, "72632": 29, "72634": 29, "72645": 29, "72649": 29, "72659": 29, "72662": 29, "72672": 29, "72681": 29, "72694": 29, "72712": 29, "72747": 29, "72764": 29, "72768": 29, "72776": 29, "72786": 29, "72797": 29, "74004": 29, "74005": 29, "74389": 29, "74455": 29, "74560": 29, "74794": 29, "78016": 29, "78384": 29, "78397": 29, "78486": 29, "78526": 29, "78583": 29, "78866": 29, "78954": 29, "78970": 29, "78988": 29, "80001": 29, "91165": 29, "91212": 29, "91285": 29, "91334": 29, "91348": 29, "91366": 29, "91376": 29, "91408": 29, "91413": 29, "91610": 29, "91643": 29, "91680": 29, "91765": 29, "94120": 29, "94203": 29, "94299": 29, "94332": 29, "94461": 29, "94510": 29, "94578": 29, "94637": 29, "94638": 29, "94653": 29, "94659": 29, "94672": 29, "94711": 29, "94776": 29, "94996": 29, "north": 29, "platt": 29, "lee": 29, "bird": 29, "nebraska": 29, "validperiod": 29, "7005615234375": 29, "14971923828125": 29, "prsig": 29, "tpsig": 29, "tdsig": 29, "mangeo": 29, "sigtgeo": 29, "parm_arrai": 29, "wsunit": 29, "tpunit": 29, "sigt": 29, "interpol": 29, "inclus": 29, "argsort": 29, "wpre": 29, "direc": 29, "flag": 29, "milibar": 29, "extract": 29, "radian": 29, "deg2rad": 29, "logp": 29, "title_str": [29, 30], "round": 29, "lcl_pressur": 29, "lcl_temperatur": 29, "ko": 29, "markerfacecolor": 29, "parcel": 29, "prof": 29, "condens": 29, "statement": 30, "accur": 30, "overlai": 30, "patch": 30, "mpatch": 30, "vtec": 30, "place": 30, "recogniz": 30, "hdln": 30, "rememb": 30, "xx": 30, "phen": 30, "phenomena": 30, "pamphlet": 30, "watch_sig": 30, "warn_sig": 30, "advis_sig": 30, "statem_sig": 30, "worth": 30, "littl": 30, "1502": 30, "summari": 30, "toggl": 30, "earliest": 30, "sum": 30, "alphabet": 30, "ex": 30, "blizzard": 30, "bz": 30, "areal": 30, "flood": 30, "fa": 30, "watch_shap": 30, "warning_shap": 30, "advisory_shap": 30, "statement_shap": 30, "time_str": 30, "truncat": 30, "decim": 30, "pars": 30, "easi": 30, "comparison": 30, "first_tim": 30, "last_tim": 30, "blank": 30, "sp": 30, "ref_str": 30, "ref_tim": 30, "phensigstr": 30, "geom_typ": 30, "intersect": 30, "printout": 30, "phensig_titl": 30, "frame": 30, "states_provinc": 30, "ot": 30, "switch": 30, "turn": 30, "involv": 30, "draw_advisori": 30, "draw_watch": 30, "draw_warn": 30, "draw_stat": 30, "64": 30, "49": 30, "comma": 30, "space": 30, "bigger": 30, "font": 30, "horizonat": 30, "under": 30, "larger": 30, "ncol": 30, "baltimor": 30, "offic": 30, "colleg": 30, "dupag": 30, "explan": 30, "geometrydata": 30, "shaeplyfeatur": 30, "goe": 31, "cira": 31, "nexrad": 31, "level3": 31, "accumul": 31, "Of": 31, "advisori": 31, "non": 32, "effict": 32, "git": 32, "pacakg": 32, "forg": 32, "instruct": 32, "browser": 32, "jupyt": 32, "clone": 32, "cd": 32, "yml": 32, "activ": 32, "reach": 32, "email": 32}, "objects": {"awips": [[3, 0, 0, "-", "DateTimeConverter"], [10, 0, 0, "-", "RadarCommon"], [11, 0, 0, "-", "ThriftClient"], [13, 0, 0, "-", "TimeUtil"]], "awips.DateTimeConverter": [[3, 1, 1, "", "constructTimeRange"], [3, 1, 1, "", "convertToDateTime"]], "awips.RadarCommon": [[10, 1, 1, "", "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"]], "awips.ThriftClient": [[11, 2, 1, "", "ThriftClient"], [11, 4, 1, "", "ThriftRequestException"]], "awips.ThriftClient.ThriftClient": [[11, 3, 1, "", "sendRequest"]], "awips.TimeUtil": [[13, 1, 1, "", "determineDrtOffset"], [13, 1, 1, "", "makeTime"]], "awips.dataaccess": [[1, 0, 0, "-", "CombinedTimeQuery"], [2, 0, 0, "-", "DataAccessLayer"], [4, 2, 1, "", "IDataRequest"], [6, 0, 0, "-", "ModelSounding"], [7, 0, 0, "-", "PyData"], [8, 0, 0, "-", "PyGeometryData"], [9, 0, 0, "-", "PyGridData"], [12, 0, 0, "-", "ThriftClientRouter"]], "awips.dataaccess.CombinedTimeQuery": [[1, 1, 1, "", "getAvailableTimes"]], "awips.dataaccess.DataAccessLayer": [[2, 1, 1, "", "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"]], "awips.dataaccess.IDataRequest": [[4, 5, 1, "", "__weakref__"], [4, 3, 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"]], "awips.dataaccess.ModelSounding": [[6, 1, 1, "", "changeEDEXHost"], [6, 1, 1, "", "getSounding"]], "awips.dataaccess.PyData": [[7, 2, 1, "", "PyData"]], "awips.dataaccess.PyData.PyData": [[7, 3, 1, "", "getAttribute"], [7, 3, 1, "", "getAttributes"], [7, 3, 1, "", "getDataTime"], [7, 3, 1, "", "getLevel"], [7, 3, 1, "", "getLocationName"]], "awips.dataaccess.PyGeometryData": [[8, 2, 1, "", "PyGeometryData"]], "awips.dataaccess.PyGeometryData.PyGeometryData": [[8, 3, 1, "", "getGeometry"], [8, 3, 1, "", "getNumber"], [8, 3, 1, "", "getParameters"], [8, 3, 1, "", "getString"], [8, 3, 1, "", "getType"], [8, 3, 1, "", "getUnit"]], "awips.dataaccess.PyGridData": [[9, 2, 1, "", "PyGridData"]], "awips.dataaccess.PyGridData.PyGridData": [[9, 3, 1, "", "getLatLonCoords"], [9, 3, 1, "", "getParameter"], [9, 3, 1, "", "getRawData"], [9, 3, 1, "", "getUnit"]], "awips.dataaccess.ThriftClientRouter": [[12, 2, 1, "", "LazyGridLatLon"], [12, 2, 1, "", "ThriftClientRouter"]], "awips.dataaccess.ThriftClientRouter.ThriftClientRouter": [[12, 3, 1, "", "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"]], "awips.gfe": [[5, 0, 0, "-", "IFPClient"]], "awips.gfe.IFPClient": [[5, 2, 1, "", "IFPClient"]], "awips.gfe.IFPClient.IFPClient": [[5, 3, 1, "", "commitGrid"], [5, 3, 1, "", "getGridInventory"], [5, 3, 1, "", "getParmList"], [5, 3, 1, "", "getSelectTR"], [5, 3, 1, "", "getSiteID"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:exception", "5": "py:attribute"}, "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"]}, "titleterms": {"about": 0, "unidata": 0, "awip": [0, 32], "licens": 0, "edex": [0, 17, 19, 20, 21, 22, 23, 24, 27, 29, 30], "cave": 0, "alertviz": 0, "ldm": 0, "edexbridg": 0, "qpid": 0, "postgresql": 0, "hdf5": 0, "pypi": 0, "httpd": 0, "combinedtimequeri": 1, "dataaccesslay": 2, "datetimeconvert": 3, "idatarequest": 4, "newdatarequest": 4, "ifpclient": 5, "modelsound": 6, "pydata": 7, "pygeometrydata": 8, "pygriddata": 9, "radarcommon": 10, "thriftclient": 11, "thriftclientrout": 12, "timeutil": 13, "api": 14, "document": [14, 17, 18, 19, 20, 22, 23, 24, 27, 29, 30], "avail": [15, 21, 24, 28, 29], "data": [15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 29, 30, 31, 32], "type": [15, 21], "satellit": [15, 28], "binlightn": 15, "grid": [15, 18, 21], "warn": [15, 30], "radar": [15, 25], "develop": 16, "guid": 16, "write": [16, 20], "new": [16, 21], "factori": 16, "regist": 16, "framework": [16, 32], "retriev": [16, 19], "us": [16, 18, 19, 22, 23, 24, 29, 30], "background": 16, "design": 16, "implement": 16, "how": 16, "user": 16, "plugin": 16, "contribut": 16, "support": [16, 21], "datatyp": 16, "work": 16, "when": 16, "receiv": 16, "request": [16, 18, 21, 27, 29], "interfac": 16, "java": 16, "onli": [16, 32], "color": [17, 18], "surfac": [17, 27], "temperatur": 17, "plot": [17, 18, 19, 22, 24, 27, 29, 30, 31], "object": [17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30], "tabl": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "content": [17, 18, 20, 21, 22, 23, 24, 27, 29, 30], "1": [17, 18, 19, 20, 21, 22, 23, 24, 29, 30], "import": [17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30], "2": [17, 18, 19, 20, 21, 22, 23, 24, 29, 30], "initi": [17, 20, 22, 23, 27, 29, 30], "setup": [17, 20, 22, 27, 30], "geograph": [17, 27], "filter": [17, 20, 22, 23, 24, 27, 29, 30], "connect": [17, 19, 20, 21, 22, 23, 24, 27, 29, 30], "3": [17, 18, 19, 20, 21, 22, 23, 24, 29, 30], "time": [17, 18, 21, 22, 24, 27, 29, 30], "4": [17, 18, 19, 20, 21, 22, 23, 24, 29, 30], "access": [17, 32], "convert": [17, 29], "temp": 17, "5": [17, 18, 19, 20, 21, 22, 23, 24, 29, 30], "defin": [17, 18, 19, 20, 27], "threshold": 17, "6": [17, 18, 19, 20, 21, 22, 23, 24, 29, 30], "7": [17, 19, 21, 22, 23, 24, 29, 30], "see": [17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30], "also": [17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 30], "addit": [17, 18, 19, 20, 22, 23, 24, 27, 29, 30], "limit": 18, "result": 18, "base": 18, "function": [18, 19, 20, 22, 23, 27, 30], "make_map": [18, 23, 27, 30], "pcolormesh": 18, "contourf": 18, "relat": [18, 19, 20, 21, 22, 24, 27, 29, 30], "notebook": [18, 19, 20, 21, 22, 24, 27, 29, 30], "forecast": 19, "model": [19, 24], "vertic": 19, "sound": [19, 24, 29], "variabl": 19, "get_surface_data": 19, "get_levels_data": 19, "plot_skewt": 19, "necessari": 19, "8": [19, 21, 23, 24, 30], "skew": 19, "t": 19, "log": 19, "p": 19, "9": [19, 21, 23, 30], "comparison": 19, "10": [19, 21, 23], "goe": [20, 28], "cira": 20, "product": [20, 28], "writer": 20, "paramet": [20, 21, 22, 27, 29], "definit": 20, "set_siz": 20, "write_img": 20, "get": [20, 21, 22, 24, 27, 29, 30], "out": 20, "output": 20, "locat": [20, 21, 22, 24, 29], "imag": 20, "level": 21, "list": 21, "creat": [21, 23, 28, 30], "set": [21, 22, 24, 29], "metar": [22, 27], "station": 22, "metpi": 22, "get_cloud_cov": [22, 27], "name": [22, 24, 29], "extract": [22, 27, 30], "all": 22, "popul": 22, "dictionari": 22, "map": [23, 27], "resourc": 23, "topographi": 23, "from": [23, 24], "cwa": 23, "draw": [23, 27, 30], "merg": 23, "interst": 23, "boundari": [23, 30], "nearbi": 23, "citi": 23, "lake": 23, "major": 23, "river": 23, "11": 23, "prepar": [24, 29], "calcul": 24, "dewpoint": 24, "specif": 24, "humid": 24, "method": 24, "nexrad": 25, "level3": 25, "precip": 26, "accumul": 26, "region": [26, 27], "Of": 26, "interest": 26, "ob": 27, "extract_plotting_data": 27, "plot_data": 27, "respons": 27, "common": 27, "synopt": 27, "both": 27, "imageri": 28, "sourc": [28, 32], "entiti": 28, "sector": 28, "16": 28, "mesoscal": 28, "upper": 29, "air": 29, "bufr": 29, "unit": 29, "watch": 30, "advisori": 30, "get_color": 30, "get_titl": 30, "signific": 30, "sig": 30, "constant": 30, "phensig": 30, "geometri": 30, "state": 30, "polit": 30, "legend": 30, "wwa": 30, "exampl": [31, 32], "python": 32, "pre": 32, "requisit": 32, "softwar": 32, "packag": 32, "instal": 32, "pip": 32, "conda": 32, "code": 32, "question": 32, "contact": 32, "u": 32}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "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": 57}, "alltitles": {"About Unidata AWIPS": [[0, "about-unidata-awips"]], "License": [[0, "license"]], "About AWIPS": [[0, "about-awips"]], "EDEX": [[0, "edex"]], "CAVE": [[0, "cave"]], "Alertviz": [[0, "alertviz"]], "LDM": [[0, "id1"]], "edexBridge": [[0, "edexbridge"]], "Qpid": [[0, "id2"]], "PostgreSQL": [[0, "postgresql"]], "HDF5": [[0, "hdf5"]], "PyPIES (httpd-pypies)": [[0, "pypies-httpd-pypies"]], "CombinedTimeQuery": [[1, "module-awips.dataaccess.CombinedTimeQuery"]], "DataAccessLayer": [[2, "module-awips.dataaccess.DataAccessLayer"]], "DateTimeConverter": [[3, "module-awips.DateTimeConverter"]], "IDataRequest (newDataRequest())": [[4, "idatarequest-newdatarequest"]], "IFPClient": [[5, "module-awips.gfe.IFPClient"]], "ModelSounding": [[6, "module-awips.dataaccess.ModelSounding"]], "PyData": [[7, "module-awips.dataaccess.PyData"]], "PyGeometryData": [[8, "module-awips.dataaccess.PyGeometryData"]], "PyGridData": [[9, "module-awips.dataaccess.PyGridData"]], "RadarCommon": [[10, "module-awips.RadarCommon"]], "ThriftClient": [[11, "module-awips.ThriftClient"]], "ThriftClientRouter": [[12, "module-awips.dataaccess.ThriftClientRouter"]], "TimeUtil": [[13, "module-awips.TimeUtil"]], "API Documentation": [[14, "api-documentation"]], "Available Data Types": [[15, "available-data-types"]], "satellite": [[15, "satellite"]], "binlightning": [[15, "binlightning"]], "grid": [[15, "grid"]], "warning": [[15, "warning"]], "radar": [[15, "radar"]], "Development Guide": [[16, "development-guide"]], "Writing a New Factory": [[16, "writing-a-new-factory"]], "Registering the Factory with the Framework": [[16, "registering-the-factory-with-the-framework"]], "Retrieving Data Using the Factory": [[16, "retrieving-data-using-the-factory"]], "Development Background": [[16, "development-background"]], "Design/Implementation": [[16, "design-implementation"]], "How users of the framework retrieve and use the data": [[16, "how-users-of-the-framework-retrieve-and-use-the-data"]], "How plugin developers contribute support for new datatypes": [[16, "how-plugin-developers-contribute-support-for-new-datatypes"]], "How the framework works when it receives a request": [[16, "how-the-framework-works-when-it-receives-a-request"]], "Request interfaces": [[16, "request-interfaces"]], "Data Interfaces": [[16, "data-interfaces"]], "Factory Interfaces (Java only)": [[16, "factory-interfaces-java-only"]], "Colored Surface Temperature Plot": [[17, "colored-surface-temperature-plot"]], "Objectives": [[17, "objectives"], [18, "objectives"], [19, "objectives"], [20, "objectives"], [21, "objectives"], [22, "objectives"], [23, "objectives"], [24, "objectives"], [27, "objectives"], [29, "objectives"], [30, "objectives"]], "Table of Contents": [[17, "table-of-contents"], [18, "table-of-contents"], [20, "table-of-contents"], [21, "table-of-contents"], [22, "table-of-contents"], [23, "table-of-contents"], [24, "table-of-contents"], [27, "table-of-contents"], [29, "table-of-contents"], [30, "table-of-contents"]], "1 Imports": [[17, "imports"], [18, "imports"], [19, "imports"], [20, "imports"], [21, "imports"], [22, "imports"], [23, "imports"], [24, "imports"], [29, "imports"], [30, "imports"]], "2 Initial Setup": [[17, "initial-setup"], [20, "initial-setup"]], "2.1 Geographic Filter": [[17, "geographic-filter"]], "2.2 EDEX Connection": [[17, "edex-connection"]], "3 Filter by Time": [[17, "filter-by-time"]], "4 Access and Convert Temp Data": [[17, "access-and-convert-temp-data"]], "5 Define Temperature Thresholds": [[17, "define-temperature-thresholds"]], "6 Plot the Data!": [[17, "plot-the-data"], [22, "plot-the-data"], [29, "plot-the-data"]], "7 See Also": [[17, "see-also"], [22, "see-also"], [29, "see-also"]], "7.1 Additional Documention": [[17, "additional-documention"]], "Colorized Grid Data": [[18, "colorized-grid-data"]], "2 Define Data Request": [[18, "define-data-request"]], "3 Limit Results Based on Time": [[18, "limit-results-based-on-time"]], "4 Function: make_map()": [[18, "function-make-map"]], "5 Use the Grid Data!": [[18, "use-the-grid-data"]], "5.1 Plot Using pcolormesh": [[18, "plot-using-pcolormesh"]], "5.2 Plot Using contourf": [[18, "plot-using-contourf"]], "6 See Also": [[18, "see-also"], [20, "see-also"]], "6.1 Related Notebooks": [[18, "related-notebooks"], [20, "related-notebooks"]], "6.2 Additional Documentation": [[18, "additional-documentation"], [20, "additional-documentation"]], "Forecast Model Vertical Sounding": [[19, "forecast-model-vertical-sounding"]], "2 EDEX Connection": [[19, "edex-connection"], [24, "edex-connection"], [29, "edex-connection"]], "3 Define Useful Variables": [[19, "define-useful-variables"]], "4 Function: get_surface_data()": [[19, "function-get-surface-data"]], "5 Function: get_levels_data()": [[19, "function-get-levels-data"]], "6 Function: plot_skewT()": [[19, "function-plot-skewt"]], "7 Retrieve Necessary Plotting Data": [[19, "retrieve-necessary-plotting-data"]], "8 Skew-T/Log-P": [[19, "skew-t-log-p"]], "9 Model Sounding Comparison": [[19, "model-sounding-comparison"]], "10 See Also": [[19, "see-also"], [21, "see-also"]], "10.1 Related Notebooks": [[19, "related-notebooks"], [21, "related-notebooks"]], "10.2 Additional Documentation": [[19, "additional-documentation"]], "GOES CIRA Product Writer": [[20, "goes-cira-product-writer"]], "2.1 EDEX Connection": [[20, "edex-connection"]], "2.2 Parameter Definition": [[20, "parameter-definition"]], "3 Function: set_size()": [[20, "function-set-size"]], "4 Function: write_img()": [[20, "function-write-img"]], "5 Get the Data and Write it Out!": [[20, "get-the-data-and-write-it-out"]], "5.1 Filter the Data": [[20, "filter-the-data"]], "5.2 Define Output Location": [[20, "define-output-location"]], "5.3 Write Out GOES Images": [[20, "write-out-goes-images"]], "Grid Levels and Parameters": [[21, "grid-levels-and-parameters"]], "2 Connect to EDEX": [[21, "connect-to-edex"], [23, "connect-to-edex"]], "3 Get a List of Supported Data Types": [[21, "get-a-list-of-supported-data-types"]], "4 Create a New Data Request and Set the Type": [[21, "create-a-new-data-request-and-set-the-type"]], "5 Get Available Locations": [[21, "get-available-locations"]], "6 Get Available Parameters": [[21, "get-available-parameters"]], "7 Get Available Levels": [[21, "get-available-levels"]], "8 Get Available Times": [[21, "get-available-times"]], "9 Get the Data!": [[21, "get-the-data"]], "METAR Station Plot with MetPy": [[22, "metar-station-plot-with-metpy"]], "2 Function: get_cloud_cover()": [[22, "function-get-cloud-cover"]], "3 Initial Setup": [[22, "initial-setup"]], "3.1 Initial EDEX Connection": [[22, "initial-edex-connection"]], "3.2 Setting Connection Location Names": [[22, "setting-connection-location-names"]], "4 Filter by Time": [[22, "filter-by-time"]], "5 Use the Data!": [[22, "use-the-data"], [29, "use-the-data"]], "5.1 Get the Data!": [[22, "get-the-data"]], "5.2 Extract all Parameters": [[22, "extract-all-parameters"]], "5.3 Populate the Data Dictionary": [[22, "populate-the-data-dictionary"]], "7.1 Related Notebooks": [[22, "related-notebooks"], [29, "related-notebooks"]], "7.2 Additional Documentation": [[22, "additional-documentation"], [29, "additional-documentation"]], "Map Resources and Topography": [[23, "map-resources-and-topography"]], "3 Function: make_map()": [[23, "function-make-map"]], "4 Create Initial Map From CWA": [[23, "create-initial-map-from-cwa"]], "5 Draw Merged CWA": [[23, "draw-merged-cwa"]], "6 Draw Interstates using Boundary Filter": [[23, "draw-interstates-using-boundary-filter"]], "7 Draw Nearby Cities": [[23, "draw-nearby-cities"]], "8 Draw Nearby Lakes": [[23, "draw-nearby-lakes"]], "9 Draw Major Rivers": [[23, "draw-major-rivers"]], "10 Draw Topography": [[23, "draw-topography"]], "11 See Also": [[23, "see-also"]], "11.1 Additional Documentation": [[23, "additional-documentation"]], "Model Sounding Data": [[24, "model-sounding-data"]], "3 Setting Location": [[24, "setting-location"]], "3.1 Available Location Names": [[24, "available-location-names"]], "3.2 Setting the Location Name": [[24, "setting-the-location-name"]], "4 Filtering by Time": [[24, "filtering-by-time"]], "5 Get the Data!": [[24, "get-the-data"]], "6 Use the Data!": [[24, "use-the-data"]], "6.1 Prepare Data Objects": [[24, "prepare-data-objects"]], "6.2 Calculate Dewpoint from Specific Humidity": [[24, "calculate-dewpoint-from-specific-humidity"]], "6.2.1 Method 1": [[24, "method-1"]], "6.2.2 Method 2": [[24, "method-2"]], "6.2.3 Method 3": [[24, "method-3"]], "7 Plot the Data!": [[24, "plot-the-data"]], "8 See Also": [[24, "see-also"]], "8.1 Related Notebooks": [[24, "related-notebooks"]], "8.2 Additional Documentation": [[24, "additional-documentation"]], "NEXRAD Level3 Radar": [[25, "nexrad-level3-radar"]], "Precip Accumulation-Region Of Interest": [[26, "precip-accumulation-region-of-interest"]], "Regional Surface Obs Plot": [[27, "regional-surface-obs-plot"]], "Imports": [[27, "imports"]], "Function: get_cloud_cover()": [[27, "function-get-cloud-cover"]], "Function: make_map()": [[27, "function-make-map"]], "Function: extract_plotting_data()": [[27, "function-extract-plotting-data"]], "Function: plot_data()": [[27, "function-plot-data"]], "Initial Setup": [[27, "initial-setup"]], "Initial EDEX Connection": [[27, "initial-edex-connection"]], "Maps Request and Response": [[27, "maps-request-and-response"]], "Define Geographic Filter": [[27, "define-geographic-filter"]], "Define Time Filter": [[27, "define-time-filter"]], "Define Common Parameters for Data Requests": [[27, "define-common-parameters-for-data-requests"]], "Define METAR Request": [[27, "define-metar-request"]], "Define Synoptic Request": [[27, "define-synoptic-request"]], "Get the Data!": [[27, "get-the-data"]], "Get the EDEX Responses": [[27, "get-the-edex-responses"]], "Extract Plotting Data": [[27, "extract-plotting-data"]], "Plot the Data": [[27, "plot-the-data"]], "Draw the Region": [[27, "draw-the-region"]], "Plot METAR Data": [[27, "plot-metar-data"]], "Plot Synoptic Data": [[27, "plot-synoptic-data"]], "Plot both METAR and Synoptic Data": [[27, "plot-both-metar-and-synoptic-data"]], "See Also": [[27, "see-also"]], "Related Notebooks": [[27, "related-notebooks"]], "Additional Documentation": [[27, "additional-documentation"]], "Satellite Imagery": [[28, "satellite-imagery"]], "Available Sources, Creating Entities, Sectors, and Products": [[28, "available-sources-creating-entities-sectors-and-products"]], "GOES 16 Mesoscale Sectors": [[28, "goes-16-mesoscale-sectors"]], "Upper Air BUFR Soundings": [[29, "upper-air-bufr-soundings"]], "2.1 Initial EDEX Connection": [[29, "initial-edex-connection"]], "2.2 Setting Additional Request Parameters": [[29, "setting-additional-request-parameters"]], "2.3 Available Location Names": [[29, "available-location-names"]], "2.4 Setting the Location Name": [[29, "setting-the-location-name"]], "3 Filtering by Time": [[29, "filtering-by-time"]], "4 Get the Data!": [[29, "get-the-data"]], "5.1 Prepare Data Objects": [[29, "prepare-data-objects"]], "5.2 Convert Units": [[29, "convert-units"]], "Watch Warning and Advisory Plotting": [[30, "watch-warning-and-advisory-plotting"]], "2 Function: make_map()": [[30, "function-make-map"]], "3 Function: get_color()": [[30, "function-get-color"]], "4 Function get_title()": [[30, "function-get-title"]], "5 Initial Setup": [[30, "initial-setup"]], "5.1 EDEX Connection": [[30, "edex-connection"]], "5.2 Significance (Sig) Constants": [[30, "significance-sig-constants"]], "6 Filter by Time": [[30, "filter-by-time"]], "7 Use the Data!": [[30, "use-the-data"]], "7.1 Get the Data": [[30, "get-the-data"]], "7.2 Extract Phensigs, Geometries, and Times": [[30, "extract-phensigs-geometries-and-times"]], "8 Plot the Data!": [[30, "plot-the-data"]], "8.1 Create State and Political Boundaries": [[30, "create-state-and-political-boundaries"]], "8.2 Draw the Plot and Legend for WWAs": [[30, "draw-the-plot-and-legend-for-wwas"]], "9 See Also": [[30, "see-also"]], "9.1 Related Notebooks": [[30, "related-notebooks"]], "9.2 Additional Documentation": [[30, "additional-documentation"]], "Data Plotting Examples": [[31, "data-plotting-examples"]], "Python AWIPS Data Access Framework": [[32, "python-awips-data-access-framework"]], "Pre-requisite Software": [[32, "pre-requisite-software"]], "Package-Only Install": [[32, "package-only-install"]], "Pip Install": [[32, "pip-install"]], "Conda Install": [[32, "conda-install"]], "Source Code with Examples Install": [[32, "source-code-with-examples-install"]], "Questions \u2013 Contact Us!": [[32, "questions-contact-us"]]}, "indexentries": {"awips.dataaccess.combinedtimequery": [[1, "module-awips.dataaccess.CombinedTimeQuery"]], "getavailabletimes() (in module awips.dataaccess.combinedtimequery)": [[1, "awips.dataaccess.CombinedTimeQuery.getAvailableTimes"]], "module": [[1, "module-awips.dataaccess.CombinedTimeQuery"], [2, "module-awips.dataaccess.DataAccessLayer"], [3, "module-awips.DateTimeConverter"], [5, "module-awips.gfe.IFPClient"], [6, "module-awips.dataaccess.ModelSounding"], [7, "module-awips.dataaccess.PyData"], [8, "module-awips.dataaccess.PyGeometryData"], [9, "module-awips.dataaccess.PyGridData"], [10, "module-awips.RadarCommon"], [11, "module-awips.ThriftClient"], [12, "module-awips.dataaccess.ThriftClientRouter"], [13, "module-awips.TimeUtil"]], "awips.dataaccess.dataaccesslayer": [[2, "module-awips.dataaccess.DataAccessLayer"]], "changeedexhost() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.changeEDEXHost"]], "getavailablelevels() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getAvailableLevels"]], "getavailablelocationnames() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getAvailableLocationNames"]], "getavailableparameters() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getAvailableParameters"]], "getavailabletimes() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getAvailableTimes"]], "getforecastrun() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getForecastRun"]], "getgeometrydata() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getGeometryData"]], "getgriddata() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getGridData"]], "getidentifiervalues() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getIdentifierValues"]], "getmetarobs() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getMetarObs"]], "getoptionalidentifiers() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getOptionalIdentifiers"]], "getradarproductids() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getRadarProductIDs"]], "getradarproductnames() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getRadarProductNames"]], "getrequiredidentifiers() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getRequiredIdentifiers"]], "getsupporteddatatypes() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getSupportedDatatypes"]], "getsynopticobs() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.getSynopticObs"]], "newdatarequest() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.newDataRequest"]], "setlazyloadgridlatlon() (in module awips.dataaccess.dataaccesslayer)": [[2, "awips.dataaccess.DataAccessLayer.setLazyLoadGridLatLon"]], "awips.datetimeconverter": [[3, "module-awips.DateTimeConverter"]], "constructtimerange() (in module awips.datetimeconverter)": [[3, "awips.DateTimeConverter.constructTimeRange"]], "converttodatetime() (in module awips.datetimeconverter)": [[3, "awips.DateTimeConverter.convertToDateTime"]], "idatarequest (class in awips.dataaccess)": [[4, "awips.dataaccess.IDataRequest"]], "__weakref__ (awips.dataaccess.idatarequest attribute)": [[4, "awips.dataaccess.IDataRequest.__weakref__"]], "addidentifier() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.addIdentifier"]], "getdatatype() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getDatatype"]], "getenvelope() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getEnvelope"]], "getidentifiers() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getIdentifiers"]], "getlevels() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getLevels"]], "getlocationnames() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.getLocationNames"]], "setdatatype() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setDatatype"]], "setenvelope() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setEnvelope"]], "setlevels() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setLevels"]], "setlocationnames() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setLocationNames"]], "setparameters() (awips.dataaccess.idatarequest method)": [[4, "awips.dataaccess.IDataRequest.setParameters"]], "ifpclient (class in awips.gfe.ifpclient)": [[5, "awips.gfe.IFPClient.IFPClient"]], "awips.gfe.ifpclient": [[5, "module-awips.gfe.IFPClient"]], "commitgrid() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.commitGrid"]], "getgridinventory() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.getGridInventory"]], "getparmlist() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.getParmList"]], "getselecttr() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.getSelectTR"]], "getsiteid() (awips.gfe.ifpclient.ifpclient method)": [[5, "awips.gfe.IFPClient.IFPClient.getSiteID"]], "awips.dataaccess.modelsounding": [[6, "module-awips.dataaccess.ModelSounding"]], "changeedexhost() (in module awips.dataaccess.modelsounding)": [[6, "awips.dataaccess.ModelSounding.changeEDEXHost"]], "getsounding() (in module awips.dataaccess.modelsounding)": [[6, "awips.dataaccess.ModelSounding.getSounding"]], "pydata (class in awips.dataaccess.pydata)": [[7, "awips.dataaccess.PyData.PyData"]], "awips.dataaccess.pydata": [[7, "module-awips.dataaccess.PyData"]], "getattribute() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getAttribute"]], "getattributes() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getAttributes"]], "getdatatime() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getDataTime"]], "getlevel() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getLevel"]], "getlocationname() (awips.dataaccess.pydata.pydata method)": [[7, "awips.dataaccess.PyData.PyData.getLocationName"]], "pygeometrydata (class in awips.dataaccess.pygeometrydata)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData"]], "awips.dataaccess.pygeometrydata": [[8, "module-awips.dataaccess.PyGeometryData"]], "getgeometry() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getGeometry"]], "getnumber() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getNumber"]], "getparameters() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getParameters"]], "getstring() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getString"]], "gettype() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getType"]], "getunit() (awips.dataaccess.pygeometrydata.pygeometrydata method)": [[8, "awips.dataaccess.PyGeometryData.PyGeometryData.getUnit"]], "pygriddata (class in awips.dataaccess.pygriddata)": [[9, "awips.dataaccess.PyGridData.PyGridData"]], "awips.dataaccess.pygriddata": [[9, "module-awips.dataaccess.PyGridData"]], "getlatloncoords() (awips.dataaccess.pygriddata.pygriddata method)": [[9, "awips.dataaccess.PyGridData.PyGridData.getLatLonCoords"]], "getparameter() (awips.dataaccess.pygriddata.pygriddata method)": [[9, "awips.dataaccess.PyGridData.PyGridData.getParameter"]], "getrawdata() (awips.dataaccess.pygriddata.pygriddata method)": [[9, "awips.dataaccess.PyGridData.PyGridData.getRawData"]], "getunit() (awips.dataaccess.pygriddata.pygriddata method)": [[9, "awips.dataaccess.PyGridData.PyGridData.getUnit"]], "awips.radarcommon": [[10, "module-awips.RadarCommon"]], "encode_dep_vals() (in module awips.radarcommon)": [[10, "awips.RadarCommon.encode_dep_vals"]], "encode_radial() (in module awips.radarcommon)": [[10, "awips.RadarCommon.encode_radial"]], "encode_thresh_vals() (in module awips.radarcommon)": [[10, "awips.RadarCommon.encode_thresh_vals"]], "get_data_type() (in module awips.radarcommon)": [[10, "awips.RadarCommon.get_data_type"]], "get_datetime_str() (in module awips.radarcommon)": [[10, "awips.RadarCommon.get_datetime_str"]], "get_hdf5_data() (in module awips.radarcommon)": [[10, "awips.RadarCommon.get_hdf5_data"]], "get_header() (in module awips.radarcommon)": [[10, "awips.RadarCommon.get_header"]], "thriftclient (class in awips.thriftclient)": [[11, "awips.ThriftClient.ThriftClient"]], "thriftrequestexception": [[11, "awips.ThriftClient.ThriftRequestException"]], "awips.thriftclient": [[11, "module-awips.ThriftClient"]], "sendrequest() (awips.thriftclient.thriftclient method)": [[11, "awips.ThriftClient.ThriftClient.sendRequest"]], "lazygridlatlon (class in awips.dataaccess.thriftclientrouter)": [[12, "awips.dataaccess.ThriftClientRouter.LazyGridLatLon"]], "thriftclientrouter (class in awips.dataaccess.thriftclientrouter)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter"]], "awips.dataaccess.thriftclientrouter": [[12, "module-awips.dataaccess.ThriftClientRouter"]], "getavailablelevels() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLevels"]], "getavailablelocationnames() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLocationNames"]], "getavailableparameters() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableParameters"]], "getavailabletimes() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableTimes"]], "getgeometrydata() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGeometryData"]], "getgriddata() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGridData"]], "getidentifiervalues() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getIdentifierValues"]], "getnotificationfilter() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getNotificationFilter"]], "getoptionalidentifiers() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getOptionalIdentifiers"]], "getrequiredidentifiers() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getRequiredIdentifiers"]], "getsupporteddatatypes() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getSupportedDatatypes"]], "newdatarequest() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.newDataRequest"]], "setlazyloadgridlatlon() (awips.dataaccess.thriftclientrouter.thriftclientrouter method)": [[12, "awips.dataaccess.ThriftClientRouter.ThriftClientRouter.setLazyLoadGridLatLon"]], "awips.timeutil": [[13, "module-awips.TimeUtil"]], "determinedrtoffset() (in module awips.timeutil)": [[13, "awips.TimeUtil.determineDrtOffset"]], "maketime() (in module awips.timeutil)": [[13, "awips.TimeUtil.makeTime"]]}}) \ No newline at end of file