爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6600|回复: 6

[求助] 我是初学者,这段程序有啥问题,请各位坛友指点一下

[复制链接]

新浪微博达人勋

发表于 2011-10-7 21:37:07 | 显示全部楼层 |阅读模式

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

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

x
parameter(ii=37,jj=17,zz=12,nt=48)
      real var(ii,jj,nt)
    real:: ave(ii,jj,12)=0

   real ::have(ii,jj,nt)=0
   real ::sav(ii,jj,nt) =0
   

   open(5,file='d:\h500.dat')
       DO 200  it=1,48
       read(5,1000)
       read(5,3000) ((var(i,j,it),i=1,ii),j=1,jj)
200  continue
    open(6,file='d:\trans.grd',form='unformatted',access='direct',recl=ii*jj*4)
    irec=0
    do it=1,nt
     irec=irec+1
  write(6,rec=irec) ((var(i,j,it),i=1,ii),j=1,jj)
    enddo
1000   format(2i7)
2000   FORMAT(37F6.2)
3000   format(37f8.1)
4000   format(37f7.2)
  !求平均
     do im=1,12
    do it=im,48,12
      do j=1,jj
     do i=1,ii
     ave(i,j,it)=ave(i,j,it)+var(i,j,it)/4
     enddo
      enddo
  enddo
  enddo
    open(6,file='d:\ave.grd',form='unformatted',access='direct',recl=ii*jj*4)
  irec=0
do im=1,12
  irec=irec+1
        write(6,rec=irec) ((pj(i,j,i),i=1,ii),j=1,jj)
  enddo

   !求距平,方差
  do it=1,12
    do j=1,jj
     do i=1,ii
   have(i,j,it)= have(i,j,it)+var(i,j,it)-ave(i,j,it)
   sav(i,j,it)=sav(i,j,it)+(have(i,j,it)**2)/4
     enddo
    enddo
  enddo
    open(7,file='d:\have.grd',form='unformatted',access='direct',recl=ii*jj*4)
    open(8,file='d:\sav.grd',form='unformatted',access='direct',recl=ii*jj*4)
  irec=0
  do it=1,nt
  irec=irec+1
  write(7,rec=irec) ((ave(i,j,i),i=1,ii),j=1,jj)  
  enddo
       irec=0
  do it=1,nt
  irec=irec+1
        write(8,rec=irec) ((sav(i,j,i),i=1,ii),j=1,jj)  
  enddo

      end
下面是错误提示,调试无错,执行时有错Text1.obj : error LNK2005: _main already defined in Text3.obj
Text1.obj : error LNK2001: unresolved external symbol _PJ@12
Text1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Text1.exe - 3 error(s), 0 warning(s)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-10-7 23:34:34 | 显示全部楼层
重新整理一下  设置几个全局变量  这样看着清晰些
尽量还是用字函数调用吧 这个挺方便的  我经常用的  
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-10-7 23:39:54 | 显示全部楼层
前面是生成目标文件错误 后面是编译有误
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2011-10-8 08:25:06 | 显示全部楼层
guobch说的很对,生成文件不知道是不是因为你open了两个6
号文件,但是你一次都没有关闭close(6)````另外你的程序写的······不太容易看出来···
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-10-8 14:25:07 | 显示全部楼层
把你的fortran的project全部关闭后重新建立新的再试,错误只有逐步调试,关一段程序只能看语法问题,调试通过说明语法没问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-10-9 13:29:40 | 显示全部楼层
parameter(ii=37,jj=17)
      real var(ii,jj,12,4),qh(ii,jj,12)

      open(5,file='h500.dat')
      
       DO 200 iy=1,4
       do 100 m=1,12

       read(5,1000)
       read(5,3000) ((var(i,j,m,iy),I=1,ii),j=1,jj)

100    continue
200    continue
1000   format(2i7)
2000   FORMAT(37F6.2)
3000   format(37f8.1)
4000   format(37f7.2)

!!求气候场
        do m=1,12
            do j=1,jj
              do i=1,ii
               qh(i,j,m)=0.0
      
              do iy=1,4

            qh(i,j,m)=qh(i,j,m)+var(i,j,m,iy)/4.0
                enddo
        enddo
        enddo
        enddo

       open(1,file='qh.dat')
       open(2,file='qh.grd',form='binary')
      do m=1,12

        write(1,3000)((qh(i,j,m),i=1,ii),j=1,jj)
      write(2)((qh(i,j,m),i=1,ii),j=1,jj)
       enddo
       end
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-27 20:03:25 | 显示全部楼层
六年了
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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