Frage

Ich habe versucht, ein Fortran Programm für Boden-Pflanze-Atmosphäre-Modell zu erstellen, aber ich kann es unter Ubuntu nicht kompiliert, hält es mir die Fehlermeldung wie folgt geben:

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

Kann mir jemand helfen mit diesem. Vielen Dank. Der komplette Quellcode ist hier: Source Code

War es hilfreich?

Lösung

Die DIMENSION-Anweisung wird auf Maß Arrays verwendet - so können Sie die Array-Dimensionen angeben müssen. Zum Beispiel:

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

Sie haben nicht wirklich benötigen die DIMENSION-Anweisung, aber auch etwas sagen konnte, wie:

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

Andere Tipps

Was Sie nicht sagen, ob dies Ihr bearbeiten ist oder ob jemand anderes den Code geschrieben hat. Die DIMENSION-Anweisung wird beschrieben in: http://en.wikipedia.org/wiki/Fortran_language_features zum Beispiel:

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

Es erwartet Feldgrenzen nach. Es ist ziemlich veraltet und in der Regel durch die Art ersetzt (z REAL und die Feldgrenzen).

Wenn Sie den Code geerbt haben (und wenn es eine lange Geschichte bekommt ist), ist es möglich, es hat einige Syntax, die jetzt nicht-Standard ist aber kompiliert noch auf einigen Maschinen. Wenn Sie aktiv den Code bearbeiten, müssen Sie einige Fortran lernen.

UPDATE aus einer früheren Frage erscheint das OP die Feldgrenzen von einer syntaktisch korrekten Dimension Anweisung gelöscht zu haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top