寄信人: fig (【晋】『康杰中学』)
标 题: 没主题
发信站: 南京大学小百合站 (Sun May 23 19:18:25 2010)
来 源: 172.16.74.204
Fortran:
program main
implicit none
c This is a program for testing climate jumpi by use of
c 'Mann-Kendall test'.
c-------------------------------------------------
integer,parameter :: iy=100
integer i
real x(iy),u1(iy),u2(iy)
c-------Read Data
c-------
open(31,file='d:mk.txt',form='formatted')
do i=1,50
x(i)=0.5
x(i+50)=-0.5
enddo
c-------Mann-Kendall test method
call MKtest(iy,x,u1,u2)
c------
do i=1,iy
write(31,10)i,x(i),u1(i),u2(i)
end do
10 format(1x,i4,4f8.2)
stop
end
!c------------------------------------------------------------------
subroutine MKtest(m,x,u1,u2)
dimension x(m),u1(m),u2(m)
dimension xr(m),ur(m) !work array
do i=1,m
xr(i)=x(m+1-i)
end do
call MKrank(m,x,u1)
call MKrank(m,xr,ur)
do i=1,m
u2(i)=-ur(m+1-i)
enddo
return
end
!c------------------------------------------------------------------
!c-------Mann-Kendall Rank Statistic
subroutine MKrank(m,x,u)
dimension x(m),u(m)
u(1)=0.0
d=0.0
do i=2,m
num=0
do j=1,i
if(x(i).gt.x(j))then
num=num+1
endif
enddo