xgrads的主要功能是解析Grads文件为xarray对象,可以更好的利用xarray的高维数据分析和可视化功能,加速气象相关的数据处理、分析和可视化。以下是对此库的具体介绍。
网格分析和显示系统(GrADS或OpenGrADS)是一个广泛使用的软件,用于方便访问、操作和可视化地球科学数据。它使用后缀为.ctl的描述符(或控制)文件来描述原始二进制4D数据集。ctl文件类似于NetCDF文件的头信息,包含了除了变量数据以外的所有维度、属性和变量的信息。
xgrads是为解析和读取GrADS常用的.ctl文件而设计的。目前,它可以解析各种.ctl文件。但是,只有常用的原始二进制4D数据集可以使用dask读取,并以xarray.Dataset
的形式返回,其他类型的二进制数据,如dtype 是 station 或 grib,将来可能会得到支持。
xgrads的安装非常方便,可通过如下两种方式安装:
pip install xgrads
或通过 github 最新源码进行安装:
git clone https://github.com/miniufo/xgrads.git
cd xgrads
python setup.py install
xgrads的使用非常方便,官方也提供了一些示例:
.ctl
文件文件解析非常方便,一行代码即可搞定!
from xgrads import CtlDescriptor
ctl = CtlDescriptor(file='test.ctl')
# print all the info in ctl file
print(ctl)
xarray.Dataset
xgrads 提供了两个函数直接解析 .ctl
相关的二进制文件为 xarray.Dataset
对象,可处理单个文件或批量读取文件:
单文件
from xgrads import open_CtlDataset
dset = open_CtlDataset('test.ctl')
# print all the info in ctl file
print(dset)
批量操作
批量操作类似 xarray.open_mfdataset
命令,这一点非常友好!
from xgrads import open_mfDataset
dset = open_mfDataset('./folder/*.ctl')
# print all the info in ctl file
print(dset)
提供了数据格式的一键转换功能。
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—