24小时热门版块排行榜    

查看: 602  |  回复: 2

赌ml

铜虫 (初入文坛)

[求助] 求助 ivf 读文件错误

刚接触fortran,急需实现一个模型正演,但是程序无法完成调试,一到read函数就触发断点,程序部分如下,不知道是否是read函数写错了,麻烦大家看看。
      OPEN(10, file='aku2d.in',Form = 'formatted', ERR=801)
      READ(10,*,ERR=801) ! Inputfile for 'AKU2D.X' by Joachim Falk, July 1996
      READ(10,*,ERR=801) ! Do NOT change the order of the values and lines !
      READ(10,*,ERR=801)
      READ(10,*,ERR=801) nx, nz, dx, dz
      READ(10,*,ERR=801)
      IF ((nx.gt.nxmax) .OR. (nz.gt.nzmax)) GOTO 821
      READ(10,*,ERR=801) dt , tmax, timeint
      IF ( (timeint.ne.2) .AND. (timeint.ne.4) ) GOTO 823
      READ(10,*,ERR=801)
      READ(10,*,ERR=801) r_spx ,r_spz
      READ(10,*,ERR=801)
      READ(10,*,ERR=801) f_cent, wtype
      READ(10,*,ERR=801)
      READ(10,*,ERR=801) ws
      READ(10,*,ERR=801)
      READ(10,*,ERR=801) rsnap ,rdsnap
      READ(10,*,ERR=801)
      READ(10,*,ERR=801) freesurf
      READ(10,*,ERR=801)
      READ(10,*,ERR=801) rec_file
      CLOSE(10)

读入文件内容如下  为文本文件
C TEST Inputfile for "AKU2D" by Joachim Falk, 12. Sep. 1996
C !ATTENTION!  Do NOT change the order of the values and lines !
C- nx {INT} -- nz {INT} -- dx [m] -- dz [m] ---- ! grid parameters
    1000       300          5.0       5.0
C- dt [s] -- tmax [s] -- timeint {INT} --------- ! time parameters
   0.0005      1.8          4
C- spx [m] - spz [m] --------------------------- ! source coordinates
    2500       0
C- f_cent [Hz} -- wtype {INT} ------------------ ! wavelet
   40             3
C- write each sample {INT} --------------------- ! sample-int seismograms
   4
C- snap [s] ----- dsnap [s]--------------------- ! snapshots
   460.0            1.0
C- free surface {INT} -------------------------- ! top grid edge
   0
C- inputfile ------------------------ ! receiver locations
   tracepos.in
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
read 中的 * 号不是随便用的,它默认的类型是 real....

所以,
READ(10,*,ERR=801) ! Inputfile for 'AKU2D.X' by Joachim Falk, July 1996
应该改为
read(10,'(A)',ERR=801)!....
其它读注释的行都应该是这个样子的
读文本的行,比如最后一行,也应该是这个样子的……
2楼2012-09-12 21:39:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

赌ml

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by snoopyzhao at 2012-09-12 21:39:28
read 中的 * 号不是随便用的,它默认的类型是 real....

所以,
READ(10,*,ERR=801) ! Inputfile for 'AKU2D.X' by Joachim Falk, July 1996
应该改为
read(10,'(A)',ERR=801)!....
其它读注释的行都应该是这 ...

谢谢解答
3楼2012-09-13 13:44:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 赌ml 的主题更新
信息提示
请填处理意见