2.15                      *******************
                                  * CMBANO WRITE-UP *
                                  *******************
        
           CMBANO is a program to merge native data with derivative anomalous 
        scattering data.  It is used to prepare a "merged" file for use in 
        PHASIT to phase by derivative anomalous scattering, to make an input
        file for TOPDEL to create Bijvoet difference Patterson coeficients, to
        make input files for MRGBDF for Bijvoet difference Fouriers and to get
        input files for GREF for refining heavy atom sites against anomalous
        scattering differences. The program is interactive and prompts for the
        names of the input and output files, and whether or not one wants to
        include anisotropic scaling corrections. The program matches up all
        derivative Bijvoet pairs with the corresponding native data, and
        scales the derivative data to the native. The reflections need not be
        indexed identically in both input files as symmetry information is
        used to match up the data. Each input data set however, should contain
        only unique reflections. The data sets are initially scaled by
        computing a relative Wilson plot and applying the scale and thermal
        corrections derived from it. The user is then asked whether any
        additional non-Wilson scaling should be done. If it is, then the
        user is asked whether anisotropic or local scaling should be done. 
        If anisotropic scaling is requested, the reciprocal lattice vectors
        are orthogonalized and the elements of a symmetric 3x3 scaling tensor
        are refined by two cycles of least squares. The anisotropic scaling is
        then applied to all of the derivative reflections, and the tensor
        elements are printed out. For an isotropic distribution the diagonal
        elements should be 1.0 and the off diagonal elements zero. Thus
        deviations from these quantities indicate the degree of anisotropy. If
        local scaling is requested, then a scale factor for each reflection is
        determined by a least squares fit of the F's for all neighboring
        reflections within a given sphere radius to the corresponding native
        F's, neglecting the central reflection to be scaled. For each
        reflection the sphere radius is initially chosen to encompass about
        125 reflections, and the derived scale factor is accepted if at least
        80 neighbors are found. If needed, the sphere radius will be
        incrementally adjusted until either a preset maximum is reached, or
        80 neighbors are found. If the maximum is reached, then the scale
        factor will still be accepted if 40 neighbors are found. If not,
        the program will stop and indicate that the data set is too sparse
        for meaningful local scaling. The mean and minimum number of
        neighbors used is then listed. For both anisotropic and local
        scaling, the minimum and maximum scale factors that were applied are
        listed. Note that the additional scaling (anisotropic or local), if
        invoked, is applied ONLY TO SCALE THE DERIVATIVE DATA TO THE NATIVE,
        and NOT to scale F+ to F- within the derivative. Thus one may still
        want to apply some type of additional scaling to the F+,F- values
        prior to running this program.
        
                                   ***** FILES *****
        
        The native data file must contain Miller indices and the corresponding 
        reflection data values. The derivative data file must contain Miller 
        indices and the corresponding reflection data including Bijvoet pairs.
        The files however, can be one of three types. If the file name ends
        with ".MU" or ".mu", then it is assumed to be a "MULIST" i.e. a file
        generated by program MAKEMU (in the XENGEN system) or by program
        FBSCALE. In that case each record is assumed to contain
        
        H, K, L, RES, F, Sig(F), F+, Sig(F+), F-, Sig(F-), Iflag
        
        in format  (3I4, 1X, F6.4, 6(1X, F8.2) 1X, I2 ). For the native file
        only the indices, F and Sig(F) are used. For the derivative file only
        the indices, F+, Sig(F+), F-, and Sig(F-) are used. If "Iflag" is
        present in the derivative file, then it will be used to screen for
        viable anomalous scattering data, and one can consult the XENGEN
        documentation for the meaning of the Iflag variable. If it is absent,
        then only reflections with both F+ and F- values greater than zero
        will be used. (This criteria also applied even if Iflag is present).


        If the filename ends with ".SCA" or ".sca", then a SCALEPACK
        file is assumed. After a variable number of header records
        (see the FILE FORMATS section), reflection records follow and
        contain

        H, K, L, I+, sig(I+), I-, sig(I-)

        in format (3I4, 4F8.1)

        Note the use of intensities rather than F's. The last two items
        in each record may be omitted FOR THE NATIVE SET. If present in the
        native file they would be used only if I+ was not measured. For the
        derivative file in general all quantities should be present in each
        record as if either member of the Bijvoet pair is missing the
        reflection will not be used. Only reflection with all F's greater
        than zero will be used. 

        If the filename does not end in ".MU", ".mu", ".SCA" or ".sca"
        each record is assumed to contain
        
        H, K, L, F, Sig(F)
        
        if it is the native file and
        
        H, K, L, F+, Sig(F+), F-, Sig(F-)
        
        if it is the derivative file. The file is then read in free format 
        i.e. each item must be separated by at least one space or a comma. The 
        indices must be INTEGERS and all F and Sig values REALS. Reflections
        are accepted only if the F (or F+ AND F-, for derivative data) is/are
        greater than zero. 
      
        It is absolutely ESSENTIAL that only valid measurements of BOTH
        F+ and F- are used by the program, and the screening criteria above
        is designed to insure that. However, depending on the source of the
        data it is still possible for invalid reflections to be used. For
        example, some data reduction programs output only the mean F and
        del ano, and the user then writes a small program to convert this
        to the individual F+, F- values. If a del ano of zero is encountered,
        it MAY mean that one of the F's (either F+ or F-) WAS NEVER MEASURED!
        Yet the conversion program might output this as a Bijvoet pair with
        a Bijvoet difference of zero! Likewise some data reduction programs,
        even if they output individual F+ and F- values, actually set one
        of them equal to the other if only one was measured. This again leads
        to erroneous Bijvoet differences. Know what your data reduction
        program is doing, and be very wary of any non-centric reflections
        with F+ EXACTLY equal to F-, or have del ano equal to zero!
                                                                      
 
        The output file contains records with
        
        H, K, L, FP, Sig(FP), FPH+, Sig(FPH+), FPH-, Sig(FPH-)
        
        in format ( 3I4, 6F10.2). The last 4 quantities are rescaled to match 
        the native data set. This file is suitable for input to PHASIT using 
        the ISOFLG=2 option, or for input to MRGBDF to prepare coefficients 
        for Bijvoet difference or cross Bijvoet difference Fouriers.