Я новичок в 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
Причина, по которой я (думаю, я) знаю ошибку, приходит из этой части кода, потому что она говорит 'В строке 25 файла v1.f95' непосредственно перед кодом ошибки, и эта часть кода начинается в строке 24. У меня есть доступ к кластеру компьютеров с достаточным количеством узлов, поэтому я хотел бы заставить это работать. Я попытался удалить строки 'print' и пробовал различные способы перенаправления прочитанных файлов так:' read (*, '(file.out)') fout' Ошибка всегда одна и та же, что заставляет меня думать Я просто пропустил что-то с синтаксисом того, как указать выходной файл. – mfk534
Я также пытался включить 'status = new' как часть команды чтения, но это не сработало. – mfk534