Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

NetCDF Java Library


The NetCDF-Java Library is a Java interface to NetCDF files.  It is built on the ucar.ma2 package, which is a stand-alone Java package for multidimensional arrays of primitive types.

The library is freely available and the source code is released under the GNU Lesser General Public License (LGPL). Version 4.1 will be released using the (MIT-style) netCDF C library license.

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? All libraries (except toolsUI.jar) require an SLF4J library such as slf4j-jdk14.jar (14k) or nlog4j.jar (202k). We need to keep logging unbundled so your application has a choice of logging. All but the minimal library also need (at least) the JDOM library. There are a number of optional jars that you might want to use, see the README for information. The toolsUI jar has everything, use it if you aren't concerned about size.

Why do we designate this alpha? The stability and code quality is moderately good. However, until we completely implement the NetCDF-4 reader, we are not sure if the API might need some (probably minor) changes. A stable NetCDF-4 format was released April 2007, and we expect that the next stable version will incorporate this format and the APIs will be final.

Which version of Java? All active versions (2.2.22 and 4.0) require Java 5 or above. Performance and stability is improved in version 6, and so the latest version of Java 6 is recommended. NetCDF-Java version 4.1 will likely require Java 1.6. If you are stuck with Java 1.4, you can use the NetCDF-Java 2.2.20 release, but no support or bug fixes are done on that version.

Current Stable version 2.2.22 (requires Java 1.5+). Bug fixes only, no new development.

Development version 4.0 (requires Java 1.5+)

This version is ALPHA, do not rely on its API until announced as BETA.

Last Stable version 2.2.20 for Java 1.4.2+

File format types

The NetCDF-Java library version 2.2 can read the following file types and remote access protocols:

NetCDF-Java library version 4.0 adds

Features not yet available:

Related Documents:

Coordinate Systems

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

Data Types

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

Software libraries used by the Netcdf-Java library:

Applications using the Netcdf-Java library


Miscellaneous Resources


This document is maintained by John Caron and was last updated on Oct 22, 2008
 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Office of Programs University Corporation for Atmospheric Research (UCAR)   Unidata is a member of the UCAR Office of Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690