LINK: NOAA LINK: FSL
Images of FX-Net
Image of Earth blank LINK: CWB LINK: KMA FX-Net LINK: W4 LINK: TOD Home
Image of Earth FX-Net and Fire Weather

FX-Net and Education

Papers

Presentations

FSL in Review

User's Manual
(external link)

    FX-NET : A JAVA BASED INTERNET CLIENT INTERFACE TO THE WFO-ADVANCED WORKSTATION

    Ning Wang and Sean Madine*
    NOAA Forecast Systems Laboratory
    Boulder, Colorado


    1. INTRODUCTION

    WFO-Advanced is the most recent prototype meteorological workstation developed at the Forecast Systems Laboratory (MacDonald and Wakefield, 1996). The goal of the FX-Net project is to provide access to the interactive functionality of the workstation via the Internet. A client-server application that provides network access to a modified WFO-Advanced workstation is currently under development.

    The architecture of the system was constrained mainly by bandwidth limitations and the need to leverage existing workstation code. In order to deal with this, much of the development effort focused on data compression techniques along with multithreaded client side processing and communication. Other important considerations included mirroring of the user interface, portability of the client Java code and necessary adaptations to the existing WFO-Advanced software.

    2. SYSTEM CONCEPT

    One of the major components of the WFO-Advanced workstation is the Interactive Graphics Capability (IGC), which is responsible for the display of meteorological data. The overall concept of FX-Net is to provide network access to the functionality provided by the IGC. Rather than display the data locally inside of an X window, the IGC exports the information in a network-usable form. A network layer that interfaces with the IGC is then responsible for communication with the client.

    The current WFO-Advanced uses five IGCs, each responsible for the display contents of an X window. The FX-Net server also instantiates a number of IGCs. Each of these is responsible for providing products to an individual network client rather than to a local display window.

    The client provides a user interface that mirrors that of the workstation as closely as possible. It also implements a small subset of the WFO-Advanced functionality in order to optimize network performance.

    2.1 Basic Client Hardware Requirements

    Initially we are targeting a client hardware capability of at least a 200 MHz PC with 64 MB of RAM. The bandwidth requirement is at least that of an Integrated Services Digital Network (ISDN) connection.

    2.2 Java Implementation of the Client

    The Java Programming Language (Arnold and Gosling, 1996) lends itself well to network application development. In an effort to explore and evaluate Java’s strengths, the FX-Net client was implemented in Java. Advantages of this approach include platform independence of the client software and an available network Application Programming Interface (API).

    Initially, the FX-Net client is implemented with Windows NT and HP-UX as the target platforms. This allows us to begin to evaluate potential portability problems. Specific concerns relate to the Abstract Windowing Toolkit as well as how the different implementations of the Java Virtual Machine handle multithreading.

    An applet that runs inside of a Web browser environment is plagued a number of restrictions. The FX-Net client requires free access to many of the local resources including local files and memory. Access to files includes the ability to read and write. The local processing also requires free access to a large amount of RAM. For these reasons, the client has been implemented as a Java application.

    2.3 Client-Server Communication

    Hypertext Transfer Protocol (HTTP) was chosen to be the communication protocol used between the client and server. This protocol is capable of transmitting an image byte stream in a robust manner. This decision allowed the use of already existing Web server technology as well as the network classes that are implemented as part of the Java API.

    3. DESIGN DRIVERS

    The competition between two major considerations constrained the design. It was important to leverage the existing functionality of the WFO-Advanced workstation as much as possible. At the same time, though, bandwidth limitations governed the amount of information that could reasonably be transmitted to the client.

    3.1 Bandwidth Considerations

    In order for the FX-Net system to be useful to the meteorological community, timely delivery of products is a critical factor. We have quantified this with a time budget of roughly 20 seconds for the creation and transmission of an eight-frame product loop.

    There are many strategies that can be adopted to deal with the problem of limited available bandwidth. We chose to implement the following:

    • Some of the functionality of the server is handled by the client.
    • The information that is sent from the server to the client is optimally compressed.
    • The server pregenerates the products that are time intensive to create.

    3.1.1 Client Processing and Cache

    Many of the workstation functions are naturally implemented on the client, including animation control, overlay toggle, and zoom. While memory-intensive, the software implementation of these functions allows for platform independence with acceptable performance.

    The client also maintains a simple cache of previously requested products. If a cached product is reloaded, then only any newly available frames are obtained from the server.

    3.1.2 Product Representation/Compression

    Products that are generated by the IGC on the FX-Net server are either pixel images or vector graphics. In the future, the set of product types will also include data products which will be handled in the same manner as images. The compression of these products is critical in order to attain acceptable performance of the network-based system. The compression of images was implemented by using the wavelet transformation. For a meteorological application, this technique has many advantages over other compression approaches.

    The wavelet compression achieves better fidelity and visual effect when compared to other transform-based compression methods. Discrete cosine transform JPEG, for example, introduces a blocky artifact that renders the image less useful from a meteorological point of view. While fractal image compression can achieve a very high compression ratio, it lacks the high fidelity required by the FX-Net application (Fisher, 1995).

    Wavelet basis functions provide multi-resolution decomposition with appropriate support. This feature, unique to the wavelet transform, offers a clean and efficient implementation of the image zoom functionality which requires a different resolution for a different geometric scale (Akansu and Haddad, 1992).

    Finally, the wavelet transform is computationally efficient. The time complexity of wavelet transform is O(N) compared to O(NlogN) of DCT used in JPEG, and O(N2) of fractal image compression (Daubechies, 1992).

    Graphics are encoded into the DARE Graphics Metafile (DGM) format. DGM provides a vector graphics representation as well as a progressive disclosure feature that lends itself very well to the zoom feature as it relates to graphic products.

    3.1.3 Server Pre-Generation

    A number of products that are available to the client are very time-intensive to create and compress on the server. For the first phase of the FX-Net implementation, these products consist of images, but in the future, grid data will also be a concern.

    Rather than wait for a client request, the server pregenerates and compresses a set of frequently requested images. The delivery time is then reduced to the transmission time and the decompression time.

    3.2 Use of Existing WFO-Advanced Features

    Beyond the addition of a network layer, only minor modifications to the WFO-Advanced software were necessary to construct the FX-Net server. The workstation software provides all of the data ingest and management software. It also handles the complicated tasks associated with the production of frame sequences, which includes the task of time matching each of the products to create a meaningful animation. Creating the ability of the IGC to export images and graphics in appropriate formats was an important modification.

    4. POSSIBLE APPLICATIONS OF FX-NET

    There are many possible uses for the FX-Net system. For example, remote Weather Forecast Offices (e.g. Alaska and Hawaii) could have access to some of the WFO-Advanced functionality with a modest hardware configuration and ISDN Internet connectivity. Weather Forecast Offices could also use FX-Net as a training tool before the deployment of AWIPS. University researchers could possibly use FX-Net, again with only a small investment.

    Initially, FX-Net was intended as an Internet application. Sincethe system design also takes advantage of faster local area network configurations, it has performed well over FSL’s internal network.

    5. USE OF JAVA FOR FX-NET

    While Java was a useful and easy development tool, our experience revealed some of the weaknesses of the language in the context of a meteorological workstation. The first disadvantage was the lack of an unsigned type in the language, which made binary data difficult to handle. The second shortcoming had to do with the AWT Image class. The network model that serves as the basis for the design of this class does not lend itself to the modification of image pixels at a low level on a local machine. The ultimate solution was to use significantly more memory in order to make performance of the animation acceptable.

    6. CURRENT STATUS AND FUTURE GOALS

    The completion of Phase I of the project included the implementation of basic capabilities such as animation, toggle, and zoom as well as network optimization of the system.

    Phase II, currently under development, will include more sophisticated functionality such as the Volume Browser capability of the WFO-Advanced, enhancements to the network capabilities of the system, and investigation of more sophisticated Graphical User Interface options. Phase II will also include the completion of a robust operational system.

    7. REFERENCES

    • Akansu, A.N., and R.A.Haddad, 1992. Multiresolution Signal Decomposition, Academic Press.
    • Arnold, Ken and James Gosling, 1996: The Java Programming Language. Addison-Wesley.
    • Daubechies, I. 1992, Ten Lectures on Wavelets, Vol. 61 of CBMS-NSF Regional Conference Series in Applied Mathematics, SIAM.
    • Fisher, Y. (Ed.), 1995. Fractal Image Compression : Theory and Application to Digital Images. Springer Verlay.
    • MacDonald, A.E., and J.S. Wakefield, 1996: WFO-Advanced: An AWIPS-like Prototype Forecaster Workstation. Twelfth International Conference on Interactive Information and Processing Systems for Meteorology, Oceanography and Hydrology, Atlanta, GA., Amer. Meteor. Soc., 190-193.

    * Jointly affiliated with the Cooperative Institute for Research in the Atmosphere, Colorado State University, Fort Collins, CO


TOD Webmaster
Page last modified: 26-Jan-2004
11-Aug-200411-Aug-2004 of these is air quality forecasting. It is no problem for the FX-Net system to ingest and display additional data sets and parameters. Work is presently conducted to try to display air quality data collected in the state of New Hampshire as part of the AIRMAP project. Other air quality parameters can be added in the future.