Module alcom_mod
  use iso_c_binding, only: fp => c_double
  IMPLICIT NONE
  public
  SAVE
!------------------------------------------------------------------------------
! FROM ALCOM
!------------------------------------------------------------------------------
!
!     COMMON BLOCK FOR ALADDIN INTERACTIVE PROGRAM
!
!     ORIGINAL STRUCTURE DEFINED BY  R. A. HULSE, PRINCETON UNIVERSITY,
!     PLASMA PHYSICS LABORATORY.
!     (PAPER TO BE SUBMITTED TO THE JOURNAL OF COMPUTATIONAL PHYSICS
!      COMMUNICATIONS)
!
!------------------------------------------------------------------------------
!
!     REV: 2/02/89 BY J.J. SMITH IAEA ATOMIC AND MOLECULAR DATA UNIT
!          ALL LABEL LENGTHS INCREASED FROM 20 CHARACTERS TO 40
!          THE COEFFICIENT ARRAY CF IS DEFINED IN DOUBLE PRECISION
!          THE FLAG FEXN HAS BEEN ADDED TO COMUNICATE WHETHER
!          COEFFICIENTS CAN BE PRINTED IN 1PE13.6 FORMAT
!
!------------------------------------------------------------------------------
!
!     NOTE: CHARACTER VARIABLES ARE IN A SEPARATE COMMON BLOCK TO ACCOMODATE
!           FORTRAN COMPILERS WHICH REQUIRE THIS SEPARATION OF VARIABLE TYPES
!
!     NSLMX   DIMENSIONED MAXIMUM NUMBER OF SEARCH LABELS
!     NCFMX   DIMENSIONED MAXIMUM NUMBER OF COEFFICIENTS
!
!     LUTIN   LOGICAL UNIT FOR TERMINAL INPUT
!     LUTOUT  LOGICAL UNIT FOR TERMINAL OUTPUT
!     LUDF    LOGICAL UNIT FOR INPUT DATA FILE
!     DFNAME  NAME OF INPUT DATA FILE
!     LUOF    LOGICAL UNIT FOR OUTPUT DATA FILE
!     OFNAME  NAME OF OUTPUT DATA FILE
!     LUQF    LOGICAL UNIT FOR QUERY FILE
!     QFNAME  NAME OF QUERY FILE
!     LUEF    LOGICAL UNIT FOR EVALUATED DATA OUTPUT FILE
!     EFNAME  NAME OF EVALUATED DATA OUTPUT FILE
!     CMND    INPUT COMMAND LINE
!     LABEL   BUFFER ARRAY FOR LABELS
!     NCHLBL  NUMBER OF CHARACTERS IN LABEL
!     HSL     HIERARCHICAL SEARCH LABELS
!     BASL    BOOLEAN .AND. SEARCH LABELS
!     BNSL    BOOLEAN .NOT. SEARCH LABELS
!     NHSL    NUMBER OF HIERARCHICAL SEARCH LABELS
!     NBASL   NUMBER OF BOOLEAN .AND. SEARCH LABELS
!     NBNSL   NUMBER OF BOOLEAN .NOT. SEARCH LABELS
!     CF      COEFFICIENTS CONVERTED TO REAL NUMBERS
!     NCF     NUMBER OF COEFFICIENTS
!     OK      GENERAL PURPOSE STATUS FLAG
!     EOF     .TRUE. IF END OF FILE
!     MATCH   .TRUE./.FALSE. RETURN FROM SEARCH LABEL COMPARISON
!     ERRMSG  ERROR MESSAGE STRING RETURNED FROM VARIOUS SUBROUTINES

!------------------------------------------------------------------------------
!
!============
! idecl:  explicitize implicit INTEGER declarations:
  INTEGER, PARAMETER :: nslmx=100,ncfmx=100
  integer lutin,lutout,ludf,luof,luqf,luef,nchlbl,&
       nhsl,nbasl,nbnsl,ncf
  CHARACTER*128 DFNAME, OFNAME, QFNAME, EFNAME, CMND, ERRMSG
  CHARACTER*40 LABEL, HSL(NSLMX), BASL(NSLMX), BNSL(NSLMX)
  LOGICAL OK, EOF, MATCH
  real(fp) CF(NCFMX)
! COMMON /ALCOM/CF,LUTIN,LUTOUT,LUDF,LUOF,LUQF,LUEF,NCHLBL,NHSL,NBASL,NBNSL,NCF,
!    &OK,EOF,MATCH
! COMMON /ALCOML/DFNAME,OFNAME,QFNAME,EFNAME,CMND,ERRMSG,
!    & LABEL,HSL,BASL,BNSL
!
!------------------------------------------------------------------------------
end Module alcom_mod
