C C C* ********************************************** C CHARACTER*50 INFILE,OUTFILE,FILENAME CHARACTER*40 ASTRING integer*2 h,k,l LOGICAL EFLG write(6,*) 'convert mtzdump replace FP by FC when SIGFP zero.' write(6,*) ' reads h k l Fo SigFo Fc Phi, writes same' WRITE(6,1000) 1000 FORMAT(//' Enter name of file to format for .phs:') 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') WRITE(6,1600) 1600 FORMAT('$Output filename: ') READ(5,1200) OUTFILE OPEN(UNIT=3,FILE=OUTFILE,STATUS='unknown') C OPEN (UNIT=3,FILE='temp.phs',STATUS='NEW') nabsent=0 190 read(2,1200) ASTRING if (ASTRING(2:7).NE.'======') GOTO 190 WRITE (6,*)ASTRING(2:7) read(2,1200) ASTRING 200 read(2,*,end=990,err=990)h,k,l,fp,sigfp,fc,phi if (sigfp.eq.0.) then fp=fc sigfp=fc nabsent=nabsent+1 endif write(3,300)h,k,l,fp,sigfp,fc,phi 300 FORMAT (3I4,3f10.2,f7.2) goto 200 990 CLOSE(UNIT=2) CLOSE (UNIT=3) write (6,*)' Fcalc was used in place of Fobs & SigFo for',nabsent, . ' unobserved reflections.' END