Skip to main content

netcdf

Versions and Availability

About the Software

NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. - Homepage: http://www.unidata.ucar.edu/software/netcdf/

Usage

Softenv or Module defines some variables which point at the library home directory.

For clusters using softenv, use soft-dbq to determine it's name, then use it to add a link option to your build. You may see something like this (the output has been edited for brevity):

$ soft-dbq  +netcdf-4.1.3-Intel-13.0.0

. . .

Name: +netcdf-4.1.3-Intel-13.0.0
Description: @types: Library/IO @name: netcdf @version: 4.1.3 @build:
Intel-13.0.0 @internal: @external:
http://www.unidata.ucar.edu/software/netcdf @about: NetCDF 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.
Flags: none
Groups: none
Exists on: Linux
. . .
    PATH = ${PATH}:/usr/local/packages/netcdf/4.1.3/Intel-13.0.0/bin
    netcdf_HOME = /usr/local/packages/netcdf/4.1.3/Intel-13.0.0
. . .
$ ls /usr/local/packages/netcdf/4.1.3/Intel-13.0.0/lib
libnetcdf.a       libnetcdff.la        libnetcdf.la        pkgconfig
libnetcdf_c++.a   libnetcdff.so        libnetcdf.so
libnetcdf_c++.la  libnetcdff.so.5      libnetcdf.so.7
libnetcdff.a      libnetcdff.so.5.1.0  libnetcdf.so.7.1.1

The libraries are used at link time by the compiler, so the following options could be used:

   -L${netcdf_HOME}/lib -lnetcdf

For clusters using module, use the module disp command to determine the location of the netcdf path and then add it to your build options:

$ module disp netcdf/4.2.1.1/INTEL-140-MVAPICH2-2.0
-------------------------------------------------------------------
/usr/local/packages/Modules/modulefiles/apps/netcdf/4.2.1.1/INTEL-140-MVAPICH2-2.0:
. . .
module-whatis    Description: NetCDF (network Common Data Form) is a set of software libraries
 and machine-independent data formats that support the creation, access, and sharing of array-oriented
  scientific data. - Homepage: http://www.unidata.ucar.edu/software/netcdf/
  conflict         netcdf
  module           load hdf5/1.8.12/INTEL-140-MVAPICH2-2.0
  prepend-path     LIBRARY_PATH /usr/local/packages/netcdf/4.2.1.1/INTEL-140-MVAPICH2-2.0/lib
  prepend-path     MANPATH /usr/local/packages/netcdf/4.2.1.1/INTEL-140-MVAPICH2-2.0/share/man
  prepend-path     PATH /usr/local/packages/netcdf/4.2.1.1/INTEL-140-MVAPICH2-2.0/bin
  prepend-path     PKG_CONFIG_PATH /usr/local/packages/netcdf/4.2.1.1/INTEL-140-MVAPICH2-2.0/lib/pkgconfig
  setenv           LHPC_ROOTNETCDF /usr/local/packages/netcdf/4.2.1.1/INTEL-140-MVAPICH2-2.0
  setenv           LHPC_VERSIONNETCDF 4.2.1.1
. . .
$ ls $LHPC_ROOTNETCDF/lib
libnetcdf.a  libnetcdf.la  libnetcdf.so  libnetcdf.so.7  libnetcdf.so.7.2.0  pkgconfig

The libraries are used at link time by the compiler, so the following options could be used:

   -L${LHPC_ROOTNETCDF}/lib -lnetcdf

Please refer to the documentation in Resources for a discussion of the API and how to choose the correct library.

Resources

Last modified: September 10 2020 11:58:50.