2015-08-28 141 views
1

我想编译一些fortran代码使用gfortran v.4.8.2。 当我编译,我得到以下错误:期望的括号错误gfortran

ant_driver.f90:185.72: 

if (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns) 
                    1 
Error: Syntax error in IF-expression at (1) 
ant_driver.f90:187.119: 

ry%thck(ew,ns) = -rhoo/rhoi * (model%geometry%topg(ew,ns)- model%climate%eus(ew, 
                     1 
Error: Expected a right parenthesis in expression at (1) 
ant_driver.f90:188.27: 


endif 
          1 
Error: Expecting END DO statement at (1) 
ant_driver.f90:248.82: 

odel%geometry%usrf(ew,ns) = - (model%geometry%topg(ew,ns)-model%climate%eus(ew, 
                     1 
Error: Expected a right parenthesis in expression at (1) 
ant_driver.f90:260.107: 

model%geometry%usrf(ew,ns) - (model%geometry%topg(ew,ns)-model%climate%eus(ew, 
                     1 
Error: Expected a right parenthesis in expression at (1) 
ant_driver.f90:174.30: 

call glide_set_eus(model,eus) 
        1 
Error: Rank mismatch in argument 'inarray' at (1) (scalar and rank-2) 

的误差涉及的下面几行代码: 185-188:

if (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns) < 0 .and. model%geometry%thck(ew,ns) == 0 .and. & 
         mask(ew,ns) == 1) then 
          model%geometry%thck(ew,ns) = -rhoo/rhoi * (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns)) 
        endif 

248:

model%geometry%usrf(ew,ns) = - (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns)) * rhoo/rhoi & 
              + (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns)) 

260 :

model%geometry%thck(ew,ns) = model%geometry%usrf(ew,ns) - (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns)) 

174:

call glide_set_eus(model,eus) 

任何帮助非常感谢。感谢您的时间。

+0

看到错误消息:ant_driver.f90:185.72它看起来像你的自由格式化的代码被看作是固定的格式化代码,并在位置72后截断,因此丢失了行的其余部分。请参阅编译器的文档,了解如何启用自由格式选项。 – albert

回答

0

您的错误是由于行截断。对于固定形式的Fortran,指定了72个字符的行长度,对于自由形式的Fortran,它应该是132个字符。由于.f90的扩展名,您的源应被解释为自由格式,但您可以通过-ffree-form以gfortran强制自由格式。您还可以分别用选项-ffixed-line-length-n-ffree-line-length-n更改固定格式和自由格式源中的最大行长度,其中n是字符数,0none的值表示无限行长度。

+0

感谢您的支持,但即使启用了-ffree-form选项或-free-line-length-none,我也会得到相同的错误 –

+0

我链接的任何库或目录中的代码是否也必须具有--free-任何机会形成?感谢您提前任何时间。 –