(p)NetCDF

Overview

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.

We provide NetCDF library on the K computer.


Version

Currently, We provide the following version of the netcdf and related software:

Provided software and version
Software Version
NetCDF C 4.2.1.
NetCDF Fortran 4.2
NetCDF C++ 4.2
Parallel netCDF 1.3.1
HDF5 1.8.10 patch1
Szip 2.1

Directory

the netcdf is installed under /opt/aics/netcdf.

The subdirectory of the netcdf is following:

sub directory of the netcdf
directory target parallel Szip
frontend frontend no yes
frontend-noszip frontend no no
k compute host yes yes
k-noszip compute host yes no
k-serial compute host no yes
k-serial-noszip compute host no no

In this table, Target means the program that compile using the library under the directory works.

The parallel meens NetCDF works on MPI environment.  the parallel environment can use parallel netCDF and parallel HDF5

Szip meens HDF5 is compiled with Szip. If you want to use commercial use, please use non-Szip version of NetCDF.

Each subdirectory contains the following sub directories:

directory description
bin commands
include Header files
lib the Libraries
lib-static The libraries without shared library (for compute host only)
man manual pages
share manual pages and other documents

Usage

  • If you want to execute commands or read man page of the netcdf or related software, please execute as follows:

    /bin/sh or bash
    $ . /opt/aics/netcdf/subdir/env.sh
    csh or tcsh
    % source /opr/aics/netcdf/subdir/env. csh
    The subdir is replaced sub directory descibed Directory section.
  • If you want to use netcdf related command into the batch script, please insert above line in the scripts.
  • If you want to compile your program with netcdf, please specify as follows:
    • Please specify header file to /opt/aics/netcdf/subdir/include
    • Please specify library directory to /opt/aics/netcdf/subdir/lib-static
      • If you want to use on front end or you want to use shared library, please specify /opt/aics/\netcdf/subdir/lib
    • If you use netcdf, please use as library to -lnetcdf -lhdf5_hl -lhdf5 -lsz -lz -lm
      • If you don't use Szip please remove -lsz
      • If you want to use C++ interface, please add -lnetcdf_c++4 at first of the library.
      • If you want to use Fortran interface, please add -lnetcdff at the first of the library.
    • If you want to use parallel netCDF, please use as library to -lpnetcdf
      • Parallel netcdf requires MPI, we don't provide parallel netcdf for frontend.
  • For example you want to NetCDF program foo.c with szip work on compute hosts, please execute as follows:

    mpifccpx -I/opt/aics/netcdf/k/include foo.c -o foo -L/opt/aics/netcdf/k/lib-static -lnetcdf -lhdf5_hl -lhdf5 -lsz -lz -lm
  • And If you want to compile foo,f90 without szip:

    mpifrtpx -I/opt/aics/netcdf/k-noszip/include foo.f90 -o foo -L/opt/aics/netcdf/k-noszip/lib-static -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz -lm