Contents Prev Manual

PROGRAM D3OP99

Analysis of raw D3 data 1999 version

Description:

Reads the data files, written by the polarised neutron diffractometer D3, from the ILL ASCII data base and processes them according to the chosen options.
The processing procedure depends upon the orders being processed and it is not useful to process different classes of order in the same run. The different classes are:
A. Flipping ratios (*BPB and *HKM, *SRM type 0)
B. Angle scans (*AIS and *HKM, *SRM type 1)
Note that COL5D3 may be more appropriate in this case

C. Centering data

A. Flipping ratios
The program reads the detector counts, monitor counts and times for the measurements in two spin states for the peak and for the background. A dead time correction is made and the results used to calculate the flipping ratios. Checks are carried out on the consistency of successive measurements of the same peak, and of the reproducibility of the peak count between the measurement value and the value found in the peak search.

B. Angle Scans
After making a lost counts correction the recorded counts in eqch channel are printed together with the value of the primary scanned angle and a cumulative sum of the counts. These may be used to estimate a crude integrated intensity.
To obtain better integrated intensities use COL5D3.

C. The results of the centering orders can be extracted for use in
determining the UB matrix, lattice parameters etc.

Input:

A sequence of the ASCII data files written by D3. These are normally taken from the ILL database, but will be taken from the path given in the environment variable D3DATA if that is defined. The current (Sept 1998) path for the ILL data base is /usr/illdata, if another path is needed it can be given in the environment variable ILLDATA. The sequence of files is terminated by a missing file in the sequence:
fname(n+1)= fname(n) + 1
where 9+1=a, a+1=b ... and z+1=10

Output:

A listing file which reports the processing which was done and any changes which were made to the experimental configuration (eg. changes of wavelength, filter etc) during the run.
A file "dcards.cry" to which the polarisation, UB matrix and wavelength are written each time they change.
If flipping ratio measurements are being processed the results are written on an output file with default extension ".fli". The data recorded for each reflection are: a sequence number, the hkl, the diffractometer angles \$\omega\$, \$\gamma\$ and \$\nu\$, the flipping ratio and its standard deviation, the peak count in cps (background corrected), the temperature and magnetic field and finally the date and time of the measurement. FORMAT (4I5,3F8.2,2F10.6,F10.1,32A1).
This file is suitable for input to ARRNGE with DTYP 1.
A binary file comdat.bin which records the parameters which were defined during the processing, and which will be reused in future runs of D3OP97 which then do not need to be initialised.

Notes:

Uses new UNIX database. The path from which to read the data can be specified by the environment variable D3DATA
The path for the data base can be given in the environment variable
ILLDATA. It defaults to /usr/illdata (Sept98).
Non-Integer indices can be printed
If "Continue" checks to see whether more data are available on the last file read in the prevous run.

Running the program:

When running the program the user is asked whether to "Initialise" or "Not" or whether to "Continue". The reply is "Y"es to start a new experiment or if the common data have been changed since the last run, i.e. the sample, experimental conditions, or wavelength are different. Reply "C"ontinue to proceed without asking questions. If the reply is C processing will continue from the next file in sequence after the last processed in the previous run. The reply should be "N"o if there is a break in the sequence of output files.
If the reply is Y or N futher questions are posed to allow the source of data to be identified. The replies to most questions should be self evident. The cycle number is 0 or "return" for the current cycle, -1 for the previous cycle, otherwise the 3 digit cycle number eg 964 for the 4th cycle in 1994.
The first and optionally last files to process should be in lower case without an extension.
The orders to be processed should be one or more of *BPB, *AIS, *CEN *HKL, *HKM, *SRM But as mentioned above it is not usually useful to process different classes of order in the same run.

Calls:

ADDSPC AISPRC ASK BPBPRC CENPRC CHGPAR CLOFIL GMEQ INFILE INITIL JGMZER LENGT MESS NCFIND NCHECK NOPFIL POBPRC RDINTG SAYS TESTP UPONE UPPER

Common blocks used:

/ALWORD/ to use all members
/D3OPC/ to use ISNAME IUNAME IP1 IPOLD DATDIR OP2 NORD MONOID FILTER DATE TEMPER DVM MESBUF
/D3OPN/ to use IGEO ALAM UBM IMTYP AIS IAIS NBPB NSEQ IMEAS LCOUNT ANG POLARS BLSPS TMORTS LUN LUNO IEND OLDFIL
/GLOBAL/ to use NSYSTM
/HEDING/ to use all members
/IOUNIT/ to use LPT ITO
/NWORDS/ to use all members
/SCRACH/ to use all members

*** D3OP99 from D3OP99 by PJB 21-June 1999 ***

Classification:

Data Collection and Reduction . . . . . . . Main Program

SUBROUTINE BPBPRC(M)

Processes BPB scans

Calls:

GMEQ INTIND LSTCTS NCHECK TESTP

Called by:

D3OP99

Common blocks used:

/D3OPC/ to use DATE TEMPER FIELD DVM MESBUF
/D3OPN/ to use NBPB NSEQ LCOUNT ANG TMORTS LUNO
/IOUNIT/ to use LPT
/HEDING/ to use all members
/NWORDS/ to use all members

*** BPBPRC modified by PJB Jun 90 to check reproducubility of peak ***



SUBROUTINE POBPRC(M)

POB processing not implemented

Calls:

MESS

Called by:

D3OP99

Common blocks used:

/IOUNIT/ to use LPT

*** POBPRC BY PJB OCT 88 ***



SUBROUTINE AISPRC(M,LUNS)

crude processing of angle scans

Calls:

GMSCA LENGT LSTCTS NCHECK NOPFIL TESTP

Called by:

D3OP99

Common blocks used:

/D3OPC/ to use IP1 OP2 TEMPER MESBUF
/D3OPN/ to use AIS IAIS NSEQ LCOUNT TMORTS LUN
/IOUNIT/ to use LPT
/HEDING/ to use all members
/NWORDS/ to use all members
/SCRACH/ to use all members

*** AISPRC BY PJB OCT 88 ***



SUBROUTINE CENPRC(M)

Procceses centreing commands

Calls:

FILNOM INTIND NCHECK NOPFIL TESTP

Called by:

D3OP99

Common blocks used:

/D3OPC/ to use OP3 MESBUF
/D3OPN/ to use LCOUNT ANG LUN
/HEDING/ to use all members
/IOUNIT/ to use LPT
/NWORDS/ to use all members
/SCRACH/ to use all members

*** CENPRC by PJB 1990 ***



FUNCTION NCHECK(M,LL)

The fundamental data input routine for D3 data

Calls:

CLOFIL INCREM INFILE LENGT MESS NCFIND NCHECK NDIGIT NOPFIL TESTP UPONE

Called by:

D3OP99 BPBPRC AISPRC CENPRC NCHECK

Common blocks used:

/ALWORD/ to use all members
/D3OPC/ to use IP1 IP2 IPOLD DATDIR MESBUF
/D3OPN/ to use NSEQ LCOUNT IEND OLDFIL
/HEDING/ to use all members
/IOUNIT/ to use LPT ITO LUNI
/NWORDS/ to use all members
/SCRACH/ to use all members

*** NCHECK BY PJB OCT 88 ***



SUBROUTINE INFILE

Calls:

ASK LENGT MESS RDINTG RDWORD SAYS UPONE

Called by:

D3OP99 NCHECK

Common blocks used:

/D3OPC/ to use IP1 IP2 DATDIR
/GLOBAL/ to use NSYSTM



BLOCK DATA PAGEHD

Common blocks used:

/ALWORD/ to use all members
/NWORDS/ to use all members
/HEDING/ to use all members




Contents Manual

P. Jane Brown e-mail: brown@ill.fr
Institut Laue Langevin,
Grenoble, FRANCE