ADAS Subroutine xxdata_08
SUBROUTINE XXDATA_08( IUNIT , NDPRT , NDLEV , NDT ,
& SEQSYM , IZ , IZ0 , IZ1 ,
& NPRNT , NPRNTI , BWNP ,
& IPA , CSTRPA , ISPA , ILPA , XJPA ,
& WPA ,
& IL , BWNR ,
& IA , CSTRGA , ISA , ILA , XJA ,
& WA ,
& IPRTI , TPRTI , ISPRTI, RADR , LRADR ,
& NTE , TEA
& )
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: XXDATA_08 ******************
C
C PURPOSE: TO FETCH DATA FROM INPUT ADF08 DATA SET.
C
C CALLING PROGRAM: ADAS411
C
C
C SUBROUTINE:
C
C INPUT : (I*4) IUNIT = UNIT TO WHICH INPUT FILE IS ALLOCATED
C
C INPUT : (I*4) NDPRT = MAXIMUM NUMBER OF PARENT STATES
C INPUT : (I*4) NDLEV = MAXIMUM NUMBER OF RESOLVED LEVELS
C INPUT : (I*4) NDT = MAX. NUMBER OF ELECTRON TEMPERATURES
C
C OUTPUT: (C*2) SEQSYM = RECOMBINED ION SEQ
C OUTPUT: (I*4) IZ = RECOMBINED ION CHARGE
C OUTPUT: (I*4) IZ0 = NUCLEAR CHARGE
C OUTPUT: (I*4) IZ1 = RECOMBINING ION CHARGE
C OUTPUT: (I*4) NPRNT = TOTAL NUMBER OF PARENTS
C OUTPUT: (I*4) NPRNTI = NUMBER OF PARENTS WHICH ARE INITIAL PARENTS
C OUTPUT: (R*8) BWNP = BINDING WAVE NO. OF GROUND PARENT (CM-1)
C OUTPUT: (I*4) IPA() = NUMBER OF PARENT ENERGY LEVELS
C OUTPUT: (C*18) CSTRPA()= NOMENCL./CONFIG. FOR PARENT LEVEL 'IPA()'
C OUTPUT: (I*4) ISPA() = MULTIPLICITY FOR PARENT LEVEL 'IPA()'
C NOTE: (ISPA-1)/2 = QUANTUM NUMBER (SP)
C OUTPUT: (I*4) ILPA() = QUANTUM NUMBER (LP) FOR PARENT LEVEL 'IPA()'
C OUTPUT: (R*8) XJPA() = QUANTUM NUMBER (JP) FOR PARENT LEVEL 'IPA()'
C NOTE: (2*XJPA)+1 = STATISTICAL WEIGHT
C OUTPUT: (R*8) WPA() = ENERGY RELATIVE TO PARENT LEVEL 1 (CM-1)
C FOR PARENT LEVEL 'IPA()'
C
C OUTPUT: (I*4) IL = NUMBER OF ENERGY LEVELS (TERMS) OF
C RECOMBINED ION
C OUTPUT: (R*8) BWNR = IONISATION POTENTIAL (CM-1) OF LOWEST LEVEL
C OF RECOMBINED ION
C OUTPUT: (I*4) IA() = RECOMBINED ION ENERGY LEVEL INDEX NUMBER
C OUTPUT: (C*18) CSTRGA()= NOMENCL./CONFIG. FOR RECOMBINED ION LEVEL
C 'IA()'
C OUTPUT: (I*4) ISA() = MULTIPLICITY FOR RECOMBINED LEVEL 'IA()'
C NOTE: (ISA-1)/2 = QUANTUM NUMBER (S)
C OUTPUT: (I*4) ILA() = QUANTUM NUMBER (L) FOR RECOMBINED LEVEL
C 'IA()'
C OUTPUT: (R*8) XJA() = QUANTUM NUMBER (J) FOR RECOMBINED LEVEL
C 'IA()'
C NOTE: (2*XJA)+1 = STATISTICAL WEIGHT
C OUTPUT: (R*8) WA() = ENERGY RELATIVE TO RECOMBINED LEVEL 1 (CM-1)
C FOR RECOMBINED LEVEL 'IA()'
C OUTPUT: (I*4) IPRTI() = INITIAL PARENT BLOCK INDEX
C OUTPUT: (C*5) TPRTI() = INITIAL PARENT BLOCK TERM
C OUTPUT: (I*4) ISPRTI()= INITIAL PARENT BLOCK SPIN MULTIPLICITY
C OUTPUT: (R*8) TEA() = ELECTRON TEMPERATURES (K)
C OUTPUT: (R*8) RADR(,,)= TERM SELECTIVE DIELEC. COEFFTS.(CM3 S-1)
C 1ST.DIM: LEVEL INDEX
C 2ND.DIM: INITIAL PARENT INDEX
C 3RD.DIM: TEMPERATURE INDEX
C OUTPUT: (L*4) LRADR(,)= .TRUE. => DIEL. PRESENT FOR LEVEL INDEX
C .FALSE.=> DIEL. NOT PRESENT FOR LEVEL INDEX
C 1ST.DIM: LEVEL INDEX
C 2ND.DIM: INITIAL PARENT INDEX
C
C (I*4) INDX = GENERAL INDEX
C (I*4) II = GENERAL INDEX
C (I*4) I = GENERAL INDEX
C (I*4) IPI = GENERAL INDEX
C (I*4) IPF = GENERAL INDEX
C (I*4) IPFS = GENERAL INDEX
C (I*4) J = GENERAL INDEX
C (I*4) K = GENERAL INDEX
C
C (L) LDATA = GENERAL READ/DO NOT READ FLAG
C (L) LNOPI = FLAG TO DETERMINE WHETHER HAVE PASSED
C INTO A NEW INITIAL PARENT BLOCK
C
C (C*20) C20 = GENERAL CHARACTER STRING
C
C ROUTINES:
C ROUTINE SOURCE BRIEF DESCRIPTION
C -------------------------------------------------------------
C I4UNIT ADAS FETCH UNIT NUMBER FOR OUTPUT OF MESSAGES
C I4EIZ0 ADAS RETURNS NUCL. CHARGE FROM ELEMENT SYMBOL
C R8FCTN ADAS CONVERTS FROM CHARACTER TO REAL VARIABLE
C XXWORD ADAS EXTRACT POSITION OF NUMBER IN BUFFER
C
C AUTHOR: H. P. SUMMERS, UNIVERSITY OF STRATHCLYDE
C JA8.08
C TEL. 0141-553-4196
C
C DATE: 10/11/97
C
C UPDATE:
C
C VERSION: 1.1 DATE: 10-03-98
C MODIFIED: RICHARD MARTIN
C - PUT UNDER SCCS CONTROL
C
C-----------------------------------------------------------------------
C
C NOTES: Copied from dbdata.for. This is v1.1 of xxdata_08.
C
C VERSION : 1.1
C DATE : 27-03-2008
C MODIFIED : Allan Whiteford
C - First version
C
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
CHARACTER*(*) CSTRGA(NDLEV), CSTRPA(NDPRT)
CHARACTER*2 SEQSYM
CHARACTER*5 TPRTI(NDPRT)
INTEGER IA(NDLEV), IL, ILA(NDLEV)
INTEGER ILPA(NDPRT), IPA(NDPRT), IPRTI(NDPRT)
INTEGER ISA(NDLEV), ISPA(NDPRT), ISPRTI(NDPRT)
INTEGER IUNIT, IZ, IZ0, IZ1
INTEGER NDLEV, NDPRT, NDT, NPRNT
INTEGER NPRNTI, NTE
LOGICAL LRADR(NDLEV,NDPRT)
REAL*8 BWNP, BWNR
REAL*8 RADR(NDLEV,NDPRT,NDT), TEA(NDT)
REAL*8 WA(NDLEV), WPA(NDPRT), XJA(NDLEV)
REAL*8 XJPA(NDPRT)