题
我试图编译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似乎已经从一个语法正确的尺寸语句删除数组边界。
不隶属于 StackOverflow