Bonjour à tous,
J'essaie de faire tourner un programme fortran qu'un collègue m'a fourni sur un cluster équipé de solaris (SunOS 5.10 exactement). J'utilise le compilateur sun (ver 4.8) pour compiler ce code.
Voici la ligne de compilation utilisée
mpif90 -fast code.f -o code.x -KPIC -m64
La compilation s'effectue sans problème mais quand j'exécute code.x, j'obtiens le message suivant:
1 2 3 4 5
| ****** FORTRAN RUN-TIME SYSTEM ******
Error 1010: record too long
Location: the READ statement at line 12146 of "code.f"
Unit: 3
File: D00 |
Le problème vient apparemment de la lecture du fichier binaire D00 qui a été créé par un autre programme lors d'une étape antérieure. Voici le READ statement qui pose problème ainsi que la façon dont le fichier D00 est ouvert.
1 2 3 4 5 6
|
DKK='D'//NUM(K1/10)//NUM(K1-10*(K1/10))
OPEN(LTAPE,FILE=DKK,STATUS='OLD',FORM='UNFORMATTED',ERR=99)
REWIND LTAPE
READ(LTAPE) NOTERM,MNP2D2,NCHND2,LRGLD2,NPTYD2,
& NSPND ,MNP2D1,NCHND1,LRGLD1 |
Je suis débutante en fortran et je n'arrive pas à trouver d'informations sur cette erreur (je cherche peut-être mal...) La seule piste qui m'a été donnée est que ce genre d'erreur est parfois due à une incompatibilité entre fortran 77 et 90. En particulier, elle pourrait être due à un fichier ouvert en accès direct avec l'option RECL=1 qui ne fonctionne pas en fortan 90 ou 95. Le problème c'est qu'il me semble que mon fichier n'est pas en accès direct...
Si quelqu'un a une idée elle est plus que la bienvenue!
Merci beaucoup!
Zorph'
Partager