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