気象庁からダウンロードしたCSVファイルによるアメダス時別値の気象要素の図示


2025年度教材の [第9課 アメダス時別値の風、気温、降水量、日照時間の地図上表示] では、 気象庁のアメダスの時別値 (1時間きざみの観測値) を、地図や時系列グラフとして表示する例をしめした。

そのときつかった材料は、「気象庁観測月報」という CD-ROM に (圧縮した形で) 収録されていたものを、 あらかじめ増田が、地点別・月別・気象要素別の CSV ファイルに形式変換したものであり、 期間は 2010-2019年の10年間である。

【2009年以前の観測値 (アメダスは1976年から、気象官署は1961年から) は、 研究室にあるが、「気象庁観測月報」とはちがった形で圧縮されている。 利用希望があれば形式変換とプログラム例の整備をするつもりである。】

2020年以後のアメダスや気象官署等の観測値は、オフライン配布されておらず、 気象庁ウェブサイトの「過去の地点気象データ ダウンロード」のサイトからダウンロードすることになる。 このダウンロードで得られた CSV ファイルを材料とするように、作図プログラムをつくりなおした。

気象庁のダウンロードサイトのつかいかたについては、 [気象庁の観測データを取得する] のページを見てほしい。

気象庁の「過去の気象データ ダウンロード」で得られるファイルは、CSV形式であり、 Python の pandas の read_csv でデータフレームに読みこむことができる。 (ただし、列名が自動的にうまくつかず、列番号と内容の対応をつけるプログラムを組む必要がある。)

このダウンロードサイトには、いくつか不満な点がある。

ここでは、わりあい短い期間について、対象地域のアメダスのなるべく多数の地点をいっしょに 見ることを目標とした。

上にのべたサイトの制約のなかで、なるべく能率よく、なるべく再現可能性があるようにするため、 ダウンロードはつぎのようにおこなった。


実行方法

Pythonプログラムの例文は、niigata の /home/masudako/ex/ex9d に置いてある (hamana でも同じ)。

各自、つぎのコマンドによって、プログラム例をコピーしてほしい (最後の空白のあとのピリオドが重要)。

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

そして、ex9d に cd して作業してほしい。


サンプルデータ

2024年度の観測実習が予定されていた (準備の日だけで中止された) 2024年 8月28日 - 9月2日 の 6日間の、風向・風速 (wind)、気温 (tmp)、降水量 (precip)、日照時間 (sundur) の時別値の CSVファイルを、 niigata では /home/masudako/ex/data_jmacsv_202408case/ の下に置いた (hamana でも同じ)。 2025年の観測実習の期間のデータを、/home/masudako/ex/data_jmacsv_202508case/ の下に置く予定である。 また、2024年 2月 3日 - 8日の 6日間の 降雪深 (snowfall) のファイルを /home/masudako/ex/data_jmacsv_202402case/ の下に置いた。

データファイルは、気象要素別、都道府県別にわかれており、 ファイル名は、hourly_wind20240828_0902gunma.csv のように、 時別値であること、気象要素、日付、都道府県名をふくむようにつけた。

都道府県は、関東1都6県、甲信越、静岡、愛知、岐阜、富山、福島をふくめた。 プログラム例で設定した緯度経度範囲の地点が だいたいふくまれるようにしたが、例外的にふくまれていないことがある (気づいたものは、石川県の珠洲)。

このデータをそのまま読むのならば、データファイルを自分のところに持つ必要はない。 他の期間や地域をあつかうためにデータを自分で持つばあいは、 プログラム中の datapath に与える文字列を書きかえてつかってほしい。


アメダス地点表

増田が2023年に気象庁のアメダス地点リストを編集してつくったファイル amedas_stn_m20230804.csv にもとづく。 (残念ながら、それにいたる材料や編集作業は、おおまかな記憶はあるが正確な記録がのこっていない。) それにふくまれていた臨時観測所「熱海伊豆山」の情報をはずしたものを amedas_stn_m20230804_e20250823_ja_sjis.csv (日本語文字コード Shift_JIS) とした。今回のプログラム例ではこれを参照する。 なお、そのうちで日本語の漢字やカタカナをふくむ列をはずして ASCII コードの列だけにしたものを amedas_stn_m20230804_e20250823_ascii.csv とした。


index file の作成

今回のプログラム例では、 まず、気象庁からダウンロードしたCSVファイルを地点表ファイルとつきあわせて、 index file をつくることにした。

index file の名まえは、たとえば hourly_wind20240828_0902idx.csv のようにつけてある。wind は気象要素名の例。idx は index の略。

【2025-08-27 現在の index file は、改行コードが不統一になっており、 Windows 上では複数の行がつながって見えるかもしれない。】

index file の行はそれぞれ観測地点に対応する。列の意味はつぎのとおり。

index file をつくるプログラムは、気象要素ごとにつくってあり、 名まえは mkidx_amedas_hourly_wind.py のようにつけてある (mkidx は make index のつもり)。 同じ気象要素でも期間がちがうばあいは、プログラム中の syrmo にあたえる文字列を変えて 実行しなおすこと。

【2021-2024年度に増田が作成した作図プログラムは、CSVファイルを2回読み、 今回の index file に相当する情報をプログラム内の変数として持つ構成にしていた。 プログラムを修正する際にデータを2回読む形ではまぎらわしいのと、 実行効率のうえで index 情報の構築をくりかえさなくてすむようにしたいので、今回変更してみた。】



作図をおこなうプログラム

index file がつくられていることを前提として、 [第9課] のプログラムとだいたい同じ作業をする。


1地点の時系列をグラフで表示する

地点の選択はアメダス地点番号による。地点名も指定するようにしたが、表示につかうだけである。

【1地点の時系列を見るのが目的ならば、その地点が属する都道府県のデータだけがあればよいのだが、 今回のプログラム例は、index file を利用するので、index fileをつくるのにつかった一連の都道府県の データがそろっていることを前提としている。】

作図対象の日時は、暫定的に、CSVファイルにある全期間を採用している。 グラフの尺度は、第9課の例文の、横軸の範囲が8日間であるばあいにあわせたが、 今回の例のCSVファイルの期間は6日間なので、すきまがあいている。

[9d1a] 1地点の風の時系列グラフ作成

[9d1b] 1地点の気温の時系列グラフ作成

[9d1c] 1地点の降水量の時系列グラフ作成

[9d1d] 1地点の日照時間の時系列グラフ作成

[9d1e] 1地点の降雪深の時系列グラフ作成


観測値の分布を地図上に表示する

作図対象の日時の指定が、[第9課] では daystart, hourstart, dayend, hourend を指定したが、 今回のプログラムは (あまりわかりやすくないが) CSVファイルにふくまれた最初の時刻を 0 とした 通し番号で指定するようになっている。6日間の時別値ならば 0 から 143 のあいだの値である。

地図の緯度経度範囲は、lonmin, lonmax, latmin, latmax で指定する。

[9d3a] 風のベクトル表示

[9d4a] 気温の数字による表示

[9d4b] 気温の色わけした記号による表示

[9d4c] 気温の (機械的に生成した) 等値線による表示

[9d5a] 降水量の数字による表示

[9d6a] 日照時間の数字による表示

[9d7a] 降雪深の数字による表示


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