欢迎订阅微信公众号:『气象学家』
阅读建议
简单介绍三种办法来处理(推荐使用:方法1),当客观条件限制的情况下,确保基本可以完成转换,以便于后续的进一步处理和分析!
1.使用cdo转换
提前安装好cdo:
create
cdo转换命令:
$ cdo -f nc import_binary in_grads.ctl out_ncdf.nc
注意: 与grd文件匹配的ctl文件一定要有!且cdo一定要安装到位!推荐使用conda一键安装。
2.使用ncl转换
明确知晓grd文件数据格式;
明确写入读取存出顺序(Fortran默认极有可能是little endian)
setfileoption(
采用NCL官网的示例来修改读取;
1:https://www.ncl.ucar.edu/Applications/grads.shtml
根据以上步骤即可读取并生成nc文件,建议与(1)方案进行对比测试!以避免对于grd数据结构和字节序处理把握的不准确!
3.使用ruby转换
其实,NCL官网也有提供一套基于Ruby的工具包,其目的在于自动生成方法(2)中的ncl脚本,一步到位,避免在次过程中人为的判断失误。但是存在的问题是,可能版本偏低的原因,可能新版本的Ruby支持存在一些问题,所以不是很推荐!但是,在一些比较老的服务器上,用起来应该还是没问题的。
下载
Ctl2Ncl
工具包:https://www.ncl.ucar.edu/Applications/Files/ctl2ncl.tar解压,并且修改环境变量:
For example,在~/.bashrc中添加 PATH=$PATH:$HOME/bin/Grad2NCL ; export PATH; 再更新环境变量,source ~/.bashrc
Ctl2Ncl
使用语法:
ctl2ncl
对于与grd匹配的ctl描述文件是必不可少的。
4.总结
推荐使用方法1,另外,Python也可以直接处理grd,具体参考链接:https://zhuanlan.zhihu.com/p/59298710
5.参考
1.https://zhuanlan.zhihu.com/p/592987102.https://novarizark.github.io/2014/10/19/e3-80-90-e5-b7-b2-e8-a7-a3-e5-86-b3-e3-80-91ncl-e/3.https://stackoverflow.com/questions/32390349/converting-grads-grd-to-netcdf-nc4.https://www.ncl.ucar.edu/Applications/grads.shtml
历史文章推荐(点击阅读)
Julia语言在气候系统模式中的应用
Python绘制气象实用地图(附代码和测试数据)
Python绘制气象实用地图[Code+Data](续)
Python气象绘图实例-我们一起画台风(代码+数据)
有任何问题都欢迎交流探讨,共同学习进步!
点个试试! ↓❤↓۞↓➹↓♨↓۞