Enhancements to FX-Collaborate to Support Operations at NWS, USAF, and NASA

U. Herb Grote and Chris Golden*
NOAA Forecast Systems Laboratory
Boulder, Colorado
To be presented as Paper 12.7 at the Nineteenth International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, February 2003, Long Beach, CA.

Table of Contents


1. Introduction

FX-Collaborate (FXC) is a meteorological data display system with strong support for collaboration. Depending on its application, it is also referred to as FX-Connect or the Briefing Tool. The program is written in Java and the client software has been tested on Intel-based personal computers running Linux, various Windows operating systems (Win98, WinNT, WinXP, and Win2000), and on a Macintosh running Yellow Dog Linux. What makes FX-Collaborate unique is that it provides an extensive set of data display functions often found only in more powerful meteorological workstations, such as AWIPS, and integrates these with collaborative functions, such as text exchange (chat room) and elaborate drawing capabilities (analogous to whiteboarding) specifically designed for meteorologists and weather forecasters.

2. Unique Application Requirements

FXC is used by several government agencies for different and distinct applications. All have a basic requirement to view real-time meteorological data, but each also has its own unique set of requirements.

USAF and NASA - The U.S. Air Force and NASA routinely conduct weather briefings prior to a rocket launch. These briefings are conducted by the weather launch officer, and the screen displays are distributed across the base or facility using closed circuit television. A typical briefing consists of real-time weather observations and text slides that depict the status of various launch criteria. Unique requirements include a comprehensive text slide briefing capability (similar to PowerPoint) that allows forecasters to create and modify templates that are used during briefings. Forecasters also need to be able to export AWIPS screen displays to the Briefing Tool and annotate them with various meteorological symbols.

NWS RFC and Emergency Managers - The NWS Southeast River Forecast Center conducts weather briefings to various remote state Emergency Operations Centers during potential flooding situations (Bushong 2003). In order to provide comprehensive briefings, the system needs to access information on Internet Web servers and also jpeg and gif images created on local systems. Many of the gif images, such as hydrographs and river flood stage, are created by their AHPS (Advanced Hydrologic Prediction Services) system.

NWS Forecast Offices - The NWS is preparing to create a National Digital Forecast Database (NDFD) that contains composite forecasts created by all of the NWS Weather Forecast Offices. In order to make each NDFD grid a coherent product, Weather Forecast Offices need to coordinate their forecasts with adjacent offices. FXC's chat capability was enhanced to provide audible alarms, color coding, date/time stamps, and the ability to save chat discussions to a file. The chat capability was also isolated so that offices would have the ability to run a "light" version of FXC that consists only of the chat capability. This was desirable since network traffic over the AWIPS WAN becomes a concern should the system be expanded to all NWS offices.

FAA Center Weather Service Unit - FXC is a convenient and cost-effective way to introduce new graphics products to forecasters at a CWSU. Users can rely on a remote server to provide the data and procure only a low-cost system for display. Prototype aviation products are being generated on an AWIPS system at a central location and made available to remote users using FXC (Rodgers 2002). Specific enhancements to FXC were made to display aviation products that require multicolored overlays and special graphic extensions to the graphic metafile.

3. System Overview

At a cursory level, one may think of FXC as consisting of a client and a data server. The client's primary responsibility is to accept meteorological data and prepare them for display, and the server's is to access meteorological data and make these available to the client upon request. Upon closer examination, however, it becomes apparent that the FXC client can also perform functions usually identified with servers. The client is able to access some data directly from its local disk or memory and send these to the server for distribution to other clients connected to the same server (i.e., "collaborative mode"). Some of the data types that a client can access locally include:

The advantage of client-supplied products is that a user is able to access local information and share it with remote collaborators without depending on the FXC server for the data. For example, a user may want to share a graphic from a local mesonet or a jpeg image obtained from a different system. Although users can access local data, the primary source for meteorological data is still the server. The categories of data available from the FXC server are:

4. Description of Client Component

The client provides the interface to the user (Fig. 1). A user guide is available that gives a detailed description of the many display functions (Rodgers et al. 2002). The FXC client is a single process that uses separate processing threads to provide a high degree of independence between various actions initiated by the user. For example, a user can request a product from the server and perform other functions, such as animation and drawing, while waiting for the server to return the requested product. The client controls one main display window and other smaller ones, depending on the function performed.

Click on the image for a full-size version (114kB JPEG).

5. Description of Server Components

The server consists of several computer processes and processing threads to allow maximum flexibility and achieve optimum performance. A single Tcl/Tk script, known as the serverManager, starts the various processes on the server machine. It has a user interface that allows a user to monitor the activity, determine and control who is connected, and start or stop various processes. Following are the eight basic processes managed by the serverManager:

collabDepictableServer - This server process communicates internally with a product generator that runs AWIPS D2D code. When prompted by a client, it requests graphics metafiles from the product generator and returns these to all of the clients connected to it.

depictableServer - The depictableServer performs a function very similar to the collaborativeServer except it serves a single client. This allows an individual client to load products on its display without affecting the display of other clients.

chatServer - This server process allows many clients to communicate with each other using text messages similar to commercially available products such as "AOL Instant Messenger."

audioChatServer - This process was recently added to permit voice communications between clients. Although it supports voice communication between several clients, the process is designed to work best with two clients. It is anticipated that as network bandwidth and processing improve, the number of concurrent clients that can be adequately supported will increase.

scribbleServer - The scribbleServer handles the exchange of all graphics objects (i.e., drawing symbols) between several clients in a collaborative session. It caches all objects so that new users obtain all current objects when they connect, not just those created later.

pointServer - The pointServer process has a single function, that of communicating the coordinates of a user-defined point to the D2D code for generating time series or soundings from model grids.

baselineServer - This server is similar to the pointServer in that it communicates the coordinates of the endpoints of a straight line to the D2D code for generating vertical cross sections.

fileMonitor - As the name implies, the fileMonitor monitors the status of specific files. It is used to monitor the receipt of a text file from the Informix text database in response to a user request.

Another server that is not controlled by the serverManager script is the snapshotServer. This server process is actually a D2D application that is started when the user brings up a complete AWIPS D2D workstation. It is used to export an AWIPS graphics display from the main D2D window to an FXC client residing on the same computer. This makes it possible to use FXC to annotate AWIPS displays.

The various FXC servers can reside on any Linux machine on which the AWIPS software is installed. This machine can be an AWIPS workstation or a dedicated machine designed to handle a large number of FXC clients. If the server resides on the same machine as the client, then all communication is internal and the highest resolution data can be displayed without any significant delay. If the server is remote, then various on-the-fly compression techniques are available to transmit the data from the server to the client. All communication between the server and client uses Java Remote Method Invocation (RMI). Since RMI needs to communicate bidirectionally between designated IP addresses, it is not possible to communicate through proxy-servers and firewalls (without opening specific ports). In many cases an external DSL line or wireless link can circumvent this problem.

The FXC system architecture allows clients to run by themselves (no server), or connected to a private server or collaborative server. Clients have complete control over choosing a server.

6. Network/System Configurations

The following configurations depict how the FXC components are used to meet specific application requirements.

USAF and NASA - The briefing tool resides on the same workstation as the AWIPS D2D display (Fig. 2a). One screen, which is connected to CCTV, is used for the Briefing Tool and a second display is dedicated to D2D. The Briefing Tool consists of an FXC server and client combination on the same machine. Upon initialization of the briefing tool from the desktop, the server processes are started first, followed by the client process. No other FXC client is able to connect to this server.

Flood Forecast - The server for the River Forecast Center is located at FSL in Boulder. Two machines, running identical software and AWIPS localizations, provide the necessary backup in case of hardware failure. The FXC clients are at Atlanta, GA; Tallahassee, FL; West Palm Beach, FL; Raleigh, NC; and West Columbia, SC. Most network connections between the server and clients are DSL. During severe weather events, the FXC screen at the Georgia Emergency Operations Center is projected to a large screen in their operations room. At times, this video signal is further distributed to other remote sites. Initial tests of FXC by the RFC also show FXC's utility as a mobile display system using wireless communications technology.

NDFD Forecast Coordination - The FXC system for NDFD coordination consists of an NWS Central Region server at the Tulsa RFC, an Eastern Region server at the Atlanta RFC, and clients at 13 WFOs plus the NWS Hydrological Prediction Center (Fig. 2b). The FXC servers are strategically located at the RFCs since these are also the WAN communications hubs and provide the best network connectivity. Individual offices also have the ability to bring up their own servers to conduct a private collaboration session.

CWSU - This cluster currently consists of two clients and one server. The server resides at the Aviation Weather Center in Kansas City, Missouri. In order to maintain AWIPS system security, a separate data feed is used to connect the AWIPS SBN signal demodulator with an ingest machine outside the AWIPS firewall. This machine then provides the data to the FXC server which processes it into metafiles for transmission to the clients. One client is collocated with the server and a second is situated at the CWSU in Fort Worth and communicates with the server over a DSL line.

7. Specific Extensions for Other Users

A basic data review capability was added to allow users to peruse archived data of significant weather events. A separate FXC server (i.e., Linux PC) with local or NFS access to a review case can be set up for this purpose. Users can quickly switch from real-time to review data and set the date and time of interest by selecting the desired server from the menu and setting the clock.

Telephony allows two or more clients to communicate over the Internet (or intranet) while collaborating on a graphical forecast product or to coordinate a significant weather event. The minimum acceptable speed for voice communications between two users is DSL or Broadband. The larger the number of clients connected to the server, the higher the bandwidth requirement from the server to the Internet Service Provider (ISP).

8. System Customization

FXC is designed to make it easy to change menus, map backgrounds, and data products (including radars, models, and Web images). Since the server uses an AWIPS localization, the client must possess the same localization information in its localization database. All static map backgrounds are stored on the client's disk for quick access and retrieval. Many changes can be made during and after software installation using the FXCinstall script (on Linux machines).

Menu File - The main menu uses a simple scripting language that allows the user to add and modify items in the menu. It includes definition of such characteristics as button type, button images, default value, clear before load, frame count, shortcuts, and overlays. A master menu file contains the menus for the various applications and simplifies menu maintenance, since large portions of the menus tend to remain the same from one application to another.

Product Keys - The product keys (numbers) for all FXC products are stored in text files. Separate files exist for each model, all observations, and Uniform Resource Locators (URLs). The key file for observations also includes specific characteristics of each product, such as graphics type, color table, compression technique, and applicable scales.

Localizations - A localization file contains the coordinate transformation data for each localization. These include standard parallels, meridian, corner points, and transformation type.

Server Addresses - The IP addresses for all valid servers is maintained in a text file that can easily be modified with a text editor or with the FXCinstall script.

Maps - A map background table lists the various maps and specifies the map data file, appropriate scales, image or graphics type, and whether the background consists of multiple maps.

General Configuration - A general configuration file specifies the desired menu and default image compression techniques. In the future, it will also be used to record user preferences, such as overlay colors.

9. Conclusion

FX-Collaborate can readily be adapted to many different types of applications. The architecture is sufficiently flexible to allow system configurations that meet the needs of a variety of users. The modular design and table-driven architecture permit simple reconfiguration of the system. An FXC user guide has been prepared that describes the many capabilities of the system and the layout of a typical menu.

10. References

Bushong, J. S., 2003: Operational Use of FX-Collaborate at the Southeast River Forecast Center, 19th International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, Long Beach, Amer. Meteor. Soc.

Grote, U. H., and C. Golden, 2002: Extending AWIPS to Support Remote Collaboration. Preprints, Interactive Symposium on the Advanced Weather Interactive Processing System (AWIPS), Orlando, Amer. Meteor. Soc., 114-117.

Rodgers, D., 2002, Applying AWIPS Technology to the Prototype Aviation Collaboration Effort (PACE), Preprints, 18th International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, Orlando, Amer. Meteor. Soc., J335 - J336.

Rodgers, D., U. H. Grote, P. Kucera, and J. Osborn, 2002: FXC User's Guide. Available at http://www.fsl.noaa.gov/~osborn/fxc_ug/FXC_UG_TC.html



Footnotes

* Contract with Systems Research Group, Inc.
Corresponding author address:
Herb Grote, NOAA/FSL R/FS4, 325 Broadway, Boulder, CO 80305-3328; u.herb.grote@noaa.gov



HTML maintained by Joe Wakefield.
Last updated 4 Oct 02