【轉】grads中畫站點圖


(2009-05-15 14:28:08)
標簽:

雜談

 

 

1.把不規則的數據按照其經緯讀寫成stream型data(其fortran程序如下)

parameter(n=160)
character*8 stid(n),sti(n)
real rlat(n),rlon(n),rval(n)

!************************************************read rlat rlon
open(9,file='D:\staistics\eof\rain1.txt')
do i=1,n
    read(9,*) stid(i),rlat(i),rlon(i)
enddo
close(9)
!write(*,*) rlon
!*****************************************************read rval
open(10,file='D:\matlab7\sha\ryu2.txt')
do i=1,n
     read(10,*) rval(i)
enddo
close(10)
!write(*,*) rval
!***************************************************write rain.dat
open(11,file='D:\matlab7\sha\ryu2.dat',form='unformatted',recordtype='stream')
!form='unformatted', so write should be writed as write(fid)
tim=0.0
nlev=1
nflag=1
do i=1,n
    write(sti(i),'(i8)') i
    write(11) sti(i),rlat(i),rlon(i),tim,nlev,nflag,rval(i)
write(*,*) sti(i)
enddo
nlev=0
write(11) sti(n),rlat(n),rlon(n),tim,nlev,nflag
close(11)    !無格式的寫入write()只需要一個參數
end

2.根據1生成的ryu2.dat寫站點數據的描述文件ryu2.ctl

dset D:\parter\ryu2.dat
dtype station
stnmap D:\parter\ryu2.map
undef -999.0
title eof
tdef 1 linear jan1995 1mo
vars
r 0 99 rainfall data
endvars

3.生成ryu2.map

在grads中運行ga>!stnmap -i ryu2.ctl     ga>!stnmap可以得到相關的命令

或者dos命令中運行win32>stnmap -i ryu2.ctl 都可以生成ryu2.map

通過在grads中運行 ryu2.ctl 看是否有站點數據在圖中顯示來判斷ryu2.map或ryu2.dat的正確性

4.插值

需要一個格點文件dat和相應的描述文件,其描述文件h.txt的分辨率應設與需要的站點圖相當

'reinit'
'enable print D:\wave\eof\outdata\u1.gmf'
'open D:\wave\eof\outdata\u1.ctl'
'open D:\wave\eof\outdata\grib.txt'
'set lon 95 135'
'set lat 18 48'
'd oacres(hgt.2,r,20,10,7,5,3,2,1)' 其中數字為插值半徑
'print'
'disable print'

 

                


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM