爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6015|回复: 8

[脚本编辑] 用GrADS画剖面的时候,出图有问题

[复制链接]

新浪微博达人勋

发表于 2014-10-6 17:29:13 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Eegle 于 2014-10-6 17:31 编辑

以下gs是用来画沿着117°E螺旋度的剖面图,但是在出图的时候 出现了不管我怎么改变t值,画出来的图 都是一样的。请教各位大神,是不是我的循环设置有错,我尝试过把'define vor=hcurl(uwnd.1,vwnd.2)'  'define lx=-(vor*omega.3*10.)/12.64'这两句加在set t后面 但出现了错误 提示说是vor和lx定义出错,麻烦大家帮我看看,不胜感激。
'reinit'
'enable print e:\zhuang\hel\hel_117E1608.gmf'
'sdfopen E:\zhuang\uwnd.2014.nc'
'sdfopen E:\zhuang\vwnd.2014.nc'
'sdfopen E:\zhuang\omega.2014.nc'
'sdfopen E:\zhuang\rhum.2014.nc'
'sdfopen E:\zhuang\air.2014.nc'

'set lev 1000 100'
'define vor=hcurl(uwnd.1,vwnd.2)'
'define lx=-(vor*omega.3*10.)/12.64'

'set grads off'
'set grid off'
'set csmooth on'
'set map 15 1 9'
'set parea 1 10.2 1.5 8'
'set xlopts 1 6 0.14'
'set ylopts 1 6 0.14'
'set font 0'

'set lon 117'
'set lat 20 30'
'set lev 1000 100'
'set zlog on'
'set t 663'
'set gxout shaded'
'set cint 0.5'
'set cmin 0'
'd lx*1e+6'
'set ylpos 0 r'

'set gxout contour'
'set cint 0.5'
'set cmin 0'
'set cthick 11'
'cbarn'
'd lx*1e+6'

'q time'
tt=subwrd(result,3)
hour=substr(tt,1,2)
day=substr(tt,4,2)
mon='6'
year='2014'
BT=hour+8      
if(BT>24)
day=day+1
BT=BT-24
endif
'draw title 117E hel 'year'-'mon'-'day' 'BT':00'
   
'print'
'disable print'
'printim e:\zhuang\hel\hel_117E_1608.gif white'
'c'
;

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

新浪微博达人勋

发表于 2014-10-6 17:58:53 | 显示全部楼层
define变量前先set t start end
或者直接把你后面的set t 663放在define的前面
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-6 18:52:58 | 显示全部楼层
本帖最后由 Eegle 于 2014-10-6 19:14 编辑
lqouc 发表于 2014-10-6 17:58
define变量前先set t start end
或者直接把你后面的set t 663放在define的前面


用了第一种方法 问题得到解决 谢谢 另外我想问一下 我之前的错误原理是什么呢 我想下次的时候 避免再出现类似的错误 最后再次万分感谢。
后来 我尝试在define之前加上循环语句:
h=656
while(h<671)
set t 'h''
define.....
define......
.
.
.
.
'print'
'c'
h=h+1
endwhile
'disable print'
;
但提示错误


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

新浪微博达人勋

发表于 2014-10-6 19:12:35 | 显示全部楼层
Eegle 发表于 2014-10-6 18:52
用了第一种方法 问题得到解决 谢谢 另外我想问一下 我之前的错误原理是什么呢 我想下次的时候 避免再出现 ...

因为在你define变量的时候grads默认的维度是x(start,end),y(start,end),z(z=1),t(t=1)
你没有设置时间维,所以define出来的数据就只有t=1,后面不管你在怎么设置,全都只有t=1时刻的结果。
你用我建议的两种方法应该都可以实现,但是第一种方法比较消耗计算机的内存,因为不管你用哪个时刻,计算机会吧所有时刻都算一遍。
至于你自己改的时候出现的维度的错误是因为curl这个函数必须是对空间有两维的数组运算。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-6 19:16:27 | 显示全部楼层
lqouc 发表于 2014-10-6 19:12
因为在你define变量的时候grads默认的维度是x(start,end),y(start,end),z(z=1),t(t=1)
你没有设置时间维 ...

谢谢  后来尝试了一下用循环去画图 可能错误的原理跟之前的一样。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-7 11:01:27 | 显示全部楼层
遇到同样的问题,进来学习一下~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-7 19:28:42 | 显示全部楼层
eroson 发表于 2014-10-7 11:01
遇到同样的问题,进来学习一下~~

看完之后 问题得到解决了吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-6 18:30:59 | 显示全部楼层
我也遇到了同样的问题呢,受教了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-6 18:31:09 | 显示全部楼层
感谢楼主的无私奉献,好人有好报
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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