爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3711|回复: 0

[求助] Fortran输出grd文件出错

[复制链接]

新浪微博达人勋

发表于 2018-4-24 16:26:55 | 显示全部楼层 |阅读模式

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

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

x
用高原季风强年平均降水量画降水实况图,站点转格点的过程中,用Fortran4.0写了程序,但是输出的不是grd文件,而是一个exe文件。大家可以帮我看看吗?多谢!
program year_dnz
implicit none
!
character(len=50), parameter ::  path='E:\lunwen\data\'
integer :: num1, i, k, end_num
integer, allocatable, dimension(:) :: stati
real, allocatable, dimension(:) :: lat, lon
real, allocatable, dimension(:) :: qn
character(len=8) :: id
real::tim
integer::nlev,nflag

!!!!! read stationdata !!!!!
open(1, file=trim(path)//'qnpj.txt', status='replace')
  read(1,*)   
  num1 = 0     ! 记录数据行数
  LOOP1 : do   ! 数数据的行数
    read(1,*,iostat=end_num)
    if( end_num == 0  ) then
       num1 = num1 + 1
    else
       exit LOOP1
    end if
  end do LOOP1
  !  为定义的各个变量(可调数组)分配空间
  allocate(stati(num1), lat(num1), lon(num1), qn(num1))
  rewind(1)    ! 回到数据第一行
  read(1,*)
  do k = 1, num1         
    read(1,*) stati(k), lat(k), lon(k), qn(k)
  end do
close(1)

!!!!! write txt data !!!!!

open(11,file=trim(path)//'qnpj.grd',status='replace',form='binary')
                         ! grd后缀,form=binary !
tim = 0.0
nlev = 1
nflag = 1
do i = 1,num1
  write(id,'(i8)') stati(i)  ! 站号由整形转化为字符型,长度为8
  write(11) id,lat(i),lon(i),tim,nlev,nflag,qn(i)
end do
nlev = 0
write(11) id,lat(num1),lon(num1),tim,nlev,nflag  ! nlev=0该时次结束
close(11)


deallocate(stati,lat,lon,qn)
end program year_dn

站点资料

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

本版积分规则

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

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

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