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

+0

如果您至少发布产生错误的行,您将得到更好的答案。大多数人不会去下载整个源代码包来回答你的问题。 – 2009-12-22 18:47:30

+2

您已经在http://*.com/questions/1947183/intel-visual-fortran-compiling-error中提出了一个非常类似的问题,其中维度语句具有数组边界。这表明你已经编辑了代码。如果你不懂一门语言,那么制作随机曲线不太可能修复错误。 – 2009-12-22 19:09:03

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似乎已从语法正确的维度语句中删除了数组边界。