geoss01(京大防災研水資源研究センターのPCクラスター)でCReSiBUCの並列版を動かす 基本的に,cresibuc_m.exeを動かすために必要なファイルが /home/userの下に実体として(リンクでなく)ある必要があります. また,並列計算の管理にPBSを使用できるので, mpirunで直接jobを投げるのではなく, できるだけqsub等PBSのコマンドを使うようにしたほうがよいです. ~/CReSiBUCver1.3をそのままコピーする方法もありますが, 大型計算機センターへの適用を頭において, 必要最小限のファイルだけをコピーするようにします. 1. geoss01にログインして $unlimit これをしておかないと, surface4urbでメモリが足りなくなります. 2. $cd ~/CReSiBUCver1.3/src_2.2m $ csh ./compile4ifort.csh terrain4cresibuc $ csh ./compile4ifort.csh surface4urb (or surface4lnd) $ csh ./compile4ifort.csh surface4sfc $ csh ./compile4ifort.csh gridata_msm $ csh ./compile4ifort.csh gridata_crs 3. $cd ~/CReSiBUCver1.3/script cress2.2mMSMkanto2.plを編集して ($SOLV,$UNITをxにして,実行されないようにしておく) $perl ./cress2.2mMSMkanto2.pl これでcresibuc_mの実行に必要なデータが~/CReSiBUCver1.3/WORKDIRに作成される 4. pbsexe.cshを編集 WORKDIRはcress2.2mMSMkanto2.plで指定した$wrkpathと同じにする WORKDIR2はコピー先(/homeの下にすること) CPUNUMSは使用するCPU数(user.conf,cress2.2mMSMkanto2.plのrunoptと一致するよう) $csh pbsexe.csh これで/home/の下に~/CReSiBUCver1.3/WORKDIR, ~/CReSiBUCver1.3/src_2.2m, ~/CReSiBUCver1.3/bin等がコピーされ, cresibuc_mがコンパイルされ, jobj.shに書かれたジョブがPBSにsubmitされる. 5. 終わるまでまつ. $qstat (-a, -n) でジョブの状況を確認できます. また, $qdel ???? (????はqstatで表示されるjob id) でジョブを強制終了できます. 6. 終わったら ~/CReSiBUCver1.3/scriptの getout.cshを編集 WORKDIRはcress2.2mMSMkanto2.plで指定した$wrkpathと同じにする WORKDIR2はコピー元(/homeの下にすること) 基本的にpbsexe.cshと同じにすること $csh getout.csh モデルアウトプットを/home/user/CReSiBUCver1.3/WORKDIRから ~/CReSiBUCver1.3/WORKDIRへコピーし, unite4cresibucをコンパイルし,実行する. 文責:相馬