ADAS Subroutine d7bndl
SUBROUTINE D7BNDL(NDLEV , NDTRN , NDMET , NDOSC , + IL , WA , XJA , NV , TSCEF , + ICNTE , IETRN , IE1A , IE2A , AA , SCOM , + NMET , IMETR , PTOT , FMIN , Z1 , + ICTM , IUMA , CSTGMA, + FFMA , WVMA , GBMA , PYMA + ) C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: D7BNDL ********************* C C C PURPOSE: SUBROUTINE TO DISCARD TRANSITIONS WITH AN OSCILLATOR C STRENGTH BELOW A CERTAIN INPUT VALUE. GETS SOME VALUES C VIA A PIPE FROM IDL AND THEN RETURNS SOME VALUES TO IDL C FOR DISPLAY USE IN CW_ADAS407_PROC C C C CALLING PROGRAM: D7ISPF C C C SUBROUTINE: C C C C INPUT : (I*4) NDLEV = MAXIMUM NUMBER OF LEVELS THAT CAN BE READ C INPUT : (I*4) NDTRN = MAXIMUM NUMBER OF TRANSITIONS C INPUT : (I*4) NDLEV = MAXIMUM NUMBER OF LEVELS THAT CAN BE READ C INPUT : (I*4) NDTRN = MAXIMUM NUMBER OF TRANSITIONS C INPUT : (I*4) NDMET = MAXIMUM NUMBER OF METASTABLES C INPUT : (I*4) NDOSC = MAXIMUM NUMBER OF RADIATIVE TRANSITIONS C ALLOWED FOR ASSEMBLING POWER FOR EACH C METASTABLE C C INPUT : (I*4) IL = NUMBER OF ENERGY LEVELS C INPUT : (R*8) WA() = ENERGY RELATIVE TO LEVEL 1 (CM-1) C 1ST DIM: LEVEL INDEX C INPUT : (R*8) XJA() = QUANTUM NUMBER (J-VALUE) FOR LEVEL 'IA()' C (NOTE: (2*XJA)+1 = STATISTICAL WEIGHT) C 1ST DIM: LEVEL INDEX C INPUT : (I*4) NV = INPUT DATA FILE: NUMBER OF TEMPERATURES C INPUT : (R*8) TSCEF(,) = INPUT DATA FILE: ELECTRON TEMPERATURES C 2ND DIMENSION: 1 => KELVIN (IFOUT=1) C 2 => EV (IFOUT=2) C 3 => REDUCED (IFOUT=3) C INPUT : (I*4) ICNTE = NUMBER OF ELECTRON COLL. TRANSITIONS C INPUT : (I*4) IETRN() = ELECTRON IMPACT TRANSITION: C INDEX VALUES IN MAIN TRANS. ARRAYS WHICH C REPRESENT ELECTRON IMPACT TRANSITIONS. C INPUT : (I*4) IE1A() = TRANSITION: LOWER ENERGY LEVEL INDEX C 1ST DIM: ELECTRON COLL. TRANSITION INDEX C INPUT : (I*4) IE2A() = TRANSITION: UPPER ENERGY LEVEL INDEX C 1ST DIM: ELECTRON COLL. TRANSITION INDEX C INPUT : (R*8) AA() = TRANSITION: A-VALUE (SEC-1) C 1ST DIM: ELECTRON COLL. TRANSITION INDEX C INPUT : (R*8) SCOM(,) = TRANSITION: C GAMMA VALUES (CASE ' ' & 'P') C RATE COEFFT. (CM3 SEC-1) (CASE 'H' & 'R') C 1ST DIMENSION - TEMPERATURE 'SCEF()' C 2ND DIMENSION - TRANSITION NUMBER C C INPUT : (I*4) NMET = NUMBER OF METASTABLES SELECTED C INPUT : (I*4) IMETR() = INDEX OF METASTABLES IN LEVELE LIST C 1ST DIM: METASTABLE INDEX C OUTPUT: (R*8) PTOT(,) = TOTAL ZERO-DENS. RAD. POWER FOR EACH META. C 1ST DIM: SPECIFIC ION FILE TEMP. INDEX C 2ND DIM: METASTABLE INDEX C INPUT : (R*8) FMIN = MINIMIUM PERMITTED OSCILLATOR STRENGTH C INPUT : (R*8) Z1 = RECOMBINING ION CHARGE C C C OUTPUT: (I*4) ICTM() = NUMBER OF INCLUDED TRANSITIONS FOR EACH C METASTABLE C 1ST DIM: METASTABLE INDEX C OUTPUT: (I*4) IUMA(,) = INDEX OF METASTABLE ASSIGNED TRANSITION C IN FULL ELECTRON COLL. TRANSITION LIST. C 1ST DIM: METASTABLE TRANSITION SET INDEX C 2ND DIM: METASTABLE INDEX C OUTPUT: (C*22) CSTGMA(,) = STRING IDENTIFIER FOR INCLUDED TRANSITION C CONTAINING J,I,FIJ,WVLN C 1ST DIM: METASTABLE TRANSITION SET INDEX C 2ND DIM: METASTABLE INDEX C OUTPUT: (I*4) FFMA(,) = OSCILLATOR STRENGTH OF INCLUDED TRANSITION C 1ST DIM: METASTABLE TRANSITION SET INDEX C 2ND DIM: METASTABLE INDEX C OUTPUT: (I*4) WVMA(,) = WAVELENGTH (A) OF INCLUDED TRANSITION C 1ST DIM: METASTABLE TRANSITION SET INDEX C 2ND DIM: METASTABLE INDEX C OUTPUT: (R*8) GBMA(,,) = GBAR FOR ALLLOWED TRANSITIONS C 1ST DIM: SPECIFIC ION FILE TEMP. INDEX C 2ND DIM: INCLUDED ALLOWED TRANS. INDEX C 3RD DIM: METASTABLE INDEX C OUTPUT: (R*8) PYMA(,,) = VAN REGEMORTER P FOR ALLOWED TRANSITIONS C 1ST DIM: SPECIFIC ION FILE TEMP. INDEX C 2ND DIM: INCLUDED ALLOWED TRANS. INDEX C 3RD DIM: METASTABLE INDEX C C C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------ C D7PYVR ADAS EVALUATES VAN REGEMORTER P FACTOR C C C AUTHOR: M O'MULLANE, UCC C C DATE: 18/05/94 C C UPDATE: C C UNIX-IDL PORT: C WILLIAM OSBORN, TESSELLA SUPPORT SERVICES PLC. C C DATE: 22ND APRIL 1996 C C VERSION: 1.1 DATE: 22-04-96 C MODIFIED: WILLIAM OSBORN C - FIRST VERSION. C C VERSION: 1.2 DATE: 22-04-96 C MODIFIED: WILLIAM OSBORN C REPLACED NDMET BY NMET IN LOOP TO READ IMETR C----------------------------------------------------------------------- C----------------------------------------------------------------------- CHARACTER*22 CSTGMA(NDOSC,NDMET) INTEGER ICNTE, ICTM(NDMET), IE1A(NDTRN) INTEGER IE2A(NDTRN), IETRN(NDTRN), IL INTEGER IMETR(NDMET), IUMA(NDOSC,NDMET) INTEGER NDLEV, NDMET, NDOSC, NDTRN INTEGER NMET, NV REAL*8 AA(NDTRN), FFMA(NDOSC,NDMET), FMIN REAL*8 GBMA(14,NDOSC,NDMET), PTOT(14,NDMET) REAL*8 PYMA(14,NDOSC,NDMET), SCOM(14,NDTRN) REAL*8 TSCEF(14,3), WA(NDLEV), WVMA(NDOSC,NDMET) REAL*8 XJA(NDLEV), Z1