- 积分
- 7778
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-6-10
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 lm8005507771 于 2019-1-27 17:42 编辑
我现在有的EC的grib2格式数据是这个样子的,,
里面的不同气象要素是在不同文件中的,算假相当位温要用的温度、相对湿度、气压的文件我都能找到,但怎么把它们放到一起计算,遇到问题了如下。
我想了两个办法。第一个办法是把三个数据文件解码以后,在脚本中对它们的ctl文件分别open,然后define不同要素不同的变量,带入公式计算,遇到的问题就是,好像只有第一个被open的参数才能被define,第二第三个被打开的就不行,请教各位大神,这个情况怎么弄,或者怎么百度,我连这种情况怎么搜索都不清楚。脚本用的是http://bbs.06climate.com/forum.p ... &extra=page%3D2 中给的,我把前后set的部分都是删了,想的是先出个结果,然后再调试具体内容。
'reinit'
'open f:/test1/echrxa85.ctl'
'open f:/test1/echtxa85.ctl'
'open f:/test1/echpxa89.ctl'
'define tk=tmp850mb' ;*某高度层的开氏温度K
'define tc=tk+273.16' ;*某高度层的摄氏温度C
'define rh=rh850mb' ;*某高度层的相对湿度Relative humidity%
'define prs=presmsl' ;*获得某层高度的气压
******************************************************************************************
*求饱和水汽压Tetens经验公式
*水面es,tk开氏温度,tc摄氏温度
if(tk>273.16)
'define es=6.1078*exp(17.2693882*tc/(tk-35.86))'
endif
*冰面es,tk开氏温度,tc摄氏温度
if(tk<=273.16)
'define es=6.1078*exp(21.8745584*tc/(tk-7.66))'
endif
*饱和比湿
'define qs=0.622*es/(prs-0.378*es)'
*用相对湿度等求比湿
'q=rh*qs/100'
*水汽压
'e=prs*q/(0.622+q)'
*凝结高度的绝对温度,tk起始面上绝对温度K,
'define tlcl=55.0+2840.0/(3.5*log(tk)-log(e)-4.805)'
*求假相当位温Bolton公式,se为开氏温度K
'define theta=tk*pow((1000/prs),(0.2854*(1.0-0.28*q)))'
'define se=theta*exp(((3376./tlcl)-2.54)*q*(1.0+0.81*q))'
******************************************************************************************
'd se'
执行脚本后报错内容如下:
脚本出现的问题
第二个办法是根据兰溪大神的pdf中写的把三个文件复制成一个文件中再进行操作,利用dos下copy的命令来做的“copy /b ech*.032 test001.032” (我已经提前把三个参数的文件放到一个单独的文件夹里了),但是这样操作之后,再进行!g2ctl和!gribmap后还是不行。
下面是合成以后文件的ctl内容。我的水平看起来这个好像都对着呢啊。
dset c:/short1/test001.032
index c:/short1/test001.032.idx
undef 9.999E+20
title c:/short1/test001.032
* produced by g2ctl v0.1.1
* command line options: c:/short1/test001.032
* griddef=1:0:(720 x 361):grid_template=0:winds(N/S): lat-lon grid:(720 x 361) units 1e-06 input WE:NS output WE:SN res 48 lat 90.000000 to -90.000000 by 0.500000 lon 0.000000 to 359.500000 by 0.500000 #points=259920:winds(N/S)
dtype grib2
ydef 361 linear -90.000000 0.5
xdef 720 linear 0.000000 0.500000
tdef 1 linear 12Z03jan2019 1mo
zdef 1 linear 1 1
vars 3
PRESmsl 0,101,0 0,3,0 ** mean sea level Pressure [Pa]
RH850mb 0,100,85000 0,1,1 ** 850 mb Relative Humidity [%]
TMP850mb 0,100,85000 0,0,0 ** 850 mb Temperature [K]
ENDVARS
EDEF 1
E2 1 12Z03jan2019 2
ENDEDEF
把合成的文件放到脚本里出不来图,我单独打开它的ctl,对三个参数画图检查一下有问题没,结果相对湿度有问题。
三合一文件出现的问题
请教大家,应该怎么处理?求大家指点,刚接触grabs,有些操作不当的地方还请大家不吝赐教!
|
-
EC数据文件
|