続・Python による気象解析入門 (補遺)

気象庁アメダスの風のデータ (時別値) を地図表示する


[気象庁アメダスの観測データ (時別値) を地図表示する] では、 アメダスの気温と降水量の時別値 (1時間ごとの値) をあつかった。 今度は、アメダスの風速・風向の時別値によって、 [観測点ごとの風のデータを図示する] の mapstationwind/30c_map_winduv.py で「気象官署等」の時別値についてやったのと同様に、 各地点の風ベクトルを矢印で表示してみる。


観測データ (csv ファイル) のダウンロード

2023年8月8日の朝に、 気象庁ウェブサイトの「各種データ・資料」の 「過去の気象データ・ダウンロード」のページで、つぎのように指定して、csv ファイルをダウンロードした。 (青森県から南、福井・岐阜・三重県から東の全都県についておこなった。 西日本と北海道についてやるかどうかは未定。) 手順は気温・降水量の時別値のばあいとほとんど同じなので、ちがうところだけ 強調 する。

このようにして得られた (いまのところ 23 都県それぞれの) csvファイルを、luce および hamana では /home/masuda/amedashourly/ の下に置いた。一例をここにつける。

見出し行の数は、気温・降水量の時別値のばあいとちがい、7行ある。 最初の日時の観測値は 8行め (Python 流のかぞえかたでは第7行) にある。

各地点ごとに、 「風速」「風速の品質情報」「風向」「風向の品質情報」「風速・風向の均質番号」の 5列がある。


観測地点表

日別値のためにつくったものをそのままつかう。説明は[日別値のページ]を見てほしい。


プログラム例の実行のしかた

luce と hamana では、アメダスの日別値や気温・降水量の時別値のプログラム例と同じディレクトリに追加した。 したがって、つぎの準備てつづきは、日別値や気温・降水量の時別値のばあいと同様である。

luce では、つぎのようにして例文を自分のホームディレクトリの下にコピーする。 (空白とそのあとのピリオドに注意。)

cp -r /home/masuda/mapamedas .

hamana ではつぎのようにする。

cp -r /home/masudako/ex/mapamedas .

そして「cd mapamedas」のあと、「python3 map_amedas_wind_hourly.py」を実行できる。

地点表は mapamedas ディレクトリにふくめてある。 観測データの csv ファイルは、/home/masuda/amedashourly/ に置かれたものを読む。 (luce と hamana のほかの計算機で実行するときには、観測データのファイルもコピーする必要がある。)


観測地点での観測値を地図上に表示する

現状では、6月 1日 1時 から 6月 4日 0時 までの風ベクトルを 1時間ごとに地図上に作図し、png ファイルで書きだすようになっている。

利用の際に変更すること

表示するものを制御するため、 doplotarrows が True のとき矢印をかき、 doplotuv が True のとき風速の東西成分・南北成分の値を数字でかく。 プログラム例の現状では 前者が True、後者が False としてある。

対象となる日時を変えるには、krecstart, krecend にあたえる値を変えればよい。 (ここにあたえる値は、2023年 6月 1日 1時 (JST) を 0 とした とおしの時間数で、 (いまあるデータファイルでは) 可能な値の最大は 71 である。 datetime をつかえばもっとわかりやすくできるが、ためしにつくったままになっている。)

表示する地図の範囲を変えるには、 lonmin, lonmax, latmin, latmax にあたえる値を変える。 それとともに、対象となる地点がふくまれる都道府県も変わるので、 regionlist の内容も変える (コメント行で列挙されているものからえらぶ)。

luce, hamana 以外の計算機で実行するばあいは、 datapath (csvファイルが置かれたところ), imagefilepath (結果の画像ファイルが置かれるところ), shapefilepath (県境の地理データが置かれたところ) を、それぞれの計算機の事情にあわせて修正する。 地点リストファイル amedas_stn_m20230804.csv が Python プログラムとは別のディレクトリに置かれている ばあいは、それを読む pd.read_csv( ) の中のそのファイル名にパス指定を追加する。

おぼえがき

複数の csv ファイルをつないで処理する手順は、日別値、気温・降水量の時別値のばあいと同じである。

日付リテラルの「時」のけた数の問題への対処は、気温・降水量の時別値のばあいと同じである。

風速と矢印の長さの対応は、scale=50 としてあるが、あまりよく考えたものではない。 ただし、風速は現実に海岸で大きく内陸で小さいので、その両方の値を図から読みとれるようにするのはむずかしい。 矢印の太さや頭の大きさも、まだじゅうぶんくふうできていない。


1地点の観測値の時系列をグラフにする [2023-08-14 追加]

「気象官署等」のデータについて [観測点ごとの風のデータを図示する (2023-07-11)] の 「[32a] ひとつの地点の風の観測値の時系列をグラフにする」のところでやったのと同様に、 アメダスの 1地点の日別値の時系列をグラフにするプログラムをつくった。 32a_graph_hourly_wind.py と同様に、 上から、風向 (16方位)、風速、東西成分 (西風が正)、南北成分 (南風が正)をしめす。 ただし、品質情報のチェックがまだできていないので、version 1 としておく。

期間については、まず syrmo にあたえる文字列 (現状では '20230601_03') を、 データファイルにあわせて変更する。 図の横軸を説明する ax.set_xtitle にあたえる文字列もあわせて変更する。 横軸の尺度はデータファイルにふくまれる期間がおさまるように設定される。

地点名は、stnamesel にあたえる文字列として、ローマ字 (最初の文字だけ大文字) で指定する。 それにあわせて、region に、都府県名 (北海道は振興局名にする予定) をローマ字 (全部小文字) で指定する。

【[注] 2023年8月4日に用意したアメダス地点表 amedas_stn_m20230804.csv をつかって 地点名 'Kumagaya' を指定してこのプログラムをうごかすと、ただしく動作しない。 原因は、地点表データのまちがいだった。(Kuma であるべき地点名も Kumagaya となっていた。 わたしがローマ字を手入力で追加した際に予測入力を修正しそこなったのだった。) 2023年8月13/14日の深夜にさしかえたので、それ以前にこの地点表ファイルをつかった人は、 luce では、自分の mapamedas ディレクトリに cd して 「/home/masuda/mapamedas/amedas_stn_m20230804.csv .」をやりなおしてほしい。 ウェブページにある地点表ファイルをつかった人は、ダウンロードしなおしてほしい。】


2023-08-08, 2023-08-14
増田 耕一 (MASUDA Kooiti)
増田の [B, F, G 合同セミナーのページ] [立正大学用教材目次] [計算機を利用した気象分野の実習教材目次] [教材目次]