気象庁からダウンロードしたCSVファイルによるアメダス時別値の気象要素の図示 (2) 湿度をふくむデータ


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

気象庁のアメダスの「4要素」観測点では、2021年から、地点によって開始日時がちがうが、 湿度を観測するようになった。 (かわりに、日照時間が実測から衛星観測からの推定値でおきかえられている。) これまでよりもこまかい空間分解能の湿度の情報がえられるので、活用したい。

ところが、2020年以後の気象庁の観測値については、CD-ROM のようなオフラインのデータ配布が おこなわれていないので、 気象庁ウェブサイトの「過去の地点気象データ ダウンロード」のサイトからダウンロードするしかない。 しかも、つぎの制約がある。

とくに、時別値 (1時間ごとの値) をつかうのが楽でない。 (1) の制約から、1地点の1つの気象要素ならば1年の期間の値を1回でダウンロードできるのだが、 多数の地点のデータをつかって空間分布を見ようとすると、1回でダウンロードできる期間は短い。 たとえば、都府県や北海道の旧支庁管内 (以下便宜上「県」とかく) ごとに全地点をふくめると、 地点数の多い県では、3日程度しか収録できない。 【観測がおこなわれていない地点をはずし、 降水量以外の気象要素については雨量計だけの地点をはずせば、 データ量がすくなくなり、1回でダウンロードできる期間を長くできる。 しかし、複数回にわけてダウンロードすると、 地点を指定する順序をちがえてしまうことがありがちだ。 そのような失敗をしにくくするために、 たとえダウンロード回数がふえても、地点の組を県の全地点に固定したほうがよいと判断した。】

このページでは、複数の県についてそれぞれ全地点を指定し、 湿度をふくむ気象要素をダウンロードして、空間分布を地図上に作図するプログラム例を紹介する。 (1地点の時系列のグラフのプログラム例は別に整備したいと考えている。)


プログラム例の実行方法

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

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

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

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


サンプルデータ

アメダス地点表は、 [ex9d 気象庁からダウンロードしたCSVファイルによるアメダス時別値の気象要素の図示] で説明した /home/masudako/ex/ex9d/amedas_stn_m20230804_e20250823_ja_sjis.csv をつかう。


index file の作成

まず、気象庁からダウンロードしたCSVファイルを地点表ファイルとつきあわせて、 index file をつくる。

index file をつくるプログラムは、 気温・湿度については mkidx_amedas_hourly_tmp_hum.py , 風については mkidx_amedas_hourly_wind.py である (mkidx は make index のつもり)。

プログラム中の syrmo の値が '20260109_0112' であり、 上記の気象庁からダウンロードした csv ファイルが同じディレクトリにある状態で、 mkidx のプログラムを python で実行すると、 気温・湿度については hourly_tmp_hum20260109_0112idx.csv , 風については hourly_wind20260109_0112idx.csv という index file がつくられる。

ただし、このとき、配列 regionlist には、県名をあらわす文字列を、 ダウンロードしたファイルにつけた名にあわせて、いれておく必要がある。


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

index file がつくられていることを前提として、地図上にデータを作図する。 [第9課] のプログラム例 [9d4b] と同様に、各地点に色わけした記号をかくようにした。 (ただし風については、[9d3a] と同様に、ベクトル表示するようにした。) さらに、[9d4c] と同様に、(機械的に生成した) 等値線をひくようにした。 (風については風速の大きさの等値線をひく。)

文字列 shead, syrmo と 文字列の配列 regionlist の内容は、 気象庁からダウンロードしたデータファイルにつけたファイル名と対応させておく必要がある。 とくに regionlist の内容は順序も mkidx プログラムと同じになるようにする。

出力する日時は、現在のバージョンでは、 はじめと終わりの日時をそれぞれ、 入力ファイルの中の時間ステップ番号で指定する。 ファイルの最初の時刻が 0、最後の時刻が「収録期間の日数×24 -1」である。 日時の形であたえてステップ番号を計算させるように改造することは可能だが、まだしていない。

地図の緯度・経度の範囲は、変数 lonmin, lonmax, latmin, latmax にあたえる値で指定する。 プログラム例の現状では、例の対象とした4県がふくまれる範囲にしてある。 なお、経度範囲をかえたばあいは、凡例をかく位置の経度座標値 lonleg も変更する必要がある。

プログラム中のつぎの部分は、コメントで注記して、 必要なければ省略できるようにした。

水蒸気圧を作図するプログラム例の現在のバージョンは、 数値と色との対応を調整しておらず、気温についての設定のままになっている。

比湿は、水蒸気圧から計算している。 比湿の計算には気圧の情報が必要だが、気象官署等は別として、一般のアメダスの観測点では 気圧は測定されていない。 ここでは、観測点の標高から、海面気圧を 1013.25 hPa、大気のスケールハイトを 8000 m とし、 気圧は高さの指数関数型であると仮定してもとめた地上気圧の近似値 (時間とともに変化しない) をもちいている。


(多地点のデータセットから) 時系列のグラフをつくるプログラム

ここでは、上記の県別のデータセットから1地点を選択して 時系列のグラフをつくるプログラムを紹介する。 index file がつくられていることを前提としている。

いずれも、グラフの横軸の範囲は[第9課]の例文と同じ 8日間にしてあるが、 今回のデータの期間は4日間なので、グラフ領域の右半分が空白になっているが、 これは [第9課] の例題と横軸の尺度を同じにするためにわざとそうしたものである。


1地点のデータから時系列のグラフをつくるプログラム (予告)

時系列のグラフをつくるのが目的であれば、ダウンロードの際に内容を1地点だけにしぼったほうが、 作図プログラムが単純になる。そのプログラム例もしめしておきたい。


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