Leitura de arquivos em FORTRAN

Iniciado por snell, 28 de Outubro de 2008, 18:07

tópico anterior - próximo tópico

snell

Fala pessoal, tudo bem?

Estou com um problema para ler um arquivo em formato .dat. Este arquivo tem características próprias que devem ser lidas. Ele tem mais ou menos este formato:

Citar
#
# Os # são comentarios do arquivo
#
     1   (o 1 deve ser lido, o que esta entre parentêses e comentario)
#
#
#
     0.2    (comentario-nao deve ser lido, apenas o dado)
     0.2    (comentario-nao deve ser lido, apenas o dado)
     0.2    (comentario-nao deve ser lido, apenas o dado)

É mais ou menos isso. A subrotina que criei para ler um arquivo deste é mais ou menos assim:

Citar
SUBROUTINE leitura

IMPLICIT NONE

CHARACTER*1 comentario
INTEGER maxline, r, i
PARAMETER (comentario='#', maxline=500)
CHARACTER*132 RECORD(maxline), line

INTEGER var1, var2, var3
REAL var4, var5, var6

OPEN(10, file'/diretorio/do/arquivo.dat', status='old')

WRITE(*,*) 'Lendo o arquivo.dat'

r=0
DO i=1,maxline
   r=r+1
   READ(10, '(a132)', END=100)
   IF(line(1:1).EQ.comentario) THEN
        r=r-1
   ELSE
        RECORD(r)=line
   ENDIF
ENDDO
CLOSE(10)

r=1
line=RECORD(r)
READ(line,*) var1

r=r+1
line=RECORD(r)
READ(line,*) var2

r=r+1
line=RECORD(r)
READ(line,*) var3

r=r+1
line=RECORD(r)
READ(line,*) var4

r=r+1
line=RECORD(r)
READ(line,*) var5
.
.
.
CLOSE(10)
RETURN
ENDSUBROUTINE

O programa é mais ou menos esse. Quando mando o programa principal escrever as variáveis, aparece o seguinte erro:

Citar
fortt1:severe<59>: list-directed I/O syntax error, unit-5, file Internal List-Directed Read

Alguém pode me ajudar??
Notebook
Intel Core i7 2620, 4Gb RAM, 750 Gb HD
Ubuntu 14.04