Search Site | Contact Details | FAQ

ADAS Subroutine d9scrp

       SUBROUTINE D9SCRP( LRSCRP , LSNULL  ,
     &                    DSNINC , DSPECA  ,
     &                    NDLINE , NDCOMP  , NDRAT  , NDFILE ,
     &                    NFILE  , LFILE   ,
     &                    UID    , GROUP   , TYPE   , EXT    , ION    ,
     &                    MEMB   , IZ0     ,
     &                    NLINE  , NCOMP   ,
     &                    IZION  , IMET    , CIMET  , INDPH  , CINDPH ,
     &                    IFILE  , TITL    ,
     &                    NRAT   ,
     &                    ILINE  , JLINE   , TITR   , IRCODE
     &                  )
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: D9SCRP  ********************
C
C  PURPOSE: TO READ SCRIPT FILE AND ACCESS EMISSIVITY DATA
C           ON SPECTRAL LINES REQUESTED FOR FURTHER PROCESSING IN
C           EQUILIBRIUM IONISATION CODES.
C
C  CALLING PROGRAM: ADAS409
C
C  SUBROUTINE:
C
C  INPUT : (C*120) DSNINC   = SCRIPT DATA SET NAME (FULL MVS DSN)
C                             (IN FORM SUITABLE FOR DYNAMIC ALLOCATION)
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
C  OUTPUT: (L*4)   LRSCRP   = .TRUE.  => SCRIPT FILE READ
C                             .FALSE. => SCRIPT FILE NOT READ
C  OUTPUT: (L*4)   LSNULL   = .TRUE.  => SCRIPT FILE SET TO NULL
C                             .FALSE. => SCRIPT FILE VALID
C  OUTPUT: (C*120) DSPECA() = PHOTON EMISSIVITY SOURCE FILES
C  OUTPUT: (I*4)   NFILE    = NUMBER OF PEC FILES TO BE SCANNED
C  OUTPUT: (L*4)   LFILE()  = .TRUE.  => PEC FILE EXISTS AND MATCHES
C                             .FALSE. => PEC FILE DOES NOT EXIST/MATCH
C  OUTPUT: (C*6)   UID()    = USER IDENTIFIER OF PEC FILE
C  OUTPUT: (C*8)   GROUP()  = GROUP IDENTIFIER OF PEC FILE
C  OUTPUT: (C*5)   TYPE()   = TYPE IDENTIFIER OF PEC FILE
C  OUTPUT: (C*3)   EXT()    = EXTENSION OF PEC FILE MEMBER NAME
C  OUTPUT: (C*4)   ION()    = ION NAME OF PEC FILE MEMBER NAME
C  OUTPUT: (C*8)   MEMB()   = MEMBER NAME OF PEC FILE
C  OUTPUT: (I*4)   NLINE    = NUMBER OF LINES IDENTIFIED IN SCRIPT
C  OUTPUT: (I*4)   NCOMP()  = NUMBER OF COMPONENTS OF SCRIPT LINE
C                             1ST DIM: LINE INDEX
C  OUTPUT: (I*4)   IZION(,) = CHARGE STATE OF COMPONENT
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  OUTPUT: (I*4)   IMET(,)  = NUMBER OF COMPONENTS OF SCRIPT LINE
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  OUTPUT: (C*1)   CIMET(,) = SIGN (+, BLANK OR -) OF METASTABLE
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  OUTPUT: (I*4)   INDPH(,) = PEC FILE INDEX OF LINE COMPONENT
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  OUTPUT: (C*1)   CINDPH(,)= DRIVER (E OR BLANK => ELECTRONS)
C                                    (H          => HYDROGEN )
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  OUTPUT: (I*4)   IFILE(,) = INDEX OF PEC FILE IN FILE LIST
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  OUTPUT: (C*12)  TITL(,)  = TITLE FOR LINE COMPONENT
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  OUTPUT: (I*4)   NRAT     = NUMBER OF RATIOS IDENTIFIED IN SCRIPT
C  OUTPUT: (I*4)   ILINE()  = INDEX OF NUMERATOR LINE FOR LINE RATIO
C  OUTPUT: (I*4)   JLINE()  = INDEX OF DENOMINATOR LINE FOR LINE RATIO
C  OUTPUT: (C*25)  TITR()   = TILE FOR LINE RATIO
C  OUTPUT: (I*4)   IRCODE   = ERROR FLAG:
C                             0 => SCRIPT FILE WAS READ OKAY
C                             1 => SCRIPT FILE DOES NOT EXIST
C                             2 => I/O ERROR READING THE SCRIPT FILE
C                             3 => 1 OR MORE FILE NAMES IN SCRIPT FILE
C                                  IS/ARE INVALID.
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          XXSLEN     ADAS      FIND NON-BLANK CHARACTERS IN STRING
C
C
C AUTHOR:  H. P. SUMMERS, JET (ORIGINALLY D5SCRP.FOR)
C          K1/1/57
C          JET EXT. 4941
C
C DATE:    20/04/94
C
C UPDATE:  ALESSANDRO LANZAFAME, CONVERTED TO D9SCRP.FOR
C
C-----------------------------------------------------------------------
C
C VERSION: 1.1                                          DATE: 12-03-98
C MODIFIED: RICHARD MARTIN
C               - PUT UNDER SCCS CONTROL
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
      CHARACTER           CIMET(NDLINE,NDCOMP)
      CHARACTER           CINDPH(NDLINE,NDCOMP)
      CHARACTER*120       DSNINC,      DSPECA(NDFILE)
      CHARACTER*3         EXT(NDFILE)
      CHARACTER*8         GROUP(NDFILE)
      CHARACTER*4         ION(NDFILE)
      CHARACTER*8         MEMB(NDFILE)
      CHARACTER*12        TITL(NDLINE,NDCOMP)
      CHARACTER*25        TITR(NDRAT)
      CHARACTER*5         TYPE(NDFILE)
      CHARACTER*6         UID(NDFILE)
      INTEGER             IFILE(NDLINE,NDCOMP),     ILINE(NDRAT)
      INTEGER             IMET(NDLINE,NDCOMP),      INDPH(NDLINE,NDCOMP)
      INTEGER             IRCODE,      IZ0,         IZION(NDLINE,NDCOMP)
      INTEGER             JLINE(NDRAT),             NCOMP(NDLINE)
      INTEGER             NDCOMP,      NDFILE,      NDLINE,      NDRAT
      INTEGER             NFILE,       NLINE,       NRAT
      LOGICAL             LFILE(NDFILE),            LRSCRP,      LSNULL
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk