PROGRAM GG DIMENSION r(3,300),iz(300) CHARACTER*50 FN LOGICAL lzmat,auto CHARACTER*1 OK inquire(file='AUTO',exist=auto) if(auto)then FN='G98.OUT' lzmat=.true. else WRITE(*,*)' Full filename of the Gaussian output:' READ(*,'(A)')FN WRITE(*,*)' Use the Z-matrix or standard orientation (Z/S) ?' READ(*,'(A)')OK lzmat=.true. if(ok.eq.'s'.or.ok.eq.'S')lzmat=.false. endif OPEN(2,FILE=FN) OPEN(3,FILE='FILE.XYZ') OPEN(4,FILE='FILE.X') NG=0 1 READ(2,2000,END=1000)FN 2000 FORMAT(A50) IF((lzmat.and.(FN(19:39).EQ.'Z-Matrix orientation:'.OR. 1 FN(26:46).EQ.'Z-Matrix orientation:'.OR. 1 FN(20:37).EQ.'Input orientation:'.OR. 1 FN(27:44).EQ.'Input orientation:')) 1 .OR. 1 ((.not.lzmat).and. 2 (FN(20:40).EQ.'Standard orientation:'.OR. 2 FN(26:46).EQ.'Standard orientation:')))THEN NG=NG+1 ig98=0 if(FN(26:46).EQ.'Z-Matrix orientation:'.OR. 1 FN(27:44).EQ.'Input orientation:'.OR. 1 FN(26:46).EQ.'Standard orientation:')ig98=1 WRITE(3,20000)FN,NG WRITE(4,20000)FN,NG if(.not.auto)WRITE(6,20000)FN,NG 20000 FORMAT(A40,I4) DO 4 I=1,4 4 READ(2,*) l=0 5 READ(2,2000)FN IF(FN(2:4).NE.'---')THEN l=l+1 BACKSPACE 2 if(ig98.eq.0)then READ(2,*)IA,KA,(r(i,l),i=1,3) else READ(2,*)IA,KA,IA98,(r(i,l),i=1,3) endif iz(l)=KA KAA=0 IF(KA.EQ.1)KAA=4 IF(KA.EQ.6)KAA=1 IF(KA.EQ.7)KAA=3 IF(KA.EQ.8)KAA=2 IF(KA.NE.-1)WRITE(3,3000)KAA,(r(i,l),i=1,3) IF(KA.EQ.-1)l=l-1 3000 FORMAT(I5,3F12.6,' 0 0 0 0 0.0') GOTO 5 ENDIF WRITE(3,3000)9999,0.0,0.0,0.0 nat=l write(4,*)nat do 34 l=1,nat 34 if(iz(l).gt.0)write(4,4000)iz(l),(r(i,l),i=1,3),(0,i=1,7),0.0d0 4000 format(I3,3F12.6,7(1x,i1),f4.1) ENDIF GOTO 1 1000 CLOSE(2) CLOSE(3) if(.not.auto)then if(ng.eq.0)then write(*,*)'Geometry not found' else WRITE(*,*)' File FILE.XYZ written' WRITE(*,*)' File FILE.X written' write(*,*)nat,' atoms' endif endif STOP END