Chinaunix首页 | 论坛 | 博客
  • 博客访问: 408344
  • 博文数量: 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
下载: 下载

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

chinaunix网友2008-06-02 10:12:58

请问生成nc数据时,,add_offset 和Scale_factor的具体数值,怎么得到? 有相关函数么?还是自己计算?

garly2008-05-23 08:53:30

to楼上: 文件路径没加进去,set path...

garly2008-05-23 08:53:30

to楼上: 文件路径没加进去,set path...

laoxiesunny2008-05-18 13:52:33

??? Undefined function or variable 'uilayout'. Error in ==> D:\netcdf\install files\netcdf\@ncbrowser\ncbrowser.m On line 196 ==> uilayout(theControls, theLayout, thePosition) 安装完毕后,出现了这个错误,请问是怎么回事儿? 我的matlab版本是6.5

laoxiesunny2008-05-18 13:52:33

??? Undefined function or variable 'uilayout'. Error in ==> D:\netcdf\install files\netcdf\@ncbrowser\ncbrowser.m On line 196 ==> uilayout(theControls, theLayout, thePosition) 安装完毕后,出现了这个错误,请问是怎么回事儿? 我的matlab版本是6.5