matplotlib:番外編 気象庁GPVデータの変換
Google colaboratoryを用いた気象庁GPV GSM/MSMデータのオンライン変換
ここでは、Google Colaboratoryを利用して、気象庁が提供しているGPV GSM/MSMデータ(grib2形式)をオンラインで取得しNetCDF形式のデータに変換するためのWebツールの使い方を紹介しています。このツールで出力されるNetCDFファイルは、 COARDSに準拠しているため、GrADSのsdfopenで直接開くことができます。データの提供元は京都大学生存圏研究所(RISH)のサーバです。データ利用時の注意事項等についてはRISHのwebページを参照してください。
このツールはwebブラウザ上で動作し、Google Colaboratory上の環境を利用するため、ローカルにpython/gcc/gfortran環境を構築できない場合にも、変換されたNetCDFファイルを取得することが可能です。Google Colaboratoryの利用にはGoogleアカウントが必要です。
なお、ローカルのLinux、macOSなどのpython環境で動作するものは、GitHubで公開しています。
作成者:山下陽介(国立環境研究所)
準備
プログラムの置き場所
- gsm_convert.ipynb(気圧面データを取得する場合)
https://colab.research.google.com/drive/1emhkraJ6hvr6PppuCo8dd1Y9I9TZ4Kcm
- gsm_convert_sur.ipynb(表面データを取得する場合)
https://colab.research.google.com/drive/1kf91TzOY2GM-K7pDWZoFfldjiXzftsVe
Google Colaboratoryの利用
Google Colaboratoryは、ブラウザ上からpythonプログラムを記述し実行できるようにしたものです。Googleアカウントを持っていれば、無料で利用できます。以下の手順を行うにはGoogleアカウントが必要ですので、アカウントを持っていない場合にはアカウントの作成、持っている場合にはログインが必要となります。
ドライブにコピーを保存
上記のipynbをブラウザで開きます。しばらくgoogleアカウントにログインしていない場合には、再度ログインするよう求められることがあります。
[ファイル] ー [ドライブにコピーを保存]を選択し自分のGoogleドライブにノートブックをコピーします。この状態で、ログインしたアカウントで書き込み可能な領域(マイドライブ/Colab Notebooks)にコピーされています。コピーされたノートブックは自由に編集可能です。
[ファイル] ー [ドライブにコピーを保存]を選択し自分のGoogleドライブにノートブックをコピーします。この状態で、ログインしたアカウントで書き込み可能な領域(マイドライブ/Colab Notebooks)にコピーされています。コピーされたノートブックは自由に編集可能です。
データの変換
予報時刻などの設定
予報時刻の設定、GSM/MSMの選択、予報時刻からの経過時間の設定を行います。設定する箇所はコードの最後の
if __name__ == '__main__':以降にあります。
- 予報時刻の設定
次のように、YYYYMMDDHHMMSS形式で指定する。fcst_date = "20220523000000"
- GSM/MSMの選択
dset = "GSM"
またはdset = "MSM"
- 予報時刻からの経過時間の設定
気圧面データの場合、3時間毎に指定可能(整数値)
表面データの場合、1時間毎に指定可能fcst_end = 36
NetCDFファイルの作成
左側の実行ボタンを押します。
初回実行時には、wgrib2のダウンロードとビルドが始まります。結構時間がかかります。ビルド時に大量のメッセージが出てきますが、ここでは無視して構いません。ビルドが終了すると、一時領域にwgrib2が配置されます。
次に、RISHのサーバからデータダウンロード、wgrib2を使ったNetCDFファイルへの変換が始まります。その間、次のような表示が出ています(しばらく時間がかかります)。
NetCDFファイルを読み込み、気圧面データの場合、3次元データに変換してNetCDF形式で出力します。初回実行時には、出力データについて記載されたoutput.jsonを読みます。次のように、出力されたファイルの情報を表示した後、ダウンロードが始まります。
ダウンロードが終了すると、ファイルを保存するダイアログが現れるので、ローカルPCに保存します。
2回目以降にはwgrib2のビルドは行われず、既にビルドされたものが用いられます。1日程度アクセスしない場合には一時領域のファイルが消えるため、再度wgrib2のビルドが行われます。
表面データの場合、Z__C_RJTD_20220523000000_GSM_GPV_Rjp_Lsurf.ncのようなファイル名になります。
初回実行時には、wgrib2のダウンロードとビルドが始まります。結構時間がかかります。ビルド時に大量のメッセージが出てきますが、ここでは無視して構いません。ビルドが終了すると、一時領域にwgrib2が配置されます。
次に、RISHのサーバからデータダウンロード、wgrib2を使ったNetCDFファイルへの変換が始まります。その間、次のような表示が出ています(しばらく時間がかかります)。
data lev = plev , fcst_time = 20220523000000
NetCDFファイルを読み込み、気圧面データの場合、3次元データに変換してNetCDF形式で出力します。初回実行時には、出力データについて記載されたoutput.jsonを読みます。次のように、出力されたファイルの情報を表示した後、ダウンロードが始まります。
output file name = Z__C_RJTD_20220523000000_GSM_GPV_Rjp_L-pall.nc -rw-r--r-- 1 root root 91215712 May 25 09:55 Z__C_RJTD_20220523000000_GSM_GPV_Rjp_L-pall.nc
ダウンロードが終了すると、ファイルを保存するダイアログが現れるので、ローカルPCに保存します。
2回目以降にはwgrib2のビルドは行われず、既にビルドされたものが用いられます。1日程度アクセスしない場合には一時領域のファイルが消えるため、再度wgrib2のビルドが行われます。
表面データの場合、Z__C_RJTD_20220523000000_GSM_GPV_Rjp_Lsurf.ncのようなファイル名になります。
[top]