NCAR Command Language
Encyclopedia
The NCAR Command Language (NCL) is a free interpreted language
Interpreted language
Interpreted language is a programming language in which programs are 'indirectly' executed by an interpreter program. This can be contrasted with a compiled language which is converted into machine code and then 'directly' executed by the host CPU...

 designed by the National Center for Atmospheric Research
National Center for Atmospheric Research
The National Center for Atmospheric Research has multiple facilities, including the I. M. Pei-designed Mesa Laboratory headquarters in Boulder, Colorado. NCAR is managed by the nonprofit University Corporation for Atmospheric Research and sponsored by the National Science Foundation...

 for scientific visualization
Scientific visualization
Scientific visualization is an interdisciplinary branch of science according to Friendly "primarily concerned with the visualization of three-dimensional phenomena , where the emphasis is on realistic renderings of volumes, surfaces, illumination sources, and so forth, perhaps...

 and data processing. NCL has robust file input and output. It can read in netCDF
NetCDF
NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. The project homepage is hosted by the Unidata program at the University Corporation for Atmospheric Research...

, HDF4
Hierarchical Data Format
Hierarchical Data Format is the name of a set of file formats and libraries designed to store and organize large amounts of numerical data...

, HDF4-EOS, GRIB
GRIB
GRIB is a mathematically concise data format commonly used in meteorology to store historical and forecast weather data...

, binary and ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

 data.

It runs on many different operating systems including Solaris
Solaris Operating System
Solaris is a Unix operating system originally developed by Sun Microsystems. It superseded their earlier SunOS in 1993. Oracle Solaris, as it is now known, has been owned by Oracle Corporation since Oracle's acquisition of Sun in January 2010....

, AIX, IRIX
IRIX
IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, Tru64 Unix
Tru64 UNIX
Tru64 UNIX is a 64-bit UNIX operating system for the Alpha instruction set architecture , currently owned by Hewlett-Packard . Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation , where it was known as Digital UNIX .As its original name suggests, Tru64...

, and Cygwin/X
Cygwin/X
Cygwin/X is an implementation of the X Window System that runs under Microsoft Windows. It is part of the Cygwin project, and is installed using Cygwin's standard setup system...

 running on Windows. It's available free in binary format.

NCL can be run in interactive mode, where each line is interpreted as it is entered at your workstation, or it can be run in batch mode
Batch processing
Batch processing is execution of a series of programs on a computer without manual intervention.Batch jobs are set up so they can be run to completion without manual intervention, so all input data is preselected through scripts or command-line parameters...

 as an interpreter of complete scripts. You can also use command line arguments to set options or variables on the NCL command line.

The power and utility of the language are evident in three areas:
  • file input and output
  • data analysis
    Data analysis
    Analysis of data is a process of inspecting, cleaning, transforming, and modeling data with the goal of highlighting useful information, suggesting conclusions, and supporting decision making...

  • visualization


NCL has many features common to modern programming languages, including types, variables, operators, expressions, conditional statements, loops, and functions and procedures.

In addition to common programming features, NCL also has features that are not found in other programming languages, including features that handle the manipulation of metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...

, the configuration of the visualizations, the import of data from a variety of data formats, and an algebra that supports array operations.

NCL comes with many useful built-in functions and procedures for processing and manipulating data. There are over 600 functions and procedures that include routines for:
  • use specifically with climate and model data
  • computing empirical orthogonal functions
    Orthogonal functions
    In mathematics, two functions f and g are called orthogonal if their inner product \langle f,g\rangle is zero for f ≠ g. Whether or not two particular functions are orthogonal depends on how their inner product has been defined. A typical definition of an inner product for functions is...

    , Fourier coefficients
    Fourier series
    In mathematics, a Fourier series decomposes periodic functions or periodic signals into the sum of a set of simple oscillating functions, namely sines and cosines...

    , singular value decomposition
    Singular value decomposition
    In linear algebra, the singular value decomposition is a factorization of a real or complex matrix, with many useful applications in signal processing and statistics....

    , averages, and standard deviation
    Standard deviation
    Standard deviation is a widely used measure of variability or diversity used in statistics and probability theory. It shows how much variation or "dispersion" there is from the average...

    s.
  • drawing primitive
    Geometric primitive
    The term geometric primitive in computer graphics and CAD systems is used in various senses, with the common meaning of the simplest geometric objects that the system can handle . Sometimes the subroutines that draw the corresponding objects are called "geometric primitives" as well...

    s (lines, filled areas, and markers), wind barbs, weather map symbols, isosurface
    Isosurface
    An isosurface is a three-dimensional analog of an isoline. It is a surface that represents points of a constant value within a volume of space; in other words, it is a level set of a continuous function whose domain is 3D-space.Isosurfaces are normally displayed using computer graphics, and are...

    s, and other graphical objects
  • 1-dimensional, 2-dimensional, and 3-dimensional interpolation, approximation, and regridding
  • facilitating computer analysis of scalar and vector global geophysical quantities (most are based on the package known as Spherepack)


NCL supports calling C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 and Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

external routines, which makes NCL highly configurable.

Sources

The source of this material is the University Corporation for Atmospheric Research (UCAR). © 2002 University Corporation for Atmospheric Research. All Rights Reserved. Used with permission according to the UCAR Terms of Use.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK