Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran运行时错误:浮点读取期间的值错误_Fortran - Fatal编程技术网

Fortran运行时错误:浮点读取期间的值错误

Fortran运行时错误:浮点读取期间的值错误,fortran,Fortran,我试图读取一个标签分隔的文本文件,在Ubuntu-13中使用“gfortran”。我得到以下错误 “Fortran运行时错误:浮点读取期间的值不正确” 程序如下所示 CHARACTER*8 STID OPEN (8,FILE='station.txt', STATUS='OLD',FORM='FORMATTED') OPEN (10,FILE='stn.dat',FORM='UNFORMATTED') IFLAG = 0 C Read and

我试图读取一个标签分隔的文本文件,在Ubuntu-13中使用“gfortran”。我得到以下错误 “Fortran运行时错误:浮点读取期间的值不正确”

程序如下所示

    CHARACTER*8 STID
       OPEN (8,FILE='station.txt', STATUS='OLD',FORM='FORMATTED')
       OPEN (10,FILE='stn.dat',FORM='UNFORMATTED')
       IFLAG = 0
C  Read and Write
10     READ (8,9000,END=90) IYEAR,IMONTH,STID,RLAT,RLON,RVAL
9000   FORMAT (I4,T1,I2,T1,A8,3F5.1)
       IF (IFLAG.EQ.0) THEN
          IFLAG = 1
          IYROLD = IYEAR
          IMNOLD = IMONTH
       ENDIF
C  If new time group, write time group terminator.
C  Assuming no empty time groups.
       IF (IYROLD.NE.IYEAR.OR.IMNOLD.NE.IMONTH) THEN
          NLEV = 0
          WRITE (10) STID,RLAT,RLON,TIM,NLEV,NFLAG
          ENDIF
          IYROLD = IYEAR
          IMNOLD = IMONTH
C  Write this report
       TIM = 0.0
       NLEV = 1
       NFLAG = 1
       WRITE (10) STID,RLAT,RLON,TIM,NLEV,NFLAG
       WRITE (10) RVAL
       GO TO 10
C  On end of file write last time group terminator.
90     CONTINUE
       NLEV = 0
       WRITE (10) STID,RLAT,RLON,TIM,NLEV,NFLAG
       PRINT *, STID,RLAT,RLON,TIM,NLEV,NFLAG
       STOP
       END
输入文本文件如下所示

1985    11      AAAA    18.2    42.7    9.2
1985    11      BBBB    25.3    49.5    0.0
1985    11      cccc    21.5    41.6    22.6
1985    11      ddddd   29.8    40.1    3.6
....    ..      .....   ....    ....    ...

欢迎,所有Fortran问题请使用tag。请务必接受欢迎并阅读。您的程序尚未完成。我们缺少许多变量声明。还是他们真的失踪了?您是否使用
隐式无
?你真的,真的,真的应该。学习现代Fortran,你的风格来自不同的世纪,现在不应该这样编程。如果你的ifs也缺少一个
结束if
。请阅读并提供一个真实的代码。对于一个简单的结构良好的数据文件(如图所示),使用列表定向读取几乎总是比摆弄精确的格式更容易。非常感谢大家!我已经通过使用您的建议解决了这个问题,即声明变量、使用现代fortran syntex和使用列表定向阅读。欢迎使用,请对所有fortran问题使用tag。请务必接受欢迎并阅读。您的程序尚未完成。我们缺少许多变量声明。还是他们真的失踪了?您是否使用
隐式无
?你真的,真的,真的应该。学习现代Fortran,你的风格来自不同的世纪,现在不应该这样编程。如果你的ifs也缺少一个
结束if
。请阅读并提供一个真实的代码。对于一个简单的结构良好的数据文件(如图所示),使用列表定向读取几乎总是比摆弄精确的格式更容易。非常感谢大家!通过使用您的建议,即声明变量、使用现代fortran syntex和使用列表定向读取,我已经解决了这个问题。