CentOS 6.8 (64bit) インストール直後
WRF(Weather Research and Forecasting Model)のセットアップメモ。
参考 ( CentOS6.2 (64bit)でのインストール事例 )
http://linux-vi.blogspot.jp/2014/07/how-to-install-wrf-in-centos-62-64bit.html
以下、root権限で実行した。
1回目のrebootまで
yum install gcc-gfortran
(追加: ココカラ)
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
(追加: ココマデ)
yum install netcdf netcdf-devel
yum install tcsh
- Nothing to do
yum install ncl ncl-devel
yum install jasper-devel jasper-libs
yum install libpng libpng-devel
yum install redhat-lsb-graphics
reboot
2回目のrebootまで
yum install ncview
yum install m4
- Nothing to do
yum install gv
yum install cloog-*
reboot
3回目のrebootまで
yum update gcc-gfortran netcdf tcsh ncl ncl-devel jasper-devel jasper-libs libpng-devel libpng
- 上記成功していて、No Packages marked for Update となった
この段階で find / -name netcdf.incすると以下が見つかった。
/usr/include/netcdf.inc
export NETCDF=/usr
yum install msp430-gcc msp430-libc
- なぜかここでMSP430のコンパイラ関連が登場
- Error: Nothing to do
- MSP430を使う必要はないと思うので、エラーでもいいだろう
yum install python-devel
yum install gcc gcc-c++ gcc-gfortran
yum install sed mawk
yum install grip
- Error: Nothing to do
- gripというのは使うかは不明
yum install grib_api
yum install wgrib
yum install wgrib2
yum install libXp libXp-devel
yum install libXtst libXtst-devel java-1.6.0-openjdk-devel java-1.6.0-openjdk
yum install compat-libgfortran-41
yum install java-1.5.0-gcj java-1.5.0-gcj-devel
yum install perl-Time-HiRes
< make sure the following libraries are exist at /usr >
find /usr -name libmawt.so
find /usr -name libXp.so.6
find /usr -name libgfortran.so.1
- 3つとも見つかった
WRFのインストール (失敗)
一般権限ユーザ wrf作成
wrfでログイン
export NETCDF=/usr
wget http://www.meteoadriatic.net/pub/wrf/ems_install.pl.gz
- Internal Server Error.
- firefoxで見に行ってもファイルリストはあるが、ファイル自体を読み取れない
上記のインストール用のplファイルが取れないので、以降は他の情報に基づく。
OpenMPIのインストール
上記の手順ではOpenMPIがインストールされていないので、以下をroot権限で実行した。
yum install openmpi openmpi-devel
WRF3.6.1のビルド (再トライ) > 失敗
参考 http://qiita.com/7of9/items/cd769c0ccebf9e17f260
WRFV3.6.1.TAR.gz をWRFのサイトから取得し、一般ユーザの~/以下に解凍した (WRFV3フォルダができる)。
.bashrcに以下を追記
### WRF weather model stuff
export WRFIO_NCD_LARGE_FILE_SUPPORT=1
export NETCDF=/usr
export NETCDFPATH="/usr/lib64"
export WRF_BASE=/home/WRF
### NCARG NCL stuff
export NCARG=${WRF_BASE}/ncl
export NCARG_ROOT=${WRF_BASE}/ncl
export PATH=${NCARG_ROOT}/bin:${PATH}
export NCARG_LIB=${NCARG_ROOT}/lib
export NCARG_DATABASE=${NCARG_LIB}/ncarg/database
export NCARG_FONTCAPS=${NCARG_LIB}/ncarg/fontcaps
export NCARG_GRAPHCAPS=${NCARG_LIB}/ncarg/graphcaps
OpenMPI用にmpiccとmpif90へのパスを通すために以下も.bashrcに追記した
export OPENMPI=/usr/lib64/openmpi/bin
export PATH=${OPENMPI}:$PATH
source .bashrc
cd WRFV3
sudo module load openmpi-x86_64
export MPI_LIB=
./configure
メニューのうち34 (dmpar ... )を選択
netstingを1と選択
http://forum.wrfforum.com/viewtopic.php?f=5&t=7093
に記載の通りconfigure.wrfを変更。
vi configure.wrf にて編集
- DM_CCの部分は記載のものと違っていた。この部分は変更しなかった
- lnetcdff関連は記載の通りに変更した
./compile em_real >& log.compile
こちらの環境で40分近くかかってからコンパイルが終わった。
find . -name *.a
を実行するとlibwrfio_int.aファイルが作成されていた。
./main/libwrflib.a
./external/fftpack/fftpack5/libfftpack.a
./external/io_grib1/libio_grib1.a
./external/io_int/libwrfio_int.a
./external/io_netcdf/libwrfio_nf.a
./external/esmf_time_f90/libesmf_time.a
./external/io_grib_share/libio_grib_share.a
find . -name *.mod でいつかのmodファイルも見つかっている。
main以下にwrf.exeファイルが生成されていない。
log.compileに以下の記載が見つかった。
/usr/include/openmpi-x86_64/mpi.h:1580: error: expected declaration specifiers or ‘...’ before ‘MPI_Comm’In file included from c_code.c:26:
...
ar: c_code.o: No such file or directory
make[3]: [librsl_lite.a] Error 1 (ignored)
...
gfortran: /home/wrf/WRFV3/external/RSL_LITE/librsl_lite.a: No such file or directory
以下の情報が見つかった。
http://www.hysk.sakura.ne.jp/meteorol/WRF_setup
v3.6.1 はコンパイル時にエラー発生する. 下記の 1,2 はその回避方法. v3.7.1 では不要(2015-10-07 確認済).
v3.6.1は鬼門だったようだ。
WRF3.7.1のビルド > 成功
WRF3.7.1のファイルを取得して再度ビルドした。
.bashrcに以下を追記
### WRF weather model stuff
export WRFIO_NCD_LARGE_FILE_SUPPORT=1
export NETCDF=/usr
export NETCDFPATH="/usr/lib64"
export WRF_BASE=/home/WRF
### NCARG NCL stuff
export NCARG=${WRF_BASE}/ncl
export NCARG_ROOT=${WRF_BASE}/ncl
export PATH=${NCARG_ROOT}/bin:${PATH}
export NCARG_LIB=${NCARG_ROOT}/lib
export NCARG_DATABASE=${NCARG_LIB}/ncarg/database
export NCARG_FONTCAPS=${NCARG_LIB}/ncarg/fontcaps
export NCARG_GRAPHCAPS=${NCARG_LIB}/ncarg/graphcaps
OpenMPI用にmpiccとmpif90へのパスを通すために以下も.bashrcに追記した
export OPENMPI=/usr/lib64/openmpi/bin
export PATH=${OPENMPI}:$PATH
source .bashrc
cd WRFV3
sudo module load openmpi-x86_64
export MPI_LIB=
./configure
メニューのうち34 (dmpar ... )を選択
netstingを1と選択
http://forum.wrfforum.com/viewtopic.php?f=5&t=7093
に記載の通りconfigure.wrfを変更。
vi configure.wrf にて編集
- 全部の変更箇所を編集した
./compile em_real >& log.compile
こちらの環境で25分近くかかってからコンパイルが終わった。
log.compileに以下のエラーが出た。
gfortran: Internal error: Killed (program f951)
CFLAGS_LOCAL = -w -O3 -c
を
CFLAGS_LOCAL = -w -O2 -c
で再度ビルド.
./compile em_real >& log.compile2
前のビルドが残っていたのか、すぐにビルドが終わった。
...
==========================================================================
build started: Mon Jul 18 09:13:33 PDT 2016
build completed: Mon Jul 18 09:13:43 PDT 2016
---> Executables successfully built <---
-rwxrwxr-x. 1 wrf wrf 38279033 Jul 18 09:13 main/ndown.exe
-rwxrwxr-x. 1 wrf wrf 38159223 Jul 18 09:13 main/real.exe
-rwxrwxr-x. 1 wrf wrf 37757095 Jul 18 09:13 main/tc.exe
-rwxrwxr-x. 1 wrf wrf 42740713 Jul 18 09:13 main/wrf.exe
==========================================================================
補足
最初の方でyumで色々installしているのは、本当に必要かまだ理解していない中で行っている。リンク先の人が使ってこちらでは使わない機能までinstallしている可能性がある。
WPS3.7.1 > 成功
WRF3.7.1がビルドできるようになったらWPSのビルドはすぐにできた。
WPS3.7.1のtar fileを取得して以下を参考にした。
configure.wpsを編集
./compile
./compile util
それぞれ数十秒で終了した。
geogrid.exe, metgrid.exe, ungrib.exeがビルドされた。
NCLのインストール
上記ではyumにてnclをインストールしてしまったが、以下記載のようにNCLのv6.3をインストールした方がいいようだ。
yum remove ncl ncl-devel
にてncl関連のパッケージをアンインストールした。
上記リンクを参考にNCL v6.3のtar.gzを/home/wrf/WRFV3/ncl
に解凍した。
それに伴い.bashrc
ファイルの設定は以下のように変更した。
### WRF weather model stuff
export WRFIO_NCD_LARGE_FILE_SUPPORT=1
export NETCDF=/usr
export NETCDFPATH="/usr/lib64"
export WRF_BASE=/home/wrf/WRFV3
### NCARG NCL stuff
export NCARG=${WRF_BASE}/ncl
export NCARG_ROOT=${WRF_BASE}/ncl
export PATH=${NCARG_ROOT}/bin:${PATH}
export NCARG_LIB=${NCARG_ROOT}/lib
export NCARG_DATABASE=${NCARG_LIB}/ncarg/database
export NCARG_FONTCAPS=${NCARG_LIB}/ncarg/fontcaps
export NCARG_GRAPHCAPS=${NCARG_LIB}/ncarg/graphcaps
export DISPLAY=:0.0
export OPENMPI=/usr/lib64/openmpi/bin
export PATH=${OPENMPI}:$PATH