User-Contributed netCDF Software
makes available for anonymous
FTP (in the pub/netcdf/contrib/
directory of ftp.unidata.ucar.edu) 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 http://www.unidata.ucar.edu/software/netcdf/Contrib.html
Criteria for software or documentation that is appropriate for the user-contributed
- General usefulness to a significant part of the netCDF community
- Small size
- Infrequent need for updates
- Free availability
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 http://www.unidata.ucar.edu/software/netcdf/software.html.
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
- 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
- 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 http://raf.atd.ucar.edu/Software/ncplot_dnld.html.
- 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,
- 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