[ 岡山大学 | 理学部 | 地球科学科 | 地球および惑星大気科学研究室 ]

大気科学演習1

gnuplot

3次元データ

シンガポール上空の風(データのソース

/home/atmos/ipesc/sample/qbo/

各圧力面の風速を抜き出したものが,10hPa.dat, 12hPa.dat, ... などというファイル名で保存されている. 1列目は1987年から数えた月数(1987年1月が1,1988年1月は13,以下略),2列目は圧力(hPa),3列目は月平均の東西風速(0.1 m/s). 各列は「,」はで区切られている.

準2年周期振動

まず,20 hPa の風速を描いてみる.

gnuplot> set datafile separator ','
gnuplot> plot '20hPa.dat' u 1:3 with lines



横軸を年に,縦軸を m/s にする

gnuplot> plot '20hPa.dat' u (($1-0.5)/12+1987):($3/10) with lines



正の風速は西風,負の風速は東風. シンガポール上空の成層圏(20 hPa はおおよそ高度27 km くらい)の風は,東風になったり西風になったりしている. かっちりした周期があるわけではないが,平均すると約27ヶ月の周期で振動しているため,準2年周期振動(quasi-biennial oscillation, QBO)と呼ばれている.

もうひとつ,別の高度の風速を重ねて描いてみる.

gnuplot> plot '20hPa.dat' u (($1-0.5)/12+1987):($3/10) with lines, '40hPa.dat' u (($1-0.5)/12+1987):($3/10) with lines



40 hPa でも同様に振動しているのだが,位相が少しずれている(振幅もちょっと違う). 拡大してみると,よくわかる.

gnuplot> set xrange [2000:2010]
gnuplot> replot



3次元データの可視化

複数の高度で風速の測定がされているので,全部まとめて図にしてみる. 全部をひとつにまとめたファイル all.dat を使って

gnuplot> splot 'all.dat' u (($1-0.5)/12+1987):2:($3/10)



3次元でプロットしただけだと,よくわからない.

3次元プロットをやめて,等値線を描いてみる.

gnuplot> unset surface
gnuplot> set contour
gnuplot> set view map
gnuplot> set logscale y
gnuplot> set yrange [100:10]
gnuplot> splot 'all.dat' u (($1-0.5)/12+1987):2:($3/10) with lines



縦軸は上が高高度で下が低高度になっていて欲しいので,yrange で縦軸をひっくり返している. また,縦軸を対数にした(圧力は高度の指数関数で変化する(静力学平衡の関係は覚えていますよね?)ので,圧力の対数は高度に比例する). 風向の入れ替わりは,高い高度の方が先で,低い高度へとだんだん降りてくる(20 hPa の風速と 40 hPa の風速を比べたとき,位相がずれていたのはこのせい).

風向の変化がわかりやすくなるように,色を付けてみる.

gnuplot> unset contour
gnuplot> unset key
gnuplot> set surface
gnuplot> set palette defined(-1 "blue", 0 "white", 1 "red")
gnuplot> set cbrange [-50:50]
gnuplot> set pm3d interpolate 0,0
gnuplot> splot 'all.dat' u (($1-0.5)/12+1987):2:($3/10) with pm3d



青は東風,赤は西風,白は無風. 赤道上空の成層圏の風速は,東風のときの方が西風のときよりも速いので,青と赤は対称になっていない(青い色の領域は赤い色の領域に比べると濃い色で塗られている).




Last Updated: 2022/10/09, Since: 2022/02/26.
This page is generated by Makefile.rd2html.