您好,欢迎访问三七文档
关于nc文件的读取2012-11-0221:47:01|分类:信号处理DSP|标签:nc文件panoply|举报|字号订阅最近在学习冰后回弹模型(~peltier/data.php),里面给出的数据为nc(netcdf)格式的,读取是个问题,在言深深的帮助下,成功读取,在这里将其总结出来,以备后用也希望可以方便有用之人。有几种方式可以进行读取:1、Excel的一个插件,NetCDF4Excel可以完成相关的查看工作,需要的可以进行下载。安装之后,我们可以得到,一个快捷方式,如图:打开之后,最上面标题栏点击加载项,我们可以看到下面的情形:然后打开nc文件,我们就可以进行查看操作:2、通过Grads进行相关的读取,主要是在言深深同学的帮助下完成,深深的感谢!第一步,安装相关的grads软件,这个这里不做介绍,相关可以参考气象论坛网站;第二步,打开grads软件,如图,回车之后的那个窗口千万不能关,那个窗口是图像显示的,关闭之后输入命令之后直接就退出了,刚开始我老犯这个低级错误(对菜鸟而言)。第三步,可以通过两个命令简单的看到数据的头文件包含信息:①sdfopend:\1.nc②qctlinfo1.nc文件然后编写gs文件,如下:'reinit''sdfopenD:\1.nc''setgxoutfwrite''setfwriteD:\1.dat''setx1360''sety1180''setz1''sett11''ddsea_250''disablefwrite'ps1:路径自己可以按需更改,不要有空格。ps2:这里的dsea_250可不是随便取的,看上面的ctlinfo心里里最后一行,必须要一致!然后就可以生成一个1.dat的文件。第四步,通过fortran程序将1.dat读为txt文档Programnc2txtparameter(m=180,n=360,o=1)dimensionx(m,n,o)open(1,file='1.dat',access='direct',form='binary',recl=n*m*o*4)read(1,rec=1)(((x(i,j,k),j=1,n),i=1,m),k=1,o)close(1)open(2,file='Ice-5gGeoid.txt')doi=1,m!print*,idoj=1,nwrite(2,(2f10.1,2x,f15.6))-(i-1)*1.+180,(j)*1.,x(i,j,1)enddoenddoclose(2)Endprogramnc2txtps:这里的参数要与自己的数据一致,比如mno,以及最后的输出,有的是1°,有的是2.5°。然后我们就可以得到相关的数据文件如下:至此,数据读取操作完成,需要对有需要的人有帮助,再次对言深深表示感谢。此外grads还可以通过那个窗口绘图,具体如下:(1)sdfopend:\1.nc(2)ddsea_250Nc2TxT(版权归作者所有,本着学习的精神)3、一个国外学者对我的回复:Inthemeantime,mayIsuggestthatyouinvestigatethefollowingfreesoftware:ncviewandncdump(forLinux)panoply(forWindows)(NationalCenterforAtmosphericResearchinBoulder,Colorado,USA)foravarietyofplatforms(LinuxandWindows)。这才是真正的治学精神,话说这个人真的是个大牛,都给我回复的这么详细基础!panoply很强悍,打开之后,可以直接plot出图:4、通过Fortran程序来读取,这个算是高级阶段,起码需要你对Fortran有一定的熟悉了。这里推荐Dr.YanHaoming的HomePage,及WFL的介绍及下载。关于nc文件的读取可以参考
本文标题:关于nc文件的读取
链接地址:https://www.777doc.com/doc-3138962 .html