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)