我试图编译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

谁能帮我这。谢谢。 完整的源代码是在这里:源代码

有帮助吗?

解决方案

在DIMENSION语句用来维数组 - 因此,必须指定该阵列的尺寸。例如:

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

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

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

其他提示

你不说这是否是您的修改或别人是否已经写的代码。尺寸语句描述: http://en.wikipedia.org/wiki/Fortran_language_features 例如:

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

有后,预计数组边界。它是相当过时,通常由类型(例如REAL以及阵列边界)代替。

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

<强>更新从先前讨论的OP似乎已经从一个语法正确的尺寸语句删除数组边界。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top