登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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/
|