地球環境観測: 地球環境観測データ観察実習 (7)
同化データの観察

GrADSで4次元時空間データの2次元断面を見る

GAME再解析の「3次元解析値」は、東西(経度)、南北(緯度)、鉛直(気圧座標)、 時間(年月日時)の4次元時空間中の格子点の値をもったデータである。 GrADSは、次のことができる。

  1. 3つの次元の座標値を固定し、 残りの1つの次元を画面の横軸として数量の折れ線グラフを表示する。
  2. 2つの次元の座標値を固定し、 残りの2つの次元を画面の横軸・縦軸として数量の分布を表示する。
  3. 1つの次元の座標値を固定し、 残りのうち2つの次元を画面の横軸・縦軸とし、 もう1つの値をひとつずつ変えながら、アニメーションのような形で数量の分布を表示する。

このうちいちばんよく使われる機能は「2」なので、 ここではそれをおもに説明する。 その他の機能は、 [GrADSの使いかた]のページ およびGrADSのドキュメント(英語, HTML形式で /pub/sfc/earthobs/prog/grads/html/の下にある)を参照。

以下に説明する例は、 anal.ctlを作業ディレクトリにコピーしたうえで、 gradsを起動し、 その中でopen anal.ctlを実行したあとの操作である。 なお、GrADSの終了はquit

水平2次元の表示

まず、時刻を指定する。 時刻の指定方法はtimetがある。 たとえば1998年5月17日世界時12時ならば、 set time 12z17may1998という形で指定できる。 ここで大文字・小文字の区別はない。 日時の指定の細かいほうから順になっている。 「z」は24時間法による世界時の時間(hour)単位の時刻を示す気象分野の符丁である。 月は英語の月名の頭3文字で指定する。 ここで見ているファイルに含まれた時刻の通し番号をtで指定することもできる。 たとえば、今回の教材用に用意したanal.ctlの場合には、 5月16日0時から6時間おきのデータが含まれているので、 set t 7で、上と同じ時刻のデータを選択することになる。

次に、鉛直座標値を指定する。 指定方法はlevzがある。 ここでは気圧座標が使われているので、 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とみなされる。

なお、shadedgrfillでは、 displayを実行しただけでは色と数値の関係がわからないが、 そのあとにcbarを実行すれば、 color barの形で色と数値の関係が示される。 (このコマンドはscriptなので、正しくはrun cbar.gsだが、 省略形としてcbarだけでよい)。 また、cbarnは少し変形されたcolor barで、 barの両端の部分がとがった三角形で示される。

2次元のベクトル量の表示方法には、次のようなものがある。 とくに指定しなければvectorとみなされる。

表示する。 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 xyrevset yflipの記憶は消えてしまう。


2005-12-22, 2006-12-16
増田 耕一 (環境情報学部 非常勤講師)
[同化データの観察(GrADS)の主ページへ] [実習教材の目次へ] [地球環境観測2006の日程へ]