Как указывает Владимир Ф, комментарии к файлам суффикса файла важны в коде Fortran, чтобы сообщить компилятору, как интерпретировать код.
Код, который вы отправили, пропускает некоторые объявления переменных (ustrand
), использует модуль (Global
), который у меня отсутствует и пропускает end
. Однако, если я использую следующий код, который очень похож на ваш
subroutine QualModel(CCS, TI, AIdex,t_max)
implicit none
DOUBLE PRECISION :: CCS, TI, AIdex,ustrand
DOUBLE PRECISION,DIMENSION(10) :: t_max
CCS = 0.0
TI = 0.0
AIdex = 0.0
CCS = &
24.36597157615 + &
(-6.56894015990892) * (ustrand * 60.0)
end
Компиляция отличается при использовании .f
/.f90
суффиксов, как показано ниже. Обратите внимание, что если вы должны придерживаться суффикса .f
в своих файлах, вы можете использовать опцию -ffree-form
для компилятора gfortran
, чтобы сообщить ему принять этот вход.
$ gfortran --version | head -n 2
GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)
Copyright (C) 2015 Free Software Foundation, Inc.
$ gfortran -c test.f90
$ gfortran -c test.f
test.f:1.1:
subroutine QualModel(CCS, TI, AIdex,t_max)
1
Error: Non-numeric character in statement label at (1)
test.f:1.1:
subroutine QualModel(CCS, TI, AIdex,t_max)
1
Error: Unclassifiable statement at (1)
test.f:2.1:
<... omitted remaining errors ...>
$ gfortran -c -ffree-form test.f
Ваш суффикс файла? Используете ли вы свободную форму или источник фиксированной формы? Есть много (много!) Похожих вопросов, вы посмотрели на них? Как выглядит ваша точная командная строка для компиляции? –