一部未完成です.

WRFのインストールと動かし方

WRF WPS install

0)WRFとWPSのインストール準備.  WRF ARWのHPからモデルのソースファイルを持ってくる.
さらにKnown Problems and Fixesからmodified fileをダウンロードし、オリジナルのソースファイルと入れ替える. 1)WRF をインストールする    > ./configure      5      1(Nestingあり)           ※ ここで何番を選ぶかは、コンパイル環境による.     ※ コンパイル時の選択として、大きく4パターンある.      - For a single processor job (serial)      - For using OpenMP shared-memory parallelization (smpar)       :共有メモリ型 [OpenMPなど]      - For using distributed-memory parallelization (dmpar) options    :分散メモリ型 [MPIなど, フリーではMPICH, LAMなど]     smparとdmparはmultiple processors用      - For combination of shared-memory and distributed memory options (dm+sm)     ※ 並列計算の参考文献           > ./compile em_real >& compile.log & log を随時見るには、   tail -f  もしくは  less shift +f     main/ndown.exe  Used for one-way nesting     main/nup.exe    Upscaling - used with WRF-Var     main/real.exe   WRF initialization for real data cases     main/wrf.exe    WRF model integration    が作成されればOK!    もう一度やり直したい時は、     ./clean -a     ./configure 2)WPSでGRIB2を使うためのライブラリをインストールする.(GRIB2を入れない場合は必要ない.)  2-1) JasPer    > ./configure    > make    > make install  2-2) zlib    > ./configure    > make    > make install  2-3) libpng(先にzlibをインストールしてから)    > ./configure    > make check    > make install   ※ makeが通らない場合はgccではなくifortなどを使うと良い.たとえば、    export CC=icc    export CXX=icpc    export CFLAGS="-O2 -ipo -no-prec-div -static"    export CXXFLAGS="-O2 -ipo -no-prec-div -static"    export F77=ifort    export FFLAGS="-O2 -ipo -no-prec-div -static"    export CPP="icc -E"    export CXXCPP="icpc -E"    ./configure >& configure.log     3)WPSのインストール    > ./configure       1    > ./compile >& compile.output &    ※WRFをコンパイルし直した時は、WPSもやり直す.    geogrid.exe -> geogrid/src/geogrid.exe    Generate static data    metgrid.exe -> metgrid/src/metgrid.exe    Generate input data for WRFV2    ungrib.exe -> ungrib/src/ungrid.exe      Unpack GRIB data    ができればOK!    やり直す時は、     ./clean ※ GRIB2のインストール時に下記のようなエラーメッセージが出てうまくいかないことがある.  その場合、 ./configure の後で、少し書き換えるとうまくいく.先にインストールした  3 toolsへのパスを通せばよいのだが...(また今度かきます.) 4)geogデータをダウンロード.(V3.1.1ではgeogも新しくなった.versionも注意.) 5)ARWpostをインストール.    > ./configure    > ./compile   これだと、エラーが出るので、 configure.arwpの    FFLAGS と F77 のコンパイルオプションに -assume byterecl を加えて     ./compile を実行する.(Intel fortranの場合.)

WRFの動かし方

0)WRFの実行の前に.  0-1)   スタックサイズに制限がかかっている場合には、制限をなくす.   スタックサイズの確認方法は、    > ulimit -a     例えば)      core file size (blocks, -c) 0      data seg size (kbytes, -d) unlimited      scheduling priority (-e) 0        ・・・・・・      stack size (kbytes, -s) 10240      cpu time (seconds, -t) unlimited        ・・・・・・   WRFの実行前に、コマンドラインで       ulimit -s unlimited   を実行.  0-2)   初期値、境界値データは、FNLが便利.下記のHPから必要な月のファイルをダウンロードする.    http://dss.ucar.edu/datasets/ds083.2/ 1)WPS  1-1)namelist.wpsを書き変える.  1-2)geogrid.exe を実行.  1-3)Link (with the UNIX command ln) the correct Vtable  1-4)Link (with supplied script link_grib.csh) the input GRIB data  1-5)ungrib.exeを実行.(intemediate files はeach timeに対し、1ファイル)  1-6)metgrid.exe を実行.    Outputは:     met_em.d01.YYYY-MM-DD_DD:00:00.nc - one file for per time     met_em.dxx.YYYY-MM-DD_DD:00:00.nc - one file for per nest 2)WRF  2-1)run/ か test/em_real/で計算を行う.  2-2)WPSで作ったmet_emをコピーもしくはリンクを張る.  2-3)namelist.input を書き変える.  2-4)real.exeを実行する.    wrfinput_d01 & wrfbdy_d01 が作成される.    wrfinput_dxx for nested domains  2-5)wrf.exeを実行する.    wrfout_dxx_[initial_date] (one for each domain) 3)WRF output を GrADSに変換する.        ./ARWpost.exe

WRFで並列計算をする

1)MPICH2のインストール.  1-1)   MPICH2のソースファイルをダウンロード.      tar -zxvf mpich2-1.0.8p1.tar.gz   cd mpich2-1.0.8p1  1-2)インストール用のShellを作成する.      emacs -nw install4mpich2.sh      #!bin/bash      export CC=icc   export CXX=icpc   export F90=ifort   export F77=ifort   export CPP='icc -E'   export CXXCPP='icpc -E'     ./configure --prefix=/opt/mpich2 --enable-debuginfo     make >& make.log   make install >& make.install.log      1-3)PATHを通す.   export PATH=${PATH}:/opt/mpich2/bin      1-4)ホームディレクトリで       touch ~/.mpd.conf    emacs -nw .mpd.conf         secretword=     ※は何でも良い.         chmod 600 .mpd.conf      1-5) テストする.       mpd &    mpdboot -n <ブートするノードの数> -f mpd.hosts  ※<ブートするノードの数>とは,最大でマスターノードとサブノードの合計.  この場合は最大で3となる.  以上でサンプルプログラムを実行することが出来るようになった.    mpiexec -l -n <プロセスの回数> /usr/local/src/mpich2/mpich2-1.0.8p1/examples/cpi     ※ mpiexec failed: gethostbyname_ex failed for hostname   というメッセージが出て動かない場合は、/etc/hostsを確認.      192.168.X.XXX hostname      などと書かれているかどうかをチェック.                

NCVIEW

1)インストール  1-1) NcviewのHPからソースをダウンロードする.      http://meteora.ucsd.edu/~pierce/ncview_home_page.html  1-2) ファイルを展開する.      mkdir /usr/local/src/ncview/      mv ncview-1.93f.tar.gz /usr/local/src/ncview/      cd /usr/local/src/ncview/      tar -zxvf ncview-1.93f.tar.gz      cd ncview-1.93f     ●NETCDFのコンパイルをGCCでした場合      ./configure --prefix=/usr/local/ncview-1.93f \        --with-netcdf_incdir=/usr/local/netcdf-3.6.2/include \        --with-netcdf_libdir=/usr/local/netcdf-3.6.2/lib     ●NETCDFのコンパイルをIntelでした場合      export CC=icc      ./configure --prefix=/usr/local/ncview-1.93f \        --with-netcdf_incdir=/usr/local/netcdf-3.6.2-ifort/include \        --with-netcdf_libdir=/usr/local/netcdf-3.6.2-ifort/lib \        --x-libraries=/usr/lib64/X11      make      make install ※ うまくいかない場合はf2cがインストールしていないからかも.  f2cのインストール方法は下記参照. 

NCARG install

1)Fortran compiler のテスト  blockdata_test を使ってテストする.NCARのページからblockdata_test.tarをダウンロード.   > tar -xvf blockdata_test.tar  Makefileの中の"g77"を自分の環境に合わせて書き変える.例えば"ifort","g95".    > make main.good main.bad main.init main.good2   > ./main.good   > ./main.good2   > ./main.init   > ./main.bad   TESTSUB: WK=20, WK should be 20   が帰ってこればOK..らしい. 2)NCLのインストールには多くのソフトのインストールが必要だが、NCARGだけであれば、HDF-4だけあればOK(らしい).   2-1)HDFのインストール の前に、HDF-4に必要とされるソフトをインストール.   HDFのページ(http://www.hdfgroup.org/products/hdf4/index.html)へ行って、   external libraries (szip, zlib, jpeg)のソースをダウンロード.   2-2) szipをインストール      > tar -zxvf szip-2.1.tar.gz   > ./configure --prefix=/usr/local   > make   > make install   > cp szip/lib /usr/local/lib   > cp szip/include /usr/local/include  2-3) jpegもインストール   > tar -zxvf jpegsrc.v6b.tar.gz   > ./configure   > make   > make install      manのコピー時にエラーがあったので、   > mkdir /usr/local/man/man1   > /usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1   2-4) zlibも同様にインストール.   2-5) HDFをインストール   > tar -zxvf HDF4.2r3.tar.gz   > export CC=icc   > export F77=ifort   > ./configure --with-zlib=/usr/local --with-jpeg=/usr/local --prefix=/usr/local/HDF4.2r3 --disable-netcdf   > gmake >& gmake.out   > gmake check >& check.out   > gmake install     PATH, LD_LIBRARY_PATHの設定をする.   2-6) 今後のために、ついでにf2cをインストール   http://www.netlib.org/f2c/ から libf2c.zipとsrcをダウンロード.   /usr/local/src/f2c などに入れる.   <解凍>   cd f2c   cd src   gzip -d *.gz   cd ..   mkdir libf2c   mv libf2c.zip libf2c   unzip libf2c.zip   <コンパイル>   cd src   cp makefile.u makefile   make   cd ../libf2c   make -f makefile.u   できたファイルをパスの通っている所に置く.   cp src/f2c /usr/bin   cp libf2c/libf2c.a /usr/lib   cp f2c.h /usr/include   cp f2c.1 /usr/share/man/man1   ranlib /usr/lib/libf2c.a 3)NCLのソースコードからNCARGをインストール.  NCL version5 以降はNCLとNCARGのソースが一緒になっている.  このため、NCARGのみをインストールする時でも、NCLをコンパイルする形になる.  3-1) ソースをダウンロード   > tar -zxvf ncl_ncarg_src-5.0.0.tar.gz   > export NCARG=/usr/local/src/NCL/ncl_ncarg-5.0.0
  
そのままインストールすると、メッセージが出るので、一部書き変える.    ncarview/src/lib/libncarg_ras/hdf.c     #include <hdf/hdf.h>     #include <hdf/df.h>     #include <hdf/hfgr.h>     を     #include <hdf.h>     #include <df.h>     #include <hfgr.h>    へ.   
wrapit.c のデバッグ情報があるので、新しいwrapit.c を ni/src/mkwrap/wrapit.c にコピーする.    詳しくは=> http://www.ncl.ucar.edu/Download/build_from_src.shtml#Troubleshooting   
ictrans のコンパイル時にエラーが出てしまうのを避けるため、一部書き変える.        ncarview/src/bin/ictrans/yMakefile     を開き、      SYS_LIBS = $(MORE_LIBS)     を      SYS_LIBS = -Im -Iifcore -If2c $(MORE_LIBS)     とする.     make local-Makefile    ※上記に変更してもictransのコンパイルには失敗した.解決策は未解明.
 3-2) インストール   > cd $NCARG/config   >make -f Makefile.ini   > ./ymake -config `pwd`   > grep SYSTEM_INCLUDE Makefile  とすると、例えば   > SYSTEM_INCLUDE = "LINUX"  などと返ってくる.  "LINUX"と返って来た場合には、LINUX* をconfiguration file として使う.  $NCARG/config を見ると、LINUX用だけでもたくさんのconfiguration fileが用意されている.今回は、64bitマシーンにIntel fortranを使ってインストールしたいので、LINUX.IA64.INTELを用いることにする.    > cp LINUX.IA64.INTEL LINUX  LINUXを書き変える.       #define CtoFLibraries "-L/opt/intel/cce/10.1.015/lib" -Im -Iifcore    #define ArchRecLibSearch -L/usr/lib/X11 -L/usr/local/netcdf-3.6.2-ifort/lib -L/usr/local/HDF4.2r3/lib    #define ArchRecIncSearch -I/usr/include/X11 -I/usr/local/netcdf-3.6.2-ifort/include -I/usr/local/HDF4.2r3/include "-I/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include"    > cd $NCARG    > ./Configure -v   いくつか質問をされる.ここでは、NCARGをインストールしたいので、     Build NCL (y)?     >n     Parent installation directory : /usr/local/ncarg     > Enter     System temp directory : /tmp     > Enter     Build HDF support into raster library? (y)     > yes     Enter local library search path(s) : /usr/X11R6/lib     > /usr/lib/X11     Enter local include search path(s) : /usr/X11R6/include     > /usr/include/X11     Go back and make more changes or review? (n)     > Enter     Save current configuration ? (y)     > Enter   configuration が終わったら、正しいコンパイラー、オプション、パスが設定できているかを確認するために、     > make Info   設定がOKそうであれば、build とinstall process に入る.     > make Everything >& make-output &     > tail -f make-output     3-3)高解像度の海岸線データを使えるようにする.     Rainer Feistel のサイト(http://www.io-warnemuende.de/homepages/rfeistel/)へいって     以下のものをダウンロードする.       rangs(0).zip gshhs(0).zip      rangs(1).zip gshhs(1).zip      rangs(2).zip gshhs(2).zip      rangs(3).zip gshhs(3).zip      rangs(4).zip gshhs(4).zip     全てを解凍し、インストール先ディレクトリの           ncarg/lib/ncarg/database        の下にrangsというディレクトリを作って、その中に移す.     容量は200MB程度なので、あまり問題ないが、別の場所においておきたい場合は     下記の環境変数の NCARG_RANGS で指定する.   3-4)環境変数の設定     export NCARG_ROOT=/usr/local/ncarg     export PATH=${PATH}:${NCARG_ROOT}/bin     export NCARG_RANGS=${NCARG_ROOT}/lib/ncarg/database/rangs     export MANPATH=${MANPATH}:${NCARG_ROOT}/man   ※ ictrunsにエラーが出て、コンパイルがうまくいかない.その他の実行ファイルはOKそう.   ※ lib/ncarg/database/rgb.* もない.    これらは未解決.

RIP

4)RIP4をインストール.   4-1)tar file を解凍.    tar -zxvf RIP4.tar.gz    cd RIP4    export RIP_ROOT=/usr/loca/src/RIP/RIP4      4-2)Makefileを書き変える.今回はifortでコンパイルするので、intel の部分のみ書き変える.    intel:      ・・・      ・・・    "LIBS = -L$(NCARG_ROOT)/lib -lncarg -lcgm -lncarg_gks -lncarg_c -L/usr/lib64/X11 -lX11 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -L/usr/lib -lf2c"       4-3)makeする.    make intel >& make.out &