CHARACTER*60 INFILE,FILENAME LOGICAL EFLG REAL*4 sigma,fobs character*70 string INTEGER*4 h,k,l,test WRITE(6,*)'CONVERT CNS *.cv REFLECTION FILE ' WRITE(6,*)' TO CIF FOR DEPO' WRITE(6,*)'MAKE SURE CV FILE MATCHES FORMAT!' WRITE(6,*)' INDE 0 3 13 SIGMA= 135.990 FOB', - 'S= 841.900 TEST= 0' WRITE(6,*)'123456789012345678901234567890123456789012', - '3456789012345678901234567890' 5 WRITE(6,*)'ENTER NAME OF CNS *.cv FILE:' READ(5,1200) INFILE 1200 FORMAT(A) IF (INFILE(:5).EQ.' ') STOP INQUIRE(FILE=INFILE, NAME=FILENAME,EXIST=EFLG) IF (.NOT.EFLG) GOTO 5 OPEN (UNIT=2,FILE=INFILE,STATUS='OLD',READONLY) OPEN (UNIT=3,FILE='HKL.CIF',STATUS='UNKNOWN') WRITE(3,'(A)')'data_rsf' WRITE(3,'(A)')'#' WRITE(3,'(A)')'loop_' WRITE(3,'(A)')'_refln.wavelength_id' WRITE(3,'(A)')'_refln.crystal_id ' WRITE(3,'(A)')'_refln.index_h ' WRITE(3,'(A)')'_refln.index_k ' WRITE(3,'(A)')'_refln.index_l ' WRITE(3,'(A)')'_refln.F_meas_au ' WRITE(3,'(A)')'_refln.F_meas_sigma_au ' WRITE(3,'(A)')'_refln.status' c read lines and check for "INDE" flag 45 READ(2,'(A70)',end=53) string c WRITE(6,*) STRING IF (STRING(1:5).NE.' INDE') GOTO 45 50 read(string,1151) H,K,L,SIGMA,FOBS,TEST 1151 FORMAT(6x,3I5,7x,F10.3,6x,F10.3,6x,I10) C INDE 0 3 13 SIGMA= 135.990 FOBS= 841.900 TEST= 0 C1234567890123456789012345678901234567890123456789012345678901234567890 51 WRITE(3,1152) H,K,L,FOBS,SIGMA,TEST 1152 FORMAT(' 1 1 ',3I4,F11.3,F12.3,I5) C 1 1 0 0 4 61.23 0.30 0 C1234567890123456789012345678901234567890123456789012345678901234567890 GOTO 45 53 CLOSE(UNIT=2) CLOSE(UNIT=3) END