- 积分
- 4629
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-8-2
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
program swctotal
implicit none
character*8 stid(5)
real lat(5),lon(5),alt,tim
integer,parameter::yrn=49,n=5
integer startyr,startmo,startdy,dyn(12,yrn)
integer i,j,yr,nlev,flag,mo,dy
integer ap,t,t1,t2,h,r,w,s
integer stn
real rain2(17898,5),rain
!137站
character*8::name(n)=(/'59058','59046','59037','59023','59021'/)
tim=0.0
nlev=1
flag=1
do j=1,5
i=1
open(1,file='h:/753rain/753/'//trim(name(j))//'.txt',status='old')
open(2,file='h:/753rain/total.txt')
10 read(1,*,end=100)stid,lat,lon,alt,startyr,startmo,startdy,ap,t,t1,t2,h,r,w,s
do while(startyr>1959)
rain=r
goto 20
enddo
20 if(abs(rain-32700)<0.0001)then
rain=-9990
elseif(abs(rain-32766)<0.0001)then
rain=-9990
elseif(abs(rain-32744)<0.0001)then
rain=-9990
elseif(int(rain/1000.0)==30)then
rain=rain-30000
elseif(int(rain/1000.0)==31)then
rain=rain-31000
elseif(int(rain/1000.0)==32)then
rain=rain-32000
endif
rain2(i,j)=rain
i=i+1
goto 10
100 continue
close(1)
do 40 i=1,17898
rain2(i,j)=rain2(i,j)/10
write(2,*)stid(j),lat(j),lon(j),tim,nlev,flag,rain2(i,j)
print*,stid(j),lat(j),lon(j),tim,nlev,flag,rain2(i,j)
40 continue
nlev=0
write(2,*)stid,lat,lon,tim,nlev,flag
enddo
close(2)
end
程序是这样的。fortran没有报错,能运行。但是提取出的数据有问题。。贴上图。
10 read(1,*,end=100)stid,lat,lon,alt,startyr,startmo,startdy,ap,t,t1,t2,h,r,w,s
do while(startyr>1959)
rain=r
goto 20
enddo
应该是这边的错了,但是不知道该怎么改。我想提取出这几个站的1959年以后的数据。如果没有这部分,试提取一个站的所有年份的是可以的。
|
-
站点号 什么的都错了应该
-
经纬度错了。。。。
|