今までのページでは、以下のことを説明した。
まず、概略をのべると以下のような形になる。
mkdir Takayama2006 cd Takayama2006 tar zxvf ~tama/CRESS/Tars/cress2.1m.tar.Z cd CReSS2.1m vi User_Mod/declmpi.f90 ( declmpi.f90 の編集ができれば良い。vi で なければならない必要は全然ない。vi を起動して 出方がわからなくなったら、エスケープキー : q! で 終了できる。) 16行目の use mpi を 行頭の ! でコメントアウトして、 18行目の ! include 'mpi.h' の行の ! を空白で置き換えて活かす compile.conf の中で以下を設定 LDFLAGS = -O3 FFLAGS = -O3 FC = ifort ( ubuntu1 などでは gfortran [2011追加])ここで、必要なソフトをコンパイルする。
./compile.csh gridata ./compile.csh terrain ./compile.csh surface ./compile.csh unitesolver だけは、もしかしたら -O3 じゃなく -fast でコンパイルした方が
./compile.csh solver再度、コンパイルする必要があれば、
./compile cleanを行った後、上を繰り返す。
cp /home/tama/CRESS/Tars/user.conf.2.1m.recommend ./そして、user.conf の編集に入る。
&sysdep wlngth = 1 savmem = 1 /となる。
&runame exprim = 'takayama2006a' /と設定する。
CPU数、格子数、計算範囲を次に設定する訳だが、今回は、MANAL の 10km の 1/5 と
少し小さめの 2km の水平格子で、100前後の格子数、にすることにする。中心の緯度経度は、
うちの研究室で使っている、杉林タワー ( 21世紀COE「衛星生態学創生拠点」
常緑針葉樹観測サイト = C50サイトの観測タワー) の位置
( 北緯36度08分23秒、東経137度22分15秒、標高800m) を使う事にする。
36度08分23秒 = 36.13972、137度22分15秒 = 137.37083 である (うーん、中途半端な。。) 。
また、CPU数と格子数には依存関係があって、X (Y) 方向の格子数 xdim (ydim) は、
X (Y) 方向の領域分割に使うCPU数 xpedim (ypedim) と、
xdim = n * xpedim + 3
( ydim = m * ypedim + 3 ) の関係 (m,n は自然数)を
満たさないといけない。
ここでは、全てのCPUを使う事にして、 xpedim = 2 ypedim = 4 とすることにすると
xdim = ydim = 103 が条件を満たす格子数である。
鉛直方向には、対流圏界面を越えるところまで計算領域を取りたい
(対流雲が発達すれば、そこらへんまで上昇するから) 、
一方、地面に近い所は、観測タワーの高度の30m程度の格子は欲しい。
しかし、例えば、鉛直方向に 12km くらい
取ることにすると、12*1000/30 = 400 格子となり、
とても取れる量ではない。また、非常に偏平な格子になることも気になる (これは、なかなか回避できないが)。
そこで、平均200m間隔の格子を 60個用意することにして、その格子間隔を
下の方を小さく、
上で大きくなるように全層でストレッチングする(最下層が30m)ことにする。
(ちょっと無理しているかも知れない。)
こんなことを考えて、以下のように設定する。
&dimset xpedim = 2 ypedim = 4 xdim = 103 ydim = 103 zdim = 60 / &project mpopt = 2 nspol = 1 tlat1 = 30.e0 tlat2 = 60.e0 tlon = 137.4e0 / &gridset dx = 2000.e0 dy = 2000.e0 dz = 200.e0 ulat = 36.13972e0 ulon = 137.37083e0 riu = 51.e0 rju = 51.e0 / &gridsth zsfc = -0.001e0 zflat = 12000.e0 sthopt = 1 dzmin = 30.e0 layer1 = 0.e0 layer2 = 12000.e0 /ここで、project は計算領域の地図の設定である。