C
C       ======================================================================
C      =========================================================================
C
C
C     DDDDDDD   IIII   CCCCCC   VV    VV   OOOOOO   LL         999999        11
C     DD    DD   II   CC    CC  VV    VV  OO    OO  LL        99    99     1111
C     DD    DD   II   CC        VV    VV  OO    OO  LL        99    99   111 11
C     DD    DD   II   CC        VV    VV  OO    OO  LL         9999999       11
C     DD    DD   II   CC         VV  VV   OO    OO  LL              99       11
C     DD    DD   II   CC    CC    VVVV    OO    OO  LL    LL  99    99       11
C     DDDDDDD   IIII   CCCCCC      VV      OOOOOO   LLLLLLLL   999999       1111
C
C     ==========================================================================
C       ======================================================================
C
C     DICVOL91-VERSION 1.0  : 23/04/1992
C
C     modif. A. Le Bail  for  ZEROPOINT (to be added)
C
C     TRIAL AND ERROR METHOD FOR THE AUTOMATIC INDEXING OF POWDER DIFFRACTION
C     PATTERNS - VARIATION OF PARAMETERS BY SUCCESSIVE DICHOTOMY.
C     THIS VERSION INCLUDES PARTITION OF VOLUME SPACE.
C     THE FOLLOWING CRYSTALLINE SYSTEMS CAN BE EXAMINED :
C     CUBIC, TETRAGONAL,HEXAGONAL, ORTHORHOMBIC, MONOCLINIC
C     AND TRICLINIC.
C
C     PRECURSOR PROGRAMS :   P1 AND P2 (REF. 1), DICVOL (REF. 2)
C
C     DICVOL91 HAS BEEN WRITTEN BY D. LOUER AND A. BOULTIF (REF. 3)
C
C     FOR FURTHER INFORMATION CONTACT
C               D. LOUER
C               LABORATOIRE DE CRISTALLOCHIMIE
C               UNIVERSITE DE RENNES I
C               CAMPUS DE BEAULIEU
C               35042 RENNES CEDEX    -FRANCE-
C               TEL.   (33) 99-28-62-48
C               FAX    (33) 99-38-34-87
C               E-MAIL  Louer@cicb.fr
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
C      PROGRAM, WHETHER GOOD, BAD OR INDIFFERENT.
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.
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= 20. ANGSTROMS)
C          BMAX    MAXIMUM VALUE OF UNIT CELL DIMENSION B IN ANGSTROMS.
C                  (IF BMAX= 0.0 DEFAULT= 20. ANGSTROMS)
C          CMAX    MAXIMUM VALUE OF UNIT CELL DIMENSION C IN ANGSTROMS.
C                  (IF CMAX= 0.0 DEFAULT= 20. 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= 1500. 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,ZERO                                 FREE FORMAT
C
C          EPS       =0.0  THE ABSOLUTE ERROR ON EACH OBSERVED LINE
C                          IS TAKEN TO .03 DEG. 2THETA, WHATEVER THE
C                          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)=5.0).
C
C          ZERO            Zeropoint to be added
C                          To be used only with 2-theta or theta angles
C
C
C
C  CARD 6 TO 6+N  D(I),EPSIL(I)                        FREE FORMAT
C
C          (ONE FOR EACH OBSERVED LINE, UP TO N)
C          D(I)    VALUE DESCRIBING THE OBSERVED POSITION
C                  OF THIS LINE 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  REFERENCES:
C     1.-  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     2.-  LOUER, D. AND VARGAS, R., INDEXATION AUTOMATIQUE DES
C          DIAGRAMMES DE POUDRE PAR DICHOTOMIES SUCCESSIVES,
C          J. APPL. CRYST. 15, 542-545 (1982).
C     3.-  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     4.-  DE WOLFF, P.M., A SIMPLIFIED CRITERION FOR THE RELIABILITY
C          OF A POWDER PATTERN INDEXING, J. APPL. CRYST. 5, 108-113 (1968).
C     5.-  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     6.-  MIGHELL, A.D., HUBBARD, C.R. AND STALIK, J.K., NBS*AIDS80:
C          A FORTRAN PROGRAM FOR CRYSTALLOGRAPHIC DATA EVALUATION.
C          NAT. BUR. STAND. (U.S.) TECH. NOTE 1141 (1981). (NBS*AIDS83
C          IS AN EXPANDED VERSION OF NBS*AIDS80).
C     7.-  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        *****************************************************
C        *                                                   *
C        *         THE USE OF DICVOL91 (VERSION 1.0)         *
C        *                                                   *
C        *****************************************************
C
C      USE AS INPUT DATA THE FIRST 20 LINES (ALTHOUGH THIS NUMBER
C      CAN BE DIFFERENT). AVOID SPURIOUS LINES OR TOO INACCURATE DATA.
C      ALL SYMMETRIES CAN BE EXAMINED IN ONE RUN. HOWEVER, IT IS
C      RECOMMENDED TO USE A TWO- OR THREE-STAGE PROCEDURE :
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 TRICLINIC SYMMETRY THE USE OF A
C      REDUCTION CELL PROGRAM IS USUALLY USEFULL TO OBTAIN THE
C      CONVENTIONAL UNIT CELL (E.G. CDF-SRCH/JCPDS).
C
C      NOTE - CASE OF TRIGONAL SYMMETRY WITH RHOMBOEDRAL LATTICE:
C            THE PATTERN IS INDEXED WITH AN HEXAGONAL LATTICE, HAVING
C            A UNIT CELL VOLUME THREE TIMES GREATER. OWING TO THE
C    	     STRATEGY BASED ON THE PARTITION OF VOLUME SPACE (SHELLS OF
C            400 A**3) YOU CAN MISS THE SOLUTION IF, BY ACCIDENT, A
C	     SMALLER (PSEUDO) SOLUTION IS FOUND IN AN OTHER SYMMETRY.
C            IF YOU SUSPECT SUCH A CASE, RUN DICVOL91 WITH THE HEXAGONAL
C	     CASE ONLY (JC=0, JT=0, JH=1, JO=0, JM=0, JTR=0).
C	        
C  RECOMMENDATIONS
C   ---------------
C   1- PLEASE SPEND TIME TO ENSURE THE QUALITY OF YOUR OBSERVED DATA.
C      WITH ACCURATE DATA THE SUCCESS RATE OF DICVOL91 IS VERY HIGH
C      (SEE REF. 3).
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.03 DEGREES 2-THETA CAN BE ROUTINELY OBTAINED.
C      FOR INDEXING PURPOSES, ERRORS SHOULD NOT EXCEED 0.03 DEG. 2-THETA
C      [IN EXCEPTIONAL CASES, A FEW LINES WITH GREATER ERROR CAN BE
C      INTRODUCED IN INPUT DATA. IN THIS CASE, USE THE PARAMETER EPS= 1.
C      (CARD 5), AND ENTER INDIVIDUAL ERRORS ON EACH LINE(CARD 6 TO 6+N)].
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 THEN RECOMMENDED; THE CONVERGENCE
C      OF THE DICHOTOMY PROCEDURE WILL BE IMPROVED. HOWEVER, BE SURE THAT
C      THIS CONDITION IS TRUE FOR ALL THE LINES USED AS INPUT DATA.
C
C   2- IF DICVOL91 HAS FOUND A SOLUTION FROM THE FIRST 20 (OR N) LINES,
C      THIS SOLUTION MUST INDEXED THE COMPLETE POWDER DIFFRACTION
C      PATTERN FOR THIS PURPOSE, THE PROGRAM NBS*AIDS83 (REF. 6) CAN BE
C      USED.
C
C  NOTE : FUNCTION TIME (removed in the PC current version)
C         +++++++++++++
C
C       1 - THIS PROGRAM USES THE FUNCTION 'SECOND()' OF THE LIBRARY
C           FORTRAN UTILITY SUBPROGRAMS CDC - SYSTEM NOS/VE.
C       2 - THIS FUNCTION CAN BE EASILY REMOVED BY ADDING A 'C' IN THE
C           FIRST COLUNM OF THE LINES CONTAINING THE VARIABLE 'TIME'.
C       3 - IF YOU WANT TO ADAPT IT TO A microVAX COMPUTER:
C              * ADD AT THE OUSET OF THE PROGRAM
C                    T1 = SECNDS(0.0)
C                    TIME2 = 3600.*24.
C              * SUBSTITUTE IN THE PROGRAM ALL INSTRUCTIONS
C                    TIME = SECOND()
C                BY
C                    TIME = SECNDS(T1)
C                    IF(TIME.LT.0.)TIME = TIME + TIME2
C
C           ----------          ------------------          ----------
C           |        |=========>|     CUBIC      |=========>|        |
C           |        |          ------------------          |        |
C           |        |                   V                  |        |
C           |        |              ----------              |        |
C           |        |              | CUDHKL |              |        |
C           |        |              ----------              |    A   |
C           |        |                                      |    F   |
C           |        |                                      |    F   |
C           |        |                                      |    I   |
C           |        |          ------------------          |    N   |
C           |        |=========>|   TETRAGONAL   |=========>|    E   |
C           |    P   |          ------------------          |    M   |
C           |    R   |                   V                  |    E   |
C           |    O   |              ----------              |    N   |
C           |    G   |              | TEDHKL |              |    T   |
C           |    R   |              ----------              |        |
C           |    A   |                                      |        |
C           |    M   |                                      |    D   |
C           |    M   |                                      |    E   |
C           |    E   |          ------------------          |    S   |
C           |        |=========>|    HEXAGONAL   |=========>|        |
C           |        |          ------------------          |        |
C           |    P   |                   V                  |    P   |
C           |    R   |              ----------              |    A   |
C           |    I   |              | TEDHKL |              |    R   |
C           |    N   |              ----------              |    A   |
C           |    C   |                                      |    M   |
C           |    I   |                                      |    E   |
C           |    P   |                                      |    T   |
C           |    A   |          ------------------          |    R   |
C           |    L   |=========>|  ORTHORHOMBIC  |=========>|    E   |
C           |        |          ------------------          |    S   |
C           |        |                   V                  |        |
C           |        |              ----------              |        |
C           |        |              | ORDHKL |              |        |
C           |        |              ----------              |        |
C           |        |                                      |        |
C           |        |                                      |        |
C           |        |          ------------------          |    R   |
C           |        |=========>|   MONOCLINIC   |=========>|    E   |
C           |        |          ------------------          |    S   |
C           |        |                   V                  |        |
C           |        |              ----------              |        |
C           |        |              | MODHKL |              |        |
C           |        |              ----------              |        |
C           |        |                                      |        |
C           |        |                                      |        |
C           |        |          ------------------          |        |
C           |        |=========>|   TRICLINIC    |=========>|        |
C           |        |          ------------------          ----------
C           |        |                   V                       V
C           |        |              ----------              ----------
C           |        |              | TRIHKL |              | PASAJE |
C           ----------              ----------              ----------
