気象庁では、2019年から、 「解析積雪深、解析降雪量」というデータセットをつくっている。 その概略の情報は、気象庁のウェブサイトのつぎのページにある。
もうすこしくわしい情報が、気象庁の雑誌『測候時報』の報文になっている。
これは、積雪の質量収支や変質などを表現した数値モデルに、 解析雨量や、気象の数値予報モデルからえられた降水量、気温、日射量などをあたえて 計算されたものである。 観測値そのものではないが、間接的に観測が反映されており、 現実の積雪の近似になっていることが期待される。
これは、降雪短時間予報のために開発されたものであり、 リアルタイムの数量の分布を地図上に表示したものは、 上にのべたウェブページからリンクされた 「今後の雪(降雪短時間予報)」のページで発表されている。
その過去の値は、気象庁のウェブサイトにはおかれていないが、 気象業務支援センターから DVD ディスクで有料配布されている。 ディスクは、6月で終わる (冬を中心とする) 1年間ごとにまとめられている。 これまでに、2019-2020年, ..., 2023-2024年のディスクがつくられている。 ただし、2019年のデータは、11月21日 世界時 04時 からはじまる。
データ形式は、 WMO (世界気象機関) できめられた GRIB version 2 (GRIB2 ともいう) にしたがっている。 そのくみたては、2006年以後の解析雨量とだいたい同じである。 ただし、解析雨量と、対象となる緯度経度範囲は同じだが、 空間分解能がちがい、格子間隔 約 5 km (経度 0.0625度、緯度 0.05度) である。 時間間隔は 1時間である。
変数としては、「解析積雪深」と「解析降雪量」がある。 「解析積雪深」は、観測された積雪深と同様、地面から積雪の表面までの幾何学的な高さである。 「解析降雪量」は、ディスクに付属する Readme.txt ファイルに 「解析降雪量は、解析積雪深が1時間に増加した量を1時間降雪量としたプロダクトです。」 とだけ説明されている。値をみると、つねに 0 以上である。 積雪深が減少するときは 0 にしているのだろう。 【「降雪量」ということばは、雪の形での降水量という意味にもなりうるので、 わたしは、気象庁のいう「降雪量」を「降雪深」ということにしている。】
積雪のモデルは陸面を想定したものなので、海にあたる ます目はデータ欠損になっている。 ただし、小さな島をふくむ ます目でも計算がおこなわれている。 ます目の値を単純に集計すると、 実際の陸の面積で合計した積雪深や降雪深よりも多くなるだろう。
[解析雨量を Pythonで読み、作図する (試作版)] の Python プログラムから変更して、 このデータセットの積雪深、降雪深 それぞれの分布を地図上に表現するプログラムをつくることができた。 ただし、試行錯誤的につくったので、じゅうぶん汎用的かどうかはわからない。
【とくに、GRIB の第5節 (資料表現節) のうちにある 「データ代表値の尺度因子 X (通報する代表値は 10**X 倍されている)」のXの値は、 積雪深、降雪深とも、数件ためしていずれも値が「3」だったので、3 にきめうちしてしまった。 物理量の値は、第5節にある「レベル m に対応するデータ代表値 (m = 1 ~ M、レベル 0 は欠測値、単位はメートル)」の表をひいて得られる。 積雪深の「代表値」の表にある値が、たとえば 1234 ならば、 それを 10の3乗でわった 1.234 が、メートル単位の値である。】
GRIB標準は物理量の単位としてなるべく SI基本単位をつかおうとして m をつかったのだが、 現場では積雪深の単位としては cm がつかいつづけられている。 そこで、ここでは、表から得られた「代表値」を 10 でわって、cm 単位の積雪深を得ることにした。 降雪深についても同様である。 ただし降雪深の単位は「1時間あたり cm」というべきだろう。
データ欠損のところには、便宜上、 -1 という値をいれて、 地図上では、ごく薄い赤で表示することにした。 「代表値」の表をひく段階では -10 をあたえ、10 でわることによって -1 を実現している。 もし「データ代表値の尺度因子」がちがうならば、 あるいは、表示したい単位をかえたいならば、欠損値の処理にも変更が必要である。
解析積雪のデータセットの日時は世界時 (UTC) で収録されているが、 プログラム例では、日本標準時 (JST) で表示し、画像ファイル名もJSTでつけるようにした。 これは、気象庁が国内向けに発表している地上観測の積雪深とあわせる便宜を考えたのだが、 UTC のままのほうがプログラムは簡単になる。
地図の範囲は、南端と北端の緯度を latmin, latmax で、西端と東端の経度を lonmin, lonmax で指定するようにした。 (これを変えたばあい、緯線間隔 dlat, 経線間隔 dlon の値も変えたほうがよいばあいがある。)
現在のプログラム例は、中部地方を中心とする領域を表示するようになっているが、 もし日本の大部分の陸地 (沖縄、奄美、小笠原などの島はふくまない) を一度に見たいならば、 lonmin = 128; lonmax = 146; latmin = 30; latmax = 46; dlon = 2; dlat = 2 がよいだろう。
増田の研究室のサーバー hamana, niigata の両方で動くようにしてある。 プログラムを /home/masudako/ex/jma_kaiseki_sekisetu/ の下に置いた状態で動作を確認した。 他のマシンで動かすには、読まれるデータを用意したうえで、 その置き場にあわせて、解析積雪データについては datapath、 都道府県境データについては shapefilepath を修正する必要がある。
結果は画像ファイルで、imagefilename で指定したファイル名になる。 そこに指定されるディレクトリ (現状では「../image」) をあらかじめつくっておくこと。 画像ファイル名は日時によって変えているが空間領域の情報をふくめていない。
季節変化を見るには 10日ぐらいの時間間隔で作図するのがよいと思ったので、 10月から5月までの、それぞれ 1日、11日、21日の、世界時 0時 (日本時間 9時) の値を表示することにした。 ただし、2019年11月は、22日の値である。 年は、プログラムの iyearf という変数の値として、その冬の1月がふくまれる年を指定するようにした。
結果の例: 2024年 2月 11日 日本時間 9時 の積雪深
降雪深のデータは 1時間ごとに与えられているが、ここでは、いくらか時間をまとめて見ることにする。
日本時間 0 時から 24時 まで (世界時 9時から 翌日 9時まで) の1日間の降雪深を集計して表示する。
現在のプログラム例では、2月について (「for imonjst in 」につづくリストで与えている)、 1日から月末 (calendar.monthrange をよびだして知る) まで毎日の図を作図する。 対象期間をしぼりたいときは、daylist をきめるまえに daysatart, dayend にあたえる値を変えればよい。
結果の例: 2024年 2月 11日 (日本時間) の 1日間 の 降雪深
3時間ごとの降雪深を集計して表示する。設定は1時間降雪深とほぼ同じ。画像ファイルの数が8倍になる。
[解析雨量を Pythonで読み、作図する] のページで説明した 解析雨量と、解析積雪をかさねてみる。 降水量を色塗りで、積雪深を等値線で表示している。くわしい説明はひとまず省略する。