气象ARWpost、grads 和 Fortran使用的ctl+dat格式的grd 二进制文件,在Python中可以用xgrads包来读取或者转成nc 格式使用。
xgrads包官网说明地址:https://xgrads.readthedocs.io/en/latest/
示例1,打开多个空间场相同,时间不同的 ctl 文件时,可以批量读取
类似于 xarray 的 open_mfdataset
from xgrads import open_mfdataset
ds=open_mfdataset('/../*.ctl')
ds
示例2,转 nc 格式
from xgrads import open_mfdataset
ds=open_dataset('/../xxxx.ctl')
ds.attrs['pdef']='None' # 原来的 ds 的 attr 是没有 pdef 这个属性的,所以如果报错,可以加上这个,大致报错的原因都是因为属性缺少有些东西,缺啥补啥
ds.to_netcdf('/../xx.nc')
注意:
1、ctl文件名中时间匹配部分如“%y4-%m2-%d2_%h2:%n2”不能带其它字符如"-"、"_"等。如下:
否则有可能报如下错误:
File "D:\python\envs\py3716\lib\site-packages\xgrads\core.py", line 644, in _get_template_formatraise Exception('unsupported format: ' + part)Exception: unsupported format: %y4-The system cannot find the path specified.
2、如下错误是dat文件不全:
File "D:\python\envs\py3716\lib\site-packages\xgrads\io.py", line 137, in open_CtlDatasetraise Exception('there are missing binary files')Exception: there are missing binary files
补全文件或修改.ctl文件中如下参数:
3、windows下有如下错误可能是路径带有中文或路径是"c:\"不是"c:\\"这种双杠:
PermissionError: [Errno 13] Permission denied
参考
Welcome to xgrads’s documentation! — xgrads 0.2.6 documentation
python 通过 ctl 文件读取 grd 文件 | LZY-Meteorological-Workshop
推荐!国内气象人开发的基于Python的Grads文件解析利器-腾讯云开发者社区-腾讯云
https://blog.51cto.com/u_16213399/9648390
Python气象数据处理与绘图:基于Python的Grads文件解析 - 知乎
利用python-cdo处理气象数据-腾讯云开发者社区-腾讯云
cdo随笔三:Python-cdo之nc文件自动化处理
气象处理数据工具:cdo备忘录 - 知乎