请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11404|回复: 3

fortran编程地转风涡度出现问题

[复制链接]

新浪微博达人勋

发表于 2017-11-29 14:28:57 | 显示全部楼层 |阅读模式
2金钱
下面是我写的代码,一直出现问题,主要是在公式那里,而且一直提示warning,说sin cos tan的变量形式和worg不一样 ,第一次学习编程,想了很久,之前用的real,上课问过老师,老师让用动态数组试一下,可以还是不行,请大家帮帮忙,谢谢大家

错误类型

错误类型

REAL,PARAMETER:: Omega=7.292e-5,R=6371e+3,PI=3.1415926,Delta=1.00
      INTEGER,PARAMETER :: nx=53,ny=29,nz=3,nt=22
      integer i,j,k,l,ii
       REAl lat(ny),lon(nx) ,F
      CHARACTER timefile(22)*12 ,levelfile(3)*4
      real,allocatable :: h(:,:,:,:),worg(:,:,:,:)
      allocate (h(NX,NY,NZ,NT),worg(NX,NY,NZ,NT))
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
data  timefile/'13052108.000','13052120.000','13052208.000','13052220.000','13052308.000','13052320.000','13052408.000','13052420.000','13052508.000','13052520.000','13052608.000','13052620.000','13052708.000','13052720.000','13052808.000','13052820.000','13052908.000','13052920.000','13053008.000','13053020.000','13053108.000','13053120.000'/
DATA levelfile/'0850','0500','0300'/


      do i=1,nx
      lon(i)=30.0+(i-1)*Delta*2.5
      lon(i)=lon(i)*pi/180.
      enddo
      do i=1,ny
      lat(i)=10.0+(i-1)*Delta*2.5
      lat(i)=lat(i)*pi/180.
      enddo  
!--------------read height----------------

      DO k=1,NZ        ! level
      DO l=1,NT        ! time
     open(1,file='d:\micaps/height/'//trim(levelfile(k))//'/'//timefile(l))
     do ii=1,4
     read(1,*)
     enddo
      do  j=ny,1,-1
        read(1,*)(h(i,j,k,l),i=1,NX)              
        enddo
      CLOSE(1)
      ENDDO
      ENDDO
      h=h*10.   
    end
    !!!!wodu!!!!!!!!!!!!!!!!!!!!!!!!!1
    worg=2.e+36

DO l=1,NT
DO k=1,NZ
   do i=1+1,NX-1
   do j=1+1,NY-1
   F=Omega*2*sin(lat(j))
   worg(i,j,k,l)=9.8/(F*R**2)*( (h(i+1,j,k,l)+h(i-1,j,k,l)-2*h(i,j,k,l))/(Delta*pi/180*cos(lat(j)))**2+(h(i,j+1,k,l)+h(i,j-1,k,l)-2*h(i,j,k,l))/(Delta*pi/180)**2-(h(i,j+1,k,l)-h(i,j-1,k,l))/(Delta*pi/180*2)*tan(lat(j))  )
                       
   enddo
   enddo
ENDDO
    ENDDO
    END

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

新浪微博达人勋

 楼主| 发表于 2017-11-29 16:01:53 | 显示全部楼层
问题解决了,我应该先把十进制文件转化成二进制文件在进行计算
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-12-11 14:56:38 | 显示全部楼层
222222222222222222222222222
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-12-14 17:09:27 | 显示全部楼层
问题亮出了往往就自己解决了,666
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

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

本版积分规则

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

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

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