国立研究開発法人防災科学技術研究所 水・土砂防災研究部門
国立研究開発法人防災科学技術研究所 水・土砂防災研究部門
トップ 一覧 検索 ヘルプ RSS ログイン

1変数と風ベクトル水平断面鉛直断面図(xarray)

horizontal and vertical cross section are drawn in a single figure

ver3.tar.gz(50)
ver4.tar.gz(51)
(ver4はver3までのすべての機能を有し、互換性があります。以後、常に最新版を使ってください。これまでの
解析ができなくなることはないので)
mainプログラムのmain_H1V1UV.pyは、DHDLツールセットと
DDRWツールセットを使用して、水平と鉛直断面を1枚として作図するものである。

DHDLツールセットは、1変数と風ベクトル鉛直断面図(xarray) で提供したものから変更はありません。
DDRWツールセットとして、draw_hori_ver_2FIG.py を追加した。

ver4の変更点

-TP 地形ファイル もしくは0
-VT 1  鉛直方向の線形内挿を実施 

を可能としました。
もし、NETCDFのファイル内にTOPOという変数が既に含まれている場合には、-TP 0のように適当な数字を追加すればいいです。
-VTと組み合わせることで、CReSSの場合では、通常はterrain-followingの座標系で地形が含まれない(missing_valueが無い)データで
鉛直断面を書きますが、-VTをつけることで等高度座標系になおし、地形に埋もれている場所はNANが入れられて、表示されないようになります。
また、MSMなどの気圧座標系のNETCDFも表示できるようにしました。-VTのオプションをつけないと、そのままP座標系で鉛直断面を作成します。
-VTオプションがつくと、z座標系に変換され鉛直断面が表示されます。その際に、-TPで地形ファイルを設定すると、MSMの標高よりも低い高度のデータがマスクされます。

DHDLツールセットでは、地形を読み込むプログラムが追加され、鉛直断面を作成する際に、鉛直線形内挿が行われる際に、標高よりも低い場所には
NANがセットされるようになりました。
DDRWツールセットでは、NANとなった場所を灰色でマスクする処理が追加されました。また、MSM等のP座標系の鉛直断面も作成できるようになりました。

 使い方

pytyon main_H1V1UV.py NETCDFファイル名 変数名 
-X0V 鉛直断面のスタート地点の経度 
-Y0V 鉛直断面のスタート地点の緯度
-L0V 鉛直断面の距離(km) 
-A0V 東向きを0度とした反時計回りの角度(deg)
-W 風オプション(0: ベクトル 1:矢羽。鉛直断面と水平断面を両方作図するこのバージョンではベクトルのみ対応)
-WT 風間引きオプション(整数を設定すると、その整数分だけデータをスキップして間引く)
-CT カラーパレット番号を入れることで色パターンを設定します. 0:青から赤へ 1: 気象庁降雨分布 2:白から青へ という3パターンあります
-AR 0 AutoRangeを行わないオプション(-AR を記載しないと自動的に凡例の範囲を検索する)
-O 図をファイルとして保存するオプション。保存ファイル名を指定する。 PSでもPNGでも大丈夫。
-T 表示する時刻を指定(大文字のTを指定すると時刻をYYYY-MM-DD-HH:MM:SSのフォーマットで指定)
-t 表示する時刻を指定(小文字のTを指定するとnetcdfの中での初期時刻からのスキップする時刻数を整数で指定)
   時刻を指定しない場合は、インタラクティブに時刻をpytyonが聞いてくれるので、入力する
-z 水平断面を表示する場合の層番号を指定。
-Z 水平断面を表示する、高度をメートル単位で指定

(ver4から)

-VT 1とすることで(実は数字は何でもよい)鉛直断面を書く際に線形内挿をし、CReSSの場合、terrain-following座標から等高度座標へ変換し、MSMの場合、P座標系からZ座標系に変換する。
-TP 数字(inputのnetcdfファイルにTOPOという変数が含まれる場合)もしくは地形NETCDFファイル(外部ファイルを設定し、
その中に変数TOPOが格納されていること)を設定することで、鉛直断面内に地形を書くことができる。

ver3の機能で表示される鉛直断面

t=47の時刻の水平および鉛直断面図
HV1.png
t=48の時刻の水平および鉛直断面図
HV2.png

  ver4の機能で表示される鉛直断面

CReSSのNETCDF出力に対して、鉛直断面を書く。QV(水蒸気混合比)を表示する。

python main_H1V1UV.py ../data/JR.dmp201203120000.nc QV -t 4 -z 4 -X0V 138.4 -Y0V 35.335 -L0V 30.0 -A0V 0.0 -CT 0 -O test1.png

では、terrain-followingの鉛直断面となる。
test1.png

python main_H1V1UV.py ../data/JR.dmp201203120000.nc QV -t 4 -z 4 -X0V 138.4 -Y0V 35.335 -L0V 30.0 -A0V 0.0 -CT 0 -TP 1 -VT 1 -O test2.png

では、海抜高度での鉛直断面となる。
test2.png

MSMのNETCDF出力に対して,同様に相対湿度分布を表示する

-VTオプションや-TPオプションをつかない場合、鉛直断面はP座標系のままで表示します。

python main_H1V1UV.py ../data/4v-msm_2020-07-06_00utc.nc RH -t 4 -z 4 -X0V 138.4 -Y0V 35.335 -L0V 30.0 -A0V 0.0 -CT 0  -O test3.png

test3.png

-VTオプションや-TPオプションをつける場合、鉛直断面はz座標系に変換してから表示します。

python main_H1V1UV.py ../data/4v-msm_2020-07-06_00utc.nc RH -t 4 -z 4 -X0V 138.4 -Y0V 35.335 -L0V 30.0 -A0V 0.0 -CT 0 -TP ../data/MSM_TOPO.nc -VT 1 -O test4.png

test4.png

MSMの地形は解像度が10kmとなっており(元々のモデルは解像度5kmだが配信されるのは解像度10kmとなる)、
CReSSと同じ鉛直断面を書いているが、MSMの場合、分布が荒い。-VTオプションをつけると、未定義の場所には、NANが与えられる。
そのため、300hPaが今回概ね10kmに対応しているが、高度10km以上がマスクされる。