時間間隔:6h (月平均も有)
格子系:等緯度経度2.5度, 等緯度経度1.25度, T106ガウス格子
Grib形式なので、wgribでバイナリに出力してFortranでがちゃがちゃ計算してもいいが、ほとんどのことはGrADSでできてしまうのでそれでいいかと。
陸面解析値anl_landは、2.5度格子しか提供されていないので、モデルで初期値を作るときには他のデータと一致させるために1.25度に内挿
WRFでVtableが用意されていないので、Vtableを作るかJRAデータを直接読んでWRFの中間ファイル形式で出力することが必要
時間間隔:6h
WRFでVtableが用意されているのでungrib.exeすればO.K.
JRA25/JCDASは、GrADSで読むのが簡単なのでそのままGrADSでコンポジットする方法を説明する。
*>grads -bp *>run composite.gs 'set display color white' 'c' 'set grads off' 'set mpdset hires' 'set mpt 0 1 12' ***Read topography data************ 'sdfopen topojra.grd' 'set lon 70 110' 'set lat 20 40' 'set xlopts 1 0 0.15' 'set ylopts 1 0 0.15' 'color 3000 7000 4000 -kind white->lightgray->lightgray -gxout grfill' 'd z' 'a=z' 'close 1' ************************************ 'open alldata.ctl' i=1 var1='hgtprs' var2='ugrdprs' var3='vgrdprs' 'hall=0' 'uall=0' 'vall=0' '!wc -l filelist.txt > file_num.txt' '!basename `pwd` >> file_num.txt' num = read(file_num.txt) number = sublin(num,2) number = subwrd(number,1) say 'number of file = 'number num = read(file_num.txt) dirname = sublin(num,2) say 'directory name = 'dirname '!rm file_num.txt' while (i<=number) 'set lev 200' 'set lon 70 110' 'set lat 20 40' ********************Read event occured date**************** ret = read(filelist.txt) intime = sublin(ret,2) 'set time ' intime 'h='var1 'u='var2 'v='var3 'hall=hall+h' 'uall=uall+u' 'vall=vall+v' **************************************************** i=i+1 endwhile i=i-1 'set xlopts 1 0 0.15' 'set ylopts 1 0 0.15' 'aveh=hall/'i 'aveu=uall/'i 'avev=vall/'i 'set gxout contour' 'set ccolor 1' 'set cint 20' 'set cthick 10' 'set clopts 1 0 0.15' 'set clskip 2' 'd aveh' 'set gxout vector' 'set cthick 4' 'set ccolor 1' 'set arrowhead 0.1' 'set arrscl 0.5 30' 'd aveu;avev' 'draw title 'dirname'-composite' 'printim 'dirname'-compositeALL_200hPaH.png' 'set gxout fwrite' 'set undef -9999' 'set fwrite 'dirname'ALL_200hPaH.bin' 'd aveh' 'd aveu' 'd avev' 'disable fwrite' 'quit'
地形データをtopojra.grd、コンポジットの元となるファイルのリストをfilelist.txt、データのGrADS ctlファイルをalldata.ctlとしている。
当然、GrADS idxファイルは新しく作成したものを用いる。詳しくは[Grib用のidxファイルの作成]を参照。
気圧、水平風のコンポジットを作成している。まず、filelist.txtからデータの数を読み取りその数までwhile文を用いて値を足し続け、最後にデータ数で割っている。
例えばデータ数が30個だとすると、while文を30以下の間繰り返す=31になったら終わりということになる。最終的に割るときにはデータ数は31ではなく30なのでendwhileの後でi=i-1をして調整している。