User-Contributed netCDF Software

Unidata makes available for anonymous FTP (in the pub/netcdf/contrib/ directory of a collection of files of freely available, user-contributed software and documentation related to the netCDF library. Unidata hasn't necessarily tested this software and makes it available as is. This catalog of user-contributed software is available to from

Criteria for software or documentation that is appropriate for the user-contributed collection:

Other netCDF-related software packages or utilities that do not meet these criteria (for example large freely-available packages or commercial software) are listed in

Here is what is currently available:

Dan Packman's script that will convert "libnetcdf.a" to a shared library on AIX (IBM RS6000). Also includes instructions for relinking ncdump and ncgen to make them smaller.
Ken Prada's contribution of compiled libraries for MSDOS/Borland platforms, including XDR and netcdf libraries for all four memory models.
A program to efficiently convert files in Community Climate Model (CCM) history tape format to netCDF following the CSM netCDF conventions. This tool can handle CCM histroy tape files written with Cray or IEEE.
Don Hooper's version of ncdump that interprets udunits times (e.g., seconds since a basetime) in a more human-readable fashion (date and time).
Ata Etemadi's utility functions for GNU emacs, cdl-get-file and cdl-put-region, that run input through ncdump or run region through ncgen.
David Steven's programs that convert netCDF data into AVS, TECPLOT, PVWAVE, SPLUS, and NCAR GRAPHICS formats.
Harvey Davies' File Array Notation (FAN) package for extracting and manipulating array data from netCDF files. Includes nc2text, text2nc, and ncrob utilities for printing selected data from netCDF arrays, copying ASCII data into netCDF arrays, and performing various operations (sum, mean, max, min, product, ...) on netCDF arrays.
Gunter Spranz's archive of Win32 binaries of the FAN utilites, using netcdf-3.5-beta3, udunits-1.11.7 and fan-2.0.3.
Phil Miller's MATLAB interface to the FAN library for extracting and manipulating array data from netCDF files. It includes two MEX functions, nc2mat and mat2nc, that are simple gateway functions to the FAN library and are MEX file equivalents to the FAN utilities nc2text and text2nc.
Fortran 2003 interface
Rick Weed's experimental FORTRAN 2003 Interfaces for netCDF 3, using the new Fortran 2003 C interoperabilty. This eliminates the need for the cfortran.h file that captures the diverse ways various compilers call C functions from Fortran. For more information about the benefits of this approach, see the documentation (PDF).
Barry Schwartz's program to generate a Fortran program to read a netCDF file. It opens a specified netCDF file and generates the necessary Fortran code to declare the corresponding Fortran dimensions and variables and read all the data into the Fortran variables.
Dirk Slawinski's instructions for compiling netCDF with Lahey compilers for Linux and Windows
Several ports to older Apple Macintosh platforms (before Mac OS X).
William Spencer's changes recommended to netCDF version 2.3 to build the library and programs using Microsoft's C++/7.0 compiler.
Matt Segur's IDL procedure that provides an X Window browser for netCDF data, including plotting a one- or two-dimensional cross-section of a selected variable, contour, wire-frame, and surface plots, and animation along a selected dimension.
Chuck Denham's program to concatenate two netCDF files along their record dimension. The files must be identical in variable names and dimensions. Each variable must have a leftmost NC_UNLIMITED record dimension.
Shao Yi Lee's program that extracts data from netCDF files in the form of arbitrary shapes and time-trajectories (hyperslabs). This subset of data is usually what the user is interested in (weather balloons, airplanes, satellites). The trajectory data can be stored in files for repeated extraction from different data sets, as well as the output data. The program also allows for conversion functions between the indexes of the stored data and output format. The included extraction module is for WRF output, but it can be customized to work with other types of input files.
ncML: Proposal of an XML Interface for NetCDF Data by Lorenzo Bigagli and Stefano Nativi providing a new DTD for an XML representation of netCDF data and a Java converter that generates a conforming representation from a netCDF file.
a program to view time-series data stored in netCDF files that conform to the NCAR-RAF/nimbus conventions. The source is available from
Bear Gile's program to convert a netCDF file into a portable pixmap. NCTOPNM converts a NetCDF "image" field (a two-dimensional (finite) or three-dimensional (unlimited) field of "char" or "byte" data) into a PNM portable pixmap. It can use a pseudo-color or greyscale colormap in the same file or a different file, add a colorbar to the lower left corner of the image, and "burn in" a map background.
David Pierce's visual browser for netCDF data. Ncview is an X11 application that displays a 2-dimensional color representation of single precision floating point data in a netCDF file. You can animate the data in time (making simple movies), flip or enlarge the picture, scan through various axes, change colormaps, etc.
Harry Edmon's interfaces to ncvarget and ncvarput that convert (optionally packed) data to floating point, handling missing data and units conversions.
Ed Hartnett's VB.NET class that wraps the netCDF dll, plus an example that uses it.
Rick Danielson's filter for ncdump output that replaces udunits times with the corresponding date and time in a more readable form YYYY-MM-DD hh:mm:ss.
Chuck Denham's program to convert a flat ASCII table to a netCDF file. The program scans a flat ASCII table for the name and most general data type of each column. It then creates and populates a netCDF file with the data.
Mike Perryman's makefiles for building netCDF on DOS or OS/2 platforms using the WATCOM compilers. These files could be used to drive other DOS or OS/2 compilers with minimal modification since the compiler, linker and librarian specifications are contained only in the base makefile. This is packaged as a PKZIP file containing makefiles named "WATCOM.MK" for the base netCDF directory and subdirectories.
Bear Giles XML toolset for netCDF, including ncxdump to convert netCDF to XML and ncxgen, to convert the resulting XML back to netCDF.
This page is maintained by Russ Rew