C     13 September 2004  
C     ========================================================================
C     ==========================================================================
C
C     DDDDDDD   IIII   CCCCCC   VV    VV   OOOOOO   LL          0000        11
C     DD    DD   II   CC    CC  VV    VV  OO    OO  LL         00  00      11
C     DD    DD   II   CC        VV    VV  OO    OO  LL        00    00    11
C     DD    DD   II   CC        VV    VV  OO    OO  LL        00    00   11
C     DD    DD   II   CC         VV  VV   OO    OO  LL        00    00  11  11
C     DD    DD   II   CC    CC    VVVV    OO    OO  LL    LL   00  00  411111111
C     DDDDDDD   IIII   CCCCCC      VV      OOOOOO   LLLLLLLL    0000        11
C
C     ==========================================================================
C       ======================================================================
C
C     DICVOL04-VERSION : 03/05/2004
C
C
C        --------------------------------------------------------------
C        --------------------------------------------------------------
C        --------------------------------------------------------------
C        |    TO EXECUTE THE PROGRAM, ENTER :      DICVOL04           | 
C        |                                                            |
C        |    THEN, ENTER THE INPUT FILE NAME and OUTPUT FILE NAME    |
C        --------------------------------------------------------------
C        --------------------------------------------------------------
C        --------------------------------------------------------------
C
C
C     TRIAL AND ERROR METHOD FOR THE AUTOMATIC INDEXING OF POWDER DIFFRACTION
C     PATTERNS - VARIATION OF PARAMETERS BY SUCCESSIVE DICHOTOMY.
C
C     REFERENCE (1): A. Boultif & D. Lour, J. Appl. Cryst. 37, 724-731, 2004
C     ---------      Powder pattern indexing with the dichotomy method
C
C     THE FOLLOWING CRYSTALLINE SYSTEMS CAN BE EXAMINED :CUBIC, TETRAGONAL,
C     HEXAGONAL, ORTHORHOMBIC, MONOCLINIC AND TRICLINIC.
C
C     PRECURSOR PROGRAMS :
c       P1 AND P2 (REF. 2), DICVOL (REF. 3), DICVOL91 (REF. 4)
C
C                                  =======================
C
C     FOR FURTHER INFORMATION CONTACT
C               D. LOUER
C               LABORATOIRE DE CHIMIE DU SOLIDE ET INORGANIQUE MOLECULAIRE
C               GROUPE DE CRISTALLOGRAPHIE DES POUDRES ET REACTIVITE DES
C               SOLIDES
C               UNIVERSITE DE RENNES I
C               CAMPUS DE BEAULIEU
C               35042 RENNES cedex - FRANCE
C               E-MAIL  Daniel.Louer@free.fr
C
C         OR
c               A. BOULTIF
C               LABORATOIRE DE CRISTALLOGRAPHIE
C               DEPARTEMENT DE PHYSIQUE
C               FACULTE DES SCIENCES
C               UNIVERSITE MENTOURI - CONSTANTINE
c               25000 CONSTANTINE - ALGERIE
C               TEL./FAX  (213) 31 61 47 47
C               E-MAIL  ABoultif@caramail.com
C
C
C
C      ---------------------------------------------------------------
C      |            G E N E R A L   I N S T R U C T I O N S          |
C      ---------------------------------------------------------------
C
C      DICVOL PROPOSES SOLUTIONS; THE USER DISPOSES OF THEM.
C      THE AUTHORS DISCLAIM RESPONSABILITY FOR ALL USE OF THIS PROGRAM.
C
C      DATA CARDS
C      ----------
C
C  CARD 1  TITLE                                          FORMAT(16A4)
C
C
C  CARD 2  N,ITYPE,JC,JT,JH,JO,JM,JTR                     FREE FORMAT
C
C          N               NUMBER OF LINES USED FOR SEARCHING SOLUTIONS.
C                          (This number is, generally, lower than the
c                           number of input lines). e.g. N = 20
C          ITYPE           SPACING DATA TYPE.
C                      =1  THETA BRAGG IN DEGREES.
C                      =2  2-THETA ANGLE IN DEGREES.
C                      =3  D-SPACING IN ANGSTROMS.
C                      =4  Q SPECIFIED IN Q-UNITS AS E+04/D**2.
C          JC          =0  CUBIC SYSTEM IS NOT TESTED.
C                      =1  CUBIC SYSTEM IS TESTED.
C          JT          =0  TETRAGONAL SYSTEM IS NOT TESTED.
C                      =1  TETRAGONAL SYSTEM IS TESTED.
C          JH          =0  HEXAGONAL SYSTEM IS NOT TESTED.
C                      =1  HEXAGONAL SYSTEM IS TESTED.
C          JO          =0  ORTHORHOMBIC SYSTEM IS NOT TESTED.
C                      =1  ORTHORHOMBIC SYSTEM IS TESTED.
C          JM          =0  MONOCLINIC SYSTEM IS NOT TESTED.
C                      =1  MONOCLINIC SYSTEM IS TESTED.
C          JTR         =0  TRICLINIC SYSTEM IS NOT TESTED.
C                      =1  TRICLINIC SYSTEM IS TESTED.
C
C
C  CARD 3  AMAX,BMAX,CMAX,VOLMIN,VOLMAX,BEMIN,BEMAX       FREE FORMAT
C
C          AMAX    MAXIMUM VALUE OF UNIT CELL DIMENSION A IN ANGSTROMS.
C                  (IF AMAX= 0.0 DEFAULT= 25. ANGSTROMS)
C          BMAX    MAXIMUM VALUE OF UNIT CELL DIMENSION B IN ANGSTROMS.
C                  (IF BMAX= 0.0 DEFAULT= 25. ANGSTROMS)
C          CMAX    MAXIMUM VALUE OF UNIT CELL DIMENSION C IN ANGSTROMS.
C                  (IF CMAX= 0.0 DEFAULT= 25. ANGSTROMS)
C          VOLMIN  MINIMUM VOLUME FOR TRIAL UNIT CELLS IN ANGSTROMS**3.
C          VOLMAX  MAXIMUM VOLUME FOR TRIAL UNIT CELLS IN ANGSTROMS**3.
C                  (IF VOLMAX= 0.0 DEFAULT= 2500. ANGSTROMS**3)
C          BEMIN   MINIMUM ANGLE FOR UNIT CELL IN DEGREES
C                  (IF BEMIN= 0.0 DEFAULT= 90. DEGREES).
C          BEMAX   MAXIMUM ANGLE FOR UNIT CELL IN DEGREES
C                  (IF BEMAX= 0.0 DEFAULT= 125. DEGREES).
C
C
C  CARD 4  WAVE,POIMOL,DENS,DELDEN                        FREE FORMAT
C
C          WAVE    WAVELENGTH IN ANGSTROMS (DEFAULT=0.0 IF CU K ALPHA1).
C          POIMOL  MOLECULAR WEIGHT OF ONE FORMULA UNIT IN A.M.U.
C                  (DEFAULT =0.0 IF FORMULA WEIGHT NOT KNOWN).
C          DENS    MEASURED DENSITY IN G CM(**-3)
C                  (DEFAULT =0.0 IF DENSITY NOT KNOWN).
C          DELDEN  ABSOLUTE ERROR IN MEASURED DENSITY.
C
C
C  CARD 5  EPS,FOM, NSPUR, ZERO_S,ZERO_REF                FREE FORMAT
C
C          EPS       =0.0  THE ABSOLUTE ERROR ON EACH OBSERVED LINE
C                          IS TAKEN TO .03 DEG. 2THETA (DEFAULT VALUE)
C                          WHATEVER THE SPACING DATA TYPE (ITYPE IN CARD 2).
C                    =1.0  THE ABSOLUTE ERROR ON EACH OBSERVED LINE IS
C                          INPUT INDIVIDUALLY IN THE FOLLOWING CARDS,
C                          TOGETHER WITH THE OBSERVED 'D(I)', ACCORDING
C                          WITH THE SPACING DATA UNIT.
C                    EPS NE 0.0 AND 1.0
C                          THE ABSOLUTE ERROR IS TAKEN AS A CONSTANT
C                          (= EPS),IN DEG. 2THETA, WHATEVER THE SPACING
C                          DATA TYPE (ITYPE IN CARD 2).
C          FOM             LOWER FIGURE OF MERIT M(N) REQUIRED FOR PRINTED
C                          SOLUTION(S) (DEFAULT=0.0 IF LOWER M(N)=10.0).
C          IMP       MAXIMUN NUMBER OF IMPURITY TOLERANCE AMONG THE FIRST
C			         N LINES.
C                    IF 'IMP' <0 THE SEARCH STARTS WITH ZERO IMPURITY LINES. 
C                                ,THEN, IF NO SOLUTION HAS BEEN FOUND, IT 
C                                CONTINUES WITH ONE IMPURITY LINES, AND 
C                                SO ON UNTIL 'IMP' IMPURITY LINES IS REACHED.
C          ZERO_S    A PRIORI SEARCH FOR A ZERO-POINT ERROR IN INPUT DATA.
C                    =0    NO SEARCH
C                    =1    SEARCH
C                    IF ZERO_S NE 0 OR 1, THEN ZERO_S IS A KNOWN ZERO 
C                          CORRECTION(e.g. -0.10) IN DEG. 2THETA.
C          ZERO_REF  =0    NO ZERO-POINT LEAST-SQUARES REFINEMENT.
C                    =1    ZERO-POINT LEAST-SQUARES REFINEMENT.
C
C  CARDS 6 to 6+N_TOTAL   D(I),EPSIL(I)                   FREE FORMAT
C          (ONE FOR EACH INPUT LINE)
C          D(I)    VALUE DESCRIBING THE OBSERVED POSITION OF LINE 'I'
C                  ACCORDING TO 'ITYPE'.
C          EPSIL   ABSOLUTE ERROR IN 'D(I)', ACCORDING TO 'ITYPE',
C                  ONLY IF EPS=1.0 (CARD 5).
C  NOTE:
C          IF ITYPE=1,2,4 THE VALUES OF 'D(I)' AND 'EPSIL(I)' MUST
C          BE LISTED IN INCREASING ORDER.
C          IF ITYPE=3 THEY MUST BE IN DECREASING ORDER.
C
C        *****************************************************
C        *                                                   *
C        *               THE USE OF DICVOL04                 *
C        *                                                   *
C        *****************************************************
C
C      USE AS INPUT DATA ALL AVAILABLE DIFFRACTION LINES. ONLY THE FIRST
C      N (e.g. 20) LINES WILL BE USED FOR THE SEARCH OF SOLUTIONS. THESE
C      SOLUTIONS ARE THEN USED AUTOMATICALLY FOR REVIEWING ALL INPUT DATA.
C      THE IMPURITY TOLERANCE 'IMP' IS RELATED ONLY TO THE N LINES USED FOR
C      SEARCHING THE SOLUTION (OF COURSE, ADDITIONAL UNINDEXED LINES CAN
C      BE FOUND AMONG THE EXTRA INPUT LINES IN THE REVIEWING PROCESS).
C      USE WITH CARE THE IMPURITY TOLERANCE: SPURIOUS LINES INCREASES THE
C      RISK TO MISS THE CORRECT SOLUTION.
C
C      DICVOL04 OFFERS THE POSSIBILITY TO ANALYSE YOUR INPUT DATA FOR THE
C      PRESENCE OF A ZERO-POINT ERROR. IT CAN SUGGEST MORE THAN ONE OR TWO
C      SOLUTIONS (DUE TO UNCERTAINTY IN SEARCHING HARMONIC DIFFRACTION LINES).
C      THIS OPTION IS TO BE USED PRIOR THE INDEXING PROCESS. PLEASE, AS FAR AS
C      POSSIBLE AVOID THE USE OF THIS FACILITY BY ENSURING THE QUALITY OF YOUR
C      COLLECTED DATA.
C
C      SUGGESTED STRATEGY:
C      ------------------
C      IT IS RECOMMENDED TO USE A TWO- OR THREE-STAGES PROCEDURE
C      (i.e. TRICLINIC LATTICES SHOULD PREFERABLY BE USED SEPARATELY), e.g.:
C        1- SEARCH IN HIGH SYMMETRIES DOWN TO ORTHORHOMBIC.
C           CARD 2 : N,ITYPE,1,1,1,1,0,0
C        2- SEARCH IN MONOCLINIC SYMMETRY.
C           CARD 2 : N,ITYPE,0,0,0,0,1,0
C        3- IF NECESSARY, SEARCH IN TRICLINIC SYMMETRY.
C           CARD 2 : N,ITYPE,0,0,0,0,0,1
C
C      NOTE THAT FOR SOLUTIONS WITH MONOCLINIC AND TRICLINIC SYMMETRIES
C      THE PROGRAM PROVIDES THE REDUCED CELL. (IF VARIOUS EQUIVALENT SOLUTIONS
C      ARE FOUND, ONLY ONE OF THEM IS LISTED IN THE OUTPUT FILE.)
C
C      CASE OF TRIGONAL SYMMETRY WITH RHOMBOEDRAL LATTICE: THE PATTERN IS
C	 INDEXED WITH AN HEXAGONAL LATTICE, HAVING A UNIT CELL VOLUME THREE
C	 TIMES GREATER.
C
C  RECOMMENDATIONS
C  ---------------
C      READ CAREFULLY REFERENCES 1 AND 5, AS WELL AS THIS USER GUIDE.
C
C      PLEASE, SPEND TIME TO ENSURE THE QUALITY OF YOUR OBSERVED DATA (SEE
C      REF. 5). WITH ACCURATE DATA THE SUCCESS RATE OF DICVOL04 IS VERY HIGH.
C      PEAK POSITIONS SHOULD BE EXTRATED WITH A PROFILE FITTING SOFTWARE.
C      AN INTERACTIVE PROGRAM SHOULD BE PREFERRED, SINCE AUTOMATIC EXTRACTIONS
C      CAN MISS LINES (LOW INTENSITY, SHOULDER, ..).
C
C      WITH BAD DATA, THE CHANCE TO OBTAIN THE CORRECT SOLUTION IS VERY
C      SMALL AND THE CALCULATION CAN BE TIME-CONSUMMING.
C
C      WITH MODERN X-RAY POWDER DIFFRACTOMETERS (THE USE OF MONOCHROMATIC
C      RADIATION IS STRONGLY RECOMMENDED) ABSOLUTE ERRORS ON PEAK
C      POSITIONS LOWER THAN 0.02 DEGREES 2-THETA CAN BE ROUTINELY OBTAINED.
C      FOR INDEXING PURPOSES, ERRORS SHOULD NOT(IDEALLY) EXCEED 0.03 DEG.
C      2-THETA.
C      IN EXCEPTIONAL CASES, A FEW LINES WITH GREATER INDIVIDUAL ESTIMATED
C      ERROR CAN BE INTRODUCED IN INPUT DATA. IN THIS CASE, USE THE PARAMETER
C      EPS= 1. IN CARD 5, AND ENTER INDIVIDUAL ERRORS ON EACH LINE.
C
C      WITH HIGH RESOLUTION POWDER DIFFRACTION DATA (CONVENTIONAL OR,
C      PARTICULARLY, SYNCHROTRON X-RAY SOURCES), THE ABSOLUTE ERROR IS
C      USUALLY LESS THAN 0.02 (OR EVEN 0.01) DEG. 2-THETA; CONSEQUENTLY,
C      EPS=0.02 (OR EVEN EPS=0.01) IS RECOMMENDED; THE CONVERGENCE OF
C      THE DICHOTOMY PROCEDURE WILL BE IMPROVED. HOWEVER, BE SURE THAT
C      THIS CONDITION IS TRUE FOR ALL LINES USED AS INPUT DATA.
C
C      NOTE THAT THE PROGRAM DICVOL04 IS EXECUTABLE FROM 7 LINES OR 8 LINES
C      IF ZERO-POINT IS REFINED -(THOUGH IT IS NOT RECOMMENDED SINCE L-S 
C      REFINEMENT INSTABILITIES CAN BE EXPECTED).
C
C      THE A PRIORI SEARCH (ZERO-S) FOR A ZERO-POINT ERROR MUST BE USE WITH
C      CAUTION, SINCE THE REFLECTION-PAIR METHOD IS NOT UNAMBIGUOUS (REF. 1)
C      IT SHOULD BE USED ONLY IF A SIGNIFICANT ZERO-POINT SHIFT IS EXPECTED,
C      AND TRYING THE PROGRAM WITHOUT THIS OPTION. A TYPICAL CASE FOR USING IT
C      IS FOR POWDER DATA COLLECTED AT NON AMBIENT TEMPERATURE WITH THE
C      BRAGG-BRENTANO OPTICS.
C
C      RELIABILITY OF INDEXING SOLUTIONS: READ PARAGRAPH 8 OF REF. 5 AND
C      REFS 6 AND 7. 
C
C      IN DICVOL04, SOLUTIONS ARE SEARCHED FOR THE SMALLEST CELL VOLUMES.
C      AS SOON AS A SOLUTION IS FOUND, ONLY SOLUTIONS WITH SMALLEST VOLUMES
C      ARE RETAINED.
C      THE SEARCH IS EXHAUSTIVE WITHIN THE INPUT LIMITS.
C      IF (FOR SOME REASONS!) YOU ARE NOT SATISFIED BY THE SOLUTION, YOU CAN
C      RUN AGAIN THE PROGRAM WITH AN INPUT LOWER VOLUME LIMIT SLIGHTLY GREATER
C      THAN THAT OF THE FOUND SOLUTION (THE EXHAUSTIVE SEARCH IS THEN EXTENDED
C      TO A HIGHER VOLUME).
C
C      NOTE THAT THE SEARCH IS EXHAUSTIVE WITHIN THE LIMIT ON INPUT DATA. IN
C      PARTICULAR, THE SEARCH IS CONSTRAINED BY THE HIGHER AND SMALLER BOUNDS
C      ON PARAMETERS, VOLUMES, SELECTED FOM AND ABSOLUTE ERRORS. PLEASE ACT
C      ON THESE PARAMETERS WHEN USING DICVOL04.
C
C      CHECK ON VALIDITY OF AN INDEXING SOLUTION: PLEASE, READ REF. 5 (Sect. 8).
C
C      FOR THE DERIVATION OF POSSIBLE SPACE GROUPS: INSPECT CAREFULLY THE ABSENT 
C      HKL REFLECTIONS IN THE OUTPUT LIST OF THE REVIEWING OF THE WHOLE INPUT DATA. 
C
C  REFERENCES
C     1.-  BOULTIF, A. AND LOUER, D., POWDER PATTERN INDEXING WITH THE
C          DICHOTOMY METHOD,
C          J. APPL. CRYST. 37, 724-731 (2004).
C     2.-  LOUER, D. AND LOUER, M., METHODE D'ESSAIS ET ERREURS POUR
C          L'INDEXATION AUTOMATIQUE DES DIAGRAMMES DE POUDRE,
C          J. APPL. CRYST. 5, 271-275 (1972).
C     3.-  LOUER, D. AND VARGAS, R., INDEXATION AUTOMATIQUE DES
C          DIAGRAMMES DE POUDRE PAR DICHOTOMIES SUCCESSIVES,
C          J. APPL. CRYST. 15, 542-545, (1982).
C     4.-  BOULTIF, A. AND LOUER, D., INDEXING OF POWDER DIFFRACTION
C          PATTERNS FOR LOW SYMMETRY LATTICES BY THE SUCCESSIVE
C          DICHOTOMY METHOD, J. APPL. CRYST. 24, 987-993 (1991).
C     5.-  LOUER, D., AUTOMATIC INDEXING: PROCEDURES AND APPLICATIONS, IN
C          'ACCURACY IN POWDER DIFFRACTION II', NIST, SPEC. PUBL. No. 846,
C          GAITHERSBURG, MD, USA, pp. 92-104, 1992.
C     6.-  DE WOLFF, P.M., A SIMPLIFIED CRITERION FOR THE RELIABILITY
C          OF A POWDER PATTERN INDEXING, J. APPL. CRYST. 5, 108-113 (1968).
C     7.-  SMITH, G. S. AND SNYDER, R. L., F(N): A CRITERION FOR RATING
C          POWDER DIFFRACTION PATTERNS AND EVALUATING THE RELIABILITY
C          OF POWDER-PATTERN INDEXING, J. APPL. CRYST. 12, 60-65 (1979).
C
