PROGRAM predi7
C fmc 96/09
C Per llegir la sortida d'un xmol
C
C fmc 95/01
C
C  Modificat perque no escrigui llista d'enllacats en la sortida
C i perque es carregui els ficticis
C
C  fmc 92/7
C  
C  Per llegir les coordenades d'un fitxer de sortida GAUSSIAN 
C i escriure-les en un fitxer d'entrada per a Chem3D. El fitxer 
C d'entrada ha d'estar pretractat, i el de sortida ha de ser 
C post-tractat. O sigui, que un programa bastant caqueta. 
C
          IMPLICIT REAL*8 (A-H,O-Z)
          dimension ncod(104),simbol(104)
          character*3 simbol
          character*137 nores
10        format(i5,i11,7x,3f12.6)
C20        format(a3,i5,3f12.6,i5,5i4)
20        format(a3,i5,3f12.6,i5)
30        format(a137)
C Prepara algunes tonteries
          n1= 1
          n2= 2
          n3= 3
          n4= 4
          n5= 5
          do 100 ii= 1,104
                 ncod(ii)= 6666
                 simbol(ii)= ' HA'
100              continue
C Els atoms per als que estic preparat
          ncod(1)= 11
          simbol(1)= '  H'
          ncod(3)= 30
          simbol(3)= ' Li'
          ncod(4)= 42
          simbol(4)= ' Be'
          ncod(5)= 53
          simbol(5)= '  B'
          ncod(6)= 64
          simbol(6)= '  C'
          ncod(7)= 73
          simbol(7)= '  N'
          ncod(8)= 81
          simbol(8)= '  O'
          ncod(9)= 91
          simbol(9)= '  F'
          ncod(14)= 144
          simbol(14)= ' Si'
          ncod(15)= 159
          simbol(15)= '  P'
          ncod(16)= 164
          simbol(16)= '  S'
          ncod(17)= 171
          simbol(17)= ' Cl'
          ncod(26)= 266
          simbol(26)= ' Fe'
          ncod(42)= 426
          simbol(42)= ' Mo'
          ncod(44)= 446
          simbol(44)= ' Ru'
          ncod(45)= 456
          simbol(45)= ' Rh'
          ncod(49)= 493
          simbol(49)= ' In'
          ncod(74)= 746
          simbol(74)= '  W'
          ncod(75)= 756
          simbol(75)= ' Re'
          ncod(76)= 766
          simbol(76)= ' Os'
          ncod(77)= 776
          simbol(77)= ' Ir'
          ncod(104)= 6666
          simbol(104)= ' XX'
C Molt pocs, no?
C Be, ara som-hi
          nce= 0
          read(5,30) nores
          read(5,30) nores
200       continue
C          read(5,10,err=1000,end=2000) nce,nat,x,y,z
          read(5,*,end=2000) nat,x,y,z
          if(nat.eq.-1) goto 200
          nce= nce+1
C         write(6,20) simbol(nat),nce,x,y,z,ncod(nat),n1,n2,n3,n4,n5
          write(6,20) simbol(nat),nce,x,y,z,ncod(nat)
          goto 200
1000      continue
          write(6,*) ' Si el compilador funciones, passaria per aqui '	
          stop
          read(5,30) nores
          goto 200
          write(6,*) ' Es impossible que hagis arribat aqui!!!'
2000      continue
          end