ADAS Subroutine b8winf
C SUBROUTINE B8WINF( IUNIT , LADF10 , DATE , USER , & NDLEV , & DSNINC , DSFULL , DSNEXP , & IZ0 , IZ1 , & IL , NMET , NPL , IBSELA , & LRSEL , LISEL , LHSEL , LIOSEL , & LPSEL , LZSEL , LNSEL , LNORM , & LSSETA , LSS04A & ) C----------------------------------------------------------------------- C C ******************** FORTRAN77 SUBROUTINE: B8WINF ******************* C C PURPOSE: Write information section of adf10, adf13 and adf15 files. C C C CALLING PROGRAM: ADAS208 - b8wrmc, b8wr11, b8wr12 C C SUBROUTINE: C C INPUT : (I*4) IUNIT = OUTPUT UNIT NUMBER C INPUT : (I*4) LADF10 = .TRUE. IF WRITING COMMENTS TO ADF10 FILE. C INPUT : (C*8) DATE = CURRENT DATE. C INPUT : (C*30) USER = USER IDENTIFIER C INPUT : (I*4) NDLEV = MAXIMUM NUMBER OF LEVELS ALLOWED C INPUT : (I*4) NDMET = MAXIMUM NUMBER OF METASTABLES ALLOWED C INPUT : (C*80) DSNINC = INPUT COPASE DATA SET NAME (IN QUOTES). C INPUT : (C*80) DSFULL = INPUT SZD DATA SET NAME (IN QUOTES). C INPUT : (C*80) DSNEXP = INPUT EXPANSION FILE 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 : (I*4) IL = NUMBER OF ENERGY LEVELS C INPUT : (I*4) NMET = NUMBER OF METASTABLES LEVELS: 1<=NMET<=NDMET C INPUT : (I*4) NPL = NO. OF METASTABLES OF (Z+1) ION ACCESSED C BY EXCITED STATE IONISATION IN COPASE C FILE WITH IONISATION POTENTIALS GIVEN C ON THE FIRST DATA LINE C INPUT : (I*4) IBSELA(,)=IONISATION DATA BLOCK SELECTOR INDICES C 1ST DIMENSION - (Z) ION METASTABLE COUNT C 2ND DIMENSION - (Z+1) ION METASTABLE COUNT C INPUT : (L*4) LRSEL = .TRUE. - RECOMB OF (Z+1) ION ACTIVE C .FALSE. - RECOMB. OF (Z+1) ION INACTIVE C INPUT : (L*4) LISEL = .TRUE. - IONIS. OF (Z-1) ION ACTIVE C .FALSE. - IONIS. OF (Z-1) ION INACTIVE C INPUT : (L*4) LHSEL = .TRUE. - CX REC. OF (Z+1) ION ACTIVE C .FALSE. - CX REC. OF (Z+1) ION INACTIVE C INPUT : (L*4) LIOSEL = .TRUE. - IONIS. OF (Z) ION ACTIVE C .FALSE. - IONIS. OF (Z) ION INACTIVE C INPUT : (L*4) LPSEL = .TRUE. => INCLUDE PROTON COLLISIONS C = .FALSE. =>DO NOT INCLUDE PROTON COLLISIONS C INPUT : (L*4) LZSEL = .TRUE. => SCALE PROTON COLLISIONS WITH C PLASMA Z EFFECTIVE'ZEFF'. C = .FALSE. => DO NOT SCALE PROTON COLLISIONS C WITH PLASMA Z EFFECTIVE 'ZEFF'. C (ONLY USED IF 'LPSEL=.TRUE.') C INPUT : (L*4) LNSEL = .TRUE. => INCLUDE PROJECTED BUNDLE-N DATA C FROM DATAFILE IF AVAILABLE C = .FALSE. => DO NOT INCLUDE PROJECTED C BUNDLE-N DATA C INPUT : (L*4) LNORM = .TRUE. => IF NMET=1 THEN VARIOUS C IONISATION OUTPUT FILE C NORMALISED TO STAGE TOT.POPULATN. C (** NORM TYPE = T) C = .FALSE. => OTHERWISE NORMALISE TO IDENTIFIED C METASTABLE POPULATIONS. C (** NORM TYPE = M) C INPUT : (L*4) LSSETA(,)= .TRUE. => MET. IONIS RATE SET IN B8GETS C .FALSE. => MET. IONIS RATE NOT SET IN B8GETS C 1ST DIMENSION: (Z) ION METASTABLE INDEX C 2ND DIMENSION: (Z+1) ION METASTABLE INDEX C INPUT : (L*4) LSS04A(,)= .TRUE. => IONIS. RATE SET IN ADF04 FILE: C .FALSE. => NOT SET IN ADF04 FILE C 1ST DIM: LEVEL INDEX C 2ND DIM: PARENT METASTABLE INDEX C C C INTERNAL: C C (L*4) LION = .TRUE. => SOME/ALL MET. IONIS RATE IS SET C (L*4) LIONALL = .TRUE. => ALL MET. IONIS RATES ARE SET C (L*4) LIONA = .TRUE. => ALL MET. IONIS RATES FROM ADF04 FILE C (L*4) LIONOV = .TRUE. => SOME/ALL MET. IONIS RATES TAKEN C FROM ADF07 FILE C C C ROUTINES: C ROUTINE SOURCE BRIEF DESCRIPTION C ------------------------------------------------------------ C XXSLEN ADAS FINDS LENGTH OF NON-BLANK STRINGS C C C AUTHOR: Martin O'Mullane C C DATE: 8/10/99 C C VERSION: 1.1 DATE: 8/10/99 C MODIFIED: Martin O'Mullane C - First version C VERSION: 1.2 DATE: 21/03/00 C MODIFIED: Martin O'Mullane C - Removed NDMET from input parameter list C C----------------------------------------------------------------------- CHARACTER*8 DATE CHARACTER*80 DSFULL, DSNEXP, DSNINC CHARACTER*30 USER INTEGER IBSELA(NDMET,NDMET), IL, IUNIT INTEGER IZ0, IZ1, NDLEV, NMET INTEGER NPL LOGICAL LADF10, LHSEL, LIOSEL, LISEL LOGICAL LNORM, LNSEL, LPSEL, LRSEL LOGICAL LSS04A(NDLEV,NDMET), LSSETA(NDMET,NDMET) LOGICAL LZSEL