本帖最后由 大马哈 于 2012-3-31 13:53 编辑
寻求帮助,望各位大神路过别错过。帮帮小弟,在此小弟有礼了。 前面拜读了各位大师的fortran读nc的帖子,小弟依葫芦画瓢,也能运行出来。但是用grads画图时出现了数据的错位,伤心~~~~~~~~~~~~~{:soso__4044840961256839724_1:} 至于得到阅读nc的f文件的我想应该没有错,应该是改下文件名就可以了。然后我在阅读nc文件中加入了如下几行 integer*2 :: x,y,z real*4 :: a( 360, 180, nrec ) a=evapr 为了进行grads画图和运行eof的计算,需要其值为real open(10,file='D:/NetCDF/TEST1958.dat',form='unformatted',recl=360*180) do z=1,nrec write(10,rec=z) ((a(x,y,z),x=1,360),y=1,180) end do close(10) 然后输出了文件(图1)
对比一下数据大小 360*180*12问题不大。(其实原数据是2个变量,每个变量是2b的整形。我输出了一个变量,为4b的数据,所以大小应该差不多) 接着 我写了ctl。如下: dset D:\NetCDF\evapr_oaflux_1958.dat undef 3276.00 title evapr xdef 360 linear 0.5 1.000000 ydef 180 linear -89.5 1.000000 zdef 1 linear 0 1 tdef 12 linear 00Z01JAN1958 1mo vars 1 evapr 0 99 evapr endvars 对比一下(图2)应该都对。 然后画图分别为t=1和t=10的图(忽略下面的歌词吧)
小弟也知道些一个ctl,用xdfopen的画图方法,但是小弟主要是要处理一下数据。所以画图是为了检验数据是否正确,所以才发现了如此问题。 最后小弟再次谢谢各位大神了。(图怎么老是挂啊??给个我空间的连接吧 ){:soso__17765484171512305834_3:}
由于这个是给我一个在nag同学求助的 所以有些专业的描述大家可以略过 就是换了一种方式画图 希望可以表达的清楚 因为发现下载要钱 我不知道怎么弄回复得钱 所以就把赏钱打高 小弟钱不多 只能给到30了 望见谅 |