Extending AWIPS to Support Remote Collaboration

Herb Grote*, Chris Golden
NOAA Forecast Systems Laboratory
Boulder, Colorado
To be presented at the Interactive Symposium on the Advanced Weather Interactive Processing System (AWIPS), 13 - 18 January 2002, Orlando, FL.

1. Introduction

Collaboration between forecasters in generating a forecast product or for joint weather briefings has the potential of providing a better forecast for the consumer. A new system under development at FSL allows forecasters to exchange ideas and data in making their forecast decisions.

The FX-Collaborate (FXC) project began approximately three years ago as an exploratory development for studying architectural issues involved in implementing collaboration and distributed databases (Grote 1999). The approach was to develop an operational prototype system that would assist in exploring these issues while simultaneously collecting information from users about what constitutes an effective collaborative system. The Java programming language was chosen for this project since it allows rapid prototyping and supports remote method invocation (RMI).

Because of the National Weather Service's large investment in the development of the data acquisition and display capabilities of AWIPS, the decision was made to leverage the AWIPS development and use the AWIPS code to access the data and generate display metafiles. By defining a flexible metafile format it has been possible to display image and graphic data and also provide flexibility for changing line colors, width, and font size, and progressive disclosure of data when zooming.

Since 1998, the FXC prototype has evolved into a highly interactive display system that allows users of weather data at different geographic locations to concurrently view and interact with the same data. Any user in a collaborative session can control his or her display and the displays of all of the participants. FXC has many applications, from weather briefings to joint forecast product generation and slide presentations.

2. Capabilities

FXC supports most of the basic functions of a meteorological workstation and has many advanced features not usually found in similar workstations. Among these advanced features are collaborative displays; access to data from various sources such as local disks, web servers, and remote AWIPS databases; a chat facility; and a slide briefing capability.

The following brief scenarios are provided to help illustrate some of the capabilities and applications of the system.

2.1 Scenario 1 (Noncollaborative)

A forecaster loads a visible satellite image and overlays the latest METAR observations. After studying the data she also overlays the surface temperature and 500 mb height analyses. She zooms in on a certain area, draws a cold front, and then saves the displayed information as a JPEG image for possible distribution and future use. She also saves the manual graphics as Java objects for potential modification at a later time.

2.2 Scenario 2 (Collaborative)

During a weather briefing to emergency managers a forecaster loads an infrared satellite image and the hurricane track guidance from HPC. Animation of the infrared image confirms the track history of the hurricane. The forecaster then draws and annotates a warning box that indicates where flooding is expected. Next, the forecaster brings up a river stage plot from a web site and points out locations where rivers are close to flooding. A hydrograph and a video cam overlooking the river verify the information.

2.3 Scenario 3 (Collaborative)

Prior to a rocket launch at the eastern launch range the lead forecaster gives a briefing to advise team members of the current launch conditions. The forecaster first loads a satellite image, then radar and lightning data, and proceeds by annotating the display to indicate trends in the weather and potentially hazardous conditions. Interspersed throughout the briefing are text slides that show the state of each of several well-established launch criteria. He changes the state of one criterion from green to red. After the briefing the forecaster monitors the weather by setting up two real-time animation sequences, one of radar and a second of satellite images. FXC is then instructed to alternate between these two sequences indefinitely.

2.4 Scenario 4 (Collaborative)

A university professor is giving a lecture to students at a remote campus. The professor loads various observations and then illustrates a particular atmospheric phenomenon by loading several analyses and forecast fields, creating time series, model soundings, and arbitrary spatial and time-height cross sections. He then underscores relevant points by retrieving images and slides prepared in advance and stored on his local disk. The professor concludes his lecture by creating a text slide instructing the students to independently study a particular event. The students disconnect from the collaborative session and connect to the independent servers in order to complete the assigned task. Occasionally, a student joins the collaborative chat room to obtain an answer to a question.

These scenarios illustrate how FXC capabilities can be effectively used for a variety of applications. Although FXC is specifically designed for collaboration, it can be used in a collaborative or noncollaborative mode.

3. Architecture

FXC consists of two basic functional components: a client and a server. The client is responsible for handling user requests and controlling the display, and the server is responsible for obtaining data from remote sources and enabling data communication between clients.

Figure 1 depicts a number of FXC clients and two separate collaborative sessions.

One session consists of five participants: FSL, Florida EM (Emergency Manager), North Carolina EM, Georgia EM, and Georgia RFC (River Forecast Center). The second is a collaborative session between FSL and a participant in Granby, Massachusetts. In this diagram, FSL can be participating in the weather briefing conducted by the RFC for the emergency managers, and at any time connect to the other session with Granby, Massachusetts.

FXC collaborative architecture

Figure 1. FXC Collaborative Architecture

Each of the large circles, labeled "Java Servers," actually represents a collection of dedicated servers (processes) that can run on a single computer, or be distributed over several machines. The individual servers are dedicated to specific remote functions such as drawing (Scribble Server), meteorological data processing (Depictable Server), model interrogation, text retrieval, and text message exchange.

Some of these dedicated servers, such as the Depictable Server, require access to the AWIPS database or files and therefore may only be run on a computer with access to such data. However, most of the other servers may be run wherever adequate processing and communications bandwidth is available. The architectural concept employed enables the distribution of the servers across a network to achieve optimum system performance and reliability.

The Depictable Server satisfies all user requests for image or graphic products. It responds to requests for AWIPS products by using AWIPS C++ code to retrieve the appropriate data from the database and generate a metafile. The meteorological data server then sends the metafile to the requesting client (and all other clients in a collaborative session). The metafile contains sufficient information to allow each FXC client to render and manipulate the requested display.

The Depictable Server is also able to access web servers and retrieve images from a web site. When in a collaborative mode, the Depictable Server retrieves the requested information from the web server and sends it to the requester and each of the collaborating clients. When not connected to any server, the client retrieves the desired image directly from the web server.

Figure 2 illustrates the various data sources available to each of the FXC clients.

A user can obtain data from any one of a number of AWIPS databases, web servers, collaborators, or the user’s local disks. Currently, the data retrieved from web servers and the local disk are mostly in JPEG or GIF format.

FXC data sources

Figure 2. FXC Data Sources

The Scribble Server is responsible for communicating all drawing actions to the collaborating clients. This server keeps an active record of the drawing session and allows users to disconnect and reconnect without losing any information. An explicit "clear" by any of the users is required to erase the record of the session. Users can utilize the Scribble Server to share manually generated forecast products that were created off-line.

The FXC client includes a local data server which retrieves JPEG and GIF images from the local disks. Such images are the primary source for slide presentations and for providing supplemental information during a briefing.

The FXC client software is a single process that provides an interface between the servers and the user. It manages the display, the graphical user interface, and all communications with the servers. In a typical application, the client software runs on a remote host and communicates with the servers over a network. However, it is possible to run the client on the same machine as the server. This is appropriate for applications where only one aspect of FXC is of particular interest (e.g. the drawing capability and JPEG generation). Architecturally, this is similar to running an application consisting of multiple processes.

4. The Drawing Tool

One of the key features of FXC is its ability to annotate the meteorological display. This feature plays a crucial role in enhancing communications between collaborators and also in supporting basic product generation. Figure 3 shows the FXC screen and graphical annotations made with the drawing tool.

Annotated FXC display

Figure 3. FXC Display. Click here to see a full-size version (213k JPEG)

The drawing tool makes a large collection of meteorological symbols and annotation capabilities available to the user. The symbols are divided into nine major categories: aviation, precipitation, fronts, lines, combined symbols, polygons, text, cloud cover, and miscellaneous symbols such as wind barbs and hurricanes. All symbols have configurable attributes that may be set to defaults or altered once a symbol has been drawn on the display. Basic editing features include undo, redo, delete, duplicate, move, modify attributes, modify line, and change text.

All screen annotations are stored as Java objects, making it possible to save them to a file and retrieve them at a later time for additional modifications. These objects are also passed between clients participating in a collaborative session, providing collaborating clients the capability to modify the symbols created by another client. It is also possible to save the annotations as a single color graphic overlay metafile. This allows the user to sequence through a number of manual graphics superimposed on different forecast model graphics.

The drawing tool uses the true color capability of the hardware, and thus the graphics can be drawn in multiple colors. Also, individual annotations such as fronts are displayed using multiple colors as appropriate. The user can annotate any information displayed on the screen, including JPEG images. However, it should be noted that annotations of JPEG images cannot be transferred properly from one image to another, since earth references (latitude and longitude) are not available for these images. Normally, annotations can be redrawn to any scale and projection available in the system.

5. Platform Considerations

The FXC client software has been tested on a number of different machines and operating systems. These include Intel-based machines running Win95, Win98, WinNT, Windows 2000, and Linux; and a Macintosh G3 Powerbook running Yellow Dog Linux. The performance of the software varies with the hardware configuration and the operating system. The Java VM implementation for Windows appears to be the most efficient and dependable. The FXC software has not been run on HP hardware for some time, since the latest Java Development Kits were often not available for the HP-UX platforms.

The FXC Depictable Server, which uses the AWIPS software, must run on an Intel-based Linux machine since the C++ code has not been ported to other platforms (Davis et al. 2001). The Scribble Server and some of the other servers may be installed on machines running other operating systems. Some minor software modifications would be required to implement this.

6. Future Plans

The FXC prototype system is being tested at a number of different locations under quasi-operational conditions. As users become more familiar with the system they respond with requests for additional features. Many of the requests are for extensions of existing capabilities, such as a more flexible interface for creating slide shows, the ability to create custom color tables, and for additional meteorological products. There is also widespread interest in incorporating telephony into the system in lieu of the telephone conference calls that are currently used.

In the longer term, exploration will continue into greater distribution of processing and access to a greater variety of data and databases.

7. References

Grote, U. H., 1999: A Java-based Collaborative Working Environment for FX-Advanced. 15th International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Hydrology, and Oceanography, Dallas, TX, Amer. Meteor. Soc. 509 - 511.

Davis, D. L., U. Grote, and M. Biere, 2001: Porting AWIPS to Linux. 17th International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Hydrology, and Oceanography, Albuquerque, NM, Amer. Meteor. Soc. 84 - 87.


Footnotes

*
Corresponding author address: U. Herb Grote, NOAA/OAR R/FS4, 325 Broadway, Boulder, CO 80305; e-mail: u.herb.grote@noaa.gov.


HTML maintained by Joe Wakefield.
Last updated 3 Oct 01