風が斜面にそっておしあげられると、上昇流成分をもつ。
実際には、山のまわりでふいている風がそのままおしあげられるとはかぎらず、 山をまわりこむように水平の風の場が変形して上昇は弱くなることもある。
しかし、ここではひとまず、平面形は一様なまま変形されず、単純におしあげられるとする。
地球の球面を、ひとまず局所平面直交座標で近似する。x軸を東向き、y軸を北向きにとる。 水平2次元の速度ベクトルを太字の v、x, y方向の成分をそれぞれ u, v とする。 地表面の標高を zs とする。すると上昇流はつぎのようになる。
w = v・grad zs = u ∂zs/∂x + v ∂zs/∂y
ここでは、地表面の標高として、 [地形 (標高) データを Pythonで読み、作図する (試作版)] のページでつかった アメリカ合衆国 NOAA NCEI で編集された ETOPO1 (緯度・経度 1分格子) から日本の関東付近を切り出したものをつかう。 ただし、海上は、ETOPO1 には海底の深さがはいっているが、ここでは標高 0 におきかえる。
試作プログラムの version 1 では、 地形の x, y それぞれの方向への傾斜を、 各格子点の両どなりの格子点の標高の差を、両地点間の距離 (格子間隔の 2倍) で割ることによって (つまり「中央差分」で) 求める。 ただし、格子間隔を計算する際に、地球は球とみなし、緯度間隔は大円の 1/(360×60)、経度間隔は北緯 35度の緯度円の 1/(360×60)とした。
Version 2 では、あらかじめ、標高値の格子データに、 東西方向、南北方向それぞれ、(1, 2, 1) の重みつき移動平均をかけて平滑化したあと、 version 1 と同様な差分で傾斜をもとめる。
風 (u, v) は、ベクトルの絶対値を (便宜上) 1 とし、 風向を、北風が 0 または 360、東風が 90 となるような角度の「度」単位の数値であたえる。
上昇流は絶対値が 1 よりもだいぶ小さい値になるので、1000倍した数値をしめし、「per mil」 (パーミル) と付記する。
結果を地図上に段彩で作図した。
南東 (135°) の風、version 1
南東 (135°) の風、version 2