爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 10171|回复: 2

[参考资料] 马克一下matlab使用nctoolbox无法读取grib2数据的各类解决办法

[复制链接]

新浪微博达人勋

发表于 2021-7-27 10:41:22 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 altrices 于 2021-7-27 10:47 编辑

1、matlab和nctoolbox版本冲突

禁用matlab自带java路径下protobuf3.jar
https://github.com/nctoolbox/nctoolbox/issues/128

移除mapping box以外的所有工具箱,或将 nctoolbox 版本更改为 20120109
https://github.com/nctoolbox/nctoolbox/issues/111

替换nctoolbox下java版本为最新
https://github.com/nctoolbox/nctoolbox/issues/28

2、将grib2转化成nc再用matlab读取

windows下的wgrib2
https://www.jianshu.com/p/da7fd8e46ffc

NCL
https://www.ncl.ucar.edu/Applications/griball.shtml
(批量处理:1. 将所有fnl文件路径放入fnlpath字符串数组中。至于这个怎么放,多种方法,比如直接用systemfunc调用ls命令,也可以自己去做字符串连接的操作,随你。
2. 用addfiles文件一次性打开fnlpath里面的所有文件放入fnlfile中。
3. 用ListSetType(fnlfile, "join")设置fnlfile的访问方式。
4. 读取fnlfile里面的所需变量。比如,tmp = fnlfile[:]->tmp。这时tmp就比单个文件的tmp多出一维,该维的大小就是fnl文件的个数,也就是时间维了。
5. 设置tmp的时间维的相关属性和坐标变量。
6. 创建一个新nc文件,将tmp写入nc文件。

3、使用read_grib2
http://bbs.06climate.com/forum.p ... 7655&fromuid=100495
http://blog.sciencenet.cn/blog-922140-713837.html (read_grib)


以上方法我都没成功。。。
最后是直接装了一个R2016a解决了。。

ncl或py读取grib示例https://cloud.tencent.com/developer/article/1618335


官网绘图
https://polar.ncep.noaa.gov/waves/examples/usingmatlab.shtml




密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2021-7-27 10:50:43 | 显示全部楼层
20120109yyds,那个issue也是我写的…
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-12-18 23:02:36 | 显示全部楼层
请问用matlab怎样批量读取
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表