気象データ解析ツールであるGrADSについての情報をまとめています。

追加された行はこの色です。
削除された行はこの色です。

このwiki内では、グリッドファイル(GrADS 4byteバイナリ、特に断らなければdirect書き込み)を〜.bin、コントロールファイルを〜.ctl、変数名をvarと表記します。
このwiki内では、グリッドファイル(GrADS 4byteバイナリ、特に断らなければdirect書き込み)を〜.bin、コントロールファイルを〜.ctl、変数名をvarと表記します。

#contents


**気温、温位変換

気温⇒温位

d t*pow(1000/p,0.2857)

=|BOX|
t : 気温(K)
p : 気圧(hPa) 正しい気圧座標になっていれば"lev"でよい
1000 : 温位計算時の標準的な参照圧力(通常1000hPa)
||=

**比湿、気温、相対湿度変換

比湿、気温⇒相対湿度変換

=|BOX|
es=6.1078*pow(10,(7.5*(t-273.15)/(t-273.15+237.3)))
a=217*es/t
row=p/(2.87*t)
qs=a/1000/row
d q/qs
||=

=|BOX|
t : 気温(K)
q : 比湿(kg/kg)
p : 気圧(hPa) 正しい気圧座標になっていれば"lev"でよい
||=

http://shimizus.hustle.ne.jp/wiki/wiki.cgi?page=GrADS%A5%E1%A5%E2

**海面更正気圧

高度、地上気温、地上気圧から海面更正気圧を算出

(変数)高度:distsfc[gpm] 地上気温:tmpsfc[℃] 地上気圧:pressfc[hPa]
(定数)気温減率6.5[K/km]
→海面更正気圧[hPa]
pressfc*pow(1-0.0065*distsfc/(tmpsfc+0.0065*distsfc), -5.257)

[[海面更正気圧の計算>>http://www.es.ris.ac.jp/%7Enakagawa/met_cal/sea_press.html]]



**質量流線関数(東西平均子午面循環)


&ref(https://image01.seesaawiki.jp/y/e/ykamae_grads-note/dd8132ba7b744c8b.png,400)
([[Kamae et al. (2011)>>https://www.jstage.jst.go.jp/article/jmsj/89/5/89_5_475/_article]] より)

[[用語集(ヘルムホルツの定理)>>http://kobam.hp.infoseek.co.jp/meteor/helmholtz.html]]
[[流線関数をベクトルで理解する方法(.ppt)>>http://www.bio.mie-u.ac.jp/%7Etachi/kogi/fluid2009-www7.ppt]]

南北風速から東西平均質量流線関数を算出

(変数)東西平均南北風速:zv[m/s]
(定数)地球半径6.37x10^6[m] 円周率3.1416
→質量流線関数[kg/s]
(vint(lev(z=1),zv,10)-vint(lev(z=1),zv,'zlv'))*2*3.1416*6.37e6*cos(lat*3.1416/180)

質量流線関数 原著:[[Oort and Yienger 1996>>http://ams.allenpress.com/perlserv/?request=get-abstract&doi=10.1175%2F1520-0442%281996%29009%3C2751%3AOIVITH%3E2.0.CO%3B2]]

[[IT memo>>http://meteora.ucsd.edu/%7Ekyoshimura/?IT%20memo%2FGrADS%20memo]]

例.
NCEP/NCAR R1 の長期平均monthly南北風データを使用

wget ftp://ftp.cdc.noaa.gov/Datasets/ncep.reanalysis.derived/pressure/vwnd.mon.ltm.nc

各層の質量流線関数を計算

=|BOX|
'!rm -f hadley.bin'
'reinit'
'sdfopen vwnd.mon.ltm.nc'

t=1
while(t<=12)
'set t 't''
'set lon 0'
'set z 1 17'
'zv=ave(vwnd,lon=-180,lon=180, -b)'

z=2
while(z<=17)
'set z 'z''

'q dim'
res=sublin(result,4)
zlv=subwrd(res,6)
'set fwrite -le tmp.bin'
'set gxout fwrite'
'd (vint(lev(z=1),zv,10)-vint(lev(z=1),zv,'zlv'))*2*3.1416*6.37e6*cos(lat*3.1416/180)'
'disable fwrite'
'!cat tmp.bin >> hadley.bin'

z=z+1
endwhile
t=t+1
endwhile
'disable fwrite'
'!rm -f tmp.bin'
'quit'
||=

hadley.ctl

=|BOX|
dset ^hadley.bin
title monthly longterm mean v wind from the NCEP Reanalysis
undef -9.96921e+36
options little_endian
xdef 1 linear 0 2.5
ydef 73 linear -90 2.5
zdef 16 levels 925 850 700 600 500 400 300
250 200 150 100 70 50 30 20 10
tdef 12 linear 00Z01JAN0001 1mo
vars 1
msf 16 16 mass stream function
endvars
||=


**波活動度フラックス(Wave Activity Flux; WAF)

Takaya and Nakamura (2001)によるWave Activity Fluxの算出(GrADS Script)

http://www.atmos.rcast.u-tokyo.ac.jp/nishii/programs/index.html


**面積

極から緯度latまでの球の表面積 [km2]

2*3.1416*pow(6.37*pow(10,3),2)*sin(abs(lat)*3.1416/180)

経度間隔dlon, 緯度間隔dlatの格子の面積 [km2]

=|BOX|
2*3.1416
*pow((6.37*pow(10,3)),2)*(sin(((abs(lat)+dlon/2)*3.1416)/180)
-sin(((abs(lat)-dlon/2)*3.1416)/180))
*dlat/360
||=

変数varがhoge以上である格子の面積(等緯度経度格子,格子数nx,ny) [km2]

=|BOX|
sum(
sum(
maskout(
2*3.1416*pow((6.37*pow(10,3)),2)*(sin(((abs(lat)+dlon/2)*3.1416)/180)
-sin(((abs(lat)-dlon/2)*3.1416)/180))*dlat/360,
var-hoge),
x=1,x=nx),
y=1,y=ny)
||=


~~
~~
~~
~~
~~
~~

管理人/副管理人のみ編集できます