Fortran编译错误

时间:2009-12-22 18:44:51

标签: fortran ubuntu-9.10 g77

我试图为土壤 - 植物 - 大气模型编译一个fortran程序,但我无法在Ubuntu下编译它,它不断给我这样的错误信息:

f77 -c -o o/cupin2.o  src/cupin2.f
src/cupin2.f: In subroutine `reflt':
src/cupin2.f:742: 
         dimension tairgl,eairgl,windgl,psisgl,hsoil,ecpy,hcpy
                         ^
Invalid form for DIMENSION statement at (^)
make: *** 
[o/cupin2.o] Error 1

任何人都可以帮助我。谢谢。 完整的源代码在这里:Source Code

2 个答案:

答案 0 :(得分:2)

DIMENSION语句用于标注数组 - 因此您必须指定数组维度。例如:

dimension tairgl(100),eairgl(20,50), ...

您实际上并不需要DIMENSION语句,但是,您也可以这样说:

real tairgl(100)
integer eairgl(20,50)

答案 1 :(得分:1)

您没有说这是否是您的编辑或其他人是否已编写代码。 DIMENSION语句描述于: http://en.wikipedia.org/wiki/Fortran_language_features 例如:

INTEGER, DIMENSION(0:100, -50:50) :: map

它需要在它之后的数组边界。它相当过时,通常由类型替换(例如REAL和数组边界)。

如果你继承了代码(并且它有很长的历史),它可能有一些语法现在是非标准的,但仍然在某些机器上编译。如果您正在积极编辑代码,则需要学习一些FORTRAN。

来自上一个问题的

UPDATE OP似乎已从语法正确的维度语句中删除了数组边界。