SUBROUTINE LAES(T,Y,N,DATAFILE) *************************************************************************** * * * Subroutine to read data from an formated file of unknown length. * * Reads time T from column 1 and fluorescense Y from column 4. * * If first line starts with #, then the first five lines of the file are * * skipped. * * * *************************************************************************** DIMENSION T(*),Y(*) DOUBLE PRECISION T,Y,TOM INTEGER N,I,KODE CHARACTER DUMMY, DATAFILE*15 10 WRITE(*,*) 'Please enter name of data file: ' READ(*,*) DATAFILE C DATAFILE='tst.dat' OPEN(UNIT=1,FILE=DATAFILE,STATUS='OLD',IOSTAT=KODE) IF (KODE.NE.0) THEN WRITE(*,*) 'Sorry, ',DATAFILE,' cannot be opened' GO TO 10 END IF READ(1,*) DUMMY IF (DUMMY.EQ.'#') THEN WRITE(*,*) 'Skipping header' DO 20 I=1,4 READ(1,*) DUMMY 20 CONTINUE ELSE CLOSE(1) WRITE(*,*) 'No header was found' OPEN(UNIT=1,FILE=DATAFILE,STATUS='OLD') ENDIF WRITE(*,*),'Reading data from ',DATAFILE DO 30 I=1,N READ(1,*,END=40),T(I),TOM,TOM,Y(I) 30 CONTINUE WRITE(*,*) 'Read ',N,' data points, but still not at the end!' CLOSE(1) RETURN 40 N=I-1 WRITE(*,*) 'End of file reached. Read',N,' data points.' CLOSE(1) RETURN END