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

この前のページ で、 地形データと、土地利用データの準備が完了した。
今度は、初期値と境界条件に使用する気象データである。

気象データ篇では

.... として、MANAL_CRESS.tcsh を実行可能にして、
./MANAL_CRESS.tcsh MANAL_2005081200.grb などと、MANAL のファイル名を後に
付けて実行する....
と書かれている。今回は、user.conf.Takayama2006a に
 &flength
  sfcast = '2005/09/07 12:00'
  stime  =     0.e0
  etime  = 86400.e0
 /
と書いたように、2005/09/07 12UTC から 24時間の計算を行なうので、
9/7 12z 18z 9/8 00z 06z 12z の5つのデータを準備する。
そうすると以下のような形で書ける。
( この作業の前に、MANAL_CRESS.tcsh の実行に必要な変更作業等はすんでいるものとする。 気象データ篇 参照のこと )
foreach t (~/JMA_DATA/MANAL_200509/MANAL_200509071* ~/JMA_DATA/MANAL_200509/MANAL_200509080* ~/JMA_DATA/MANAL_200509/MANAL_2005090812.grb )
 ./MANAL_CRESS.tcsh $t
 rm TESTDIR/*
end
そうすると、以下のようなファイルが生成される。
data.gpv200509071200.bin
data.gpv200509071800.bin
data.gpv200509080000.bin
data.gpv200509080600.bin
data.gpv200509081200.bin
これらを、tamacalc2 〜 9 のどれかのCReSS の実行ディレクトリに移動して、
./gridata.exe < user.conf.Takayama2006a
とすると、実験名(今回は takayama2006a)から始まる
takayama2006a.grd.check.txt         takayama2006a.grd043200.pe0004.bin 
takayama2006a.grd000000.pe0000.bin  takayama2006a.grd043200.pe0005.bin 
takayama2006a.grd000000.pe0001.bin  takayama2006a.grd043200.pe0006.bin 
takayama2006a.grd000000.pe0002.bin  takayama2006a.grd043200.pe0007.bin 
takayama2006a.grd000000.pe0003.bin  takayama2006a.grd064800.pe0000.bin 
takayama2006a.grd000000.pe0004.bin  takayama2006a.grd064800.pe0001.bin 
takayama2006a.grd000000.pe0005.bin  takayama2006a.grd064800.pe0002.bin 
takayama2006a.grd000000.pe0006.bin  takayama2006a.grd064800.pe0003.bin 
takayama2006a.grd000000.pe0007.bin  takayama2006a.grd064800.pe0004.bin 
takayama2006a.grd021600.pe0000.bin  takayama2006a.grd064800.pe0005.bin 
takayama2006a.grd021600.pe0001.bin  takayama2006a.grd064800.pe0006.bin 
takayama2006a.grd021600.pe0002.bin  takayama2006a.grd064800.pe0007.bin 
takayama2006a.grd021600.pe0003.bin  takayama2006a.grd086400.pe0000.bin 
takayama2006a.grd021600.pe0004.bin  takayama2006a.grd086400.pe0001.bin 
takayama2006a.grd021600.pe0005.bin  takayama2006a.grd086400.pe0002.bin 
takayama2006a.grd021600.pe0006.bin  takayama2006a.grd086400.pe0003.bin 
takayama2006a.grd021600.pe0007.bin  takayama2006a.grd086400.pe0004.bin 
takayama2006a.grd043200.pe0000.bin  takayama2006a.grd086400.pe0005.bin 
takayama2006a.grd043200.pe0001.bin  takayama2006a.grd086400.pe0006.bin 
takayama2006a.grd043200.pe0002.bin  takayama2006a.grd086400.pe0007.bin 
takayama2006a.grd043200.pe0003.bin  
これだけのファイルが作られる。(今回は8CPU計算なので pe000 - pe007 まである)
註: 2006.8.8 に 気象データ篇を修正した。

さあ、これで、本体の solver.exe を稼働させる環境が整った。
実行してみる。
今回は8CPUの計算なので、実行のためのコマンドは以下の通り (じゃないかなと思う)
bsub -n 8 -o test.out "mpijob mpirun ./solver.exe < user.conf.Takayama2006a > LOG"
そうすると、bsub でコントロールするジョブに関する情報が test.out に
また、solver.exe の実行時のモニター出力が LOG に書き出される。
more LOG などして眺めると、途中で計算結果の最大値、最小値などをチェックして
いるのがわかる。
今回の設定で実行した場合、計算結果が途中でNaN となり計算エラー (多くの場合、発散したことを示す) になっていることが分かる。
そこで、
 &integrat
   dtbig  = 2.e0
   dtsml  =  0.2e0
ここや、
 &flength
  etime  = 120.e0
 /
 &outfomat
  dmpitv =  10.e0
  mxnitv =   10.e0
 /
さらには対応する
 &uniconf_uni
  flitv_uni  =     10.e0
を変更して、実験を繰り返す。(このためにも、最初は短い etime 、短い dmpitv mxnitv での実験が推奨される)
今の所、dtbig = 1秒では動いているようだが、結果を図化して眺めないとなんとも言えない。(2006.8.9)
前に戻る , 次へ