molscat
|
README,
README.jkl,
README.v12,
dblas.f,
dblas.f.Z,
dcs_save.f,
diag_eispack.f,
ghm_save.f,
ghm_subs.f,
ghm_vib.f,
ident2disting.f,
lapack.f,
lapack.f.Z,
prbr_save.f,
prbr_vib.f,
read_isigu.f,
restrt.v12.f,
sbe.doc,
sbe_save.f,
sig_save.f,
spline.f,
syminv.f,
test1.input,
test1.v12.out,
test1.v14.out,
test2.input,
test2.v12.out,
test2.v14.out,
test3.f,
test3.input,
test3.v12.input,
test3.v12.out,
test3.v14.out,
test5.f,
test5.input,
test5.v12.out,
test5.v14.out,
test6.input,
test6.v12.out,
test6.v14.out,
test8.input,
test8.v12.out,
test8.v14.out,
timers.f,
timers_c.c,
v12.f,
v14.doc.tar,
v14.f,
v14.f.Z,
version_12.doc,
version_14.doc,
version_14.tutorial,
|
|
|
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
|