SCD FY97 Annual Scientific Report

DataVision (formerly NCAR Graphics)

An emphasis on science

The mission of the NCAR Graphics Group is to develop, maintain, and support software to aid scientists in the analysis and visualization of data.

The software is supported on numerous UNIX systems including Sun OS, Sun Solaris, HP/UX, Cray/UNICOS, IBM 6000/AIX, SGI/IRIX, DECstation/Ultrix, Digital Alpha OSF, and, new in FY97: LINUX on intel PCs. The current NCAR Graphics package contains multiple interfaces to accommodate diverse user skill levels and application needs.

Software is distributed on CD-ROM, 8-mm tape, and by FTP. All of the software documentation is provided as hypertext on the World Wide Web. Hardcopy documentation, in the form of PostScript files, is also available via the web. Group staff currently maintain about 500,000 lines of C and Fortran code and 4,000 pages of hypertext documentation. The group also provides these services:

Recent growth and evolution

Over the past few years and especially this year, the NCAR Graphics Group has moved away from simply supporting the traditional NCAR Graphics Fortran libraries and began producing more integrated tools that support access to data in multiple formats, numerical analysis of data, while continuing to supply publication-quality graphics. The goal of this transition is to make the scientific researchers more productive and allow them to spend more time analyzing data and less time programming.

DataVision 1.0, a product currently under development to be released in 1998, is a fully integrated interactive environment with a Graphical User Interface (GUI), a powerful data processing language called the NCAR Command Language (NCL), and NCAR's well-established high-quality graphics.

NSF Review Panel recommendations

In 1996, an NSF Review Panel stated in their evaluation of the Scientific Computing Division (SCD) that the panel believed SCD was investing too high a percentage of its staff in support and development of NCAR Graphics. The following is their recommendation:

"The Panel recommends that an assessment be carried out on the viability of this approach in view of the ever increasing popularity of commercial packages. This assessment would clarify the impact that the availability of this tool has on research and teaching in the atmospheric and oceanic sciences community. Concerning visualization, the Panel recommends that the group strengthen and broaden its collaboration with groups in the atmospheric and oceanic sciences community. Finding a solution for NCAR Graphics might afford an opportunity to direct resources at enhancing the Visualization Group, but these activities should not necessarily be coupled."

SCD and the NCAR Graphics Group took the following actions as a result of the NSF Review Panel recommendations:

  1. NCAR Graphics Group staff was reduced 25%. Jeff Boote is being transferred to the Visualization Group, and Bob Lackman has retired.

  2. Survey of UCAR sites (of which 1/3 responded). Questions:
    1. How dependent are your codes upon NCAR Graphics?
    2. What would the cost impact be for your site to convert to another package?
    3. How does your staff compare the capabilities of NCAR Graphics with other commercial packages?
    4. Is your site interested in the interactive version of NCAR Graphics which is now in development?
    5. Would your site be able to pay the full support cost for NCAR Graphics?

    Results:

    1. How dependent are your codes upon NCAR Graphics? With 75% of the survey respondents saying that their sites were moderately to highly dependent upon NCAR Graphics, it verifies that we must maintain support for the subroutine interface for some time to come.

    2. What would the cost impact be for your site to convert to another package? Ninety-one percent of respondents say that their conversion costs would be moderately to prohibitively high. This again underlines the need to support the legacy subroutine interface.

    3. How does your staff compare the capabilities of NCAR Graphics with other commercial packages? 52% of respondents say that NCAR Graphics is more suitable for their work than other public domain and commercial packages. Another 35% say it is equivalent. This implies that our new easy-to-use GUI will be very popular.

    4. Is your site interested in the interactive version of NCAR Graphics which is now in development? 55% of respondents were unaware that we have a major interactive upgrade of NCAR Graphics underway. This is the primary reason for naming the new interactive software NCAR DataVision. The new product will help users avoid confusing the Fortran utilities with the new interactive applications.

    5. Would your site be able to pay the full support cost for NCAR Graphics? In spite of the positive responses to questions 1-3, respondents indicated that they would not support a price increase.

    The results clearly show that the member universities did not arrive at the same conclusions as the NSF Review Panel. They indicated that NCAR Graphics is still widely used within the university community, the cost to convert to another package would be substantial, and the functionality of NCAR Graphics is considered by a majority to equal or exceed that of commercial packages.

  3. NCAR Graphics Group and CGD collaborate on CCM processor replacement.

    NCL, a data analysis and visualization language developed by the NCAR Graphics Group, was entered in a CGD-internal competition with the commercial products IDL and MATLAB and the public domains products yorick and GRADS to determine what is the best tool to replace the CCM processor. NCL won this competition because it provided a more robust environment. It is extensible, supports multiple data formats and provides high-quality graphics by using NCAR Graphics.

    This collaboration is strengthening our relationship with the scientific community and providing us the ability to greatly enhance the functionality and usability of NCL.

  4. Refocusing of group.

    Currently only 1.5-2 FTEs directly support the traditional Fortran library utilities. The remainder of the NCAR Graphics Group is involved in developing applications and functionality to make scientists more productive. This includes implementing interpolation algorithms, integrating the SCD Computational Science Section's codes (such as SPHEREPACK2) into NCL, and developing GUI tools for the interactive display and analysis.

    The NCAR Graphics Group not only supports graphics but also access to data, manipulation of the data, and visualization of data.

  5. Investigating ways of transferring the support, maintenance, and marketing of NCAR Graphics to a private company.

    COSMIC, a firm established by NASA to distribute software, was invited to visit NCAR for a software demonstration. The NCAR Graphics Group presented the software, and COSMIC continued discussions with the UCAR Foundation.

SCD/CGD collaboration

The NCAR Climate and Global Dynamics Division (CGD), in cooperation with a broad community of scientists, has spent years developing the Climate System Model (CSM). Within the next year, the CSM will be generating large amounts of data here at NCAR. These data are expected to be analyzed by many scientists around the world. To facilitate this data analysis and coordinate the CSM community's research, CGD is developing a CSM data postprocessor. Rather than build this postprocessor in Fortran, as was the case with the CCM processor still in use on our Cray systems, CGD chose to implement the processing functionality using the NCAR Command Language (NCL).

NCL was developed by the NCAR Graphics Group to be used as an integrated data processing and visualization environment, not merely an interactive graphics package. To support CGD's CSM effort, SCD has offered to make NCL freely available to the CSM community. This will facilitate scientists sharing CSM processing and analysis applications worldwide. Furthermore, SCD has offered about 1-1.5 FTE's to support the processor development. This development has been going on since February 1997, and many CGD users are already developing and running processing scripts, on winterpark, using NCL.

The responsibilities of the 1-1.5 FTEs assigned to this project are to incorporate processing codes in NCL as NCL functions and procedures rather than using the customary Fortran language. Some examples of these processing applications, which have already been added to NCL to support the CSM processor, include spherical harmonics (SPHEREPACK2), eigen vector analysis, statistical operations, reading data in CCM history file format, and reading Cray binary data. Nearly 70 functions and procedures have been added to the core NCL language since beginning the CSM processor project in February 1997. Many of these are general applications, not strictly CSM applications. In addition to the extension of NCL's functionality, staff have developed informational web pages, developed instructional courses, and provided consulting to CGD users.

CGD evaluated many commercial packages before selecting NCL as the tool to implement the CSM processor. NCL's functionality and flexible data access were some of the reasons for NCL's selection. However, a big reason that should be emphasized is that the NCAR Graphics Group can provide the needed support services for this project. Were CGD to select a commercial tool, modification and adaptation of the tool to meet CGD's needs could be difficult and perhaps impossible. It is the rapid service that SCD can provide with NCL that was critical in CGD's selection.

DataVision 1.0 (formerly NCAR Graphics version 4.1)

Work is proceeding on NCAR DataVision. This package was formerly referred to as NCAR Graphics 4.1. It was decided that this new package provides enough of a leap in functionality that it needs to be named something other than NCAR Graphics.

DataVision will be a "point-and-click" Graphical User Interface (GUI) that includes the functionality of the subroutine libraries and NCL into a single application. DataVision's GUI will allow a user to browse through directories of data, select a file, view the contents of the file, select variables from the file, and plot them using a wide variety of options. There will be options for shaping variables, running NCL scripts, and attaching scripts and dynamically linked objects to mouse events, thus providing a flexible, extensible, and customizable GUI that can be tailored to meet a wide variety of data analysis and publication graphics requirements.

Essentially all data access, processing, and visualization capabilities now available through NCL and the subroutine libraries will be available through the GUI with a simple "point-and-click" interface.

Originally NCAR Graphics 4.1 was to be released in late 97. This has been postponed because of staff reductions and time commitments to the CGD/CSM project. All the underlying enhancements to the subroutine libraries and NCL will be released as NCAR Graphics Version 4.1 in early 1998.

NCAR Graphics 4.1

Since release 4.0.1 in June 1996, the NCAR Graphics Group has been continuing development and enhancements to the 4.0 set of applications and libraries. Many bug fixes, optimizations, and new functionality have been completed. The final release of the product called NCAR Graphics will be Version 4.1 in early 1998. The next product will be called NCAR DataVision 1.0.

NCAR Graphics 4.1 will contain enhancements to the Fortran subroutines listed in the next section as well as substantial updates to NCL. The following is a list of major NCL enhancements completed in 1997:

Dynamic Linking: NCL can now dynamically link user functions and procedures with the command language. This allows users to customize their applications by linking to their own Fortran and C codes.

Direct CCM model input: NCL now supports reading the CCM history tape format. These Cray floating-point files can now be accessed in the same way netCDF files are. This enhancement allows model data to be manipulated and compared against a variety of formats.

New functions for creating Fortran binary files: New ability to generate IEEE Fortran sequential files has been added to support scientists who prefer to work with data in this simple format.

Statistical functions: Standard deviation, variance, and averaging have been added.

SPHEREPACK2 and regridding codes using SPHEREPACK2: A major enhancement. In addition to supporting a variety of filtering and analysis operations, SPHEREPACK2 provides a very stable regridding capability for geophysical data.

Enhancements to NCL GRIB interface: New parameter tables added as well as new grid formats including Gaussian, Lambert Conformal, and Polar Stereographic grids.

Support for netCDF unlimited dimensions: NCL now supports allowing netCDF files to grow dynamically.

Many analysis routines provided by Dennis Shea (CGD): Dennis Shea has provided us with eigen vector analysis codes, drivers for computing divergence and vorticity, and vertical interpolation routines.

More NCL scripting examples: Many new examples of processing and graphics have been developed to support the CSM processor project. These will be included in the NCAR Graphics 4.1 documentation.

Overhauled HDF interface: Completely rewritten HDF interface can now more flexibly generate HDF data from NCL.

Optimization and memory management: NCL now runs 2x faster on most architectures. This is a result of improved memory management and redesign of slow code.

Cray binary file support: NCL can now read native Cray COS-blocked floating point, integer, and character data.

Command line editing, history, and file completion: ksh-style command line editing is now supported in NCL.

The subroutine library

The following packages were developed and added to the NCAR Graphics Fortran libraries:

natgrid - Data gridding software New gridding software has been added based on the book nngridr - An implementation of Natural Neighbor Interpolation by Dave Watson, Author and Publisher, Claremont, Australia, 1994.

This software does a natural neighbor interpolation to convert from randomly located grid points to a regular grid mesh. It is intended to augment the BIVAR interpolation software already provided with NCAR Graphics. Our long-range plan is to create a suite of interpolators to provide options for various data conditions (sparse, dense, high gradients, etc.)

Tdpack - A 3-D package Tdpack is an augmented replacement for the previous 3-D capabilities of NCAR Graphics. It brings all of the 3-D utilities together into a common coordinate system and integrates axes, scales, grids, and labels. It can generate simple surfaces and isosurfaces in either wire frame or shaded surface form. It can also generate stereo pairs from which 3-D stereo movies can be created. Image sequences can be stored in the NCGM format and animated using the NCAR Graphics Interactive Display Tool (idt), or the images can be stored in PostScript for output to a printer.

Demonstrating NCAR Graphics at scientific conferences

The NCAR Graphics Group demonstrated the capabilities of NCAR Graphics at the following conferences:


| Next page | Top of this section | Table of contents |

| NCAR | UCAR | NSF | NCAR FY97 ASR |