Chinaunix首页 | 论坛 | 博客
  • 博客访问: 408387
  • 博文数量: 77
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 770
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-09 16:46
文章分类
文章存档

2009年(2)

2007年(8)

2006年(67)

我的朋友

分类: WINDOWS

2006-04-22 23:30:07

netcdf插件安装和.nc格式数据的读取

――For Matlab in WindowsXP

从事海洋和大气专业的学习和研究时,可能需要从网上下载一些数据。其数据存储的格式五花八门,为了方便数据交换,统一的数据格式显得尤为重要。其中比较广泛使用的就是netcdf格式,通常后缀为.nc(也可能为.cdf)。作者在实际中用matlab处理了一些此类数据,简单说来就是安装一个插件即可。现将我们的方法具体地写出,以供参考。(Matlab插件(Version3.5.0)及示例程序见压缩包.\installfile\中)。

(注:Netcdf forMatlab插件下载自

一、netcdf 插件安装

1、将本netcdf文件夹考到一盘符上(最好在根目录下,位置醒目,防止当作普通文件夹删除),如f:\netcdf

2、打开matlab,将工作目录设为netcdf文件夹。如netcdf文件夹放在f盘根目录下,就将matlab的当前路径设为f:\netcdf\install files

3、运行install files文件夹里的mexcdf53_pcwin_install.mnetcdf_install.m

4、进行第3步后,会在install files文件夹下产生两个文件夹,分别是mexcdf53_pcwinnetcdf;将mexcdf53_pcwin文件夹下的mexcdf53.dllnetcdf.dll文件考到C:\MATLAB6p5\binC:\MATLAB6p5\bin\win32目录下;

5、将第3步产生的netcdfmexcdf53_pcwin文件夹及其子文件夹添加到搜索目录下。

具体步骤为:matlab主窗口下依次点击fileèset pathèadd with subfolders,选中f:\netcdf\install files文件夹,单击确定点击saveèclose,至此安装完成。

(注:对于matab6.1或更低版本的使用者,在进行第5步之前必须先将F:\netcdf\install file\netcdf\下的子文件夹名的‘@’符号删除(6.1版本好像在添加路径时不识别此符号))

二、nc格式数据文件的读取

1、在matlab命令窗口下键入ncbrowser,回车,打开要读取的nc文件,就可以出现一个界面。界面分三列,选中中间一列的某一变量,就可以通过点击第三列查看该变量的基本信息,包括变量名,单位等信息。选中变量后点击右下角的listing可将该变量在窗口中列出(数组很大时慎用,可能要耗费大量的时间),点击extrat则可将该变量输出到matlab workspace中(过程中可以修改输出的变量名),之后就可对该变量进行操作。

2、第1步中,一个ncbrowser命令只能打开一个nc文件进行读取、导出等,如果要对多个nc文件进行操作的话,可参考example中的程序read_data_nc.m

3、特别注意,有的nc数据为方便存储,在实际数据的基础上进行了一些换算(不是所有的nc都有这种换算),我们要把它还原回来。

    %数据还原换算公式是:实际数据 = nc数据 * scale_factor + add_offset

    %scale_factoradd_offset的数值可以从ncbrower(第1步)得到。

    %或在命令窗口中输入ncdump,打开nc文件,据matlab窗口的显示可知.

4、文件夹example中提供了一个实例,数据为058198226小时平均的海面气压。

三、netcdf数据的封装

如需要,我们也可以将ASCII数据封装成netcdf格式的数据。“.\其他文件夹下提供了一个程序generate_nc_file.m,供参考。

还有很多方法可以读取netcdf格式的数据,如FortranGrADS等等,作者在这方面不了解,有兴趣的同学可以仔细研究。

以上纯属个人经验,可能还有很多内容未涉及。本guide的初批使用者为我们提供了一些有用的意见,使本guide更趋完善。

欢迎广大读者指正、交流。                                                   

QQ70499425 53346592

                                                   

文件: netcdf.rar
大小: 486KB
下载: 下载

阅读(80253) | 评论(106) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-05-03 16:39:59

既然用extrat不行,那就用编程读出,或用ncload('filename')看看,或 再试一下其它nc文件,如果可以显示的话,那就是你的数据有问题。

chinaunix网友2008-05-03 16:39:59

既然用extrat不行,那就用编程读出,或用ncload('filename')看看,或 再试一下其它nc文件,如果可以显示的话,那就是你的数据有问题。

lctks2008-05-01 05:54:28

采用你的方法,用example完全正常,但我的文件为风文件 VWND.10M.GAUSE.2007.NC(50M)、vwnd.sig995.2007.nc(30M)、slp.2007.nc(30M)、vwnd.2007.nc(30)都不行: (1)CAN NOT display ----,就再也不动了, (2)An unexpected error has occurred. ## ncextract -- error; try again 不知为什么?急需帮助-------sos-----,thanks

lctks2008-05-01 05:54:28

采用你的方法,用example完全正常,但我的文件为风文件 VWND.10M.GAUSE.2007.NC(50M)、vwnd.sig995.2007.nc(30M)、slp.2007.nc(30M)、vwnd.2007.nc(30)都不行: (1)CAN NOT display ----,就再也不动了, (2)An unexpected error has occurred. ## ncextract -- error; try again 不知为什么?急需帮助-------sos-----,thanks

lctks2008-04-30 21:20:15

我的文件为风文件 VWND.10M.GAUSE.2007.NC(50M),采用你的方法完全正常,可是在 M-WORKSPACE中,就是看不了,基本为死机: CAN NOT display ----,就再也不动了,不知为什么