Search Site | Contact Details | FAQ

ADAS Subroutine d9spec

C Copyright (c) 1997, Strathclyde University. 
      SUBROUTINE D9SPEC( LRSPEC ,
     &                   NDLINE , NDCOMP  , NDRAT  , NDFILE ,
     &                   NFILE  , LFILE   ,
     &                   UID    , GROUP   , TYPE   , EXT    ,
     &                   IZ0    , DSPECA  ,
     &                   NLINE  , NCOMP   ,
     &                   IZION  , IMET    , CIMET  , INDPH  ,
     &                   IFILE  ,
     &                   NTDIM  , NDDIM   , ITMAX  , IDMAX  ,
     &                   TEIN   , DEIN    , THIN   , DHIN   ,
     &                   PECA   ,
     &                   LPEC   , LTRNG   , LDRNG
     &                 )
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: D9SPEC  ********************
C
C  PURPOSE: TO CALCULATE PHOTON EMISSIVITY COEFFICIENTS FOR
C           SPECTRAL LINES IDENTIFIED IN SCRIPT FILE
C
C  CALLING PROGRAM: ADAS409
C
C  SUBROUTINE:
C
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  INPUT : (I*4)   NFILE    = NUMBER OF PEC FILES TO BE SCANNED
C  INPUT : (L*4)   LFILE()  = .TRUE.  => PEC FILE EXISTS AND MATCHES
C                             .FALSE. => PEC FILE DOES NOT EXIST/MATCH
C  INPUT : (C*6)   UID()    = USER IDENTIFIER OF PEC FILE
C  INPUT : (C*8)   GROUP()  = GROUP IDENTIFIER OF PEC FILE
C  INPUT : (C*5)   TYPE()   = TYPE IDENTIFIER OF PEC FILE
C  INPUT : (C*3)   EXT()    = EXTENSION OF PEC FILE MEMBER NAME
C  INPUT : (I*4)   IZ0      = NUCLEAR CHARGE OF IMPURITY
C  INPUT : (C*120)DSPECA()  = PHOTON EMISSIVITY SOURCE FILES
C  INPUT : (I*4)   NLINE    = NUMBER OF LINES IDENTIFIED IN SCRIPT
C  INPUT : (I*4)   NCOMP()  = NUMBER OF COMPONENTS OF SCRIPT LINE
C                             1ST DIM: LINE INDEX
C  INPUT : (I*4)   IZION(,) = CHARGE STATE OF COMPONENT
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  INPUT : (I*4)   IMET(,)  = NUMBER OF COMPONENTS OF SCRIPT LINE
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  INPUT : (C*1)   CIMET(,) = SIGN (+, BLANK OR -) OF METASTABLE
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  INPUT : (I*4)   INDPH(,) = PEC FILE INDEX OF LINE COMPONENT
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  INPUT : (I*4)   IFILE(,) = INDEX OF PEC FILE IN FILE LIST
C                             1ST DIM: LINE INDEX
C                             2ND DIM: COMPONENT INDEX
C  INPUT : (I*4)   NTDIM    = MAXIMUM NUMBER OF TEMPERATURE SETS
C  INPUT : (I*4)   NDDIM    = MAXIMUM NUMBER OF DENSITY SETS
C  INPUT : (I*4)   ITMAX    = NUMBER OF TEMPERATURE SETS
C  INPUT : (I*4)   IDMAX    = NUMBER OF DENSITY SETS
C  INPUT : (R*8)   TEIN()   = ELECTRON TEMPERATURES (EV)
C  INPUT : (R*8)   DEIN()   = ELECTRON DENSITIES (CM-3)
C  INPUT : (R*8)   THIN()   = HYDROGEN TEMPERATURES (EV)
C  INPUT : (R*8)   DHIN()   = HYDROGEN DENSITIES (CM-3)
C
C  OUTPUT: (L*4)   LRSPEC   = .TRUE.  => PEC PROCESSING DONE
C                             .FALSE. => PEC PROCESSING NOT DONE
C  OUTPUT: (R*8)   PECA(,,,)= PHOTON EMISSIVITY COEFFICIENTS (CM3 S-1)
C                             1ST DIM: TEMPERATURE INDEX
C                             2ND DIM  DENSITY INDEX
C                             3RD DIM: LINE INDEX
C                             4RD DIM: COMPONENT INDEX
C  OUTPUT: (L*4)   LPEC(,)  = .TRUE.  => PHOTON EMISSIVITY OBTAINED
C                             .FALSE. => PHOTON EMISSIVITY NOT OBTAINED
C                             2ND DIM: LINE INDEX
C                             3RD DIM: COMPONENT INDEX
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	   D9SPC2   IDL-ADAS  OBTAIN PHOTON EMISSIVITY COEFFICIENT
C
C AUTHOR:  A. C. Lanzafame, University of Strathclyde
C
C DATE:    7th December 1995
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*120       DSPECA(NDFILE)
      CHARACTER*3         EXT(NDFILE)
      CHARACTER*8         GROUP(NDFILE)
      CHARACTER*5         TYPE(NDFILE)
      CHARACTER*6         UID(NDFILE)
      INTEGER             IDMAX,       IFILE(NDLINE,NDCOMP)
      INTEGER             IMET(NDLINE,NDCOMP),      INDPH(NDLINE,NDCOMP)
      INTEGER             ITMAX,       IZ0,         IZION(NDLINE,NDCOMP)
      INTEGER             NCOMP(NDLINE),            NDCOMP,      NDDIM
      INTEGER             NDFILE,      NDLINE,      NDRAT,       NFILE
      INTEGER             NLINE,       NTDIM
      LOGICAL             LDRNG(NTDIM),             LFILE(NDFILE)
      LOGICAL             LPEC(NDLINE,NDCOMP),      LRSPEC
      LOGICAL             LTRNG(NTDIM)
      REAL*8              DEIN(NDDIM), DHIN(NDDIM)
      REAL*8              PECA(NTDIM,NDDIM,NDLINE,NDCOMP)
      REAL*8              TEIN(NTDIM), THIN(NTDIM)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk