[Next] [Previous] [Top] [Contents] [Index] [netCDF Home Page][Unidata Home Page]
NetCDF User's Guide for C
11 Answers to Some Frequently Asked Questions
This chapter contains answers to some of the most frequently asked questions about netCDF. A more comprehensive and up-to-date FAQ document for netCDF is maintained at http://www.unidata.ucar.edu/packages/netcdf/faq.html
.
What Is netCDF?
NetCDF (network Common Data Form) is an interface for array-oriented data access and a freely-distributed collection of software libraries for C, FORTRAN, C++, and Perl that provide implementations of the interface. The netCDF software was developed by Glenn Davis, Russ Rew, and Steve Emmerson at the Unidata Program Center in Boulder, Colorado, and augmented by contributions from other netCDF users. The netCDF libraries define a machine-independent format for representing arrays. Together, the interface, libraries, and format support the creation, access, and sharing of array-oriented data.
NetCDF data is:
- Self-describing. A netCDF dataset includes information about the data it contains.
- portable. A netCDF dataset is represented in a form that can be accessed by computers with different ways of storing integers, characters, and floating-point numbers.
- Direct-access. A small subset of a large dataset may be accessed efficiently, without first reading through all the preceding data.
- Appendable. Data can be appended to a netCDF dataset along one dimension for multiple variables without copying the dataset or redefining its structure. The structure of a netCDF dataset may also be changed, though in some cases this is implemented by copying the data.
- Sharable. One writer and multiple readers may simultaneously access the same netCDF dataset.
How do I get the netCDF software package?
Source distributions are available via anonymous FTP from the directory
ftp://ftp.unidata.ucar.edu/pub/netcdf/
.
Files in that directory include:
netcdf.tar.Z | A compressed tar file of source code for the latest general release. |
netcdf-beta.tar.Z | The current beta-test release. |
Binary distributions for some platforms are available from the directory
ftp://ftp.unidata.ucar.edu/pub/binary/
Source for the Perl interface is available as a separate package, via anonymous FTP from the directory
ftp://ftp.unidata.ucar.edu/pub/netcdf-perl/
.
Is there any access to netCDF information on the World Wide Web?
Yes, the latest version of this FAQ document as well as a hypertext version of the NetCDF User's Guide and other information about netCDF are available from
http://www.unidata.ucar.edu/packages/netcdf
.
What has changed since the previous release?
Version 3 keeps the same format, but introduces new interfaces for C and FORTRAN that provide automatic type conversion and improved type safety. For more details, see:
http://www.unidata.ucar.edu/packages/netcdf/release-notes.html
.
Is there a mailing list for netCDF discussions and questions?
Yes. For information about the mailing list and how to subscribe or unsubscribe, send a message to majordomo@unidata.ucar.edu
with no subject and with the following line in the body of the message:
info netcdfgroup
Who else uses netCDF?
The netCDF mailing list has almost 500 addresses (some of which are aliases to more addresses) in fifteen countries. Several groups have adopted netCDF as a standard way to represent some forms of array-oriented data, including groups in the atmospheric sciences, hydrology, oceanography, environmental modeling, geophysics, chromatography, mass spectrometry, and neuro-imaging.
A description of some of the projects and groups that have used netCDF is available from
http://www.unidata.ucar.edu/packages/netcdf/usage.html
.
What is the physical format for a netCDF files?
See Chapter 9 "NetCDF File Structure and Performance," page 95, for an explanation of the physical structure of netCDF data at a high enough level to make clear the performance implications of different data organizations. See Appendix B "File Format Specification," page 115, for a detailed specification of the file format.
Programs that access netCDF data should perform all access through the documented interfaces, rather than relying on the physical format of netCDF data. That way, any future changes to the format will not require changes to programs, since any such changes will be accompanied by changes in the library to support both the old and new versions of the format.
What does netCDF run on?
The current version of netCDF has been tested successfully on the following platforms:
- AIX-4.1
- HPUX-9.05
- IRIX-5.3
- IRIX64-6.1
- MSDOS (using gcc, f2c, and GNU make)
- OSF1-3.2
- OpenVMS-6.2
- OS/2 2.1
- SUNOS-4.1.4
- SUNOS-5.5
- ULTRIX-4.5
- UNICOS-8
- Windows NT-3.51
What other software is available for netCDF data?
Utilities available in the current netCDF distribution from Unidata are ncdump
, for converting netCDF datasets to an ASCII human-readable form, and ncgen
for converting from the ASCII human-readable form back to a binary netCDF file or a C or FORTRAN program for generating the netCDF dataset.
Several commercial and freely available analysis and data visualization packages have been adapted to access netCDF data. More information about these packages and other software that can be used to manipulate or display netCDF data is available from
http://www.unidata.ucar.edu/packages/netcdf/software.html
.
What other formats are available for scientific data?
The Scientific Data Format Information FAQ, available from http://fits.cv.nrao.edu/traffic/scidataformats/faq.html
, provides a good description of other access interfaces and formats for array-oriented data, including CDF and HDF.
How do I make a bug report?
If you find a bug, send a description to support@unidata.ucar.edu
. This is also the address to use for questions or discussions about netCDF that are not appropriate for the entire netcdfgroup
mailing list.
How do I search through past problem reports?
A search form is available at the bottom of the netCDF home page providing a full-text search of the support questions and answers about netCDF provided by Unidata support staff.
How does the C++ interface differ from the C interface?
It provides all the functionality of the C interface (except for the mapped array access of nc_put_varm_type
and nc_get_varm_type
). With the C++ interface (http://www.unidata.ucar.edu/packages/netcdf/cxxdoc_toc.html
) no IDs are needed for netCDF components, there is no need to specify types when creating attributes, and less indirection is required for dealing with dimensions. However, the C++ interface is less mature and less-widely used than the C interface, and the documentation for the C++ interface is less extensive, assuming a familiarity with the netCDF data model and the C interface.
How does the FORTRAN interface differ from the C interface?
It provides all the functionality of the C interface. The FORTRAN interface uses FORTRAN conventions for array indices, subscript order, and strings. There is no difference in the on-disk format for data written from the different language interfaces. Data written by a C language program may be read from a FORTRAN program and vice-versa.
How does the Perl interface differ from the C interface?
It provides all the functionality of the C interface. The Perl interface (http://www.unidata.ucar.edu/packages/netcdf-perl/
) uses Perl conventions for arrays and strings. There is no difference in the on-disk format for data written from the different language interfaces. Data written by a C language program may be read from a Perl program and vice-versa.
- What Is netCDF?
-
- How do I get the netCDF software package?
-
- Is there any access to netCDF information on the World Wide Web?
-
- What has changed since the previous release?
-
- Is there a mailing list for netCDF discussions and questions?
-
- Who else uses netCDF?
-
- What is the physical format for a netCDF files?
-
- What does netCDF run on?
-
- What other software is available for netCDF data?
-
- What other formats are available for scientific data?
-
- How do I make a bug report?
-
- How do I search through past problem reports?
-
- How does the C++ interface differ from the C interface?
-
- How does the FORTRAN interface differ from the C interface?
-
- How does the Perl interface differ from the C interface?
-
NetCDF User's Guide for C - 5 JUN 1997
[Next] [Previous] [Top] [Contents] [Index] [netCDF Home Page][Unidata Home Page]