- 积分
- 677
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2013-5-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
现在在计算距平值,但是在我的变量里面有32766缺测值,想32766不参与计算,其他变量做距平计算,但是想保留32766在txt中的值不变。现在自己编了程序,但是32766并没有保留到原数据中不变,想请教高手怎么处理比较好。附上我的程序和txt格式
!功能:求出156个站点的20时降水的距平值,
program main
implicit none
integer,parameter::n=3140124,state_num=156
integer state(n),year(n),statename(state_num),mon(n),day(n)
real var(n),ave(state_num),juping(n)
integer i,k,h
open(30,file="F:\work\scrain\R95p\3\out2.txt")
do i=1,n
read(30,*)state(i),year(i),mon(i),day(i),var(i)
!print*,var(i)
end do
close(30)
!print*,'1'
open(40,file="F:\work\scrain\R95p\3\statename.txt")
do h=1,state_num
read(40,*)statename(h)
!print*,state_name(i)
end do
close(40)
open(50,file="ave.txt")
do h=1,state_num
read(50,*)ave(h)
!print*,ave(i)
end do
close(50)
!*****************************************
open(70,file="F:\work\scrain\R95p\3\juping2.txt")
do h=1,state_num
do i=1,n
if(statename(h)==state(i))then
if(var(i)/=32766)then
juping(i)=var(i)-ave(h)
write(70,*)state(i),year(i),mon(i),day(i),juping(i)
else if(var(i)==32766)then
write(70,*)state(i),year(i),mon(i),day(i),var(i)
end if
end if
end do
enddo
close(70)
end
|
|