python安装读取grib库总结(推荐)


Posted in Python onJune 24, 2020

无论安装以下哪种库,强烈建议在新环境下安装,之前在base环境下安装各种报错!!!如何在新环境下安装可参见我之前的总结或网上其他文章。

不推荐方法

1.pygrib
pygrib库基于python2.4+、numpy、pyproj、Jasper和GRIB_API,依赖库基于Linux或MacOS,GRIB_API将于2020年6月30日正式被ecCodes取代。因此,不推荐使用pygrib库。
2.GDAL
可于window下安装,安装简单,但是需借助wgrib2查看grib变量所在通道,因此不推荐。

推荐方法

xarray搭配cfgrib
优点:Linux windows MacOS均可用,安装较简单,强烈建议在新环境下安装各所需库
安装步骤:

1,新建新环境
conda creat -n cfgrib_env python=3.7.0

2.启动虚拟环境
source activate cfgrib_env

3.安装spyder xarray eccodes cfgrib及其他所需依赖库
ps:可用pip或conda安装,eccodes无需配置(有些地方写需要配置路径)

4.在新环境下启动spyder(base或其他环境下启动的spyder无效)
切换到安装路径并执行:~/anaconda3/envs/cfgrib_env/bin$ ./spyder

5.写入代码

import xarray as xr
import cfgrib

ds = xr.open_dataset('/1.grib2',engine='cfgrib')

提示错误:

DatasetBuildError: multiple values for unique key, try re-open the file with one of:
  filter_by_keys={'typeOfLevel': 'unknown'}
  filter_by_keys={'typeOfLevel': 'surface'}
  filter_by_keys={'typeOfLevel': 'isobaricInhPa'}
  filter_by_keys={'typeOfLevel': 'meanSea'}
  filter_by_keys={'typeOfLevel': 'depthBelowLandLayer'}
  filter_by_keys={'typeOfLevel': 'heightAboveGround'}
  filter_by_keys={'typeOfLevel': 'heightAboveGroundLayer'}
  filter_by_keys={'typeOfLevel': 'tropopause'}
  filter_by_keys={'typeOfLevel': 'maxWind'}
  filter_by_keys={'typeOfLevel': 'heightAboveSea'}
  filter_by_keys={'typeOfLevel': 'isothermZero'}
  filter_by_keys={'typeOfLevel': 'pressureFromGroundLayer'}
  filter_by_keys={'typeOfLevel': 'sigmaLayer'}
  filter_by_keys={'typeOfLevel': 'sigma'}
  filter_by_keys={'typeOfLevel': 'potentialVorticity'}

莫慌!!!
这是因为目前cfgrib库无法同时读取多个typeOfLevel,因此我们只需要根据提示筛选我们需要的数据就行了。原程序添加所需数据为:

ds = xr.open_dataset('/1.grib2',engine='cfgrib',backend_kwargs=
{'filter_by_keys':
{
'typeOfLevel': 'surface'
}
}
)

所需变量为:ds.变量名

折腾了好几天,做其他事情都心不在焉,搞出来一身轻~~~

总结

到此这篇关于python安装读取grib库总结的文章就介绍到这了,更多相关python安装读取grib库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
简单介绍Python中的JSON使用
Apr 28 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
Python实现字符串逆序输出功能示例
Jun 24 Python
python实现飞机大战
Sep 11 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
Nov 30 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
python读写csv文件实例代码
Jul 05 Python
简单了解django索引的相关知识
Jul 17 Python
python递归法实现简易连连看小游戏
Mar 25 Python
pip安装tensorflow的坑的解决
Apr 19 Python
QML实现钟表效果
Jun 02 Python
Python中Permission denied的解决方案
Apr 02 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 #Python
在Pytorch中使用Mask R-CNN进行实例分割操作
Jun 24 #Python
OpenCV+python实现实时目标检测功能
Jun 24 #Python
基于Python下载网络图片方法汇总代码实例
Jun 24 #Python
Python 分布式缓存之Reids数据类型操作详解
Jun 24 #Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
Jun 24 #Python
Pytorch实现将模型的所有参数的梯度清0
Jun 24 #Python
You might like
PHP 5.0对象模型深度探索之对象复制
2008/03/27 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
详解Document.Cookie
2015/12/25 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
浅谈javascript中的constructor
2016/06/08 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
Python3遍历目录树实现方法
2015/05/22 Python
python代码过长的换行方法
2018/07/19 Python
python opencv摄像头的简单应用
2019/06/06 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
几个常见的消息中间件(MOM)
2014/01/08 面试题
路政管理专业推荐信
2013/11/11 职场文书
超市5.1促销活动
2014/01/15 职场文书
后勤部经理岗位职责
2014/02/23 职场文书
实习生岗位职责
2014/04/12 职场文书
幸福家庭标语
2014/06/27 职场文书
大足石刻导游词
2015/02/02 职场文书
遗愿清单观后感
2015/06/09 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
python实现剪贴板的操作
2021/07/01 Python