Question

J'ai essayé de compiler un programme Fortran pour le modèle sol-atmosphère-plante, mais je ne peux pas le compiler sous Ubuntu, il continue à me donner le message d'erreur comme ceci:

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

Quelqu'un peut-il me aider. Merci. Le code source complet est ici: code source

Était-ce utile?

La solution

L'instruction DIMENSION est utilisée pour les tableaux de dimension - donc vous devez spécifier les dimensions du tableau. Par exemple:

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

Vous n'avez pas besoin en fait la déclaration de DIMENSION, cependant, vous pourriez aussi dire quelque chose comme:

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

Autres conseils

Vous ne dites pas que ce soit votre édition ou si quelqu'un d'autre a écrit le code. La déclaration de DIMENSION est décrite dans: http://en.wikipedia.org/wiki/Fortran_language_features par exemple:

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

Il prévoit des limites du tableau après. Il est un peu dépassée et normalement remplacé par le type (par exemple réel et les limites du tableau).

Si vous avez hérité du code (et si elle a une longue histoire), il est possible, il a une syntaxe qui est maintenant non standard, mais compile encore sur certaines machines. Si vous modifiez activement le code que vous devrez apprendre quelques FORTRAN.

UPDATE d'une question précédente, le OP semble avoir supprimé les limites du tableau d'une déclaration de dimension syntaxiquement correcte.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top