登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
前两天贴出了用GrADS绘制的Skew-T图,有兴趣的童鞋还是有一些的,所以这里出个简单的教程。
GrADS2.0中提供了一个绘制Skew-T图的脚本——plotskew.gs。用该方法绘制Skew-T需要用到四个变量:温度、露点温度、风速、风向。本例中用的是FNL 1*1的资料,资料的下载我记得其他帖子里有讨论过;至于资料的前处理(生成ctl以及idx)这里不一一细说,请自行解决;关于资料的变量说明请自己看ctl文件或是网站上的说明。下面是绘图的脚本:
 - 'reinit'
- 'open F:/522/ncep/522.ctl'
- 'set lon 123'
- 'set lat 23'
- 'set t 9'
- 'set lev 1000 100'
- 'define t=tmpprs-273.16'
- 'define rH=rhprs'
- 'td=t-((14.55+0.114*t)*(1-0.01*RH) + pow((2.5+0.007*t)*(1-0.01*RH),3) + (15.9+0.37*T)*pow((1-0.01*RH),14))' *计算露点温度
- 'define uv=mag(vgrdprs,ugrdprs)' *计算风速
- 'define pi=3.14159'
- if (ugrdprs>=0.)
- if (vgrdprs>=0.)
- 'define dir=180+atan2(ugrdprs,vgrdprs)*180/pi'
- endif
- endif
- if (vgrdprs<=0.)
- if (ugrdprs>=0.)
- 'define dir=270+atan2(ugrdprs,vgrdprs)*180/pi'
- endif
- endif
- if (ugrdprs<=0.)
- if (vgrdprs>=0.)
- 'define dir=180-atan2(ugrdprs,vgrdprs)*180/pi'
- endif
- endif
- if (vgrdprs<0.)
- if (ugrdprs<=0.)
- 'define dir=270-atan2(ugrdprs,vgrdprs)*180/pi'
- endif
- endif
- *if(ugrdprs > 0.);'define dir=90-180/pi*atan2(vgrdprs,ugrdprs)';endif
- *if(ugrdprs < 0.);'define dir=270-180/pi*atan2(vgrdprs,ugrdprs)';endif
- rc=plotskew(t,td,uv,dir)
再把plotskew.gs(plotskew.gs在GrADS2.0安装目录的lib文件夹下,1.8版本的好像叫做skewplot.gs)里面的全部内容复制到上述代码的后面,合并成一个gs文件(skewplot.gs,例如),然后在GrADS2.0中运行绘图脚本(skewplot.gs,例如)就可以了。
plotskew.gs里面有很多可调参数,每个参数都有说明(当然全都是英文,这个东西是美帝的人写的),有兴趣的可以自己去调。
另外说明一下,对于提问小弟尽可能回答,但由于时间关系有些不能及时答复,或者由于能力问题答复不了的,还望海涵。
最后,旧图一张。
|