|
(Advanced Weather Interactive Processing System on LINUX)
U. Herb Grote 1. INTRODUCTIONThe Forecast Systems Laboratory has been working closely with the National Weather Service for many years to develop the Advanced Weather Interactive Processing System (AWIPS). All weather forecast offices in the United States are currently using the AWIPS system in their day-to-day operation. The latest software release (Version 4.3) contains over two million lines of code, of which approximately 500,000 lines of code are considerd to be part of the D2D display code.The initial objective of the AWIPS/LINUX project is to convert the existing AWIPS code to run on a LINUX platform. The longer term objective is to develop a new AWIPS system architecture around the LINUX operating system that incorporates the latest advances in sensor technology and forecast techniques. 2. THE AWIPS SYSTEMThe AWIPS software provides a complete set of capabilities for a NWS forecast office. It performs real-time data acquisition, data management, application processing, and display generation. The forecaster has a diverse set of meteorological data at his/her disposal to help produce a timely and accurate weather forecast. These data include a selection of forecast models, radar and satellite imagery, surface and upper air observations, and observations from hydro, buoy, and profiler systems.At a high level, the AWIPS system architecture (Figure 1) can be broken down into four major components: communications processing, application processing, data storage and retrieval, and display manipulation. Each of these components has one or more computers that are interconnected by a local area network. National guidance products arrive at the communications processor, which handles the communications protocol and some data filtering, and are forwarded to the applications server for decoding and storage formatting. The products are then stored on the disks attached to the data server and remain there until they are removed by a data purger. When a forecaster at the workstation requests a product for display, the data is retrieved from the data server and processed for display on the workstation.
Figure 1. AWIPS Functional Block Diagram 3. LINUX CONSIDERATIONSThe rapid advances in computer technology have spurred FSL's interest in providing a full function meteorological workstation on a low cost, high performance processing platform. FSL considered several candidates (including WindowsNT) for the operating system, but Linux became the top candidate because of its capability and increasing popularity.
3.1 StrengthsAlthough Linux has many strengths, the five characteristics listed below are of particular interest:
Figure 2. Cost Comparison
3.2 Perceived WeaknessesAs is true with most other evolving technologies, the many strengths of Linux are accompanied by some perceived weaknesses, as follows.
3.3 Groundswell SupportAccording to IDC Research (IDC, 1999), LINUX is the fastest growing server-environment operating system with about 17% of all the servers using LINUX. The popularity and rapid growth of LINUX servers and workstations during the last few years are illustrated in Figure 3.
Figure 3. LINUX Usage 3.4 Future TrendsLINUX continues to evolve and take advantage of advances in technology. Considerable effort is being invested in supporting 64 bit processors and providing fast performance for multiple processor architectures (Symmetric Multi-Processing). There ais also an increasing number of Beowulf clusters, a cluster of processors running LINUX that challenge current high performance computers. A good discussion of the strengths and weaknesses of LINUX can be found on the Web (Open System Opinion, 1999)4. LINUX PORTING EXPERIENCESThe issues faced in porting software from another operating system to LINUX varies greatly, depending on the type and complexity of the software. A discussion follows of some of the issues faced by FSL in porting the AWIPS software to a Linux platform.4.1 GraphicsThe AWIPS display software uses the X11 libraries and their implementation for specifying the color model for the X window by using the X-visual. A somewhat unique feature of the HP hardware and software is the ability to specify multiple concurrent X-visuals. The AWIPS display contains five image display windows, of which four use the 24-bit visual and the fifth uses an 8-bit visual. In addition to multiple X-visuals, the HP graphic card provides overlay and underlay planes.The lack of of these features on the PC graphic cards required that the display be set to the 24-bit color mode. This placed a significant extra memory and processing burden on the machine, since pixmaps (containing the image to be displayed in a window) increased by a factor of four (from 8 to 32 bits/byte). The simple operation of removing a graphic overlay from an image required that the entire image be re-rendered instead of merely turning off a graphic plane. Also, functions such as changing the image color required recomputing each pixel value instead of modifying a color lookup table. 4.2 Programming LanguagesThe AWIPS software is written in C, C++, Fortran, and scripting languages such as Tcl/tk. It is compiled on the HP hardware using HP's CC and Fortran compilers. A requirement in porting the software to a PC was to ensure that the modified code would still run on the HP hardware with the HP compilers. As a result, FSL compiles the code daily on the HP using the GNU and HP compilers, and on the PC using the GNU compilers.The compilers for the AWIPS/LINUX system are the GNU gcc and g77. Since the compilers are more ANSII compliant than HP CC (c-front) and Fortran compilers, some of the code needed to be modified to make it ANSII compliant. For example, the GNU g77 compiler does not support records and uses much stronger data typing than the HP compiler. Some of FSL's legacy Fortran code frequently used integers in Boolean expressions. Other differences in Fortran compilers were in the intrinsic functions, which were dealt with by writing a "g77 wrapper" for the Fortran functions. 4.3 Processor ArchitectureThe ordering of bytes within a word for a PC is different than for the HP. As a result, data files that were generated on the HP were read incorrectly on the PC. Since the code has to be executable on the PC and the HP, a run-time test is performed to determine if the bytes need to be reordered. Certain data files (netCDF and shapefile) use a data representation that makes them readable correctly on both types of machines. The software that reads binary cardiographic (map backgrounds) data and certain tables was affected the most by the difference in byte order. So far, FSL has not fully investigated the impact of the new 64-bit processors on the software.Another challenge involved the difference in the way processing threads are implemented by different hardware and software. The HP systems used DCE threads versus POSIX threads for LINUX. A cruxial component of the AWIPS system is the IPC (Interprocess Cmmunications). Tens of thousands of messages are exchanged every day between processes. The IPC software was designed to use multiple threads to efficiently and reliably handle large volumes of messages; the IPC software had to be rewritten for LINUX. 4.4 Development ToolsFSL generally found the development tools available for LINUX to be adequate, including compilers, debuggers, performance analyzers, and editors. However, FSL was unable to find a good software tool, such as HP's Purify software, for finding program memory leaks.Most AWIPS commercial off-the-shelf (COTS), as well as public domain software, is available for LINUX. The COTS Informix relational data base manager is a key component of the AWIPS system. COTS accounts for a measurable portion of AWIPS code. 5. Project StatusThe AWIPS software is rapidly being ported to LINUX. The first step of this effort, porting all of the software to the gcc compiler, is complete. The second step, moving the software from the HP to a PC running LINUX, is partially complete. In addition, the software infrastructure and the entire product display software to LINUX has been ported. The system was successfully demonstrated at the 16th IIPS Conference Exhibit of the Annual Meeting of the American Meteorological Society in January 2000. Concurrent with the effort to port the software, FSL is investigating and assessing new system architectures for the AWIPS system that include PCs and LINUX as a key component.References:
|