GrADS站点资料的使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GrADS站点资料的使用

台站型离散资料画图的一般原则

1、把台站资料r.dat写成二进制文件r.grd

一般而言,台站资料都是文本格式的,须用专门的程序写成带有站号、经度、纬度等的二进制文件。

例如:对某一时次的降水资料r.dat有如下形式:

lon lat Precipitation

119.8 30.6 0

119.8 30.616 0

119.8 30.632 0

119.8 30.648 0

119.8 30.664 0

119.8 30.68 0

119.8 30.696 0

119.8 30.712 0

119.8 30.728 0

119.8 30.744 0

119.8 30.76 0

119.8 30.776 0

。。。。。。

该数据只有一个时次

则相应的程序stn.f如下:

parameter(n=10201)

integer r1(n)

real lat(n),lon(n),r(n)

character*8 zh(n)

open(1,file='d:\common\1.txt',form='formatted',status='old')

do i=1,n

read(1,*)lon(i),lat(i),r1(i)

r(i)=r1(i)

enddo

do i=1,n

zh(i)=char(i)

enddo

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

open(9,file='d:\common\r.grd',form='binary',status='unknown')

open(99,file='d:\common\rr.txt')

do 100 i=1,n

tim=0.0

nlev=1

nflag=1

write(9)zh(i),lat(i),lon(i),tim,nlev,nflag

write(9)r(i)

write(99,200)lon(i),lat(i),r(i)

200 format(f8.3,f8.3,f6.2)

100 continue

nlev=0

write(9)zh(i-1),lat(i-1),lon(i-1),tim,nlev,nflag

close(9)

! do i=1,160

do i=1,n

if(r(i).lt.0.0)then

write(*,*)lon(i),lat(i),r(i)

endif

enddo

! write(*,*)i,zh(5000),lat(5000),lon(5000),tim,nlev,nflag,r(5000)

pause

! enddo

end

2、编写r.grd数据的数据说明文件r.ctl

dset d:\common\r.grd

dtype station

stnmap d:\common\r.map

undef -999.0

title station data

tdef 1 linear jan1998 1mo

vars 1

r 0 99 grid data prepared for oacres function

endvars

3、用r.ctl生成r.map文件

实际上,是在GrADS中运行可执行文件stnmap.exe,如何运行

对于自带显示窗口的GrADS1.8版本的:

进入命令窗口后,在提示符下输入“!stnmap”

ga_>!stnmap

在出现的信息提示处输入r.ctl

Enter stn ctl filename: D:\r.ctl

4、生成格点文件

因为GrADS只识别格点数据,所以需要把站点上的资料通过插值函数插值到某个格点文件上才能被识别。

根据r.dat提供的信息来写格点文件grid.grd(二进制)

要求:(1) grid.grd文件的精度要高于或等于r.dat的精度

(2) grid.grd文件的范围要大于或等于r.dat的范围

(3)grid.grd文件的每个点上均赋值1(范围与r.dat相同)

(4)当grid.grd文件的范围大于r.dat的范围时,除了相同范围的每个点赋值为1外,其余外围的点也都赋值为1

(5)grid.grd文件的时间一定要与r.dat时间一致!!!

生成grid.grd文件的程序grid.for

!!!!!!!!1

parameter(n=31)

real lat(n),lon(n)

real s(n,n)

open(1,file='d:\common\grid.grd',form='binary')

lat(1)=30.0

lon(1)=119.0

do i=1,n-1

lat(i+1)=lat(i)+0.1

lon(i+1)=lon(i)+0.1

enddo

do i=1,n

do j=1,n

s(i,j)=1

enddo

enddo

write(1)s

end

5、编写grid.grd的.ctl文件:grid.ctl

dset d:\common\grid1.grd

undef -999.0

title Sample GRIB Data

xdef 71 linear 70 1

ydef 41 linear 15 1

zdef 1 linear 1000 1

tdef 1 linear jan1998 1mo

vars 1

g 0 99 grid data prepared for oacres function

endvars

6、把r.grd插值到grid.grd的网格点上,并画图

示范.gs文件如下:

相关文档
最新文档