- 积分
- 383
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2013-8-1
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
st为站点数,dd 为需评分次数
program main
integer st,dd
parameter(st=108,dd=31)
integer N0(dd),N1(dd),N2(dd),M(dd)
character*8 stid(st)
real ps(dd),str(st),str19(st,dd)
! ---------------读 实况值 str(i)
open(20,file='i:\gradszd\sx6\ps06.txt')
do i=1,st
read(20,*)stid(i),str(i)
enddo
close(20)
! ---------------读2019预报值 str19(i,j)
open(20,file='i:\gradszd\sx6\ps201906.txt')
do i=1,108
read(20,*)(str19(i,j),j=1,dd)
enddo
close(20)
! ---------------输出2019预报值 str19(i,j) 查看是否正确读入
open(20,file='i:\gradszd\sx6\ps20190666.txt')
do i=1,108
write(20,10)(str19(i,j),j=1,dd)
enddo
close(20)
10 format(31f8.1)
!-------------------统计n0,n1,n2,m------------------------------
do j=1,dd
n0(j)=0
n1(j)=0
n2(j)=0
m(j)=0
ps(i)=0.0
enddo
do j=1,dd
do i=1,st
if(str(i)>=0.and.str19(i,j)>=0.or.str(i)<0.and.str19(i,j)<0)then
n0(j)=n0(j)+1
endif
if((str(i)>=20.and.str19(i,j)>=20).and.
& (str(i)<50.and.str19(i,j)<50).or.
& (str(i)<=-20.and.str19(i,j)<=-20).and.
& (str(i)>-50.and.str19(i,j)>-50))then
n1(j)=n1(j)+1
endif
if((str(i)>=50.and.str19(i,j)>=50).or.
& (str(i)<=-50.and.str19(i,j)<=-50))then
n2(j)=n2(j)+1
endif
if((str(i)>=100.and.str19(i,j)<50).or.
& (str(i)<=-100.and.str19(i,j)>-50))then
m(j)=m(j)+1
endif
enddo
enddo
!-----------------------输出n0,n1,n2,m,符号一致率-----------------------------------
open(20,file='i:\gradszd\sx6\ps201906nnnn.txt')
do j=1,dd
write(20,*)n0(j),n1(j),n2(j),m(j),real(n0(j))/real(st)*100
enddo
close(20)
!---------------------------------------------------------------------------------
do j=1,dd
ps(j)=real(2*n0(j)+2*n1(j)+4*n2(j))/
& real(st+n0(j)+2*n1(j)+4*n2(j)+m(j))*100
enddo
open(50,file='i:\gradszd\sx6\ps108.txt')
do j=1,dd
write(50,*)ps(j)
enddo
close(50)
end
|
|