爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15827|回复: 22

[分享资料] 【求助帖】grads vint函数求助

[复制链接]
发表于 2012-7-7 18:03:25 | 显示全部楼层 |阅读模式

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

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

x
'reinit'
'sdfopen d:/study/pres.mon.mean.nc'
'sdfopen d:/study/uwnd.mon.mean.nc'
'sdfopen d:/study/vwnd.mon.mean.nc'
'sdfopen d:/study/shum.mon.mean.nc'

'set lat 0 40'
'set lon 40 120'
'set z 1 8'
'set t 378'
'define uq=uwnd.2*shum.4/9.8'
'define vq=vwnd.3*shum.4/9.8'

'set z 1'
'define qu=vint(pres,uq,300)'
'define qv=vint(pres,vq,300)'

'set lat 0 40'
'set lon 40 120'
'd qu'
'printim d:/vint/qu.png white'
;
这是我的程序,程序运算后出现的错误是:Error from VINT: Too few levels in default file
operation Error: Error from vint fuction
版本是最新的版本了,我用的系统是win7 32bit的。
网上各种版本的帮助帖就已经看过,实在是画出图,所以请各位大人们帮忙指出到底应该怎么更正吖。

'reinit'
'sdfopen d:/study/shum.mon.mean.nc'

'set gxout fwrite'
'set fwrite d:/vint/shum.grd'

'set lat 0 40'
'set lon 40 130'

t1=378
t2=380
b=1
while(b<=32)
i=1
while(i<=8)
'set z 'i''
'd ave(shum,t='t1',t='t2')'
i=i+1
endwhile
t1=t1+12
t2=t2+12
b=b+1
endwhile

'disable fwrite'
;

这个是想提取1979—2010年夏季6—8月shum,单独保存,但是保存下来的东西不随时间和层次而改变,然后现在已经糊涂了,也拜托各位大人帮忙看下呢..
在线等着,如果有什么表达不清,直接回帖吧,我补充清楚,嘿嘿
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2012-7-8 08:52:10 | 显示全部楼层
为什么没人回答啊...
密码修改失败请联系微信:mofangbao
发表于 2012-7-8 11:41:36 | 显示全部楼层
vint函数我不太懂,说你第二个问题吧,你说出来的数据不随着时间层次变化,你是自己写了ctl没画出来其他层的吗?
密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2012-7-8 12:05:43 | 显示全部楼层
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2012-7-8 16:30:56 | 显示全部楼层
做个霸气的木头 发表于 2012-7-8 11:41
vint函数我不太懂,说你第二个问题吧,你说出来的数据不随着时间层次变化,你是自己写了ctl没画出来其他层的 ...

是的,我是自己写的ctl.dset d:/vint/shum.grd
title summer ps u v shum
undef -9.99E33
xdef 37 linear 40.00 2.50
ydef 17 linear 0.00 2.50
zdef 8 levels 1000 925 850 700 600 500 400 300
tdef 32 linear jan1979 1yr
vars 1
shum 0 99 humidyty
endvars
其他层画出来的东西和第一层,第一个次一样,就是所有的图都是一样的
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2012-7-8 16:33:19 | 显示全部楼层
mofangbao 发表于 2012-7-8 12:05
因为你没有提炼出你的问题在哪里,光贴个gs和错误提示没用的,自己要先分析,一句句的分析调试

我已经看过网上基本上所有的帖子了,其中有一个是讲这个的,但是我根据它的改了之后,还是一样的结果。
其实所有的提示错误最初始都在vint函数的错误上,我不知道这个提示错误该怎么做,我也换了系统试了,也不行
密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2012-7-8 17:38:05 | 显示全部楼层
'set lat 0 40'
'set lon 40 120'
'set z 1 8'
'set t 378'
'define uq=uwnd.2*shum.4/9.8'
'define vq=vwnd.3*shum.4/9.8'

你这段代码是干什么的?为什么z是1-8,你这样算出来的 uq和vq是多少层的变量?
你不妨先把 uq和vq输出到文件看看能不能画出图来
就是要这样一步步的调试的,不是你拿个gs一运行,出来个报错,就不知道怎么办了,这时候就,把后面的全部删掉,从第一句话开始,一句句的验证,是不是达到了自己所需要的结果,然后就能逐步找出在哪一句话开始出现了错误,所以说,这个问题需要你自己找!你要看看你的一些中间变量是否都是你需要的结果,必要的时候要输出来看,不管是文件还是图形,不要怕麻烦,在没有经验之前,只有这样做才能找到错误
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2012-7-8 17:41:42 | 显示全部楼层
mofangbao 发表于 2012-7-8 17:38
'set lat 0 40'
'set lon 40 120'
'set z 1 8'

求1000-300hPa的qu,qv。这个问题就是下面那个问题了,输出的数据是和第一时次,第一层是一样..我都是跟着坛子里的帖子学的..程序是顺序是差不多的,所以自己也分析哪里错了..
密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2012-7-8 17:47:00 | 显示全部楼层
zitaxcy 发表于 2012-7-8 17:41
求1000-300hPa的qu,qv。这个问题就是下面那个问题了,输出的数据是和第一时次,第一层是一样..我都是跟着 ...

那你知不知道上面这一段代码中的具体实现过程是怎样的?set z 1 8设置后是三维都在变化的,grads对此如何计算的?如果不知道,就去翻翻手册,先把基础的东西搞懂,然后再去看别人写的代码吧
密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2012-7-8 17:58:56 | 显示全部楼层
zitaxcy 发表于 2012-7-8 17:41
求1000-300hPa的qu,qv。这个问题就是下面那个问题了,输出的数据是和第一时次,第一层是一样..我都是跟着 ...

我没有做过你这个,不过做过类似的。你可以把uq和vq输出到文件,这两个变量应该是8层,每一层都有数据的吧?如果是这样的话,你可以先把uq和vq输出到文件中,把define改为d,否则你define了这个变量,实际set z 1 8是进行了8次隐循环,也就是每次define都会覆盖上一次的变量值,也就是你说的那个问题的原因。所以最好先把变量输出来。保险的方式就是不要使用隐循环,可以改成 while(iz<=8)这种循环。如果你听不懂我说的,就说明你实在是应该先看手册
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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