CCL Home Page
Up Directory CCL read_isigu
      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

Modified: Wed Mar 8 17:00:00 1995 GMT
Page accessed 4968 times since Sat Apr 17 21:25:24 1999 GMT