- 积分
- 8083
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-12-27
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 小其其格 于 2017-10-14 20:34 编辑
最近在写论文要画图,花了不少时间研究论坛里各位大神的代码,绘制出了自己想要的图形,即利用wrfout绘制一页多图的垂直剖面图
并附带地形。代码都是基于各位大神的,不是自己原创,下面把代码贴出来。
其中的subplot_x,subplot_y来源于:http://bbs.06climate.com/forum.php?mod=viewthread&tid=56263&extra=page%3D7
地形绘制来源于:http://bbs.06climate.com/forum.php?mod=viewthread&tid=22506&extra=&page=1,我把绘制地形的代码写成函数,放在代码第二部分。
一页多图代码,其中绘制地形的函数是drawLand:- 'set rgb 20 236 242 236'
- 'set rgb 21 215 242 216'
- 'set rgb 22 194 241 196'
- 'set rgb 23 173 241 176'
- 'set rgb 24 152 240 157'
- 'set rgb 25 132 240 137'
- 'set rgb 26 111 240 116'
- 'set rgb 27 90 239 96'
- 'set rgb 28 69 239 76'
- 'set rgb 29 48 238 56'
- 'set rgb 30 27 238 36'
- 'set rgb 31 36 237 27'
- 'set rgb 32 56 235 21'
- 'set rgb 33 78 233 16'
- 'set rgb 34 110 230 15'
- 'set rgb 35 142 227 13'
- 'set rgb 36 174 224 12'
- 'set rgb 37 207 222 10'
- 'set rgb 38 237 218 9'
- 'set rgb 39 237 198 9'
- 'set rgb 40 238 178 9'
- 'set rgb 41 238 158 9'
- 'set rgb 42 238 137 9'
- 'set rgb 43 238 116 9'
- 'set rgb 44 238 103 9'
- 'set rgb 45 238 91 9'
- 'set rgb 46 238 79 9'
- 'set rgb 47 238 67 9'
- 'set rgb 48 238 56 9'
- 'set rgb 49 238 46 10'
- 'set rgb 50 238 37 12'
- 'set rgb 51 238 29 15'
- 'set rgb 52 238 25 22'
- 'set rgb 53 238 21 29'
- 'set rgb 54 238 17 36'
- 'set rgb 55 238 13 42'
- 'set rgb 56 238 9 51'
- 'set rgb 57 238 9 80'
- 'set rgb 58 238 9 108'
- 'set rgb 59 238 9 137'
- 'set rgb 60 238 9 166'
复制代码- 'reinit'
- 'open F:\wfl\DownBurst931\ctl/wrfout_d03_2017_07_12.ctl'
- 'enable print F:\wfl\DownBurst931\ctl\Qcloud\subplot_Qcloud8.42.gmf'
- 'set mpdset cnworld'
- 'set mproj scaled'
- **set map v1 v2 v3 -----v1地图颜色 v2地图类型 v3地图线宽
- 'set map 1 1 3'
- 'set grads off'
- 'set grid off'
- *字体Roman font
- 'set font 1'
- 'set lat 29.8'
- 'set lon 121.1 121.5'
- 'set ylopts 1 1 0.10'
- 'set xlopts 1 1 0.10'
- 'set z 1 10'
- **坐标标注开关打开
- 'set ylab on'
- 'set xlab on'
- fig = abcdefghijklmn
- i=33
- while(i<=40&i>=33)
- n=i-32
- 'set vpage 0 11 0 8.5'
- 'set grads off'
- 'run F:\wfl\DownBurst931\ctl\subplot_x.gs 4 2 'n''
- 'set t 'i''
- 'set xlint 0.06'
- 'set ylint 1.0'
- *云水混合比
- 'set gxout shaded'
- 'set clevs 0 0.03 0.06 0.09 0.12 0.15 0.18 0.21 0.24 0.27 0.30 0.33 0.36 0.39 0.42 0.45 0.48 0.51 0.54 0.57 0.60 0.63 0.66 0.69 0.72 0.75 0.78 0.81 0.84 0.87 0.90 0.93 0.96 0.99 1.02 1.05 1.08 1.11 1.2 1.3'
- 'set ccols 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60'
- 'd qcloud*1000'
- *沿29.8的垂直风场UW剖面
- 'set gxout vector'
- *不显示箭头大小
- 'set arrlab off'
- 'd skip(u,2);skip(w*20,2)'
- if(n=1)
- **set string 1 c 4 90中的90为旋转角度
- 'set string 98 c 5 90'
- 'draw string 0.7 4.0 Height(km) '
- *'draw ylab height(km)'
- endif
- **再把文字角度设置为0
- 'set string 98 c 5 0'
- fign=substr(fig,n,1)
- 'run F:\wfl\DownBurst931\ctl\draw_figstr2.gs TL 1.0 ('fign')'
- **—绘制地形————————**
- lon1=121.1
- lon2=121.5
- lat1=29.8
- lat2=29.8
复制代码
绘制地形的函数:
- *---------------------------------------------------------------
- ********绘制地形*********************************
- function drawLand(lon1,lon2,lat1,lat2,zh)
- *说明:
- *lon1,lat1---剖面起始经纬度
- *lon2,lat2---剖面结束经纬度
- *HGT--wrfoutput的地形
- *zh 是z=1时的高度,可根据自己的资料修改。
- *0.002是画地形时的步长,可自行调整。
- *---------------------------------------------
- ln=lon1
- jjjjjj=1
- while(ln<=lon2)
- *------read terrain height--------------------
- lt=lat1+(lat2-lat1)*(ln-lon1)/(lon2-lon1)
- 'set lon 'ln
- 'set lat 'lt
- 'set z 1'
- 'd HGT*0.001'
- res1=sublin(result,2)
- top=subwrd(res1,4)
- 'q w2xy 'ln' 'zh''
- res2=sublin(result,1)
- tx=subwrd(res2,3)
- ty=subwrd(res2,6)
- 'q w2xy 'ln' 'top
- res3=sublin(result,1)
- mt=subwrd(res3,6)
- if(mt>ty)
- 'set line 1 1 6'
- 'draw line 'tx' 'ty' 'tx' 'mt
- endif
- ln=ln+0.0002
- jjjjjj=jjjjjj+1
- endwhile
- return
- *---------------------------------------------------------------
复制代码
代码显示不全,我把完成的传上来吧:
qcloud.gs
(2.92 KB, 下载次数: 87)
|
评分
-
查看全部评分
|