爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3125|回复: 4

[求助] 提取数据后按年存放出现问题,不知道问题在哪

[复制链接]

新浪微博达人勋

发表于 2016-4-22 20:14:45 | 显示全部楼层 |阅读模式

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

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

x
  1. program tiqu
  2. integer,parameter::m=52,day=22647,yr=62,dd=92*62,yrd=92  
  3. character*5 id(m)
  4. character*4 yrc
  5. integer year(m,day),mon(m,day),dy(m,day),temp,tmax,tmin,rain(m,day)
  6. integer year1(m,dd),mon1(m,dd),dy1(m,dd),rain1(m,dd)
  7. real rainyr(1951:2012)
  8. integer a(1951:2012)
  9. integer i,yrn

  10. !!!!!!读入站点名!!!!!!
  11. open(10,file='f:\fortran\shuju\52sta.txt')
  12. read(10,*) (id(i),i=1,m)
  13. do i=1,m
  14.    j=1
  15.   !print *,id(i)
  16. !!!!!!读入51-13年数据!!!!!!
  17.     open(33,file='f:\fortran\shuju\51-13\'//id(i)//'.txt')
  18. 100 read(33,*)        id(i),year(i,j),mon(i,j),dy(i,j),temp,tmax,tmin,rain(i,j)
  19.    !  print *, id(i),year(i,j),mon(i,j),dy(i,j),rain(i,j)
  20.             j=j+1
  21.         if(.not.eof(33))        goto 100
  22.         write(33,*)
  23.         close(33)
  24. enddo
  25. !!!!!!提取3-5月降水!!!!!!
  26. do i=1,m
  27.    open(44,file='f:\fortran\shuju\51-13\'//id(i)//'.txt')
  28.    !open(55,file='f:\fortran\shuju\chunji\'//id(i)//'.txt')
  29.    do j=1,day
  30.           if(mon(i,j).ge.6.and.mon(i,j).le.8) then
  31.                  if(rain(i,j)>=30000) then
  32.                         rain(i,j)=0.0
  33.                  end if
  34.                  if(rain(i,j)==-32744.or.rain(i,j)==32744.or.rain(i,j)==32766.or.rain(i,j)==-32766) then
  35.                            rain(i,j)=0.0
  36.                  end if   
  37.                  ! print *, id(i),year(i,j),mon(i,j),dy(i,j),rain(i,j)
  38.                 write(44,*) id(i),year(i,j),mon(i,j),dy(i,j),rain(i,j)  !按台站存放!
  39.           endif
  40.         enddo
  41.         close(44)
  42.         !close(55)
  43. enddo
  44. !print *,'ok'
  45. !!!!!!按年存放!!!!!!
  46. do i=1,m
  47.         open(100,file='f:\fortran\shuju\51-13\'//id(i)//'.txt')
  48.         do j=1,day
  49.            read(100,*) id(i),year1(i,j),mon1(i,j),dy1(i,j),rain1(i,j)
  50.            ! print *,id(i),year1(i,j),mon1(i,j),dy1(i,j),rain1(i,j)
  51.         enddo
  52. print *,id(i),year1(i,j),mon1(i,j),dy1(i,j),rain1(i,j)
  53. enddo
  54. print *,'ok'
  55. j=1
  56. do yrn=1951,2012
  57.         rainyr(yrn)=0.0
  58.         write(yrc,'(i4)') yrn
  59.         open(200,file='f:\fortran\shuju\yearly\'//yrc//'.txt')
  60.         jj=j
  61.         do i=1,m
  62.            j=jj
  63. 400           if(year1(i,j)==yrn)        then
  64.           !print *,id(i),year1(i,j),mon1(i,j),dy1(i,j),rain1(i,j)
  65.                   write(200,*) id(i),year1(i,j),mon1(i,j),dy1(i,j),rain1(i,j)
  66.                   rainyr(yrn)=rainyr(yrn)+rain1(i,j)
  67.                   j=j+1
  68.                   if(j<=day)  goto 400
  69.            endif
  70.         enddo
  71. enddo
  72. open(200,file='f:\fortran\shuju\yr_ave.txt')
  73. write(200,*) (rainyr(i),i=1951,2012)

  74. end

复制代码

运行出来如下图
求大神告知问题出在那里了!!!!

1.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-22 20:42:07 | 显示全部楼层
都感觉有点儿同情lz了。。。

貌似几天下来还是再搞一个东西
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-22 20:47:45 | 显示全部楼层
lz跪了,是在17~26行之间么?
lz一点儿一点儿调诶,用debug模式,不要一下就跑了
既然编译连接什么的没出错,那不就可以一句一句慢慢走了嘛,看看变量怎么变的
为了方便,可以把没用的、暂时没用的先全都注释掉
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-22 20:56:11 | 显示全部楼层
weinihou 发表于 2016-4-22 20:42
都感觉有点儿同情lz了。。。

貌似几天下来还是再搞一个东西

{:sad:}{:sad:}{:sad:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-22 20:56:21 | 显示全部楼层
weinihou 发表于 2016-4-22 20:42
都感觉有点儿同情lz了。。。

貌似几天下来还是再搞一个东西

{:sad:}{:sad:}{:sad:}
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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