PROGRAM GTAB CHARACTER*80 FN dimension w(3),d(3),r(3),a(3),o(3),p(3) pi=4.*atan(1.) po=sqrt(2.*pi) write(6,*) write(6,*)' This program makes DOG.TAB and ROA.TAB' write(6,*)' from gaussian output directly.' write(6,*) if(iargc().eq.0)then WRITE(*,*)' Full filename of the Gaussian output:' READ(*,'(A)')FN else call getarg(1,FN) endif OPEN(2,FILE=FN) OPEN(3,FILE='DOG.TAB') WRITE (3,501) 501 FORMAT (/,' FREQ. ', 1' D [D^2] ',' R [D^-2]DO R - CO I[km/mol]', 2/,'-----------------------------------------------------------') OPEN(4,FILE='ROA.TAB') WRITE(4,3304) 3304 FORMAT( 1'MODE FREQ Ramx (180) Ramy Ramtot CID90', 2' CID-X CID180 DEP ROA180 RamanDCPI',/, 3' cm-1 A^4/AMU x10^4', 4' x10^4 x10^4 A^5/AMUx1e4 au.10^4') NG=0 1 READ(2,2000,END=1000)FN 2000 FORMAT(A80) IF(FN(2:21).EQ.'Harmonic frequencies')then write(6,*)'Harmonic frequencies found' 2 READ(2,2000,END=1000)FN IF(FN(2:15).EQ.'Frequencies --')then READ(FN(16:26),*)w(1) ig=1 READ(FN(27:49),*,err=21)w(2) ig=2 READ(FN(50:72),*,err=21)w(3) ig=3 21 do 5 i=1,ig d(i)=0. r(i)=0. a(i)=0. p(i)=0. 5 o(i)=0. 6 READ(2,2000)FN if(FN(14:15).eq.'--')then if(FN(2:11).eq.'Dip. str. ')read(FN(16:72),*)(d(i),i=1,ig) if(FN(2:11).eq.'Rot. str. ')read(FN(16:72),*)(r(i),i=1,ig) if(FN(2:11).eq.'Raman1 Fr=')read(FN(16:72),*)(a(i),i=1,ig) if(FN(2:11).eq.' Dep-P Fr=')read(FN(16:72),*)(p(i),i=1,ig) if(FN(2:11).eq.'ROA1 Fr=')read(FN(16:72),*)(o(i),i=1,ig) goto 6 else do 4 i=1,ig WRITE(3,523)i+NG,w(i),d(i),r(i),r(i),po*w(i)*d(i) 523 FORMAT(I5,f16.7,4G15.6) 4 WRITE(4,3000)i+NG,w(i),0.,0.,a(i),0.,0.,0.,p(i),o(i),0. 3000 FORMAT(I5,f9.2,6g12.3,f6.3,2g12.4) NG=NG+ig goto 2 endif endif goto 2 endif goto 1 1000 close(2) write(3,300) write(4,300) 300 format(72(1h-)) close(3) close(4) write(6,*)NG,' frequencies' stop end