我试图为土壤 - 植物 - 大气模型编译一个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
答案 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似乎已从语法正确的维度语句中删除了数组边界。