ADAS Subroutine d5spec
SUBROUTINE D5SPEC( LRSPEC , & NDLINE , NDCOMP , NDRAT , NDFILE , & NFILE , LFILE , & UID , GROUP , TYPE , EXT , & IZ0 , DSPECA , & NLINE , NCOMP , & IZION , IMET , CIMET , INDPH , & IFILE , & NTDIM , ITMAX , & TEIN , DEIN , THIN , DHIN , & PECA , & LPEC , LTRNG , LDRNG & ) C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: D5SPEC ******************** C C PURPOSE: TO CALCULATE PHOTON EMISSIVITY COEFFICIENTS FOR C SPECTRAL LINES IDENTIFIED IN SCRIPT FILE C C CALLING PROGRAM: ADAS405 C C SUBROUTINE: C C INPUT : (I*4) NDLINE = MAXIMUM NUMBER OF LINES ALLOWED C INPUT : (I*4) NDCOMP = MAXIMUM NUMBER OF COMPONENT FOR EACH LINE C INPUT : (I*4) NDRAT = MAXIMUM NUMBER OF LINE RATIOS ALLOWED C INPUT : (I*4) NDFILE = MAXIMUM NUMBER OF EMISSIVITY FILES WHICH C CAN BE SEARCHED C INPUT : (I*4) NFILE = NUMBER OF PEC FILES TO BE SCANNED C INPUT : (L*4) LFILE() = .TRUE. => PEC FILE EXISTS AND MATCHES C .FALSE. => PEC FILE DOES NOT EXIST/MATCH C INPUT : (C*6) UID() = USER IDENTIFIER OF PEC FILE C INPUT : (C*8) GROUP() = GROUP IDENTIFIER OF PEC FILE C INPUT : (C*5) TYPE() = TYPE IDENTIFIER OF PEC FILE C INPUT : (C*3) EXT() = EXTENSION OF PEC FILE MEMBER NAME C INPUT : (I*4) IZ0 = NUCLEAR CHARGE OF IMPURITY C INPUT : (C*120)DSPECA() = PHOTON EMISSIVITY SOURCE FILES C INPUT : (I*4) NLINE = NUMBER OF LINES IDENTIFIED IN SCRIPT C INPUT : (I*4) NCOMP() = NUMBER OF COMPONENTS OF SCRIPT LINE C 1ST DIM: LINE INDEX C INPUT : (I*4) IZION(,) = CHARGE STATE OF COMPONENT C 1ST DIM: LINE INDEX C 2ND DIM: COMPONENT INDEX C INPUT : (I*4) IMET(,) = NUMBER OF COMPONENTS OF SCRIPT LINE C 1ST DIM: LINE INDEX C 2ND DIM: COMPONENT INDEX C INPUT : (C*1) CIMET(,) = SIGN (+, BLANK OR -) OF METASTABLE C 1ST DIM: LINE INDEX C 2ND DIM: COMPONENT INDEX C INPUT : (I*4) INDPH(,) = PEC FILE INDEX OF LINE COMPONENT C 1ST DIM: LINE INDEX C 2ND DIM: COMPONENT INDEX C INPUT : (I*4) IFILE(,) = INDEX OF PEC FILE IN FILE LIST C 1ST DIM: LINE INDEX C 2ND DIM: COMPONENT INDEX C INPUT : (I*4) NTDIM = MAXIMUM NUMBER OF TEMP/DENSITY SETS C INPUT : (I*4) ITMAX = NUMBER OF TEMP/DENSITY SETS C INPUT : (R*8) TEIN() = ELECTRON TEMPERATURES (EV) C INPUT : (R*8) DEIN() = ELECTRON DENSITIES (CM-3) C INPUT : (R*8) THIN() = HYDROGEN TEMPERATURES (EV) C INPUT : (R*8) DHIN() = HYDROGEN DENSITIES (CM-3) C C OUTPUT: (L*4) LRSPEC = .TRUE. => PEC PROCESSING DONE C .FALSE. => PEC PROCESSING NOT DONE C OUTPUT: (R*8) PECA(,,) = PHOTON EMISSIVITY COEFFICIENTS (CM3 S-1) C 1ST DIM: TEMPERATURE INDEX C 2ND DIM: LINE INDEX C 3RD DIM: COMPONENT INDEX C OUTPUT: (L*4) LPEC(,) = .TRUE. => PHOTON EMISSIVITY OBTAINED C .FALSE. => PHOTON EMISSIVITY NOT OBTAINED C 2ND DIM: LINE INDEX C 3RD DIM: COMPONENT INDEX C C (I*4) IUNT10 = PARAMETER = INPUT UNIT FOR DATA C (L*4) OPEN10 = .TRUE. => FILE ALLOCATED TO UNIT 10. C .FALSE. => NO FILE ALLOCATED TO UNIT 10. C C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ----------------------------------------------------------- C D5SPC2 IDL-ADAS OBTAIN PHOTON EMISSIVITY COEFFICIENT C C AUTHOR: H. P. SUMMERS, JET C K1/1/57 C JET EXT. 4941 C C DATE: 20/04/94 C C UNIX-IDL PORT: C C VERSION: 1.1 DATE: 08-11-95 C MODIFIED: TIM HAMMOND (TESSELLA SUPPORT SERVICES PLC) C - FIRST RELEASE C C VERSION: 1.2 DATE: 08-11-95 C MODIFIED: TIM HAMMOND (TESSELLA SUPPORT SERVICES PLC) C - REMOVED SUPERFLUOUS VARIABLES C C VERSION: 1.3 DATE: 10-11-95 C MODIFIED: TIM HAMMOND (TESSELLA SUPPORT SERVICES PLC) C - INCREASED LENGTH OF TITLX FROM 80 TO 120 C C----------------------------------------------------------------------- C C----------------------------------------------------------------------- CHARACTER CIMET(NDLINE,NDCOMP) CHARACTER*120 DSPECA(NDFILE) CHARACTER*3 EXT(NDFILE) CHARACTER*8 GROUP(NDFILE) CHARACTER*5 TYPE(NDFILE) CHARACTER*6 UID(NDFILE) INTEGER IFILE(NDLINE,NDCOMP), IMET(NDLINE,NDCOMP) INTEGER INDPH(NDLINE,NDCOMP), ITMAX, IZ0 INTEGER IZION(NDLINE,NDCOMP), NCOMP(NDLINE) INTEGER NDCOMP, NDFILE, NDLINE, NDRAT INTEGER NFILE, NLINE, NTDIM LOGICAL LDRNG(NTDIM), LFILE(NDFILE) LOGICAL LPEC(NDLINE,NDCOMP), LRSPEC LOGICAL LTRNG(NTDIM) REAL*8 DEIN(NTDIM), DHIN(NTDIM) REAL*8 PECA(NTDIM,NDLINE,NDCOMP) REAL*8 TEIN(NTDIM), THIN(NTDIM)