NCAR Command Language

The NCAR Command Language (NCL) is a free interpreted language designed by the National Center for Atmospheric Research for scientific visualization and data processing. NCL has robust file input and output. It can read in netCDF, HDF4, HDF4-EOS, GRIB, binary and ASCII data.

It runs on many different operating systems including Solaris, AIX, IRIX, Linux, Mac OS X, Tru64 Unix, and Cygwin/X 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 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
 * 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, 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, Fourier coefficients, singular value decomposition, averages, and standard deviations.
 * drawing primitives (lines, filled areas, and markers), wind barbs, weather map symbols, isosurfaces, 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 and Fortran external routines, which makes NCL infinitely configurable.