GEOS-Chem reads and writes data using the netCDF file format. NetCDF is a self-describing file format that can store data fields as well as the relevant "metadata", or information about the contents of the file. Types of metadata include descriptive names, units, horizontal and vertical, coordinates, file creation date/time, file history, etc.
The netCDF frequently asked questions (FAQ) guide gives this short overview of netCDF:
NetCDF (network Common Data Form) is a set of interfaces for array-oriented data access and a freely distributed collection of data access libraries for C, Fortran, C++, Java, and other languages. The netCDF libraries support a machine-independent format for representing scientific data. Together, the interfaces, libraries, and format support the creation, access, and sharing of scientific data.
NetCDF data is:
- Self-Describing. A netCDF file includes information about the data it contains.
- Portable. A netCDF file can be accessed by computers with different ways of storing integers, characters, and floating-point numbers.
- Scalable. A small subset of a large dataset may be accessed efficiently.
- Appendable. Data may be appended to a properly structured netCDF file without copying the dataset or redefining its structure.
- Sharable. One writer and multiple readers may simultaneously access the same netCDF file.
- Archivable. Access to all earlier forms of netCDF data will be supported by current and future versions of the software.
There are two commonly-used major versions of netCDF in use today:
The major difference between the two versions is that netCDF-4 relies on the HDF5 library "under the hood" whereas netCDF-3 does not. For this reason, netCDF-4 can be used to store more data per file than netCDF-3.
A netCDF installation contains library files (ending in .a) , which hold compiled utility routines meant to be called from programs written in C or Fortran. In netCDF-4.1 and prior versions, the C-language library file (libnetcdf.a) and the Fortran-language library file (libnetcdff.a) were always installed into the same folder by default. But starting with netCDF-4.2, the netCDF Fortran libraries now must be built from a separate distribution package. Because of this new configuration, you might find that the libnetcdff.a (Fortran) and libnetcdf.a (C) library files are stored in separate folders on your system. Ask your IT staff for more information about how netCDF is installed on your system.
If you are using GEOS-Chem on the Amazon EC2 cloud, then a version of netCDF will ship with the machine image that you'll use to initialize your computational environment. Therefore, you will not have to install netCDF yourself (unless you are an advanced user and need a specific version for a particular application.)
If you are using GEOS-Chem on your institution's computer system, chances are that your IT staff will have already installed one or more netCDF library versions that you can use. For users that do not have the netCDF libraries intstalled on their system, the GEOS-Chem Support Team has constructed the GEOS-Chem-Libraries installer package. See the Installing libraries for GEOS-Chem wiki page for detailed instructions. Quick links to subsections of that wiki page are included below: