登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册 
 
 
 
x
 
 本帖最后由 jeydragon 于 2013-5-17 21:12 编辑  
 
        最近在学习冰后回弹模型(http://www.atmosp.physics.utoronto.ca/~peltier/data.php),里面给出的数据为nc(netcdf)格式的,读取是个问题,在言深深的帮助下,成功读取,在这里将其总结出来,以备后用也希望可以方便有用之人。 
 
        有两种方式可以进行读取: 
 
        1、Excel的一个插件,NetCDF4Excel可以完成相关的查看工作,需要的可以进行下载(http://dl.vmall.com/c0lngehgha),http://pan.baidu.com/share/link? ... 416233&third=15 (华为网盘太不靠谱,不知道百度靠谱到合适) 
 
安装之后,我们可以得到,一个快捷方式,如图: 
 
           打开之后,我们可以看到下面的情形: 
 
         然后打开nc文件,我们就可以进行查看操作:   
 
 
 
 
        2、通过Grads进行相关的读取,主要是在言深深同学的帮助下完成,深深的感谢! 
         第一步,安装相关的grads软件,这个这里不做介绍,相关可以论坛网站; 
 
         第二步,打开grads软件,如图,回车之后的那个窗口千万不能关,那个窗口是图像显示的,关闭之后输入命令之后直接就退出了,刚开始我老犯这个低级错误(对菜鸟而言)。 
 
 
        第三步,可以通过两个命令简单的看到数据的头文件包含信息: 
       ①sdfopen d:\1.nc  
       ②q ctlinfo 
 
 
然后编写gs文件,如下:  
'reinit'  
'sdfopen D:\1.nc'  
'set gxout fwrite'  
'set fwrite D:\1.dat'  
'set x 1 360'  
'set y 1 179'  
'set z 1'  
'set t 1 1'  
'd dsea_250'  
'disable fwrite'  
ps1:路径自己可以按需更改,不要有空格。  
ps2:这里的dsea_250可不是随便取的,看上面的ctlinfo心里里最后一行,必须要一致!  
然后就可以生成一个1.dat的文件。  
第四步,通过fortran程序将1.dat读为txt文档  
parameter(m=179,n=360,o=1)  
dimension  x(m,n,o)  
open(1,file='kaka.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='data.txt')  
do i=1,m  
print*,i  
do j=1,n  
write(2,"(2f10.2,2x,f6.2)")(i)*1.-90,(j-1)*1.,x(i,j,1)  
enddo  
enddo  
close(2)  
end  
ps:这里的参数要与自己的数据一致,比如mno,以及最后的输出,有的是1°,有的是2.5°。  
然后我们就可以得到相关的数据文件如下:  
 
 
 
 
      
 
 
 
至此,数据读取操作完成,需要对有需要的人有帮助,再次对言深深表示感谢。具体可以参考博客http://blog.163.com/jey_df/blog/static/18255016120121029471299/ 
 |