python读取grib2数据_python读取grib grib2气象数据
GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式,主要用来表示数值天气预报的产品资料。现行的GRIB 码版本有GRIB1 和GRIB2 两种格式。由于小编只接触过GRIB1数据,所以本文仅讲解如何读取GRIB1数据。
使用Python读取GRIB数据要根据在何种平台分别讨论。
一、Linux及Mac OS系统下
Linux、Mac OS系统下使用Python语言实现Grib数据读取主要依靠pygrib库,pygrib是欧洲中期天气预报中心(ECMWF)的GRIG API C库的Python接口,通过这个库就可以将Grib数据读取出来。
(一)导入pygrib模块
>>> import pygrib
(二)打开Grib文件
>>> grbs = pygrib.open('/Users/Kallan/Documents/data/echhae50.082')
(三)提取文件信息
>>> grbs.seek(0)
>>> for grb in grbs:
grb
1:Geopotential Height:gpm (instant):regular_ll:isobaricInhPa:level 500:fcst time 24 :from 201507081200
信息解读
1 :数据列表的行号,有的文件可能包括多个数据
Geopotential Height:数据的名称
gpm (instant):数据的单位
regular_ll:常规数据,其实这个字段我也不清楚
isobaricInhPa:这个字段表示的是数据属性,此处表示是以hPa为单位的等压面
level 500:这个字段表示的是高度层
fcst time 24 :预报时效
from 201507081200 :起报时间
综合上面的信息可以得出,这个文件是从2015年7月8日12时开始的24小时后500hPa等压面高度场数据
(四)导出文件数据
二、Windows系统下
windows系统下并不能使用pygrib直接读取GRIB数据,主要原因是:GRIB_API在Windows下无法编译安装,从而导致pygrib无法安装。我曾经也为这个问题苦恼了很久,也到ECMWF论坛里找了很久,也给ECMWF发了邮件,回应我没有做Windows版本的打算,所以在Windows下直接用pygrib读取GRIB数据是基本不可能实现了。
后来通过大量的百度,还是找到了在Windows下读取GRIB数据的方法:
一种是在Cygwin中安装pygrib,将pygrib的方法编译成读取GRIB的exe;
第二种是通过一个第三方的程序wgrib,先用wgrib把数据读存到txt,然后再用python读取txt文件;
第三种是通过官方的GRIB数据说明文档自己编写解码程序。
首先尝试了Cygwin,pygrib成功编译出了exe,但是无法运行,感觉Cygwin稍微复杂,所以我没有继续研究这一种方法,直接转向第二种方法。
(一)wgrib
在cmd中直接运行wgrib.exe可得到如何使用的帮助信息。
知道如何使用wgrib程序后我们就可以使用os.system在Python中执行Windows命令行程序wgrib了
这样就可以在指定目录找到输出的txt文件,然后将txt文件中的数据转换成数组。
原数据是37*37的数组,而输出的数据是每个数据占一行,所以需要进行一下转换
(二)自己编写解码库
编写解码程序的过程我已经记不清了,但是程序已经放到了GitHub中,大家可从头条号主页下方的GitHub菜单进入,里面还有GRIB的官方说明文档,方便大家照着说明文档继续完善。
由于小编只用到了GRIB1格式的数据,所以只写了GRIB1的解码库,而且仅仅是将数据导出功能,如果有感兴趣的同学,可以继续完善这个库。
python读取grib2数据_python读取grib grib2气象数据相关推荐
- python读取grib2数据_python2 解析 Grib/Grib2数据
python2 解析 Grib/Grib2数据 sudoapt-get installgfortran cmake zlib1g-dev libpng-dev jasper libjpeg-dev l ...
- python读取html文件中的表格数据_Python 读取各类文件格式的文本信息 | doc,excel,html,mht...
原标题:Python 读取各类文件格式的文本信息 | doc,excel,html,mht 众所周知,python最强大的地方在于,python社区汇总拥有丰富的第三方库,开源的特性,使得有越来越多的 ...
- python读取表格数据_Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
- python通信达数据_Python读取通达信数据
Python读取通达信数据 一.介绍 python获取股票数据的方法很多,其中Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通 ...
- python 通达信数据_Python读取通达信本地数据
一.介绍 python获取股票数据的方法很多,其中 Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通达信\vipdoc\sh\ ...
- 如何用python获取通达信数据_Python读取通达信本地数据
一.介绍 python获取股票数据的方法很多,其中 Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通达信\vipdoc\sh\ ...
- python如何读取excel宏_Python读取含有VBA宏的Excel数据
因为现在项目在开发新的API,我需要根据API方法论去校验这个API的计算逻辑和计算结果是否正确,而且需要将计算逻辑用Excel记录下来,所以就用了Excel的VBA. 1. 什么是VBA? 具体含义 ...
- python通达信模块_Python读取通达信数据
Python读取通达信数据 一.介绍 python获取股票数据的方法很多,其中Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通 ...
- python处理多个excel数据_python 读取多个excel数据写入同一个excel中
一.将excel数据源存储到同一个excel的不同sheet 中 例如A.xlsx 中有test1,test2 两张sheet.B.xlsx中有test3 一张sheet,存储到C.xlsx中后,C有 ...
- python读取连接数据库文件_python 读取配置文件 pandas连接数据库
config.ini 配置文件内容: [DATABASE] host = 192.168.19.111 username = user password = pass port = 4333 data ...
最新文章
- 虚拟路由冗余协议VRRP
- opencv图像清晰度计算_Python中的十大图像处理工具
- 使用Java 8的Builder模式
- Linux CentOS 查看服务器信息命令及其它常用命令
- MySql的Delete、Truncate、Drop分析
- 计算机的英语谚语,英语谚语大全_2017考研:计算机专业考研复习要点_沪江英语...
- MINIGUI图形界面开发入门,交叉编译,移植
- k3 lede刷官改_斐讯 K3 路由 LEDE 固件刷回官方原版固件
- 学校机房中计算机软件安装,学校机房软件维护与安装快捷方法.doc
- 用C编程语言写出三行情书,用7种语言写的三行情诗,你一定没看过!
- 掠食细菌—蛭弧菌B. bacteriovorus,可以对抗革兰氏阴性感染?
- 微信小程序:连续签到7天签到积分获得功能设计
- 杠子老虎鸡虫 《python二维游戏编程》课后项目一
- javaweb实验室预约管理系统
- nodejs之pathinfo/pathname的使用
- MyBatis02:CRUD操作和配置解析
- java 时间轮算法_时间轮算法解析(Netty HashedWheelTimer源码解读)
- Android 移动安全知识技术全解(加固技术、常规漏洞、Android 逆向......),移动安全问题不容忽视
- Android自定义view摇杆,Android自定义摇杆
- 《悠悠岁月》悠悠岁月,浅藏浅忆,且行且珍惜
热门文章
- java读取视频时长
- 这两天说到的苹果软件中毒是个什么情况?
- Sublime Text 全程指南
- Java中如何防止内存泄漏的发生
- 利用贝叶斯分类器进行文本挖掘---笔记
- python入门教材论坛_Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...
- 叉积 微分 恒等式_4分钟带你认识向量的极化恒等式。
- 调用方法try起来的好处_Java:一个重要的停止线程方法——interrupt
- check oracle 为空值_索引(index)-Oracle高级知识(3)-数据库(23)
- Java中的序列化问题