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