気象庁 MSM 解析値のデータ (netCDF 形式のもの) と xarray による読み方の説明は [気象庁のMSM解析値 (京大生存研のNetCDF版) を Python xarray で 読む] のページに書いた。
これをつかって、水蒸気の水平輸送ベクトルとその発散 (正負を逆にすると収束) を計算する。
MSM 解析値の水蒸気の変数は相対湿度なので、 気温から Tetens の式によって飽和水蒸気圧をもとめ、 これと相対湿度から実際の水蒸気圧をもとめ、気圧をつかって比湿に換算している。 Tetensの式については [(気候・気象学 教材ページ) 水の相変化、大気中の水蒸気] に説明を書いた。
プログラム例は Linuxの計算機 "hamana" で実行した形になっている。
【[2023-10-26] プログラム例と結果の図の例を全部さしかえました。】
(例では 850 hPa 面について計算している。plev の値によって変更できる。)
MSM-P データによって、2つの気圧面にはさまれた層での水蒸気存在量と水平輸送を計算した。 気圧面が地面の下にもぐっているかどうかは考慮していない。 (例では 1000 hPa 面と 500 hPa 面のあいだの層について計算している。 上端の面は変数 levtop を変えれば変更できるが、 図の表題はそれに連動していないので別に変更する必要がある。)
levtop | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
上端の気圧 (hPa) | 975 | 950 | 925 | 900 | 850 | 800 | 700 | 600 | 500 | 400 | 300 |
MSM-P データに加えて MSM-S データの地表面気圧をつかって、 地表面と気圧面 (上の表の levtop で指定する。プログラム例では levtop=9, 500 hPa) で はさまれた層での水蒸気存在量と水平輸送を計算した。 ただし、MSM-P と MSM-S とでは時間間隔も空間格子間隔もちがうので操作が複雑になり、 プログラムの理屈が正しいかどうかまだ確認できていない。