Search Site | Contact Details | FAQ

ADAS Subroutine xxin17

      SUBROUTINE XXIN17( IUNIT  , ICLASS , DSNAME , LERROR ,
     &                   NDDEN  , NDTIN  , NDZ1V  ,
     &                   IPRTD  , ISYSD  ,
     &                   IDE    , ITE    , IZE    ,
     &                   DENSR  , TR     , ZIPT   ,
     &                   LSWIT  , EIA    ,
     &                   AIPT
     &                 )
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: XXIN17 *********************
C
C  PURPOSE: TO OPEN AND ACQUIRE DATA FROM MASTER CONDENSED
C           COLLISIONAL-DIELECTRONIC FILES:
C
C           THE FOLLOWING FILES ARE ALLOWED:
C
C             1. RECOMBINATION COEFFICIENTS
C             2. IONISATION    COEFFICIENTS
C             3. CHARGE-EXCHANGE RECOMBINATION COEFFICIENTS
C             4. METASTABLE CROSS-COUPLING COEFFICIENTS
C             5. PARENT METASTABLE CROSS-COUPLING COEFFICIENTS
C             6. RECOMBINATION-BREMSSTRAHLUNG  POWER COEFFICIENTS
C             7. CHARGE-EXCHANGE RECOMBINATION POWER COEFFICIENTS
C
C             (NOTE: SPECIFIC AND TOTAL LOW LINE POWER COEFFICIENTS
C                    SHOULD BE READ USING 'XXIN80'.
C                    IF  ONLY STANDARD FILES ARE TO BE READ BY  THE
C                    PROGRAM USE 'XXINST'.)
C
C  CALLING PROGRAM: GENERAL USE
C
C  DATA:
C           THE  SOURCE  DATA IS CONTAINED AS  MEMBERS  OF  PARTITIONED
C           DATA SETS AS FOLLOWS:
C
C             1. JETUID.ACD<YR>.DATA
C             2. JETUID.SCD<YR>.DATA
C             3. JETUID.CCD<YR>.DATA
C             4. JETUID.QCD<YR>.DATA
C             5. JETUID.XCD<YR>.DATA
C             6. JETUID.PRB<YR>.DATA
C             7. JETUID.PRC<YR>.DATA
C
C           WHERE <YR> DENOTES TWO INTEGERS FOR THE YEAR SELECTED.
C           IF <YR> IS BLANK THEN THE CURRENT RECOMMENDED DATA SETS ARE
C           USED
C
C           THE MEMBERS OF THE PARTITIONED DATA SETS ARE EITHER:
C           1)  <SE><I><J>  FOR PARTIAL MASTER CONDENSED FILES, OR
C           2)  <SE>        FOR STANDARD MASTER CONDENSED FILES
C
C           WHERE: <SE> IS THE ONE OR TWO LETTER ION SEQUENCE CODE.
C                  <I>  IS A  SINGLE  INTEGER  REPRESENTING  THE  PARENT
C                       INDEX OR METASTABLE INDEX DEPENDING ON THE DATA
C                       SET CLASS AND PRODUCTION BY BUNDLE-NS OR
C                       LOW-LEVEL+PROJECTION MODELS
C                  <J>  IS A SINGLE INTEGER REPRESENTING THE SPIN SYSTEM
C                       INDEX, METASTABLE INDEX OR PARENT INDEX
C                       DEPENDING ON THE DATA SET CLASS AND PRODUCTION
C                       BY BUNDLE-NS OR LOW-LEVEL+PROJECTION MODELS
C
C                  E.G. PARTIAL  FILES: 'C12' OR 'HE21'
C                       STANDARD FILES: 'C'   OR 'HE'
C
C           THE  'PARTIAL'  AND  'STANDARD'  MASTER CONDENSED FILES ARE
C           IDENTICAL IN FORM,   EXCEPT  THAT  THREE  ADDITIONAL  LINES
C           ARE INCLUDED  AT  THE  BEGINNING OF  THE  'PARTIAL'  MASTER
C           FILES.   THE  FIRST  OF THESE LINES CONTAINS  A ROW OF  '='
C           SIGNS,  THE SECOND A PARENT/SPIN (OR EQUIVALENTS) PARAMETER
C           LIST,   AND  THE
C           THIRD A ROW OF "-" SIGNS. THIS DIFFERENCE IS USED TO IDENT-
C           IFY WHICH FILE TYPE IS BEING READ.
C
C           THE CHARACTER STRING SEPARATING THE INPUT DATA FOR EACH
C           VALUE OF Z1 IN THE FILE WILL GIVE:
C
C           PARTIAL & STANDARD: THE Z1 VALUE (Z1=) AND DATE (DATE:).
C                (OLDER DATA SETS MAY HAVE 'Z =' INSTEAD OF 'Z1=' HERE)
C           PARTIAL FILES ONLY: THE PARENT (IPRT=) & SPIN SYSTEM (ISYS=)
C                OR EQUIVALENTS (IGRD=) & (IGRD=, JGRD= AND JPRT=)
C                AS FOLLOW:-
C
C               ICLASS     INDI     INDJ
C               ------     ----     ----
C                 1        IPRT     IGRD (OR ISYS)
C                 2        IPRT     IGRD (OR ISYS)
C                 3        IPRT     IGRD (OR ISYS)
C                 4        IPRT     IGRD (OR ISYS)
C                 5        IPRT     IGRD (OR ISYS)
C                 6        IGRD     JGRD
C                 7        IPRT     JPRT
C
C
C  SUBROUTINE:
C
C  INPUT : (I*4)  IUNIT   = UNIT TO WHICH INPUT DATA SET ALLOCATED
C  INPUT : (I*4)  ICLASS  = UNIT TO WHICH INPUT DATA SET ALLOCATED
C  INPUT : (C*(*))DSNAME  = INPUT MASTER CONDENSED FILE DATA SET NAME
C  OUTPUT: (L*4)  LERROR  = .TRUE.  => ERROR DETECTED IN READING FILE
C                         = .FALSE. => NO ERROR DETECTED IN FILE
C
C  INPUT : (I*4)  NDDEN   = MAX. NUMBER OF REDUCED DENSITIES ALLOWED IN
C                           MASTER CONDENSED FILE FOR A GIVEN SEQUENCE
C  INPUT : (I*4)  NDTIN   = MAX. NO. OF REDUCED TEMPERATURES ALLOWED IN
C                           MASTER CONDENSED FILE FOR A GIVEN SEQUENCE
C  INPUT : (I*4)  NDZ1V   = MAX. NUMBER OF CHARGE STATES ALLOWED IN
C                           MASTER CONDENSED FILE FOR A GIVEN SEQUENCE
C
C  INPUT : (I*4)  IPRTD   = INPUT PARTIAL MASTER CONDENSED FILE:
C                           PARENT INDEX SPECIFIED IN DATA SET NAME.
C  INPUT : (I*4)  ISYSD   = INPUT PARTIAL MASTER CONDENSED FILE: SPIN-
C                           SYSTEM INDEX SPECIFIED IN DATA SET NAME.
C
C  OUTPUT: (I*4)  IDE     = NUMBER OF REDUCED DENSITIES READ FROM INPUT
C                           MASTER CONDENSED FOR A GIVEN SEQUENCE
C  OUTPUT: (I*4)  ITE     = NO. OF REDUCED TEMPERATURES READ FROM INPUT
C                           MASTER CONDENSED FOR A GIVEN SEQUENCE
C  OUTPUT: (I*4)  IZE     = NO. OF CHARGE STATES GIVEN IN THE INPUT
C                           MASTER CONDENSED FOR A GIVEN SEQUENCE
C
C  OUTPUT: (R*8)  DENSR() = SET OF 'IDE' INPUT REDUCED DENSITIES (CM-3/
C                           Z1**7) READ FROM CONDENSED MASTER FILE.
C  OUTPUT: (R*8)  TR()    = SET OF 'ITE'  INPUT  REDUCED  TEMPERATURES
C                           (K/Z1**2) READ FROM CONDENSED MASTER FILE.
C  OUTPUT: (R*8)  ZIPT()  = SET OF 'IZE' INPUT CHARGE STATES READ FROM
C                           CONDENSED MASTER FILE.
C                           (CHARGE STATE = RECOMBINING ION CHARGE)
C
C  OUTPUT: (L*4)  LSWIT   = .TRUE.  => IONISATION POTENTIALS
C                                      INCLUDED IN INPUT MASTER FILE.
C                           .FALSE. => IONISATION POTENTIALS
C                                      NOT INCLUDED IN INPUT MASTER FILE
C  OUTPUT: (R*8)  EIA()   = IONISATION POTENTIALS: ()=ION CHARGE
C                           UNITS: WAVE NUMBERS (CM-1)
C                           (= 0.0 IF NOT SET)
C
C  OUTPUT: (R*8)  AIPT(,,)= CONDENSED MASTER FILE DATA. COLL-DIEL COEFF.
C                           1ST DIMENSION: REDUCED DENSITY ('DENSR()')
C                           2ND DIMENSION: REDUCED TEMPERATURE ('TR()')
C                           3RD DIMENSION: CHARGE STATE ('ZIPT()')
C
C          (I*4)  I4UNIT  = FUNCTION (SEE ROUTINE SECTION BELOW)
C          (I*4)  IPRT    = INPUT PARTIAL MASTER CONDENSED FILE:
C                           PARENT INDEX READ FROM INPUT FILE.
C          (I*4)  ISYS    = INPUT PARTIAL MASTER CONDENSED FILE:
C                           SPIN-SYSTEM INDEX READ FROM INPUT FILE.
C          (I*4)  IPOT    = NUMBER OF IONISATION POTENTIAL VALUES
C                           PRESENT IN THE INPUT FILE.
C          (I*4)  IZ1     = CHARGE STATE READ FROM THE LINE PRECEEDING
C                           AN INPUT BLOCK FROM THE FILE.
C                           (= RECOMBINING ION CHARGE)
C          (I*4)  IBGN    = FIRST BYTE OF INTEREST IN CHARACTER 'STRING'
C          (I*4)  IEND    = LAST  BYTE OF INTEREST IN CHARACTER 'STRING'
C          (I*4)  ID      = ARRAY SUBSCRIPT USED FOR DENSITY VALUES
C          (I*4)  IT      = ARRAY SUBSCRIPT USED FOR TEMPERATURE VALUES
C          (I*4)  IZ      = ARRAY SUBSCRIPT USED FOR ION-CHARGE VALUES
C          (I*4)  I       = GENERAL USE
C
C          (L*4)  LPART   = .TRUE.  => REQUESTED INPUT FILE: PARTIAL
C                         = .FALSE. => REQUESTED INPUT FILE: STANDARD
C
C          (C*5)  CPOT    = 'IPOT'
C          (C*5)  CHINDI  = 'IPRT= ' OR 'IGRD= ' DEPENDING ON ICLASS
C          (C*5)  CHINDJ  = 'IGRD= ', 'JGRD= ' OR 'JPRT= ' DEPENDING
C                            ON ICLASS
C          (C*80) STRING  = STRING INTO WHICH 1ST LINE OF INPUT FILE IS
C                           READ TO ENABLE ITS FORMAT TO BE ESTABLISHED.
C
C NOTE:
C          STREAM HANDLING:
C             STREAM 'IUNIT' IS USED FOR READING CONDENSED MASTER FILES
C
C ROUTINES:
C          ROUTINE    SOURCE    BRIEF DESCRIPTION
C          ------------------------------------------------------------
C          I4UNIT     ADAS      FETCH UNIT NUMBER FOR OUTPUT OF MESSAGES
C          XXREIA     ADAS      READ IN UNKNOWN NUMBER OF 'EIA' VALUES
C                               IF PRESENT.
C
C
C AUTHOR:  PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC)
C          K1/0/81
C          JET EXT. 4569
C
C DATE:    22/08/90
C
C UPDATE:  05/03/91 - PE BRIDEN - ADAS91: REMOVED OPENING OF DATA SET
C
C UPDATE:  23/04/93 - PE BRIDEN - ADAS91: ADDED I4UNIT FUNCTION TO WRITE
C                                         STATEMENTS FOR SCREEN MESSAGES
C
C UPDATE:  24/05/93 - PE BRIDEN - ADAS91: CHANGED I4UNIT(0)-> I4UNIT(-1)
C
C UPDATE:  11/08/93 - HP SUMMERS - CHANGED TO ACCEPT EXTRA DATA CLASSES
C                                  AND USE OF IGRD, JGRD, IPRT, JPRT AS
C                                  ALTERNATIVES TO IPRT AND ISYS.
C
C UNIX-IDL PORT:
C
C VERSION: 1.1                          DATE: 06-09-95
C MODIFIED: TIM HAMMOND (TESSELLA SUPPORT SERVICES PLC)
C               - FIRST RELEASE
C
C VERSION  : 1.2                          
C DATE     : 10-04-2007
C MODIFIED : Allan Whiteford
C               - Modified documentation as part of automated
C		  subroutine documentation preparation.
C
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
      CHARACTER*(*)       DSNAME
      INTEGER             ICLASS,      IDE,         IPRTD,       ISYSD
      INTEGER             ITE,         IUNIT,       IZE,         NDDEN
      INTEGER             NDTIN,       NDZ1V
      LOGICAL             LERROR,      LSWIT
      REAL*8              AIPT(NDDEN,NDTIN,NDZ1V),  DENSR(NDDEN)
      REAL*8              EIA(250),    TR(NDTIN),   ZIPT(NDZ1V)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk