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的即时标记项目练习笔记
Sep 18 Python
python提取内容关键词的方法
Mar 16 Python
Python生成器generator用法示例
Aug 10 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
Jun 19 Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 Python
python django 原生sql 获取数据的例子
Aug 14 Python
如何利用python给图片添加半透明水印
Sep 06 Python
python函数中将变量名转换成字符串实例
May 11 Python
Python getattr()函数使用方法代码实例
Aug 10 Python
Python实现微信表情包炸群功能
Jan 28 Python
Python中生成ndarray实例讲解
Feb 22 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
BBS(php & mysql)完整版(六)
2006/10/09 PHP
PHP初学入门
2006/11/19 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
2017/08/30 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
2020/04/03 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
详细分析React 表单与事件
2020/07/08 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
Django 路由系统URLconf的使用
2018/10/11 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
表彰会主持词
2014/03/26 职场文书
学习交流会主持词
2014/04/01 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
庆六一宣传标语
2014/10/08 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
军事博物馆观后感
2015/06/05 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技