0

土壌植物大気モデルの fortran プログラムをコンパイルしようとしましたが、Ubuntu でコンパイルできず、次のようなエラー メッセージが表示され続けます。

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

誰でもこれで私を助けることができますか?ありがとう。完全なソース コードはこちら:ソース コード

4

2 に答える 2

2

DIMENSIONステートメントは配列の次元を決定するために使用されるため、配列の次元を指定する必要があります。例えば:

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

実際にはDIMENSIONステートメントは必要ありませんが、次のように言うこともできます。

real tairgl(100)
integer eairgl(20,50)
于 2009-12-22T18:51:34.257 に答える
1

これがあなたの編集なのか、他の誰かがコードを書いたのかはわかりません。DIMENSIONステートメントは次の場所で説明されています:http: //en.wikipedia.org/wiki/Fortran_language_features 例:

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

その後に配列の境界が必要です。これはかなり古く、通常は型(REALや配列の境界など)に置き換えられています。

コードを継承している場合(そして長い歴史がある場合)、現在は非標準であるが一部のマシンでコンパイルされる構文がある可能性があります。コードを積極的に編集している場合は、FORTRANを学ぶ必要があります。

前の質問からの更新OPは、構文的に正しい次元ステートメントから配列境界を削除したようです。

于 2009-12-22T18:58:29.470 に答える