bin文件对比_如何将Fortran或者GrADs生成的grd文件转换为netcdf格式?

欢迎订阅微信公众号:『气象学家』

阅读建议

简单介绍三种办法来处理(推荐使用:方法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气象绘图实例-我们一起画台风(代码+数据)

任何问题都欢迎交流探讨,共同学习进步!

d20166ebf19d5f0a21f8f1c9508808cb.png

点个试试! ↓❤↓۞↓➹↓♨↓۞

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值