Search Site | Contact Details | FAQ

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
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk