登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 artmunich 于 2011-7-12 21:42 编辑
用GrADS画区域平均的涡散度高度-时间图 ——By artmunich From bbs.06climate.com (一) 大多数人用GrADS画图多是画经纬度投影图。如果要求画纬度-时间图,只要把经度和高度固定,也很容易。如下面的gs是画850hPa上的纬度-时间图,固定经度为100°E
'reinit' 'sdfopen f:/data/1980/uwnd.1980.nc' 'enable print f:/2.gmf' 'set grads off' 'set xyrev on' 'set lon 100' 'set lev 850' 'set t 1 48' 'd uwnd' 'print' 'disable print' 'reinit' ;
(二) 如果要求画区域平均的涡散度的高度-时间图,先想一下gs如何写: 第一步,先定义好时间维和高度维变化; 第二步,用GrADS自带的函数计算涡散度,相对涡度的函数是hcurl(expr1,expr2),散度的函数是hdivg(expr1,expr2) 第三步,按照给出的经纬度,计算这个区域的平均值,用到ave函数。然后画图,并print图片。 那么按照这样的思路gs应该这样写(用不同的颜色标记了不同步骤): 'reinit' 'sdfopen f:/data/20110705/uwnd.2011.nc' 'sdfopen f:/data/20110705/vwnd.2011.nc' 'set grads off' 'enable print f:/vor.gmf' 'set t 1 12' 'set z 117' 'define hh=hcurl(uwnd.1,vwnd.2)*1e5' 'define v1=ave(ave(hh,lat=21,lat=24),lon=110,lon=115)' 'd v1' 'print' 'draw title Vorticity' 'disable print' 'reinit' ;
但这样的gs不对,GrADS会提醒你 Operation error: Invalid dimension environment Too many varying dimensions 哪里出问题了呢? 就这个问题,我专门请教了传说中的谁(特此鸣谢一下,鼓掌 )。他说要在ave之后,d之前加上 'set lat 21' 'set lon 112’ 果真如此,加上之后有图像了。如下图(与gs文件略有不同)。传说的意思是其实平均后值已经是唯一的了,但是你要告诉GrADS你要把这个值画在哪里。我试着改了一下lat和lon的值,发现图没有变化。也就是说你可以随意的定lat和lon的值,对结果无影响,但是必须得有这句话。
Vorticity
(三) 到这里已经画出来了。但是不知道有没有人注意一个问题: GrADS中画出来的图纵坐标间隔是等距的!可是,举个例子,1000hPa和900hPa的距离与200hPa和100hPa的距离明显不等啊。我看到有的论文上这样图形的纵坐标间距是不等的,有的是相等的。 如果想要画纵坐标间距不等的图,记得加上'set zlog on'(谢谢清风,{:soso_e142:}) |