前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐!国内气象人开发的基于Python的Grads文件解析利器

推荐!国内气象人开发的基于Python的Grads文件解析利器

作者头像
bugsuse
发布2022-09-23 13:56:36
1.5K0
发布2022-09-23 13:56:36
举报
文章被收录于专栏:气象杂货铺

xgrads的主要功能是解析Grads文件为xarray对象,可以更好的利用xarray的高维数据分析和可视化功能,加速气象相关的数据处理、分析和可视化。以下是对此库的具体介绍。

网格分析和显示系统(GrADS或OpenGrADS)是一个广泛使用的软件,用于方便访问、操作和可视化地球科学数据。它使用后缀为.ctl的描述符(或控制)文件来描述原始二进制4D数据集。ctl文件类似于NetCDF文件的头信息,包含了除了变量数据以外的所有维度、属性和变量的信息。

xgrads是为解析和读取GrADS常用的.ctl文件而设计的。目前,它可以解析各种.ctl文件。但是,只有常用的原始二进制4D数据集可以使用dask读取,并以xarray.Dataset的形式返回,其他类型的二进制数据,如dtype 是 station 或 grib,将来可能会得到支持。

安装

xgrads的安装非常方便,可通过如下两种方式安装:

代码语言:javascript
复制
pip install xgrads

或通过 github 最新源码进行安装:

代码语言:javascript
复制
git clone https://github.com/miniufo/xgrads.git
cd xgrads
python setup.py install

示例

xgrads的使用非常方便,官方也提供了一些示例:

解析 .ctl 文件

文件解析非常方便,一行代码即可搞定!

代码语言:javascript
复制
from xgrads import CtlDescriptor

ctl = CtlDescriptor(file='test.ctl')

# print all the info in ctl file
print(ctl)

读取二进制文件为 xarray.Dataset

xgrads 提供了两个函数直接解析 .ctl 相关的二进制文件为 xarray.Dataset 对象,可处理单个文件或批量读取文件:

单文件

代码语言:javascript
复制
from xgrads import open_CtlDataset

dset = open_CtlDataset('test.ctl')

# print all the info in ctl file
print(dset)

批量操作

批量操作类似 xarray.open_mfdataset 命令,这一点非常友好!

代码语言:javascript
复制
from xgrads import open_mfDataset

dset = open_mfDataset('./folder/*.ctl')

# print all the info in ctl file
print(dset)

转换 grads 数据集为 netCDF 数据集

提供了数据格式的一键转换功能。

代码语言:javascript
复制
from xgrads import open_CtlDataset

open_CtlDataset('input.ctl').to_netcdf('output.nc')

后话

我没怎么用过grads,但此工具提供了和xarray的兼容,利用此工具将grads文件解析为xarray对象可以更好的利用xarray的大量函数,更好的进行数据分析和可视化。感兴趣的可以赶紧去安装使用了!

GitHub链接:https://github.com/miniufo/xgrads

—END—

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气象汇 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 示例
    • 解析 .ctl 文件
      • 读取二进制文件为 xarray.Dataset
        • 转换 grads 数据集为 netCDF 数据集
        • 后话
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档