爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11437|回复: 5

[分享资料] 分享一下多年平均年水汽输送通量的gs程序以及关于叠加地形图的提问。

[复制链接]

新浪微博达人勋

发表于 2021-10-19 16:44:28 | 显示全部楼层 |阅读模式

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

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

x
一、前提:我已把1979-2018年共计480个月的各月水汽通量计算出来了,nj_quv.ctl也就是该数据的描述文件。
二、我画出了多年平均年水汽输送的通量场,如图1所示,也请各位前辈看看我的程序是否有问题(我感觉应该是没问题)。 quvall_nj_40_b.png
三、绘制地图的程序也是从论坛上找的,单独绘制的画也是可以成功出图的,如图2所示。
quvall_nj_40_b_dx.png

四、但是我把两个图的程序合在一起,底图为地图,先绘制地图,后绘制水汽输送通量场,将其叠加至地图上,能成功出图,但是不是地图为地图的形式。
quvall_year_b_dx.png
程序我也检测了很多遍,单独出图都是可以成功出图的。我把程序也直接附在下面了。

'reinit'
'open E:\Master_thesis\GrADS\thesis\ctl\sqss\nj_quv.ctl'
'open E:\Master_thesis\GrADS\thesis\topo10.ctl'
'set z 1'
'set t 1 480'
'set x 1 241'
'set y 1 161'

'set dfile 2'
'set mpdset cnworld'
'set t 1'
'set parea 1.5 10.0 1.5 8.0'
'set z 1'
'set xlopts 1 3 0.2'
'set ylopts 1 3 0.2'
'set xlint 2'
'set ylint 2'
'set lon 70 107'
'set lat 15 36'
'set xlpos -10'
'set ylpos -10'
'set grads off'
'set grid off'
'set font 5'
'define ztp=tp.2'
'set gxout shaded'
'set rgb 20 24 116 205'
'set rgb 21 51 204 255'
'set rgb 22 0 255 255'
'set rgb 23 0 255 100'
'set rgb 24 0 255 0'
'set rgb 25 90 149 44'
'set rgb 26 155 207 52'
'set rgb 27 173 223 80'
'set rgb 28 197 239 116'
'set rgb 29 229 243 167'
'set rgb 30 249 242 191'
'set rgb 31 243 234 169'
'set rgb 32 231 216 133'
'set rgb 33 218 197 93'
'set rgb 34 210 174 56'
'set rgb 35 203 153 28'
'set rgb 36 167 116 37'
'set rgb 37 131 84 40'
'set rgb 38 100 64 30'
'set rgb 39 82 54 25'
'set rgb 40 122 100 79'
'set clevs 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500'
'set ccols 20 21 22 23 24 25 26 27 28 29 30 33 35 36 37 38 39 40'
'd ztp'

'set shpopts 8'
'draw shp E:\Master_thesis\GrADS\thesis\arcgis\yarlungfenqv'
'set line 4'
'draw shp E:\Master_thesis\GrADS\thesis\arcgis\shuixi\shuixi'

'set dfile 1'
n=1
while(n<=480)
'define quyear=sum(quall.1,t='n',t='n+11')'
'define qvyear=sum(qvall.1,t='n',t='n+11')'
'd quyear'
'd qvyear'
n=n+12
endwhile
'define quallnj=ave(quyear,t=1,t=40)'
'define qvallnj=ave(qvyear,t=1,t=40)'
'define quvallnj=mag(quallnj,qvallnj)'
'set t 1'
'set parea 1.5 10.0 1.5 8.0'
'set lon 70 107'
'set lat 15 36'
'set xlpos -10'
'set ylpos -10'
'set grads off'
'set clab forced'
'set font 5'
'set gxout contour'
'set ccolor 0'
'set clopts 1'
'd mag(quallnj,qvallnj)'
'set gxout vector'
'set arrowhead 0.1'
'set ccolor 1'
'd skip(quallnj,6,6);qvallnj'
'run axis.gs -type b  -position m -label on -start 70 -end 107 -suffix `3. -interval 3  -size 0.2 -lsize 0.15 -lthick 0.3 '
'run axis.gs -type L  -position o -start 15 -end 36 -suffix `3. -interval 2 -lsize 0.15 -lthick 0.3'
'printim E:\Master_thesis\GrADS\thesis\gs\sqss\quvall_year_b_dx.png white'
;


求助:为什么我把程序合在一起就无法出现正确的叠加图呢?

quvall_nj_40_b_dx.gs

2.26 KB, 下载次数: 1, 下载积分: 金钱 -5

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

新浪微博达人勋

 楼主| 发表于 2021-10-20 15:29:15 | 显示全部楼层
反复的核查了,应该是程序中计算各年水汽输送总量时候的循环影响了地形图的出图,可是这个循环只是计算水汽输送总量,为什么会影响到上一步的地图呢。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-10-20 16:02:48 | 显示全部楼层
不大明白,,路过学习等解答
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-10-20 16:07:34 | 显示全部楼层
puck66 发表于 2021-10-20 16:02
不大明白,,路过学习等解答

我刚刚弄出来了,我觉得是那个循环放在这个合成的程序里又问题,虽然我也不太懂为何会出现问题,但我直接把这个循环替换了,不用循环了。我把循环换成了多年平均各月的水汽输送相加,得到的多年平均年水汽输送也应该是一样的。换了之后我就成功出图了。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-10-20 18:40:17 | 显示全部楼层
最后使用的笨办法成功出图的程序如下,如有错误,请指出!谢谢!
'reinit'
'open E:\Master_thesis\GrADS\thesis\gs\sqss7\nj\quvall_nianjun.ctl'
'open E:\Master_thesis\GrADS\thesis\topo10.ctl'
'set z 1'
'set t 1 480'
'set x 1 241'
'set y 1 161'

'set dfile 2'
'set mpdset cnworld'
'set t 1'
'set parea 1.5 10.0 1.5 8.0'
'set z 1'
'set xlopts 1 3 0.2'
'set ylopts 1 3 0.2'
'set xlint 2'
'set ylint 2'
'set lon 70 107'
'set lat 15 36'
'set xlpos -10'
'set ylpos -10'
'set grads off'
'set grid off'
'set font 5'
'define ztp=tp.2'
'set gxout shaded'
'set rgb 20 24 116 205'
'set rgb 21 51 204 255'
'set rgb 22 0 255 255'
'set rgb 23 0 255 100'
'set rgb 24 0 255 0'
'set rgb 25 90 149 44'
'set rgb 26 155 207 52'
'set rgb 27 173 223 80'
'set rgb 28 197 239 116'
'set rgb 29 229 243 167'
'set rgb 30 249 242 191'
'set rgb 31 243 234 169'
'set rgb 32 231 216 133'
'set rgb 33 218 197 93'
'set rgb 34 210 174 56'
'set rgb 35 203 153 28'
'set rgb 36 167 116 37'
'set rgb 37 131 84 40'
'set rgb 38 100 64 30'
'set rgb 39 82 54 25'
'set rgb 40 122 100 79'
'set clevs 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500'
'set ccols 20 21 22 23 24 25 26 27 28 29 30 33 35 36 37 38 39 40'
'd ztp'

'set shpopts 8'
'draw shp E:\Master_thesis\GrADS\thesis\arcgis\yarlungfenqv'
'set line 4'
'draw shp E:\Master_thesis\GrADS\thesis\arcgis\shuixi\shuixi'

'set dfile 1'
'define qumar=ave(quall,t=3,t=480,12)'
'define quapr=ave(quall,t=4,t=480,12)'
'define qumay=ave(quall,t=5,t=480,12)'
'define qujun=ave(quall.1,t=6,t=480,12)'
'define qujul=ave(quall.1,t=7,t=480,12)'
'define quaug=ave(quall.1,t=8,t=480,12)'
'define qusep=ave(quall,t=9,t=480,12)'
'define quoct=ave(quall,t=10,t=480,12)'
'define qunow=ave(quall,t=11,t=480,12)'
'define qudec=ave(quall,t=12,t=480,12)'
'define qujan=ave(quall,t=1,t=480,12)'
'define qufeb=ave(quall,t=2,t=480,12)'
'define quyear=qumar+ quapr+qumay+qujun+qujul+quaug+qusep+quoct+qunow+qudec+qujan+qufeb'
'define qvmar=ave(qvall,t=3,t=480,12)'
'define qvapr=ave(qvall,t=4,t=480,12)'
'define qvmay=ave(qvall,t=5,t=480,12)'
'define qvjun=ave(qvall.1,t=6,t=480,12)'
'define qvjul=ave(qvall.1,t=7,t=480,12)'
'define qvaug=ave(qvall.1,t=8,t=480,12)'
'define qvsep=ave(qvall,t=9,t=480,12)'
'define qvoct=ave(qvall,t=10,t=480,12)'
'define qvnow=ave(qvall,t=11,t=480,12)'
'define qvdec=ave(qvall,t=12,t=480,12)'
'define qvjan=ave(qvall,t=1,t=480,12)'
'define qvfeb=ave(qvall,t=2,t=480,12)'
'define qvyear=qvmar+ qvapr+qvmay+qvjun+qvjul+qvaug+qvsep+qvoct+qvnow+qvdec+qvjan+qvfeb'
'define quallnj=ave(quyear,t=1,t=40)'
'define qvallnj=ave(qvyear,t=1,t=40)'
'define quvallnj=mag(quallnj,qvallnj)'
'set t 1'
'set parea 1.5 10.0 1.5 8.0'
'set lon 70 107'
'set lat 15 36'
'set xlpos -10'
'set ylpos -10'
'set grads off'
'set clab forced'
'set font 5'
'set gxout contour'
'set ccolor 0'
'set clopts 1'
'd mag(quallnj,qvallnj)'
'set gxout vector'
'set arrowhead 0.1'
'set ccolor 1'
'd skip(quallnj,6,6);qvallnj'
'run axis.gs -type b  -position m -label on -start 70 -end 107 -suffix `3. -interval 3  -size 0.2 -lsize 0.15 -lthick 0.3 '
'run axis.gs -type L  -position o -start 15 -end 36 -suffix `3. -interval 2 -lsize 0.15 -lthick 0.3'
'printim E:\Master_thesis\GrADS\thesis\gs\sqss7\nj\cun\quvall_nj_40_b_dx.png white'
;
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-10-20 21:47:34 | 显示全部楼层
周一的07 发表于 2021-10-20 16:07
我刚刚弄出来了,我觉得是那个循环放在这个合成的程序里又问题,虽然我也不太懂为何会出现问题,但我直接 ...

嗯,,感觉是不是你第一个循环(480那里),把你赋值的变量给覆盖了,实际上只有最后一个n时候的值,所以你数值对不上。拆开以后,因变量名不同而得以保存
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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