Код f77 в gfortran - вызов библиотеки

Я унаследовал старую программу f77/g77 от предыдущего исследователя, но у меня очень мало опыта на Фортране. Я работал с большинством синтаксических преобразований в файле, но столкнулся с проблемой, когда старый файл вызывает (устаревшую?) Библиотеку, известную как libstr. Я не могу найти ссылку на это в любой текущей документации gfortran (хотя я не уверен, что я ищу в правильных местах, также). То, что я хотел бы знать, есть ли способ избежать вызова Union а также flostr функции, и вместо этого просто выведите значения непосредственно в файл.

Соответствующая часть кода здесь:

if (mod(ntime,nout) .eq. 0) then

ndec = 1
call flostr(t,str1,ndec)
call Union('signal_t=',str1,str2)
call Union('lineshapeSPConD_t=',str1,str3)
open(7,file = str3,STATUS ='unknown')   

Я полагаю, что либо выяснение того, как установить библиотеку (я попытался запустить make-файл, а gfortran просматривает /usr/bin в пути поиска), либо возможность замены функций решит проблему. Я использую gfortran 4.8, установленный из Homebrew на OS X 10.8.3.

Спасибо!

ОБНОВИТЬ:

Мне удалось скомпилировать код, включив библиотеку в компилятор gfortran, но теперь запуск программы вывода приводит к ряду ошибок…

Ошибки вывода:

Program received signal SIGFPE: Floating-point exception - erroneous 
arithmetic operation.

Backtrace for this error:
#0  0x1470e91c2
#1  0x1470e998e
#2  0x7fff92330949
#3  0x10421642e
#4  0x104217472
[1]    18171 floating point exception  ./Lineshape_thick_SP_New.x

Вернуться к доске для рисования.

0 ответов

Другие вопросы по тегам