インストール - NCL tips

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

なお,比較的新しい環境ではgfortranのバージョンの違いなどから,公式のbinaryファイルが使えない可能性が高い。今はCondaによるインストールが可能になったので,好みや環境によってはこちらのほうが便利である。詳細は公式ページのInstalling NCL with "conda"を参照のこと。


Condaを使う(Linux)

Anacondaはサイズが大きいので,ここではその簡易版であるMinicondaを使う
https://docs.anaconda.com/miniconda/に行って適切なインストーラーをダウンロード(Miniconda3-latest-Linux-x86_64.shというファイル名とする)

$ mkdir miniconda3
$ ./Miniconda3-latest-Linux-x86_64.sh -b -u -p ~/miniconda3
$ ~/miniconda3/bin/conda init bash

ログイン時に勝手にactivateされる((base)が表示される)のが嫌であれば,次で無効化

$ conda config --set auto_activate_base False

インストールしたcondaにNCLの仮想環境を作成する

$ conda create -n ncl -c conda-forge ncl  # ここでは ncl を環境名とする。好きな名前でよい。
                                          # conda create -n [環境名] 

作られた環境 "ncl" を activate するには,

$ conda activate ncl

を実行する。
deactivate するには,

$ conda deactivate

を実行する。


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)

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)

(今はWSL2が利用可能となりましたが,以下はWSL1についての記述のままです。)
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

とするだけである。


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