FORTRAN编译错误
问题描述:
我试图编译Fortran程序的土壤 - 植物 - 大气模型,但我不能在Ubuntu下编译它,它不断给我这样的错误消息:FORTRAN编译错误
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
答
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。
UPDATE从上一个问题看,OP似乎已从语法正确的维度语句中删除了数组边界。
如果您至少发布产生错误的行,您将得到更好的答案。大多数人不会去下载整个源代码包来回答你的问题。 – 2009-12-22 18:47:30
您已经在http://*.com/questions/1947183/intel-visual-fortran-compiling-error中提出了一个非常类似的问题,其中维度语句具有数组边界。这表明你已经编辑了代码。如果你不懂一门语言,那么制作随机曲线不太可能修复错误。 – 2009-12-22 19:09:03