The WFO-Advanced Text Subsystem User Interface

Michael Biere*
NOAA Forecast Systems Laboratory, Boulder, Colorado

Thirteenth International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, 2 - 7 February 1997, Long Beach, CA.

Table of Contents


1. INTRODUCTION

As part of the WFO-Advanced project the Forecast Systems Laboratory has developed a set of text editing and display software for use by operational forecasters. This software builds upon lessons learned from operational use of the DARE text subsystem (Bullock et al. 1988), borrowing heavily from successful ideas, while extending and updating them into a more portable and extensible system built using the Tcl/Tk toolkit (Ousterhout 1994).

2. TEXT SUBSYSTEM DISPLAY LAYOUT

As currently configured at the Denver forecast office, the text subsystem runs on a dedicated monochrome X terminal, physically positioned next to the two color screens used by the WFO-Advanced graphic display. Ordinarily, a single forecaster treats the three displays as a single workstation, using the graphic displays to develop a mental image of the current and future state of the atmosphere, and the text display to convert that image into an actual text product or set of products. When necessary, each of the three displays can be used independently of the others.

A representative text display is shown in Figure 1, including the master control window in the upper-left corner of the screen, and three text display windows. One display window shows the editor controls, another displays a list of surface observations, and the last shows the product selection browser. We are currently using the HP VUE window manager, so Motif-like window frames are shown here.

(Click to see a full-screen display - 85k.)

In addition to the dedicated text display screen shown here, individual text display windows are available on the graphic display screens. These display windows are not fully integrated into the event dispatching mechanism, and lack the auto-update and alarm capabilities to be discussed later.

The window in the upper-left corner of Figure 1 is the master control window for the text display. It provides a list of the windows available, and the product displayed in each. Clicking on the associated entry in the list brings that window to the front, opening it if necessary. Four windows are available by default, but more may be created if desired. The control window also provides access to the product alarm/alert mechanism, specification of the user (to provide access to that user's customized scripts), access to interactive evaluation logs, and access to the standard Exit button in the File menu which exits the entire text subsystem.

3. DISPLAY OF TEXT PRODUCTS

A design goal for each text display window is to efficiently retrieve and display any of a large assortment of text products stored in the site database. For compatibility with AFOS and those forecasters familiar with it, AFOS-like product names and command line syntax are used. A command line entry widget is provided for typed entry of retrieval commands.

As shown in Figure 2, each display window contains (from top to bottom) a menu bar, a control bar, a text display widget, and a status bar. The menu bar provides access to a set of pulldown menus for controlling the operation of the window.

A set of common operating controls have been put into the control bar, immediately below the menu bar. The Browser button provides access to an interactive product browser. The Load command button and text entry widget next to it are for typed command entry, using a subset of AFOS command-line syntax. The Enter Editor button puts the window into text editing mode. The Accum toggle button causes loaded products to be accumulated (appended) to the window, rather than overwriting existing contents. The Update Obs button causes any surface observations in the window to be automatically replaced with new ones as they become available.

Most of the screen space within the display window is occupied by the text display widget itself. A monospaced font is used here for compatibility with columnar text products that rely on spaces for formatting. The size of the font used for displaying in this widget may be changed by the user.

The bottom of the display window holds a one-line status widget, for display of status and error messages.

3.1 Product Selection Browser

A product browser based on that used in the DARE text subsystem is provided (Figure 3). Using this browser, no knowledge of AFOS command syntax or site codes is required, and all product selection is done by selecting from a set of available options, rather than by remembering command names or product codes.

The product browser works by providing a controlled way of interactively filtering the thousands of available text products down to a manageable handful from which selection can be made for loading. The first pass of filtering is done by restricting the area of origin and the general type of product, via the Origin and Class controls. Next, an AFOS-like product identifier is created by selecting left-to-right from the originating site, the product category, and finally, the product designator. As a selection is made in each panel, the panel(s) to the right are dynamically updated to reflect the products available down this path.

3.2 Alarm/Alert Products

In addition to selecting products manually, the forecaster can specify a set of products to be automatically fetched from the database whenever new versions arrive. These products cause an alert icon to appear (with an optional audible indication as well). Clicking the icon displays a list of unviewed products, which can then be displayed, or dismissed without viewing.

4. EDITING TEXT PRODUCTS

Any window that is used for product selection can be used as a text editor by pressing the Enter Editor button on the control bar. As in the DARE editor, a header block dialog box provides support for entering a valid product header when entering the editor. For example, the product ID is checked against the list of known products, and if not found, the forecaster is asked for further verification.

Upon entering the editor, the loading of products is disabled to prevent accidental overwriting of the product being edited. (If an additional product is desired, it can be cut from another window and pasted into the edit window). Two additional user interface widgets appear below the control bar: the product header and the edit tool bar (Figure 4).

The product header displays the two-line AFOS header for the product. Originally this header display was not editable, but at the request of Denver forecasters, it now has basic editing capabilities, to allow for headers not currently recognized by the header block dialog box.

The Edit tool bar contains buttons to provide easy access to the following edit operations: Cut, Copy, Paste, Fill, Edit Header, Save & Exit, Cancel, and Insert/Overstrike.

Cut, Copy, and Paste support copying of selected text from one part of a window to another, between text windows, as well as to and from other X windows, including other text editors.

The Fill button fills and auto-wraps the currently selected text.

Edit header pops up the same dialog box used when the editor is first entered, to help the user create a well-formed product header.

Save & Exit writes the contents of the edit window to the database, and disseminates the product if appropriate. In the current version, all products are sent to the local AFOS, which then decides to disseminate or not.

Cancel terminates the editing session, and reloads the product last displayed in the window, if there was a product loaded when the editor was entered.

4.1 Automatic Word Wrap

One of the most-requested features missing from the DARE text editor was automatic word wrap. Implementing this in the WFO-Advanced text subsystem proved to be more difficult than expected. The system stores all text products in transmit-ready form, so no soft-return information is stored in the text database. When a product is edited, it is analyzed, and lines that do not end a paragraph are marked as having soft returns. These soft returns do not initially alter the appearance of the text, but as a paragraph is modified, lines with soft returns are automatically readjusted. Unfortunately, the auto-wrap algorithm does not work well on columnar products, so auto-wrap must be manually disabled before editing these types of products.

4.2 Spell Checking

The text editor implements spell checking based on the freely available ispell program. A set of Tk widgets provide a convenient user interface to the ispell program. Two dictionaries are provided: one for ordinary English and another for the abbreviated language of forecast discussions.

5. CUSTOMIZATION AND EXTENSION

The capabilities of the text subsystem can be extended in two ways. The site manager can add locally developed application programs to all text windows at a site by writing an applications program and modifying one site configuration file. These application programs appear in the Tools menu of every text display window.

Individual forecasters can extend the capabilities by writing scripts, written in Tcl. Very simple scripts can be very useful to forecasters, such as simply loading a common set of related products. But since the scripting language is Tcl, a wide variety of control structures are available for use in more complicated scripts.

6. IMPLEMENTATION CONSIDERATIONS

6.1 Small processes

The D2D graphic/image display component of WFO-Advanced consists of a few rather large processes, with a large amount of functionality linked into each process. In contrast, the text subsystem processes tend to be smaller and more dynamic, forking new processes as necessary to do many tasks, like loading and storing data. This approach keeps the individual processes simpler and faster to build, which is a boon to the harried developer, but incurs some performance penalty with every process started. It also provides some additional damage control to the user in the event of a process crash. Fortunately the price of starting a UNIX process is rather low.

6.2 Use of Tcl/Tk

The text subsystem user interface evolved as a set of incremental prototypes. To avoid the compile and link bottleneck in the development process, a fast, interactive user interface toolkit called Tcl/Tk was used to develop the user interface (Ousterhout 1994). Tcl is a tool command language (an interpreted scripting language) and Tk is a user interface toolkit that works with it. Tcl/Tk has proven reliable enough to use in the final system. This toolkit is fast, powerful, and freely available, and we plan to use it more in other areas of WFO-Advanced.

While the use of Tcl/Tk has been a major asset to the project, there were a few issues related to its use that caused some problems. The largest organizational problem we had with Tcl is that there are only two namespaces: global and function-local. This well-known problem with Tcl will be remedied in future versions of the language. We addressed the problem with a set of standard global variable prefixes.

Customization of the Tk text widget was also rather difficult. The Tk text widget is the most complicated and functional of the Tk widget set, implementing essentially an entire text editor. For us, it was a classic software reuse problem of an existing component being "almost, but not quite" what we needed. The auto-wrap capability was frustratingly close to what we needed, but in the end, we turned it off and implemented our own version.

6.3 Software Interface to the Text Database

The interface to the text database was implemented as a UNIX command named textdb. Command line options -r and -w are used to read and write the database, respectively, with the product ID given as an argument. Data are read and written from standard input and standard output. The textdb command follows the UNIX convention of returning a status of zero upon success, and nonzero if an error occurs. This provides a simple but very flexible way of interacting with the database in a UNIX environment.

For example, the UNIX command line

    textdb -r DENNOWDEN | more

will pipe the latest Denver nowcast into a display program for online viewing, and the command line

    textdb -w DENWRKNOW < workFile.txt

will store the contents of workFile.txt (created by an application program, for example) as a work file in the text database.

7. PREVIOUS TEXT WORKSTATIONS

7.1 The DARE Text Subsystem

The WFO-Advanced text component has built upon groundwork laid by the DARE text subsystem, borrowing major pieces of the analysis and user interface design, and building upon the lessons learned and forecaster experience with DARE.

The DARE text subsystem, in turn, was designed to build upon forecaster familiarity with AFOS. And so, elements of the AFOS user interface, such as product naming and command-line syntax can still be seen in the WFO-Advanced text system.

The DARE text subsystem has been in operational use at the Denver and Norman forecast offices for a decade. The system runs on MicroVAX workstation hardware, under the VMS operating system, and uses a windowing system built in-house. As one might expect, the system is beginning to show its age. One of the major goals of the WFO-Advanced text subsystem is to provide a more portable and extensible system.

7.2 The 1995 WFO-Advanced Text Subsystem

An early version of the WFO-Advanced text subsystem was tested in an in-house forecasting exercise conducted in 1995 (Roberts et al. 1996). A number of significant lessons were learned from that exercise and incorporated into the current design.

The basic text display framework used in the earlier system was similar to that in use now, but the editing philosophy was substantially different. All text generation and editing was done within a commercial off-the-shelf (COTS) word processing application, WordPerfect. Interaction between the display and editing components was aided somewhat by a set of WordPerfect macros and Tcl/Tk dialog boxes, but was still awkward.

Integration of a COTS word processor with the text display was not well received by forecasters, which can be attributed to two major causes. First, a full-featured word processor provides a major set of capabilities which are totally irrelevant to the job of today's forecast preparation. These capabilities are at best irrelevant, and at worst a major source of distraction and confusion. Second, text products as currently distributed over AFOS (and worse) are subject to a wide variety of constraints for backward compatibility with existing systems. Today's forecast product is upper-case ASCII subset, with restricted line length, often relying on monospaced fonts for columnar alignment. Using a full-featured word processor for such a restricted final product is just not a good conceptual match.

Another integration difficulty with this approach was the difficulty of communicating between the display application and the word processor. A scriptable word processor (one that could be sent scripts or commands by other applications) would have made the interface smoother. For example, when a new text warning product needed to be edited, all the system could do was pop an alert dialog stating "Please press the Edit Warning button in the editor button box." In our current implementation (as in the DARE version) the product is automatically retrieved by the editor, and is all set for the user to begin editing.

The 1995 text subsystem implemented a product selection browser via a large three-level deep set of cascading menus. The first menu selected the originating site, the second level specified the category, and the final menu selected the individual product. The menus were dynamically modified to reflect geographic origin and message category filters. Unfortunately, the resulting mass of cascading menus was physically too difficult to reliably traverse. A momentary misdirection of the mouse could cause one to have to start the menu traversal over at the root menu. Adopting the multipanel dialog box approach used in DARE resulted in higher user satisfaction.

8. CONCLUSION

An operational forecaster currently spends a large amount of time creating text products for distribution. Future forecasting software systems hold the promise of changing this task from one of composing and typing to one of graphical data entry followed by automated generation of products (Mathewson 1996). Until that vision becomes a reality, however, a text editing and product creation capability targeted to the forecaster's operational needs will remain a critical component of the tool suite needed at a WFO office.

9. REFERENCES

Bullock, C. S., Wakefield, J. S., Brundage, J. M., Walts, D. S., LeFebvre, T. J., Amstein, P. A., and Dunn, L. B., 1988: The DARE Workstation and Some Lessons Learned From Its Operational Use. Preprints, Fourth International Conference on Interactive Information and Processing Systems for Meteorology, Oceanography, and Hydrology, Anaheim, Amer. Meteor. Soc., 70-76.

Mathewson, M. A., 1996: Using the AWIPS Forecast Preparation System (AFPS). Preprints, 12th International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, Atlanta, Amer. Meteor. Soc., 194-197.

Ousterhout, J., 1994: Tcl and the Tk Toolkit. Addison-Wesley.

Roberts, W. F., Kucera, P. C., Lusk, C. M., Walker, D. C., and Johnson, L. E., 1996: 1995 Real-Time Forecast Exercise for WFO-Advanced. Preprints, 12th International Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, Atlanta, Amer. Meteor. Soc., 198-201.


Footnotes

*
Joint collaboration with the Cooperative Institute for Research in the Atmosphere, Colorado State University, Fort Collins, Colorado 80523.

Corresponding author address: Michael Biere, NOAA/ERL/FSL/SDD R/E/FS4, 325 Broadway, Boulder, CO 80303; e-mail michael.biere@noaa.gov.


This document is maintained by Joe Wakefield.
Last updated 3 Oct 97