USER'S INSTRUCTIONS FOR PROGRAM EVAL ------ ------------ --- ------- ---- ROBERT H. BLESSING HAUPTMAN-WOODWARD INSTITUTE 73 HIGH STREET BUFFALO, NEW YORK 14203, USA TELEPHONE: (716) 856-9600 ELECTRONIC MAIL: Blessing@HWI.Buffalo.Edu INPUT FOR PROGRAM EVAL CONSISTS OF: 1. "eval.dat", WHICH IS AN ASCII FILE OF CONTROL DATA AND PARAMETERS WRITTEN BY PROGRAM PROGRAM LEVY. 2. THE SAME REFLECTION DATA FILE USED AS INPUT TO PROGRAM LEVY. THE FORTRAN CODE FOR READING THIS INPUT IS QUOTED BELOW. OUTPUT FROM PROGRAM EVAL CONSISTS OF TWO FORMATTED, ASCII FILES OF REFLECTION DATA: 'EDATA.HKL', WHICH IS HKL-SORTED, AND 'EDATA.EEE', WHICH IS E-SORTED. THESE FILES ARE WRITTEN BY SUBROUTINE WRITE1, ALSO QUOTED BELOW. ------------------------------------------------------------------------ CONTROL DATA FILE "eval.dat" ========== NOTE THAT THERE IS PROVISION FOR AN OPTIONAL RECORD TO BE ADDED BY THE USER AT THE END OF THE 'EVAL.DAT' INPUT FILE PREPARED BY PROGRAM LEVY OR PROGRAM ROGERS TO SUPPLY VALUES FOR: NLIST, CUTOFF, EMIN, EMAX (I10,3F10.0) NLIST - MAXIMUM NUMBER OF REFLECTIONS TO BE PRINTED IN THE LISTS OF THE LARGEST AND SMALLEST SIGNIFICANT E-MAGNITUDES. CUTOFF - MINIMUM E/SIGMA(E) FOR THE PRINTED LISTS OF SIGNIFICANT E-MAGNITUDES. DEFAULT: CUTOFF = 3. EMIN - MINIMUM E-MAGNITUDE FOR REFLECTIONS PRINTED IN THE LIST OF LARGEST E-MAGNITUDES. DEFAULT: EMIN = 1.5. EMAX - MAXIMUM E-MAGNITUDE FOR REFLECTIONS PRINTED IN THE LIST OF SMALLEST E-MAGNITUDES. DEFAULT: EMAX = 0.5. ------------------------------------------------------------------------ . . . C C READ CONTROL DATA AND PARAMETERS FROM PROGRAM LEVY. C OPEN (UNIT=IO1,FILE='eval.dat',STATUS='OLD') READ (IO1,999) BTIME READ (IO1,999) BDATE READ (IO1,997) ITYPE READ (IO1,999) TITLE READ (IO1,999) FILE READ (IO1,999) LATT READ (IO1,999) PTGP READ (IO1,998) CELL READ (IO1,999) XRAY READ (IO1,997) NEL DO 5 I=1,NEL READ (IO1,996) EL(I),XI(I),ZI(I),A1(I),B1(I),A2(I),B2(I) READ (IO1,995) A3(I),B3(I),A4(I),B4(I),C0(I),FP(I),FPP(I) 5 CONTINUE READ (IO1,998) SMIN,SMAX READ (IO1,994) SCALEK READ (IO1,994) B(1,1),B(1,2),B(1,3),B(2,2),B(2,3),B(3,3) READ (IO1,994,END=9) C(1,1),C(1,2),C(1,3),C(2,2),C(2,3),C(3,3) READ (IO1,993,END=9) ((COV(I,J),J=1,13),I=1,13) READ (IO1,992,END=9) NLIST,CUTOFF,EMAX,EMIN 999 FORMAT (1X,A) 998 FORMAT (1X,6F10.0) 997 FORMAT (1X,I6) 996 FORMAT (1X,A2,F10.2,F6.0,4(1X,F10.6)) 995 FORMAT (1X,5(1X,F10.6),2X,2(1X,F10.6)) 994 FORMAT (1X,6E12.5) 993 FORMAT (1X,7E10.3) 992 FORMAT (I10,3F10.0) 9 CLOSE (UNIT=IO1,STATUS='KEEP') . . . IF (ITYPE.LT.3) THEN FORM='UNFORMATTED' ELSE FORM='FORMATTED' END IF OPEN (UNIT=IO1,FILE=FILE,STATUS='OLD',FORM=FORM) . . . CALL READ1 (ITYPE,IUNIT,IEND,IH,IK,IL,FSQ,SIGFSQ,F,SIGF) C----------------------------------------------------------------------- SUBROUTINE READ1 (ITYPE,IUNIT,IEND,IH,IK,IL,FSQ,SIGFSQ,F,SIGF) FSQ=0 SIGFSQ=0 F=0 SIGF=0 1 IF (ITYPE.EQ.0) READ (IUNIT, END=9) IH,IK,IL,FSQ,SIGFSQ,F,SIGF IF (ITYPE.EQ.1) READ (IUNIT, END=9) IH,IK,IL,FSQ,SIGFSQ IF (ITYPE.EQ.2) READ (IUNIT, END=9) IH,IK,IL,F, SIGF IF (ITYPE.EQ.3) READ (IUNIT,*,END=9) IH,IK,IL,FSQ,SIGFSQ,F,SIGF IF (ITYPE.EQ.4) READ (IUNIT,*,END=9) IH,IK,IL,FSQ,SIGFSQ IF (ITYPE.EQ.5) READ (IUNIT,*,END=9) IH,IK,IL,F, SIGF IF (SIGFSQ.LE.0.AND.SIGF.LE.0) GO TO 1 IF (FSQ.LE.0.AND.F.LE.0) GO TO 1 IF ((ITYPE.EQ.1.OR.ITYPE.EQ.4).AND.SIGFSQ.GT.0) & CALL FSQTOF (FSQ,SIGFSQ,F,SIGF) IF ((ITYPE.EQ.2.OR.ITYPE.EQ.5).AND.SIGF.GT.0) & CALL FTOFSQ (F,SIGF,FSQ,SIGFSQ) IF (F*SIGF.LE.0) GO TO 1 RETURN 9 IEND=1 RETURN END C----------------------------------------------------------------------- SUBROUTINE FSQTOF (FSQ,SIGFSQ,F,SIGF) IF (FSQ.LT.0) THEN F=0 ELSE F=SQRT(FSQ) END IF IF (FSQ.LE.SIGFSQ) THEN SIGF=0.5*SQRT(SIGFSQ) ELSE SIGF=0.5*SIGFSQ/F END IF RETURN END C----------------------------------------------------------------------- SUBROUTINE FTOFSQ (F,SIGF,FSQ,SIGFSQ) IF (F.LT.0) F=0 IF (SIGF.LT.0) SIGF=0 FSQ=F**2 SIGFSQ=MAX(2*F*SIGF,4*SIGF**2) RETURN END C----------------------------------------------------------------------- SUBROUTINE WRITE1 (IFILE,J,K,L,FSQ,SIGFSQ,F,SIGF,E,SIGE) WRITE (IFILE,'(1X,3I5,4(E12.4,E10.2))') & IH,IK,IL,FSQ,SIGFSQ,F,SIGF,E,SIGE RETURN END C-----------------------------------------------------------------------