玉川研究室で、CReSS を使うには。5-5
実際に計算を行ってみる。(続き)

この前のページ までで、ほとんどの 設定を行なったので、いよいよ計算を実行する。
以下、 「計算の実行 Start」 で作成した 実行ファイルを使用する。
また、今まで設定してきた user.conf のファイル名を user.conf.Takamaya2006a とする。

標高データの変換

地形篇 で作ったようなバイナリのべた書きのデータは
terrain.exe を使って、CReSS の本体である solver.exe が使用する形に変換する必要がある。
まず、地形篇でつくった Takayama21.ter を、terrain.exe が想定しているファイル名に 変えつつ持って来る。
rsh tamacalc2
cd  (CReSSを展開して、solver.exe terrain.exe などを作ったディレクトリ)
cp 地形データのあるディレクトリ名/Takayama21.ter data.terrain.bin
./terrain.exe < user.conf.Takayama2006a
ただし、コンパイル時に -fast を付けて強い最適化を行なっているので、
並列計算機のフロントエンドのPC (tamacalc1) では動かない。
rsh tamacalc2 などを行ない tamacalc2 〜 tamacalc9 のPCで実行する必要がある。
(追記) -fast でコンパイルするのは、あまりお勧めしない。
(追記)-O3 程度の方が よさそうである ( solver の動作などで問題がでる )。
(追記)もし -O3 でコンパイルした場合、上の例の最初の rsh tamacalc2 は不要である。

で、実際やってみると
./terrain.exe < user.conf.Takayama2006a
Now the program, terrain start.
 
  ##### Information #####
 
  i/o: subroutine, rdname;
    Read out user configuration from the standard input.
	:	:	:
	中略
	:	:	:
    htmax  =  0.31890000E+04 [m]     at (  2642,  2487,     1)
    htmin  = -0.10000000E+01 [m]     at (   932,     1,     1)
 
  error: subroutine, hint2d;
    Can not go on with this calculation.
 
This program stopped abnormally.
となって動かなかった。どうやら地形データの領域が計算対象領域よりも せまそうだ。ためしに、格子数を変えずに 1km 間隔にすると動作した。
ということで、地形データを作り直す必要がある。地図データ1ファイルで、50m * 200 = 10km ほどしかないので、21枚では 210km 、あぁ、確かにギリギリアウトな勘定である。
ということで、192.168.1.1 あるいは 192.168.1.12 上で、地形データの処理を 以下のように行なう。
適当なディレクトリで、
 cc ForCReSS_ter.c -o ForCReSS_ter
 ./ForCReSS_ter < SAMPLEDATA2 |& tee LOG24
これで、Takayama24.ter ができる。
上で使ったファイルのダウンロードは である。LOG24 を見ると、(tail LOG24 など)
for CReSS information  ( 1 , 1 ) (center of lowest left grid) =
         ( 135.872451 , 35.170070 )  in deg. 
                         data number 4800 x 4800
dx 0.000625 dy 0.000417 deg.
Upper Right = ( 138.872451, 37.171670)
と書かれているので、user.conf.Takayama2006a の該当箇所を書き換える必要がある。
また、地形データのチェックスクリプトの該当箇所も書き換える必要がある。
user.conf.Takayama2006a の該当箇所 (変更後)
 &gridset_trn
  xdim_trn = 4800
  ydim_trn = 4800
  dx_trn   =    0.000625
  dy_trn   =    0.000417
  ulat_trn =   35.170070
  ulon_trn =   135.872451
  riu_trn  =    1.e0
  rju_trn  =    1.e0
 /
そして、また terrain.exe を実行する。
cd CReSSのあるディレクトリ
cp データのあるディレクトリ/Takayama23.ter data.terrain.bin
rm takayama2006a.terrain*
./terrain.exe < user.conf.Takayama2006a
今度は、This program stopped normally. と終了する。(めでたしめでたし)

土地利用データ

こんどは、 土地利用データ篇で作成した、Land-130-30-145-45-C を使って、
陸面の土地利用データを作成する。
cp ディレクトリ名/Land-130-30-145-45-C  data.land.bin
./surface.exe < user.conf.Takayama2006a 
あれれ。。。(あ、最初は、3秒間隔と間違って設定していた。本当は30秒だった [8/7])
正しくすると、
./surface.exe < user.conf.Takayama2006a
	:	:	:
	省略
	:	:	:
  i/o: subroutine, outsfc;
    Read in the data to the file(s) of unit number 0011.
 
  i/o: subroutine, outsfc;
    Closed the file(s) of unit number 0011.
 
  ####################
 
This program stopped normally.
と終了する。さ、次は気象データの変換だ
前に戻る , 次へ