ADAS Subroutine c8emis
SUBROUTINE C8EMIS( MXNSHL , MXOBSL , MXPRSL , IZ0 , & IZ1 , NGRND , NTOT , NBOT , & DENSZ , DENS , NOLINE , NU , & NL , EMISA , NPLINE , NPU , & NPL , QTHEOR , FTHEOR , TBQMEP , & TBQMEM , TBQMIP , TBQMIM , NUMIN , & NUMAX , EM , QEX , TOTPOP , & TOTEMI , AVRGWL , QEFF , TBLPOP , & TBLEMI , TBLWLN & ) C C C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: C8EMIS ********************* C C PURPOSE: PREDICTS THE L-RESOLVED EMISSIVITY FOR REQUESTED C TRANSITIONS. C C CALLING PROGRAM: ADAS308 C C INPUT : (I*4) MXNSHL = MAXIMUM VALUE OF PRINCIPAL QUANTUM NUMBER. C INPUT : (I*4) MXOBSL = MAXIMUM NUMBER OF OBSERVED SPECTRUM LINES. C INPUT : (I*4) MXPRSL = MAXIMUM NUMBER OF SPECTRUM LINES TO C PREDICT. C INPUT : (I*4) IZ0 = NUCLEAR CHARGE. C INPUT : (I*4) IZ1 = ION CHARGE. C INPUT : (I*4) NGRND = PRINCIPAL QUANTUM NUMBER OF GROUND STATE. C INPUT : (I*4) NTOT = PRINCIPAL QUANTUM NUMBER OF HIGHEST BOUND C STATE. C INPUT : (I*4) NBOT = MINIMUM PRINCIPAL QUANTUM NUMBER. C INPUT : (R*8) DENSZ = PLASMA ION DENSITY. C UNITS: CM-3 C INPUT : (R*8) DENS = ELECTRON DENSITY. C UNITS: CM-3 C INPUT : (I*4) NOLINE = NUMBER OF OBSERVED SPECTRUM LINES. C INPUT : (I*4) NU() = LIST OF UPPER PRINCIPAL QUANTUM NUMBERS OF C OBSERVED SPECTRUM LINES. C DIMENSION: SPECTRUM LINE INDEX. C INPUT : (I*4) NL() = LIST OF LOWER PRINCIPAL QUANTUM NUMBERS OF C OBSERVED SPECTRUM LINES. C DIMENSION: SPECTRUM LINE INDEX. C INPUT : (R*8) EMISA() = LIST OF EMISSIVITIES OF OBSERVED SPECTRUM C LINES. C DIMENSION: SPECTRUM LINE INDEX. C INPUT : (I*4) NPLINES = 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 : (R*8) QTHEOR() = MEAN CHARGE EXCHANGE OR EXCITATION RATE C COEFFICIENTS FOR N-LEVELS AVERAGED OVER C BEAM FRACTIONS. C UNITS: CM3 SEC-1 C DIMENSION: REFERENCED BY N QUANTUM NUMBER. C INPUT : (R*8) FTHEOR() = MEAN CHARGE EXCHANGE OR EXCITATION RATE C FOR NL-LEVELS AS A FRACTION OF C CORRESPONDING N-LEVEL. C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L). C INPUT : (R*8) TBQMEP() = ELECTRON RATE COEFFT. FOR NL->NL+1. C INDEX FOR NL->NL+1 TRANSITION GIVEN BY C I4IDFL(N,L). C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L). C INPUT : (R*8) TBQMEM() = ELECTRON RATE COEFFT. FOR NL+1->NL. C INDEX FOR NL+1->NL TRANSITION GIVEN BY C I4IDFL(N,L+1). C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L). C INPUT : (R*8) TBQMIP() = POSITIVE ION RATE COEFFT. FOR NL->NL+1. C INDEX FOR NL->NL+1 TRANSITION GIVEN BY C I4IDFL(N,L). C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L). C INPUT : (R*8) TBQMIM() = POSITIVE ION RATE COEFFT. FOR NL+1->NL. C INDEX FOR NL+1->NL TRANSITION GIVEN BY C I4IDFL(N,L+1). C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L). C C OUTPUT: (I*4) NUMIN = MINIMUM UPPER PRINCIPAL QUANTUM NUMBER FOR C OBSERVED SPECTRUM LINES. C OUTPUT: (I*4) NUMAX = MAXIMUM UPPER PRINCIPAL QUANTUM NUMBER FOR C OBSERVED SPECTRUM LINES. C OUTPUT: (R*8) EM = EMMISSION MEASURE. C OUTPUT: (R*8) QEX() = C DIMENSION: MXNSHL. 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) MXN = MXNSHL. C PARAM : (I*4) MXOB = MXOBSL. C C (I*4) NREP = C (I*4) IC = LOOP INDEX. C C (I*4) ICREP() = C DIMENSION: MXOB. C C (R*8) WHIGH() = C DIMENSION: REFERENCED BY L+1. C (R*8) WLOW(,) = C 1ST DIMENSION: REFERENCED BY I4IDFL(N,L). C 2ND DIMENSION: REFERENCED BY L+1. C C C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------- C I4UNIT ADAS RETURNS UNIT NO. FOR OUTPUT OF MESSAGES. C CXWFIL ADAS C CXEMQX C CXPRSL ADAS PREDICTS REQUESTED SPECTRUM LINES. C C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC) C K1/0/81 C JET EXT. 5183 C C DATE: 15/10/93 C C----------------------------------------------------------------------- C C----------------------------------------------------------------------- INTEGER IZ0, IZ1, MXNSHL, MXOBSL INTEGER MXPRSL, NBOT, NGRND INTEGER NL(MXOBSL), NOLINE, NPL(MXPRSL), NPLINE INTEGER NPU(MXPRSL), NTOT, NU(MXOBSL), NUMAX INTEGER NUMIN REAL*8 AVRGWL(MXPRSL), DENS, DENSZ REAL*8 EM, EMISA(MXOBSL) REAL*8 FTHEOR((MXNSHL*(MXNSHL+1))/2) REAL*8 QEFF(MXPRSL), QEX(MXNSHL) REAL*8 QTHEOR(MXNSHL) REAL*8 TBLEMI(MXPRSL,2*MXNSHL-3) REAL*8 TBLPOP(MXPRSL,2*MXNSHL-3) REAL*8 TBLWLN(MXPRSL,2*MXNSHL-3) REAL*8 TBQMEM((MXNSHL*(MXNSHL+1))/2) REAL*8 TBQMEP((MXNSHL*(MXNSHL+1))/2) REAL*8 TBQMIM((MXNSHL*(MXNSHL+1))/2) REAL*8 TBQMIP((MXNSHL*(MXNSHL+1))/2) REAL*8 TOTEMI(MXPRSL), TOTPOP(MXPRSL)