program turbo character*80 filename,st c write(6,*)' Reading of TURBOMOLE output' write(6,*)' Writing spectrum into TURBO.TAB' write(6,*)' Filename:' read(5,'(a)')filename open(7,file=filename,status='old') open(8,file='TURBO.TAB') write(8,8000)filename 8000 format(A80,/,'transition e(nm) DS (Debye^2) ', 1' Rv (Debye^2) Rr', 1/,60(1h-)) ii=0 1 read(7,8,end=8001)st 8 format(A80) c c classical escf output: if(st(20:35).eq.' excitation no. ')then ii=ii+1 write(6,*)st do 2 i=1,5 2 read(7,8)st eau=xs(st(31:39)) eev=xs(st(40:49)) w=45.5698d0/eau do 3 i=1,7 3 read(7,8)st c c dipole in length form, au: dx=xs(st( 7:18)) dy=xs(st(19:30)) dz=xs(st(31:42)) c c dipole in velocity form,au: read(7,8)st vx=xs(st( 7:18)) vy=xs(st(19:30)) vz=xs(st(31:42)) c c magnetic dipole: read(7,8)st ax=xs(st( 7:18)) ay=xs(st(19:30)) az=xs(st(31:42)) c c dipolar strength from length: ds=dx*dx+dy*dy+dz*dz c c 1 Debye = a.u./2.541765, convert ds into debyes^2: ds=ds*2.541765**2 c c rotatory strengths from velocity, rs=vx*ax+vy*ay+vz*az c convert into debyes, see Charney, page 357 c 1) into cgs rs=rs*6.41d-37/eev c 2) into debyes^2 rs=rs/1.0d-36 c c rotatory strengths from length rr=dx*ax+dy*ay+dz*az c convert into debyes rr=rr*6.41d-37/eev rr=rr/1.0d-36*eau write(8,8002)ii,w,ds,rs,rr write(6,8002)ii,w,ds,rs,rr 8002 format(I4,f12.2,3G15.6) endif c c RI escf output: if(st(31:41).eq.' excitation')then ii=ii+1 write(6,*)st do 4 i=1,5 4 read(7,8)st eau=xs(st(30:70)) read(7,8)st read(7,8)st eev=xs(st(30:70)) read(7,8)st read(7,8)st w =xs(st(30:70)) do 7 i=1,18 7 read(7,8)st c c rotatory strength in velocity representation, in 1e-40 cgs: rs=xs(st(38:70)) c c transfer to debyes^2: rs=rs/10000.0d0 c 5 read(7,8,end=8001)st if(st(1:35).ne.' Electric transition dipole moment:')goto 5 read(7,*) c c Electric dipole in atomic units: read(7,7001)dx read(7,7001)dy read(7,7001)dz 7001 format(5x,f16.6) c do 6 i=1,8 6 read(7,8)st c magnetic dipole: read(7,7001)ax read(7,7001)ay read(7,7001)az c c dipolar strength ds=dx*dx+dy*dy+dz*dz c c 1 Debye = a.u./2.541765, convert ds into debyes^2: ds=ds*2.541765**2 c c rotatory strengths from length rr=dx*ax+dy*ay+dz*az c c convert from au into debyes rr=rr*2.541765**2 write(8,8002)ii,w,ds,rs,rr write(6,8002)ii,w,ds,rs,rr endif goto 1 8001 close(7) write(8,9) 9 format(60(1h-)) close(8) write(6,*)'finished OK' stop end function xs(s) real xs character*(*) s rewind 9 write(9,*)s rewind 9 read(9,*)a xs=a return end