Go to the previous, next section.
Here we collect, in one place, answers to some of the most frequently asked questions about netCDF availability and support. A more comprehensive and up-to-date list of answers to frequently asked questions about netCDF is maintained in a file available for anonymous FTP access from:
host: ftp.unidata.ucar.edu file: pub/netcdf/FAQ
NetCDF (network Common Data Form) is an interface for scientific data access and a freely-distributed software library that provides an implementation of the interface. It was developed by Glenn Davis, Russ Rew, and Steve Emmerson at the Unidata Program Center in Boulder, Colorado. The netCDF library also defines a machine-independent format for representing scientific data. Together, the interface, library, and format support the creation, access, and sharing of scientific data.
NetCDF data is:
Via anonymous FTP from
host: ftp.unidata.ucar.edu file: pub/netcdf/netcdf.tar.Z
Make sure the file is transmitted in BINARY mode. This is version 2.3.2, last updated in June 1993, or later. There may also be some patch files available from the same directory to fix bugs found before the next version is released.
Version 2.3 of netCDF has been tested on the following platforms:
The experience of outside developers indicates that netCDF is relatively easy to port to any system that has a C compiler and an XDR library (eXternal Data Representation, used for NFS and usually supplied by vendors).
CDF was developed at the NASA Space Science Data Center at Goddard, and is freely available. It was originally a VMS FORTRAN interface for scientific data access. Unidata reimplemented the library from scratch to use XDR for a machine-independent representation, designed the CDL text representation for netCDF data, wrote a User's Guide and made other additions including aggregate data access, single-file implementation, named dimensions, and variable-specific attributes.
NetCDF and CDF have evolved independently. CDF now supports many of the same features as netCDF (aggregate data access, XDR representation, single-file representation, variable-specific attributes), but some differences remain (netCDF doesn't support native-mode representation, CDF doesn't support named dimensions).
The National Center for Supercomputing Applications (NCSA) developed the HDF software and makes it freely available. HDF is an extensible data format for self-describing files that was developed independently of netCDF. Applications and utilities based on HDF are available that support raster-image manipulation and display and browsing through multidimensional scientific data. The HDF software includes a package of routines for accessing each HDF data type, as well as a lower-level interface for building packages to support new types. HDF supports both C and Fortran interfaces, and it has been successfully ported to a wide variety of machine architectures and operating systems. HDF emphasizes a single common format for data, on which many interfaces can be built.
NCSA has implemented software that provides a netCDF interface to HDF. With this software, it is possible to use the netCDF calling interface to place data into an HDF file. The netCDF calling interface has not changed and netCDF files stored in XDR format are readable, so existing programs and data will still be usable (although programs will need to be relinked to the new library). There is currently no support for the mixing of HDF and netCDF structures. For example, a raster image can exist in the same file as a netCDF object, but you have to use the Raster Image interface to read the image and the netCDF interface to read the netCDF object. The other HDF interfaces are currently being modified to allow multi-file access, closer integration with the netCDF interface will probably be delayed until the end of that project.
Eventually, it may be possible to integrate netCDF objects with the rest of the HDF tool suite. Such an integration will then allow tools written for netCDF and tools written for HDF to both interact intelligently with the new data files.
There are many ways to represent the same information in any general-purpose data model. Choices left up to the user in the case of netCDF include which information to represent as variables or as variable attributes; what names to choose for variables, dimensions, and attributes; what order to use for the dimensions of multidimensional variables; what variables to include in the same netCDF file; and how to use variable attributes to capture the structure and meaning of data. We provide some guidelines in the NetCDF User's Guide (See section Differences between Attributes and Variables), but we've found that a little experience helps. Occasionally we have decided it was useful to change the structure of netCDF files after experience with how the data is used.
We have no plans to add data compression to netCDF (although we do plan
to eventually add a form of transparent data packing on write and
unpacking on read whenever the reserved attributes _Nbits
,
_Scale
, and _Offset
are defined).
Hyperslab access and direct access to individual array values conflict with most simple compression schemes. With netCDF, the elements of an array variable can be filled in any order or as cross-sections in any direction. NetCDF permits writing elements in one order and reading them later in different orders.
Some compression methods require that all the data to be compressed are known before starting the compression. Techniques like run-length encoding or anything that depends on exploiting similarities in nearby values can't be used if nearby values aren't all known at the time some of the data are to be written.
An alternative that can be implemented above the netCDF library is to adopt a convention for compressed data that uses a "compression" attribute to encode the method of compression, e.g.
x:compression = "rle" ;for run-length encoding of the data in a variable
x
. Then when you
write the data, compress them into a bland array of bytes and write all
the bytes. Note that it would be difficult to define the size of such a
variable in advance, since its compressed size depends on its values.
You would also have to give up on hyperslab access for such variables,
but instead read the compressed array in all at once and uncompress it
before using it.
The only utilities available in the current netCDF distribution are
ncdump and ncgen, for converting netCDF files to an ASCII human-readable
form and for converting from the ASCII human-readable form back to a
binary netCDF file or a C or FORTRAN program for generating the netCDF
file. In addition, the first release of the netcdf operators package,
containing a few general-purpose netCDF operators, is available from
ftp.unidata.ucar.edu
in the file `ncopers.tar.Z'. See the
description of the file `utilities.txt' in the answer to the
question above on important files in `/pub/netcdf' on
ftp.unidata.ucar.edu
for more information.
Yes - there are two. The mailing list
netcdfgroup@unidata.ucar.edu
has over two hundred readers and
gateways; you can subscribe or unsubscribe to the mailing list by
sending mail to netcdfgroup-adm@unidata.ucar.edu
.
If you would prefer to get only a single daily digest of the postings to
the netcdfgroup
mailing list, subscribe instead to the
netcdfdigest
mailing list by sending a request to
netcdfdigest-adm@unidata.ucar.edu
.
All the postings to the netcdfgroup
mailing list are archived in the
file `mail-archives/netcdfgroup' available via anonymous FTP from
ftp.unidata.ucar.edu
.
If you find a bug, please send a description to
support@unidata.ucar.edu
.
This is also a better address to use for questions or discussions about
netCDF that you think are not appropriate for the entire
netcdfgroup
mailing list.
The netcdfgroup and netcdfdigest mailing lists have 290 addresses, some of which are aliases to more addresses, in fifteen countries. Users in several groups have adopted netCDF as a standard way to represent at least some kinds of scientific datasets.
Yes, `netcdf-group.src' is a WAIS source that provides a full-text search of the netcdfgroup mailing list archive and is registered with think.com for general use.
Another WAIS source, `unidata-support-netcdf.src', provides a full-text search of the support questions and answers about netCDF provided by Unidata support staff.
Both of these WAIS servers and access to other information about Unidata can be accessed most easily through the Unidata gopher server at gopher.unidata.ucar.edu.
Go to the previous, next section.