爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2974|回复: 1

[源代码] 计算1957年的通过0摄氏度的活动积温,能不能看看哪里有问题

[复制链接]

新浪微博达人勋

发表于 2017-4-25 10:19:28 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
Program Main   
real Dat(1000,4),Tem(1000)
Integer yue1 , yue2 , ri1 , ri2 , ts , nian
Integer Day,Sum,i,j,k,n,m,n1,n2
Parameter (T=0)
n2 = 0

open(12,file='1.txt')
Open(300,file='D:\FORTRAN\Result.txt')
Write(300,*) '温度大于0℃积温'
Write(300,*) '年份  初月 日 终月 日  持续时间 活动积温'
112 read(12,*,end=113)
n2=n2+1
goto 112
113  rewind(12)
print*,'共',n2,'行'
Read(12,*) ((Dat(i,j),j=1,4),i=1,n2)
nian = Dat(1,1)
   !初日
   Do m=1,365
     if (Dat(m,4)>=T) Exit
   EndDo
   Do k=m,180
    Tem(k)=(Dat(k,4)+Dat(k+1,4)+Dat(k+2,4)+Dat(k+3,4)+Dat(k+4,4))/5
   Enddo
   Do k=180,m,-1
     If (Tem(k)<=T) Exit
   EndDo
   Do m=k,k+4
     If (Dat(m,4)>=T) Then
        yue1 = Dat(m,2)
        ri1  = Dat(m,3)
     Exit
     Else if ( (m==k+4).and.( Dat(m,4)<T ) ) Then
        yue1 = Dat(m+5,2)
        ri1 = Dat(m+5,3)
      Exit
     EndIf
   EndDo
  !终日
   Do k=180,361
    Tem(k)=(Dat(k,4)+Dat(k+1,4)+Dat(k+2,4)+Dat(k+3,4)+Dat(k+4,4))/5
   EndDo
   Do k=180,361
     If (Tem(k)<=T) Exit
   Enddo
   Do n=K,K+4
     If (Dat(n,4)<T) Then
         yue2 = Dat(n-1,2)
         ri2 = Dat(n-1,3)
     Exit
     EndIf
   Enddo
   !持续天数
   ts = n-m
   !积温
   Sum=0
   Do k=m,n
         If(Dat(k,4)>=T) Then
           Sum=Sum+Dat(k,4)
    EndIf
   Enddo
Write(300,*) nian , yue1 , ri1, yue2 , ri2 , ts , Sum
Close(12)
Close(300)
End
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-22 09:45:47 | 显示全部楼层
请问楼主解决了吗?本人最近在计算活动积温
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表