NetCDF Java Library


The NetCDF-Java Library is a Java interface to NetCDF files, as well as to many other types of scientific data formats. 

The library is freely available and the source code is released under the (MIT-style) netCDF C library license. Previous versions use the GNU Lesser General Public License (LGPL).

The preferred place to ask questions, discuss problems and features and get support is in the NetCDF-Java email list, which you can subscribe to from this page. Also you might want to search or browse previous netCDF-Java support questions.


Overview

The NetCDF-Java library implements a Common Data Model (CDM), a generalization of the NetCDF, OpenDAP and HDF5 data models. The library is a prototype for the NetCDF-4 project, which provides a C language API for the "data access layer" of the CDM, on top of the HDF5 file format. The NetCDF-Java library is a 100% Java framework for reading netCDF and other file formats into the CDM, as well as writing to the netCDF-3 file format. The NetCDF-Java library also implements NcML, which allows you to add metadata to CDM datasets, as well as to create virtual datasets through aggregation.

Which jar files do I need? See Jar Dependencies for explanation of which library you want.

Current Stable release version 4.3 (requires Java 6)

CDM/TDS source is now hosted on GitHub, and the source jar is no longer available, and ant builds are no longer supported. To build version 4.3 from source with maven:

git clone git://github.com/Unidata/thredds.git thredds
cd thredds
mvn install

If you want to do careful JAR inclusion, see Jar Dependencies for explanation of which jars you need. Most needs can be fulfilled using the complete CDM or ToolsUI JARs:

File format types

The NetCDF-Java library can read these file types and remote access protocols.

Note to GRIB users:

If you are depending on the CDM/TDS to read GRIB files, you must upgrade to 4.3 AND closely examine the output of any files that you really care about. Check parameter names and everything else against the original documentation if possible, especially if there is any local parameter use. Please send us any files you suspect might be incorrectly read by the CDM library. Note that we will not backport fixes to version 4.2. Note that the variable names in 4.3 will be different from those in 4.2.

Evolving documentation for GRIB is at:

Caveats and not-so-stable APIs:

Related Documents:

Metadata:

WebEx demo

You may need to first download the free WebEx Player.

CF Conventions

Coordinate Systems

Working notes and documentation on the coordinate system layer of the CDM

Feature Types

Working notes and documents on the scientific feature type layer of the CDM

Streaming NetCDF (Experimental)

Software libraries used by the Netcdf-Java library:

Applications using the Netcdf-Java library (partial list):


Miscellaneous Resources


Older versions (not supported)

Previous stable release version 4.2 (requires Java 6)

See Jar Dependencies for explanation of which library you want:

Building from source with maven

The currently supported way to build version 4.2 from source with maven:

svn co http://svn.unidata.ucar.edu/repos/thredds/branch/RB-TDS-4.2/ thredds
cd thredds
mvn install

You can also get the 4.2.28 build at http://maven.geotoolkit.org/edu/ucar/netcdf/

Last version for Java 5 (4.0.49)

Last version for Java 4.2 (2.2.20)


This document is maintained by John Caron and was last updated May 2013