NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Dear colleague, We thought that you or someone you know might be interested in getting an early preview of what is coming in Version 4.0 of NCAR Graphics. We are looking for some sites that would be willing to beta test the software and give us some feedback on what they like and what they don't. If we hear a common theme from beta testers on some aspect of the software, it is not too late for us to make some changes before we release it this summer. If you are interested, please complete the questionnaire at the end of this message and return it to us. We may not be able to select all sites that respond, but we want to thank everyone in advance who returns the questionnaire to ngbeta@xxxxxxxxxxxxx by March 27, 1995. We have scheduled beta testing to run from early April to mid May. A description of the software precedes the questionnaire. NOTE: Two aspects of the Version 4.0 software will not be available to 4.0 beta testers: the prototype Graphical User Interface (GUI) and direct output to PostScript files from the new interfaces. Direct PostScript output from the traditional interface *is* available. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ New directions for NCAR Graphics -------------------------------- NCAR Graphics Version 4.0 is the first step toward a scientific visualization product that will be called NCAR Interactive. The following overview describes Versions 4.0 and 4.1. The GUI that completes the NCAR Interactive product will be provided only as an unsupported prototype at 4.0; the supported GUI will be released with Version 4.1. The NCAR Interactive product will offer a fully integrated scientific visualization environment. This environment will provide a means of reading and writing data, a means of manipulating that data, and a means of visually analyzing the data interactively. It will be straightforward to use, efficient, and user-extensible. Furthermore, this environment will support users with a wide range of skill levels: from users with extensive programming and technical skills to novice users who are learning to use NCAR Graphics for the first time and have a low to moderate level of programming expertise. Integrating interactive data access and manipulation with the visual analysis techniques of NCAR Graphics provides many benefits to current and future users of NCAR Graphics. In many cases, users will no longer need to write custom data-reading code as a prerequisite for producing graphics because the new data import functionality supports a variety of data formats and file types. The process of tailoring a data plot for a publication is simplified and accelerated. Users will be able to develop customized plot specifications that can be saved and re-used. New users will have many ways in which they can learn NCAR Graphics by using a GUI, an ASCII scripting language, the new C or FORTRAN programmatic interface, or the traditional C and FORTRAN interface. Users who develop applications with NCAR Graphics will be aided by the new API (Application Programming Interface) that is consistent across utilities and designed to support many interactive demands. Three new interfaces -------------------- The three major components of the NCAR Interactive system are: o HLUs (High Level Utilities), a self-consistent toolkit programming interface library o NCL (NCAR Command Language), a text-based data manipulation and graph specification language interpreter o GUI (Graphical User Interface), a "point-and-click" graphical user interface These new interfaces all produce the same result: a user-specified display of data. HLU interface ------------- The HLU library is built on top of the existing NCAR Graphics code. The HLUs are a new interface to the traditional NCAR Graphics utilities (now called the LLUs--Low Level Utilities). The HLUs manage a great deal of the underlying low-level implementation details for the programmer. The HLUs give users the ability to change features of the output quickly and easily. The toolkit has entry points from both FORTRAN, C and through the NCAR Command Language (NCL). If you are familiar with X Windows, the following should indicate how the NCAR Graphics High Level Utility (HLU) objects work. The HLUs are implemented along the lines of the X Window System widget model. Many aspects do not conform to this model, but the main concepts are valid. The HLU model supports the demands of an interactive environment in which different plots are created and displayed at different times with different data and configurations. The HLU model encapsulates the set of functions that draw a given type of plot with the set of data needed to configure it. Multiple instances of each type of plot can be created, destroyed, drawn and reconfigured without affecting any of the other instances, in the same fashion as X Window System widgets. If you are familiar with Object Oriented Programming (OOP), the HLU model also supports derived classes of objects (inheritance) and mixing of separate classes to form new classes (multiple inheritance). This ability to mix separate classes allows one utility, like TickMark or Title, to serve other utilities, like XyPlot or Contour. After you learn how to configure TickMark objects, you will know how to configure tick marks and grids in XyPlot and Contour plots. The OOP principles of classes, objects, and parent-child relationships in the instance hierarchy are also helpful in understanding the HLU model. An HLU plot object can maintain its own unique data transformation and its ability to map screen positions into data coordinates and vice versa. Each object knows how much area it uses on the screen and can report its bounding box coordinates. When objects change size, they automatically and proportionally scale text, dash patterns, tick marks, grids, and markers. All of these features support interactive environments. The Version 4.0 HLU library contains these utilities: XyPlot draws curves and symbols on plots that contain grids, tick marks, titles, and legends provided by other HLUs. Contour draws and fills contours with or without maps on plots that contain label bars, grids, tick marks, titles, and legends provided by other HLUs. MapPlot generates maps in any one of the ten standard NCAR Graphics map transformations. TickMark draws tick marks and grids for XyPlot and Contour plots; it uses five transformation styles: log, linear, irregular, geographic, and time. LabelBar creates and fills label bars with patterns or colors for Contour plots. Legend displays symbols and lines with text to create legends for XyPlot objects. Title positions and draws titles for plots of other HLUs. TextItem positions and draws text for plots of other HLUs. Workstation directs output to various devices: an NCAR Computer Graphics Metafile (NCGM), an X Windows display, or a PostScript file (PostScript output from HLUs and NCL will not be available for the 4.0 beta test). These HLUs will be added at the 4.1 release: Histogram will create filled bars on plots that may contain grids and tick marks provided by the TickMark HLU. StreamLine will create streamlines with or without maps on plots that contain features from other HLUs. Vector will create vectors with and without maps on plots that contain features from other HLUs. 3D will create simulated three-dimensional projections (surfaces and iso- surfaces) on plots that contain features from other HLUs. NCL interface ------------- The heart of NCAR Interactive is the data manipulation and graph specification language called the NCAR Command Language (NCL). NCL provides easy, intuitive, and consistent access to datasets and allows users to explore and process their data prior to visualization. Since datasets often come in a variety of data formats, grid sizes, grid resolutions, and units, very different datasets often need to be combined, compared, and used at the same time. Prior to 4.0, NCAR Graphics users had to develop specialized code to read individual datasets and transform them into a form that was compatible with other datasets being used and with the NCAR Graphics function interfaces. In Version 4.0, NCL provides the functionality to import a variety of data formats automatically. In many cases, this eliminates the need for programmers to write data-import code. NCL allows different datasets, in different storage formats, to be imported into one uniform and consistent data manipulation environment. The primary data format and data model used internally by NCL is the netCDF data format and model. NCL places no restrictions or conventions on the organization of input netCDF files. NCL has been designed to allow for its extension to support other data formats. In Version 4.0, NCL will support netCDF, HDF, and GRIB formats; data in native machine binary and ASCII can be imported using special data import functions. NCL is a complete programming language that provides flexibility and configurability. In NCL, the primary data type is the data file record. A data file record stores one or more variables, dimension information, coordinate variable information, and attribute information as one NCL variable. NCL users can read a binary file, then assign dimension names, variable names, attributes, and coordinate variables to it using NCL language constructs; users can then write the resulting file record to any of the currently supported formats--including netCDF--without having to learn the API for any of the data formats. NCL is built on top of the HLUs--it allows users to create and manipulate any HLU graphical object. NCL's function set contains built-in data processing and mathematical functions, and users can extend it to provide custom data processing techniques and custom data ingestion. In addition to functioning as a command line interpreter, NCL has an API for submitting NCL scripts from within an application. This API provides GUI writers a uniform way to access data and manipulate and visualize plots from within their application using NCL scripts. This simplifies the implementation of application-specific GUIs by reducing the amount of time developers must spend on the visualization code and the data access code. Graphical User Interface ------------------------ NOTE: An officially supported GUI will not be available until Version 4.1, and the prototype GUI will not be available for 4.0 beta testing. The NCAR Interactive GUI will be built on top of NCL, which is built on top of the HLUs. The GUI will therefore provide access to NCL data input and manipulation as well as the HLU visualization specification. The GUI will simplify many user tasks by providing a "point-and-click" interface for selecting data, creating plots, adding data to a plot, modifying plots, and positioning plots within the output frame. Further, the GUI will allow users to "probe" data visualizations by attaching NCL scripts that perform some analytical function to various key and mouse clicks, making true data interaction possible. The GUI will also provide editors for color maps, fill patterns, line styles, area masking, map projection specification, animations, as well as a general resource editor. New LLU functionality --------------------- At Version 4.0, the LLU library will contain these new utilities: Dashpack draws curves using dashed-line patterns that may include gap- portion specifiers, solid-portion specifiers, and label-string specifiers. Dashpack replaces and unifies the old "Dash" family of NCAR Graphics routines: Dashline, Dashchar, Dashsmth, and Dashsupr. Polypack allows users to manipulate polygons in various ways. Wmap provides the graphics to produce daily weather maps, plot station model data including wind barbs, and draw icons to indicate daily weather. A direct PostScript driver: PostScript output is producible directly from the NCAR GKS package by way of opening any one of several PostScript workstation types. Workstation types exist for producing color or monochrome output, portrait or landscape orientations, and regular PostScript, EPS (Encapsulated PostScript), or EPSI (Encapsulated PostScript Interchange format) files. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Beta Tester Questionnaire ------------------------- Please respond via e-mail to ngbeta@xxxxxxxxxxxxx no later than March 27, 1995. Your name: Address: Phone: E-mail: Job title: Scientific discipline: NCAR Graphics site license number: (If you're not sure of this number, please call 303-497-1201.) Please answer all questions --------------------------- 1. Please describe your job duties with respect to visualization and data manipulation requirements. 2. How long have you been using NCAR Graphics? Do you mostly develop your own NG applications or use NG programs generated by others? What NG utilities (Autograph, Conpack, Ezmap, Labelbar, etc.) are you currently using? What kind of applications do you use NG for? 3. Do you use any other visualization tools? If so, please list them, your level of familiarity with them, and your uses of them. 4. Data manipulation: a. Describe types of data visualized routinely, their geometry, size, dimensionality, and source. b. Describe how you most often choose to visualize your data (2D contour plots, X-Y plots, plots overlaid onto a map, isosurfaces, etc.). c. List the data storage mediums and formats you use (including binary, ASCII, and site-specific conventions). 5. Visualization needs: a. Describe the types of visualizations you produce for publications. b. Describe the types of visualizations you produce specifically for data analysis, verification, validation and reduction. c. Describe the types of visualizations you create that utilize 1D, 2D, 3D, and other higher multidimensional datasets. d. Describe the types of multi-field visualizations (visualizations combining multiple scalar fields and vectors). e. Do you produce video animations or workstation animations? If so, list the typical number of frames and their dimensions in your animations. 6. Hardware available: a. What types of printers and hardcopy (35mm slides, fiche, etc.) do you use? b. Please specify your UNIX workstation models, memory, disk capacities, and operating systems (please include OS version, which is available by typing "uname -a"). c. Other computing systems? d. What system and OS would you use for the 4.0 beta test? 7. Is your site connected to the Internet? 8. Do you have and use a WWW browser (Mosaic, Netscape, lynx, etc.) at your site? If so, which one(s) do you use? 9. Are you an application developer? If so, please describe the types of applications you develop. 10. Are you a GUI developer? If so, please describe the types of GUIs you develop. 11. Please indicate which NCAR Graphics interface, plotting utility, data format and file type, and output type you will use in your part of the 4.0 beta test: Interfaces: NCL, HLU C, HLU Fortran, new LLUs Utilities: XyPlot, Contour, MapPlot, TickMark, LabelBar, Legend, TextItem, Title, Dashpack LLU, Polypack LLU, Wmap LLU, LLU PostScript driver Input data formats and file types: netCDF, HDF, GRIB, binary, ASCII Output types: X Window display, NCGM Animations? Yes, No Thank you! The NCAR Graphics Group thanks you for your interest in this new product and your willingness to help us test it.
netcdfgroup
archives: