インストール - NCL tips

NCL公式ホームページのダウンロードに従う。 基本的に自分の計算機環境にあったbinaryファイルをダウンロードして展開しパスを通すだけ。
ソースコードをダウンロードして自分でビルドすることも可能であるが,公式はおススメしていない(もしそうしたいならGood Luck!とのこと)。

なお,最近はcondaによるインストールが可能になったので,好みや環境によってはこちらのほうが便利である。詳細は公式ページのInstalling NCL with "conda"を参照のこと。
以下ではcondaを使わないインストール方法について記す。


  • Linux
    $ uname -m 
    で出たハードウェアのタイプ(たぶん x86_64 i686 だと思う。)
    $ cat /etc/issue 
    でLinuxのバージョン
    $ gcc --version
    でgccのバージョン( gcc4.4.7 みたいに出る) を調べて,合ったものをDL。
    Linuxのディストリビューションによっては、
    $ sudo apt-get install ncl-ncarg 
    でもインストール可能だが,最新バージョンではない可能性がある。それほどの手間ではないので,自分で最新版をダウンロードするのがよいだろう。



  • Mac
    $ sw_vers –productVersion
    でOSの種類(10.9.2とか10.10とか)
    $ uname -m
    で出たハードウェアのタイプ(たぶん x86_64 i686 だと思う。)
    $ gcc –version
    でgccのバージョン( gcc4.4.7 みたいに出る) を調べて,合ったものをDL



  • Windows (Cygwin)

    ここでは,Cygwin上でNCLを動かす方法について説明する。NCLはファイル名に CYGWIN が含まれているものをダウンロードしよう。Cygwin自体のインストールや設定の詳細に関してはここでは省略するが,NCLを使うには必ず32bit版のCygwinをインストールすること。NCLをインストールする前に,CygwinやCygwin/Xを使うための環境変数の設定を忘れずに。 なお,必要なパッケージはNCLの公式ページによれば以下の通りである。

    Develカテゴリ:"autoconf", "binutils", "bison", "byacc", "flex", "gcc", "gcc4", "gcc4-fortran", "gcc-g++", "gdb", "make", "makedepend", "openssl-devel"

    Libsカテゴリ:"expat", "libcurl3", "libexpat-devel", "libgfortran3", "libidn-devel", "libxml2", "libtirpc", "zlib"

    Netカテゴリ:"libcurl-devel", "libcurl4", "openssh"

    Shellsカテゴリ: "bash", "sh-utils", "pdsh", "tcsh"

    X11カテゴリ:すべてインストールすることが望ましい

    選択肢にないものもあったが,とりあえずそれっぽい物を入れたら上手くいった。



  • Windows (Windows Subsystem for Linux)

    Windows10では,Windows上でLinux環境を使用できるWindows Subsystem for Linux (WSL)が標準搭載されており,これを利用するのが便利である。ここではWSLを用いてUbuntuを動かしてNCLをインストールする方法を紹介する。
    WSLはデフォルトでは無効化されているため,「コントロールパネル→プログラム→Windowsの機能の有効化または無効化」から,Windows Subsystem for Linuxを有効にする。有効化後,再起動が求められる。再起動したら,Microsoft Storeへ行って,(例えば)Ubuntu 18.04 LTSをダウンロードする。実行するとインストールが始まり,Ubuntuで使用するユーザー名とパスワードが要求されるので適宜入力する。
    Ubuntu環境のインストールが終わったら,まずはアップデートを必ず行う。
    $ sudo apt update
    $ sudo apt upgrade
    もちろん最初だけでなく定期的に行うようにしよう。なお,aptの進捗が途中で止まったように見えることがあるが,Enterを押下すれば進む。

    さて,WSL単独ではX Windowが使用できないので,これを別途インストールする。Windowsで利用できるXサーバーソフトには様々なものがあるが,ここではVcXsrvを利用する。VcXsrvのインストーラーをhttps://sourceforge.net/projects/vcxsrv/からダウンロードし,実行する。基本的にはデフォルトのまま進めればよいだろう。無事に実行できると,ツールバーにXのアイコンが表示される(なおVcXsrvはWSLを立ち上げても自動的には起動しない)。DISPLAY環境変数を,bashであれば,
    $ export DISPLAY=localhost:0.0
    で設定し,
    $ sudo apt install  x11-apps x11-utils x11-xserver-utils dbus-x11
    でUbuntu上にx11をインストールしてから,
    $ xeyes
    を実行しておめめが出てくれば成功。もちろん環境変数の設定は.bashrcなどに書いておくことが望ましい。

    そして,以下のパッケージを追加する。
    $ sudo apt install csh libfontconfig gfortran libgfortran3
    $ sudo apt install libxrender-dev libx11-dev libxrender1
    $ sudo apt install libssh2-1 libgomp1
    $ sudo apt install imagemagick
    ImageMagickは必ずしも必要ではないが,画像編集で重宝するので入れておくとよい。なお,最新のImageMagickでは脆弱性への対応により,使用できるファイル形式がかなり絞られている。epsやpdfなどを扱いたいときには,/etc/ImageMagick-6/などにあるpolicy.xmlを編集し,disable format typesから除外することが必要(当然セキュリティ的なリスクを伴うことになるので注意)。
    NCLのbinaryファイルは,Ubuntuに合うものをダウンロードすればよい(Linux参照)。

    ところで,私がNCLを展開後に実行したときには,libiconv.so.2がないというエラーが出たので,もしそうなった場合の対処法を記しておく。まずiconvをインストールする。
    $ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
    $ tar zxvf libiconv-1.16.tar.gz
    $ cd libiconv-1.14
    $ ./configure
    $ sudo apt install make  (makeがなかったので)
    $ make
    $ sudo make install
    ここで,
    $ iconv --version
    とすると,同じようなlibiconv.so.2に関するエラーを吐くと思う。そこで,/etc/ld.so.conf に /usr/local/lib を追記する。そして,
    $ sudo ldconfig
    を実行すると上手くいった。

    ちなみに,Cドライブには,
    $ cd /mnt/c
    でアクセス可能である。例えば,/mnt/c/Users/(ユーザー名)/workというディレクトリを作成しておいて,
    $ ln -s /mnt/c/Users/(ユーザー名)/work ~/work
    のようにUbuntuのホームディレクトリにリンクを作成しておけば,WindowsからもUbuntuからも利用しやすくなる。また,USBドライブなどにアクセスするためには,Ubuntu上で適当なマウントポイントを作り,mountする必要がある。例えば,USBのWindows上でのドライブ名がf:,マウントポイントを/mnt/usbとする場合,
    $ sudo mkdir /mnt/usb
    $ sudo mount -t drvfs f: /mnt/usb/
    とすればよい。アンマウントは,
    $ sudo umount /mnt/usb/
    で行う。



以上,各OS,ぴったりなものがなくてもだいたい近いものをDLして展開すれば動くと思う。


まず,DLしたファイルを適当なディレクトリに展開する。例えば,

$ mkdir /usr/local/ncl-6.5.0
$ tar -zxf ~/ncl_ncarg-6.5.0-Debian8.11_64bit_gnu492.tar.gz -C /usr/local/ncl-6.5.0

とする。すると中にbin, lib, includeがあるので binにPATHを通す。bashの場合,

$ export NCARG_ROOT=/usr/local/ncl-6.5.0
$ export PATH=$NCARG_ROOT/bin:$PATH 

としておく。
NCARG_ROOTという環境変数は組み込み関数を含むスクリプトのloadや描画に用いるcolormapファイルの置き場の指定など様々な場面で用いられるので,ここでセットしといたほうがよい。.bashrcなどに書き込んでおくのが無難。



インストールしたら

$ ncl 

とし,

Copyright (C) 1995-2015 - All Rights Reserved
University Corporation for Atmospheric Research
NCAR Command Language Version 6.3.0
The use of this software is governed by a License Agreement. 
See http://www.ncl.ucar.edu/ for more details. 
ncl 0>         

みたいに出たら成功。 この状態をinteractive mode という。 NCLはgradsやgnuplotのようにコマンドラインで操作することも可能だが,メリットはないので,ここではバッチジョブ実行のやり方を説明する。やり方はNCLスクリプト「.nclファイル」を作って

$ ncl hoge.ncl

とするだけである。


トップ   編集 凍結 添付 名前変更   新規