NetCDF 4.x のセットアップ(tar ball 使用)
NetCDF (ver. 4.x 系列) のデータ読み出しに使うライブラリ.
一般的には,NetCDF 4.x のインストール前に HDF5 を入れておくこと. See HDF5 & HDF5-EOS のセットアップ
- See also NetCDF ライブラリ・コマンドの使い方 (hysk)
- WRFのセットアップ・実行にも必須. See also WRF セットアップ (hysk)
用意するもの(NetCDF 4.x 系列)
- netcdf-4.3.1.1.tar.gz (入手先: NetCDF page (UCAR))
前提条件
- 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-3.6.3.tar.gz (入手先: NetCDF page (UCAR))
前提条件
- 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 参照情報
- NetCDF page (UCAR) = http://www.unidata.ucar.edu/software/netcdf
- Building NetCDF with the Interl compilers:
- Google にて,"NetCDF intel compile" で検索. 英語ページだが,設定すべきコマンドは書かれているので,その部分だけ見ればわかる.
更新履歴
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年の後半ころだと思われる. |