登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 river 于 2019-8-21 22:05 编辑
其实大家使用的基本都是OpenGrADS,并不是GrADS官网上的原原本本的版本。OpenGrADS相当于一个基于原版grads API接口作出的改进版。在制作之初就已经加入了很多扩展功能。比如大家比较熟悉的re(),可以将格点资料插值成不同的分辨率,这个原版是没有的。 OpenGrADS扩展的功能有很多,而且非常实用。比如说计算露点,计算水汽压,计算抬升凝结高度,计算T检验、F检验,计算风切变,计算风暴螺旋度,寻找最低气压中心,还能画卫星轨道图,等等等,真是很多。用法也比较简单,就相当于GrADS里面自带了相应的函数。具体扩展了哪些功能,大家可以去看这个文件夹里的文档,比如我的OpenGrADS安装在默认的C盘,那么在这个文件夹里看C:\OpenGrADS\Contents\Resources\Documentation\opengrads\doc\udxt 。里面相应的文件夹一共有15个,这15个文件夹相当于是以作者或者相关功能分类。打开相应的文件夹打开里面相应的html就可以看到相应的功能和用法,当然是全英文的。每个文件夹下虽然只有一个网页文件,但是里面往往包括好多个功能的介绍,最多的能有二十个以上,所以是非常强大的。建议有能力的同学们打开看看,研究一下,发帖给大家科普一下。
今天我要说的计算露点的功能在saakeskus文件夹下,打开网页文件,复制露点的部分如下:
dewpt(T,RH)This function computes the dew-point temperature given the Temperature T in Kelvin and the relative humidity RH in percent.
用法很简单,就是直接把dewpt当做函数,把相应的温度和相对湿度的变量填进去就好了。我的脚本如下:
'reinit'
'open /mnt/g/linux/2015/201504.ctl'
'set t 3'
lev.1=850;lev.2=700;lev.3=500
*******图形输出******
zz=1
while(zz<=3)
'set lev 'lev.zz''
'define td=dewpt(TMPprs,RHprs)-273.16'
'set grid off'
'set grads off'
'set parea 2 7 3 7'
'set xlopts 1 4 0.14'
'set ylopts 1 4 0.14'
'set map 0'
* turn off map
'set mpdraw off'
'set lon 85 125'
'set lat 30 55'
'set xlint 5'
'set ylint 5'
'set gxout shaded'
*'set cthick 7'
*'set cstyle 3'
*'set ccolor 2'
*'set cint 5'
'run /mnt/g/GrADS-NCL-colormakerV1.3/output/scripts/14colors.gs'
'd smth9(td)'
'cbarn 0.65 1 7.2 5'
'set gxout contour'
*'set cthick 6'
*'set cint 5'
'set ccolor 1'
*'set cstyle 1'
*'set clopts 1'
*'set clskip 1'
*'set clab masked'
*'set clab forced'
'd smth9(td)'
'draw title Dew Point Temperature at 'lev.zz' [C]'
* draw the map
'set mpdraw on'
'set mpdset cnworld'
'set map 15 1 3'
'draw map'
'huanghe.gs'
'gxprint /mnt/g/linux/2015/pic/Td'lev.zz'.png white'
'c'
zz=zz+1
endwhile
;
出来的图如下:
是不是很简单。有些人可能发现这个图和我另一个讨论计算露点温度的贴子里的一种方法画出来的图一模一样。没错,他这里用到的算法,在那个贴子里其实介绍过了。
在这不细说,直接上个公式吧
Calculated for 2m above ground
tc2m = temperature 2m above ground [°C]
rh2m = relative humidity 2m above ground [%] 'define dewp2m = tc2m-((14.55+0.114*tc2m)*(1-0.01*rh2m)+pow((2.5+0.007*tc2m)*(1-0.01*rh2m),3)+(15.9+0.117*tc2m)*pow((1*-0.01*rh2m),14))'
|