コンピュータを研究に使うための私的メモ。Python、Fortran、Ubuntu、etc...


2011.12.22 Ubuntu11.10 64bit
2012.2.15 Ubuntu11.10 32bit opendap版、ssl関係を追記、PyNgl、PyNioをバイナリで導入

NCLのインストール

Earth System GridからNCAR command Languageを選び最新バージョンの「precompiled binaries, not OPeNDAP-enabled」を選びダウンロード。ダウンロードするにはEarth System Gridのアカウントが必要なのでアカウントを作ってログインしておく。途中使用理由を聞かれるので適当に書く。

ダウンロードしたら適当なところ(今回は/opt/ncl/ncl_ncarg-6.0.0にした)に展開する。あとは環境変数を通すだけ。
# NCL/NCARG-6.0.0_x86_64                                                                         
export NCARG="/opt/ncl/ncl_ncarg-6.0.0"
export NCARG_ROOT="${NCARG}"
export NCARG_BIN="${NCARG}/bin"
export NCARG_LIB="${NCARG}/lib"
export NCARG_INCLUDE="${NCARG}/include"
export NCLCOMMAND="${NCARG}/bin/idt"
export NCL_COMMAND="${NCARG}/bin/ncl"
export PATH="${NCARG}/bin:${PATH}"
export LD_LIBRARY_PATH="${NCARG}/lib:${LD_LIBRARY_PATH}"
NetCDFライブラリがないと使えないみたいなのでHDFとNetCDFライブラリをsynapticなどからインストールしておく。
$ ncl
 Copyright (C) 1995-2011 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.0.0
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
ncl 0> 
となれば成功。OPeNDAP-enabledのバージョンだとssh関係のライブラリで不足があるかもしれない。
ncl: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
などとlibssl関係のライブラリが見つからないと言われたらバージョンを指定してaptで入れる。
$ sudo apt-get install libssl.0.9.8

PyNGL/PyNIOのインストール

Earth System GridからPyNGLとPyNIOのsource codeをダウンロードする。適当なディレクトリに解凍する。open-dap版ではPyNio-1.4.1ではlibssl0.9.8が必要なのでaptでいれる。
  • バイナリ版
バイナリ版でも大丈夫でした。解凍してPythonのパスの通ったディレクトリに置きます。
  • ソースから
いつものようにsetup.pyをたたけばよし。ただし事前に環境変数の設定が必要。
$ export F2CLIBS=gfortran
$ export F2CLIBS_PREFIX=/usr/local/lib
$ sudo -E python setup.py install
  • (注1):環境変数NCARG_ROOTにNCLをインストールしたパスを通しておく。.bashrcに書いた場合はsudo -Eでルートに環境変数を引き継ぐようにする。
  • (注2):NumPyが必要。
  • (注3):apt-get install python-devがいるかも。
あとはPythonのパスを通す。
#PyNCL                                                                                           
export PYTHONPATH="${PYTHONPATH}:/usr/local/lib/python2.7/dist-packages/PyNGL"
export PYNGL_NCARG="/usr/local/lib/python2.7/site-packages/PyNGL/ncarg"

#PyNIO                                                                                           
export PYTHONPATH="${PYTHONPATH}:/usr/local/lib/python2.7/site-packages/PyNIO"

情報

管理人/副管理人のみ編集できます