C C C MARXER.FOR C* ********************************************** C CHARACTER*80 TITLE CHARACTER*50 INFILE,OUTFILE,FILENAME CHARACTER*40 FNAME,ASTRING integer*2 h,k,l LOGICAL EFLG c write(6,*) 'convert lcfdump or mtzdump to xtlview .fin (name temp.fin)' c write(6,*) 'is this (1)mtzdump (hkl f sigf) or (2)lcfdump', c . ' (hkl s f sigf)?' c read(5,*) flag WRITE(6,1000) 1000 FORMAT(//' Enter name of file 1 w phases in col 7:') 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') 6 write(6,1101) 1101 FORMAT(/'$Input file 2 w phases in col 7:') READ(5,1200) INFILE IF (INFILE(:5).EQ.' ') STOP INQUIRE(FILE=INFILE, NAME=FILENAME,EXIST=EFLG) IF (.NOT.EFLG) GOTO 6 OPEN (UNIT=3,FILE=INFILE,readonly,STATUS='OLD') 7 write(6,1102) 1102 FORMAT(/'$file for output list?:') READ(5,1200) INFILE IF (INFILE(:5).EQ.' ') STOP OPEN (UNIT=4,FILE=INFILE,STATUS='new') 190 read(2,1200) ASTRING if (ASTRING(2:7).NE.'FORMAT') GOTO 190 WRITE (6,*)ASTRING(2:7) 195 read(3,1200) ASTRING if (ASTRING(2:7).NE.'FORMAT') GOTO 195 WRITE (6,*)ASTRING(2:7) 200 read(2,*,end=990,err=990) h,k,l,f,z,z,x read(3,*,end=990,err=990) (y,i=1,7) d= abs(x-y) 210 if (d.gt.180.) then d=abs(d-360.) goto 210 endif write (4,'(3i4,4f10.2)') h,k,l,x,y,d del=del+d n=n+1 goto 200 990 CLOSE(UNIT=2) CLOSE (UNIT=3) CLOSE (UNIT=4) write(6,*)'mean phase error:',del/float(n) END