ベクトル場に対して、発散(divergence)という量を計算することができる。
発散の符号を逆にしたものを収束(convergence)という。
3次元ベクトルについて3次元の発散を考えることも多いが、
ここでは水平2次元のベクトルについて2次元の発散を考える。
地球上に分布する量を扱う際には球面で考えるべきである(さらに楕円体の扁平率も考慮することがある)が、
話を簡単にするつごうで、直交直線座標で説明する。
(x,y)平面にV = (u,v)というベクトルがあるとする
(uがx方向、vがy方向の成分)。
このベクトルの発散は、
div
V = ∂u/∂x + ∂v/∂y
である。
微分でなく、x, y方向それぞれの幅がΔx、Δyである箱で考えれば、
この箱での平均の発散は Δu/Δx + Δv/Δyである。
ここで、Δu、Δvの符号のとりかたに注意。 たとえば、Δu/Δx = (u2-u1) / (x2-x1) のように、分子・分母の差をとる向きを対応させればよい。 とくに、格子番号が座標値が減る向きについている場合 (y座標が北緯を正にとった緯度であり、格子番号が北からついている場合など) にはよく注意すること。
GrADSには、水平2次元の発散を差分法で計算する関数hdivg
がある。
詳しい計算方法はわからないが(ソースプログラムは公開されているのでそれを読めばわかるはずだが)、球面は考慮しているようである。
これを使って、GAME再解析の3次元解析値(GrADS用ctlファイルはanal.ctl
)の風の発散を表示するには、
[別ページ]の水平2次元場の表示の例のように
日時、鉛直座標値、表示方法などを指定したあと、
display hdivg(u,v)
とすればよい。
ただし、差分法で計算された収束発散の値は、
格子間隔からその2倍程度の空間スケールをもつ計算上のノイズを含むことが
わかっている。
GrADSには、2次元の平滑化をする(9つの格子点値の重みつき平均による)関数
smth9
もあるので、
display smth9(hdivg(u,v))
としたほうがよいかもしれない。
雲、とくに鉛直にのびる積雲・積乱雲ができやすいところは、
対流圏のうち下層で風が収束し上層で発散しているところである。
再解析でみた風の収束・発散と、衛星データでみた雲あるいは雨の分布とは
対応しているだろうか?
また、GAME再解析の2次元物理量モニター(GrADS用ctlファイルは2dmon.ctl
)には、鉛直積算した水蒸気輸送ベクトルの東西成分uwv
、
南北成分vwv
が含まれている。
これを使って鉛直積算した水蒸気収束量を計算し表示するには、
日時、表示方法などを指定したあと、
display -hdivg(uwv,vwv)
とすればよい(ここでは収束を正としたいので発散にマイナスの符号をつける)。
風の発散の例と同様、平滑化をしたほうがよいかもしれない。