5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ウィンドプロファイラを描画する

5
Posted at

ウィンドプロファイラ

ウィンドプロファイラは、地上から上空への鉛直方向の層構造を明らかにする測定器であり,気象庁が全国33箇所で運用しています.
その実態はレーダであり,上空の5方向に電波を発射することで水平方向・鉛直方向の風構造を把握することができます.
これが何の役に立つのかというと,例えば前線の通過・接近を解析する手掛かりになりますし,前線の動きが分かれば予報対象地域の気象予報に役立ちます.
気象予報士試験ではウィンドプロファイラを活用した問題は毎年出題されています

気象庁サイト:https://www.jma.go.jp/jma/kishou/know/windpro/kaisetsu.html

測定原理

地上から上空に向けて発射した電波は,水分を含んだ大気中の風の乱れなどによって散乱・反射されます.これをレーダで受信・処理することで、上空の風向・風速を測定するのです.(例えば,上空の風速が大きいほどドップラ効果による周波数偏差が大きくなりますので,この周波数差から速度を測定できるわけです)

データ取得

AMeDASはAPIが用意されており,誰でも簡単にアクセスすることができますが,ウィンドプロファイラデータを取得するAPIは発見することができませんでした.
しかし大学などで研究用にアーカイブを保管しているサーバがありますので,今回はそこに置いてあるデータを利用させていただきました.

データ解析

APIは公開されていませんが,ウィンドプロファイラデータファイルの書式は公開されています.
https://www.data.jma.go.jp/suishin/catalogue/format/ObdObs_wpr_1hour_format.pdf

この書式は国際気象通報式に準拠しており,上のpdfだけでは必要な情報が揃いませんでしたので,以下の国際気象通報式・別冊も参照しています
https://www.jma.go.jp/jma/kishou/books/tsuhoshiki/kokusaibet/kokusaibet_21.pdf

今回はこれらを参考に,サクッと描画系を作成しました.

まず,バイナリファイルですのでこれを解析できるようパーサを組みます.真面目にパーサを組むほど複雑ではないので,Getモナドでガンガン読み込んでいきます

ファイルは複数のブロックから構成されており,例えば経度緯度情報・観測できた層数・風の東西/南北/鉛直方向成分などを読み取ることができます.
各ブロックの内容はここに掲載するには冗長過ぎますので割愛しますが,以下のようにヘッダを除いて合計4つのデータブロックを読み込んでいきます
ソースコード全体は以下に置いてあります
https://github.com/wvogel00/WindProfilerRader

wprP wmoTable = do
  header <- headerP
  block0 <- block0P
  block1 <- block1P
  block3 <- block3P
  block4 <- block4P wmoTable
  return (header, block0, block1, block3, block4)

analyze :: FilePath -> IO Block4
analyze file = do
  wmoTable <- BUFR.readWMOTable
  bs <- BL.readFile file
  let wrp@(h, h2, b1, b3, b4) = runGet (wprP wmoTable) bs
  -- print wrp
  return b4

そして,描画系をまとめたDrawPR.hsファイルから以下を実行し,無事ウィンドプロファイラを人の目にも分かりやすい形で描画できました.横軸は時刻,縦軸は高度になっています.これは1ファイルのみなので時間方向のデータ量が少ないですが,読み込むデータを増やして時間方向に連結していけば,馴染みのあるグラフが描画できるようになります

色のセンスがないのはご容赦ください.
風速の大きさで4段階程度に色分けしているのですが,矢印の長さに反映させる・正負をより明瞭にするなど改善点は山積みです.

image.png

なかなか落ち着かずクリスマスの投稿となってしまいました
メリークリスマス!

5
0
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
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?