ADAS Subroutine h9wr11
SUBROUTINE H9WR11( IUNT11 , DSNINP , & NDLEV , NDTRN , NVMAX , NDMET , & DATE , & TITLED , IZ , IZ0 , IZ1 , BWNOA , & IL , & CSTRGA , ISA , ILA , XJA , WA , & IPLA , ZPLA , & NVN , SCEFN , & icnte , icnts , ietrn , istrn , & TCODE , I1A , I2A , AVAL , SCOMUP , & SCOMDN , DTYPE , KAPPA , ADF37 , druval , & lbeth , beth , npl , cprta & ) C---------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: H9WR11 ********************* C C PURPOSE: PRODUCES AN ADF04 TYPE 3 FILE, WHERE THE CONTENTS IS C CONSIDERED AS THE OUTPUT DATA SET FROM ADAS809. C C CALLING PROGRAM: ADAS809 C C C C SUBROUTINE: C C INPUT : (I*4) IUNT11 = UNIT TO WHICH INPUT FILE IS ALLOCATED C INPUT : (C*80) DSNINP = NAME OF INPUT ADF04 FILE C INPUT : (I*4) NDLEV = MAXIMUM NUMBER OF LEVELS C INPUT : (I*4) NDTRN = MAX. NUMBER OF TRANSITIONS C INPUT : (I*4) NVMAX = MAX. NUMBER OF TEMPERATURES C INPUT : (I*4) NDMET = MAX. NUMBER OF METASTABLES C INPUT : (C*8) DATE = DATE (AS DD/MM/YY). C INPUT : (C*3) TITLED = ELEMENT SYMBOL. C INPUT : (I*4) IZ = RECOMBINED ION CHARGE READ C INPUT : (I*4) IZ0 = NUCLEAR CHARGE READ C INPUT : (I*4) IZ1 = RECOMBINING ION CHARGE READ C (NOTE: IZ1 SHOULD EQUAL IZ+1) C INPUT : (R*8) BWNO = IONISATION POTENTIAL (CM-1) C C INPUT : (I*4) IL = INPUT DATA FILE: NUMBER OF ENERGY LEVELS C C INPUT : (C*18) CSTRGA()= NOMENCLATURE/CONFIGURATION FOR LEVEL 'IA()' C INPUT : (I*4) ISA() = MULTIPLICITY FOR LEVEL 'IA()' C NOTE: (ISA-1)/2 = QUANTUM NUMBER (S) C INPUT : (I*4) ILA() = QUANTUM NUMBER (L) FOR LEVEL 'IA()' C INPUT : (R*8) XJA() = QUANTUM NUMBER (J-VALUE) FOR LEVEL 'IA()' C NOTE: (2*XJA)+1 = STATISTICAL WEIGHT C INPUT : (R*8) WA() = ENERGY RELATIVE TO LEVEL 1 (CM-1) FOR LEVEL C 'IA()' C INPUT : (I*4) IPLA(,) = PARENT INDEX FOR CONTRIBUTION TO IONIS. C OF LEVEL C 1ST DIMENSION: PARENT INDEX C 2ND DIMENSION: LEVEL INDEX C INPUT : (R*8) ZPLA(,) = EFF. ZETA PARAM. FOR CONTRIBUTION TO IONIS. C OF LEVEL C 1ST DIMENSION: PARENT INDEX C 2ND DIMENSION: LEVEL INDEX C C INPUT : (I*4) NVN = INPUT DATA FILE: NUMBER OF GAMMA/TEMPERATURE C PAIRS FOR A GIVEN TRANSITION. C INPUT : (R*8) SCEFN() = INPUT DATA FILE: ELECTRON TEMPERATURES (K) C (INITIALLY JUST THE MANTISSA. SEE 'ITPOW()') C (NOTE: TE=TP=TH IS ASSUMED) C C INPUT : (I*4) ITRNE = INPUT DATA FILE: NO OF EXCITATION TRANSITIONS C INPUT : (I*4) ITRNS = INPUT DATA FILE: NO OF IONISATION TRANSITIONS C C INPUT : (C*1) TCODE() = TRANSITION: DATA TYPE POINTER: C ' ' => Electron Impact Transition C 'P' => Proton Impact Transition C 'H' => Charge Exchange Recombination C 'R' => Free Electron Recombination C INPUT : (I*4) I1A() = TRANSITION: C LOWER ENERGY LEVEL INDEX (CASE ' ' & 'P') C SIGNED PARENT INDEX (CASE 'H' & 'R') C INPUT : (I*4) I2A() = TRANSITION: C UPPER ENERGY LEVEL INDEX (CASE ' ' & 'P') C CAPTURING LEVEL INDEX (CASE 'H' & 'R') C INPUT : (R*8) AVAL() = TRANSITION: C A-VALUE (SEC-1) (CASE ' ') C NEUTRAL BEAM ENERGY (CASE 'H') C NOT USED (CASE 'P' & 'R') C INPUT : (R*8) SCOMN(,)= 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 C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------- C XXNAME ADAS FINDS REAL NAME OF USER C XXWSTR ADAS WRITES STRING TO A UNIT WITH TRAILING C BLANKS REMOVED C C C AUTHOR : H. P. SUMMERS, UNIVERSITY OF STRATHCLYDE C JA8.08 C TEL. 0141-553-4196 C C DATE: 30/11/01 C C UPDATE: CC C---------------------------------------------------------------------- CHARACTER*80 ADF37 CHARACTER*9 CPRTA(NDMET) CHARACTER*18 CSTRGA(NDLEV) CHARACTER*8 DATE CHARACTER*80 DSNINP CHARACTER TCODE(NDTRN) CHARACTER*3 TITLED INTEGER DTYPE, I1A(NDTRN), I2A(NDTRN), ICNTE INTEGER ICNTS, IETRN(NDTRN), IL INTEGER ILA(NDLEV), IPLA(NDMET,NDLEV) INTEGER ISA(NDLEV), ISTRN(NDTRN), IUNT11 INTEGER IZ, IZ0, IZ1, NDLEV INTEGER NDMET, NDTRN, NPL, NVMAX INTEGER NVN LOGICAL LBETH REAL*8 AVAL(NDTRN), BETH(NDTRN), BWNOA(NDMET) REAL*8 DRUVAL, KAPPA, SCEFN(NVMAX) REAL*8 SCOMDN(NVMAX,NDTRN), SCOMUP(NVMAX,NDTRN) REAL*8 WA(NDLEV), XJA(NDLEV), ZPLA(NDMET,NDLEV)