GAME再解析の「3次元解析値」は、東西(経度)、南北(緯度)、鉛直(気圧座標)、 時間(年月日時)の4次元時空間中の格子点の値をもったデータである。 GrADSは、次のことができる。
このうちいちばんよく使われる機能は「2」なので、
ここではそれをおもに説明する。
その他の機能は、
[GrADSの使いかた]のページ
およびGrADSのドキュメント(英語, HTML形式で
/pub/sfc/earthobs/prog/grads/html/
の下にある)を参照。
以下に説明する例は、
anal.ctl
を作業ディレクトリにコピーしたうえで、
grads
を起動し、
その中でopen anal.ctl
を実行したあとの操作である。
なお、GrADSの終了はquit
。
まず、時刻を指定する。
時刻の指定方法はtime
とt
がある。
たとえば1998年5月17日世界時12時ならば、
set time 12z17may1998
という形で指定できる。
ここで大文字・小文字の区別はない。
日時の指定の細かいほうから順になっている。
「z」は24時間法による世界時の時間(hour)単位の時刻を示す気象分野の符丁である。
月は英語の月名の頭3文字で指定する。
ここで見ているファイルに含まれた時刻の通し番号をt
で指定することもできる。
たとえば、今回の教材用に用意したanal.ctl
の場合には、
5月16日0時から6時間おきのデータが含まれているので、
set t 7
で、上と同じ時刻のデータを選択することになる。
次に、鉛直座標値を指定する。
指定方法はlev
とz
がある。
ここでは気圧座標が使われているので、
lev
では気圧(単位はhPa)の値を指定する。
熱帯の気象をみる際には、850 hPaと200 hPaを対流圏下層と上層の代表とすることが多い。
850 hPaのデータを選択するならば、set lev 850
とする。
z
のほうを使って、このデータセットにある鉛直座標値の通し番号を指定することもできるが、あまり勧めない。
必要ならば緯度・経度範囲を指定する。
とくに指定しなければデータの存在する範囲、GAME再解析の場合ならば全球が対象となる。
経度はlon
で指定でき、東経を正とし「度」単位で指定する。
西経の経度は、負の値または180をこえる値で指定する
(今回用意したデータではどちらの形でも指定できるはずだが、よく確かめていない)。
緯度はlat
で指定でき、北緯を正とし「度」単位で指定する。
たとえば、南緯10〜北緯20度、東経90〜120度の範囲を指定したいならば、
set lat -10 20
set lon 90 120
のようにする。また全球にもどしたいならば、
set lat -90 90
set lon 0 360
のようにする。
経度はx
、緯度はy
を使って格子線番号で指定することもできる。
表示方法を指定する。
2次元のスカラー量(ベクトルでない量)の表示方法には、次のようなものがある。
set gxout grfill
などのような形で指定する。
とくに指定しなければcontour
とみなされる。
contour
... 等値線shaded
... 等値線による塗りわけgrfill
... ます目ごとの塗りわけgrid
... 図上に数字で数値を表示shaded
やgrfill
では、
display
を実行しただけでは色と数値の関係がわからないが、
そのあとにcbar
を実行すれば、
color barの形で色と数値の関係が示される。
(このコマンドはscriptなので、正しくはrun cbar.gs
だが、
省略形としてcbar
だけでよい)。
また、cbarn
は少し変形されたcolor barで、
barの両端の部分がとがった三角形で示される。2次元のベクトル量の表示方法には、次のようなものがある。
とくに指定しなければvector
とみなされる。
vector
... 各格子点での矢印stream
... 流線表示する。
display
(省略形 d
)のあとに空白をあけて変数名をかく。
変数名を確認したいときはq file
を実行してみればよい。
ベクトル変数の場合は、d u;v
のような形でセミコロンを使って2つの変数を指定する。
display
を続けて実行すると同じ画面に重ねてかかれるが、
重ねて理解できる図にするためにはあらかじめ表示方法をうまく選択しておく必要がある。
clear
を実行すれば画面が空白になり、あらためて作図をする準備ができる。
ここでは、変数u
(風速の東西成分、西風が正)の南北・鉛直断面を
見ることにする。
東西・鉛直断面の場合は、緯度と経度の役割が逆になると考えればよい。
水平2次元の場合と同様に時刻を指定する。
断面をとる経度を指定する。
東経100度ならば、set lon 100
。
必要ならば緯度範囲を指定する。
表示方法を指定する。
表示する。display u
。
この場合、横軸は緯度、縦軸は気圧となる。
なお、display
の前にset zlog on
を実行しておけば、
縦軸が気圧の対数に比例するようにとられる(目盛りに書かれる数値は気圧の値)。
気圧の対数の差は、大まかには高さの差に比例する。
ここでは、変数u
の南北・時間断面を
見ることにする。
東西・時間断面の場合は、緯度と経度の役割が逆になると考えればよい。
時刻の範囲を指定する。
今回用意したデータの期間全体ならば、
set time 00z16may1998 18z15jun1998
。
鉛直座標値を指定する。たとえばset lev 850
。
断面をとる経度を指定する。たとえばset lon 100
。
必要ならば緯度範囲を指定する。
表示方法を指定する。
表示する。display u
。
この場合、横軸は緯度、縦軸は日時となる。
ただし、縦軸の時間の値は下から上に向かう。
これを逆にしたければ、
display
の前にset yflip on
を実行しておけばよい。
また、display
の前にset xyrev on
を実行しておけば、
横軸が日時、縦軸が緯度となる。
ただし、clear
を行なうとset xyrev
や
set yflip
の記憶は消えてしまう。