今回は、風の矢羽根、等高線、colorbar 表示し、Basemap から Cartopy への引っ越しを終えたいと思います。これでようやく、このブログの目的の一つ、「気象予報をもう一度振り返る」準備が完了することとなります。
目次
1.矢羽根、等高線、colorbar は matplotlib の機能だった
2.2020.08.24 台風8号(Bavi)06Z(午後3時)のデータを図示してみる
3.まとめ
1.矢羽根、等高線、colorbar は matplotlib の機能だった
Basemap を使っていた時の code のどの部分を修正するのかしばらく眺めていたら、実は Cartopy とはほとんど関係が無いことに気が付きました。パッケージにして使いまわしていたのですっかり忘れていました。時には matplotlib の documentation を見直すことは大事のようです。ということで、さっそく修正して動かしてみることとします。
2.2020.08.24 台風8号(Bavi)06Z(午後3時)のデータを図示してみる
気象庁のMSM データを使って、2020 年 8 月 24 日午後 3 時の、沖縄本島周辺の風、湿度の数値予報を図示してみました。
当日は午後3時頃までは、大半の便がキャンセルしていたようですし、また飛んで行ったとしても、一度で着陸できた便ばかりでなかったようです。36000 ft になっても台風の目が分かる予報だったとは、一体どれだけ背の高い台風だったんでしょうね。
さておき、colorbar の目盛りの調整などは別とすれば、目指していたものにほぼ到達した感じです。すべてではありませんが、code の雰囲気は以下の通りです。
import pygrib # ライブラリ関連
import numpy as np
import math
import matplotlib.pyplot as plt
import cartopy.crs as ccrs # Cartopy 関連
import cartopy.feature as cfeature
import matplotlib.ticker as mticker
import matplotlib.path as mpath
import xarray as xr
# 975 hPa の風、高度の描画部分
# lons, lats, WV_97, height_975 は 気象庁 MSM GRIB2 data から取得加工
cf3 = axlist[2].contourf(lons, lats, WV_97,
cmap='coolwarm', transform=ccrs.PlateCarree()) # 塗りつぶし
c3 = axlist[2].contour(lons, lats, heights_975,
colors='black', linewidths=1.2,
transform=ccrs.PlateCarree()) # 等高線
axlist[2].clabel(c3, fontsize=10, inline=1, inline_spacing=1,
fmt='%i', rightside_up=True)
axlist[2].set_title('975 hPa Wind Speeds and Heights (600 ft)', fontsize=14)
cb3 = fig.colorbar(cf1, ax=axlist[2], orientation='vertical', shrink=0.8, pad=0.03) # colorbar 表示
cb3.set_label('knots', size='large')
axlist[2].gridlines(xlocs=mticker.MultipleLocator(5),
ylocs=mticker.MultipleLocator(5),
linestyle='-', color='gray') # 緯度経度線 5 度刻み
axlist[2].barbs(lons_s, lats_s, wu_97s, wv_97s, length=7, color="dimgrey") # 矢羽根描画
3.まとめ
基本的な引っ越し作業はどうにか終了したようです。前回も書きましたが、やはりどういった地図データが使えるのか、もう少し調べて使えるようになる必要性を感じています。
最後までお付き合いありがとうございました。