MetPy と Cartopy の微妙な関係

 ライブラリ同士の相性なんてものがあるのでしょうか。

 Cartopy を使っている分には特に問題ないのだけれど、Cartopy を使うようになってから 、「MetPy」というライブラリを使う時に Error が多発するようになってしました(泣)。MetPy を使う時に Cartopy を import していないにもかかわらず、です。そもそも、import しないライブラリが原因で Error というのは起こるのでしょうか。

 目次

1.MetPy とは

2.AttributeError: module 'cartopy.feature' has no attribute 'Scaler'  と NameError : name 'ctables' is not defined

3.原因の現状

 

1.MetPy とは

 気象関連のライブラリの一つです。いろいろ説明するよりも、pip show の情報を見てみたいと思います。

Name: MetPy
Version: 0.12.2
Summary: Collection of tools for reading, visualizing and performing calculations with weather data.
Home-page: https://github.com/Unidata/MetPy
Author: Ryan May, Patrick Marsh, Sean Arms, Eric Bruning, John Leeman, Zach Bruick
Author-email: support-python@unidata.ucar.edu
License: BSD 3-Clause
Location: c:\users\XXXXX\anaconda3\lib\site-packages
Requires: pandas, pooch, scipy, traitlets, numpy, matplotlib, xarray, pint
Required-by: 

 個人的には、気象庁のGRIB2 データにない露点温度その他の計算や、SkewT 図を描くという用途でしか使ったことはありませんが、使用例は充実しています。

unidata.github.io

2.AttributeError: module 'cartopy.feature' has no attribute 'Scaler' と

NameError : name 'ctables' is not defined

 Cartopy を install するまでは MetPy は元気に動いていたのですが、なぜかこういう Error が出るようになりました。どちらも、

from metpy.plots import SkewT

のように、metpy.plots を呼び出す時に発生するようです。不思議なことにCartopy はimport していないにもかかわらずです。上記の Examples を動かしてもです。

 

 3.原因の現状

 どうやらこれに類する Error は GitHubStack Overflowでも話題になっているようで、残念ながら Cartopy の問題らしく、鋭意修正中のようです。

 

 すでに素晴らしいライブラリがあるのに、自分でこれに類する code を作るのも実に残念ですが、個人的に使いやすい描画を matplotlib で作ってみるのも有りかと考えてもいます。

 虚しく過ぎた時間の末のぼやきになってしまいました。最後までお付き合いありがとうございました。