DataRED
Data Reduction Program. JRC-LLB 2004
DataRED is a simple console program useful for data reduction of single crystal diffraction patterns.
The program read the list of measured reflections and perform averages to provide a unique set of independent reflections to be used for structure solution or refinement. The output files are intended to be used by the program FullProf. The list of measured reflections must be in a file respecting one of the seven available input formats.
The program is able to transform the reflection indices to another setting provided by the user. It constructs the appropriate file containing information about twinning when twin laws are provided by the user in the input control file, etc. DataRED also handles the case of incommensurate magnetic structures where a propagation vector is given.
Running the program
Two input files are normally needed:
1) code_datared.red
2) reflections.hkl
Invoking the program:
Local_Prompt> datared code_datared
If the file code_datared.red is not given, the program will ask for the necessary items to properly perform the data reduction (less detailed calculations).
Instructions for input file
All input is given as a KeyWord followed by real, integer or character value(s). KeyWords may be given in lower or upper case but not by mixing the two types (Twin commands are case sensitive!).
The three first lines of the file should be given in the following order:
TITLE Test of data reduction program
Arbitrary title
INPFIL reflections.hkl
Name of the input file (may have an extension /= hkl)
OUTFIL code_out
Code of the output files
The rest of the lines may be given in whatever order and some of them may be absent. The TWIN commands are expected to be at the end.
The following keywords can be recognized by the program:
TRANSF ((a(i,j),j=1,3),i=1,3)
Transformation matrix for indices previous to treatment
SPGR Spgr_Symbol
Space Group (averaging will take into account the given symmetry)
To avoid averaging it is useful the use of a triclinic space group P1, P -1 or I -1, etc...
NFRDL
If given the Friedel law is not satisfied
EPSIL eps_val
If given, the comparison integer/real will be performed within the interval: +/- eps_val. The default value is 0.01.
Ex.: 0.98 is considered as 1.00 if eps_val=0.025
KVEC
Propagation vector
CELL a b c alpha beta gamma
Unit cell parameters used in the data collection
WAVE lambda
Wavelength
HKL_T n
Type of hkl-data
N=0
Shelx-like input file (3i4,2f8.2) type: HKLF 4: h,k,l,F2,s(F2)
(CELL and WAVE should be given)
N=1
Read h,k,l, Intensity and Sigma in free format
(CELL and WAVE should be given)
N=2
Data from COLL5 (two lines per reflection) (D23): *.fsq
(hkl-real)
(CELL and WAVE should be given)
Format of the reflections file => (i6,3f7.3,2f10.2,3f8.2)
For reading the items: Numor, h k l Int Sigma gamma nu phi
N=3
Read the first line as a comment (FullProf *.int file).
The second line contents the format of the hkl lines
In the third line the value of the wavelength is read.
In the following lines the following items are read:
h,k,l, Intensity, Sigma, code, 2theta, omega, chi, phi
N=4
Data from COLL5 (1 line per reflection) *.col (hkl-integer)
Format of the reflections file => (i6,3i4,2f10.2,4f8.2)
For reading the items: Numor, h k l Int Sigma theta omega chi phi
N=5
Data from COLL5 (1 line per reflection) *.col (hkl-real)"
Format of the reflections file => (i6,3f6.2,f8.0,f4.0,4f8.2) "
For reading the items: Numor, h k l Int Sigma theta omega chi phi"
N=6
Data from COLL5 (1 line per reflection) *.col (hkl-real)"
Format of the reflections file => (i4,3f6.2,2f10.2,4f8.2) "
For reading the items: Numor, h k l Int Sigma theta omega chi phi"
The only difference between 6 and 4 is in the format i4,3f6.2 for the former to read the Numor and indices. (From 6T2)
N=7
Data from SXD (RAL-ISIS) to be read by FullProf
The items of reflections are as in the following header
.......................................................
Test of FullProf with data from SXD
# The first line above is considered as a title
# Lines starting with # or ! are coments of whatever type
! This is also a comment
!
! The program looks for a format item of the form given below
! It must start by "(" and finish with ")". It is a typical format
! descriptor in fortran. It is expected to read the items
! described below as titles of the colums
(3i4,2f9.2,i4,4f10.4)
0 0 0
# Information about the experiment
#
# bla,bla,....
#
# h k l Fsqr s(Fsqr) Cod Lambda Twotheta Absorpt. Tbar
1 5 0 533.01 13.53 1 2.8300 151.32 1.002 0.075 ........................................................
POWDER
If given the output file may be read by FullProf for JBT=-3, IRF=2, useful to "deduce" a powder pattern.
DOMAIN
In case of a propagation vector is given, the program will average the k-domains. This supposes that there is only a pair (k,-k) contributing to the magnetic structure. The analysis is performed automatically determining the group of the propagation vector and the star. If DOMAIN is not given the output will contain the whole arms of the star.
TWIN
Tells the program TWIN commands will be given below:
TWIN_nam Name of the TWIN model
Name of the twin model
TWIN_spg Space Group of domains
Space Group symbol for systematic absences of domain contributions
TWIN_typ itwin
Type of twin matrices given
ITWIN= 1
The domains contributing to an observation have indices obtained from the input (h,k,l) by multiplying the vector (hkl) by a real matrix P, so that (hkl)n = P (hkl). The number of the domains contributing to each observation depends if the resulting indices (hkl)n are integers.
ITWIN= 2
The input indices are given w.r.t. the super-lattice. It is supposed that a sub-lattice exist and the orientation of the superlattice could have different orientational domains. Each domain is entered as a matrix relating the superlattice direct cell to the parent sub-lattice.
ITWIN= 3
The input indices correspond to the first domain. The orientation of the first domain with respect to a cartesian frame is given by the user as for the other domains. Each domain is given by the orientation in the cartesian frame of each cell parameter a,b, c. Only the direction is needed. The program calculates internally the director cosinus.
Whatever the TWIN model the final matrices act on (hkl) as for ITWIN=1. For ITWIN=2,3 the angular position of the motors are tested for an eventual contribution even if the resulting indices are not integer.
TWIN_mat t11 t12 t13 t21 t22 t...
Matrices (one per domain) describing the domains
TWIN_ubm ubm11 ubm12 ubm13 ubm21..
UB-matrix, needed only for precise determination if itwin=2,3. Comparison of measured angle positions with calculated for the nearest reflections of other domains (In test stage at present).
TWIN_trf tr11 tr12 tr13 tr21 ...
Transfomation matrix for UB => UB-new = UB . TR
TWIN_mac Name of diffractometer
D9, 6T2, ...
TWIN_end
Tells the program that no more twin commands are needed
Output files
The output files are the following:
Output file: code_out.out
Reflections file: code_out.hkl
Rejected reflections file: code_out.rej
Example
TITLE Test of data reduction program BaNiPO
INPFIL banipo.hkl
OUTFIL banip
WAVE 1.17460
CELL 4.8020 4.8020 23.3300 90.000 90.000 120.000
SPGR R -1
HKL_T 3