ADAS Subroutine c6prsl
SUBROUTINE C6PRSL( MXNSHL , MXJSHL , MXPRSL , IZ0 , & IZ1 , NPLINE , NPU , NPL , & NUMAX , WHIGH , WLOW , EM , & QEX , TOTPOP , TOTEMI , AVRGWL , & QEFF , TBLPOP , TBLEMI , TBLWLN & ) C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: C6PRSL ********************* C C PURPOSE: FILLS TABLES FOR REQUESTED PREDICTIONS OF SPECTRUM LINES. C C CALLING PROGRAM: C6EMIS C C INPUT : (I*4) MXNSHL = MAXIMUM NUMBER OF N SHELLS. C INPUT : (I*4) MXJSHL = MAXIMUM NUMBER OF J SUB-SHELLS. C INPUT : (I*4) MXPRSL = MAXIMUM NUMBER OF SPECTRUM LINES TO C PREDICT. C INPUT : (R*8) IZ0 = NUCLEAR CHARGE. C INPUT : (R*8) IZ1 = ION CHARGE. C INPUT : (I*4) NPLINE = NUMBER OF SPECTRUM LINES TO PREDICT. C INPUT : (I*4) NPU() = LIST OF UPPER PRINCIPAL QUANTUM NUMBERS C OF SPECTRUM LINES TO PREDICT. C DIMENSION: PREDICTED LINE INDEX. C INPUT : (I*4) NPL() = LIST OF LOWER PRINCIPAL QUANTUM NUMBERS C OF SPECTRUM LINES TO PREDICT. C DIMENSION: PREDICTED LINE INDEX. C INPUT : (I*4) NUMAX = MAXIMUM UPPER PRINCIPAL QUANTUM NUMBER C FOR OBSERVED SPECTRUM LINES. C INPUT : (R*8) WHIGH(,) = C 1ST DIMENSION: J SHELL INDEX. C 2ND DIMENSION: REFERENCED BY L+1. C INPUT : (R*8) WLOW(,,) = C 1ST DIMENSION: J SHELL INDEX. C 2ND DIMENSION: REFERENCED BY I4IDFL(N,L). C 3RD DIMENSION: REFERENCED BY L+1. C INPUT : (R*8) EM = EMMISION MEASURE. C INPUT : (R*8) QEX() = C DIMENSION: MXNSHL. C C OUTPUT: (R*8) TOTPOP() = TOTAL COLLISION POP. FOR PREDICTED C SPECTRUM LINE. C UNITS: CM-2 C DIMENSION: PREDICTED LINE INDEX. C OUTPUT: (R*8) TOTEMI() = TOTAL COLLISION EMISSIVITIES FOR C PREDICTED C SPECTRUM LINE. C UNITS: PH CM-2 SEC-1 C DIMENSION: PREDICTED LINE INDEX. C OUTPUT: (R*8) AVRGWL() = AVERAGE AIR WAVELENGTH FOR PREDICTED C SPECTRUM LINE. C UNITS: A C DIMENSION: PREDICTED LINE INDEX. C OUTPUT: (R*8) QEFF() = EFF. RATE COEFFICIENT FOR PREDICTED C SPECTRUM LINE. C UNITS: C DIMENSION: PREDICTED LINE INDEX. C OUTPUT: (R*8) TBLPOP(,,)= TABLE OF COLLISION POP. FOR PREDICTED C SPECTRUM LINE. C UNITS: CM-2 C 1ST DIMENSION: J->J' TRANSITION INDEX. C 2ND DIMENSION: REFERENCED BY I4IDLI(). C OUTPUT: (R*8) TBLEMI(,,)= TABLE OF COLLISION EMISSIVITIES FOR C PREDICTED SPECTRUM LINE. C UNITS: PH CM-2 SEC-1 C 1ST DIMENSION: J->J' TRANSITION INDEX. C 2ND DIMENSION: REFERENCED BY I4IDLI(). C 3RD DIMENSION: PREDICTED LINE INDEX. C OUTPUT: (R*8) TBLWLN(,,)= TABLE OF WAVELENGTHS FOR PREDICTED C SPECTRUM LINE. C UNITS: A C 1ST DIMENSION: J->J' TRANSITION INDEX. C 2ND DIMENSION: REFERENCED BY I4IDLI(). C 3RD DIMENSION: PREDICTED LINE INDEX. C C PARAM : (I*4) C1 = PRECISION AIR WAVELENGTH PARAM. C PARAM : (I*4) C2 = PRECISION AIR WAVELENGTH PARAM. C PARAM : (I*4) C3 = PRECISION AIR WAVELENGTH PARAM. C PARAM : (I*4) C4 = PRECISION AIR WAVELENGTH PARAM. C PARAM : (I*4) C5 = PRECISION AIR WAVELENGTH PARAM. C PARAM : (I*4) RZ = PRECISION AIR WAVELENGTH PARAM. C C (I*4) IN = LOOP INDEX FOR SPECTRUM LINES. C (I*4) N = PRINCIPAL QUANTUM NUMBER OF INITIAL C STATE. C (I*4) L = LOOP INDEX FOR ORBITAL QUANTUM NUMBER OF C (I*4) J = LOOP INDEX FOR J QUANTUM NUMBER OF C INITIAL STATE. C (I*4) N1 = PRINCIPAL QUANTUM NUMBER OF FINAL STATE. C (I*4) L1 = LOOP INDEX FOR ORBITAL QUANTUM NUMBER OF C FINAL STATE. C (I*4) J1 = LOOP INDEX FOR J QUANTUM NUMBER OF C FINAL STATE. C (I*4) NP = LOOP INDEX FOR PRINCIPAL QUANTUM NUMBER. C (I*4) IDL = TABLE INDEX. C (I*4) ID = TABLE INDEX. C C (R*8) Z1 = REAL VALUE = IZ1. C (R*8) ZEFF1 = EFFECTIVE ION CHARGE. C (R*8) ZEFF2 = EFFECTIVE ION CHARGE. C (R*8) ZEFF3 = EFFECTIVE ION CHARGE. C (R*8) SUM1 = SUM OF COL. POP. FOR PREDICTED LINE. C UNITS: CM-2 C (R*8) SUM2 = SUM OF COL. EMIS. FOR PREDICTED LINE. C UNITS: PH CM-2 SEC-1 C (R*8) SUM3 = SUM OF WAVELENGTHS FOR PREDICTED LINE. C UNITS: A C (R*8) EU0 = BINDING ENERGY C UNITS: RYD C (R*8) T1 = COL. POP. FOR PREDICTED SPECTRUM LINE. C UNITS: CM-2 C (R*8) T2 = COL. EMIS. FOR PREDICTED SPECTRUM LINE. C UNITS: PH CM-2 SEC-1 C (R*8) DELTA = C (R*8) SIG2 = C (R*8) RF = C (R*8) WAVAIR = WAVELENGTH FOR PREDICTED SPECTRUM LINE. C UNITS: A C C (R*8) EL() = BINDING ENERGY. C UNITS: RYD C DIMENSION: J SHELL INDEX WHERE: C 1 => L+0.5 C 2 => L-0.5 C (R*8) EUJ() = INITIAL STATE J RESOLVED ENERGY. C DIMENSION: J SHELL INDEX WHERE: C 1 => L+0.5 C 2 => L-0.5 C (R*8) AA() = LJ RESOLVED A-VALUE. C DIMENSION: TRANSITION INDEX WHERE: C 1 => L+0.5 --> L'+0.5 C 2 => L+0.5 --> L'-0.5 C 3 => L-0.5 --> L'+0.5 C 4 => L-0.5 --> L'-0.5 C C (R*8) ELJ(,) = FINAL STATE J RESOLVED ENERGY. C 1ST DIMENSION: L SHELL INDEX WHERE: C 1 => L'=L+1 C 2 => L'=L-1 C 2ND DIMENSION: J SHELL INDEX WHERE: C 1 => J'=L'+0.5 C 2 => J'=L'-0.5 C C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------- C I4UNIT ADAS RETURNS UNIT NO. FOR OUTPUT OF MESSAGES. C I4IDFL ADAS RETURNS UNIQUE INDEX GIVEN QUANTUM C NUMBERS N AND L. C I4IDLI ADAS RETURNS INDEX FOR PREDICTED SPECTRUM C LINE TABLES. C R8ZETA ADAS C C6AJTB ADAS RETURNS LJ RESOLVED A-VALUES. C C NOTES: C 1) THE J->J' TRANSITION INDEX IS AS FOLLOWS: C 1 : J=L+0.5 -> J'=L'+0.5 C 2 : J=L+0.5 -> J'=L'-0.5 C 3 : J=L-0.5 -> J'=L'+0.5 C 4 : J=L-0.5 -> J'=L'-0.5 C C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC) C K1/0/81 C JET EXT. 5183 C C DATE: 09/11/93 C C UNIX-IDL PORT: C C AUTHOR: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC) C C DATE: 22ND MAY 1996 C C VERSION: 1.1 DATE: 22-05-96 C MODIFIED: WILLIAM OSBORN C - FIRST VERSION. IBM VERSION NOT CHANGED C C C VERSION: 1.2 DATE: 08-04-99 C MODIFIED: Martin O'Mullane C - Corrected the vacuum to air conversion. Parameter C4 of the C expression for the refractive index of air should be 146.0 C and not 176.0. (see Astrophysical Quantities section 54) C - Introduced R8CONST to return fundamental atomic constants. C The mass dependent rydberg constant is returned if set C by XXRAMS in the main program. As a consequence RZ has C been removed from the parameter statement. C C C----------------------------------------------------------------------- C C----------------------------------------------------------------------- INTEGER IZ0, IZ1, MXJSHL, MXNSHL INTEGER MXPRSL, NPL(MXPRSL), NPLINE INTEGER NPU(MXPRSL), NUMAX REAL*8 AVRGWL(MXPRSL), EM REAL*8 QEFF(MXPRSL), QEX(MXNSHL) REAL*8 TBLEMI(2*MXJSHL,2*MXNSHL-3,MXPRSL) REAL*8 TBLPOP(2*MXJSHL,2*MXNSHL-3,MXPRSL) REAL*8 TBLWLN(2*MXJSHL,2*MXNSHL-3,MXPRSL) REAL*8 TOTEMI(MXPRSL), TOTPOP(MXPRSL) REAL*8 WHIGH(MXJSHL,(MXNSHL*(MXNSHL+1))/2) REAL*8 WLOW(MXJSHL,(MXNSHL*(MXNSHL+1))/2,MXNSHL)