ADAS Subroutine c8prsl
SUBROUTINE C8PRSL( MXNSHL , MXPRSL , IZ0 , IZ1 , & NPLINE , NPU , NPL , NUMAX , & WHIGH , WLOW , EM , QEX , & TOTPOP , TOTEMI , AVRGWL , QEFF , & TBLPOP , TBLEMI , TBLWLN & ) C C C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: C8PRSL ********************* C C PURPOSE: FILLS TABLES FOR REQUESTED PREDICTIONS OF SPECTRUM LINES. C C CALLING PROGRAM: C8EMIS C C INPUT : (I*4) MXNSHL = MAXIMUM VALUE OF PRINCIPAL QUANTUM NUMBER. 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 OF C SPECTRUM LINES TO PREDICT. C DIMENSION: PREDICTED LINE INDEX. C INPUT : (I*4) NPL() = LIST OF LOWER PRINCIPAL QUANTUM NUMBERS OF C SPECTRUM LINES TO PREDICT. C DIMENSION: PREDICTED LINE INDEX. C INPUT : (I*4) NUMAX = MAXIMUM UPPER PRINCIPAL QUANTUM NUMBER FOR C OBSERVED SPECTRUM LINES. C INPUT : (R*8) WHIGH() = C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L). C INPUT : (R*8) WLOW(,) = C 1ST DIMENSION: REFERENCED BY I4IDFL(N,L). C 2ND 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 SPECTRUM C LINE. C UNITS: CM-2 C DIMENSION: PREDICTED LINE INDEX. C OUTPUT: (R*8) TOTEMI() = TOTAL COLLISION EMISSIVITIES FOR 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: PREDICTED LINE INDEX. C 2ND DIMENSION: REFERENCED BY FUNC 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: PREDICTED LINE INDEX. C 2ND DIMENSION: REFERENCED BY FUNC I4IDLI(). C OUTPUT: (R*8) TBLWLN(,)= TABLE OF WAVELENGTHS FOR PREDICTED SPECTRUM C LINE. C UNITS: A C 1ST DIMENSION: PREDICTED LINE INDEX. C 2ND DIMENSION: REFERENCED BY FUNC I4IDLI(). 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 STATE. C (I*4) L = LOOP INDEX FOR ORBITAL 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) NP = LOOP INDEX FOR PRINCIPAL QUANTUM NUMBER. C (I*4) IDL = ARRAY INDEX. C (I*4) ID = ARRAY INDEX. C C (R*8) Z1 = REAL VALUE = IZ1. 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) E0 = BINDING ENERGY C UNITS: RYD C (R*8) E10 = BINDING ENERGY C UNITS: RYD 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 (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 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 R8ATAB ADAS RETURNS HYDRONIC L-RESOLVED A-VALUES. C IF INPUT QUANTUM NUMBERS ARE INVALID C THEN RETURNS ZERO. C R8CONST ADAS RETURNS FUNDAMENTAL ATOMIC CONSTANTS. C C C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC) C K1/0/81 C JET EXT. 5183 C C DATE: 14/10/93 C C MODIFIED: TIM HAMMOND (TESSELLA SUPPORT SERVICES PLC) C ADDED ERROR MESSAGE FOR NUMERICAL ERRORS INTRODUCED C BY BAD VALUES FOR THE OBSERVED SPECTRUM LINES C ALSO GENERAL UNIX PORT. C C DATE: 20/6/95 C C VERSION: 1.2 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 DATE: 08/04/99 C C----------------------------------------------------------------------- C C----------------------------------------------------------------------- INTEGER IZ0, IZ1, MXNSHL, MXPRSL INTEGER NPL(MXPRSL), NPLINE, NPU(MXPRSL), NUMAX REAL*8 AVRGWL(MXPRSL), EM REAL*8 QEFF(MXPRSL), QEX(MXNSHL) REAL*8 TBLEMI(MXPRSL,2*MXNSHL-3) REAL*8 TBLPOP(MXPRSL,2*MXNSHL-3) REAL*8 TBLWLN(MXPRSL,2*MXNSHL-3) REAL*8 TOTEMI(MXPRSL), TOTPOP(MXPRSL) REAL*8 WHIGH((MXNSHL*(MXNSHL+1))/2) REAL*8 WLOW((MXNSHL*(MXNSHL+1))/2,MXNSHL)