update install, about, dev, index docs

This commit is contained in:
Michael James 2016-10-21 17:10:27 -05:00
parent 37003a839f
commit 984dd3b121
5 changed files with 94 additions and 59 deletions

View file

@ -1,16 +1,14 @@
=====
About AWIPS II
=====
===================
About Unidata AWIPS
===================
.. raw:: html
AWIPS II is a weather forecasting display and analysis package being
developed by the National Weather Service and Raytheon. AWIPS II is a
AWIPS is a weather forecasting display and analysis package being
developed by the National Weather Service and Raytheon. AWIPS is a
Java application consisting of a data-rendering client (CAVE, which runs
on Red Hat/CentOS Linux and Mac OS X) and a backend data server (EDEX,
which runs only on Linux)
AWIPS II takes a unified approach to data ingest, and most data types
AWIPS takes a unified approach to data ingest, and most data types
follow a standard path through the system. At a high level, data flow
describes the path taken by a piece of data from its source to its
display by a client system. This path starts with data requested and
@ -18,7 +16,7 @@ stored by an `LDM <#ldm>`_ client and includes the decoding of the data
and storing of decoded data in a form readable and displayable by the
end user.
The AWIPS II ingest and request processes are a highly distributed
The AWIPS ingest and request processes are a highly distributed
system, and the messaging broken `Qpid <#qpid>`_ is used for
inter-process communication.
@ -43,22 +41,22 @@ FOSS_COTS_License.pdf at `https://github.com/Unidata/awips2 <https://github.com/
About AWIPS
-----------
The primary AWIPS II application for data ingest, processing, and
The primary AWIPS application for data ingest, processing, and
storage is the Environmental Data EXchange (**EDEX**) server; the
primary AWIPS II application for visualization/data manipulation is the
primary AWIPS application for visualization/data manipulation is the
Common AWIPS Visualization Environment (**CAVE**) client, which is
typically installed on a workstation separate from other AWIPS II
typically installed on a workstation separate from other AWIPS
components.
In addition to programs developed specifically for AWIPS, AWIPS II uses
In addition to programs developed specifically for AWIPS, AWIPS uses
several commercial off-the-shelf (COTS) and Free or Open Source software
(FOSS) products to assist in its operation. The following components,
working together and communicating, compose the entire AWIPS II system.
working together and communicating, compose the entire AWIPS system.
AWIPS II Python Stack
---------------------
AWIPS Python Stack
------------------
A number of Python packages are bundled with the AWIPS II EDEX and CAVE
A number of Python packages are bundled with the AWIPS EDEX and CAVE
installations.
@ -66,9 +64,8 @@ installations.
Package Version RPM Name
====================== ============== ==============================
Python 2.7.10 awips2-python
**awips** **0.9.6** **awips2-python-awips**
basemap 1.0.7 awips2-python-basemap
cartopy 0.13.0 awips2-python-cartopy
**awips** **0.9.7** **awips2-python-awips**
cartopy 0.14.2 awips2-python-cartopy
cherrypy 3.1.2 awips2-python-cherrypy
cycler 0.10.0 awips2-python-cycler
cython 0.23.4 awips2-python-cython
@ -78,18 +75,15 @@ h5py 1.3.0 awips2-python-h5py
jep 3.4.1 awips2-python-jep
matplotlib 1.5.1 awips2-python-matplotlib
metpy 0.3.0 awips2-python-metpy
nose 0.11.1 awips2-python-nose
nose 1.3.7 awips2-python-nose
numpy 1.8.0 awips2-python-numpy
pil 1.1.6 awips2-python-pil
pint 0.7.2 awips2-python-pint
pmw 1.3.2 awips2-python-pmw
pupynere 1.0.13 awips2-python-pupynere
pycairo 1.2.2 awips2-python-pycairo
pygtk 2.8.6 awips2-python-pygtk
pyparsing 2.1.0 awips2-python-pyparsing
qpid 0.32 awips2-python-qpid
scientific 2.8 awips2-python-scientific
scipy 0.9.0 awips2-python-scipy
scipy 0.15.1 awips2-python-scipy
shapely 1.5.9 awips2-python-shapely
six 1.10.0 awips2-python-six
tables 2.1.2 awips2-python-tables
@ -99,9 +93,9 @@ werkzeug 3.1.2 awips2-python-werkzeug
EDEX
-------------------
----
The main server for AWIPS II. Qpid sends alerts to EDEX when data stored
The main server for AWIPS. Qpid sends alerts to EDEX when data stored
by the LDM is ready for processing. These Qpid messages include file
header information which allows EDEX to determine the appropriate data
decoder to use. The default ingest server (simply named ingest) handles
@ -114,10 +108,10 @@ ingest and request servers are started and stopped with the commands
``/etc/rc.d/init.d/edex_camel``
CAVE
-------------------
----
Common AWIPS Visualization Environment. The data rendering and
visualization tool for AWIPS II. CAVE contains of a number of different
visualization tool for AWIPS. CAVE contains of a number of different
data display configurations called perspectives. Perspectives used in
operational forecasting environments include **D2D** (Display
Two-Dimensional), **GFE** (Graphical Forecast Editor), and **NCP**
@ -131,7 +125,7 @@ Two-Dimensional), **GFE** (Graphical Forecast Editor), and **NCP**
CAVE
Alertviz
-------------------
--------
**Alertviz** is a modernized version of an AWIPS I application, designed
to present various notifications, error messages, and alarms to the user
@ -141,14 +135,14 @@ not required to be run separately. The toolbar is also **hidden from
view** and is accessed by right-click on the desktop taskbar icon.
LDM
-------------------
---
`http://www.unidata.ucar.edu/software/ldm/ <http://www.unidata.ucar.edu/software/ldm/>`_
The **LDM** (Local Data Manager), developed and supported by Unidata, is
a suite of client and server programs designed for data distribution,
and is the fundamental component comprising the Unidata Internet Data
Distribution (IDD) system. In AWIPS II, the LDM provides data feeds for
Distribution (IDD) system. In AWIPS, the LDM provides data feeds for
grids, surface observations, upper-air profiles, satellite and radar
imagery and various other meteorological datasets. The LDM writes data
directly to file and alerts EDEX via Qpid when a file is available for
@ -157,7 +151,7 @@ processing. The LDM is started and stopped with the commands
``service edex_ldm start`` and ``service edex_ldm stop``
edexBridge
-------------------
----------
edexBridge, invoked in the LDM configuration file
``/awips2/ldm/etc/ldmd.conf``, is used by the LDM to post "data
@ -165,12 +159,12 @@ available" messaged to Qpid, which alerts the EDEX Ingest server that a
file is ready for processing.
Qpid
-------------------
----
`http://qpid.apache.org <http://qpid.apache.org>`_
**Apache Qpid**, the Queue Processor Interface Daemon, is the messaging
system used by AWIPS II to facilitate communication between services.
system used by AWIPS to facilitate communication between services.
When the LDM receives a data file to be processed, it employs
**edexBridge** to send EDEX ingest servers a message via Qpid. When EDEX
has finished decoding the file, it sends CAVE a message via Qpid that
@ -179,7 +173,7 @@ and stopped by ``edex start`` and ``edex stop``, and is controlled by
the system script ``/etc/rc.d/init.d/qpidd``
PostgreSQL
-------------------
----------
`http://www.postgresql.org <http://www.postgresql.org>`_
@ -193,12 +187,12 @@ called **psql**. Postgres is started and stopped by ``edex start`` and
``/etc/rc.d/init.d/edex_postgres``
HDF5
-------------------
----
`http://www.hdfgroup.org/HDF5/ <http://www.hdfgroup.org/HDF5/>`_
**Hierarchical Data Format (v.5)** is
the primary data storage format used by AWIPS II for processed grids,
the primary data storage format used by AWIPS for processed grids,
satellite and radar imagery and other products. Similar to netCDF,
developed and supported by Unidata, HDF5 supports multiple types of data
within a single file. For example, a single HDF5 file of radar data may
@ -208,10 +202,10 @@ also contain data from multiple radars. HDF5 is stored in
``/awips2/edex/data/hdf5/``
PyPIES (httpd-pypies)
-------------------
---------------------
**PyPIES**, Python Process Isolated Enhanced Storage, was created for
AWIPS II to isolate the management of HDF5 Processed Data Storage from
AWIPS to isolate the management of HDF5 Processed Data Storage from
the EDEX processes. PyPIES manages access, i.e., reads and writes, of
data in the HDF5 files. In a sense, PyPIES provides functionality
similar to a DBMS (i.e PostgreSQL for metadata); all data being written

View file

@ -1,6 +1,6 @@
Dev Guide
=========
Development Guide
=================
The Data Access Framework allows developers to retrieve different types
of data without having dependencies on those types of data. It provides
@ -266,7 +266,7 @@ contributing the necessary code for the framework to support its data.
For example, the satellite plugin provides a factory class for
interacting with the framework and registers itself as being compatible
with the Data Access Framework. This concept is similar to how EDEX in
AWIPS II expects a plugin developer to provide a decoder class and
AWIPS expects a plugin developer to provide a decoder class and
record class and register them, but then automatically manages the rest
of the ingest process including routing, storing, and alerting on new
data. This style of plugin architecture effectively enables the

View file

@ -1,8 +1,8 @@
.. _examples-index:
################
Data Plotting Examples
################
######################
Data Plotting Examples
######################
.. toctree::
:maxdepth: 1

View file

@ -2,9 +2,45 @@
Python AWIPS Data Access Framework
==================================
The `python-awips <https://github.com/Unidata/python-awips>`_ package provides a Data Access Framework (DAF) for requesting data from a remote AWIPS II EDEX server.
`AWIPS <http://unidata.github.io/awips2>`_ is a weather display and analysis package developed by the National Weather Service for operational forecasting. UCAR's `Unidata Program Center <http://www.unidata.ucar.edu/software/awips2/>`_ supports a non-operational open-source release of the AWIPS software (`EDEX <http://unidata.github.io/awips2/#edex>`_, `CAVE <http://unidata.github.io/awips2/#cave>`_, and `python-awips <https://github.com/Unidata/python-awips>`_).
The `AWIPS II Python Stack <about.html#awips-ii-python-stack>`_ installed via RPM contains the DAF, matplotlib, numpy, scipy, basemap, pint, shapely, and other packages.
The python-awips package provides a data access framework for requesting grid and geometry datasets from an `EDEX <http://unidata.github.io/awips2>`_ server.
.. _Jupyter Notebook: http://nbviewer.jupyter.org/github/Unidata/python-awips/tree/master/examples/notebooks
Install
-------
- pip install python-awips
Requirements
~~~~~~~~~~~~
- Python 2.7+
- Shapely 1.4+
- MetPy and enum34 to run the `Jupyter Notebook`_ examples
How to Use
~~~~~~~~~~
::
from awips.dataaccess import DataAccessLayer
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest()
dataTypes = DataAccessLayer.getSupportedDatatypes()
request.setDatatype("grid")
request.addLocationNames("RAP40")
request.setParameters("T")
request.setLevels("0.0SFC")
cycles = DataAccessLayer.getAvailableTimes(request, True)
times = DataAccessLayer.getAvailableTimes(request)
response = DataAccessLayer.getGridData(request, times[-1])
for grid in response:
data = grid.getRawData()
lons, lats = grid.getLatLonCoords()
See the `API Documentation <api/DataAccessLayer.html>`_ for more information.
-------------
Documentation
@ -14,7 +50,8 @@ Documentation
:maxdepth: 2
install
api/index
examples/index
about
dev
gridparms
about

View file

@ -1,6 +1,6 @@
.. _Jupyter Notebook: http://nbviewer.jupyter.org/github/Unidata/python-awips/tree/master/examples/notebooks
Install python-awips
Installation
------------------
- pip install python-awips
@ -15,19 +15,23 @@ Requirements
Install from Github
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- git clone https://github.com/Unidata/python-awips.git
- cd python-awips
- git clone https://github.com/Unidata/python-awips.git && cd python-awips
- python setup.py install
Install for AWIPS (/awips2/python)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install for AWIPS
~~~~~~~~~~~~~~~~~
AWIPS II >=15.1.3 (March 2016) has `python-awips` bundled with the awips2-server and awips2-cave groups, as well as a full meteorological data stack (metpy, matplotlib, numpy, etc).
On standalone AWIPS systems, the full `AWIPS Python Stack <about.html#awips-ii-python-stack>`_ is installed to ``/awips2/python`` as RPM packages.
Easy install on an AWIPS system
- wget https://bootstrap.pypa.io/ez_setup.py -O - | /awips2/python/bin/python
- /awips2/python/bin/easy_install pip
- /awips2/python/bin/pip install python-awips
* For Unidata AWIPS release **16.2.2+**:
/awips2/python/bin/easy_install pip
/awips2/python/bin/pip install python-awips
* For releases before and up to **16.1.5** you may need to run
yum install awips2-python-setuptools