爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 29267|回复: 24

[求助] Windows下如何用Python读取、处理Grib2格式数据

[复制链接]

新浪微博达人勋

发表于 2020-5-19 23:18:39 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
办公电脑上需要处理大量的Grib2的预报数据,单时次文件达到300多MB。现在面临的困难办公电脑是Win7,且不能更改操作系统,但是Win7下Python无法读取Grib2数据。本人在个人电脑Linux系统下,用pygrib库读取和画图非常方便,所以想请教各位大神,我这种情况如何能用Python读取数据,并画出图,拜托了!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-5-20 07:26:01 | 显示全部楼层
在Anaconda下使用eccodes+cfgrib,然后用xarray指定engine='cfgrib'去读
不过之前我试过,如果是NCEP的GRIB2文件读得似乎有些问题,JMA和EC的GRIB2都可以正常读,不知道最近几个版本改进这个问题解决没有
fig1.png
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2020-5-20 00:24:57 | 显示全部楼层
安装虚拟机,将你个人电脑里的处理程序放到虚拟机里运行就可以了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-5-20 08:45:55 | 显示全部楼层
Docker可以使用容器
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-5-20 08:56:58 | 显示全部楼层
MyOpenGFM 发表于 2020-5-20 08:45
Docker可以使用容器

可以具体点吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 成长值: 0
发表于 2020-5-20 09:23:45 | 显示全部楼层
Cygwin下安装wgrib2 具体自行百度
非常轻量,不需要占用几个GB的空间
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-5-20 10:51:15 | 显示全部楼层
Masterpiece 发表于 2020-5-20 07:26
在Anaconda下使用eccodes+cfgrib,然后用xarray指定engine='cfgrib'去读
不过之前我试过,如果是NCEP的GRI ...

把这几个库安装了下,运行报错了,
显示:ModuleNotFoundError: No module named 'pyeccodes'
然后pyeccodes好像只有tar版本,貌似Windows安装不了。


>>> data = xr.open_dataset(file,engine = 'cfgrib')
Traceback (most recent call last):
  File "C:\Python36\lib\site-packages\cfgrib\bindings.py", line 48, in <module>
    lib = ffi.dlopen(libname)
  File "C:\Python36\lib\site-packages\cffi\api.py", line 150, in dlopen
    lib, function_cache = _make_ffi_library(self, name, flags)
  File "C:\Python36\lib\site-packages\cffi\api.py", line 832, in _make_ffi_library
    backendlib = _load_backend_lib(backend, libname, flags)
  File "C:\Python36\lib\site-packages\cffi\api.py", line 827, in _load_backend_lib
    raise OSError(msg)
OSError: ctypes.util.find_library() did not manage to locate a library called 'libeccodes'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Python36\lib\site-packages\cfgrib\messages.py", line 37, in <module>
    from . import bindings as eccodes
  File "C:\Python36\lib\site-packages\cfgrib\bindings.py", line 86, in <module>
    CODES_TYPE_UNDEFINED = lib.GRIB_TYPE_UNDEFINED
  File "C:\Python36\lib\site-packages\cfgrib\bindings.py", line 43, in __getattr__
    raise RuntimeError(self.message) from self.exc
RuntimeError: ecCodes library not found on the system.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    data = xr.open_dataset(file,engine = 'cfgrib')
  File "C:\Python36\lib\site-packages\xarray\backends\api.py", line 520, in open_dataset
    filename_or_obj, lock=lock, **backend_kwargs
  File "C:\Python36\lib\site-packages\xarray\backends\cfgrib_.py", line 38, in __init__
    import cfgrib
  File "C:\Python36\lib\site-packages\cfgrib\__init__.py", line 19, in <module>
    from .cfmessage import CfMessage
  File "C:\Python36\lib\site-packages\cfgrib\cfmessage.py", line 29, in <module>
    from . import messages
  File "C:\Python36\lib\site-packages\cfgrib\messages.py", line 39, in <module>
    import pyeccodes.compat as eccodes
ModuleNotFoundError: No module named 'pyeccodes'
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-5-20 11:35:10 | 显示全部楼层
yuyumage 发表于 2020-5-20 10:51
把这几个库安装了下,运行报错了,
显示:ModuleNotFoundError: No module named 'pyeccodes'
然后pyec ...

不是这个,是ecCodes,需要用Anaconda的conda-forge去安装
http://500hpa.cn/pyguide/eccodes/eccodes_install/
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-5-20 21:24:12 | 显示全部楼层
Masterpiece 发表于 2020-5-20 11:35
不是这个,是ecCodes,需要用Anaconda的conda-forge去安装
http://500hpa.cn/pyguide/eccodes/eccodes_i ...

网速有点慢,库总是装不成功。弱弱的问句,WIN7的32位可以的吧?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-5-20 21:35:38 | 显示全部楼层
yuyumage 发表于 2020-5-20 21:24
网速有点慢,库总是装不成功。弱弱的问句,WIN7的32位可以的吧?

可以
下载速度慢可以用清华的镜像
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表