- 积分
- 8693
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-4-22
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2012-11-25 20:05:25
|
显示全部楼层
做个霸气的木头 发表于 2012-11-25 19:29
站点数据处理很多环节,你的肯定是数据处理那块出问题了,因为单画站点图,只有一个站,还是-0,看看这个帖 ...
你好,站点数据处理的程序我自己检查过了,看不出来错误啊。fortran检查不出错,运行也没有问题
IMPLICIT NONE
INTEGER NX,NT,it
PARAMETER(NX=160,NT=58)
real lat(nx),lon(nx)
real aa(61),eu(nt),t(nx,nt),s(nx),ave(nx,nt),rr(nx),ry(nx)
real ave_t(nx)
real ave_eu,rx
REAL A,B,X,Y,tim
INTEGER I,J,K,nlev,nflag
character*8 stid(nx)
open(10,file='e:/t1601.txt',STATUS='OLD')
read(10, *) ((t(i,it), i=1, nx), it=1,nt)
do i=1,nx
do it=1,nt
ave_t(i)=ave_t(i)+t(i,it)
enddo
ave_t(i)=ave_t(i)/nt
enddo
open(14,file='e:/eu.grd',form='binary',status='old')
do it=1,61
read(14)aa(it)
enddo
write(*,*)'read data ok'
do it=1,nt-3
eu(it)=aa(it+3)
enddo
do it=1,nt
ave_eu=ave_eu+eu(it)
enddo
ave_eu=ave_eu/nt
do i=1,nx
do it=1,nt
s(i)=s(i)+(eu(it)-ave_eu)*(t(i,it)-ave_t(i))
enddo;enddo
do it=1,nt
rx=rx+((eu(it)-ave_eu)*(eu(it)-ave_eu))
enddo
do i=1,nx
do it=1,nt
ry(i)=ry(i)+((t(i,it)-ave_t(i))*(t(i,it)-ave_t(i)))
enddo;enddo
! 相关系数
do i=1,nx
rr(i)=s(i)/(sqrt(rx)*sqrt(ry(i)))
write(30)rr(i)
write(*,*)rr(i)
enddo
write(*,*)'write cor to file ok'
open(1, file='e:/Lonlat.TXT',STATUS='OLD')
do k = 1, nx
read(1,*) stid(k), lat(k), lon(k)
write(*,*) stid(k), lat(k), lon(k)
enddo
open(21,file='e:/rcoreu2.grd',form='binary')
open(22,file='e:/rcoreu2.txt')
tim = 0.0
nlev = 1
nflag = 1
do i= 1,nx
write(21) stid(i), lat(i), lon(i), tim, nlev, nflag, rr(i)
write(*,*) stid(i), lat(i), lon(i), tim, nlev, nflag, rr(i)
nlev = 0
write(21) stid(i-1), lat(i-1), lon(i-1), tim, nlev, nflag
enddo
end
|
|