地球環境観測: 実習3

作業2: ラジオゾンデによる水蒸気量・水蒸気輸送ベクトルの鉛直積算

例文を置いたディレクトリは、 /pub/sfc/earthobs/example/sonde/sonde2。 このうち、esat.awkqsat.awkdo.cshdozs.cshex6.csh はユーザーのディレクトリに コピーして使うことを、その他のawkプログラムは例文のディレクトリに あるままで使うことを想定している。

ここでは、鉛直積分した水蒸気の面積あたりの質量(いわゆる可降水量、 単位 kg / m2、ただし液体の水の標準密度を仮定してmmで表示するこ とが多い)と、 鉛直積分した水蒸気の水平輸送ベクトル(東西成分と南北成分、 単位 kg /(m s))を求める。

水蒸気量の比湿への換算

今回使うラジオゾンデの観測データでは、各高さごとの水蒸気量の情報は、 相対湿度と露点温度の2とおりで表現されている。 質量を積算するには、比湿(空気の質量に対する水蒸気の質量の割合)に 換算するのがよい。 このために、飽和水蒸気量あるいは飽和水蒸気圧を計算する必要がある。 飽和水蒸気圧は、温度だけで決まる。 理論的には熱力学のClapeyron-Clausiusの式にもとづくべきだが、 ここでは、気象現業でよく使われているTetensの近似式 (朝倉正ほか編, 1995, 「気象ハンドブック」, 朝倉書店, 付録)による。 ただし、温度が水の凝固点以下であっても、氷ではなく水に対する飽和だけを 考える。(通常のラジオゾンデ観測データの「露点」は「霜点」ではないので、 これが正しい計算のはずである。)

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次関数) であると仮定して集計に入れている。 このような場合はあまり正確な値が得られないので、処理からはずしたほうが よいかもしれない。 (個別にデータを見て除く日時を指定するにせよ、 データがある程度以上欠けたものをはずす処理をプログラムに加えるにせよ、 手間がかかるので、まだそのような処理を入れていない。)


(2003-06-05, 2004-10-23) 2005-10-24, 2006-11-08
増田 耕一 (環境情報学部 非常勤講師)
[作業1] [作業3] [ゾンデデータの実習の目次へ] [地球環境観測2006教材目次へ] [日程へ]