爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3220|回复: 4

[图形美化] 关于绘制站点文件的一点问题

[复制链接]

新浪微博达人勋

发表于 2015-8-9 17:37:17 | 显示全部楼层 |阅读模式

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

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

x
通过学习用grads绘制站点文件等值线图的,收获很大,但现在一直还存在一个问题。教程gs原文如下:
'reinit'
'open e:\program\example\sta2grd\grid.ctl'
'open e:\program\example\sta2grd\sta.ctl'
'set lon 70 140'
'set lat 15 55'
'set mpdset hires'
'd  oacres(g,rain.2)'
'printim e:\program\example\sta2grd\sta_grid.png white'

这里grid.ctl是格点背景场,全部都是1的值;sta.ctl就是站点要素值。但按照教程gs这样的顺序,一直出不了图,显示错误如下: 无标题.png
但如果将grid.ctl和sta.ctl打开顺序调换下,先打开sta.ctl,再打开grid.ctl,再把'd  oacres(g,rain.2)'改成'd  oacres(g.2,rain.1)'就可以画出图来了。
以前画单张图还没什么问题,顺序不一样就不一样。但现在要连续绘制多张图,就有点麻烦了,因为grads只能关闭最后一个文件。我就无法对sta.ctl进行循环读取了,这会是什么问题呢?

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

新浪微博达人勋

发表于 2015-8-9 17:48:06 | 显示全部楼层
因为原始站点数据要插值到格点上面,所以必须先打开格点文件,再打开站点文件,这个顺序不能变。绘制多张图也可以,只是你是哪种多张图呢,如果是同一个变量不同时间,你可以全部插值完成后再循环绘制图形,就像下面这样的(1-600个时间点的全部插值完再循环画)。
'set lat 15 55'
'set lon 70 140'
'set t 1 600'
'define a=oacres(g(t=1),pre.2)'
'define aa=smth9(a)'
'set t 1 12'
'save=ave(aa,t+0,t=600,12)'
'modify save seasonal'
'set t 1 600'
'have=aa-save'
i=1
while(i<=12)
'set grads off'
'set t 'i''
'set gxout shaded'
'cnbasemap save'
'cbarn'
'draw title pre_month-'%i%''
'printim c:\pre_yue_ave_'%i%'.png white'
'c'
i=i+1
endwhile
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-8-9 18:42:26 | 显示全部楼层
木头的回答很详细了······
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-8-9 18:46:18 | 显示全部楼层
好啊,谢谢大神的回复。我赶紧试下看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-8-10 09:25:17 | 显示全部楼层
顺便学习了
多谢
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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