我是Fortran新手,尝试重新使用一些代码,这些代码是我继承的较大程序的一部分。程序运行时,会提示输出文件名。我宁愿直接在代码中指定这些输出文件名,所以我可以一次并行/全部运行程序(程序的运行时间约为15小时,并且需要运行66个不同的文件,所以我宁愿将它们一次全部运行,而不是一个接一个地运行,因为这需要相当长的时间)。Fortran新输出文件
的代码位,我有看起来像这样的工作:
24 print *,'Enter output filename'
25 read(*,*) fout
26 print *,'Enter parameter estimate output filename'
27 read(*,*) foutb
28 print *,'Enter seed for random number generator'
29 read(*,*) idum
30 if(idum.gt.0) idum = -idum
一切我已经试过给我:
At line 25 of file v1.f95:
Fortran runtime error: End of file
我检查,我有合适的线路结局。 有什么建议吗?
该错误可能来自其他地方 - 从尝试从文件读取更多文件的代码,而不是文件可以提供的代码。你真的尝试过什么?你有一台拥有66个执行核心的计算机吗?如果不是这样,试图同时运行66个程序可能无法提供您预期的加速。 – IanH
我(认为我)知道错误的原因来自于该代码的一部分,因为它在错误代码之前说“在文件v1.f95的第25行”,并且这部分代码从第24行开始。我有对具有足够节点的计算机集群的访问,所以这就是为什么我想要这个工作。我尝试删除'print'行,并尝试各种重定向读取文件的方式,如下所示:'read(*,'(file.out)')fout'错误始终是相同的,这让我觉得我只是错过了如何指定输出文件的语法。 – mfk534
我也试过把'status = new'作为读命令的一部分,但它不起作用。 – mfk534