1

遵循地理彩色卫星图像教程时,我在 MetPy 中遇到错误。具体来说,标题为“使用 Cartopy 地球同步投影绘图”的部分。这种损坏发生在大约两周前,功能尚未恢复。考虑以下代码:

from xarray import open_dataset  
import metpy

data_dir = '.'  
color_file = 'OR_ABI-L1b-RadC-M3C01_G16_s20180152002235_e20180152005008_c20180152005054.nc'  
c = open_dataset('/'.join([data_dir,color_file]))  
dat = c.metpy.parse_cf('Rad')

此块在功能上类似于 MetPy geocolor 卫星教程中提供的块。直到最近它工作得很好。现在出现以下错误:

Traceback (most recent call last):  
  File "<stdin>", line 1, in module  
  File "/usr/local/anaconda3/lib/python3.7/site-packages/metpy/xarray.py", line 191, in parse_cf  
    from .plots.mapping import CFProjection  
  File "/usr/local/anaconda3/lib/python3.7/site-packages/metpy/plots/__init__.py", line 13, in module  
    from .skewt import *  # noqa: F403  
  File "/usr/local/anaconda3/lib/python3.7/site-packages/metpy/plots/skewt.py", line 28, in module  
    from ..calc import dewpoint, dry_lapse, moist_lapse, vapor_pressure  
  File "/usr/local/anaconda3/lib/python3.7/site-packages/metpy/calc/__init__.py", line 7, in module  
    from .cross_sections import *  # noqa: F403  
  File "/usr/local/anaconda3/lib/python3.7/site-packages/metpy/calc/cross_sections.py", line 14, in module  
    from .tools import first_derivative  
  File "/usr/local/anaconda3/lib/python3.7/site-packages/metpy/calc/tools.py", line 101, in module  
    def find_intersections(x, a, b, direction='all'):  
  File "/usr/local/anaconda3/lib/python3.7/site-packages/pint/registry_helpers.py", line 248, in decorator  
    % (func.__name__, count_params, len(args))  
TypeError: find_intersections takes 4 parameters, but 3 units were passed

这里似乎有什么问题?有可用的解决方法吗?

4

1 回答 1

0

我认为这是您安装的 MetPy 和 Pint 版本之间的不兼容。尝试确保您正在运行这两者的最新版本:

conda update metpy pint

我应该注意到 MetPy 0.12.0(目前是最新的)与 xarray 0.15.1 不兼容。在撰写本文时,如果上述命令更新了 xarray,您需要使用以下命令稍微回滚:

conda install xarray=0.15.0

我们正在开发一个错误修复版本来解决这个问题。

于 2020-04-16T01:16:40.627 回答