The Azimuth Project
NetCDF

Content

Idea

According to Wikipedia:

NetCDF (Network Common Data Form) is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. The project homepage is hosted by the Unidata program at the University Corporation for Atmospheric Research (UCAR). They are also the chief source of netCDF software, standards development, updates etc. The format is an open standard.

The project is actively supported by UCAR. The recently released (2008) version 4.0 greatly enhances the data model by allowing the use of the HDF5 data file format. Version 4.1 adds support for C and Fortran client access to specified subsets of remote data via OPeNDAP. The format was originally based on the conceptual model of the NASA CDF but has since diverged and is not compatible with it.

Details

UCAR has a long list of software that has NetCDF support in various ways. Both many launguage API’s and also free/open source and commercial software applications that use NetCDF.

Subfields

Ian Ross contributed the following descriptions of 2 commonly-used NetCDF variables.

Z500

Z500 is the 500 hPa geopotential height field, which is basically the height that’s half-way up the atmosphere in pressure terms – it’s the level at which half of the atmospheric column by mass is below you and half is above. It’s the level that people usually look at for large-scale atmospheric dynamics.

COARDS

COARDS is a meta-data standard for atmospheric and climate data (described here: http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html and more or less a subset of the more recent CF metadata standard described here: http://cfconventions.org/). It defines what NetCDF attributes are used for things like unit names, axis definitions, and so on. The coardsScale function in hnetcdf is used for converting from scaled values you sometimes find in NetCDF files to actual values: you can make your NetCDF files smaller by encoding all your data values as, say, short integers. The scale_factor and add_offset attributes on a data variable are used to define the affine mapping between the values in the NetCDF file and the real physical quantities.

Using NetCDF files in the R programming language

The programming language R has two main packages for dealing with NetCDF files:

and the newer

Using NetCDF files in Haskell

Github hosts hnetcdf, NetCDF parsing and manipulation library using flat data parallel arrays (repa).

Using NetCDF files in Python

Python has two libraries that other programs use on for reading NetCDF files:

One python library for meteorology and climatology, iris, for example, uses NetCDF4 to read and plot data within NetCDF4 files. Here’s are examples of using iris for static and dynamic plotting.

References

See also

category: software