2009-12-22 110 views
0

我試圖編譯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://stackoverflow.com/questions/1947183/intel-visual-fortran-compiling-error中提出了一個非常類似的問題,其中維度語句具有數組邊界。這表明你已經編輯了代碼。如果你不懂一門語言,那麼製作隨機曲線不太可能修復錯誤。 – 2009-12-22 19:09:03

回答

2

DIMENSION語句用於維數組 - 因此您必須指定數組維數。例如:

dimension tairgl(100),eairgl(20,50), ... 

你實際上並不需要的DIMENSION語句,但是,你也可以這樣說:

real tairgl(100) 
integer eairgl(20,50) 
1

你不說這是否是您的編輯,還是別人已經編寫了代碼。 http://en.wikipedia.org/wiki/Fortran_language_features 例如::維度語句中描述

INTEGER, DIMENSION(0:100, -50:50) :: map 

它之後,預計數組邊界。它過時了,通常被類型替換(例如REAL和數組邊界)。

如果你已經繼承了代碼(如果它有很長的歷史),它可能有一些現在非標準的語法,但仍然可以在某些機器上編譯。如果您正在編輯代碼,則需要學習一些FORTRAN。

UPDATE從上一個問題看,OP似乎已從語法正確的維度語句中刪除了數組邊界。