爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6636|回复: 12

[分享资料] 为什么读出的数据都是常数呢?

[复制链接]

新浪微博达人勋

发表于 2013-4-27 10:42:47 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
nc格式的资料,通过gs文件转换为grd,如下:
'reinit'
'sdfopen d:\q\vwnd.mon.mean.nc'
'set gxout fwrite'
'set fwrite d:\q\vwnd850.grd'
tt=421
while(tt<=780)
'set t 'tt
'set z 3'
'set x 25 73'
'set y 33 57'
'd vwnd'
tt=tt+1
endwhile
'disable fwrite'
;
要计算编程,因此用该grd文件,因画不出图,考虑到可能是数据的问题,我把该grd转换为dat,发现均为常数:
open(11,file='d:\q\vwnd850.grd',form='binary')
do t=1,nt
   do j=1,ny
   read(11)  (v(nx,ny,nt),i=1,nx)
   enddo
enddo
open(15,file='d:\q\vwnd850.dat',form='formatted')
do t=1,nt
   do j=1,ny
   write(15,*) (v(nx,ny,nt),i=1,nx)
   enddo
enddo
dat文件:
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998        2.649998        2.649998        2.649998
        2.649998
为什么数据始终为常数呢,特别困惑,求助各位了!!!谢谢各位的解答了!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-27 11:27:36 | 显示全部楼层
gs看上去没问题
fortran部分尽量不要用binary
open(11,file='d:\q\vwnd850.grd',form='unformatted',recl=nx*ny)
do t=1,nt
    read(11,rec=t)  ((v(nx,ny,nt),i=1,nx),j=1,ny)
enddo
但是估计问题不在这里,你看看你的数组声明的时候类型和原来数据一不一致?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-27 12:49:02 | 显示全部楼层
本帖最后由 wygohappy 于 2013-4-27 12:50 编辑


非常非常感谢你热心的回答!
出现了新的问题
图像 1_副本.png
程序里定义的数组类型均是real型,我不太知道如何查看原来数据的类型~~

之前做u风场的时候,采用的方法跟这个一样,数据没有问题
可是这次v风场不知为何就是常数了?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-27 13:26:10 | 显示全部楼层
real的话应该没问题的啊,话说open里面可能要加上access='direct'
嗯.....你说你的导出的grd画不出图?用grads画不出来么?
那样的话可能是导出来的时候就有问题了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-27 13:39:21 | 显示全部楼层
lqouc 发表于 2013-4-27 13:26
real的话应该没问题的啊,话说open里面可能要加上access='direct'
嗯.....你说你的导出的grd画不出图?用g ...

加上了以后运行的错误变为:too many bytes read from unformatted record
画出的图就是一个常数场
首先读出的数据就都是常数了,后面的算法应该可以暂时不考虑吧。

我觉得很神奇,真是不知道哪里出错了。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-27 14:05:19 | 显示全部楼层
wygohappy 发表于 2013-4-27 13:39
加上了以后运行的错误变为:too many bytes read from unformatted record
画出的图就是一个常数场
首先 ...

确实很神奇,那直接用nc数据化一下看看呢?应该不是原始数据的错误吧?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-27 14:11:54 | 显示全部楼层
lqouc 发表于 2013-4-27 14:05
确实很神奇,那直接用nc数据化一下看看呢?应该不是原始数据的错误吧?

确定不是原始数据的错误,直接绘了几张图,还是有数值的~~~
虽然问题还是没有解决,但是非常感谢你的答复~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-27 14:44:16 | 显示全部楼层
wygohappy 发表于 2013-4-27 14:11
确定不是原始数据的错误,直接绘了几张图,还是有数值的~~~
虽然问题还是没有解决,但是非常感谢你的答复 ...

唉,惭愧啊,搞了这么久也没弄出来,话说今天斑竹们走不在啊,其实可以召唤一下管理员求助。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-27 14:53:05 | 显示全部楼层
lqouc 发表于 2013-4-27 14:05
确实很神奇,那直接用nc数据化一下看看呢?应该不是原始数据的错误吧?

啊啊啊,经过询问我班的大神,他给我找到了错误
是程序中的数组,应该是v(i,j,t),都没变化,怪不得是常数,我太弱智了。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-27 14:54:16 | 显示全部楼层
我去.......
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表