U. Herb Grote*
Forecast Systems Laboratory
Boulder, Colorado
The objective of this exploratory development, known as FXC (FX-Connect), is to investigate new software architectures that involve distributed objects, new workstation capabilities, and promising hardware tehnology.

Figure 1. FXC Test Configuration
The FXC Java code is distributed over all computers in the system except the data servers. Most of the code is completely portable and currently runs on Hewlett Packard DS and WS computers, Silicon Graphics data server, and Pentium FXC machine. Only the software that interfaces directly to the FX-Advanced is not portable. A design decision was made early on to use Java's RMI to invoke methods of a remote object. This allows a remote object to be easily relocated to a different host by simply changing the RMI binding. It, also makes the location of the object immaterial to a client wanting to invoke methods of the object.
The FXC supports basic collaboration between an FX-Advanced workstation and an FXC display. Since only existing interfaces were used and no enhancements were made to the FX-Advanced software to support collaboration, not all features available on the FXC display system are also available on the FX-Advanced. Thus, each system can specify baselines and load products on their own and the remote screens; however, drawing and annotation can be initiated only by the FXC user. Thus, the FXC user can load a graphic, initiate a cross section, and draw a graphic that depicts fronts and weather symbols, and contains special annotation concurrently on its own screen as well as the remote FX-Advanced screen. Future plans include minor modifications to the FX-Advanced to support more efficient and symmetric collaboration.
Since the FXC display system may not have a database of its own, it receives most of its displays from external sources. Almost all of the images and graphics available on an FX-Advanced can be requested and displayed on the FXC. The graphics and images reflect the geographic position and area of the FX-Advanced localization. In principle, a user could connect to any FX-Advanced system in the country that is reachable over an internet or dial-up phone line and access its synoptic and local products. The FXC supports a number of compression techniques, such as run-length encoding, GIF, and selective data elimination for phone line use. If desired, the user has the option to also enable collaboration with the selected remote system.
In addition to the images and graphics available from the FX-Advanced, the FXC can obtain displays from other systems. The selected FX-Advanced will always establish the geographic localization for the FXC. Graphics from another machine are generated in latitude and longitude coordinates by FXC software and are readily overlayed on an FX-Advanced generated display. If no FX-Advanced is selected as a remote host then a default geographic localization is used by the FXC.
The FXC supports interactive applications. The Java language allows these application to be developed to reside totally or partially on a remote host. For example, the FXC QC editor and time-series plot use RMI with object serialization to access netCDF data on a separate processor.
The FX-Advanced software currently used for testing is the same as that used by AWIPS Build 4.2.
Assisting another WFO - Since the FXC has the potential to access nearly the entire database of another WFO over the AWIPS WAN, an adjacent office could assist a WFO in a severe weather situation. Weather briefings between WFOs - Because two users can collaborate, it would be possible for a forecaster in one office to concurrently load and annotate displays in a participating remote forecast office. Privileged user connecting to a WFO database - A privileged user, such as an emergency manager, may be allowed to interact with a WFO forecaster during an emergency weather situation. Classroom training - An instructor, at his desk, could interact with a student to point out specific features in a meteorological display. Voice communications may need to be added to effectively communicate a concept. Field Experiments - A user in the field could communicate and interact with the home base using a laptop computer and a mobile phone. Forecast Product Development - Two forecasters could collaborate on creating a forecast product. Research and Development - Since the FXC can merge data from different locations, a forecaster could overlay displays from experimental models or data sources, available at remote locations, with FX-Advanced data displays (Some development is required to merge new data displays).
FXStudio - This is the first object to be instantiated when starting the FXC. It contains the data structures and methods for the menu bar and it instantiates other objects as needed to satisfy the user requests.
Manager - The Manager class receives messages from the FXStudio and is responsible for obtaining depictable objects and managing the depictables. The Manager contains information on what remote host is connected and establishes RMI connections.
Display - The Display is responsible for managing the information displayed in an FXC window. It instantiates other objects, such as the image and graphics brush, that paint depictables to the window, and also provides animation and labeling of displays.
Browser - A Browser class is provided to display a volume browser menu (similar to FX-Advanced) and to manage the state of the browser. Product selections by the user invoke methods in the Manager object.
DepictableServer - This class acquires one or more depictables from an FX-Advanced IGC (Interactive Graphic Capability) (Grote and Biere, 1998). The DepictableServer contains methods that specify the number of frames, frame position, and the specific meteorological product to be loaded or unloaded by the IGC. It is one of the classes that has an RMI interface to make its methods available locally or remotely. The DepictableServer uses a DataGenerator object to make the connection with a tcl/tk script that actually controls the IGC. The DepictableServer works asynchronously, so that individual frames can be made available while the remaining frames are being received.
The following tools illustrate existing interactive capabilities available on the FXC:
Baseline - This tool allows a line to be drawn on the screen that identifies where a vertical cross section of a gridded dataset is to be performed. Modifications of the baseline can be reflected almost instantaneously on a remote user screen.
Drawing - The drawing tool lets the user draw weather symbols, fronts, arbitrary lines and text to the screen and save them as a product. This tool also allows a remote screen to be updated almost simultaneously.
QC Editor - The user can display observational data in different colors to reflect the quality of the data. By overlaying these on other graphics the user can evaluate the QC algorithm and manually change the QC flag of data that are believed to be in error. A time-series plot can be drawn to assess the temporal consistency or past performance of the sensor.
Kelly, S., 1997: The Application Interface for the WFO-Advanced Forecaster Workstation, D2D. 13th International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Hydrolog,y and Oceanography, Long Beach, CA, Amer. Meteor. Soc., 328-331.
* Corresponding Author Address: U. Herb Grote, NOAA/ERL/FSL, Mail Code: R/E/FS4, 325 Broadway, Boulder, CO 80303-3328; e-mail: u.herb.grote@noaa.gov