Glossary of NCL and HLU terms
Definitions that are specific to a particular part of the package are prefaced accordingly. For example, definitions that apply only to NCL are prefaced with NCL: .A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
A
- adjustable array
 -  An array that is a dummy argument in a Fortran subroutine
     or function whose dimensionality is determined at runtime.
     The dimensionality of an adjustable array is supplied in the
     argument list in which the dummy array name appears, or 
     by values in a COMMON block.
 -  animation
 -  A sequence of two or more images that, when displayed in a rapid
     sequence, provide the illusion of continuous motion.
 - annotation
 -  A viewable object whose
     location and usually size are set relative to the viewport or data coordinate space of a
     base plot.
     There are three kinds of annotations:
     intrinsic annotations,
     embedded annotations,
     and external annotations. 
 - annotation functions
 -  The functions used to add and remove annotations
     to and from plot objects. Specifically,
     these functions are
     NhlAddAnnotation and
     NhlRemoveAnnotation
     for the C and Fortran interfaces.
     
 - annotation plot
 -  An annotation that is a
     plot object and not simply a
     viewable object. An annotation plot
     is a subordinate base plot.
     
 - ANSI
 -  The American National Standards Institute, an independent non-profit
     organization that creates and publishes U.S. national standards 
     (such as Fortran, C, CGM, and so forth) taking input from all sectors
     of the technical community and the public at large. ANSI also works 
     in collaboration with other standards organizations such as 
     ISO
     (the International Standards Organization) and IEEE (the Institute 
     of Electrical and Electronics Engineers).
 - API
 -  
     Application Programming Interface.
 - application
 -  A program written in C, Fortran, or 
     NCL that utilizes any of the functionality of NCAR Graphics.
 - application class
 -  Refers specifically to the class 
     App. Objects that 
     are instances of this class are used to keep 
     track of resource databases. Every application must create at least one 
     App object (this will be done automatically for you if you use 
     NhlOpen).
 - Application Programming Interface
 -  The programming interfaces (C, Fortran, and 
     NCL) to the NCAR Graphics 
     package. These interfaces provide access to the support functions 
     defined in the classes as well as provide additional useful 
     functionality.
 - application resource file
 -  A resource file that is specific to a particular application. 
     There are two application-specific resource files: a system 
     application-specific resource file and a user application-specific 
     resource file. The user can specify what directories the 
     application-specific resource files are in. By default, the 
     user application-specific resource file is in the local current 
     directory and the system application-specific resource file is in 
     the directory specified by the setting of the environment variable 
     NCARG_SYSAPPRES.  Resources defined
     in the user application-specific resource file will override
     resources defined in the system application resource file.
 - area fill pattern
 -  A pattern to use for filling a polygonal area. The patterns are 
     selected by using an integer fill index into a table of patterns.
 - arithmetic operator
 -  An operator that applies to variables having a numeric data type.
     Examples are "+" (addition) and "*" (multiplication).
 - ASCII
 -  Stands for "American Standard Code for Information Interchange."
     This is an ANSI Standard specifying a set of 128 characters with
     their associated coded integer representations.
 - ASCII file
 -  NCL: A data file that contains integers or floating point 
     data values in ASCII format.
 - aspect ratio
 -  Specifies the height-to-width ratio of a plot. This term
     is also applied to characters.  For example, characters
     with an aspect ratio of 2.0 are twice as tall as they are wide.
 - associative operator
 -  A binary operator that obeys the law of associativity: i.e. a
     binary operator "R" such that (aRb)Rc = aR(bRc) for all legal
     operands a, b, and c.
 - attribute
 - NCL: A singly-dimensioned datum of any type that is assigned to a variable using the ' @ ' operator. An attribute of a variable contains descriptive information about the variable.
 
B
- background color
 -  The color that will be used as a background color for the entire 
     viewable surface of a physical workstation when plots are drawn on it.
 - base plot
 -  A plot object responsible for setting
     the viewport of zero or more
     plot members relative to its own viewport.
     There are two kinds of base plot:
     primary base plots and
     subordinate base plots.
     At creation, any plot object is a primary base plot.
     A plot object ceases to be a base plot when added to another plot
     object as an overlay. When added as an
     annotation a plot object becomes a
     subordinate base plot. A plot object must be a primary
     base plot for users to draw it or change its workstation. 
     
 - binary file
 -  A file whose contents are to be interpreted as a sequence of
     bits, rather than characters.  There are different flavors of
     binary files.  A "flat" binary file is a sequence of bits with no
     ancillary information about the file contents. This type of file
     is created and read by C programs.  Fortran creates and reads
     flat binary files only when in direct-access mode.  All records
     are the same size in a flat binary file. By default, Fortran
     creates another type of binary file which can contain
     variable-length records. This is called a sequential-access
     binary file. In a sequential-access binary file, record length
     information is embedded prior to each record.
 - block statement
 -  A statement that requires one or more individual statements
     bracketed by delimiters indicating the beginning and end of the
     block.  Examples of block statements are: do-end do, if-then-end
     if, setvalues-end setvalues.
 - bounding box
 -  For View class objects, 
     the bounding box for such objects is the 
     smallest rectangle in NDC space that contains all of the marks 
     that would appear on an output workstation if the object were drawn.
 - built-in function or procedure
 - A built-in function or procedure in NCL is one that is built into the code for NCL, and hence you don't need to load any NCL scripts to use it. Examples of built-in functions include fspan and addfile. Examples of procedures include system and delete. An example of a function that is not considered a built-in function is gsn_open_wks.
 
C
- cairo
 -  From the wikipedia
     entry: a software library used to provide a vector-based
     graphics, device independent API for software developers.
     In NCL V5.2.0, new cairo workstations
     were added to provide PNG, TIFF, and alternate PS and PDF output.
 - cartesian grid
 - A cartesian grid is the simplest form of
    a structured grid. It simply
    consists of square cells arranged uniformly in a matrix.  The grid
    cells are evenly spaced in all directions, and for every column
    there is the same number of rows and vice versa.
See also rectilinear and curvilinear grids.
 - CCM history tape format
 -  A proprietary data format used by atmospheric climate simulation
     models developed at NCAR. (CCM stands for Community Climate
     Model.)
 - C function prototype
 -  A C function declaration that declares a function's return type,
     how many arguments the function takes, and the types of the
     arguments.
 - CGM
 -  Computer Graphics Metafile.
 - child
 -  A relationship that holds between objects. If "A" and "B" 
     are objects, then B is a child of A provided that when B was 
     created, A was specified as being its parent (either in the 
     fourth argument of an NhlCreate call, or in a NCL create 
     expression), or B was made a child of A by using the 
     NhlChangeWorkstation function. If B is a child of A, then the 
     following conditions apply:
-   B inherits the resource database of A. If viewable, B will 
           display to the same workstation as A; if A is a 
           workstation, then B will draw to A.
 -   Destroying A will destroy B.
 -   Resources can be specified in resource files 
           as: {App obj name} . {parent of A} . {Name of A} . 
           {Name of B} . {resource of B} : {value}.
 
 -   B inherits the resource database of A. If viewable, B will 
           display to the same workstation as A; if A is a 
           workstation, then B will draw to A.
 - child/parent hierarchy
 -  The tree structure determined by the child/parent relationship 
     existing among all current objects in an application. A child can 
     have only a single parent, but a parent may have many children. 
     The child/parent hierarchy should not be confused with the class 
     hierarchy. See also class hierarchy.
 - class
 -  A template for defining objects that specifies variables, and 
     procedures that operate on those variables. In the context of the 
     NCAR HLU library, the class variables are called resources and the 
     class procedures are called support functions. Objects are members, 
     or instances, of a class formed by assigning specific values to 
     the variables in the class.
 - class hierarchy
 -  Each class, except the base class, is derived from some other class. 
     The tree structure determined by the derived-class/superclass 
     relationships among all of the classes is called the class hierarchy. 
     The class hierarchy should not be confused with 
     the child/parent hierarchy.
 - color index
 -  An integer value that represents an index into the current
     workstation color map.  Index 0
     represents the background color and 1 the foreground color.
     Values are limited from 0 to 255, since a workstation color map
     cannot have more than 256 colors. The use
     of named colors is recommended over
     indexed color. See
     also gsn_draw_colormap.
 - color map
 -  Same as color table.
 - color table
 -  A table that associates integer values (called color indices)
     with RGB color values. In NCL, color tables
     contain up to a maximum of 256 colors (including the background
     and foreground colors).  There are several predefined
     color tables, or you can define your
     own.  See also gsn_draw_colormap.
 - command
 -  NCL: Same as an NCL statement.
 - comment line
 -  A line in an NCL code beginning with a semi-colon (;). A line in
     an NCL resource file beginning with an exclamation point
     (!). Comment lines contain descriptive information about the
     code.
 - composite class
 -  A class that combines the resources of other classes with its own. 
     A composite class inherits resources and functions from its 
     superclass and it shares the resources from its composite members 
     by the process of resource forwarding. If the composite class 
     members have support functions, these functions do not apply to 
     the composite class.
 - composite class member
 -  A class used as part of the functionality 
     of a composite class.
 - composite class resource
 -  A resource available to a composite class by way of resource 
     forwarding from a member class of the composite class.
 - Computer Graphics Metafile
 -  A graphics metafile is a file that contains encoded vector graphics 
     elements such as lines, colors, dash patterns, markers, and so 
     forth. The Computer Graphics Metafile (CGM) is a 
     precisely-defined formatting for a graphics metafile as defined and 
     standardized by ANSI. NCL produces 
     a version of the CGM 
     that is called a conforming private encoding that can easily 
     be converted to and from standard CGM by using the filters ncgm2cgm 
     and cgm2ncgm. The NCAR private encoding is also called NCAR CGM, or NCGM.
 - contour plot
 -  A plot of 2D data containing contour lines (lines marking points
     of equal elevation) to indicate surface shape. Contour plots may
     have color fill between contour lines and may have label bars and annotations.
 - coordinate addressing
 -  A way of indexing array elements by specifying coordinate values
     rather than the normal integer array indices.  Coordinate
     addressing is effected by using coordinate variables.
 - coordinate subscripts
 -  Coordinate subscripts use the coordinate variables associated with a
variable to determine which indexes are used in the selection. When
specifying a coordinate subscript, braces '{' and '}' indicate the
start and end values of the coordinate variable that will be used to
select the indexes.
 - coordinate variable
 -  Another word for coordinate
     variable.
 - coordinate variable
 -  NCL: A value associated with
     a named dimension of a variable or
     file variable that contains numerical coordinate information for
     each index of the dimension. Coordinate variables must be
     singly-dimensioned values. Warnings are produced if the array of
     values assigned is not monotonically increasing or decreasing.
 - ctrans
 -  The NCGM interpreter distributed with NCL.
 - curvilinear grid
 - A curvilinear grid is one which cannot be uniquely accessed by a
    pair of one-dimensional coordinate arrays. These grids require a
    pair of two-dimensional arrays to describe grid point
    locations.
See also cartesian and rectilinear grids.
 
D
- dash pattern
 -  A pattern (such as "solid", "dotted", and so forth) to use as a 
     line style when lines are plotted using the 
     NhlDraw function. 
     Dash patterns are selected by using an integer index into a table 
     of dash patterns.
 - data classes
 -  Any of the classes that are used to provide user input data to any 
     of the objects that utilize such data. These classes are the 
     CoordArrays class, 
     the CoordArrTable class, 
     and the ScalarField class.
 - data conversion
 -  The process of converting data stored in one format to another 
     format, such as converting data stored as integers to data stored 
     as floating point numbers. Some objects, such as ScalarField, perform 
     automatic data conversions.
 - data coordinate space
 -  The coordinate space that is appropriate to input data. 
     Transformations can be effected between data coordinate space and NDC 
     (see 
     Normalized Device Coordinates).
 - data specific resource
 -  A resource of a particular 
     class, such as the XyPlot class, that can be used 
     to modify the attributes of data supplied via a 
     DataSpec object. 
     Data specific resources can be used to control attributes such as 
     curve colors, dash patterns, marker sizes, marker colors, and so forth. 
 - data transformation
 -  A process that transforms data from one coordinate space to 
     another, such as transforming data in logarithmic space to data 
     in linear space. 
 - data type
 -  A data type is a representation of data 
     that defines a size and valid range for numerical data or 
     provides a reference to a file or HLU graphical object.
 - decision statement
 -  A language construct allowing for conditional program execution
     based on the truth or falsity of an expression.  The basic
     decision statement in NCL is if.
 - degenerate dimension
 -  An array is said to have degenerate dimensions if any of its
dimension sizes are equal to 1.  For example, if you have a
3-dimensional array dimensioned 1000 x 1 x 60, then the middle
dimension is called a degenerate dimension. These dimensions are
sometimes referred to as singleton dimensions.
 - derived class
 -  See subclass.
 - DODs
 -  Distributed Ocean Data. Now referred to as OPeNDAP.
 - drawable object
 -  See viewable object.
 - draw function
 - Specifically, either the NhlDraw function of the C or Fortran interfaces, or the draw function of NCL, that is invoked to plot a View object.
 
E
- embedded annotation
 -  An annotation that may be
     incorporated as part of the functionality of subclasses of the 
     Transform class. It is managed
     internally by the controlling
     PlotManager.
 - Encapsulated PostScript
 -  Encapsulated PostScript (EPS) is a subset of regular 
     PostScript.  The
     restrictions placed on EPS files are for making it an appropriate
     format for importing into applications that import PostScript.
 -  
     Encapsulated PostScript Interchange Format
- Encapsulated PostScript Interchange Format (EPSI) files are Encapsulated PostScript files that have a "preview bitmap" that represents the PostScript image contained in the file. The bitmap (and it is a bitmap and not a color map) can be used by an importing application to quickly display a picture of the imported file.
 - endian
 - [Note: this definition was taken straight from Wikipedia]
 
Endianness generally refers to sequencing methods used in a one-dimensional system (such as writing or computer memory). The two main types of endianness are known as big-endian and little-endian. Systems which exhibit aspects of both conventions are often described as middle-endian. When specifically talking about bytes in computing, endianness is also referred to as byte order.- enumeric
 - In NCL version 5.2.0, new data types were added: int64 (aka long long), uint64 (unsigned long long), ulong (unsigned long), uint (unsigned int), and ushort (unsigned short). These data types are collectively known as enumeric types. They are part of the super-numeric type called snumeric, which includes both numeric and enumeric.
 For more information, see the NCL data types overview section in the Reference Manual.
- EPS
 - see Encapsulated PostScript
 - EPSI
 - see Encapsulated PostScript Interchange Format
 - error class
 - A class that is used to configure the error reporting module of the HLU library. For any application, there is precisely one error object created, and it is created automatically for you. The error class defines several resources for controlling error reporting.
 - expression
 - NCL: Any sequence of NCL operators and operands that results in the computation of a value. In particular, any literal value is an expression and any variable is an expression. Also, arrays are expressions as well as functions. Operators applied to expressions are expressions.
 - external annotation
 - An annotation consisting of an arbitrary user-created viewable object added to a plot object. The user controls the location and size relative to the base plot by manipulating the resources of a user-accessible AnnoManager object.
  - Encapsulated PostScript Interchange Format (EPSI) files are Encapsulated PostScript files that have a "preview bitmap" that represents the PostScript image contained in the file. The bitmap (and it is a bitmap and not a color map) can be used by an importing application to quickly display a picture of the imported file.
 
F
- file
 -  NCL: A data file residing external to NCL in one of NCL's 
     supported data formats.
 - file name suffix
 -  A suffix appended to a file name to indicate its type.
     NCL recognizes the following supported suffixes:
     ".nc" for netCDF,
     ".hdf" for HDF,
     ".h5" for HDF5,
     ".he" ".he2" for HDF-EOS,
     ".he5" for HDF-EOS5,
     ".grb" ".grib" ".grb2" ".grib2" for GRIB,
     ".shp" for shapefile,
     and ".ccm" for CCM History Tape.
     The obsolete suffix ".cdf" for a netCDF file is also recognized.
 - file variable
 -  NCL: A variable, created by the NCL 
     addfile
     function, that contains a reference to a file.
 - fill value
 -  NCL: Same as missing value.
 - fixed grid
 -  A fixed grid is a type of a
    rectilinear grid where each grid
    point can be uniquely accessed by one-dimensional, monotonically
    increasing or decreasing arrays (i.e. the coordinates are
    orthogonal). In cartesian coordinates, these may refer to the "x"
    and "y" coordinates, while on the globe these are longitude and
    latitude arrays.  The grid spacing may be different in the
    latitude (y) and longitude (x) coordinates, but it is constant.
    
The special case where the grid spacing is the same in the latitude/longitude directions is called an "equally spaced" grid. Pole points may or may not be present. Some examples include: 1x1, 2x5, and 2.5x2.5 degree grids.
 - fixed offset grid
 -  A fixed-offset grid is analogous to
    the fixed grid, but refers to the special
    case where the latitude/longitude grids are offset for the
    traditional Greenwich Meridian or poles.
 - fontcap
 -  A file that contains detailed information used to plot characters. 
     Fontcaps have a human-readable ASCII form and a binary form that is 
     readable by ctrans.
 - foreground color
 -  The color associated with color index 1. This is used as the 
     default color in drawing viewable objects.
 - Fortran 90 interface block
 -  A sequence of Fortran 90 statements (bracketed by special
     delimiting statements) used to describe a procedure interface.
     The statements in the interface block contain a declaration for
     the procedure and declarations for the dummy arguments and no
     executable statements.
 - function
 -  HLU:
     Any member of the NCL functions
     or the 
HLU API .
NCL: An identifier with a list of parameters separated by commas and enclosed in parentheses. Functions return values when called. A function is defined by NCL source unlike the NCL intrinsic function. 
G
- Gaussian grid
 -  A Gaussian grid is a type of a
    rectilinear grid one where each
    grid point can be uniquely accessed by one-dimensional latitude
    and longitude arrays (i.e. the coordinates are orthogonal). The
    longitudes are equally spaced while the latitudes are unequally
    spaced according to the Gaussian quadrature. There are no grid
    points at the poles.
    See also rectilinear and
    curvilinear grids.
 - GIF
 -  A file format used for the storage and on-line retrieval of
     bitmapped graphical data. GIF stands for "Graphical Interchange
     Format"; it was created by the CompuServe Corporation in 1987.
 - graphcap
 -  A file that contains detailed information used to define the 
     capabilities of a specific plotting device. Graphcaps have a 
     human-readable ASCII form or a binary form 
     that is readable by ctrans.
 - graphical object
 -  NCL: An NCL value of type graphic. A graphical object is an 
     identifier for an
     HLU object.
 - Graphical User Interface
 -  A non-programmatic, graphical, interface to the functionality 
     of NCAR Graphics. Such an interface is sometimes referred to as
     a "point-and-click" interface, since that is how the interaction
     is accomplished.
 - GRIB
 -  GRIB (GRIdded Binary) is a data format used for the storage of historical
     and forecasted weather data.  The format is standardized by the World
     Meteorological Organization (WMO).  There are two versions: GRIB1 and
     GRIB2.  NCL supports both versions.
 - GSUN
 -  Acronym for "Getting Started Using NCL." 
 -  
GSUN scripts - NCL scripts that provide an "easy" interface to the graphics capabilities of NCL. Some examples are gsn_xy and gsn_csm_contour_map.
 - GUI
 - Graphical User Interface.
  - NCL scripts that provide an "easy" interface to the graphics capabilities of NCL. Some examples are gsn_xy and gsn_csm_contour_map.
 
H
- HDF
 -  See 
HDF4. - HDF4
 - HDF4 (also known as HDF) is a library and multi-object file format for storing and managing data between machines. There are two versions of HDF technologies that are completely different: HDF4 and HDF5. HDF4 is the first HDF format.
 - HDF5
 - HDF5 (Hierarchical Data Format) is a data model, library, and file format for storing and managing data. It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data.
 - HDF-EOS
 - HDF-EOS (Hierarchical Data Format - Earth Observing System) is a self-describing file format for transfer of various types of data between different machines based upon HDF. HDF-EOS is a standard format to store data collected from EOS satellites: Terra, Aqua and Aura. Two versions of HDF-EOS libraries are developed: HDF-EOS2 based on HDF4 and HDF-EOS5 based on HDF5.
 - High Level Utilities
 - Objects, like XyPlot objects, Contour objects, TextItem objects, and so forth, that can be created and manipulated by a set of library functions, callable from either a C program, a Fortran program, the NCAR Command Language, or a GUI. High Level Utilities are also referred to as HLUs and are to be distinguished from the Low Level Utilities, or LLUs.
 - HLU resource string
 - A character string identifying a particular resource of a class. These are the resources listed in the descriptions of the classes.
 - HLUs
 - High Level Utilities.
 - HSV
 - Acronym for Hue/Saturation/Value. An additive color system based on the attributes of color (hue), percentage of white (saturation), and value (brightness or intensity).
  
I
- identifier
 -  NCL: The name of a 
     variable,
     function, or procedure.
 - immediate mode
 -  A mode used by certain 
     API
     functions that produces immediate drawing without invoking a 
     draw function.
 - indexed color
 - See color index.
 - instance
 -  When specific values are assigned to all the resources defined in 
     a class, the result is an instance of that class. Any instance of 
     any class is called an object. Default values 
     exist for all resources; before creating an object, users may override 
     any default value.
 - instance hierarchy
 -  Same as child/parent hierarchy.
 - inheritance
 -  A class is said to inherit resources or support functions from 
     its superclasses, since those functions and resources are available
     to the subclass.
     See superclass, and 
     composite class.
 - interpreter
 -  A program that transforms statements into machine code a
     statement at a time.  The ncl executable is an interpreter of the
     NCL language.
 - intrinsic annotation
 -  An annotation available as composite class member of the
     PlotManager class.
     Intrinsic annotations are available to any class of
     plot object and include
     TickMark,
     Title,
     LabelBar, and
     Legend annotations. The
     PlotManager manages these annotations internally.
 - intrinsic function
 -  NCL: An identifier with a list of parameters, the
     parameters being  separated by commas enclosed and
     in parentheses. Intrinsic functions return values when called. 
     An intrinsic function is not defined by NCL source; it is a C or Fortran 
     routine that has been added to the NCL function set. 
     Intrinsic functions often perform operations that NCL source 
     does not support.
 - irregular rectangular coordinate space
 -  A 2-dimensional rectangular grid that has unequal spacing along
     the X and/or Y axes.
 - ISO
 -  The International Standards Organization that publishes international
     standards.
     (see ANSI).
 - intrinsic procedure
 - NCL: An identifier with a list of parameters, the parameters being separated by commas enclosed in parentheses. An intrinsic procedure is not defined by NCL source; it is a C or Fortran routine that has been added to the NCL procedure set. Intrinsic procedures often perform operations that NCL source does not support.
 
J
K
L
- label bar
 -  A specialized label consisting of a bar of filled rectangular
     areas that are labeled to correspond with areas from an adjoining
     plot. Label bars can be filled with black-and-white patterns,
     with color, or with both. Label bars are commonly used with
     contour plots and with other types of plots where area pattern
     fills or color are used to differentiate values in the plot.
 - landscape
 -  See portrait
 - lazy evaluation
 -  NCL: The process whereby relational expressions 
     are assigned a value
     as soon as it is possible to do so, without necessarily evaluating
     all of the components in the expression.  For example, the expression
     (1 .lt. 3) .or. (2 .lt. 1) can be assigned the value True immediately
     after evaluating (1 .lt. 3) without having to evaluate (2 .lt. 1).
 - legend
 -  A specialized annotation
     that formats a series of lines or markers of varying styles along
     with adjoining explanatory labels. Legends are designed to serve
     as "keys" for an associated plot.
 - literal array
 -  NCL: An array of values specified using literal values,
     these values being separated by commas and enclosed in 
     ' (/ ' and ' /) ' .
 - literal value
 -  NCL: A single scalar value expressed by its actual string 
     value (i.e. not referenced by a variable). For example, 
     1, 1.414 and "string" are literal values.
 - LLUs
 -  Low Level Utilities.
 - local resources,
 -  Resources defined in a particular class that are not inherited 
     from another class.
 - logical operator
 -  A operator that returns a true value or a false value depending
     on the truth or falsity of its operands.  The logical operators
     in NCL are: .and., .or., .xor., .not..
 - loop statement
 -  A language construct that allows for code repetition with
     incremental values set for a variable or variables.  The looping
     statements in NCL are: do and do while.
 - Low Level Utilities
 - Traditional NCAR Graphics as it existed before the HLUs or NCL were developed. It is a package of about 500 graphics routines. User entries have both C and Fortran interfaces.
 
M
- machine-independent data format
 -  Same as Network-transparent data
     format.
 - marker
 -  See polymarker.
 - member class
 -  One of the class components of a 
     composite class.
 - metadata
 -  NCL: Information used to describe data, such as dimension
     names, variable attributes, valid ranges, and so forth.
 - metafile
 -  A file containing encoded graphical elements.  Metafiles are used
     for storing and transporting graphics images.  In the context of
     NCL and NCAR Graphics "metafile" is generally synonymous with 
     NCGM.
 - missing value
 -  NCL: A special value for a variable or array element
     indicating that no legal data has been specified for that
     quantity.  See the section on missing data in the
     evaluation of expressions in the NCL Language documentation
     details on how these missing values are handled.
 - monotone
 - A sequence of numeric values is monotone (or monotonic) if either: each element in the sequence is larger than (or equal to) its predecessor, or each element in the sequence is smaller than (or equal to) its predecessor. A sequence is monotonically increasing if each element in the sequence is larger than its predecessor; a sequence is monotonically decreasing if each element in the sequence is smaller than its predecessor. A sequence is monotonically non-decreasing if each element in the sequence is larger than, or equal to, its predecessor. A sequence is monotonically non-increasing if each element in the sequence is smaller than, or equal to, its predecessor.
 
N
- named color
 - A string representing a predefined
     color. Named colors can be used with just about any graphical
     resource that defines the color of a plot attribute (like a line
     color or a polygon fill color).  This method is preferred 
     over the use of indexed color.
 - named dimension
 -  NCL: A dimension of a variable or file variable that has been 
     assigned a name using the '!' operator.
 - NaN
 - NaN stands for
     "not a number". It usually represents undefined or
     unrepresentable numeric values, for example, from a divide by
     zero operation. NCL cannot handle NaN values. They must be
     converted to missing values before you can do any calculations or
     plotting.  See the functions isnan_ieee
     and replace_ieeenan.
 - native grid
 -  A native grid is a data on lat/lon grid that's projected to a
particular map projection, for example, a Lambert Conformal map. If
you have data on a native grid and you know the exact parameters of
the map projection, then NCL can plot the data without needing the
latitude/longitude arrays.
 - NCAR Command Language
 -  A language written for the purpose of interactive data
     manipulation and display. NCL has a command line interface and
     will accept netCDF-3, netCDF-4, HDF4, HDF-EOS, HDF5, HDF-EOS5,
     GRIB1, GRIB2, shapefile, or ASCII input files.  NCL also provides
     an easy interface to the HLUs.
 -  
     NCAR Computer Graphics Metafile
- The NCAR private binary encoding of a Computer Graphics Metafile.
 - NCGM
 - NCAR Computer Graphics Metafile.
 - NCL
 - NCAR Command Language.
 - NCL resource list
 - NCL: An NCL resource list is a list of HLU resource strings followed by a " : " followed by a valid NCL expression.
 - NDC
 - Normalized Device Coordinates. A coordinate system that describes positions on a virtual plotting device. The lower left corner corresponds to (0,0), and the upper right corner corresponds to (1,1). NDC space will be mapped onto the largest square which will fit on an actual plotting device. PostScript output is centered on the page by default, but options exist for positioning PostScript output anywhere on the page. See the PSWorkstation for details.
 - ncl
 - Refers to the interpreter that interprets NCL statements.
 - netCDF
 - NetCDF (network Common Data Form) is an interface for scientific data access and a library that provides an implementation of the interface. There are different kinds of NetCDF files: classic, 64-bit offset, netCDF-4 classic, and netCDF-4. See the NetCDF FAQ for more information.
 - netCDF 64-bit offset
 - In 2004, the 64-bit offset format variant was added. Nearly identical to the netCDF classic format, it allows users to create and access far larger datasets than were possible with the original format. (A 64-bit platform is not required to write or read 64-bit offset netCDF files.)
 - netCDF classic
 - The classic format was the only format for netCDF data created between 1989 and 2004. As of netCDF version 4.2.x, it is still the default format for new netCDF data files, and the form in which most netCDF data is stored. Some users think of this as "netCDF-3".
 - netCDF-4 classic
 - At the same time that the netCDF-4 format was as introduced, the "netCDF-4 classic" format was added for users who needed the performance benefits of the new format (such as compression) without the complexity of a new programming interface or enhanced data model.
 - netCDF-4
 - In 2008, the netCDF-4 format was added to support per-variable compression, multiple unlimited dimensions, more complex data types, and better performance, by layering an enhanced netCDF access interface on top of the HDF5 format.
 - network-transparent data format
 - A format for encoding data that removes any machine dependencies that might be involved in encoding the data. Typical examples of such data formats are netCDF and HDF.
 - numeric
 - Any data type that represents a numerical value. The numeric data types are: double, float, int64 (aka long long), uint64 (unsigned long long), long, ulong (unsigned long), integer, uint (unsigned int), short, ushort (unsigned short), and byte.
 In NCL version 5.2.0, new data types were added: int64 (aka long long), uint64 (unsigned long long), ulong (unsigned long), uint (unsigned int), and ushort (unsigned short). These data types are collectively known as enumeric types.
To keep NCL backwards-compatible, we kept the name numeric to refer to data types double, float, long, integer, short, and byte, but created a new name snumeric (super-numeric) to represent both numeric and enumeric.
For more information, see the NCL data types overview section in the Reference Manual.
- numeric data type
 - A data type for numeric quantities. In NCL the numeric data types are: double, float, int64, uint64, long, ulong, integer, uint, short, ushort, and byte.
 - non-numeric data type
 - A data type for non-numeric quantities. In NCL the non-numeric data types are: string, character, graphic, file, and logical.
  - The NCAR private binary encoding of a Computer Graphics Metafile.
 
O
- object
 -  An object is created from a class by assigning specific values for 
     the class resources. See class and 
     instance.
 - OPenDAP
 -  OPeNDAP, an acronym for "Open-source Project for a Network Data
Access Protocol", is a data transport architecture and protocol widely
used by earth scientists that simplifies all aspects of scientific
data networking, allowing simple access to remote data.
Visit www.opendap.org for more
information.
 - output primitive
 -  Procedures and functions for producing graphics output at the
     lowest level.  GSUN procedures/functions exist for drawing lines
     (gsn_polyline, gsn_polyline_ndc, gsn_add_polyline), text (gsn_text, gsn_text_ndc, gsn_add_text), filled areas (gsn_polygon, gsn_polygon_ndc, gsn_add_polygon), and markers (gsn_polymarker, gsn_polymarker_ndc, gsn_add_polymarker).
 - overlay
 -  A transform overlaid on a
     base plot using the
     add overlay function.
     The base plot sets the viewport of the overlay
     to match its own and transforms the coordinate data of the overlay
     into its own coordinate space. Only that portion of the overlay's
     coordinate space that intersects the coordinate space of the
     managing plot will be visible in the plot output. If the
     overlay is a plot object, it gives up
     its base plot status. The base plot to which the overlay is added
     assumes responsibility for managing the overlay's
     plot members.
 - overlay functions
 -  The functions used to add and remove overlays
     to and from plot objects. Specifically,
     these functions are
     NhlAddOverlay and
     NhlRemoveOverlay
     for the C and Fortran interfaces.
     
 - overlay plot
 -  An overlay created from a
     plot object rather than from a
     simple transform.
 - overlay sequence
 - The ordering of the transforms in a plot or subplot that contains overlays. The base plot is always first, followed by each overlay in an order that may be manipulated through the overlay functions. The overlay sequence determines the basic drawing order of the plot. The base plot is drawn first; each succeeding overlay is drawn on top of the preceding transforms. Annotations are not affected by the overlay sequence; they always drawn after all the transforms.
 
P
- parent
 -  A relationship that exists between objects. If A and B 
     are objects, then A is a parent of B if and only if B is a 
     child of A. See child for more information.
 - An acronym for Portable Document Format, a file format
created by Adobe Systems, Inc. It uses the PostScript printer description
language and is highly portable across computer platforms. PDF
documents are created with Adobe Acrobat or other programs and can be
viewed with Adobe Acrobat Reader and other PDF reader programs.
 - plot
 -  Depending on context, the word plot may be used to mean:
     
- A plot object.
 - A primary base plot and all its plot members.
 - The output resulting from drawing a primary base plot and all its plot members.
 - The output resulting from drawing any arbitrary collection of viewable objects.
 
 - plot_class
 -  NCL: The plot_class in NCL is the same as the HLU class
     pointer used in the 
     HLU API to specify what type of object to create.
     The NCL plot_class identifier is spelled the same as the 
     HLU class pointer.
 - plot member
 -  A viewable object managed by a
     base plot. If the base plot is
     a subordinate base plot then the
     object is indirectly a plot member of the complete plot
     managed by the primary base plot.
     Drawing the primary base plot
     causes all its plot members to be drawn. A plot member is either an
     overlay or an
     annotation. Although an annotation can be
     any arbitrary view , an overlay must be a view
     belonging to the Transform class.
     A plot member must belong to the same
     Workstation as its base plot and cannot
     be drawn independently. A view cannot belong as a plot member
     to more than one base plot at a time.
 - plot object
 -  A Transform object instantiated
     with an active PlotManager.
     In general, unless otherwise restricted
     by their specific class, plot objects have the ability both to
     manage other viewable objects as
     plot members and to be managed as plot members
     themselves. A plot object that manages plot members is called a
     base plot. If the managing
     plot object is itself managed as a plot member, it is a
     subordinate base plot. If it
     manages itself (i.e. is not a plot member) it is a
     primary base plot. At creation,
     all plot objects are primary base plots.
 - polymarker
 -  An array of coordinates specifying positions where certain specified 
     symmetric symbols (markers) such as circles, dots, and so 
     forth will be plotted.
 - portrait mode
 -  (Definition taken from Wikipedia) Portrait mode and
     landscape mode refer to the orientation of text (and pictures) on
     a printed page. (The paper must be a rectangle, however in
     practice square sheets are hardly ever used.) In portrait
     mode the text is printed on the paper such that the reader will
     turn the long side of the paper vertical and the short side
     horizontal. In landscape mode on the other hand, the long
     side is horizontal, and the short side vertical (like most
     landscape paintings).
 - PostScript
 -  A general-purpose programming language that contains a rich set
     of graphics operators.  PostScript is produced by many popular word
     processing and graphics packages and can be displayed on a wide
     variety of printers, plotters, and workstation screens.
 - primary base plot
 -  A self-managing plot object. A
     base plot  that directly manages any number of
     plot members, consisting of
     overlays and
     annotations, but is not itself a
     plot member. At creation all plot objects are primary base plots.
     A plot object must be a primary base plot for the user to
     draw it or change its workstation.
     
 -  primitive
    (see output primitive)
- procedure
  -  NCL: An identifier with a list of parameters, 
     these parameters being separated by commas and enclosed 
     in parentheses. Procedures do not return values when called.
 - PS
 - see PostScript
 
Q
R
- rectilinear grid
 -  A rectilinear grid is very similar to a
     cartesian grid in that it is a basic
     rectangular matrix arrangement of data. The one difference is
     that the uniform spacing restriction is lifted. Rectilinear grids
     are usually represented
     by one-dimensional coordinate
     variables.
See also cartesian, gaussian, and curvilinear grids.
 - relational operator
 -  A operator that returns a true value or false value depending on
     a relation between its operands.  The relational operators in NCL
     are: .le., .lt., .ge., .gt., .ne., .eq..
 - resource
 -  A variable defined as part of the definition of a class. 
     Resource values in objects 
     can be set by using a 
     NhlCreate function or
     a NhlSetValues function.
     Resource values can be retrieved using a 
     NhlGetValues function.
 - resource file
 -  A file that can be used to set values for resources. There are four 
     different resource files. See system 
     resource file and 
     user resource file.
 - resource forwarding
 -  A technique that makes the resources of 
     member classes available to 
     a composite class.
 - RGB
 -  Stands for the red, green, blue color space where colors
     are specified as triplets of floating point numbers between 0.0
     and 1.0 inclusive. The triplet gives the percentage intensities
     for the red, green, and blue components of a color. The triplet
     <1,.0.,0.> would indicate a full percentage of red, and no
     green or blue percentage, for example.
 - RGBA
 -  Stands for the red, green, blue, alpha color space where
     colors are specified as quadruplets of floating point numbers
     between 0.0 and 1.0 inclusive. The first three values of the
     quadruplet gives the percentage intensities for the red, green,
     and blue components of a color. The fourth value gives the
     percentage of opaqueness of that color. An opacity value of 1.0
     means the color is fully opaque, and a value of 0.0 means it is
     fully transparent. The quaddruplet <1,.0.,0.,0.5> would
     indicate the color red at half opacity.  The usage of RGBA colors
     was introduced in NCL V6.1.0.
 
S
- scalar
 -  NCL: A single element of data of any type is referred 
     to as a scalar value.
 - scalar_logical_expression
 -  NCL: A single element value of the logical data type with 
     no missing values.
 - scope
 -  NCL: The range or area within a program in which an identifier 
     is meaningful.
     
 - script
 -  A file containing a sequence of program statements that can be submitted to
     an interpreter for execution.
 - self-describing data format
 -  A format for encoding data that can contain information that
     describes the data being encoded.  Typical examples of such data
     formats are netCDF,
     HDF, and 
     HDF5.
 - shape
 -  The number of dimensions of an array.  The statement a = new(
     (/ 2, 3, 5 /), float) would create an array a of
     shape 3 (i.e. a has three dimensions).
 - shapefile
 -  A shapefile is a popular geospatial data format for geographic
     information systems software. It is developed and regulated by
     Esri as a (mostly) open specification for data interoperability
     among ESRI and other software products. A "shapefile" commonly
     refers to a collection of files with ".shp", ".shx", ".prj",
     ".dbf", and other extensions on a common prefix name (e.g.,
     "lakes.*").  NCL
 - simple overlay
 -  An overlay created from a
     simple transform.
     
 - simple transform
 -  A transform object created without
     an active PlotManager.
     Unlike a plot object,
     a simple transform cannot manage any
     plot members, either as
     annotations or as
     overlays. Therefore, the only elements that
     appear when a simple transform is drawn are those implemented
     within the object itself. However, unless restricted by its
     particular class, a simple transform may itself become an annotation
     or an overlay of a base plot.
     Since a plot object has all the capabilities of a simple transform
     and none of the limitations, the main reason for creating a simple
     transform would be to conserve system resources when PlotManager
     capabilities are not required.
     
 - singleton dimension
 -  See degenerate dimension.
 - size
 -  The number of elements in array dimensions. The statement a =
     new( (/ 2, 3, 5 /), float) would create an array a
     that has a first dimension of size 2, a second dimension of size
     3, and a third dimension of size 5.
 - snumeric
 -  In NCL version 5.2.0, a new data type called snumeric was
     added, which is short for super-numeric. This type includes
     includes both numeric
     and enumeric
     types. snumeric types include double, float, int64 (aka
     long long), uint64 (unsigned long long), long, ulong (unsigned
     long), integer, uint (unsigned int), short, ushort (unsigned
     short), and byte.
     
For more information, see the NCL data types overview section in the Reference Manual.
 - statement
 -  A non-comment line of code
     (or a line of code prior to any commenting).  A line of NCL code
     contains all continuations resulting from use of the "\" symbol.
 - stipple
 -  To cover an area with small dots.
 - streamline
 -  The path an idealized particle would follow if introduced into a
     wind or fluid flow.  For example (as an approximation to the
     ideal), the path a speck of dust would take in a wind.
 - Streamline plot
 -  A plot representing a vector field using streamlines, based upon
     2-dimensional data. It may also contain tick marks and titles.
 - stride
 -  The increment indicator in a subscript specifier.  Using
     m:n:i as a subscript means to take the individual
     subscript values starting with m and ending with
     n in strides of i. The stride must always be an
     integer and should be thought of as a skip indicator rather than
     an additive increment value, since coordinate subscripts may not
     always be integers.  A stride of 2 means to take every second
     value after the first, a stride of 3 means take every third
     value, and so forth.
 - statement
 -  NCL: A single language construct within NCL that 
     performs a specific task.
 - statement list
 -  NCL: A sequence of statements separated by a carriage returns (\n).
 - structured grid
 - Structured grids are the exact opposite
    of unstructured meshes. A
    structured grid gets its name from the nature of having a
    structure implicitly defined by the arrangement of the data. A
    structured grid has a basic rectangular matrix structure that
    makes storage and use easy as integer offsets (Typically named i,
    j, and k) can be used to access individual data points. Data
    points are arranged into rectangular or cubic structures by simply
    connecting them to their neighboring i, j, and k cells. Three
    types of structured grids include
    cartesian,
    rectilinear, and 
    curvilinear grids.
 - subclass
 -  A class B is a subclass of A if B has in it all of the 
     resources and support functions of A (B may have additional resources 
     and support functions as well). If B is a class derived from A, 
     then B is said to inherit its resources and support functions 
     from A. If B is derived from A, then it is also said that B 
     is a subclass of A.
 - subordinate base plot
 -  A plot member that is an
     annotation plot. A subordinate base
     plot sets the viewport of the
     plot members it controls,
     while its own viewport is set by the base plot
     that controls it. Unlike a
     primary base plot, the user cannot
     directly draw or change the workstation of a subordinate base plot.
     A subordinate base plot and the plot members it manages are
     known collectively as a subplot.
 - subplot
 -  The portion of a plot that is managed by a
     subordinate base plot.
     
 - superclass
 -  A class A is a superclass of class B if A is on the same branch of 
     the class hierarchy tree and A is higher on that branch.
 - superclass resource
 -  A resource that one class inherits from a superclass.
 - supported data format
 -  Any of the formats that can be read by the NCL
     addfile function.  The supported formats are:
     netCDF,
     HDF,
     HDF-EOS,
     HDF5,
     HDF-EOS5,
     GRIB (1 and 2),
     shapefile,
     and CCM History
     Tape.  You do not have to know the details of these
     formats in order to use them with NCL.
 - support function
 -  A function defined as part of a class definition.
 - system resource file
 - There are four files where resources can be set - two of these files are system resource files and the other two are user resource files. The name of one of the system resource files is specified by the setting of the environment variable NCARG_SYSRESFILE; the other system resource file is specified in an application-specific manner. See application resource file.
 
T
- text function codes
 -  Special characters embedded in a text string, usually starting
     and ending with the tilde ("~") character. Text function codes
     provide the capability for selecting various fonts, doing
     superscripts and subscripts, taking complete control of the
     positioning of characters relative to one another, and last but
     not least, "zooming" characters in either width or height, or
     both.
 - tick marks
 -  Marks along an axis of a plot that are perpendicular to the axis
     and serve to divide the axis (or parts of the axis) into equal or
     logarithmetically spaced parts.
 - transform
 -  A Transform object.
     
 - Transform class
 -  The Transform class is
     a subclass of the View class that supports transformations from
     data coordinate space into the
     NDC space occupied by the Transform class instance's
     viewport. Transform subclasses may include
     the PlotManager class as a
     composite class member. The
     Transform class provides a resource for activating or deactivating
     the PlotManager when a Transform instance is created. In addition,
     the Transform class provides support functions for converting
     between data coordinate space and NDC space, for drawing
     immediate mode graphics primitives, and
     for adding and removing overlays and
     annotations from
     plot objects.
 - Transform object
 - An object that is an instance of the Transform class. Transform objects become plot objects when created with an active PlotManager instance. A Transform object created without an active PlotManager is called a simple transform.
 
U
- unstructured grid
 - See unstructured mesh.
- unstructured mesh
 - Unstructured meshes are the exact opposite of structured grids, where the connectivity between points must be explicitly defined for every set of points. This makes them significantly more difficult and complex, and the nice relationships between neighboring cells or edges is no longer automatic and must be constructed manually. However, they are much more flexible in their ability to define complex shapes because they have no constraints on their arrangement.
 Unstructured meshes are typically defined as points and cells. Cells are collections of points to define basic 2D or 3D primitives such as triangles, cubes, and tetrahedra.
- user resource file
 - There are four files where resources can be set - two of these files are user resource files and the other two are system resource files. The name of one of the user resource files is specified by the setting of the environment variable NCARG_USRRESFILE; the other user resource file is specified in an application-specific manner. See application resource file.
  
V
- variable
 -  NCL: A name that can contain a singly-dimensioned or
     multi-dimensioned data array, dimension names, coordinate variables, 
     attributes, and so forth.
 - Vector plot
 -  A plot representing a vector field by drawing glyphs that
     represent magnitude and direction at grid points based on
     2-dimensional data. It may also contain tick marks, titles, and/or a label bar.  Three glyph styles are
     available: a basic line-drawn arrow, a filled arrow with an
     option edge, and a standard wind barb.
 - view
 -  A viewable object.
 - viewable object
 -  An object that is an instance of the View class.
 - View class
 -  An object can be drawn only if it is an instance of the 
     View class. The View class provides resources for sizing and 
     positioning objects on an output device 
     (workstation). The View class also 
     provides a support function for determining the 
     bounding box of a given object in the class.
     A View class object must have a 
     Workstation class parent.
 - View object
 -  A viewable object.
 - viewport
 -  For View objects, the viewport is a rectangular 
     subregion of NDC space that 
     specifies where the View object will be placed when 
     drawn. The precise meaning of the viewport depends on the 
     View object. For example, for XyPlot objects, the viewport 
     specifies where the grid containing the curves will be placed, 
     and the labeling (if any) will be drawn outside of the 
     viewport. On the other hand, for TextItem objects, the viewport will 
     be a rectangle surrounding the text string.
 - visualization block
 - NCL: A group of NCL resources specified in either an NCL create, setvalues, or getvalues statement. Visualization blocks are used to create, modify, or inquire about the values of resources of objects.
 
W
- workstation
 -  Used in NCL and HLU terminology to mean a 
     valid output device such as an X Window System display, a 
     PostScript file, a PDF files, or an NCGM.
 - workstation class
 -  A class that provides interfaces to specific output devices.
 - wrapit interface block
 -  A sequence of Fortran 77 statements that specify a procedure and
     its arguments, similar to C function prototypes and Fortran 90
     interface blocks.  Wrapit interface blocks are used by
     wrapit77, a program for generating wrappers.
 - wrapper function
 - A C function that provides an interface between NCL and an existing Fortran or C subroutine or function. The wrapper intercepts an NCL function or procedure, does the appropriate argument checks and conversions, then calls the existing code.
 
X
- XY plot
 - A plot containing curves made up of X/Y coordinate pairs. It may also contain tick marks, titles, and/or a legend.
 
Y
Z