例文を置いたディレクトリは、
/pub/sfc/earthobs/example/sonde/sonde2
。
このうち、esat.awk
、qsat.awk
、
do.csh
、dozs.csh
、ex6.csh
はユーザーのディレクトリに
コピーして使うことを、その他のawkプログラムは例文のディレクトリに
あるままで使うことを想定している。
ここでは、鉛直積分した水蒸気の面積あたりの質量(いわゆる可降水量、 単位 kg / m2、ただし液体の水の標準密度を仮定してmmで表示するこ とが多い)と、 鉛直積分した水蒸気の水平輸送ベクトル(東西成分と南北成分、 単位 kg /(m s))を求める。
esat.awk
温度から飽和水蒸気圧を計算する簡単なプログラム。
標準入力から(各行)1つの数値(温度[単位は℃])を読み、
標準出力に2つの数値(温度および飽和水蒸気圧[hPa])を書き出す。
単にawk -f esat.awk
で起動し、
キーボードから数値を入力してもよい。
標準入力の終了はコントロールD(ctrlキーとdを同時に押す)。
また、あらかじめ入力データファイルを用意し(仮にtempdata
とする)、
awk -f esat.awk tempdata
の形で起動してもよい。
qsat.awk
温度と気圧から飽和比湿を計算する簡単なプログラム。
標準入力から(各行)2つの数値(温度[単位は℃]と気圧[hPa])を読み、
標準出力に4つの数値(温度、気圧、飽和水蒸気圧[hPa]、飽和比湿[g/kg])を書き出す。
使いかたはesat.awk
と同様。
zq.awk
ゾンデのデータを読み、各高さごとの比湿を計算するプログラム。
do.csh
を使って
csh do.csh zq nongkhai 98053012
のように起動するとよい
(この例は、Nong Khaiの5月30日世界時12時のデータを使う場合)。
相対湿度と露点の両方からそれぞれ比湿を計算し、誤差の範囲で一致することを
確かめる。
ex6.csh
比湿の鉛直分布のグラフをGMTでかく。
中でzq.awk
を使っていることのほかは、
作業1の例文ex1.csh
(相対湿度の鉛直分布のグラフ)とほとんど同じである。
csh ex6.csh nongkhai 98053012
のように起動する。
(この地点名と日付は例で、このとおりの組み合わせの観測値があるかどうかは未確認。)
zquv.awk
ゾンデのデータを読み、各高さごとの比湿と、それに風速の東西成分・
南北成分をそれぞれかけたものを計算するプログラム。
do.csh
を使って
csh do.csh zquv nongkhai 98053012
のように起動するとよい。
湿度・風向・風速がそろっていない高さについては計算からはずす。
zquvdelp.awk
ゾンデのデータを読み、各高さごとに、比湿と、それに風速の東西成分・ 南北成分をそれぞれかけたものを計算し、 2つの観測高さにはさまれた層ごとに面積あたりの質量(気圧差/重力加速度)を かけて書き出す。
気球がまだ上がっていないうちの観測をはずすため、 地表面の高さから2 m以上高いところに達したら出力を始めることにする。 地表面の高さとしては、ゾンデ観測データを見て、気球がまだ地上にあると思われるときに表示されている高さの値を使うことにする。 その値は[観測地点の表]の「標高(data)」に書いた。 (WMO地点表の標高と少し違うが、理由は誤差か場所の違いかよくわからない。 もしこれが誤差でありWMO地点表の標高が正しいとすれば 観測データのすべての高さをその差だけ修正すべきだと思うが、 それが確実でないので、仮に観測された高さが正しいと解釈することにする。)
また、ゾンデ観測の水蒸気量は水蒸気のあまり薄いところでは意味をもたないので、 気圧が200 hPaより低いところも出力しないことにする。
dozs.csh
を使って
csh dozs.csh zquvdelp nongkhai 98053012 173
のように
起動するとよい(プログラム名のあとに地点名、日付、地面の標高を指定する)。
sumquv.awk
鉛直に積算した水蒸気量(2列め)と水蒸気輸送ベクトルの東西成分
(3列め)、南北成分(4列め)を書き出す。
出力の1列めは、積算対象となった大気の面積あたりの質量である。
dozs.csh
を使って
csh dozs.csh sumquv nongkhai 98053012 173
のように
起動するとよい(プログラム名のあとに地点名、日付、地面の標高を指定する)。
鉛直積算は、地表面の2m上から気圧が200 hPa以下になるまで、 データがある限り集計している。 途中にトラブルがあって有効なデータがあるレベルの間が大きくあいている 場合も、その区間の比湿の鉛直分布が直線的(鉛直座標として使う気圧の1次関数) であると仮定して集計に入れている。 このような場合はあまり正確な値が得られないので、処理からはずしたほうが よいかもしれない。 (個別にデータを見て除く日時を指定するにせよ、 データがある程度以上欠けたものをはずす処理をプログラムに加えるにせよ、 手間がかかるので、まだそのような処理を入れていない。)