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)