爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2432|回复: 4

[求助] 请问这两个用fortran写出来的文件有什么区别

[复制链接]

新浪微博达人勋

发表于 2015-4-28 20:13:18 | 显示全部楼层 |阅读模式

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

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

x
如题,这两个文件内部有何不同??多谢。。

13080101.dat

162.77 KB, 下载次数: 0, 下载积分: 金钱 -5

13080101 (2).dat

162.77 KB, 下载次数: 0, 下载积分: 金钱 -5

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

新浪微博达人勋

发表于 2015-4-28 21:30:30 | 显示全部楼层

回帖奖励 +5 金钱

给出程序比较好。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-4-28 21:32:10 | 显示全部楼层
xsxsxshh 发表于 2015-4-28 21:30
给出程序比较好。

program main
   implicit none

   character*8 stid
   real lon,lat,dir,v,tim
   integer nlev,flag,error

   tim=0.0
   nlev=1
   flag=1
   open (101,file='G:\data\grads_station\1308\13080101.txt',status='old',iostat=error)
   
   if(error/=0)then
   write(*,*) 'open file failed.'
   end if

   open (102,file='G:\data\grads_station\1308\13080101.dat',form='binary')
   10 read(101,*,end=100)stid,lon,lat,dir,v              

   write(102)stid,lat,lon,tim,nlev,flag,dir,v
   goto 10
   100 continue
   close(101)
   nlev=0
   write(102)stid,lat,lon,tim,nlev,flag
   close(102)

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

新浪微博达人勋

 楼主| 发表于 2015-4-28 21:35:03 | 显示全部楼层
schLltt 发表于 2015-4-28 21:32
program main
   implicit none

!!!!!!!!!!!!!!130801(2).dat是下面这个批处理程序生成的。130801.dat 是上面那个单时次程序生成的。大小是一样的,但是用grads画图的时候一个可以用一个不能用!!!!!!!!!!!!!!!!!

program main
   implicit none

   integer,parameter:: n=744
   character*8 stid
   character*12 filename,filena
   real lon,lat,dir,v,tim
   integer nlev,flag,error,i
   character*12 a(n)   

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   tim=0.0
   nlev=1
   flag=1

open (100,file='b1308.txt')
  do i=1,n
     read(100,*) a(i)
  end do
close(100)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
do i=1,n
  write(filename,"(a12)")a(i)
  write(filena,"(a8)")a(i)

   open (101,file='G:\data\grads_station\1308\'//filename,status='old',iostat=error)
   
   if(error/=0)then
   write(*,*) 'open file failed.'
   end if

  open (102,file='G:\data\grads_station\1308\'//trim(adjustl(filena))//'.dat',form='binary')

   10 read(101,*,end=100)stid,lon,lat,dir,v      
   !   write(*,*)  stid,lon,lat,dir,v
        !  pause

   write(102)stid,lat,lon,tim,nlev,flag,dir,v
   goto 10
   100 continue
  
   nlev=0
   write(102)stid,lat,lon,tim,nlev,flag
close(101)
   close(102)
  
   end do
  
   end
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-4-28 21:52:04 | 显示全部楼层
本帖最后由 schLltt 于 2015-4-28 21:54 编辑

问题已经解决!!!!!!我把nlev=0去掉,直接把write(102)stid,lat,lon,tim,nlev,flag换成0就可以了。。。。。。因为循环的时候 上边一个nlev也被改成0了。。。。。god。。。。。。。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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