爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 勇敢的悲伤

[分享资料] Grads 条件IF语句的问题

[复制链接]

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-11-1 12:58:07 | 显示全部楼层

GrADS里面变量是弱类型的,也就是赋值的时候具有了变量类型,不同类型比较之前会自动进行类型转换。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-1 13:56:40 | 显示全部楼层
本帖最后由 勇敢的悲伤 于 2013-11-1 13:59 编辑
mofangbao 发表于 2013-11-1 12:58
GrADS里面变量是弱类型的,也就是赋值的时候具有了变量类型,不同类型比较之前会自动进行类型转换。


那为什么我用条件语句的时候,设定大于某个值画出来的图就是正确的,可是设定小于的话就不执行这个条件语句了呢?

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

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-11-1 14:25:24 | 显示全部楼层
勇敢的悲伤 发表于 2013-11-1 13:56
那为什么我用条件语句的时候,设定大于某个值画出来的图就是正确的,可是设定小于的话就不执行这个条件 ...

当然是哪里有问题 自己去找吧  你给这么点信息我看不出来 或者是你对问题的理解有问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-1 14:44:47 | 显示全部楼层
mofangbao 发表于 2013-11-1 12:57
你需要给出ctl的信息。
这种错误应该比较好查找,只要你在判断之前say一下变量的结果基本就能看出问题所 ...

嗯嗯,我又重新看了一下,是我自己理解错误了。中间那个循环不需要。现在已经可以了~谢谢~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-2-10 11:15:46 | 显示全部楼层
我也遇到了同样的问题,我的gs如下:
'reinit'
'open D:\test\data\eta-2013052312_gwdovar.ctl'
tt=2
while (tt <= 73)
'set lat 31 40'
'set lon 105 112'
'set t ' tt
'set z 34'
'define p2=pressure'  
'set z 1'  
'define div1=hdivg(DUSFCG,DVSFCG)'
'define p1=pressure'
  'define ww=1/2*div1*200'
'define rain=-1*ww*Q2*36*1000*1000/1540'
if(rain <= 0.0)
'define rain=0.0'
endif

'reset'
'set grads off'
'set grid off'
'set map 1 1 7'
'set lat 31 40'
'set lon 105 112'
'set t ' tt
'set z 1'
'set xlevs 105 106 107 108 109 110 111 112'
'set gxout shaded'
'd rain'
'cbar.gs'
  'printim D:\test\pic\rain\rain2-'tt'.jpg x1000 y800 white'
'print'
'disable print'
'c'
tt=tt+1
endwhile



运行后,if语句没有执行判断,也没有错误提示,请问楼主最后是怎么解决的

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

新浪微博达人勋

发表于 2015-6-23 16:27:04 | 显示全部楼层
楼主解决了吗?求方法
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-12 11:01:58 | 显示全部楼层
river 发表于 2013-10-31 12:25
grads的判断好像不能简单地等同于fortran里面的吧,你这个虽然判断了变量的值,但是这个变量没有和经纬度建 ...

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

新浪微博达人勋

发表于 2016-2-2 15:15:20 | 显示全部楼层
sandy175 发表于 2015-2-10 11:15
我也遇到了同样的问题,我的gs如下:
'reinit'
'open D:\test\data\eta-2013052312_gwdovar.ctl'

层主搞定木有呀,if里面是不是不能用define
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-2-4 11:40:00 | 显示全部楼层
勇敢的悲伤 发表于 2013-11-1 10:36
现在我已经画出来了大于某个数值的区域,但是小于某个数值的区域仍然出现刚开始的情况(就是每个给点都 ...

请教楼主,ln=sublin(res,2)这句起什么作用呢?我也有同样的问题,
a=subwrd(data,i) 中a获取的是字符串中的字符,可以在if中比较吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-2-15 16:17:52 | 显示全部楼层
sunflower 发表于 2016-2-4 11:40
请教楼主,ln=sublin(res,2)这句起什么作用呢?我也有同样的问题,
a=subwrd(data,i) 中a获取的是字符串 ...

subline 作用是选字符串
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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