program rxyzt c makes FILE.X from coord character*1 ok character*2 at character*80 s80 logical num dimension r(5000,3),iz(5000) c bohr=0.529177 ia=0 open(2,file='coord',status='old') c 1 read(2,222,end=1000,err=1000)ok 222 format(a1) if(ok.ne.'$')goto 1 c 2 read(2,*,err=1000,end=1000)x,y,z backspace 2 read(2,28)s80 28 format(a80) is=0 10 is=is+1 if(num(s80(is:is)))goto 10 at(1:1)=' ' at(2:2)=s80(is:is) ia=ia+1 r(ia,1)=x*bohr r(ia,2)=y*bohr r(ia,3)=z*bohr iq=0 if(at.eq.' h')iq=1 if(at.eq.' c')iq=6 if(at.eq.' n')iq=7 if(at.eq.' o')iq=8 if(iq.eq.0)write(6,*)'unknown atom' iz(ia)=iq goto 2 1000 nat=ia close(2) write(6,*)nat,' atoms' if(nat.eq.0)stop open(3,file='FILE.X') write(3,*)' Turbomole coordinates' write(3,*)nat do 3 i=1,nat 3 write(3,3000)iz(i),(r(i,j),j=1,3) 3000 format(I3,3f15.8) close(3) write(6,*)'coord written into FILE.X' stop end c function num(l) logical num character*1 l num=.false. if(l.eq.'1')num=.true. if(l.eq.'2')num=.true. if(l.eq.'3')num=.true. if(l.eq.'4')num=.true. if(l.eq.'5')num=.true. if(l.eq.'6')num=.true. if(l.eq.'7')num=.true. if(l.eq.'8')num=.true. if(l.eq.'9')num=.true. if(l.eq.'0')num=.true. if(l.eq.'+')num=.true. if(l.eq.'-')num=.true. if(l.eq.'.')num=.true. if(l.eq.' ')num=.true. return end