3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

数値予報モデルGPVの作画方法メモ

Posted at

概要

気象データ高度利用ポータルサイト から取得可能な GPVサンプルデータ のうち、局地数値予報モデルGPV (LFM) の風の情報を、できるだけ手間をかけずに作図してみました。
処理が重い・図が見にくいなど問題はありますが、やり方をメモしておきます。

作業環境と使用ツール

OS: mac OS Sierra
Software Environment: Anaconda (3.x系)
Tools:

作業手順

  1. ecCodesのインストール
    以下のコマンドで ecCodes をインストールします。

conda install -c conda-forge eccodes


2. GPVの取得
[GPVサンプルデータ](http://www.data.jma.go.jp/developer/gpv_sample.html) から
局地数値予報モデルGPV(LFM) をダウンロードします。

3. GPVのパース
LSMの地表の風のレイヤー (10u, 10v) の情報をJSON形式で出力します。

    ```bash
grib_dump -j -w shortName=10u Z__C_RJTD_20170126120000_LFM_GPV_Rjp_Lsurf_FH0000_grib2.bin > z_10u.json
grib_dump -j -w shortName=10v Z__C_RJTD_20170126120000_LFM_GPV_Rjp_Lsurf_FH0000_grib2.bin > z_10v.json
  1. 風の情報の可視化
    上の2で出力したJSONを、matplotlibで可視化します。
    以下のコードでは、Jupyter Notebook

可視化のサンプルコード

import json
import numpy as np
import matplotlib.pyplot as plt

w10u = {a['key']:a['value'] for a in json.load(open('lsurf_10u.json'))}
wus = [v if v else 0 for v in w10u['values']]
w10v = {a['key']:a['value'] for a in json.load(open('lsurf_10v.json'))}
wvs = [v if v else 0 for v in w10v['values']]
wus[-1], wvs[-1] = 0, 0 # 変な値が入っているので埋める

x, y = w10u['Ni'], w10u['Nj']
X, Y = np.meshgrid(np.arange(x), np.arange(y))
U = np.array(wus).reshape((y, x))
V = np.array(wvs).reshape((y, x))
plt.quiver(X,Y,U,V,color='red',angles='xy',scale_units='xy', scale=5.0)

全部描くと遅いので描画範囲を狭くする

plt.xlim([180,230]) # 描くXの範囲
plt.ylim([150,200]) # 描くyの範囲
plt.show()

  
  作画された画像
  <img width="952" alt="lfm_surf_wind.png" src="https://qiita-image-store.s3.amazonaws.com/0/65190/0b1d05f5-07ef-d2d7-224d-662b40f2fd88.png">


### 考察

GPVのパースはecCodesで問題なさそうですが、作図は重すぎるので他の方法を探す必要がありそうです。

今後の課題:

- 地図上への重畳表示
- 作画の速度を早く
- 風の矢印を見やすく

  

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?