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实现堆栈与队列的方法
Jan 15 Python
简单介绍Python的轻便web框架Bottle
Apr 08 Python
python图书管理系统
Apr 05 Python
python opencv将图片转为灰度图的方法示例
Jul 31 Python
python3.6编写的单元测试示例
Aug 17 Python
详解Python并发编程之创建多线程的几种方法
Aug 23 Python
Python偏函数Partial function使用方法实例详解
Jun 17 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
Python通过format函数格式化显示值
Oct 17 Python
python自动打开浏览器下载zip并提取内容写入excel
Jan 04 Python
python xlwt模块的使用解析
Apr 13 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
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
laravel学习教程之关联模型
2016/07/30 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
npm全局环境变量配置详解
2020/12/15 Javascript
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python中用于计算对数的log()方法
2015/05/15 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
基于python实现把图片转换成素描
2019/11/13 Python
深入理解Python 多线程
2020/06/16 Python
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
股权转让协议范本
2014/12/07 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
JS实现数组去重的11种方法总结
2022/04/04 Javascript
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers