 NetCDF-Java Library
 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. Writing to the netCDF-4 file format requires installing the netCDF C library. 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. The THREDDS Data Server (TDS) is built on top of the NetCDF-Java library.
CDM/TDS source is  hosted on GitHub.
To build the latest stable version from source or contribute code  to the THREDDS project, see here. Most projects use  netcdfAll.jar or toolsUI.jar (see below for links), or include the desired artifacts in their maven or gradle builds.  See Build Dependencies for  details.
Unidata CDM/THREDDS Software Engineering tools:
Current stable release version 5 (requires Java 8)
Current maintenance release version 4.6 (requires Java 8) 
  - The complete netCDF library jar implements the full CDM model, with all
    dependent jars included. 
- The toolsUI.jar also includes UI classes, and allows you to run the netCDF
    ToolsUI application directly from it such as "java -Xmx1g -jar toolsUI.jar"
- Public javadoc. This is the public interface. Future changes to the API will attempt to remain backwards compatible
    with this API. 
- All javadoc. This is the javadoc for all packages and all methods except private. CAREFUL, much of this will
    change. 
- Try out the  4.6 version of ToolsUI application: launch from webstart.
- Unidata public Maven repository for maven artifacts 
- All source is on GitHub
File format types
The NetCDF-Java library can read various file types and remote access
  protocols.
Notes to GRIB users:
  - You must use 4.6+  branch to read GRIB files. Many bug fixes and improvements are on that branch. Other branches are not supported.
- If your GRIB files are using non-WMO-standard tables, please closely examine  the output from the CDM and report  problems. Obtain the tables from the producer is possible and send them to us.
- Indexing has changed since 4.3 (this will be detected automatically). 
- Evolving documentation for GRIB is at:
  
Caveats and not-so-stable APIs:
  - Writing to netCDF-3 format is supported, but extended features in the CDM, e.g. groups, structures,
    long data types are not yet supported.
  
- Writing to netCDF-4 format is supported, if you have the netCDF C library loaded. 
- The catalog API will be redone, however the current API will remain supported if possible.
Related Documents:
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)
Metadata:
Miscellaneous Resources
  - Netcdf-Java Blog
- Talk at netCDF workshop 2012 (pptx) 
- On the suitability of BUFR and GRIB for archiving data (short paper Dec 2011 pdf)
- Streaming NetCDF (netCDF workshop 2011) (pptx) 
- Talk at netCDF workshop 2010 (pptx) 
- Talk at netCDF workshop 2009 (ppt) 
- ToolsUI demo (You may need to  download the free WebEx Player)
Software libraries used by the Netcdf-Java library: 
Additional software libraries used by ToolsUI: 
  -  ERDDAP (Environmental Research Division Data
    Access Program), from NOAA National Marine Fisheries Service's Southwest Fisheries Science Center / Robert Simons/CoHort Software
    (license information),
    for assistance in writing
    WaterML files.
 Applications using the Netcdf-Java library (partial list):
  - ERDDAP (Environmental Research Division Data
    Access Program), from National Marine Fisheries Service's Southwest Fisheries Science Center
  
- EDC (Environmental Data Connector) plug-in for ArcGIS
- ncWMS (Web Map Service for NetCDF data) and demo site (University of Reading (UK) E-Science Center/Jon
    Blower)
  
- Globally Leveraged Integrated Data Explorer for
    Research (aka GLIDER) (Univ. of Alabama at Huntsville)
  
- Integrated Data Viewer (Unidata)
-  NOAA's Weather and Climate Toolkit (NOAA/NCDC)
- Live Access Server from NOAA/OAR/PMEL (Pacific Marine
    Environmental Laboratory)
  
- MATLAB
    toolkits
    
      - njTBX (Rich Signell/USGS, Sachin Bhate/Mississippi
        State University)
      
- nctoolbox (Brian Schlining/MBARI)
 
- MDArray is a multidimensional array library for JRuby similar to NumPy
- My World GIS (Northwestern University)
  
- ncBrowse (EPIC/NOAA) (this uses an earlier version of
    the library) 
- Panoply netCDF viewer (NASA/Goddard Institude for Space
    Studies/Robert B. Schmunk)
  
- VERDI ( Community Modeling and Analysis System (CMAS) Center at
    the University of North Carolina at Chapel Hill / Argonne National Laboratory)
  
- MICAPS,  Meteorological  Information Comprehensive Analysis and  Process System (National Meteorological Center, CMA, Beijing, China)
- Google Earth Engine
   This document was last updated November 2018
 This document was last updated November 2018