- 积分
- 128
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-8-22
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 meehooqq 于 2013-6-1 04:30 编辑
例如:
有格点描述文件rain.ctl如下:
dset ^rain.grd
undef 9.999E+20
ydef 28 linear 15.000000 1.5
xdef 48 linear 69.000000 1.5
tdef 61 linear 12Z30apr2013 6hr
zdef 1 linear 1 1
vars 1
r 0 99 ** surface Total Precipitation Rate [kg/m^2/s]
ENDVARS
另外,有站点信息文件文本station.txt ,格式如下:
57432 108.4000 30.7664
57516 106.4611 29.5758
57520 107.0667 29.8333
57536 108.7833 29.5333
57409 105.8000 30.1833
。。。。。。
利用GRADS读取站点信息文件station.txt,再把数据写出,对应GS脚本如下:
'reinit'
'open rain.ctl'
'set fwrite out.dat'
'set gxout fwrite'
cnt=35 !cnt表示要读取的站点总个数
i=1
while (i<=cnt)
aa=read('station.txt')
aa1=sublin(aa,2)
'query 'aa1
alon=subwrd(aa1,2)
alat=subwrd(aa1,3)
'query 'alon
'query 'alat
'set lon 'alon
'set lat 'alat
'set t 1 61'
'define tmp1=r'
'd tmp1'
i=i+1
endwhile
ret=close('station.txt')
'disable fwrite'
'reinit'
'quit'
这样得到的数据就是插值出来的站点数据了。另外,发现如果原格点距离较大,而站点相对比较密集,插值出来的站点上的值没有变化,于是就修改了下CTL描述文件,加入pdef描述,再将格点加密,修改后的CTL文件如下,这样提取出来的值就不一样了。
dset ^rain.grd
undef 9.999E+20
pdef 45 28 lcc 33.5 102.75 23 13.5 60 30 102.75 165000.0 165000.0
ydef 200 linear 15.000000 0.2025
xdef 330 linear 69.000000 0.2
tdef 61 linear 12Z30apr2013 6hr
zdef 1 linear 1 1
vars 1
r 0 99 ** surface Total Precipitation Rate [kg/m^2/s]
ENDVARS
由于没有比较这种方法和用站点插值函数得到的结果哪个精度较高,所以,还请大家一起探讨。
|
|