爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: river

[图形美化] 任意两点间斜剖面做法总结【利用GRADS自带函数】

  [复制链接]

新浪微博达人勋

发表于 2021-1-13 17:59:19 | 显示全部楼层
你好,我按照您的方法用自己的数据画剖面,一直提示错误,自己实在找不出错在哪里,希望帮忙指教一下
我的数据ctl如下:
dset     F:\2016and2018\Radar_winddata\Radar_Wind_dBz_2015.grd

undef    999.000000   

title    radar vr

xdef     1100  linear    70.0000000       5.99999987E-02

ydef     640  linear    16.0000000       5.99999987E-02

zdef     15  linear   0.500000000      0.500000000   

tdef     24  linear  00z30Jul2015  1hr

vars     3

u        15  99 99

v        15  99 99

dbz      15  99 99

endvars
我的gs文件如下:
'reinit'
'open F:\2016and2018\Radar_winddata\Radar_Wind_dBz_2015.ctl'
'gxprint F:\2016and2018\Radar_winddata\radar_wind_poumian.png white'
'set grads off'
'set zlog on'
'set csmooth on'
'set x 1'
'set y 1'
'set lev 0.5 7'
'set t 9'

lon1 = 117.88
lon2 = 119.32
lat1 = 35.56
lat2 = 37
lon = lon1

'collect 1 free'
'collect 2 free'
while (lon <= lon2)
  lat = lat1 + (lat2-lat1)*(lon-lon1) / (lon2-lon1)
  'collect 1 gr2stn(u*2.5,'lon','lat')'
  'collect 2 gr2stn(v*2.5,'lon','lat')'
  lon = lon + 0.12
endwhile
'set lon 117.88 119.32'
'set lev 0.5 7'
'set t 9'
'set ylevs 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7'
'set gxout barb'
'set cthick 5'
'd coll2gr(1,-u);coll2gr(2,-u)'
'gxprint F:\2016and2018\Radar_winddata\radar_wind_poumian.png white'
;
提示错误为:cannot draw vectors/bars--U field all undefined

ctl

ctl

gs

gs
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-1-13 22:17:26 | 显示全部楼层
本帖最后由 river 于 2021-1-13 22:23 编辑
chuyingjia 发表于 2021-1-13 17:59
你好,我按照您的方法用自己的数据画剖面,一直提示错误,自己实在找不出错在哪里,希望帮忙指教一下{:eb50 ...

你的coll2gr函数的参数应该用错了,是你没有仔细研究过后面这个-u 参数的意义。建议以后多去官网看看

coll2gr()
This function creates a grid from a collection of station data. The syntax is:

coll2gr(cnum <,num>)

cnum     collection number
num      number of vertical levels in the output grid (default is 10)
If num is given as "-u", then the vertical levels will be a union of all the levels in the collection of station data.

Usage Notes
1.Before using coll2gr, you must create the collection of stations using the GrADS command collect.

2.coll2gr does not yet support time slices; currently, it will only work when the collection of stations is a collection of vertical profiles.

3.coll2gr produces an output grid that varies in X and Z; the dimension environment used when coll2gr is invoked must also be X and Z varying. The X axis of the output grid will contain the equally spaced station profiles and will span the range of the current X dimension environment. The Z axis of the output grid will span the range of the current Z dimension environment and will have either the specified number of levels or a union of the levels. Data points outside of the range of levels will be used for interpolating to within the range if appropriate.


4.The "-u" option will only work for data in pressure vertical coordinates. If your vertical coordinate is height, num should be the actual number of vertical levels in the collection of profiles. Note: This restriction has been removed as of version 2.1.0.


See the section of the User's Guide on Arbitrary Cross Sections for more information.


密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-1-14 12:01:39 | 显示全部楼层
river 发表于 2021-1-13 22:17
你的coll2gr函数的参数应该用错了,是你没有仔细研究过后面这个-u 参数的意义。建议以后多去官网看看

...

一语道破啊,把-u改成实际层数15就对了。成功出图,谢谢谢谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-4-7 19:56:30 | 显示全部楼层
river 发表于 2020-9-15 23:18
你这个问题应该是因为在出图之前少设置一个经度范围,你不设置他默认是最前面的set x 1 和 set y 1,只有 ...

谢谢大神,我按照你的方法出图了,但是我把   'collect 1 gr2stn(UGRDprs,'lon','lat')'里面的UGRDprs,换成我自己定义的变量位温,就像这样 'collect 1 gr2stn(eqt,'lon','lat')',运行没有错误,但是出来的图不对,这是怎么回事呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-4-7 23:34:20 | 显示全部楼层
李小毛123 发表于 2021-4-7 19:56
谢谢大神,我按照你的方法出图了,但是我把   'collect 1 gr2stn(UGRDprs,'lon','lat')'里面的UGRDprs, ...

既然出来的图不对,那就说明还有其他问题·····
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-4-14 18:37:12 | 显示全部楼层
river 发表于 2021-4-7 23:34
既然出来的图不对,那就说明还有其他问题·····

但是用自带的变量,比如UGRDprs,出来的图是对的,换成定义的变量就不行,奇怪
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-4-14 20:14:16 | 显示全部楼层
李小毛123 发表于 2021-4-14 18:37
但是用自带的变量,比如UGRDprs,出来的图是对的,换成定义的变量就不行,奇怪

所以呢?你这样提问我是真猜不到问题在哪······
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-4-15 20:26:25 | 显示全部楼层
本帖最后由 李小毛123 于 2021-4-15 21:55 编辑
river 发表于 2021-4-14 20:14
所以呢?你这样提问我是真猜不到问题在哪······

大神,我今晚一下子茅塞顿开,弄清楚症结在哪里了,因为我只计算了一个点的位温,所以出来的图就很奇怪,太感谢你了。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-4-15 22:00:39 | 显示全部楼层
李小毛123 发表于 2021-4-15 20:26
'reinit'
'open F:\fnl\fnl072000.ctl'
'set grads off'

    我觉得你不应该犯这么低级的错误。画剖面图就跟切西瓜一样,你得先有一整个西瓜或者至少是可以视为三维立体的部分西瓜才行吧,你拿一片西瓜皮想让它插值出来一整个西瓜,就算不是整个,哪怕是一牙西瓜它也做不到啊,是不是有点儿难为它了?你思考一下原有的变量和你计算出来的变量区别在哪?
   
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-4-15 22:02:39 | 显示全部楼层
river 发表于 2021-4-15 22:00
我觉得你不应该犯这么低级的错误。画剖面图就跟切西瓜一样,你得先有一整个西瓜或者至少是可以视为三 ...

原有的UGRDprs是一个变量,我没在计算位温前设置经纬度范围,它就只是一个点而已,而不是自变量,所以计算出来的位温其实也是一个常量。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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