C ********************************************* C C MARXER.FOR C* ********************************************** C CHARACTER*80 TITLE CHARACTER*50 INFILE,OUTFILE,FILENAME CHARACTER*40 FNAME,ASTRING real int1, int2, sigmaI1, sigmaI2, SigFcut real fobs1, fobs2, sigmaF1, sigmaF2 real ss1, ss2, ss integer*2 h,k,l LOGICAL EFLG WRITE(6,1000) 1000 FORMAT(//' Enter name of anomalous sca file to convert:') 5 write(6,1100) 1100 FORMAT(/'$Input filename (CR to quit): ') 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,readonly,STATUS='OLD') c [skip over first 3 lines) do 140 i=1,3 140 read(2,'(A)')astring c [input sigmaF cutoff] c write (6, 250) 250 format ('$Input sigmaF cutoff:' ) c read (5, * ) SigFcut WRITE(6,1600) 1600 FORMAT('$Output filename: ') READ(5,1200) OUTFILE OPEN(UNIT=3,FILE=OUTFILE,STATUS='unknown') c OPEN (UNIT=3,FILE='temp.rfl',STATUS='NEW') ncent = 0 200 read(2,220,end=990)h,k,l,int1,sigmaI1, int2, sigmaI2 220 format (3I4, 4f8.1) if (sigmai2.eq.0) then int2 = int1 ncent=ncent+1 sigmaI2=sigmaI1 end if write(3,300) h,k,l,int1,sigmaI1, int2, sigmaI2 300 FORMAT (3I4,F10.2,4F8.1 ) goto 200 990 CLOSE(UNIT=2) CLOSE (UNIT=3) write(6,*)ncent,' centric reflections duplicated' END