Search Site | Contact Details | FAQ

ADAS Subroutine d6scrp

       SUBROUTINE D6SCRP( 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: D6SCRP  ********************
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: ADAS406
C
C  SUBROUTINE:
C
C  INPUT : (C*80)  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
C          K1/1/57
C          JET EXT. 4941
C
C DATE:    20/04/94
C
C UNIX-IDL PORT:
C
C AUTHOR:  WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C
C DATE:    07/06/96
C
C VERSION: 1.1				     DATE:07/06/96
C MODIFIED: WILLIAM OSBORN
C	    - FIRST VERSION. USED SOME CODE FROM D5SCRP.FOR V1.3 IN
C             ADDING IRCODE PARAMETER.
C VERSION: 1.2				     DATE:27/06/96
C MODIFIED: WILLIAM OSBORN
C	    - REMOVED UNUSED VARIABLES
C VERSION: 1.3				     DATE:27/06/96
C MODIFIED: WILLIAM OSBORN
C	    - INCREASED LENGTH OF CLINE AND DSNPEC TO 120
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
      CHARACTER           CIMET(NDLINE,NDCOMP)
      CHARACTER           CINDPH(NDLINE,NDCOMP)
      CHARACTER*80        DSNINC
      CHARACTER*120       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