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)