edit

Unidata AWIPS User Manual


Unidata AWIPS is a modified and extended version of AWIPS (originally developed by NWS and Raytheon) for non-operational use in research and education by UCAR member institutions.

AWIPS takes a unified approach to data ingest, and most data types follow a path through the system starting with an LDM client requesting data from the Unidata IDD. Various raw data and product files (grib, BUFR, text, gini, McIDAS, NetCDF, more) are decoded and stored as HDF5 and Postgres metadata by EDEX, which then serves these data and products to clients over http.

Unidata supports two visualization frameworks for rendering data: CAVE, and the Python Data Access Framework (python-awips).


Download and Install CAVE

Release 18.1.1-1, September 19, 2018

Linux

install.sh --cave

For CentOS/Red Hat 6 and 7. Installs to /awips2/cave and writes files to ~/caveData.

chmod 755 install.sh
sudo ./install.sh --cave

Run CAVE from the Linux Desktop menu Applications > Internet > AWIPS CAVE, or from the command line as simply cave.

System Requirements

  • x86_64 CentOS/RHEL 6 or 7
  • OpenGL 2.0 capable device
  • 4GB RAM
  • Latest NVIDIA driver
  • approx. 2GB disk space for data caching (~/caveData)

You can reset CAVE at any time by removing the ~/caveData directory (on macOS ~/Library/caveData) and reconnecting to an EDEX server.

macOS

Download and install both
awips-cave-18.1.1-1.dmg
awips-python.pkg

Supported Graphics Devices for macOS

  • Intel HD Graphics
  • Intel Iris
  • NVIDIA GeForce
  • Unsupported Graphics Devices for macOS

  • AMD Radeon R9
  • AMD Radeon Pro
  • AMD FirePro D300
  • Writes and syncs files to ~/Library/caveData.

    awips-python.pkg is not a prerequisite, and CAVE will still run and display data without it, but to use any derived parameter functions such as wind barbs/arrows and grid parameters on various vertical coordinates, jep must be installed in some way (it is assumed in /Library/Python/2.7/site-packages/jep/)

    Windows

    awips-cave-18.1.1-1.msi

    Writes files to ~/caveData (in your user home directory)

    Requires Python 3, Numpy, and Jep be installed

    Requires PYTHONHOME be defined

    Windows-Specific Instructions

    1) Download and install Miniconda Python 3.7 for Windows

    • Allow Miniconda3 to set PATH and other environment variables.
    • Ensure that PYTHONHOME is set to the Miniconda3 location.

      If PYTHONHOME is not set, the gridslice Python module will not be installed or available.

    2) Install dependent Python packages

    • pip install numpy==1.15.1 jep==3.8.2

    3) Run awips-cave-18.1.1-1.msi

    Read full CAVE install instructions


    Download and Install EDEX

    Release 18.1.1-1, September 19, 2018

    Linux

    install.sh --edex

    Installs to /awips2/ directories.

    chmod 755 install.sh
    sudo ./install.sh --edex

    Start and Stop:

    edex start
    edex stop

    System Requirements

    • x86_64 CentOS/RHEL 6 or 7
    • 16+ CPU cores (each CPU core is one more decoder which can run in parallel)
    • 24GB RAM
    • 700GB+ disk space

    Read full EDEX install instructions


    License

    Unidata AWIPS source code and binaries (RPMs) are considered to be in the public domain, meaning there are no restrictions on any download, modification, or distribution in any form (original or modified). Unidata AWIPS contains no proprietery content and is therefore not subject to export controls as stated in the Master Rights licensing file.


    AWIPS Data in the Cloud

    Unidata and XSEDE Jetstream have partnered to offer a EDEX data server in the cloud, open to the Unidata university community. Select the server in the Connectivity Preferences dialog, or enter edex-cloud.unidata.ucar.edu (without http:// before, or :9581/services after).

    EDEX in the cloud


    Distributed Computing

    AWIPS makes use of service-oriented architecture to request, process, and serve real-time meteorological data. While originally developed for use on internal NWS forecast office networks, where operational installations of AWIPS can consist of a dozen servers or more, because the AWIPS source code was hard-coded with the NWS network configuration, the early Unidata releases were stripped of operation-specific configurations and plugins, and released specifically for standalone installation. This made sense given that a single EDEX instance with a Solid State Drive could handle most of the entire NOAAport data volume. However, with GOES-R(16) coming online, and more gridded forecast models being created at finer temporal and spatial resolutions, there was now a need to distribute EDEX data decoding in order to handle this firehose of data.


    Software Components

    EDEX

    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 all data ingest other than grib messages, which are processed by a separate ingestGrib server. After decoding, EDEX writes metadata to the database via Postgres and saves the processed data in HDF5 via PyPIES. A third EDEX server, request, feeds requested data to CAVE clients. EDEX ingest and request servers are started and stopped with the commands edex start and edex stop, which runs the system script /etc/rc.d/init.d/edex_camel

    CAVE

    Common AWIPS Visualization Environment. The data rendering and 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 (National Centers Perspective). CAVE is started with the command /awips2/cave/cave.sh or cave.sh

    CAVE

    LDM

    https://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, 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 processing. The LDM is started and stopped with the commands edex start and edex stop, which runs 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 available" messaged to Qpid, which alerts the EDEX Ingest server that a file is ready for processing.

    Qpid

    http://qpid.apache.org

    Apache Qpid, the Queue Processor Interface Daemon, is the messaging 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 data are available for display or further processing. Qpid is started 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

    PostgreSQL, known simply as Postgres, is a relational database management system (DBMS) which handles the storage and retrieval of metadata, database tables and some decoded data. The storage and reading of EDEX metadata is handled by the Postgres DBMS. Users may query the metadata tables by using the termainal-based front-end for Postgres called psql. Postgres is started and stopped by edex start and edex stop, and is controlled by the system script /etc/rc.d/init.d/edex_postgres

    HDF5

    http://www.hdfgroup.org/HDF5/

    Hierarchical Data Format (v.5) is 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 contain multiple volume scans of base reflectivity and base velocity as well as derived products such as composite reflectivity. The file may 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 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 to an HDF5 file is sent to PyPIES, and requests for data stored in HDF5 are processed by PyPIES.

    PyPIES is implemented in two parts: 1. The PyPIES manager is a Python application that runs as part of an Apache HTTP server, and handles requests to store and retrieve data. 2. The PyPIES logger is a Python process that coordinates logging. PyPIES is started and stopped by edex start and edex stop, and is controlled by the system script /etc/rc.d/init.d/httpd-pypies