爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11233|回复: 25

求大神帮忙啊!grads 的 tcorr 函数出错!

[复制链接]

新浪微博达人勋

发表于 2014-4-27 15:37:46 | 显示全部楼层 |阅读模式
GrADS
系统平台: win 7 32 opengrads
问题截图: -
问题概况: 错误提示给出说维数错误,不过我仔细和书上例子核对了,找不到错误
我看过提问的智慧: 看过
自己思考时长(天): 5

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

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

x
本帖最后由 aiai1992 于 2014-4-28 10:26 编辑

我把文件都上传了,希望各位大神帮帮忙,小弟在此谢过!压缩包里面有CTL GS,DAT
'open d:\vf\sst\'tt'.ctl'
'open d:\vf\grads\'yy'.ctl'
'set dfile 2'
'set x 1 1'
'set y 1 1'
'set z 1 1'
'set t 2 66'
'define corr=n'
'set dfile 1'
'set x 1 360'
'set y 1 180'
'set z 1'
'set t 1'
'd tcorr(corr,sst,t=1,t=65)'
这是我的程序,我之前用过,没有问题,可是最近两天运行时总是出错,自己实在找不到原因了,求各位大侠帮着看一下,tcorr这个函数有什么特殊的要求吗?还是怎么,为什么总是提示我corr变量是三维的啊?

vf.rar

874 Bytes, 下载次数: 18

1948-2013.1.grd

16.31 MB, 下载次数: 4

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-27 22:05:48 | 显示全部楼层
两个ctl文件的tdef起始时间不一致,也许得修改成一样的吧?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-28 10:25:43 | 显示全部楼层
柠檬夏 发表于 2014-4-27 22:05
两个ctl文件的tdef起始时间不一致,也许得修改成一样的吧?

还是不可以的,我觉得和那个时间没什么关系,我要做超前和滞后相关。你运行的时候提示什么错误啊?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-28 12:39:50 | 显示全部楼层
aiai1992 发表于 2014-4-28 10:25
还是不可以的,我觉得和那个时间没什么关系,我要做超前和滞后相关。你运行的时候提示什么错误啊?

我把d:\sst\1.ctl的tdef项改成“tdef 66 linear 00Z16Jan1948 1yr”就能运行了,但是这违背你做超前和滞后相关的要求。我觉得你还先得是用Fortran处理grd,截取、输出你要研究的数据段,再编写新的ctl文件来运行吧。
grads中一些函数对不同ctl变量中的tdef要求起始时间、时间步长一致,但tcorr函数我就不清楚了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-28 12:46:38 | 显示全部楼层
这样不行的,在define前定义了时间范围,那么你定义的变量的时间范围就是那个,后面的相关计算时自然会出错。先要算超前之后相关,你可以用fortran先把前后的部分截断,使得正好是这样,或者就修改两个ctl文件好了让他们错开一个时间点,这样就能计算了,反正物理意义你明白就好了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-28 21:11:34 | 显示全部楼层
柠檬夏 发表于 2014-4-28 12:39
我把d:\sst\1.ctl的tdef项改成“tdef 66 linear 00Z16Jan1948 1yr”就能运行了,但是这违背你做超前和滞后 ...

好的,谢谢了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-28 21:14:34 | 显示全部楼层
lqouc 发表于 2014-4-28 12:46
这样不行的,在define前定义了时间范围,那么你定义的变量的时间范围就是那个,后面的相关计算时自然会出错 ...

哦哦,原来是这样,这样就增加了很多工作量啊!也许这就是我程序做出的图和Matlab不一样的原因了!多谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-28 21:58:54 | 显示全部楼层
aiai1992 发表于 2014-4-28 21:14
哦哦,原来是这样,这样就增加了很多工作量啊!也许这就是我程序做出的图和Matlab不一样的原因了!多谢!

其实没什么工作量,直接把ctl中的一个文件时间错后一个时刻,然后计算时用time设定纬度就行了。
可以自己揣摩下,grads其实是很灵活的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-28 23:35:19 | 显示全部楼层
lqouc 发表于 2014-4-28 21:58
其实没什么工作量,直接把ctl中的一个文件时间错后一个时刻,然后计算时用time设定纬度就行了。
可以自 ...

好的,谢谢学长!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-29 11:01:42 | 显示全部楼层
lqouc 发表于 2014-4-28 21:58
其实没什么工作量,直接把ctl中的一个文件时间错后一个时刻,然后计算时用time设定纬度就行了。
可以自 ...

弄好了,十分感谢!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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