AMeDASデータを使ったSNOWPACKシミュレーション(Windows版)
1. はじめに
2017年頃にスイスの Institute for Snow and Avalanche Research (SLF)が開発している積雪変質モデル(SNOWPACK)を使って、アメダスの気象データをシミュレーションしたことがあります。このときはWindowsでビルドがうまくゆかずにLinuxでシミュレーションしました。
2025年になって、暫くぶりにサイトを見ると、Windows用のインストーラーがあり、バイナリパッケージなのでビルドの必要はありません。Windows PCですべて完了するので、格段に使いやすくなりました。
2. AMeDASデータのシミュレーション
3つの作業段階があります。混乱しないようにそれぞれディレクトリを作成して作業を進めます。アメダスの観測点、シーズン別に分けておくとあとで修正・管理が楽です。生成したファイルはniVizというWebアプリで表示することが出来ます。
【Step1】 アメダス観測データからSMET形式のファイルを生成します。
【Step2】 MeteoIOで欠測データを補完します。
【Step3】 SNOWPACKでシミュレーションを実行します。
3. インストール
3.1 SNOWPACKのインストール
以下のダウンロードサイトからWindows用のインストーラーをダウンロードします。
Snowpack-3.7.0-x86_64.exe というexe形式のインストーラーがダウンロードされるのでダブルクリックで開始します(※不明な発行元という警告がでますが無視して進めます)。
途中でオプションを聞かれますが、パスの設定はあとで追加します。インストールが完了すると C:\Program Files\Snowpack というディレクトリが作成されます。
3.2 MeteoIOのインストール
同じダウンロードサイトからWindows用のインストーラーをダウンロードします。
最新版ではなく 2.9.0版 をダウンロードします。この版にはWindows用にビルド済のサンプルが入っています。
MeteoIO-2.9.0-x86_64.exe というexe形式のインストーラーがダウンロードされるので、SNOWPACKと同じようにインストールを進めます。インストールが完了すると C:\Program Files\MeteoIO というディレクトリが作成されます。
3.3 パスの追加
任意のフォルダーから実行できるようにパスを追加します。WINキーを押して設定をクリックし、検索で「環境変数の編集」を入力すると以下の画面が出ます。
Pathを選択し、新規(N)で実行ファイルのある以下のディレクトリをそれぞれ追加します。
C:\Program Files\Snowpack\bin
C:\Program Files\MeteoIO\doc\examples
3.4 AMeDAS_SMET_Converter のコピー
データを変換するアプリ AMeDAS_SMET_Converter は以下のレポジトリにあります。CodeタブからZIP形式でダウンロードして解凍します。bin/Release にある AMeDAS_SMET_Converter.exe が実行ファイルです。特にインストールの必要はないので、作業フォルダーにコピーして使います。
4. シミュレーション(例)
4.1 アメダス観測データのダウンロード
気象庁のサイトからアメダスのデータを入手します。
観測地点(※この例では「白馬」)を選択して項目と期間を指定します。データー量の制限があるので、期間は2ヶ月毎にCSVファイルをダウンロードして後で編集します。
Excelで一つのファイルにまとめて hakuba.csv と名前を付けて保存します。
4.2 アメダス観測データの変換
作業フォルダは以下のようになります。
AMeDAS_SMET_Converter.exe : データを変換するアプリ
hakuba.csv : ダウンロードしたアメダスのデータ
hakuba_c1590.smet : この作業で生成するSMETファイル
AMeDAS_SMET_Converter.exe をダブルクリックして実行します。
観測点をクリックして『白馬』を選択し、標高を1590mにします。これは栂池高原スキー場のロープウェイ終点付近の標高になります。作成した hakuba.csv を読み込みます。
データ変換タブから日照から日射量へ変換します。
データ変換タブからSMET変換します。
最後にファイルタブから hakuba_c1590.smet という名前を付けて保存します。_c1590 と付けているのは標高を補正したことを忘れないためです。
4.3 MeteoIOで欠測データの補正
作業フォルダは以下のようになります。
AMeDAS_48141_c1590.smet : この作業で生成するSMETファイル
hakuba_c1590.smet : 前節で作成したSMETファイル
io.ini : 設定ファイル
run_data_converter.bat : データを変換するバッチファイル
設定ファイルは以下のようになります。STATION1 には前節で作成したSMETファイルを指定します。COORDSYS は東日本を指定しています。その他の項目は C:\Program Files\MeteoIO\doc\examples にある io.ini をそのまま使っています。
[General]
BUFFER_SIZE = 370
BUFF_BEFORE = 1.5
[Input]
COORDSYS = UTM
COORDPARAM = 54N
TIME_ZONE = +9
#SMET meteorological file format
METEO = SMET
METEOPATH = ./
STATION1 = hakuba_c1590.smet
[Output]
COORDSYS = UTM
COORDPARAM = 54N
TIME_ZONE = +9
METEO = SMET
METEOPATH = ./
(以下省略)
バッチファイルは以下のとおりです。hakuba_c1590.smet のデータの開始と終了の時刻と、出力間隔1時間毎なので60(分)を指定します。
@ECHO OFF
ECHO Running MeteoIO sample application for %USERNAME% on %DATE% %TIME%
data_converter.exe 2024-11-01T01:00 2025-01-19T00:00 60
:: wait for the user to press a key before closing the window
pause
インストールしたMeteoIOの doc\examples にパスを通しているのでダブルクリックで実行します。
4,4 SNOWPACKシミュレーション
作業フォルダは以下のようになります。
cfgfiles : 設定ファイル io_AMeDAS_48141_c1590.ini があります。
input : 前節で作成した AMeDAS_48141_c1590.smet と 観測地の情報を入れた AMeDAS_48141_c1590.sno があります。ProfileDate は入力データ +30分にしないとエラーが出ます(この例では 2024-11-01T01:30)。
output : シミュレーション結果を入れるフォルダー
run_operAMeDAS_48141_c1590.bat : シミュレーションを実行するバッチファイル
バッチファイルは以下のとおりです。-e で終了時刻を指定します。この例では 終了日の 23:00 です。
:: Copy and edit this file for your own simulations!
@ECHO OFF
ECHO Running Snowpack for %USERNAME% on %DATE% %TIME%
snowpack -c cfgfiles/io_AMeDAS_48141_c1590.ini -e 2024-01-18T23:00
:: wait for the user to press a key before closing the window
pause
インストールしたSnowpackの \bin にパスを通しているのでダブルクリックで実行します。
特に問題なければ outputフォルダーにシミュレーション結果が格納されます。表示に必要なのは AMeDAS_48141_c1590_res.pro です。
5. シミュレーション結果の表示
5.1 niVizによる表示
以下のサイトWebアプリで表示することが出来ます。
ファイルにシミュレーション結果 AMeDAS_48141_c1590_res.pro を指定すると以下のように表示されます。複数読み込ませることで前年との比較が出来ます。
5.2 SN_GUIによる表示
SN_GUI は絶版みたいですが、以前ダウンロードしたものがまだ使えます。こちらの方がずっと便利です。
6. 利用上の注意
6.1 積雪量が実際より小さい
アメダスは山麓に設置しいるので、ここでは標高の高い地点に気温だけ変えて外挿しています。このため降水量が正しくないのか、実際より積雪量を著しく少なく見積もっています。これでは温度勾配がきつくなるので、シミュレーションでは小霜ざらめと判断する傾向があります。
6.2 降雪結晶を考慮していない
日本では雲粒なし降雪結晶が原因の表層雪崩が問題になっています。SNOWPACKでは降雪の種類について考慮していないので、シミュレーション結果には現れません。一般に寒冷前線通過の前に低気圧性の雲粒なし降雪結晶が降ると考えて、現地のピットで雪質を確認すべきです。