图像缩略图

netcdf / grib阅读器

版本1.1.0.0(5.57 MB) 克劳斯醒酒
读取GRIB和NETCDF文件的函数集合

57下载

更新2009年5月26日

查看版本历史记录

查看许可证

MATLAB-CDI是MATLAB函数的集合,通过遵循统一语法的高级函数调用导入/读取GRIB和NETCDF文件。该软件包支持通常由气候模金宝app型产生的完整GRIB和NETCDF格式规范的子集。

在技​​术上,Matlab-CDI由MEX接口组成到读取Grib / netcdf的CDI库。CDI是由Max-PlanckInstitutfür·莫特罗州在汉堡开发的着名CDO(气候数据运营商)的基本图书馆。Matlab-CDI接口包已经由Mathworks咨询,代表罗比中心,SMHI开发。

MATLAB-CDI已在Linux和Windows下编译和测试。Linux安装很简单,而最坏情况下的Windows安装需要如何在Cygwin或Mingw等Linux的环境中编译和安装程序。(实际上,它不是matlab-cdi包,导致问题,它是需要在Windows下编译的NetCDF和CDI库,无需胆小的内容。)

引用

Klaus粘附器(2021)。netcdf / grib阅读器(//www.tatmou.com/matlabcentral/fileexchange/21579-netcdf-grib-reader),Matlab中央文件交换。检索到

评论和评级(23.

Leah Stella.

看起来好像是为旧版MATLAB编写的(这是在Windows上编译的人的问题,因为MEX -F读取.xml,而不是ZIP文件夹中的.bat文件)对此的任何支持都会很大金宝app非常不确定如何编写XML文件以便于此

Zhigang徐

嗨,我对这个包很感兴趣并下载了它。但是,在运行的共同组织中,我遇到了一条错误消息
使用mex时出错
D:\ matlab \ matlab-cdi \ lib-mingw \ mexopts.bat不是有效的XML文件。

编译时出错(第41行)
Mex -f lib-mingw / mexopts.bat cdi_varlist.c cdi_mx.c -iinclude -llib-mingw -lcdi -lnetcdf

来自作者的任何帮助?

提前致谢!

Zhigang徐

nhat truong.

这会在麦斯斯工作吗?我看到它说它会,但我也读过它已经在Linux和Windows下编译和测试。谢谢!

Mohsen Nasseri.

嗨每个尸体,我使用Matlab 2018 B,我收到此响应并失败了安装程序;
>>编译
编译cdi_varlist ...
使用mex时出错
e:\ matlab \ ecmwf \季节性预测降水量\ matlab-cdi \ lib-mingw \ mexopts.bat不是有效的XML
文件。

编译时出错(第41行)
Mex -f lib-mingw / mexopts.bat cdi_varlist.c cdi_mx.c -iinclude -llib-mingw -lcdi -lnetcdf

建宇王

Gioc.

嗨Sufyan Ali,
%选择目录和文件名
filedir ='';
%例如下载文件名是
日期= 1979:2017;%这将是一个循环
月份= 1:12;
strdate = [num2str(date)num2str(月,'%2.2i')];
filename = ['放在这里的文件名的开头'。strdate'.grb2.gz'];

位置= [filedir filename];

%从FTP中选择文件到DowLoad
ngdc = ftp('nomads.ncdc.noaa.gov');
CD(NGDC,'数据');%更改FTP服务器上的当前文件夹。
CD(NGDC,'GFS-HI');%更改FTP服务器上的当前文件夹。
CD(NGDC,Strdate);
CD(NGDC,'Grib');

%使用以下命令衡量数据
mget(ngdc,filename,filedir);%插入此处的文件下载
关闭(NGDC)
您可以通过添加nctoolbox的命令直接打开。

亲爱的伙伴,请帮我使用这个程序,我下载了我很困惑如何使用它?
我应该将它复制到Matlab Toolbox目录或其他内容吗?
〜对不起,我不厌恶matlab,但我很需要打开我的grib文件。

西蒙chabrillat.

特点:此包非常过时,但对于netcdf而言,它似乎提供比Matlab的内置函数NC *的更高级别功能,并且对于Grib,这可能是唯一的方法。

安装:借助来自Sysadmin的帮助,我们花了我们在我们的中央服务器(SUSE 64位)上安装此时。简而言之:
1)我们必须安装CDI 1.5.0,即*最旧的*版本
2)我们将静态库(lib * .a)重新安装了静态库(lib * .a)--fpic(即configure - pic)不仅适用于CDI和NetCDF,还包括HDF4,HDF5和Grib_api
3)我们将这些lib * .a复制到Matlab-CDI目录下方的子目录LIB64中。注意:我们能够保持Oringinal“包括”子目录
4)我们编辑了CDI_mx.c到#include 并将3个呼叫替换为非标准函数(第424行:警告 - > printf;线673,683:mxerrmsgidandtxt - > mexprintf)
5)在CompileM中,我们明确列出*所有*必要的库I.E.在每个-lnetCDF之后添加-LHDF5_HL -LHDF5 -LMFHDF -LDF -LGRGIB_API -LJPEG -LSZ -LZ -LDL

我认为所有5个步骤都是必要的,但这是我们如何以运行安装结束......

Sufyan Ali.

你好,
我有兴趣从在线服务器直接访问Grib文件“https://nomads.ncdc.noaa.gov/data/gfs-hi/201702/“。

请指导..

Linh quang.

谢谢你。

胡安

您好,当我尝试编译它时,我有这个错误:
>>编译
编译cdi_varlist ...

C:\ progra〜1 \ matlab \ r2013a \ bin \ mex.pl:错误:找不到指定的选项文件
'lib-mingw / mexopts.bat'。

使用MEX时出错(第206行)
无法成功完成。

编译时出错(第41行)
Mex -f lib-mingw / mexopts.bat cdi_varlist.c cdi_mx.c -iinclude -llib-mingw -lcdi -lnetcdf

任何想法要解决它吗?非常感谢你!

Ian Drowaud.

如何保存GRIB文件?

梅根

我一直在Matlab R2012A中使用这个程序 - 对我来说很好。
问题:有人可以将我指导到一个符号名称吗?我有一个符号我正在尝试使用,但每次尝试在我的代码中都会引用它,我会收到一个错误的错误:
“使用cdi_readall时出错
无法读取符号文件:无效文件。“

谢谢,梅根

安迪奥尼尔

克劳斯,
我有Matlab 2012b和matlab编译器运行时v717,但它不会令人满意。我得到以下内容:
使用MEX时出错(第206行)
无法成功完成。

编译时出错(第41行)
Mex -f lib-mingw / mexopts.bat cdi_varlist.c cdi_mx.c -iinclude -llib-mingw -lcdi -lnetcdf

我没有muxopts.bat。你能帮我吗?
谢谢,
安迪

丰富的签名

使用统一语法读取GRIB1,GRIB2,NetCDF,HDF和OpenDAP感兴趣的人可能需要查看
http://nctoolbox.github.io/nctoolbox/
没有mexfiles也没有!

班车

这个读者是否读取Grib2数据格式或仅GRIB 1?在编译时,我也遇到了这个问题:

编译cdi_varlist ...
/ usr / bin / ld:找不到-lcdi
Collect2:LD返回1个退出状态

mex:'cdi_varlist.mexa64'的链接失败。

班车

朱丽叶

好的,它有效,抱歉。我重新安装了CDI,现在它有效......

朱丽叶

大家好,

我能成功运行“compile.m”文件。但是,当我调用以下功能时
c = cdi_varlist(filename,[]);
我得到了以下内容
错误:CDI_VARLIST:没有这样的文件或目录
虽然我很确定文件名和路径是正确的。我识别出从以下行的文件cdi_mx.c的错误
StreamID = StreamOpeNread(SzInputfilename);
所以基本上'Streamopenread'无法打开我的文件,尽管路径和名称是正确的。我尝试了,没有文件扩展名(.grb)。此外,实际上没有读取文件内容(例如\私人\ ......)的功能。

有人知道为什么不起作用吗?

马蒂亚斯

几个提示......

在64位系统中:
务必编译netcdi,并启用-cpic库和CDF库。

在MATLAB的较新版本中:打开CDI_MX.C并将过时函数MXERRMSGIDANDTXT与其他内容(或只是注释出)替换。我成功地使用了mexprintf。

马丁

此包不会在MATLAB R2009B和R2010A中编译以下错误:

>>编译
编译cdi_varlist ...
cdi_mx.c:在“getLevel”功能中:
CDI_mx.c:431:警告:内置功能的隐式声明不兼容“modf”
cdi_mx.o:在功能`readmeta'中:
cdi_mx.c :(。文本+ 0x1457):未定义的参考“mxerrmsgidandtxt”
cdi_mx.c :(。文本+ 0x14e3):未定义的“mxerrmsgidandtxt”的引用
Collect2:LD返回1个退出状态

MEX:'“CDI_VARLIST.mexa64”的链接失败。

???使用==> MEX时出错221
无法成功完成。

错误==>在15中编译
MEX CDI_VARLIST.C CDI_MX.C -IINCLUDE -LLIB64 -LCDI -LNETCDF

但它在R2008B上干净编制了。

Tideman.

嗯,Mexw32在Matlab 2006A上赢得XP没有工作。他们给了一个“无效的MEX文件..”消息。所以,我想我搞砸了,除非我去所有麻烦才能编译自己,看起来像是一个令人生畏的过程。您是否可以提供Win32二进制包?

yu.

Hello Klaus醒来,
1)我有汇编的问题:
运行'编译'
编译cdi_varlist ...
cdi_mx.c:在“getLevel”功能中:
CDI_mx.c:431:警告:内置功能的隐式声明不兼容“modf”
/ usr / bin / ld:找不到-lcdi
Collect2:LD返回1个退出状态
mex:'cdi_varlist.mexglx'的链接失败。
2)我在目录“lib64”目录下,我已通过自己的编译“libcdi.a”和“libnetcdf.a”。
3)我有CDI_ReadAll.mexw32 CDI_Readfield.mexw32 cdi_readfull.mexw32 cdi_readmeta.mexw32 cdi_varlist.mexw32。
但我的机器是I686。所以我想我必须在mexw64中拥有mex文件?
谢谢Avance!
京梅

Matlab释放兼容性
用R2006B创建
兼容任何释放
平台兼容性
视窗 苹果系统 Linux.

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!