(The NCAR Command Language (NCL), a product of the Computational & Information Systems Laboratory at the National Center for Atmospheric Research (NCAR) and sponsored by the National Science Foundation, is a free interpreted language designed specifically for scientific data processing and visualization.

NCL has robust file input and output. It can read and write netCDF-3, netCDF-4 classic, netCDF-4, HDF4, binary, and ASCII data. It can read HDF-EOS2, HDF-EOS5, GRIB1, GRIB2, and OGR files (shapefiles, MapInfo, GMT, Tiger). It can be built as anOPeNDAP client.

NCL visualizations are world class and highly customizable.

Both NCL and NCAR Graphics are released as one package in source code or pre-compiled binary format. See the download page for more information. NCAR Graphics still has its own home page.

The software comes with useful command line tools:

  • ncl_filedump - prints the contents of supported files (netCDF, HDF4/5, GRIB1, GRIB2, HDF-EOS2/5, and shapefile, and CCM History Tape)
  • ncl_convert2nc - converts one or more GRIB1, GRIB2, HDF4/5, HDF-EOS2/5, or shapefile files to netCDF formatted files.
  • WRAPIT - allows you to wrap Fortran 77/90 routines and call them from ncl.

NCL and NCAR Graphics run on UNIX-based operating systems, including Linux, MacOSX, and Cygwin/X running on Windows. See this document on running NCL in the NCAR Yellowstone environment.

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 options to set options or variables on the NCL command line.

The power and utility of the language are evident in three main components:

  • 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, standard deviations, sin, cosine, log, min, max, etc.
  • retrieving and converting date information
  • drawing primitives (lines, filled areas, and markers), wind barbs, weather map symbols, isosurfaces, and other graphical objects
  • robust file handling
  • 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)
  • retrieving environment variables and executing system commands

NCL supports calling C and Fortran external routines, which makes NCL infinitely configurable.

NCL uses several other publicly-available software packages and databases for some of its file I/O, data analyses routines, and high-resolution coastlines.

How to cite NCL

In a new NCAR initiative to promote transparent and easy access to scientific resources, NCL has been assigned a Digital Object Identifier (DOI). DOIs are persistent identifiers for web-based resources. The NCL DOI, when used in URL form, http://dx.doi.org/10.5065/D6WD3XH5, provides a persistent link to the NCL web page. The benefit of DOIs is that they are widely accepted by academic publishers as citable locators for scholarly objects.

Please cite NCL in your publications using the following citation (line breaks were added for clarification but the citation should be on one line):

  The NCAR Command Language (Version 6.3.0) [Software]. (2016). 
  Boulder, Colorado: UCAR/NCAR/CISL/VETS. http://dx.doi.org/10.5065/D6WD3XH5

You will need to update the NCL version and year as appropriate.



HPC Resources supporting module
BA-HPC Cy-Tera