早崎トップ 研究(気候気象) 研究(大気汚染) データリスト Linux Tips Mac Tips

NetCDF_setup

NetCDF 4.x のセットアップ(tar ball 使用)

NetCDF (ver. 4.x 系列) のデータ読み出しに使うライブラリ.

一般的には,NetCDF 4.x のインストール前に HDF5 を入れておくこと. See HDF5 & HDF5-EOS のセットアップ

  用意するもの(NetCDF 4.x 系列)

  前提条件

  • NetCDF 4.x インストール以前に,下記の準備がなされていることを確認する:
    • 開発環境がインストール済みである
      • yum groupinstall "Development Tools" "Development Libraries" をやっとけ (See yumの使い方)
    • HDF5 がインストール済みである (See HDF5 セットアップ)
      • HDF5 インストール前に,szip, zlib, udunits2 などをインストールしておくと良い
  • Cコンパイラはシステム標準の gcc を使う.
  • Fortran コンパイラは Intel Fortran とする
    • 使用コンパイラを環境変数 FC に設定しておく

  手順

NetCDF 4.3.1.1 のインストール (gcc + ifort)

  • NetCDF 4.3.1.1 をコンパイル,/usr/local/netcdf-4.3.1.1_intel/ 以下にインストール

Intel compiler を使う場合

$ export FC=ifort 
$ export F90=ifort 
$ export FFLAGS=" -convert big_endian -assume byterecl"
$ export CPPFLAGS="-I/usr/local/hdf5/include -I/usr/local/include" 
$ export LDFLAGS="-L/usr/local/hdf5/lib -L/usr/local/lib"

$ ./configure --prefix=/usr/local/netcdf-4.3.1.1_intel  --enable-netcdf-4  --disable-dap
$ make >& log_make.txt
$ make check >& log_make_check.txt
# make install

"--disable-dap" オプションは,OpenDAP (ネット経由でのデータアクセス用API)のサポートを切ること. 個人で使う分には,OpenDAP を使う必然性がないので外す. 上記テストでは,全ての check をパスした(checked: 2014-02-07).

  • シンボリックリンクを張る
$ ln -s /usr/local/netcdf-4.3.1.1_intel  /usr/local/netcdf4

※直接 /usr/local/netcdf4 などをインストール先としないのは, バージョンアップ時の動作検証を容易にする目的があるから. また,NetCDF 3.x 系列とも区別して,用途に応じて使い分けができる.

  • LD_LIBRARY_PATH の設定
(LD_LIBRARY_PATH が設定済みの場合)
$ export LD_LIBRARY_PATH=/usr/local/netcdf4/lib:$LD_LIBRARY_PATH
(LD_LIBRARY_PATH が未設定の場合)
$ export LD_LIBRARY_PATH=/usr/local/netcdf4/lib

※これをやっておかないと,NetCDF-Fortran (v4.2) の configure 時にエラーを起こした. CPPFLAGS で NetCDF C ライブラリの所在を指定していたのだが. 新規に CentOS 6.x を設定した際に確認. See also "Building with shared libraries" in NetCDF-Fortran Version 4.2 Installation Notes. 古いPCでセットアップしたときには,LD_LIBRARY_PATH が指定してあったので,気づかなかった(checked: 2014-06-25).

NetCDF 4.4.0 のインストール (icc + ifort)

  • NetCDF 4.4.0 をコンパイル,$HOME/local/netcdf-4.4.0_intel/ 以下にインストール
  • 職場の計算機システム(NIESスカラ計算機)へのインストール. システム標準で設定されてる環境変数をリセットする必要がある. 気付きにくいので要注意(checked 2016-01-29).

C & Fortran 共に Intel compiler (13.1.0 20130121) を使う場合. OS = SuSE Enterprise Server 11.3

$ export CC=icc
$ export CXX=icpc
$ export CFLAGS=" -O3 -xHost -ip -no-prec-div -static-intel "
$ export FC=ifort 
$ export F90=ifort 
$ export FFLAGS="-O3 -xHost -ip -no-prec-div -static-intel  -convert big_endian -assume byterecl"
$ export CPPFLAGS="-I$HOME/local/hdf5/include -I$HOME/local/include" 
$ export LDFLAGS="-L$HOME/local/hdf5/lib -L$HOME/local/lib"

$ ./configure --prefix=$HOME/local/netcdf-4.4.0_intel  --enable-netcdf-4  --disable-dap
$ make >& log_make.txt
$ make check >& log_make_check.txt
# make install
  • シンボリックリンクを張る
$ ln -s $HOME/local/netcdf-4.4.0_intel  $HOME/local/netcdf4

※直接 $HOME/local/netcdf4 などをインストール先としないのは, コンパイラ変更時 or バージョンアップ時の動作検証を容易にする目的があるから. また,NetCDF 3.x 系列とも区別して,用途に応じて使い分けができる.

  • LD_LIBRARY_PATH の設定
(LD_LIBRARY_PATH が設定済みの場合)
$ export LD_LIBRARY_PATH=$HOME/local/netcdf4/lib:$LD_LIBRARY_PATH
(LD_LIBRARY_PATH が未設定の場合)
$ export LD_LIBRARY_PATH=$HOME/local/netcdf4/lib
  • NetCDF-Fortran (v4.2) をコンパイル,/usr/local/netcdf4/ 以下にインストール
$ tar xzf netcdf-fortran-4.2.tar.gz
$ cd netcdf-fortran-4.2
$ CPPFLAGS="-I/usr/local/netcdf-4.3.1.1_intel/include" LDFLAGS="-L/usr/local/netcdf-4.3.1.1_intel/lib"  \
 ./configure --prefix=/usr/local/netcdf4
$ make >& log_make.txt
$ make check >& log_make_check.txt
# make install

CPPFLAGS と LDFLAGS は,実ディレクトリを指定しないと configure error を起こした.

LD_LIBRARY_PATH 設定も入れておけ. コマンドラインからの指定では,NetCDF Cライブラリを適切に参照してくれなかった. sizeof 関数を参照できないために configure error で異常終了(checked: 2014-06-25).

NetCDF-4 Fortran も make check で異常無し (v4.2; checked: 2014-06-25).

  • 必要な情報を環境変数に追記. 自分の場合, /etc/profile に書いた. 個人使用計算機なら,個人の$HOME にある設定ファイル(~/.bashrc など)でも可.
# for NetCDF
export NETCDF=/usr/local/netcdf4
export NETCDFHOME=$NETCDF
export PATH="$PATH:$NETCDF/bin"

if [ -z $MANPATH ] ; then
  MANPATH="${NETCDFHOME}/share/man"
else
  MANPATH="${NETCDFHOME}/share/man:${MANPATH}"
fi

  動作検証環境

正常動作を検証済みの環境

CPU
(installed date)
OS or distribution kernel C Fortran
Intel Core i7-4770 (3.40GHz)
(2014-06-25; my PC)
CentOS 7.0 3.10.0-123.el7 gcc (gfortran) 4.8.2 (20140120) Intel Fortran 14.0.2 (64-bit)
Intel Core i5-3450S (2.80GHz) CentOS 7.0 3.10.0-123.el7 gcc (gfortran) 4.8.2 (20140120) Intel Fortran 12.0.2 (64-bit)
Intel Core i7-4770 (3.40GHz) CentOS 6.5 2.6.32-431.23.3.el6 gcc (gfortran) 4.4.7 (20120313) Intel Fortran 14.0.1 (64-bit)
Intel Core i5 (1.70GHz) CentOS 6.5
(on VMware Fusion 5.0.4)
2.6.32-431.3.1.el6.x86_64 gcc 4.4.7 (20120313) Intel Composer XE 2011.2.137 (64-bit)
(checked: 2014-02-07)

動作が失敗する環境

特に無し

 NetCDF4形式データのリスト

See also データ情報 > 長期再解析 # データファイル形式一覧

NetCDF 3.x のセットアップ(tar ball 使用)

NetCDF 形式のデータ読み出しに使うライブラリ. ncdump などのコマンドも同梱.

作図ツールGMTでも利用. 関連情報はGMT セットアップ参照 (GMT作図プログラムの例は,GMTサンプルスクリプト集参照).

  用意するもの(NetCDF 3.x 系列)

  前提条件

  • NetCDFインストール以前に,下記の準備がなされていることを確認する:
  • 開発環境がインストール済みである
    • yum groupinstall "Development Tools" "Development Libraries" をやっとけ
    • yum install compat-libstdc++-33 も必要
  • Cコンパイラはシステム標準の gcc を使う. Intel C でも warning 出るが compile 可能.どっちでも良い.
  • Fortran コンパイラは Intel Fortran (ifort) とする
    • 使用コンパイラを環境変数 FC に設定しておく
    • gfortran でも環境変数 FC, F90 に gfortran を設定するだけで,他のオプションは同じでコンパイル可能. ただし,ifort 版と gfortran 版の両方を使い分けたい場合,インストール先は別ディレクトリにする

(追記: 2013-08-05, update: 2014-02-07) MacOS の場合, なんだかんだで関連ツール群をインストールすると便利. 例えば,NCview を使うには NetCDF4.x 系列,libpng, szip, udunits2, HDF5 などが必要になる. インストール順序は下記: (1) libpng & szip, (2) udunits2, (3) HDF5, (4) NetCDF 4.x.

インストール時に関係する条件・環境変数

FC=/usr/local/intel/Compiler/11.0/081/bin/intel64/ifort
FFLAGS=" -assume byterecl -convert big_endian "
CPPFLAGS=-DpgiFortran
  • Intel Fortran のインストール先はデフォルトと異なる (custom install してある./opt/ 以下は好きじゃない)
  • FFLAGS の設定は,自分の個人的ルールに基づく. 別に big endian である必要はない(はず).

  手順

NetCDF 3.6.3 のインストール

  • NetCDF 3.6.3 をコンパイル,/usr/local/netcdf-3.6.3/ 以下にインストール

Intel compiler を使う場合

$ export FC=ifort 
$ export F90=ifort 
$ export CPPFLAGS="-DNDEBUG -DpgiFortran" 
$ export CXX=c++
$ export CXXFLAGS="-g -O2"
$ export FFLAGS=" -convert big_endian -assume byterecl"

$ ./configure --prefix=/usr/local/netcdf-3.6.3_intel
$ make
$ make check
# make install

実際には C++ 関連は不要.なんとなくいれただけ. 使わないのなら, configure のオプションに "--disable-cxx " を入れておく

  • シンボリックリンクを張る
$ ln -s /usr/local/netcdf-3.6.3_intel  /usr/local/netcdf

※直接 /usr/local/netcdf などをインストール先としないのは, バージョンアップ時の動作検証を容易にする目的があるから.

gfortran を使う場合

ifort 版とほぼ同じ.FC, F90 に gfortran を設定,インストール先ディレクトリに gfortran でコンパイルした事がわかるように名前付けしておく.

$ export FC=gfortran
$ export F90=gfortran
$ export CPPFLAGS="-DNDEBUG -DpgiFortran" 
$ export CXX=g++
$ export CXXFLAGS="-g -O2"
$ export FFLAGS=" -fconvert=big-endian -ffree-line-length-none "

$ ./configure --prefix=/usr/local/netcdf-3.6.3_gfortran
$ make
$ make check
# make install

実際には C++ 関連は不要.なんとなくいれただけ. 使わないのなら, configure のオプションに "--disable-cxx " を入れておく

  • シンボリックリンクを張る
$ ln -s /usr/local/netcdf-3.6.3_gfortran  /usr/local/netcdf

※直接 /usr/local/netcdf などをインストール先としないのは, バージョンアップ時の動作検証を容易にする目的があるから.

  • 必要な情報を環境変数に追記. 自分の場合, /etc/profile に書いた. 個人使用計算機なら,個人の$HOME にある設定ファイル(~/.bashrc など)でも可.
# for NetCDF
export NETCDF=/usr/local/netcdf
export NETCDFHOME=$NETCDF
export PATH="$PATH:$NETCDF/bin"

if [ -z $MANPATH ] ; then
  MANPATH="${NETCDFHOME}/share/man"
else
  MANPATH="${NETCDFHOME}/share/man:${MANPATH}"
fi

  動作検証環境

正常動作を検証済みの環境

CPU
(installed date)
OS or distribution kernel C Fortran
Intel Xeon E5-2650 (2.00GHz)
(2016-01-19; NIES scalar)
SuSE Linux ES 11.3 3.0.101-0.31 icc 13.1.0 (20130121) Intel Fortran 13.1.0 (64-bit)
Intel Core i7-4770 (3.40GHz) CentOS 7.0 3.10.0-123.el7 gcc (gfortran) 4.8.2 (20140120) Intel Fortran 14.0.2 (64-bit)
Intel Core i5-3450S (2.80GHz) CentOS 7.0 3.10.0-123.el7 gcc (gfortran) 4.8.2 (20140120) Intel Fortran 12.0.2 (64-bit)
Intel Core i7-4770 (3.40GHz) CentOS 6.5 2.6.32-431.23.3.el6 gcc (gfortran) 4.4.7 (20120313) Intel Fortran 14.0.1 (64-bit)
Intel Atom 330 (1.60GHz) CentOS 5.5 2.6.18-194.32.1.el5 gcc 4.1.2 (20110201) Intel Fortran 11.1.056 (64-bit)
Intel Centrino CentOS 5.3 2.6.18.164.el5 gcc 4.1.2 (20080704) Intel Fortran 10.1.022 (32-bit)
Intel Core2Quad Q9550 (2.83GHz) CentOS 5.3 2.6.18-128.7.1.el5.centos.plus gcc 4.1.2 (20080704) Intel Fortran 11.0.081 (64-bit)
Intel Xeon L5410 (2.33GHz) CentOS 5.3 2.6.18-128.7.1.el5.centos.plus gcc 4.1.2 (20080704) Intel Fortran 11.1.056 (64-bit)
AMD Athlon64 X2 4400 Fedora 11 2.6.30.8-64.fc11.x86_64 gcc 4.4.1 (20090725) Intel Fortran 11.0.081 (64-bit)

動作が失敗する環境

特に無し

 NetCDF3形式データのリスト

See also データ情報 > 長期再解析 # データファイル形式一覧

  • NCEP/NCAR再解析(京大・生存圏研), NNR1 & NCEP2 (or R2) の2種類の長期再解析.

  NetCDF 参照情報

更新履歴

Date Changes
2016-03-02 NetCDF3 & 4形式データ一覧を作成. データ情報 > 長期再解析へのリンクを追加.
2016-01-19 NIESスカラー計算機での NetCDF v3.6.3 のコンパイルを実施,正常インストールを確認.
2014-06-25 NetCDF v4 系列のコンパイルを実施,正常インストールを確認.
2008-XX-XX 初稿作成日,記録がないので不明. おそらく千葉大CEReSへの異動後(2008年5月以後), Fedora 11 (released at 2009-06-09) や CentOS 5.3 (released at 2009-03-31) などの動作検証記録があるので, 2009年の後半ころだと思われる.