USER'S INSTRUCTIONS FOR PROGRAM SORTAV ROBERT H. BLESSING HAUPTMAN-WOODWARD INSTITUTE 73 HIGH STREET, BUFFALO, NEW YORK 14203, USA TELEPHONE: (716) 856-9600, EXTENSION 335 ELECTRONIC MAIL: blessing@hwi.buffalo.edu ------------------------------------------------------------------------ PROGRAM SORTAV IS A MULTIPLE-PURPOSE PROGRAM FOR TREATING MULTIPLE REPEATED, SYMMETRY EQUIVALENT, AND/OR AZIMUTH-ROTATION EQUIVALENT BRAGG REFLECTION MEASUREMENTS. (1) THE PROGRAM SORTS Y = FSQ (OR Y = F) DATA ON HKL MILLER INDICES OF THE EQUIVALENT, UNIQUE DATA FOR THE LAUE AND THE CRYSTAL CLASS POINT GROUPS. THE SORTED DATA ARE ORDERED SO THAT H CHANGES SLOWEST AND L FASTEST. (2) FOR DATA SETS MEASURED IN SUBSETS ON DIFFERENT RELATIVE SCALES (I.E., FRAMES OR SHELLS OR LAYERS OF DATA, DATA FROM DIFFERENT SPECIMEN CRYSTALS, DATA AT DIFFERENT WAVELENGTHS OR DIFFERENT INCIDENT BEAM INTENSITIES, ETC.) THE PROGRAM CAN FIT LEAST-SQUARES INTER-SUBSET SCALE FACTORS. [W. HAMILTON, J.S. ROLLET, AND R.A. SPARKS (1965). ON THE RELATIVE SCALING OF X-RAY PHOTOGRAPHS. ACTA CRYST. 18, 129-130. R.A. SPARKS (1970). SCALING OF ----------- == INTENSITY DATA COLLECTED WITH TWO OR MORE CRYSTAL SETTINGS. IN CRYSTALLOGRAPHIC COMPUTING, EDITED BY F.R. AHMED, PP. 182-184. -------------------------- COPENHAGEN: MUNKSGAARD PUBLISHERS, LTD.] (3) GIVEN A SUFFICIENT REDUNDANCY OF MULTIPLE SYMMETRY-EQUIVALENT AND/OR AZIMUTH-ROTATION-EQUIVALENT MEASUREMENTS, THE PROGRAM CAN DERIVE AN EMPIRICAL CORRECTION FOR ABSORPTION OR ABSORPTION-LIKE ANISOTROPY BY FITTING REAL SPHERICAL HARMONIC FUNCTIONS TO THE EMPIRICAL TRANSMISSION SURFACE AS SAMPLED BY THE MULTIPLE EQUIVALENT MEASUREMENTS [R.H. BLESSING (1995). AN EMPIRICAL CORRECTION FOR ABSORPTION ANISOTROPY. ACTA CRYST. A51, 33-38]. ----------- == (4) REPLICATE AND EQUIVALENT MEASUREMENTS ARE AVERAGED ACCORDING TO: SUM(WI*YI) YMEAN = ---------- , I = 1, 2,..., N SUM(WI) 1 WI = 1 OR WI = ------------ SIGMA(YI)**2 {SUM[WI*SIGMA(YI)**2]} ESD = SQRT{--------------------} { SUM(WI) } {SUM[SIGMA(YI)**2]} = SQRT{-----------------} , IF WI = 1 { N } [ N ] 1 = SQRT[-------] , IF WI = ------------ [SUM(WI)] SIGMA(YI)**2 { N SUM[WI*(YI - YMEAN)**2]} RMSD = SQRT{----- * -----------------------} {N - 1 SUM(WI) } {SUM[(YI - YMEAN)**2]} = SQRT{--------------------} , IF WI = 1 { N - 1 } THE SIGMA(YI) ARE EXPERIMENTAL ERROR ESTIMATES AS PROPAGATED THROUGH ALL THE PRECEDING STEPS OF THE DATA REDUCTION PROCESS. THE PROGRAM PROVIDES SCHEMES FOR REJECTING OR DOWN-WEIGHTING OUTLIERS FROM THE SAMPLE MEDIAN [R.H. BLESSING (1997). OUTLIER TREATMENT IN DATA MERGING. J. APPL. CRYST. 30, 421-426. --------------- == R.H. BLESSING AND D.A. LANGS (1987). DATA AVERAGING WITH NORMAL DOWN-WEIGHTING OF OUTLIERS. J. APPL. CRYST. 20, 427-428], --------------- == AND THE PROGRAM COMPILES TABLES OF DATA MERGING STATISTICS, WHICH ARE APPROPRIATELY ADJUSTED SO AS TO BE ROBUST STATISTICS WITH RESPECT TO MULTIPLE MEASUREMENT SAMPLE SIZE [K. DIEDERICHS AND P. A. KARPLUS (1997). IMPROVED R-FACTORS FOR DIFFRACTION DATA ANALYSIS IN MACROMOLECULAR CRYSTALLOGRAPHY. NATURE STRUCT. BIOL. -------------------- 4, 269-275. ERRATUM. NATURE STRUCT. BIOL. 4, 592.]. = -------------------- = (5) A BIVARIATE ANALYSIS OF VARIANCE IS PERFORMED, AND THE EXPERIMENTAL ERROR ESTIMATES, ESD, ARE ADJUSTED ACCORDING TO THE VARIATION OF THE RATIOS RMSD/ESD AGAINST Y-MAGNITUDE AND SIN(THETA)/LAMBDA FOR THE MULTIPLE MEASUREMENT DATA SAMPLES. [R.H. BLESSING (1987). DATA REDUCTION AND ERROR ANALYSIS FOR ACCURATE SINGLE CRYSTAL DIFFRACTION INTENSITIES. CRYSTALLOG. REV. ---------------- 1, 3-58. R.H. BLESSING (1989). DREADD - DATA REDUCTION AND ERROR = ANALYSIS FOR SINGLE CRYSTAL DIFFRACTOMETER DATA. J. APPL. CRYST. --------------- 22, 396-397]. == (6) FINALLY, THE PROGRAM ESTIMATES THE STANDARD UNCERTAINTIES OF THE SAMPLE MEANS FROM THE ROOT-MEAN-SQUARE MEASUREMENT UNCERTAINTIES FROM THE ANALYSIS OF VARIANCE. AS DESCRIBED EARLIER (BLESSING, 1987), MOST ERROR CORRELATION COEFFICIENTS FOR BRAGG REFLECTION INTENSITY MEASUREMENTS ARE EXPECTED TO BE POSITIVE, AND TO ESTIMATE THE STANDARD UNCERTAINTY OF AN N-MEASUREMENT SAMPLE MEAN FROM THE SAMPLE ESTIMATE OF THE POPULATION STANDARD DEVIATION, ONE NEEDS AN ESTIMATE OF THE MEAN CORRELATION COEFFICIENT, . THEN, THE ESTIMATED STANDARD UNCERTAINTY OF THE SAMPLE MEAN IS { } SIGMA() = SQRT{-------------*[1 + (N - 1)]*} . { N } IT CAN BE SHOWN THAT, IF KI AND KJ REPRESENT (POSSIBLY IMPLICIT) SUBSET SCALE FACTORS, COV(YI,YJ) COV(KI,KJ) ---------- = ---------- YI*YJ KI*KJ SO THAT SIGMA(KI) SIGMA(KJ) YI YJ RHO(YI,YJ) = RHO(KI,KJ)*---------*---------*---------*--------- . KI KJ SIGMA(YI) SIGMA(YJ) DEFAULT VALUES, = 0.5 AND = 0.01*0.01, CAN BE REPLACED BY EMPIRICAL VALUES FROM FITTING SUBSET SCALE FACTORS OR BY USER-SPECIFIED INPUT VALUES. ------------------------------------------------------------------------ CONCERNING LEAST-SQUARES REFINEMENT AGAINST AVERAGED DATA --------------------------------------------------------- NOTE THAT ESD AND RMSD ARE SAMPLE-ESTIMATES OF THE STANDARD DEVIATION OF THE POPULATION, NOT THE STANDARD DEVIATION OF THE ---------- SAMPLE-ESTIMATED MEAN. THE ESTIMATED STANDARD DEVIATION OF THE ---- MEAN SHOULD DECREASE WITH INCREASING THE SAMPLE SIZE, N, BUT THE ESTIMATED STANDARD DEVIATION OF THE POPULATION SHOULD REMAIN CONSTANT. IF N EQUIVALENT MEASUREMENTS, YI, ARE TRULY INDEPENDENT MEASUREMENTS, SO THAT THEIR UNCERTAINTIES, SIGMA(YI), ARE UNCORRELATED, THEN THE STANDARD DEVIATION OF THE ESTIMATED MEAN IS ESTIMATED BY ESD/SQRT(N) AND RMSD/SQRT(N). IT IS, HOWEVER, TO BE EXPECTED THAT THE MEASUREMENT ERRORS ARE CORRELATED TO SOME --- EXTENT, ALTHOUGH THE CORRELATION COEFFICIENTS ARE UNKNOWN. (ERROR CORRELATIONS MIGHT BE DUE TO CRYSTAL MISORIENTATION, TEMPERATURE VARIATIONS, TIME-DEPENDENT SCALING ERRORS, INTER-SUBSET SCALING ERRORS, UNCORRECTED OR OVER-CORRECTED ABSORPTION OR ABSORPTION- LIKE ANISOTROPY, MULTIPLE REFLECTION EFFECTS, ETC.) THIS MEANS THAT, IF IS THE AVERAGE NUMBER OF MEASUREMENTS PER UNIQUE REFLECTION, THEN: THE SAMPLE ESD AND RMSD VALUES WILL, ON AVERAGE, OVERESTIMATE THE ERROR IN THE YMEAN VALUES BY SOME FACTOR 1 < F < SQRT(); THE WEIGHTS FOR THE LEAST-SQUARES STRUCTURE REFINEMENT CALCULATED AS W = 1/ESD**2 OR W = 1/RMSD**2 WILL BE, ON AVERAGE, UNDERESTIMATED BY 1/F**2; AND AT THE END OF THE REFINEMENT THE GOODNESS OF FIT Z = SQRT(SUM(W*DELTA**2)/ (NDAT - NPAR)) SHOULD IDEALLY APPROACH 1/F RATHER THAN UNITY. AT CONVERGENCE, Z > ZMIN = 1/SQRT(). ----------------------- ZMIN = 1/SQRT() --- ------------------ 1 1 2 0.707 3 0.577 4 0.5 5 0.447 6 0.408 8 0.354 10 0.316 12 0.289 16 0.25 20 0.224 ----------------------- ------------------------------------------------------------------------ TREATMENT OF GROSS OUTLIERS IN INTER-SUBSET SCALING --------------------------------------------------- THE LEAST-SQUARES CALCULATION OF INTER-SUBSET SCALE FACTORS IS NONLINEAR, AND SO IS DONE ITERATIVELY. IN EACH CYCLE AFTER THE FIRST, GROSS OUTLIERS ARE OMITTED IF THEY HAVE ABS[Y(H,I) - Y(H)/K(I)]/SIGMA[Y(H,I)] .GT. ZLIMIT*Z WHERE Z = SQRT[CHISQ/(NDAT - NPAR)] AND CHISQ = SUM(H)SUM(I) {[Y(H,I) - Y(H)/K(I)]/SIGMA[Y(H,I)]}**2 IS THE FIT RESIDUAL FROM THE PRECEDING CYCLE. THE COEFFICIENT ZLIMIT CAN BE USER SUPPLIED OR HAVE A DEFAULT VALUE OF ZLIMIT = 4 TO EXCLUDE ONLY EXTREME OUTLIERS. ------------------------------------------------------------------------ NOTES ON THE EMPIRICAL ANISOTROPIC ABSORPTION CORRECTION -------------------------------------------------------- AMONG THE INPUT VARIABLES FOR THE EMPIRICAL ABSORPTION CORRECTION ARE THE QUANITIES L0MAX AND L1MAX, FMU, RADIUS, TMIN AND TMAX, WA AND UMIN: L0MAX AND L1MAX ARE, RESPECTIVELY, THE EVEN AND ODD ORDER LIMITS OF THE REAL SPHERICAL HARMONIC Y(L,M) EXPANSION FOR FITTING THE ABSORPTION ANISOTROPY. FMU IS THE LINEAR ABSORPTION COEFFICIENT OF THE CRYSTAL. RADIUS IS AN ESTIMATED RADIUS FOR AN "EQUIVALENT" SPHERICAL CRYSTAL. TMIN AND TMAX ARE, RESPECTIVELY, THE MINIMUM AND MAXIMUM CRYSTAL THICKNESS TRAVERSED BY THE INCIDENT BEAM FOR A TABLET- OR PLATE- OR BLADE-SHAPED SPECIMEN CRYSTAL. WA IS A PROPORTIONALITY CONSTANT FOR WEIGHTING AN ABSORPTION ANISOTROPY RESTRAINT RESIDUAL TOWARD = 1. UMIN IS AN EIGENVALUE FILTERING FACTOR EXPRESSED AS THE MINIMUM PERMISSIBLE FRACTION OF THE MAXIMUM MAGNITUDE OF THE EIGENVALUES OF THE MATRIX OF COEFFICIENTS OF THE NORMAL EQUATIONS. L0MAX AND L1MAX --------------- FOR A CRYSTAL BATHED IN A HOMOGENEOUS INCIDENT BEAM, THE TRANSMISSION SURFACE IS, IN PRINCIPLE, CENTROSYMMETRIC, SINCE REVERSAL OF THE BEAM DIRECTION GIVES THE SAME TRANSMISSION. THIS IMPLIES THAT THE Y(L,M) FIT SHOULD BE LIMITED TO THE EVEN ORDER, L = 2N, FUNCTIONS. ODD ORDER, L = 2N + 1, FUNCTIONS CAN BE USED IF THERE IS ALSO A PROBLEM WITH AN INHOMOGENEOUS, QUASIPARALLEL BEAM INCIDENT FROM A CRYSTAL MONOCHROMATOR, OR WITH A CRYSTAL THAT IS TOO LARGE OR NOT WELL ENOUGH CENTERED TO BE UNIFORMLY ILLUMINATED IN ALL ORIENTATIONS. RECOMMENDED VALUES FOR A FIRST RUN ARE L0MAX = 8 AND L1MAX = 0. FMU --- IF FMU = 0 IS SUPLIED, THE PROGRAM WILL CALCULATE TRANSMISSION ANISOTROPY FACTORS ONLY. THESE WILL RANGE FROM LESS THAN TO GREATER THAN UNITY, AND TYPICALLY AVERAGE APPROXIMATELY UNITY. THEY WILL HAVE NO SCATTERING ANGLE THETA DEPENDENCE. RADIUS AND TMIN --------------- THE RADIUS IS USED TO CALCULATE A SPHERICAL CRYSTAL PART OF THE OVERALL TRANSMISSION FACTOR, WHICH IS DEFINED TO BE A = A(SPHERE)/A(ANISO), WHERE A(ANISO) IS THE FITTED ABSORPTION ANSIOTROPY CORRECTION FACTOR (I.E., RECIPROCAL TRANSMISSION ANISOTROPY FACTOR). THE SPHERICAL CRYSTAL PART INTRODUCES A THETA DEPENDENCE. IF RADIUS IS SUPPLIED AS ZERO BUT NONZERO VALUES ARE SUPPLIED FOR FMU AND TMIN, THE PROGRAM WILL ESTIMATE RADIUS FROM A(SPHERE) = A(LIMIT)/A(MAX), WHERE A(LIMIT) = EXP(-FMU*TMIN), AND A(MAX) IS THE MAXIMUM TRANSMISSION ANISOTROPY FACTOR, I.E., THE RECIPROCAL OF THE MINIMUM ABSORPTION ANISOTROPY CORRECTION FACTOR A(ANISO), CALCULATED DURING THE Y(L,M) FITTING. THE ESTIMATE OF THE RADIUS FROM FMU, TMIN, AND A(MAX) IS OBTAINED BY INTERPOLATION IN THE TABLE OF A(SPHERE) = A(MU*R, THETA). FROM THE INTERNATIONAL TABLES FOR X-RAY CRYSTALLOGRAPHY, VOL. II. IF THE RADIUS IS ESTIMATED FROM FMU, TMIN, AND A(MAX), THE USER SHOULD BE CAREFUL TO VERIFY THAT A REASONABLE RADIUS IS OBTAINED. AN UNREASONABLE RADIUS CAN BE OBTAINED IF THE EQUIVALENT DATA DO NOT THOROUGHLY SAMPLE THE TRANSMISSION PATHS THROUGH THE CRYSTAL, AND THE FITTED PARAMETERS PRODUCE AN UNREASONABLY LARGE A(MAX). IF BOTH RADIUS AND TMIN ARE SUPPLIED AS ZERO, THE PROGRAM COMPUTES ONLY AN ABSORPTION ANISOTROPY CORRECTION - ESSENTIALLY AN ANISOTROPIC SCALING - AND ANY SCATTERING ANGLE DEPENDENCE OF THE ABSORPTION CORRECTION IS NEGLECTED. WA AND RESTRAINED LEAST-SQUARES FITTING --------------------------------------- THE EMPIRICAL ABSORPTION ANISOTROPY FIT REQUIRES A SUBSTANTIAL ----------- REDUNDANCY OF SYMMETRY EQUIVALENT OR AZIMUTH-ROTATION EQUIVALENT MEASUREMENTS IN ORDER THAT THERE BE A THOROUGH SAMPLING OF THE TRANSMISSION PATHS THROUGH THE CRYSTAL, AND THE INPUT REFLECTION DATA MUST BE Y = FSQ, RATHER THAN Y = F. ---- ---- -- ------- THE RESIDUAL MINIMIZED IS THE SUM OF A FIT RESIDUAL AND A RESTRAINT RESIDUAL FOR THE ABSORPTION ANISOTROPY, CHISQ = CHISQ(Y) + W*CHISQ(A), WHERE CHISQ(Y) = SUM(H) SUM(I=1,N) WHI*(YHI*AHI - )**2, CHISQ(A) = SUM(H) SUM(I=1,N) (AHI - 1)**2, AHI = 0.5*(A(-U0) + A(U1)), A(U) = 1 + SUM(L=1,LMAX) SUM(M=-L,+L) A(L,M)*Y(L,M)(U), AND -U0 AND U1 ARE UNIT DIRECTION VECTORS, REFERRED TO CRYSTAL- FIXED ORTHONORMAL AXES, FOR THE REVERSE INCIDENT BEAM AND THE DIFFRACTED BEAM, RESPECTIVELY. THE RESTRAINT RESIDUAL IS INTENDED TO RESTRAIN THE ABSORPTION ANISOTROPY CORRECTION FACTORS TOWARD AN AVERAGE VALUE OF UNITY, AND PREVENT UNREASONABLE EXTREME EXCURSIONS OF THE FITTED TRANSMISSION SURFACE IN REGIONS NOT SAMPLED BY MULTIPLE EQUIVALENT DATA. THE TERMS IN THE FIT RESIDUAL ARE WEIGHTED BY WHI = 1/SIGMA(YHI)**2, AND THE RESTRAINT RESIDUAL IS WEIGHTED BY A CONSTANT W = WA/()**2>/), WHERE THE WEIGHTING FACTOR WA CONTROLS THE TIGHTNESS OF THE RESTRAINT BY SCALING THE RESTRAINT RESIDUAL RELATIVE TO THE FIT RESIDUAL. A VALUE OF WA = 1 SHOULD LEAD TO NORMALIZED MEAN-SQUARE DEVIATIONS OF APPROXIMATELY <(AHI - 1)**2>/ = )**2>/. THE USER MIGHT NEED TO EXPERIMENT WITH SEVERAL DIFFERENT VALUES OF L0MAX (AND PERHAPS L1MAX) AND WA. THE PROGRAM WILL AUTOMATICALLY DECREASE L0MAX (AND L1MAX) IF A SINGULAR NORMAL MATRIX IS ENCOUNTERED, BUT THE USER SHOULD EXAMINE THE PRINTED OUTPUT TO SEE IF THERE ARE MANY EXPANSION COEFFICIENTS A(L,M) WITH VALUES INSIGNIFICANTLY DIFFERENT FROM ZERO OR MANY LARGE CORRELATION COEFFICIENTS, INDICATING THE NEED FOR A FURTHER DECREASE IN L0MAX (OR L1MAX). CHOICE OF AN APPROPRIATE WA VALUE IS A MATTER OF THE USER'S JUDGEMENT OF HOW TIGHTLY THE RESTRAINT = 1 SHOULD APPLY IN THE CASE OF THE PARTICULAR DATA SET AT HAND. IN SUMMARY, PRUDENT USE OF THE EMPIRICAL ABSORPTION SUBPROGRAM REQUIRES INTELLIGENT EXPERIMENTATION WITH TRIAL VALUES OF L0MAX (AND PERHAPS L1MAX), WA, AND RADIUS. UMIN AND EIGENVALUE FILTERING ----------------------------- SOLUTION OF THE LEAST-SQUARES NORMAL EQUATIONS IS CARRIED OUT VIA JACOBI DIAGONALIZATION AND EIGENVALUE FILTERING. THIS TECHNIQUE ALLOWS USEFUL SETS OF A(L,M) PARAMETER VALUES TO BE DETERMINED EVEN IF SOME PARAMETERS ARE NOT WELL DETERMINED BY THE DATA OR SOME PAIRS OF PARAMETERS ARE SO STRONGLY CORRELATED AS TO BE ALMOST LINEARLY DEPENDENT. PSEUDOPARAMETERS P(I) CORRESPONDING TO EIGENVALUES WITH U(I) .LT. UMIN*MAX[U(I)] ARE ASSIGNED VALUES P(I) = 0 BEFORE BACK-TRANSFORMATION FROM THE DIAGONALIZATION-ROTATED P(I) PARAMETER HYPERSPACE TO THE A(L,M) PARAMETER HYPERSPACE. [SEE M.A. SPACKMAN AND P.G. BYROM (1997). RETRIEVAL OF STRUCTURE-FACTOR PHASES IN NON-CENTROSYMMETRIC SPACE GROUPS. MODEL STUDIES USING MULTIPOLE REFINEMENTS. ACTA CRYST. ----------- B53, 553-564. D. WATKIN (1994). THE CONTROL OF DIFFICULT == REFINEMENTS. ACTA CRYST. A50, 411-437.] ----------- == THE SMALLER THE VALUE ASSIGNED TO UMIN, THE SMALLER THE NUMBER OF ZEROED PSEUDOPARAMETERS. THE DEFAULT VALUE UMIN = 0.5*10**(-15) CORRESPONDS TO MACHINE PRECISION FOR DOUBLE PRECISION MANTISSAE. IF UMIN IS ASSIGNED A NEGATIVE VALUE, EIGENVALUE FILTERING IS NOT PERFORMED. DATA SELECTION VARIABLES STLMIN, STLMAX, FSQMIN, FSQMAX, AIMIN, --------------------------------------------------------------- AND AIMAX --------- USER-SUPPLIED VARIABLES STLMIN, STLMAX, FSQMIN, FSQMAX, AIMIN, AND AIMAX ARE USED TO SELECT DATA FOR THE FIT OF THE EMPIRICAL ABSORPTION ANISOTROPY CORRECTION. THE SELECTED DATA MUST OBEY: SIN(THETA)/LAMBDA .GE. STLMIN, SIN(THETA)/LAMBDA .LE. STLMAX, FSQ/SIGMA(FSQ) .GE. FSQMIN, FSQ .LE. FSQMAX, AND FSQ/MEDIAN(FSQ) .GE. AIMIN, FSQ/MEDIAN(FSQ) .LE. AIMAX, WHERE MEDIAN(FSQ) IS THE MEDIAN VALUE IN EACH SAMPLE OF MULTIPLE EQUIVALENT MEASUREMENTS. STLMAX CAN BE USED TO EXCLUDE FROM THE FITTING HIGH-ANGLE DATA FOR WHICH ABSORPTION EFFECTS ARE RELATIVELY SMALL; FSQMIN CAN BE USED TO EXCLUDE DATA TOO WEAK TO CARRY MUCH INFORMATION ABOUT THE ABSORPTION ANISOTROPY; FSQMAX CAN BE USED TO EXCLUDE DATA TOO STRONG TO BE FREE OF ANISOTROPIC EXTINCTION; AIMIN AND AIMAX CAN BE USED TO EXCLUDE MEASUREMENTS THAT ARE PHYSICALLY UNREASONABLE EXTREME OUTLIERS FROM THEIR SAMPLE MEDIAN. DEFAULT VALUES ARE: STLMIN = 0 STLMAX = 9 ANGSTROM**(-1) FSQMIN = 3 FSQMAX = 10**10 AIMIN = 0.5 AIMAX = 1.5 IF POSITIVE VALUES ARE SUPPLIED FOR FMU, TMIN, AND TMAX, WITH TMAX .GT. TMIN, THE PROGRAM WILL CALCULATE AIMIN = EXP(-FMU*TMAX)/AMEAN, AIMAX = EXP(-FMU*TMIN)/AMEAN, WHERE AMEAN = 0.5*[EXP(-FMU*TMAX) + EXP(-FMU*TMIN)]. ALTERNATIVELY, THE USER CAN SUPPLY PRE-CALCULATED OR ESTIMATED VALUES FOR AIMIN AND AIMAX. CRYSTAL ORIENTATION INFORMATION ------------------------------- THE ARGUMENTS -U0 AND U1 FOR THE REAL SPHERICAL HARMONIC EXPANSION FUNCTIONS ARE ORTHONORMAL COMPONENTS OF UNIT DIRECTION VECTORS FOR THE REVERSE-INCIDENT BEAM AND THE DIFFRACTED BEAM REFERRED TO CRYSTAL-FIXED CARTESIAN AXES. THE PROGRAM CAN CALCULATE THE CARTESIAN U-VECTOR COMPONENTS FROM EITHER VECTOR COMPONENTS OR DIRECTION COSINES REFERRED TO EITHER DIRECT SPACE OR RECIPROCAL SPACE CRYSTALLOGRAPHIC AXES, OR FROM EULERIAN DIFFRACTOMETER SETTING ANGLES (TWO-THETA, OMEGA, CHI, PHI) FOR EACH REFLECTION MEASUREMENT. THE PROGRAM PROVIDES THREE WAYS TO OBTAIN THE SETTING ANGLES: (1) THEY MAY BE READ FOR EACH MEASUREMENT FROM THE INPUT REFLECTION DATA FILE. (2) THEY MAY BE GENERATED FROM AN ORIENTATION MATRIX SUPPLIED IN THE INPUT CONTROL DATA FILE. IN THIS CASE, THE SETTING ANGLES GENERATED ARE THOSE FOR BISECTING, EQUATORIAL GEOMETRY WITH PSI = OMEGA = 0. (3) THEY MAY BE GENERATED FOR BISECTING, EQUATORIAL GEOMETRY FROM AN ARBITRARILY ASSUMED ORIENTATION MATRIX CORRESPONDING TO A CRYSTAL ORIENTATION WITH THE CRYSTAL A* AXIS PARALLEL TO THE DIFFRACTOMETER X-AXIS AND C* PARALLEL TO Z. OPTIONS (2) AND (3) CAN BE USED AS DEFAULT APPROXIMATIONS TO DEAL WITH DATA SETS FOR WHICH CRYSTAL ORIENTATION INFORMATION FOR EACH REFLECTION MEASUREMENT IS NOT AVAILABLE, BUT THEY CANNOT GIVE CORRECT RESULTS FOR AZIMUTH-ROTATED MEASUREMENTS MADE AT OTHER THAN BISECTING, EQUATORIAL GEOMETRY. LIMITS ON THE APPLIED ABSORPTION ANISOTROPY CORRECTIONS ------------------------------------------------------- IN ORDER TO PREVENT CORRECTION ERRORS DUE TO WILD EXCURSIONS OF CALCULATED TRANSMISSION SURFACE IN DIRECTIONS NOT SAMPLED BY MULTIPLE MEASUREMENTS EQUIVALENT BY SYMMETRY OR AZIMUTH-ROTATION, THE APPLIED ANISOTROPY CORRECTIONS ARE LIMITED TO THE RANGE OF THE CORRECTIONS ACTUALLY FITTED TO THE MULTIPLE EQUIVALENT MEASUREMENT SAMPLES, I.E., AMIN(FITTED) .LE. A(APPLIED) .LE. AMAX(FITTED). ------------------------------------------------------------------------ CONCERNING THE CHOICE OF UNIT WEIGHTS OR EXPERIMENTAL WEIGHTS FOR ----------------------------------------------------------------- DATA AVERAGING -------------- FOR A FIRST-TRIAL RUN OF PROGRAM SORTAV TO IDENTIFY GROSS OUTLIERS ONE SHOULD TRY UNIT WEIGHTS. ALTHOUGH THE RELATIVE ERROR, SIGMA(YI)/YI, IS GENERALLY LARGER FOR SMALL YI THAN FOR LARGE YI, THE ABSOLUTE ERROR, SIGMA(YI), IS GENERALLY SMALLER FOR SMALL YI THAN FOR LARGE YI. THUS, IF EXPERIMENTAL WEIGHTS, WI = 1/SIGMA(YI)**2, ARE USED FOR AVERAGING, YMEAN WILL BE BIASED TOWARD THE SMALL YI, I.E., TOWARD ANY MEASUREMENTS WITH LARGE NEGATIVE ERRORS. FOR A "GOOD" SAMPLE OF N MULTIPLE EQUIVALENT MEASUREMENTS, ONE EXPECTS APPROXIMATELY THE SAME YI AND SIGMA(YI) FOR ALL N MEASUREMENTS. THUS, APPROXIMATELY CONSTANT WEIGHTS, I.E., EITHER UNIT WEIGHTS OR EXPERIMENTAL WEIGHTS, ARE APPROPRIATE FOR SAMPLE AVERAGING. EXPERIMENTAL WEIGHTS ARE USEFUL WHEN ONE IS MERGING DATA FROM TWO OR MORE DIFFERENT EXPERIMENTS - DIFFERENT CRYSTALS, WAVELENGTHS, SCAN SPEEDS, ETC. - WITH SIGNIFICANTLY DIFFERENT AVERAGE LEVELS OF RANDOM ERROR; HOWEVER, EXPERIMENTAL WEIGHTS SHOULD BE USED ONLY IN CONJUNCTION WITH THE ROBUST/RESISTANT WEIGHTING SCHEME DESCRIBED BELOW, OR ONLY AFTER ANY GROSS OUTLIER MEASUREMENTS HAVE BEEN IDENTIFIED AND REJECTED FROM THE DATA SET BASED ON A PRELIMINARY RUN USING UNIT WEIGHTS. THE INPUT FILE OF CONTROL DATA FOR THE PROGRAM ALLOWS FOR A LIST OF MEASUREMENTS TO BE REJECTED. ------------------------------------------------------------------------ TREATMENT OF OUTLIER MEASUREMENTS IN DATA AVERAGING --------------------------------------------------- SEVERAL OPTIONS ARE PROVIDED FOR DEALING WITH OUTLIERS IN SAMPLES OF MULTIPLE EQUIVALENT OR REPLICATE MEASUREMENTS: 1. OPTIONAL REJECTION OF ABNORMAL OUTLIERS FROM THE SAMPLE ----------------------------------------------------------- MAXIMUM ------- ON THE PRESUMPTION THAT ABNORMALLY LARGE ERRORS OF MEASURING BRAGG REFLECTION INTENSITIES ARE MORE LIKELY TO BE NEGATIVE THAN TO BE POSITIVE, THE PROGRAM PERMITS REJECTION OF MEASUREMENTS WITH YI .LT. YMAX - 2*R*SQRT((Q*SIGMA(YMAX))**2 + (P*YMAX)**2), WHERE YMAX IS THE SAMPLE MAXIMUM MEASUREMENT, SIGMA(YMAX) IS ITS ESTIMATED UNCERTAINTY, AND THE COEFFICIENTS P, Q, AND R HAVE USER- SUPPLIED VALUES. THE COEFFICIENT P IS PROVIDED BECAUSE, IF THE SIGMA(YI) ARE BASED ONLY OR MAINLY ON POISSON COUNTING STATISTICS, THEY MIGHT BE SERIOUS UNDERESTIMATES FOR VERY STRONG REFLECTIONS. A REASONABLE AND SAFE CHOICE IS P = 0.01. THE COEFFICIENT Q IS PROVIDED FOR CASES IN WHICH IT IS KNOWN, SAY FROM A PREVIOUS RUN OF PROGRAM SORTAV, THAT THE SIGMA(YI) ARE ON AVERAGE UNDER- OR OVER-ESTIMATED BY A FACTOR Q. FOR A FIRST RUN OF THE PROGRAM, ONE SHOULD CHOOSE Q = 1. THE COEFFICIENT R DEFINES A SAMPLE RANGE FROM YMAX TO AN UPPER BOUND FOR YMIN ESTIMATED ON THE ASSUMPTION OF NORMALLY DISTRIBUTED MEASUREMENT ERRORS. FOR NORMALLY DISTRIBUTED X, THE INTERVAL FROM XMIN = MU - Z*SIGMA TO XMAX = MU + Z*SIGMA INCLUDES MORE THAN 99.99% OF THE DISTRIBUTION IF Z = 4. THUS, R = 4 IS A REASONABLE AND SAFE CHOICE IF SIGMA = SQRT((Q*SIGMA(YMAX))**2 + (P*YMAX)**2) IS A REASONABLE ESTIMATE FOR THE SAMPLE STANDARD DEVIATION. ONE RATIONALE FOR INTRODUCING A BIAS TOWARD YMAX IS THAT NEGATIVE INTENSITY MEASURING ERRORS DUE TO CRYSTAL MISORIENTATION ARE RATHER COMMON. ANOTHER IS THAT MULTIPLE REFLECTION EFFECTS TEND TO WEAKEN STRONG REFLECTIONS (ALTHOUGH, THEY TEND TO STRENGTHEN WEAK REFLECTIONS.) IF R = 0 THE TEST AGAINST YMAX IS NOT PERFORMED. 2. OPTIONAL REJECTION OF ABNORMAL OUTLIERS FROM THE SAMPLE MEDIAN ------------------------------------------------------------------ THE PROGRAM PERMITS REJECTION OF MEASUREMENTS YI WITH ABS[YI - MEDIAN(YI)] .GT. T, WHERE, FOR Y(1) .LE. Y(2) .LE. Y(3) ... .LE. Y(N), MEDIAN(YI) = Y((N+1)/2) FOR ODD N = 2*M + 1 = 0.5*[Y(N/2) + Y((N/2)+1)] FOR EVEN N = 2*M AND T = MAX(C1*YMEDIAN, C2*MEDIAN[SIGMA(YI)], C3*1.25*MEDIAN[ABS(YI - YMEDIAN)]*SQRT[N/(N - 1)], C4*ZCRIT(N)*MAX{MEDIAN[SIGMA(YI)], 1.25*MEDIAN[ABS(YI - YMEDIAN)]*SQRT[N/(N - 1)]}) IN WHICH THE COEFFICIENTS C1, C2, C3, AND C4 HAVE USER-SUPPLIED VALUES. FOR A NORMAL DISTRIBUTION, N(X,MU,SIGMA), MU = AND SIGMA = <(X - MU)**2>**(1/2) = 1.25*. REASONABLE TRIAL VALUES FOR THE REJECTION TEST COEFFICIENTS ARE C1 = 0.05, C2 = 0, C3 = 0, C4 = 1. THE RATIONALE FOR THESE VALUES IS AS FOLLOWS: C1 = 0.05 BECAUSE IF VALUES OF SIGMA(YI) ARE BASED ONLY OR MAINLY ON COUNTING STATISTICS THEY MIGHT SERIOUSLY UNDERESTIMATE THE POPULATION STANDARD DEVIATION FOR THE STRONG REFLECTIONS. THUS EVEN YI VALUES WITHIN C2*100% OF YMEDIAN MIGHT BE REJECTED BY THE TEST AGAINST SIGMA(YI). FOR WEAK REFLECTIONS, THE SIGMA(YI) ARE ESSENTIALLY DETERMINED BY COUNTING STATISTICS, BUT FOR VERY STRONG REFLECTIONS, THE SIGMA(YI) CAN BE ESSENTIALLY INDEPENDENT OF COUNTING STATISTICS. C2 = C3 = 0 AND C4 = 1 TO DEFAULT TO ZCRIT(N)*SIGMA. ZCRIT(N) IS THE VALUE OF Z = ABS(DELTA)/SIGMA = ABS(X - MU)/SIGMA CORRESPONDING TO A NORMAL PROBABILITY P = 1/(2*N) THAT Z > ZCRIT. N = 2, 3, 4, 5, 10, 20, 50, 100, 300, 1000 ZCRIT = 1.15, 1.38, 1.54, 1.65, 1.96, 2.24, 2.57, 2.81, 3.14, 3.48 CHAUVENET'S CRITERION HOLDS THAT DATA WITH Z > ZCRIT ARE SUFFICIENTLY IMPROBABLE IN A SAMPLE OF N DATA TO BE REJECTED. REFERENCE: HUGH D. YOUNG (1969). STATISTICAL TREATMENT OF EXPERIMENTAL DATA, PP. 78, 162. NEW YORK: MC GRAW-HILL CO. THE USER CAN OVERRIDE THE CHAUVENET CRITERION BY SUPPLYING A NEGATIVE VALUE FOR C4. INDEED, ANY OR ALL OF THE TESTS CAN BE SUPPRESSED BY SUPPLYING NEGATIVE VALUES FOR THE TEST COEFFICIENTS. FOR EACH SAMPLE OF N EQUIVALENT MEASUREMENTS, THE TEST FOR REJECTION IS PERFORMED ONLY ONCE, USING THE INITIAL ESTIMATE YMEAN = YMEDIAN. REPETITION OF THE TEST AFTER RECALCULATION OF YMEAN COULD LEAD TO EVENTUAL REJECTION OF ALL N MEASUREMENTS. FOR PROBLEM CASES IN WHICH THE SCATTER OF THE MEASUREMENTS IS SO GREAT THAT ALL N MEASUREMENTS, OR ALL BUT ONE MEASUREMENT, ARE REJECTED BY THE TEST, THE INITIAL ESTIMATES YMEAN = YMEDIAN, ESD = MEDIAN[SIGMA(YI)], AND RMSD = 1.25*MEDIAN[ABS(YI - YMEDIAN)]* SQRT[N/(N - 1)] ARE RETAINED. 3. OPTIONAL NORMAL PROBABILITY DOWN-WEIGHTING OF OUTLIERS FROM --------------------------------------------------------------- THE SAMPLE MEDIAN ----------------- THE PROGRAM PERMITS OUTLIER DOWN-WEIGHTING BASED ON ESTIMATED RELATIVE NORMAL PROBABILITIES. AFTER OPTIONAL REJECTION OF ABNORMAL OUTLIERS FROM YMAX AND/OR YMEDIAN, THE MEDIAN OF THE REMAINING SAMPLE IS TAKEN TO BE AN INITIAL ESTIMATE OF THE SAMPLE MEAN, AND THE LARGER OF EITHER THE MEDIAN EXPERIMENTAL ERROR ESTIMATE OR THE MEDIAN ABSOLUTE DEVIATION FROM THE MEDIAN IS TAKEN AS AN ESTIMATE OF THE SAMPLE STANDARD DEVIATION. THEN, WITH MU = MEDIAN(YI) AND, DEPENDING ON THE USER'S CHOICE, EITHER SIGMA = SIGMA(YI) OR SIGMA = MAX(MEDIAN[SIGMA(YI)], 1.25*MEDIAN{ABS[YI - MEDIAN(YI)]}*SQRT[N/(N - 1)]), THE RELATIVE NORMAL PROBABILITY OF EACH MEASUREMENT IS ESTIMATED AS WI = EXP{-0.5*[(YI - MU)/SIGMA]**2}, AND USED AS A WEIGHT FOR CALCULATING YMEAN, ESD, AND RMSD. 4. OPTIONAL ROBUST/RESISTANT TUKEY WEIGHTING --------------------------------------------- THE PROGRAM PERMITS OUTLIER DOWN-WEIGHTING BASED ON SO-CALLED ROBUST/RESISTANT TUKEY WEIGHTS. WITH INITIAL ESTIMATES MU = MEDIAN(YI) AND, DEPENDING ON THE USER'S CHOICE, EITHER SIGMA = SIGMA(YI) OR SIGMA = MAX(MEDIAN[SIGMA(YI)], 1.25*MEDIAN{ABS[YI - MEDIAN(YI)]}*SQRT[N/(N - 1)]), ROBUST/RESISTANT TUKEY WEIGHTS FOR AVERAGING ARE CALCULATED AS WI = [1 - (ZI/ZMAX)**2]**2, IF ZI .LT. ZMAX, WI = 0, IF ZI .GE. ZMAX, WHERE ZI = (YI - MU)/SIGMA AND ZMAX IS A USER SUPPLIED VALUE. THE ROBUST/RESISTANT WEIGHTS FOR SEVERAL DIFFERENT ZMAX VALUES ARE COMPARED WITH RELATIVE NORMAL PROBABILITY WEIGHTS IN THE FOLLOWING TABLE. ----------------------------------------------- RELATIVE NORMAL PROBABILITY ROBUST/RESISTANT WEIGHTS WEIGHTS Z EXP(-0.5*Z**2) {1 - MIN[1, (Z/ZMAX)**2]}**2 - -------------- ---------------------------- ZMAX = 4 ZMAX = 6 ZMAX = 8 -------- -------- -------- 0 1.0 1.0 1.0 1.0 1 0.607 0.879 0.945 0.969 2 0.135 0.562 0.790 0.879 3 0.011 0.191 0.562 0.739 4 3.3E-4 0.0 0.309 0.562 5 3.7E-6 0.0 0.093 0.371 6 1.5E-8 0.0 0.0 0.191 7 2.3E-11 0.0 0.0 0.055 8 1.3E-14 0.0 0.0 0.0 ----------------------------------------------- ROBUST/RESISTANT WEIGHTING, WITH A DEFAULT VALUE ZMAX = 6, IS THE ----------------------------------------------------------------- PROGRAM DEFAULT. ---------------- EXPERIENCE SUGGESTS THAT: NORMAL PROBABILITY DOWN-WEIGHTING OF OUTLIERS IS TOO SEVERE, SINCE REAL EXPERIMENTAL ERROR DISTRIBUTIONS TEND TO HAVE LONGER TAILS THAN NORMAL DISTRIBUTIONS. DATA REJECTION BY THE P,Q,R TEST AGAINST YMAX OR THE C1,C2,C3,C4 TEST AGAINST YMEDAIN SEEMS TO OFFER LITTLE OR NO ADVANTAGE OVER ROBUST/RESISTANT DOWN-WEIGHTING OF OUTLIERS. ------------------------------------------------------------------------ OUTPUT LISTS OF OUTLIER MEASUREMENTS ------------------------------------ THE PROGRAM PRODUCES UP TO THREE OUTPUT FILES THAT LIST OUTLIER MEASUREMENTS: "reject.dat", "twobad.dat", AND "outlier.dat". EACH OF THESE IS AN ASCII FILE SORTED ON DECREASING VALUES OF ZI = (YI - YMEAN)/ESD. THE "reject.dat" FILE LISTS MEASUREMENTS THAT WERE REJECTED ACCORDING TO OPTION 1 OR 2 OR ASSIGNED ZERO WEIGHT ACCORDING TO OPTION 3 OR 4, AS DESCRIBED ABOVE; THE "twobad.dat" FILE LISTS SAMPLES OF TWO MEASUREMENTS FOUND TO BE DISCORDANT; AND THE "outlier.dat" FILE LISTS DISCORDANT DATA FROM SAMPLES OF THREE OR MORE MEASUREMENTS. THE MEASUREMENTS WRITTEN TO THE "twobad.dat" AND "outlier.dat" FILES ARE DISCORDANT MEASUREMENTS WITH ZI .GT. ZLIMIT FROM SAMPLES WITH RMSD/ESD .GT. QLIMIT WHERE QLIMIT AND ZLIMIT HAVE USER-SUPPLIED VALUES OR THE DEFAULT VALUES QLIMIT = 4, ZLIMIT = 4. AS DESCRIBED BELOW, SOME OR ALL OF THE RECORDS FROM THE "reject.dat", "twobad.dat", AND/OR "outlier.dat" FILES CAN BE INCLUDED IN THE INPUT CONTROL DATA FILE "sortav.dat" FOR A SUBSEQUENT RUN OF THE PROGRAM TO EXCLUDE OUTLIER MEASUREMENTS FROM PROCESSING AS THEY ARE READ FROM THE INPUT REFLECTION DATA FILE. ------------------------------------------------------------------------ ANALYSIS OF VARIANCE -------------------- THE VARIATION OF THE RATIOS Q = RMSD/ESD IS ANALYZED AS A FUNCTION OF Y = FO**2 (OR Y = FO) AND S = SIN(THETA)/LAMBDA IN TWO WAYS: (1) THE UNIQUE DATA ARE CLASSIFIED IN INTERVALS OF Y AND S, AND A TWO-WAY TABLE FUNCTION OF Q(Y, S) COMPILED. THE TABLE ENTRIES ARE THE VALUES AVERAGED WITHIN THE (Y, S) BLOCKS DEFINED BY THE Y AND S INTERVALS. AS THE TABLE IS BEING COMPILED, THE MEAN VALUE OF Q, QMEAN, AND THE ROOT-MEAN-SQUARE DEVIATION OF THE Q VALUES FROM THEIR MEAN, RMSDQ, ARE EVALUATED. (2) A QUADRATIC SURFACE, Q(Y, S) = (Y S 1) (A11 A12 A13) (Y) (A21 A22 A23) (S) (A31 A23 A33) (1) Q(Y, S) = A11*Y**2 + A22*S**2 + A33 + 2*A12*Y*S + 2*A13*Y + 2*A23*S , IS FITTED TO THE (YI, SI, QI) DATA BY LEAST-SQUARES TO MINIMIZE CHISQ = SUM(WI*(QI - Q(YI, SI))**2) WITH WI = NI - 1, WHERE NI IS THE NUMBER OF MULTIPLE EQUIVALENT MEASUREMENTS OF THE I-TH UNIQUE REFLECTION. THE GOODNESS-OF-FIT, Z = SQRT((CHISQ/SUM(WI))*NOBS/(NOBS - NPAR)) , WHERE NPAR = 6 COEFFICIENTS (A11, A22, A33, A12 = A21, A13 = A31, AND A23 = A32), AND AN R-FACTOR, R = SQRT(CHISQ/SUM(WI*QI**2)) , ARE EVALUATED. THE ESD'S ARE THEN REVISED ACCORDING TO REVISED ESD = MAX(ESD, Q(Y, S)*ESD, RMSD) WHERE Q(Y, S) IS CALCULATED FROM THE FITTED SURFACE, IF Z .LT. RMSDQ, OR LOOKED-UP IN THE TABLE (WITHOUT INTERPOLATION), IF Z .GE. RMSDQ. THE ANALYSIS OF VARIANCE SHOULD BE PERFORMED WHEN DATA FROM A FAIR SAMPLING OF THE Y AND S RANGES OF THE DATA SET HAVE BEEN MULTIPLY MEASURED. ------------------------------------------------------------------------ PROGRAM LIMITS: ------- ------ - AT MOST NMAX/2 TOTAL MEASUREMENTS FOR SORTING. - AT MOST IMAX = NMAX/20 REPLICATE OR EQUIVALENT MEASUREMENTS OF A GIVEN UNIQUE REFLECTION FOR AVERAGING. - AT MOST KMAX SCALE FACTORS FOR SUBSETS OF THE DATA SET (I.E., FRAMES OR SHELLS OR LAYERS OF DATA, DATA FROM DIFFERENT SPECIMEN CRYSTALS, DATA AT DIFFERENT WAVELENGTHS OR INCIDENT BEAM INTENSITIES, ETC.) - AT MOST 10 INPUT DATA FILES. THE VALUES OF NMAX AND KMAX ARE SET IN PARAMETER STATEMENTS. ------------------------------------------------------------------------ INPUT FILES REQUIRED ----- ----- -------- ONE OR MORE OF THE REFLECTION DATA FILE(S): ---------- ---- ------- "data.tscale" FROM PROGRAM TSCALE, "data.absorb" FROM PROGRAM ABSORB2, "data.sortav" FROM PROGRAM SORTAV, OR "data.hkl", EITHER UNFORMATTED OR FORMATTED, AS DESCRIBED BELOW. THESE FILES ARE OPENED AND READ BY CALLS TO SUBROUTINE READF, WHICH CALLS SUBROUTINE READ0 TO DETERMINE THE FILE TYPE AND THEN SUBROUTINE READ1 TO READ ONE RECORD PER CALL AND TRANSFER THE FOLLOWING FORMAL VARIABLES: IUNIT LOGICAL UNIT NUMBER FOR INPUT REFLECTION DATA FILE NFILE NUMBER OF INPUT FILES AFILE(NFILE) CHARACTER ARRAY OF INPUT FILE NAMES II MEASUREMENT SERIAL NUMBER IH IK MILLER INDICES IL Y FSQ OR F SIGY SIGMA(FSQ) OR SIGMA(F) ISCALE SUBSET SCALE FACTOR NUMBER A(11) ABSORPTION CORRECTION VARIABLES IEND END-OF-FILE INDICATOR THE ARRAY A(11) CAN CONTAIN THE DIFFRACTOMETER SETTING ANGLES, ANGLES(4), IN A(1) THROUGH A(4) AND THE ABSORPTION-WEIGHTED MEAN PATH LENGTH AND INCIDENT AND DIFFRACTED BEAM DIRECTION VECTORS, TBAR, S0(3), AND S1(3), IN A(5) THROUGH A(11). DEFAULT VALUES OF A(I) = 0 (I = 1, 11) ARE SUPPLIED. THE QUANTITIES TBAR, S0, AND S1 CAN BE CARRIED THROUGH PROGRAM SORTAV AND RECORDED IN THE OUTPUT REFLECTIONS FILE FOR POSSIBLE SUBSEQUENT USE IN AN ANALYSIS OF ANISOTROPIC EXTINCTION, IN WHICH CASE IT MAKES SENSE TO AVERAGE ONLY REPEATED MEASUREMENTS, NOT SYMMETRY EQUIVALENT OR AZIMUTH-ROTATION EQUIVALENT MEASUREMENTS. THE DIFFRACTOMETER ANGLES ARE FOR USE IN THE EMPIRICAL ABSORPTION CORRECTION SUBPROGRAM OF PROGRAM SORTAV. THE ORDER IN WHICH THE DIFFRACTOMETER SETTING ANGLES ARE INPUT IS IMPORTANT. DIFF.TYPE A(1) A(2) A(3) A(4) --------- ---- ---- ---- ---- INT.TAB. TWO-THETA OMEGA CHI PHI BUS.LEV. TWO-THETA OMEGA CHI PHI P3 TWO-THETA OMEGA PHI CHI CAD4 THETA PHI OMEGA KAPPA THE SUPPLIED VERSIONS OF SUBROUTINE READF, READ0, AND READ1 ARE QUOTED BELOW. IF THE INPUT DATA RECORD STRUCTURE IS CHANGED, OR IF A DIFFERENT SCHEME FOR ASSIGNING SUBSET SCALE FACTOR NUMBERS IS TO BE USED, THEN THE APPROPRIATE CHANGES IN SUBROUTINES READF, READ0, AND READ1 AND RE-COMPILATION OF THE PROGRAM WILL BE NECESSARY. C----------------------------------------------------------------------- SUBROUTINE READF (IUNIT,IEND,NFILE,AFILE,II,IH,IK,IL,Y,SIGY, & ISCALE,A) C C CALLS SUBROUTINE READ0 TO OPEN INPUT FILE(S) OF REFLECTION DATA, AS C NECESSARY, AND CALLS SUBROUTINE READ1 TO READ ONE REFLECTION RECORD. C DIMENSION A(11) CHARACTER AFILE(NFILE)*80,FILE*80 DATA IFILE /0/ SAVE IFILE,ITYPE IF (IFILE.GT.0) GO TO 2 1 IFILE=IFILE+1 IF (IFILE.GT.NFILE) RETURN FILE=AFILE(IFILE) CALL READ0 (IUNIT,FILE,ITYPE) IEND=0 II=0 ISCALE=IFILE DO I=1,11 A(I)=0 END DO 2 CALL READ1 (IUNIT,ITYPE,IEND,II,IH,IK,IL,Y,SIGY,ISCALE,A) IF (IEND.NE.0) GO TO 1 RETURN END C----------------------------------------------------------------------- SUBROUTINE READ0 (IUNIT,FILE,ITYPE) C C DETERMINE FILE TYPE BY READ ERROR CHECKING. C CHARACTER FILE*80,RECORD*116 DIMENSION ANGLES(4),S0(3),S1(3) E=1E9 M=199 ITYPE=0 C C UNFORMATTED FILES C CLOSE (UNIT=IUNIT,STATUS='KEEP') OPEN (UNIT=IUNIT,FILE=FILE,STATUS='OLD',FORM='UNFORMATTED',ERR=50) C C PROGRAM TSCALE OUTPUT FILE (11 WORDS PER RECORD) C IH=E IK=E IL=E DO I=1,4 ANGLES(I)=E END DO SIGY=-E XTIME=-E READ (IUNIT,ERR=1,END=50) II,IH,IK,IL,ANGLES,Y,SIGY,XTIME IF (ABS(IH).GE.M.OR.ABS(IK).GE.M.OR.ABS(IL).GE.M) GO TO 1 DO I=1,4 IF (ABS(ANGLES(I)).GT.360) GO TO 1 END DO IF (SIGY.LE.0.OR.XTIME.LT.0) GO TO 1 ITYPE=1 1 REWIND IUNIT C C PROGRAM ABSORB OUTPUT FILE (18 WORDS PER RECORD) C IH=E IK=E IL=E DO I=1,4 ANGLES(I)=E END DO SIGY=-E XTIME=-E TBAR=-E DO I=1,3 S0(I)=E S1(I)=E END DO READ (IUNIT,ERR=2) II,IH,IK,IL,ANGLES,Y,SIGY,XTIME,TBAR,S0,S1 IF (ABS(IH).GE.M.OR.ABS(IK).GE.M.OR.ABS(IL).GE.M) GO TO 2 DO I=1,4 IF (ABS(ANGLES(I)).GT.360) GO TO 2 END DO IF (SIGY.LE.0.OR.XTIME.LT.0.OR.TBAR.LT.0) GO TO 2 DO I=1,3 IF (ABS(S0(I)).GT.1.OR.ABS(S1(I)).GT.1) GO TO 2 END DO ITYPE=2 2 REWIND IUNIT C C PROGRAM SORTAV (OLD-STYLE, BINARY) OUTPUT FILE (14 WORDS PER RECORD) C IH=E IK=E IL=E SIGY=-E NMEAS=-E TBAR=-E DO I=1,3 S0(I)=E S1(I)=E END DO READ (IUNIT,ERR=3) IH,IK,IL,Y,SIGY,RMSD,NMEAS,TBAR,S0,S1 IF (ABS(IH).GE.M.OR.ABS(IK).GE.M.OR.ABS(IL).GE.M) GO TO 3 IF (SIGY.LE.0.OR.NMEAS.LT.1.OR.TBAR.LT.0) GO TO 3 DO I=1,3 IF (ABS(S0(I)).GT.1.OR.ABS(S1(I)).GT.1) GO TO 3 END DO ITYPE=3 3 REWIND IUNIT IF (ITYPE.NE.0) RETURN C C BINARY FILE: IH, IK, IL, Y, SIGMA(Y) C IH=E IK=E IL=E SIGY=-E READ (IUNIT,ERR=4) IH,IK,IL,Y,SIGY IF (ABS(IH).GE.M.OR.ABS(IK).GE.M.OR.ABS(IL).GE.M) GO TO 4 IF (SIGY.LE.0) GO TO 4 ITYPE=4 4 REWIND IUNIT IF (ITYPE.NE.0) RETURN 50 CONTINUE C C FORMATTED FILES C CLOSE (UNIT=IUNIT,STATUS='KEEP') OPEN (UNIT=IUNIT,FILE=FILE,STATUS='OLD',FORM='FORMATTED') READ (IUNIT,'(A)',ERR=99,END=99) RECORD REWIND IUNIT C C PROGRAM SORTAV (NEW-STYLE, ASCII) OUTPUT FILE: C IH, IK, IL, Y, SIGMA(Y), ESD, RMSD, NMEAS, TBAR, S0(3), S1(3) C (116 CHARACTERS PER RECORD) C IH=E IK=E IL=E SIGY=-E NMEAS=-E TBAR=-E DO I=1,3 S0(I)=E S1(I)=E END DO READ (RECORD,*,ERR=5,END=5) IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS, & TBAR,S0,S1 IF (ABS(IH).GE.M.OR.ABS(IK).GE.M.OR.ABS(IL).GE.M) GO TO 5 IF (SIGY.LE.0.OR.ESD.LT.0.OR.RMSD.LT.0.OR.NMEAS.LT.1.OR.TBAR.LT.0) & GO TO 5 DO I=1,3 IF (ABS(S0(I)).GT.1.OR.ABS(S1(I)).GT.1) GO TO 5 END DO ITYPE=5 RETURN 5 CONTINUE C C ASCII FILE: IH, IK, IL, Y, SIGMA(Y), ISCALE, S0(3), S1(3) C IH=E IK=E IL=E SIGY=-E ISCALE=-E DO I=1,3 S0(I)=E S1(I)=E END DO READ (RECORD,*,ERR=6,END=6) IH,IK,IL,Y,SIGY,ISCALE,S0,S1 IF (ABS(IH).GE.M.OR.ABS(IK).GE.M.OR.ABS(IL).GE.M) GO TO 6 IF (SIGY.LE.0.OR.ISCALE.LE.0) GO TO 6 DO I=1,3 IF (ABS(S0(I)).GT.1.OR.ABS(S1(I)).GT.1) GO TO 6 END DO ITYPE=6 RETURN 6 CONTINUE C C PROGRAM SORTAV (NEW-STYLE, ASCII) OUTPUT FILE: C IH, IK, IL, Y, SIGMA(Y), ESD, RMSD, NMEAS C IH=E IK=E IL=E SIGY=-E ESD=-E RMSD=-E NMEAS=-E READ (RECORD,*,ERR=7,END=7) IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS IF (ABS(IH).GE.M.OR.ABS(IK).GE.M.OR.ABS(IL).GE.M) GO TO 7 IF (SIGY.LE.0.OR.ESD.LT.0.OR.RMSD.LT.0.OR.NMEAS.LT.1) GO TO 7 ITYPE=7 RETURN 7 CONTINUE C C ASCII FILE: IH, IK, IL, Y, SIGMA(Y), ISCALE C IH=E IK=E IL=E SIGY=-E ISCALE=-E READ (RECORD,*,ERR=8,END=8) IH,IK,IL,Y,SIGY,ISCALE IF (ABS(IH).GE.M.OR.ABS(IK).GE.M.OR.ABS(IL).GE.M) GO TO 8 IF (SIGY.LE.0.OR.ISCALE.LE.0) GO TO 8 ITYPE=8 RETURN 8 CONTINUE C C ASCII FILE: IH, IK, IL, Y, SIGMA(Y) C IH=E IK=E IL=E SIGY=-E READ (RECORD,*,ERR=9,END=9) IH,IK,IL,Y,SIGY IF (ABS(IH).GE.M.OR.ABS(IK).GE.M.OR.ABS(IL).GE.M) GO TO 9 IF (SIGY.LE.0) GO TO 9 ITYPE=9 RETURN 9 CONTINUE 99 CONTINUE C C UNKNOWN FILE TYPE C STOP 'UNKNOWN TYPE OF INPUT REFLECTION FILE' END C----------------------------------------------------------------------- SUBROUTINE READ1 (IUNIT,ITYPE,IEND,II,IH,IK,IL,Y,SIGY,ISCALE,A) DIMENSION ANGLES(4),S0(3),S1(3),A(11) IF (ITYPE.EQ.1) THEN READ (IUNIT,END=9) II,IH,IK,IL,ANGLES,Y,SIGY,XTIME DO I=1,4 A(I)=ANGLES(I) END DO ELSE IF (ITYPE.EQ.2) THEN READ (IUNIT,END=9) II,IH,IK,IL,ANGLES,Y,SIGY,XTIME,TBAR,S0,S1 DO I=1,4 A(I)=ANGLES(I) END DO A(5)=TBAR DO I=1,3 A(5+I)=S0(I) A(8+I)=S1(I) END DO ELSE IF (ITYPE.EQ.3) THEN READ (IUNIT,END=9) IH,IK,IL,Y,SIGY,RMSD,NMEAS,TBAR,S0,S1 II=II+1 A(5)=TBAR DO I=1,3 A(5+I)=S0(I) A(8+I)=S1(I) END DO ELSE IF (ITYPE.EQ.4) THEN READ (IUNIT,END=9) IH,IK,IL,Y,SIGY II=II+1 ELSE IF (ITYPE.EQ.5) THEN READ (IUNIT,*,END=9) IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS,TBAR,S0,S1 II=II+1 A(5)=TBAR DO I=1,3 A(5+I)=S0(I) A(8+I)=S1(I) END DO ELSE IF (ITYPE.EQ.6) THEN READ (IUNIT,*,END=9) IH,IK,IL,Y,SIGY,ISCALE,S0,S1 II=II+1 DO I=1,3 A(5+I)=S0(I) A(8+I)=S1(I) END DO ELSE IF (ITYPE.EQ.7) THEN READ (IUNIT,*,END=9) IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS II=II+1 ELSE IF (ITYPE.EQ.8) THEN READ (IUNIT,*,END=9) IH,IK,IL,Y,SIGY,ISCALE II=II+1 ELSE IF (ITYPE.EQ.9) THEN READ (IUNIT,*,END=9) IH,IK,IL,Y,SIGY II=II+1 ELSE STOP 'UNKNOWN TYPE OF INPUT REFLECTION FILE' END IF RETURN 9 IEND=1 RETURN END C----------------------------------------------------------------------- SUBROUTINE READ2 (IUNIT,JPATH,IEND,IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS, & TBAR,U0,U1) C C ANY CHANGE IN THE RECORD STRUCTURE OR FORMAT IN SUBROUTINE WRITE1 WILL C REQUIRE CORRESPONDING CHANGES HERE. C DIMENSION U0(3),U1(3) IF (JPATH.EQ.0) THEN READ (IUNIT,'(1X, & 3I5,E12.4,E10.2,2E11.3,I5)',END=9) & IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS ELSE READ (IUNIT,'(1X, & 3I5,E12.4,E10.2,2E11.3,I5,F7.3,2(1X,3F7.3))',END=9) & IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS,TBAR,U0,U1 END IF RETURN 9 IEND=1 RETURN END C----------------------------------------------------------------------- OUTPUT FILES ------------ PROGRAM SORTAV WRITES UP TO SIX OUTPUT FILES: "data.sortav" - MERGED UNIQUE REFLECTIONS "sortav.lp" - LINE PRINTER OUTPUT "reject.dat" - REJECTED MEASUREMENTS "twobad.dat" - DISCORDANT DUPLICATE MEASUREMENTS "outlier.dat" - STATISTICAL OUTLIER MEASUREMENTS "missing.hkl" - REFLECTIONS NOT MEASURED THE "data.sortav" OUTPUT FILE IS A FORMATTED, ASCII FILE WRITTEN ------------- BY SUBROUTINE WRITE1. ---------- ------ THE FORMAL VARIABLES PASSED TO SUBROUTINE WRITE1 ARE: IH IK MILLER INDICES IL YMEAN SIGMA(YMEAN) ESD RMSD NMEAS SUM(WI*YI) 1 YMEAN = ----------, WHERE WI = ------------ OR WI = 1 SUM(WI) SIGMA(YI)**2 [ 1 + (N - 1)* ] SIGMA(YMEAN) = SIGMA(Y)*SQRT[ ---------------------- ] , WHERE [ N ] SIGMA(Y) = MAX(ESD, RMSD) {SUM[WI*SIGMA(YI)**2]} ESD = SQRT{--------------------} { SUM(WI) } { N SUM[WI*(YI - YMEAN)**2]} RMSD = SQRT{----- * -----------------------} {N - 1 SUM(WI) } NMEAS = N TBAR MEAN PATH LENGTH OF BEAMS IN CRYSTAL U0(3) REVERSE-INCIDENT BEAM DIRECTION VECTOR COMPONENTS U1(3) DIFFRACTED BEAM DIRECTION VECTOR COMPONENTS IH, IK, IL, AND NMEAS ARE INTEGER DATA; THE OTHER QUANTITIES ARE REAL. THE SUPPLIED VERSION OF THE SUBROUTINE IS QUOTED BELOW. C----------------------------------------------------------------------- SUBROUTINE WRITE1 (IUNIT,JPATH,IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS, & TBAR,U0,U1) C C IF THE OUTPUT RECORD STRUCTURE IS CHANGED, CORRESPONDING CHANGES IN C SUBROUTINE READ2 WILL BE REQUIRED. C DIMENSION S0(3),S1(3) IF (JPATH.NE.0) THEN WRITE (IUNIT,'(1X, & 3I5,E12.4,E10.2,2E11.3,I5,F7.3,2(1X,3F7.3))') & IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS,TBAR,U0,U1 ELSE WRITE (IUNIT,'(1X, & 3I5,E12.4,E10.2,2E11.3,I5)') & IH,IK,IL,Y,SIGY,ESD,RMSD,NMEAS END IF RETURN END C----------------------------------------------------------------------- THE OTHER FIVE OUTPUT FILES ARE FORMATTED, ASCII FILES. - THE "sortav.lp" LINE PRINTER OUTPUT FILE IS SELF-EXPLANATORY. ----------- - THE "reject.dat", "twobad.dat", AND "outlier.dat" FILES LIST ------------ ------------ ------------- II, IH, IK IL, ISCALE, YI, SIGMA(YI), NMEAS, ESD, (YI - YMEAN)/ESD EACH OF THE THREE FILES IS SORTED IN ORDER OF DECREASING ABS(YI - YMEAN)/ESD, AND SOME OR ALL OF THE RECORDS FROM THESE FILES CAN BE APPENDED TO THE "sortav.dat" CONTROL DATA INPUT FILE ------------ TO REJECT OUTLIERS FROM A SUBSEQUENT RUN OF THE PROGRAM. - THE "reject.dat" FILE LISTS MEASUREMENTS REJECTED BEFORE DATA ------------ AVERAGING. - THE "twobad.dat" FILE LISTS DISCORDANT DUPLICATE MEASUREMENTS. ------------ DISCORDANT DUPLICATES ARE IDENTIFIED AS SAMPLES WITH ONLY TWO MEASUREMENTS FOR WHICH Q = RMSD/ESD > QLIMIT AND ABS(YI - YMEAN)/ESD > ZLIMIT. DISCORDANT DUPLICATES ARE LISTED IN A SEPARATE FILE, BECAUSE, IF ONE OF ONLY TWO MEASUREMENTS IS STATISTICALLY FAR FROM THE MEAN, THEN, OF NECESSITY, SO IS THE OTHER. - THE "outlier.dat" FILE LISTS STATISTICAL OUTLIER MEASUREMENTS ------------- IDENTIFIED AS THOSE YI WITH ABS(YI - YMEAN)/ESD > ZLIMIT IN SAMPLES OF THREE OR MORE MEASUREMENTS FOR WHICH Q = RMSD/ESD > QLIMIT. - THE "missing.hkl" LISTS IN ORDER OF INCREASING SIN(THETA)/LAMBDA ------------- THE MILLER INDICES OF UNIQUE REFLECTIONS THAT WERE NOT MEASURED. ------------------------------------------------------------------------ CONTROL DATA FILE "sortav.dat" ------- ---- ---- ============ THE USER MUST SUPPLY AT LEAST RECORDS 1 THROUGH 6. IF RECORDS 7 THROUGH 15 ARE OMITTED, THE PROGRAM WILL SUPPLY DEFAULT VALUES. RECORDS 7 THROUGH 15 ARE FREE FORMAT, SO IF THEY ARE SUPPLIED THEY ---- ------ MUST CONTAIN AT LEAST DUMMY ZERO VALUES FOR EACH VARIABLE. -- ----- ----- ---- ------ 1. JOB TITLE (A) 2. INPUT REFLECTION DATA FILE NAME(S): 2.1. FIRST RECORD (*, ONE VALUE) NFILE = NUMBER OF INPUT FILE NAMES TO BE READ 2.2. SECOND (AND SUBSEQUENT) RECORD(S) (A) FILE1(I), I = 1, NFILE NFILE RECORDS, ONE FOR EACH INPUT FILE NAME. ----- ------- --- --- ---- ----- ---- ---- 3. OUTPUT REFLECTION DATA FILE NAME (A) FILE2 = OUTPUT FILE NAME FOR SORTED, AVERAGED REFLECTION DATA 4. CONDITIONS LIMITING POSSIBLE REFLECTIONS: 4.1. FIRST RECORD (*, ONE VALUE) NCOND = NUMBER OF HKL CONDITIONS TO BE READ 4.2. SECOND (AND SUBSEQUENT) RECORD(S) (A) HCOND(I), I = 1, NCOND NCOND RECORDS, ONE FOR EACH HKL CONDITION, AS DESCRIBED BELOW. ----- ------- --- --- ---- --- --------- 5. CRYSTAL CLASS POINT GROUP SYMBOL (A), AS DESCRIBED BELOW. 6. LATTICE PARAMETERS (*, SIX VALUES) CELL(1) = A (ANGSTROMS) CELL(2) = B CELL(3) = C CELL(4) = ALPHA (DEGREES) CELL(5) = BETA CELL(6) = GAMMA 7. SIGNAL-PROPORTIONAL UNCERTAINTY COEFFICIENT, P (*, ONE VALUE) THE COEFFICIENT P IS USED IN CALCULATING RECIPROCAL-VARIANCE WEIGHTS FOR INTER-SUBSET SCALING, EMPIRICAL ABSORPTION ANISOTROPY CORRECTION, AND/OR EXPERIMENTALLY WEIGHTED DATA AVERAGING. VAR(YI) = SIGMA(YI)**2 + (P*YMEDIAN)**2 TOTAL = STATISTICAL + INSTRUMENTAL VARIANCE VARIANCE VARIANCE (DEFAULT: P = 0.01. TO SELECT P = 0, SUPPLY P = -1.) 8. SCALE FACTORS FOR SUBSETS OF THE DATA SET: ------------------------------------------ 8.1. FIRST RECORD (*, ONE VALUE) NSCALE = N THE NUMBER OF DIFFERENT SUBSET SCALE FACTORS = 0 A SINGLE SCALE FACTOR OF UNITY WILL BE ASSUMED FOR ALL DATA; OMIT RECORDS 8.2 THROUGH 8.4. 8.2. SECOND RECORD (A4, ONE VALUE) PTGP = LAUE = XTAL SPECIFIES LAUE POINT GROUP OR CRYSTAL CLASS POINT GROUP FOR EQUIVALENT REFLECTIONS FOR SUBSET SCALE FACTORS FITTING. 8.3. THIRD RECORD (*, FOUR VALUES) ISTART = 0 STARTING VALUES OF UNITY WILL BE ASSUMED FOR ALL THE SUBSET SCALE FACTORS; OMIT RECORD 8.4. = 1 STARTING VALUES WILL BE READ FROM RECORDS 8.4. IFIXED = 0 THE SCALE FACTOR FOR THE LARGEST SUBSET WILL BE HELD FIXED. = I SCALE FACTOR WITH SERIAL NUMBER I WILL BE HELD FIXED. QMIN = THRESHOLD FOR EXCLUDING WEAK REFLECTIONS FROM THE FIT OF INTER-SUBSET SCALE FACTORS. A MEASUREMENT IS EXCLUDED IF YI/SIGMA(YI) .LT. QMIN. (DEFAULT: QMIN = 3) ZMAX = THRESHOLD FOR ASSIGNING ZERO WEIGHT TO EXTREME OUTLIERS IN THE SCALE FACTORS FITTING. A MEASUREMENT IS ASSIGNED ZERO WEIGHT IF ABS(YI - YMEAN/KI)/SIGMA(YI) .GT. ZMAX*MAX(Z, 1.0), WHERE Z IS THE STANDARDIZED ROOT-MEAN-SQUARE ERROR OF FIT FROM THE PRECEDING CYCLE. (DEFAULT: ZMAX = 4) 8.4. FOURTH (AND SUBSEQUENT) RECORD(S) (*, TWO VALUES PER RECORD) (I, SCALEK(I)), I = 1, NSCALE NSCALE RECORDS, ONE FOR EACH SCALE FACTOR. ------ ------- --- --- ---- ----- ------ SUPPLY RECORDS 8.4 ONLY IF ISTART .NE. 0 WAS SUPPLIED ON ------- --- ---- -- ------------- RECORD 8.3. SCALE FACTORS ARE DEFINED SUCH THAT Y-OUTPUT = (SCALE FACTOR)*Y-INPUT. 9. EMPIRICAL ANISOTROPIC ABSORPTION CORRECTION VARIABLES: ------------------------------------------------------ 9.1. L0MAX, L1MAX (*, TWO VALUES) 9.2. PTGP (A, ONE VALUE) 9.3. DIFF (A, ONE VALUE) 9.4. IORIENT (*, ONE VALUE) 9.4.1. U11 U12 U13 (*, THREE VALUES, IFF IORIENT .EQ. 2) 9.4.2. U21 U22 U23 (*, THREE VALUES, IFF IORIENT .EQ. 2) 9.4.3. U31 U32 U33 (*, THREE VALUES, IFF IORIENT .EQ. 2) 9.5. FLAMBDA, FMU, RADIUS, TMIN, TMAX, ERRMUT, WA, UMIN (*, EIGHT VALUES) 9.6. FSQMIN, FSQMAX, STLMIN, STLMAX, AIMIN, AIMAX, IPATH, IPLOT (*, EIGHT VALUES) TO BY-PASS THE EMPIRICAL ABSORPTION CORRECTION, SET L0MAX = L1MAX = 0. SUPPLY RECORDS 9.2 THROUGH 9.6 ONLY IF L0MAX .GT. 0 OR ------- --- ------- --- ---- -- ------------ -- L1MAX .GT. 0. ------------ SUPPLY RECORDS 9.4.1 THROUGH 9.4.3 ONLY IF IORIENT = 2. ------- ----- ------- ----- ---- -- ----------- L0MAX = EVEN ORDER LIMIT OF SPHERICAL HARMONIC EXPANSION Y(L,M); L = 0, LMAX; M = -L, +L. L0MAX .LE. 8. L1MAX = ODD ORDER LIMIT. L1MAX .LE. 7. PTGP = LAUE = XTAL SPECIFIES LAUE POINT GROUP OR CRYSTAL CLASS POINT GROUP FOR EQUIVALENT REFLECTIONS FOR YLM FITTING. DIFF = DIFFRACTOMETER TYPE H HAMILTON'S INT. TAB. AXES BL BUSING AND LEVY'S AXES P3 SIEMENS (NEE NICOLET, NEE SYNTEX) AXES CAD4 ENRAF-NONIUS KAPPA AXES OTHER IORIENT = 1, 2, 3, +/-4, +/-5, +/-6, +/-7, OR +/-8 IORIENT DESIGNATES THE TYPE OF DATA TO SPECIFY THE CRYSTAL ORIENTATION FOR EACH REFLECTION: IORIENT = 1 GENERATE SETTING ANGLES FOR BISECTING, EQUATORIAL GEOMETRY FOR A DEFAULT ORIENTATION CORRESPONDING TO ORTHOGONALIZED RECIPROCAL SPACE CRYSTAL AXES PARALLEL TO THE GONIOSTAT CARTESIAN AXES AT ZERO SETTING ANGLES. 2 GENERATE SETTING ANGLES FOR BISECTING, EQUATORIAL GEOMETRY FROM A GIVEN ORIENTATION MATRIX. 3 READ SETTING ANGLES WITH EACH REFLECTION. +/-4 READ COMPONENTS OF INCIDENT AND DIFFRACTED BEAM DIRECTION VECTORS REFERRED TO CRYSTALLOGRAPHIC DIRECT SPACE AXES. +/-5 READ COMPONENTS OF DIRECTION VECTORS REFERRED TO CRYSTALLOGRAPHIC RECIPROCAL SPACE AXES. +/-6 READ COMPONENTS OF DIRECTION VECTORS REFERRED TO CRYSTAL-FIXED ORTHONORMAL, CARTESIAN AXES. +/-7 READ DIRECTION COSINES OF INCIDENT AND DIFFRACTED BEAM VECTORS REFERRED TO CRYSTALLOGRAPHIC DIRECT SPACE AXES. +/-8 READ DIRECTION COSINES REFERRED TO CRYSTALLOGRAPHIC RECIPROCAL SPACE AXES. IF IORIENT IS NEGATIVE, THE DIRECTION OF THE REVERSE-INCIDENT -------- ------- BEAM IS SPECIFIED. IF, AND ONLY IF, IORIENT = 2, READ THE DIFFRACTOMETER ORIENTATION MATRIX FROM THE FOLLOWING THREE RECORDS. U11 U12 U13 ORIENTATION MATRIX AS DEFINED FOR THE U21 U22 U23 DIFFRACTOMETER TYPE SPECIFIED ON RECORD 9.3. U31 U32 U33 FLAMBDA = WAVELENGTH (ANGSTROMS) CU K-ALPHA BAR 1.5418 MO 0.7107 AG 0.5609 FMU = LINEAR ABSORPTION COEFFICIENT (MM**(-1)) RADIUS = ESTIMATED RADIUS OF "EQUIVALENT" SPHERICAL CRYSTAL (MM) TMIN = ESTIMATED MINIMUM CRYSTAL THICKNESS (MM) TMAX = " MAXIMUM " " (MM) ERRMUT = ESTIMATED FRACTIONAL ERROR IN MU*TBAR. TYPICALLY, ERRMUT = 0.01. (DEFAULT: ERRMUT = 0) WA = RELATIVE WEIGHTING FACTOR THE FOR = 1 ABSORPTION ANISOTROPY RESTRAINT RESIDUAL. (DEFAULT: WA = 1.0. TO SET WA = 0, SUPPLY WA = -1.) UMIN = EIGENVALUE FILTERING FACTOR EXPRESSED AS A FRACTION OF THE MAXIMUM EIGENVALUE. (DEFAULT: UMIN = 0.5E-15) TO BY-PASS EIGENVALUE FILTERING, SUPPLY UMIN = -1. FSQMIN = MINIMUM FSQ/SIGMA(FSQ) FSQMAX = MAXIMUM FSQ FOR MEASUREMENTS TO BE INCLUDED IN THE YLM FITTING. (DEFAULTS: FSQMIN = 3, FSQMAX = 1E10) STLMIN = MINIMUM SIN(THETA)/LAMBDA STLMAX = MAXIMUM SIN(THETA)/LAMBDA FOR REFLECTIONS TO BE INCLUDED IN THE YLM FITTING. (DEFAULTS: STLMIN = 0, STLMAX = 9 ANGSTROM**(-1)) AIMIN = MINIMUM RELATIVE TRANSMISSION FACTOR AIMAX = MAXIMUM " " " FOR REFLECTIONS TO BE INCLUDED IN THE YLM FITTING. (DEFAULTS: AIMIN = 0.5, AIMAX = 1.5) TO BY-PASS THE AIMIN AND AIMAX DATA SELECTION TESTING, SUPPLY AIMIN = AIMAX = -1. IPATH = 0 DO NOT = 1 DO WRITE TO THE OUTPUT REFLECTION FILE THE ESTIMATED TBAR VALUES (MM) AND THE BEAM DIRECTION VECTOR COMPONENTS ALONG UNIT-LENGTH CRYSTAL AXES. IPLOT = 1 PLOT AZIMUTH-SCANS FOR [100], [010], AND [001]. = 2 ALSO [110], [-110], [101], [-101], [011], AND [0-11]. = 3 ALSO [111], [-111], [-1-11], AND [1-11]. (DEFAULT: IPLOT = 1) TO OMIT ALL PLOTS, SUPPLY IPLOT = -1.) 10. DATA AVERAGING CONTROL VARIABLES: --------------------------------- 10.1. FIRST RECORD (A4, ONE VALUE) PTGP = LAUE = XTAL SPECIFIES LAUE POINT GROUP OR CRYSTAL CLASS POINT GROUP FOR EQUIVALENT REFLECTIONS TO BE AVERAGED. 10.2. SECOND RECORD (*, THREE VALUES) IW, JW, ZMAX IW = 0 UNIT WEIGHTS 1 EXPERIMENTAL WEIGHTS JW = 0 UNIT WEIGHTS 1 RELATIVE NORMAL PROBABILITY WEIGHTS 2 ROBUST/RESISTANT TUKEY WEIGHTS ZMAX MAXIMUM PERMITTED VALUE OF Z = (Y - MU)/SIGMA WEIGHTS FOR AVERAGING ARE W = WI*WJ WHERE IF IW = 0, WI = 1 1, WI = 1/SIGMA(Y)**2 IF JW = 0, WJ = 1 1, WJ = EXP(-0.5*Z**2) 2, WJ = [1 - (Z/ZMAX)**2]**2, IF Z .LT. ZMAX WJ = 0, IF Z .GE. ZMAX IF JW = 2, THEN Z = (Y - MU)/SIGMA, MU = MEDIAN(Y), AND IF IW = 0, SIGMA = MAX(MEDIAN[SIGMA(Y)], 1.25*MEDIAN{ABS[Y - MEDIAN(Y)]}*SQRT[N/(N - 1)]), WHILE IF IW = 1, SIGMA = SIGMA(Y). DEFAULT VALUES: IW = 1 JW = 2 ZMAX = 6.0 IN ORDER TO SELECT IW = 0, SUPPLY IW = -1, AND IN ORDER TO SELECT JW = 0, SUPPLY JW = -1. 11. COEFFICIENTS FOR OUTLIER REJECTION TESTS (*, SIX VALUES) ---------------------------------------- Q, R, C1, C2, C3, C4 IF P (SEE RECORD NO. 7) OR Q .GT. 0, AND R .GT. 0, THEN ------------------------------------------------- MEASUREMENT YI IS REJECTED AS AN ABNORMAL OUTLIER FROM THE SAMPLE MAXIMUM IF YI .LT. YMAX - 2*R*SQRT((Q*SIGMA(YMAX))**2 + (P*YMAX)**2) , WHERE YMAX = MAX(YI). IF C1, C2, C3, OR C4 .GT. 0, THEN MEASUREMENT YI IS REJECTED --------------------------- AS AN ABNORMAL OUTLIER FROM THE SAMPLE MAXIMUM IF ABS[YI - MEDIAN(YI)] .GT. T , WHERE T = MAX(C1*MEDIAN(YI), C2*MEDIAN[SIGMA(YI)], C3*1.25*MEDIAN{ABS[YI - MEDIAN(YI)]}*SQRT[N/(N-1)], C4*ZCRIT(N)*MAX{MEDIAN[SIGMA(YI)], 1.25*MEDIAN{ABS[YI - MEDIAN(YI)]}*SQRT[N/(N-1)]}) DEFAULT VALUES: Q = R = 0 AND C1 = C2 = C3 = C4 = 0 THESE PROVIDE NO DATA REJECTION BY EITHER THE P,Q,R OR THE C1,C2,C3,C4 OUTLIER REJECTION TESTS, AND OUTLIER TREATMENT IS CONTROLLED BY THE DATA AVERAGING WEIGHTING SCHEME SPECIFIED ON RECORD 10. REASONABLE TRIAL VALUES ARE: Q = 1 C1 = 0.05 R = 4 C2 = 0 C3 = 0 C4 = 1 12. VARIABLES FOR ESTIMATING SIGMA() FROM **(1/2) ------------------------------------------------------------- (*, TWO VALUES) RIJ = SISJ = (DEFAULT VALUES: RIJ = 0.5, SISJ = 0.01*0.01. TO SELECT RIJ = SISJ = 0, ENTER RIJ = SISJ = -1.) 13. OUTPUT LISTS CONTROL VARIABLES (*, SIX VALUES) ------------------------------ QLIMIT, ZLIMIT, IPRINT, JPRINT, JPATH, QPRINT QLIMIT = MINIMUM Q = RMSD/ESD TO DEFINE DISCORDANT MEASUREMENT SAMPLES. ZLIMIT = MINIMUM Z = ABS(Y - YMEAN)/ESD TO DEFINE STATISTICAL OUTLIER MEASUREMENTS IN SAMPLES WITH Q > QLIMIT. IPRINT = -1 DO NOT LIST ANY REFLECTIONS. = 0 LIST DISCORDANT REFLECTION SAMPLES WITH ONE OR MORE REJECTED OR STATISTICAL OUTLIER MEASUREMENTS. = 1 ALSO LIST SPECIAL AXIAL REFLECTIONS H00, 0K0, 00L, HH0, H0H, 0KK, AND HHH. = 2 ALSO LIST SPECIAL ZONAL REFLECTIONS HK0, H0L, 0KL, HKK, HKH, AND HHL. JPRINT = N IF N > 0, ALSO LIST EVERY N-TH REFLECTION. JPATH = 0 DO NOT, = 1 DO WRITE TO THE OUTPUT REFLECTION FILE AVERAGED TBAR VALUES (MM) AND BEAM DIRECTION VECTOR COMPONENTS. QPRINT = THRESHOLD VALUE OF Q = YMEAN/MAX(ESD,RMSD) FOR COMPILING PRINTED TABLES OF DISTRIBUTION STATISTICS ON DATA WITH Q .GE. QPRINT. DEFAULT VALUES: QLIMIT = 4 ZLIMIT = 4 IPRINT = 0 JPRINT = 0 JPATH = 0 QPRINT = 3 JPATH .NE. 0 MAKES SENSE ONLY FOR AVERAGING ONLY REPEATED MEASUREMENTS, NOT SYMMETRY EQUIVALENT OR AZIMUTH-ROTATION EQUIVALENT MEASUREMENTS. 14. INPUT S = SIN(THETA)/LAMBDA SHELL LIMITS (*, TWO VALUES) ---------------------------------------- SMIN1, SMAX1 IF SMIN1 .GE. 0 .AND. SMAX1 .GT. SMIN1, THEN ONLY DATA IN THE S-SHELL FOR WHICH SMIN1 .LE. S .AND. S .LE. SMAX1 WILL BE PROCESSED. DEFAULT IS NO S-LIMITS. 15. MEASUREMENTS TO BE REJECTED WHEN READ AS INPUT (*) ---------------------------------------------- JI, JH, JK, JL SERIAL NUMBERS AND MILLER INDICES OF KNOWN BAD MEASUREMENTS TO BE REJECTED. GIVE ONE RECORD PER MEASUREMENT. ------------------------------------------------------------------------ SPACE GROUP CONDITIONS LIMITING POSSIBLE REFLECTIONS ----- ----- ---------- -------- -------- ----------- THE CONDITIONS MUST BE ENTERED IN THE FOLLOWING FORM, ONE RECORD PER CONDITION, NO LEADING OR EMBEDDED BLANKS IN THE RECORDS. NOTE, IN PARTICULAR, THAT THE CYCLIC PERMUTATION ORDER IS USED FOR THE H AND L INDICES; E.G., FOR THE CONDITION FOR AN N-GLIDE PLANE PERPENDICULAR TO THE B-AXIS, ENTER "H0L,L+H=2N". HKL,H+K=2N HKL,K+L=2N HKL,L+H=2N HKL,H+K,K+L=2N HKL,H+K+L=2N HKL,-H+K+L=3N HKL,H-K+L=3N HKL,H-K=3N HK0,H=2N HK0,K=2N HK0,H+K=2N HK0,H+K=4N 0KL,K=2N 0KL,L=2N 0KL,K+L=2N 0KL,K+L=4N H0L,L=2N H0L,H=2N H0L,L+H=2N H0L,L+H=4N HH(-2H)L,L=2N H(-H)0L,L=2N HHL,L=2N(R-AXES) HHL,L=2N HKH,K=2N HKK,H=2N HHL,2H+L=4N HKH,2H+K=4N HKK,2K+H=4N H00,H=2N H00,H=4N 0K0,K=2N 0K0,K=4N 00L,L=2N 00L,L=4N 000L,L=2N 000L,L=3N 000L,L=6N ------------------------------------------------------------------------ POINT GROUP SYMBOLS ----- ----- ------- THE SYMBOL FOR THE CRYSTAL CLASS POINT GROUP MUST BE ENTERED AS ONE OF THE FORMS GIVEN IN THE FOLLOWING TABLE. TRICL. MONOCL. ORTHO. TETRAG. TRIG. HEXAG. RHOMB. CUB. 1 2 222 4 3 6 R3 23 -1 M MM2 -4 -3 -6 R-3 M3 2/M MMM 4/M 6/M 312 R32 432 422 321 622 R3M -43M 4MM 31M 6MM R-3M M3M -42M 3M1 -6M2 -4M2 -31M -62M 4/MMM -3M1 6/MMM NOTE THAT 42 SYMBOLS ARE TABULATED BECAUSE THERE ARE TEN CASES OF ALTERNATIVE SETTINGS OF AXES FOR SEVEN OF THE 32 CRYSTALLOGRAPHIC POINT GROUPS: -42M -4M2 3 R3 -3 R-3 312 321 R32 31M 3M1 R3M -31M -3M1 R-3M -6M2 -62M THE SYMBOLS GIVE THE LOCATIONS OF THE SYMMETRY ELEMENTS WITH RESPECT TO CRYSTAL, NOT RECIPROCAL, LATTICE AXES, BUT THE DISTINCTION IS IMPORTANT ONLY FOR THE TRIGONAL GROUPS ON HEXAGONAL AXES, AND FOR THE HEXAGONAL GROUPS. FOR EXAMPLE, FOR -3M1, WITH FULL SYMBOL -3 2/M 1, THE CRYSTAL A AND, THEREFORE, B AXES ARE 2- FOLD AXES, AND THE (X,X,0) CRYSTAL PLANES ARE MIRROR PLANES; THE RECIPROCAL LATTICE A* AND B* AXES, WHICH ARE PERPENDICULAR TO THE CRYSTAL B AND A AXES, LIE IN THE MIRROR PLANES, AND THE [H,H,0] AXIS IS A 2-FOLD AXIS. FOR THE ALTERNATIVE SETTING -31M, A AND B LIE IN THE MIRROR PLANES, AND A* AND B* ALONG THE 2-FOLD AXES. FOR THE NONCENTROSYMMETRIC POINT GROUPS, THE UNIQUE SECTOR OF THE RECIPROCAL LATTICE IS CHOSEN SUCH THAT BIJVOET PAIRS OF REFLECTIONS DIFFER IN THE SIGN OF THEIR L-INDEX IN ALL POINT GROUPS EXCEPT THE POINT GROUP 2, IN WHICH THE BIJVOET PAIRS DIFFER IN THE SIGN OF THEIR K-INDEX. THUS THE OUTPUT FILE OF UNIQUE DATA WILL CONTAIN BIJVOET PAIRS HKL AND HK-L, OR HKL AND H-KL, BUT NOT FRIEDEL PAIRS OF ANTI-REFLECTIONS HKL AND -H-K-L. ALSO, THE BIJVOET PAIRS WILL NOT, IN GENERAL, BE ADJACENT IN THE OUTPUT FILE, WHICH IS ORDERED SUCH THAT L CHANGES FASTEST AND H SLOWEST. POINT GROUP EQUIVALENT REFLECTION INDICES ARE TRANSFORMED TO UNIQUE REFLECTION INDICES IN SUBROUTINE EQUIV. SOME OF THE INDEX TRANSFORMATION CODES IN SUBROUTINE EQUIV FOR THE HIGHER SYMMETRY POINT GROUPS HAVE NOT BEEN THOROUGHLY TESTED, AND USERS WHO HAVE A HIGH SYMMETRY CASE SHOULD CHECK THAT THE PERTINENT CODE IS CORRECT. ------------------------------------------------------------------------