首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Google时Cartopy (0.14.2) / MetPy (0.12.2)解析(Cf)错误

使用Google时Cartopy (0.14.2) / MetPy (0.12.2)解析(Cf)错误
EN

Stack Overflow用户
提问于 2020-11-24 01:39:32
回答 1查看 153关注 0票数 0

我有一个学生面临着一个类似于其他人在使用旧版本的MetPy和Cartopy时所报告的问题。

问题是metpy下的parse_cf()命令。它发生在谷歌的竞争中,我对此几乎没有经验。在其他平台上(anaconda、miniconda、自制的等等),一切都很顺利。

我以前看到的反馈是指从0.18.*回滚cartopy库的版本。我还遵循了以前发布的关于Shapely的指导,但我们似乎无法改变Google CoLab中cartopy或metpy版本的版本。

下面是环境和python库的版本信息,后面是代码和错误。

我在这里不知所措,尽我所能给我的学生带来麻烦。我们双方都希望得到指导。

系统与包装信息

代码语言:javascript
复制
MetPy                         0.12.2         
Cartopy                       0.14.2         
3.6.9 (default, Oct  8 2020, 12:12:24) 
[GCC 8.4.0]
Linux d8a71c5140a6 4.19.112+ #1 SMP Thu Jul 23 08:00:38 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux
Linux-4.19.112+-x86_64-with-Ubuntu-18.04-bionic

python-cartopy/bionic,now 0.14.2+dfsg1-2build3 amd64 [installed]
python3-cartopy/bionic,now 0.14.2+dfsg1-2build3 amd64 [installed]

代码复制

代码语言:javascript
复制
import numpy as np
import cartopy as c
import metpy as metpy

file_218 = "https://www.ncei.noaa.gov/thredds/dodsC/model-nam218/202011/20201121/nam_218_20201121_0000_000.grb2"

ds218    = xr.open_dataset(file_218)
ds218    = ds218.metpy.parse_cf()

错误消息

代码语言:javascript
复制
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-9-4362f5b26659> in <module>()
      9 file_218 = "https://www.ncei.noaa.gov/thredds/dodsC/model-nam218/202011/20201121/nam_218_20201121_0000_000.grb2"
     10 ds218    = xr.open_dataset(file_218)
---> 11 ds218    = ds218.metpy.parse_cf()

1 frames
/usr/local/lib/python3.6/dist-packages/metpy/xarray.py in parse_cf(self, varname, coordinates)
    510         """
    511         from .cbook import iterable
--> 512         from .plots.mapping import CFProjection
    513 
    514         if varname is None:

/usr/local/lib/python3.6/dist-packages/metpy/plots/__init__.py in <module>()
     17 logger = logging.getLogger(__name__)
     18 
---> 19 __all__ = ctables.__all__[:]  # pylint: disable=undefined-variable
     20 __all__.extend(declarative.__all__)  # pylint: disable=undefined-variable
     21 __all__.extend(skewt.__all__)  # pylint: disable=undefined-variable

NameError: name 'ctables' is not defined
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-24 03:44:15

这里的核心问题是,0.14.2与MetPy的工作太老了--尽管它崩溃是一个bug,将在即将发布的1.0版本中修复。为了在Collab上安装一个更新版本的CartoPy,这个菜谱对我很有用(在单元格中输入这些命令):

代码语言:javascript
复制
!pip install metpy
!apt-get -qq install libproj-dev libgeos-dev
!pip install shapely --no-binary shapely cartopy
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64979083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档