Fortran Coder

查看: 2069|回复: 14

[编译器] simply fortran 读入文件问题

[复制链接]

17

帖子

4

主题

0

精华

入门

F 币
70 元
贡献
38 点
发表于 2018-4-26 11:05:18 | 显示全部楼层 |阅读模式
本人刚从powerstation转入SF,读文件的时候遇到了问题,同样代码在SF中不好使了,看了之前的一篇帖子http://bbs.fcode.cn/thread-1310-1-1.html 还是不知如何解决,请高手帮忙看看。

代码

代码

编译

编译

运行

运行

回复

使用道具 举报

1327

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂伙计

F 币
238 元
贡献
271 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2018-4-26 11:07:11 | 显示全部楼层
read(6,*) TS,XAA11,XAA12,XAA13,XAA22
是否应该为
read(6,*) TS(i),XAA11(i),XAA12(i),XAA13(i),XAA22(i)

17

帖子

4

主题

0

精华

入门

F 币
70 元
贡献
38 点
 楼主| 发表于 2018-4-26 11:12:05 | 显示全部楼层
fcode 发表于 2018-4-26 11:07
read(6,*) TS,XAA11,XAA12,XAA13,XAA22
是否应该为
read(6,*) TS(i),XAA11(i),XAA12(i),XAA13(i),XAA22(i) ...

感谢大大这么快回复,本来在power里是应该这样写的,SF里继续这样写的话,编译会出错。
==============================================================================
Generating Makefile... Okay
==============================================================================
Compiling .\HELLO.F90
.\HELLO.F90:34.21:

         READ(6,*) TS(i),XAA11(i),XAA12(i),XAA13(i),XAA22(i)         
                     1
Error: Syntax error in READ statement at (1)
Error(E42): Last command making (build\HELLO.o) returned a bad status
Error(E02): Make execution terminated

* Failed *

1327

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂伙计

F 币
238 元
贡献
271 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2018-4-26 11:14:17 | 显示全部楼层
所有代码,复制粘贴,不截图

17

帖子

4

主题

0

精华

入门

F 币
70 元
贡献
38 点
 楼主| 发表于 2018-4-26 11:15:56 | 显示全部楼层
fcode 发表于 2018-4-26 11:14
所有代码,复制粘贴,不截图

OK
[Fortran] 纯文本查看 复制代码
PROGRAM MAIN

INTEGER I,J,K,FLAG
REAL*8 T,N,TH,TE,SITA,KB,P,R0,NA,CMA,CME,CJE,E1,E2,H,PAI,CK,CEE,X(4),KP1,KP2,AS,EXLEFT(4,4),B(4),DX(4),CUP1,CUP2,ZF(4),TOTAL,DENS,EE(4),HAN,\
       CPT,CUP3,CET,CEC,CED,CHV,CHT,DEBYE,B0,B1,ST,ST2,SQT,SQTH,Z0,Z1,ALB0,ALB1,CS,CON1,COL,COL1,COLL11(4,4),COLL12(4,4),COLL13(4,4),\
           COLL22(4,4),COLL14(4,4),COLL15(4,4),TS(298),XAA11(298),XAA12(298),XAA13(298),XAA22(298),XAA_111(298),XAA_112(298),XAA_113(298),\
           XAA_122(298),TS1(48),XEA11(48),XEA12(48),XEA22(48),XEA13(48),XIP,YIP11,YIP12,YIP13,XEE22,XEE23,XEE24,C00,C01,C02,C11,C12,C22,C10,\
           C20,C21,DETE,CC,ECDC,M(4),AHK(3,3),AHK1(4,4),DAHK,DAHK1,HVIC,BHK00(3,3),BHK01(3,3),BHK10(3,3),BHK11(3,3),BHK(6,6),BHK1(7,7),DBHK,\
           DBHK1,TDETH,DETHP,HTHC,THCE,RATA,RATG,BIDC(4,4),F(4,4),FT(4,4),DF,DFC(3,3),DDFC(4,4),ORDC(4,4),Z(4),TEMP(4),ALPHA(4),BATA,APDC(4,4),\
           FF(4,4),FF1(4,4),B33(4),B44(4),Y1(4),Y2(4),DDH1,DDH2,FAH1,FAH2,FAH3,FAE1,FAE2,FAE3,THCRH,THCRE,THCR,TTHC,P0,td        

        kb=1.38e-23
    Na=6.02e23
        CMA=6.628e-26  
        CME=9.1085e-31
        CJE=1.602e-19
        E1=15.76
        E2=27.62
        H=6.6e-34
        PAI=3.1415926
        CK=1.38e-23
        CEE=8.854D-12
        
  OPEN(1,FILE='MOLE FRACTION.DAT')           
  OPEN(2,FILE='COMP.DAT')          
  OPEN(3,FILE='DENS.DAT')
  OPEN(4,FILE='HAN.DAT')
  OPEN(5,FILE='CPT.DAT')
    

 OPEN(6,FILE='DATA/HFD Ar-Ar.DAT')
       
           DO I=1,298
         READ(6,*) TS(i),XAA11(i),XAA12(i),XAA13(i),XAA22(i)         
       ENDDO
 close(6)      

   17  FORMAT(1024E15.7)

WRITE(*,*)pai

END PROGRAM

17

帖子

4

主题

0

精华

入门

F 币
70 元
贡献
38 点
 楼主| 发表于 2018-4-26 11:18:34 | 显示全部楼层
fcode 发表于 2018-4-26 11:14
所有代码,复制粘贴,不截图

数据文件在此 HFD AR-AR closed.DAT (22.41 KB, 下载次数: 1)

1327

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂伙计

F 币
238 元
贡献
271 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2018-4-26 11:24:40 | 显示全部楼层
看错误要先看第一个。你应该注意到还有前一个错误
Error: Line truncated at (1) [-Werror=line-truncation]

这说明你前面的代码该续行了。

Powerstation 不够严谨,所以超过132列的,也被允许。而 gfortran 严格一些,默认情况下,不允许每行超过132列的长度。

你有两种办法解决:
1. 调整前面定义语句的续行,使得每一行不超过132列。
2. 设置 simply fortran,使之允许 132 列。
方法是:Project,Options,Fortran,Non-standard Line Lenght,输入一个较大的数,比如9999, 然后 OK
如果你没创建工程的话, Project,add files,把源代码文件添加到工程。
然后 Project  , save project
最后 build

17

帖子

4

主题

0

精华

入门

F 币
70 元
贡献
38 点
 楼主| 发表于 2018-4-26 11:33:28 | 显示全部楼层
fcode 发表于 2018-4-26 11:24
看错误要先看第一个。你应该注意到还有前一个错误
Error: Line truncated at (1) [-Werror=line-truncation ...

啊?我的代码前面有续行的,在定义变量里面,编译的时候没有报这个错啊。。。

17

帖子

4

主题

0

精华

入门

F 币
70 元
贡献
38 点
 楼主| 发表于 2018-4-26 11:36:51 | 显示全部楼层
fcode 发表于 2018-4-26 11:24
看错误要先看第一个。你应该注意到还有前一个错误
Error: Line truncated at (1) [-Werror=line-truncation ...

我把允许列设为99999,可还是读入数据有问题。。

1327

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂伙计

F 币
238 元
贡献
271 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2018-4-26 11:51:52 | 显示全部楼层
现在的问题还原来的问题一样吗?请详细描述,不要只说“有问题”

如果问题不一样了,请及时描述。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2018-12-19 11:00

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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