        MODULE B3_KIND

C INDICATOR THAT THE KIND= IS NOT AVAILABLE FOR THIS COMPILER/HOST
      INTEGER, PARAMETER :: NOT_AVAILABLE = -1  
C---------------------------------------------------------------------
C *********************  REAL AND COMPLEX NUMBERS ********************
C---------------------------------------------------------------------
C---------------------------------------------------------------------
C   SINGLE PRECISION
C---------------------------------------------------------------------
      INTEGER(KIND=SELECTED_INT_KIND(2)), PARAMETER::SINGLE=KIND(0.0)
C---------------------------------------------------------------------
C   DOUBLE PRECISION
C---------------------------------------------------------------------
      INTEGER(KIND=SELECTED_INT_KIND(2)), PARAMETER::DOUBLE=KIND(0.0D0)
C---------------------------------------------------------------------
C   QUADRUPLE PRECISION              
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: QUAD = NOT_AVAILABLE    
C---------------------------------------------------------------------
C ******************  REAL NUMBERS - STORAGE REQUIREMENTS ***********
C---------------------------------------------------------------------
C---------------------------------------------------------------------
C   FOUR BYTE REAL
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: REAL4 = 4 
C---------------------------------------------------------------------
C   EIGHT BYTE REAL
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: REAL8 = 8
C---------------------------------------------------------------------
C *****************  INTEGERS NUMBERS - STORAGE REQUIREMENTS  ********
C---------------------------------------------------------------------
C---------------------------------------------------------------------
C   SINGLE BYTE INTEGER
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: INT1    = 1 
C---------------------------------------------------------------------
C   TWO BYTE INTEGER   
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: INT2   = 2 
C---------------------------------------------------------------------
C   FOUR BYTE INTEGER
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: INT4   = 4
C---------------------------------------------------------------------
C   EIGHT BYTE INTEGER
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: INT8   = NOT_AVAILABLE
C---------------------------------------------------------------------
C---------------------------------------------------------------------
C *************** INTEGERS NUMBERS - PRECISION REQUIREMENTS  ****
C---------------------------------------------------------------------
C---------------------------------------------------------------------
C   TWO (2) DIGIT INTEGER
C---------------------------------------------------------------------
      INTEGER (KIND=SELECTED_INT_KIND(2)), PARAMETER :: DIGIT2 =
     & SELECTED_INT_KIND(2)
C---------------------------------------------------------------------
C   THREE (3) DIGIT INTEGER
C---------------------------------------------------------------------
      INTEGER (KIND=SELECTED_INT_KIND(2)), PARAMETER :: DIGIT3 =
     & SELECTED_INT_KIND(3)
C---------------------------------------------------------------------
C   FOUR (4) DIGIT INTEGER
C---------------------------------------------------------------------
      INTEGER (KIND=SELECTED_INT_KIND(2)), PARAMETER :: DIGIT4 =
     & SELECTED_INT_KIND(4)
C---------------------------------------------------------------------
C   FIVE (5) DIGIT INTEGER
C---------------------------------------------------------------------
      INTEGER (KIND=SELECTED_INT_KIND(2)), PARAMETER :: DIGIT5 =
     & SELECTED_INT_KIND(5)
C---------------------------------------------------------------------
C   SIX (6) DIGIT INTEGER
C---------------------------------------------------------------------
      INTEGER (KIND=SELECTED_INT_KIND(2)), PARAMETER :: DIGIT6 =
     & SELECTED_INT_KIND(6)
C---------------------------------------------------------------------
C   SEVEN (7) DIGIT INTEGER
C---------------------------------------------------------------------
      INTEGER (KIND=SELECTED_INT_KIND(2)), PARAMETER :: DIGIT7 =
     & SELECTED_INT_KIND(7)
C---------------------------------------------------------------------
C   EIGHT (8) DIGIT INTEGER
C---------------------------------------------------------------------
      INTEGER (KIND=SELECTED_INT_KIND(2)), PARAMETER :: DIGIT8 =
     & SELECTED_INT_KIND(8)
C---------------------------------------------------------------------
C   NINE (9) DIGIT INTEGER
C---------------------------------------------------------------------
      INTEGER (KIND=SELECTED_INT_KIND(2)), PARAMETER :: DIGIT9 =
     & SELECTED_INT_KIND(9)
C---------------------------------------------------------------------
C *********************  LOGICAL VALUES **********************
C---------------------------------------------------------------------
C---------------------------------------------------------------------
C   SINGLE BYTE LOGICAL
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: BYTE = 1     
C---------------------------------------------------------------------
C   TWO BYTE LOGICAL
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: TWOBYTE = NOT_AVAILABLE
C---------------------------------------------------------------------
C   FOUR BYTE LOGICAL
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: WORD = 4    
C---------------------------------------------------------------------
C **********************  CHARACTER TYPE **********************
C---------------------------------------------------------------------
C---------------------------------------------------------------------
C   NORMAL SINGLE BYTE CHARACTER (ASCII SEQUENCE)
C---------------------------------------------------------------------
      INTEGER, PARAMETER :: ASCII   = 1     

      END MODULE B3_KIND
