IMPLICIT DOUBLE PRECISION (A-H,O-Z) CHARACTER*4 LABEL(20) CHARACTER*1 CHAR,STAR,EOF,POINT,BL DATA STAR/'*'/, EOF/'$'/, POINT/'.'/, BL/' '/ DATA ISIGU/10/ DATA EPS/1.D-6/ C OPEN STATEMENT FROM MOLSCAT (GISS VERSION) OPEN(ISIGU, STATUS='UNKNOWN',ACCESS='DIRECT', 1 FORM='FORMATTED',RECL=80,ERR=6197) GO TO 6199 6197 WRITE(6,651) ISIGU 651 FORMAT('0 UNABLE TO OPEN UNIT(',I3,')') STOP 6199 WRITE(6,652) ISIGU 652 FORMAT(' STATE-TO-STATE INTEGRAL CROSS SECTIONS ', 1 'FROM UNIT',I3) I10=1 READ(ISIGU,100,REC=I10) LABEL 100 FORMAT(20A4) WRITE(6,600) LABEL 600 FORMAT(' *** LABEL RECORD:'/20A4) C NZERO=0 NREAD=0 1000 I10=I10+1 READ(ISIGU,101,REC=I10) CHAR,ENERGY, 1 MINJT,JSTEP,MAXJT,II,I,SIGIN C version 14: 101 FORMAT(A1,F19.6,I5,2I7,5X,2I5,F20.6,1X,A1) IF (CHAR.EQ.STAR) THEN NREAD=NREAD+1 IF (SIGIN.GT.EPS) THEN WRITE(6,101) BL,ENERGY,MINJT,JSTEP,MAXJT,II,I,SIGIN ELSE NZERO=NZERO+1 ENDIF GO TO 1000 ELSEIF (CHAR.EQ.EOF) THEN WRITE(6,601) NREAD 601 FORMAT(/' ***** EOF CHARACTER ENCOUNTERED AFTER',I8,' SIGMA.') IF (NZERO.NE.0) WRITE(6,610) NZERO,EPS 610 FORMAT(I6,' SIGMA LESS THAN',1P,D8.1,' NOT PRINTED') STOP ELSEIF (CHAR.EQ.POINT) THEN WRITE(6,602) 602 FORMAT(/' ***** FILE HAS NOT YET BEEN WRITTEN. TERMINATING.') ENDIF STOP END