爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3743|回复: 4

关于画图时条件语句的使用以及数据问题的困惑

[复制链接]

新浪微博达人勋

发表于 2017-8-14 13:22:08 | 显示全部楼层 |阅读模式
GrADS
系统平台:
问题截图: -
问题概况: 关于画斜剖面图中,风速太小时风向标看不出方向,想利用条件语句将太小的风用矢量箭头表示,风速足够大的依然用风向标表示。但画出来不对,为了验证还将定义的变量画出来了,果然不对,不知道哪里出现了问题,不知道如何解决。下面是我编写的程序以及运行出来的结果。
我看过提问的智慧: 看过
自己思考时长(天): 0.04

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

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

x
'reinit''sdfopen D:\Data\ThirdGroup\nc\omega\w_2017.05.01_15.nc' 'sdfopen D:\Data\ThirdGroup\nc\wind\four_times_daily\uwnd.2017.05.01_15.nc''sdfopen D:\Data\ThirdGroup\nc\wind\four_times_daily\vwnd.2017.05.01_15.nc''set parea 0.5 10.5 0.9 8''set grid off''set grads off''set zlog on''set csmooth on'lon1=115.25lon2=120.25lat1=31.0lat2=36.0'define alfa=atan2('lat2-lat1','lon2-lon1')''set x 1''set y 1''set lev 1000 300''set t 22'lon=lon1'collect 1 free''collect 2 free'while(lon<=lon2)lat=lat1+(lat2-lat1)*(lon-lon1)/(lon2-lon1)'collect 1 gr2stn(-w.1*50,'lon','lat')''collect 2 gr2stn(u.2*cos(alfa)+v.3*sin(alfa),'lon','lat')'lon=lon+0.25endwhile'define lws = -w.1*50''define sonny = u.2*cos(alfa)+v.3*sin(alfa)''define isaac = mag(lws,sonny)'*'set lat 34 39''set lon 115.3 120.3' 'set lev 1000 280' 'set ylevs 925 850 700 600 500 400 350 300''set xlabs 32.5N,115.3E|33.2N,116.3E|33.9N,117.3E|34.6N,118.3E|35.3N,119.3E|36N,120.3E'if isaac < 100    'set gxout vector'    'd skip(coll2gr(2,-u),1,1);coll2gr(1,-u)'else'set gxout barb''d skip(coll2gr(2,-u),1,1);coll2gr(1,-u)'endif'set gxout shaded''d isaac''draw title May 6th 14:00BJT''printim D:\Research_Room\Data\Output\meteorology\practice.png white'; practice.png

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

新浪微博达人勋

 楼主| 发表于 2017-8-14 13:23:54 | 显示全部楼层
发出来好像格式不整齐了,我重新发一下:
'reinit'
'sdfopen D:\Data\ThirdGroup\nc\omega\w_2017.05.01_15.nc'
'sdfopen D:\Data\ThirdGroup\nc\wind\four_times_daily\uwnd.2017.05.01_15.nc'
'sdfopen D:\Data\ThirdGroup\nc\wind\four_times_daily\vwnd.2017.05.01_15.nc'
'set parea 0.5 10.5 0.9 8'
'set grid off'
'set grads off'
'set zlog on'
'set csmooth on'
lon1=115.25
lon2=120.25
lat1=31.0
lat2=36.0
'define alfa=atan2('lat2-lat1','lon2-lon1')'
'set x 1'
'set y 1'
'set lev 1000 300'
'set t 22'
lon=lon1
'collect 1 free'
'collect 2 free'
while(lon<=lon2)
lat=lat1+(lat2-lat1)*(lon-lon1)/(lon2-lon1)
'collect 1 gr2stn(-w.1*50,'lon','lat')'
'collect 2 gr2stn(u.2*cos(alfa)+v.3*sin(alfa),'lon','lat')'
lon=lon+0.25
endwhile

'define lws = -w.1*50'
'define sonny = u.2*cos(alfa)+v.3*sin(alfa)'
'define isaac = mag(lws,sonny)'
*'set lat 34 39'
'set lon 115.3 120.3'
'set lev 1000 280'
'set ylevs 925 850 700 600 500 400 350 300'
'set xlabs 32.5N,115.3E|33.2N,116.3E|33.9N,117.3E|34.6N,118.3E|35.3N,119.3E|36N,120.3E'

if isaac < 100
    'set gxout vector'
    'd skip(coll2gr(2,-u),1,1);coll2gr(1,-u)'
else
'set gxout barb'
'd skip(coll2gr(2,-u),1,1);coll2gr(1,-u)'
endif
'set gxout shaded'
'd isaac'

'draw title May 6th 14:00BJT'
'printim D:\Research_Room\Data\Output\meteorology\practice.png white'
;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-22 07:07:28 | 显示全部楼层
首先这个if isaac < 100 应该写成if(isaac < 100)
再有必须先画阴影图,不然会覆盖其他图形,你这个不知什么原因阴影图根本没画出来······
你先改了试试看吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-8-22 10:54:22 | 显示全部楼层
river 发表于 2017-8-22 07:07
首先这个if isaac < 100 应该写成if(isaac < 100)
再有必须先画阴影图,不然会覆盖其他图形,你这个不知什 ...

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

新浪微博达人勋

 楼主| 发表于 2017-8-22 10:54:28 | 显示全部楼层
river 发表于 2017-8-22 07:07
首先这个if isaac < 100 应该写成if(isaac < 100)
再有必须先画阴影图,不然会覆盖其他图形,你这个不知什 ...

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

本版积分规则

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

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

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