2015-08-28 84 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-任何機會形成?感謝您提前任何時間。 –