Search Site | Contact Details | FAQ

ADAS Subroutine d9data

C Copyright (c) 1997, Strathclyde University.
       SUBROUTINE D9DATA( DSFLLA , LSELA  , LEXSA  , LDEFA , LPART  ,
     &                    IZ0    , IZ1MIN , IZ1MAX , NPART  ,
     &                    NTDIM  , NDDIM  , ITMAX  , IDMAX  ,
     &                    ISDIMD , IZDIMD , ITDIMD , IPDIMD , NPARTR,
     &                    DTEV   , DDENS  ,
     &                    DTEVD  , DDENSD , DRCOFD , ZDATA  ,
     &                    DRCOFI ,
     &                    ACDA   , LACDA  ,
     &                    SCDA   , LSCDA  ,
     &                    CCDA   , LCCDA  ,
     &                    PRBA   , LPRBA  ,
     &                    PRCA   , LPRCA  ,
     &                    QCDA   , LQCDA  ,
     &                    XCDA   , LXCDA  ,
     &                    PLTA   , LPLTA
     &                  )
C
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: D9DATA *********************
C
C PURPOSE : TO EXTRACT A COMPLETE SET OF COLLISIONAL DIELECTRONIC DATA
C           FOR A (TEMPERATURE, DENSITY) GRID
C           FROM EITHER PARTIAL (METASTABLE/PARENT RESOLVED) OR STANDARD
C           (UNRESOLVED) ISONUCLEAR MASTER FILES
C
C           DERIVED FROM D5DATA
C
C NOTE    : THE SOURCE DATA IS CONTAINED AS SEQUENTIAL DATASETS
C           WITH THE FOLLOWING NAMING CONVENTIONS:
C
C                   (1) JETSHP.ACD<YR>#<EL).<CODE>DATA
C                   (2) JETSHP.SCD<YR>#<EL>.<CODE>DATA
C                   (3) JETSHP.CCD<YR>#<EL>.<CODE>DATA
C                   (4) JETSHP.PRB<YR>#<EL>.<FILT>.<CODE>DATA
C                   (5) JETSHP.PRC<YR>#<EL>.<FILT>.<CODE>DATA
C                   (6) JETSHP.QCD<YR>#<EL>.<CODE>DATA
C                   (7) JETSHP.XCD<YR>#<EL>.<CODE>DATA
C                   (8) JETSHP.PLT<YR>#<EL>.<CODE>DATA
C
C       WHERE, <YR>   = TWO DIGIT YEAR NUMBER
C              <EL>   = ONE OR TWO CHARACTER ELEMENT SYMBOL
C              <CODE> = R       => PARTIAL DATA
C                       U       => PARTIAL DATA
C                       OMITTED => STANDARD DATA
C              <FILT> = SIX CHARACTER POWER FILTER CODE
C
C       AND DATA OF CLASSES 6 AND 7 DO NOT EXIST FOR THE STANDARD CASE.
C
C
C INPUT  : (C*120)DSFLLA()  = MASTER FILE DATA SET NAMES (FULL MVS DSN)
C                             (IN FORM SUITABLE FOR DYNAMIC ALLOCATION)
C INPUT  : (L*4)  LSELA()   = .TRUE.  => INPUT DATA SET TYPE FOR THIS
C                                        INDEX SELECTED
C                           = .FALSE. => INPUT DATA SET FOR THIS INDEX
C                                        NOT SELECTED
C INPUT  : (L*4)  LEXSA()   = .TRUE.  => INPUT DATA SET TYPE FOR THIS
C                                        SELECTED INDEX EXISTS
C                           = .FALSE. => INPUT DATA SET DOES NOT EXIST
C                                        FOR THIS SELECTED INDEX
C INPUT  : (L*4)  LDEFA()   = .TRUE.  => INPUT DATA SET TYPE FOR THIS
C                                        DEFAULT YEAR INDEX EXISTS
C                           = .FALSE. => INPUT DATA SET DOES NOT EXIST
C                                        FOR THIS DEFAULT YEAR INDEX
C INPUT  : (L*4)  LPART     = .TRUE.  => PARTIAL DATA SELECTED
C                           = .FALSE. => STANDARD DATA SELECTED
C INPUT  : (I*4)  IZ0       = NUCLEAR CHARGE
C INPUT  : (I*4)  IZ1MIN    = MINIMUM ION CHARGE+1 IN MASTER DATA FILES
C INPUT  : (I*4)  IZ1MAX    = MAXIMUM ION CHARGE+1 IN MASTER DATA FILES
C INPUT  : (I*4)  NPART()   = METASTABLE PARTITION.  I.E. NUMBER OF
C                             METASTABLES FROM CHARGE STATE IZ1MIN-1 TO
C                             IZ1MAX ON INPUT
C INPUT  : (I*4)  NTDIM     = MAXIMUM NUMBER OF DTEV VALUES
C INPUT  : (I*4)  NDDIM     = MAXIMUM NUMBER OF DDENS VALUES
C INPUT  : (I*4)  ITMAX     = NUMBER OF DTEV() VALUES
C INPUT  : (I*4)  IDMAX     = NUMBER OF DDENS() VALUES
C INPUT  : (I*4)  ISDIMD    = MAXIMUM NUMBER OF (CHARGE, PARENT, GROUND)
C                             BLOCKS IN ISONUCLEAR MASTER FILES
C INPUT  : (I*4)  IZDIMD    = MAXIMUM NUMBER OF CHARGE STATES
C                             IN ISONUCLEAR MASTER FILES
C INPUT  : (I*4)  ITDIMD    = MAXIMUM NUMBER OF TEMP OR DENS VALUES IN
C                             ISOELECTRONIC MASTER FILES
C INPUT  : (I*4)  IPDIMD    = MAXIMUM NUMBER OF METASTABLES FOR EACH
C                             IONISATION STAGE
C INPUT  : (R*8)  DTEV()    = DLOG10(ELECTRON TEMPERATURES (EV))
C INPUT  : (R*8)  DDENS()   = DLOG10(ELECTRON DENSITIES (CM-3))
C
C OUTPUT : (I*4)  NPARTR()  = METASTABLE PARTITION.  I.E. NUMBER OF
C                             METASTABLES FROM CHARGE STATE IZ1MIN-1 TO
C                             IZ1MAX FOUND IN MASTER FILE
C OUTPUT : (R*8)  DTEVD()   = DLOG10(DATA ELECTRON TEMPERATURES (EV))
C                             IN SELECTED MASTER FILE
C OUTPUT : (R*8)  DDENSD()  = DLOG10(DATA ELECTRON DENSITIES (CM-3))
C                             IN SELECTED MASTER FILE
C OUTPUT : (R*8)  DRCOFD(,,)= DLOG10(DATA RATE COEFFICIENTS (CM-3/S))
C                             IN SELECTED MASTER FILE
C                             1ST DIM: (CHARGE,META,GRD) BLOCK INDEX
C                             2ND DIM: TEMPERATURE INDEX
C                             3RD DIM: DENSITY INDEX
C OUTPUT : (R*8)  ZDATA()   = CHARGE + 1 FOR IONS IN SELECTED MASTER
C                             FILE
C                             1ST DIM: (CHARGE,META,GRD) BLOCK INDEX
C OUTPUT : (R*8)  DRCOFI(,) = INTERPOLATION OF DRCOFD(,,) FOR
C                             DTEV() & DDENS()
C OUTPUT : (R*8)  ACDA(,,,,)= INTERPOLATION OF ACD COEFFICIENT (CM3 S-1)
C                             1ST DIM: TEMPERATURE INDEX
C                             2ND DIM: DENSITY INDEX
C                             3RD DIM: CHARGE STATE INDEX
C                             4RD DIM: RECOMBINING METASTABLE INDEX
C                             5TH DIM: RECOMBINED METASTABLE INDEX
C OUTPUT : (L*4)  LACDA(,,) = .TRUE.  => ACD COEFFICIENT AVAILABLE
C                             .FALSE. => ACD COEFFICIENT NOT AVAILABLE
C                             1ST DIM: CHARGE STATE INDEX
C                             2ND DIM: RECOMBINING METASTABLE INDEX
C                             3RD DIM: RECOMBINED METASTABLE INDEX
C OUTPUT : (R*8)  SCDA(,,,,)= INTERPOLATION OF SCD COEFFICIENT (CM3 S-1)
C                             1ST DIM: TEMPERATURE INDEX
C                             2ND DIM: DENSITY INDEX
C                             3RD DIM: CHARGE STATE INDEX
C                             4RD DIM: RECOMBINING METASTABLE INDEX
C                             5TH DIM: RECOMBINED METASTABLE INDEX
C OUTPUT : (L*4)  LSCDA(,,) = .TRUE.  => SCD COEFFICIENT AVAILABLE
C                             .FALSE. => SCD COEFFICIENT NOT AVAILABLE
C                             1ST DIM: CHARGE STATE INDEX
C                             2ND DIM: RECOMBINING METASTABLE INDEX
C                             3RD DIM: RECOMBINED METASTABLE INDEX
C OUTPUT : (R*8)  CCDA(,,,,)= INTERPOLATION OF CCD COEFFICIENT (CM3 S-1)
C                             1ST DIM: TEMPERATURE INDEX
C                             2ND DIM: DENSITY INDEX
C                             3RD DIM: CHARGE STATE INDEX
C                             4RD DIM: RECOMBINING METASTABLE INDEX
C                             5TH DIM: RECOMBINED METASTABLE INDEX
C OUTPUT : (L*4)  LCCDA(,,) = .TRUE.  => CCD COEFFICIENT AVAILABLE
C                             .FALSE. => CCD COEFFICIENT NOT AVAILABLE
C                             1ST DIM: CHARGE STATE INDEX
C                             2ND DIM: RECOMBINING METASTABLE INDEX
C                             3RD DIM: RECOMBINED METASTABLE INDEX
C OUTPUT : (R*8)  PRBA(,,,) = INTERPOLATION OF PRB COEFFICIENT (W CM3 )
C                             1ST DIM: TEMPERATURE INDEX
C                             2ND DIM: DENSITY INDEX
C                             3RD DIM: CHARGE STATE INDEX
C                             4TH DIM: RECOMBINING METASTABLE INDEX
C OUTPUT : (L*4)  LCCDA(,)  = .TRUE.  => PRB COEFFICIENT AVAILABLE
C                             .FALSE. => PRB COEFFICIENT NOT AVAILABLE
C                             1ST DIM: CHARGE STATE INDEX
C                             2ND DIM: RECOMBINING METASTABLE INDEX
C OUTPUT : (R*8)  PRCA(,,,) = INTERPOLATION OF PRC COEFFICIENT (W CM3 )
C                             1ST DIM: TEMPERATURE INDEX
C                             2ND DIM: DENSITY INDEX
C                             3RD DIM: CHARGE STATE INDEX
C                             4TH DIM: RECOMBINING METASTABLE INDEX
C OUTPUT : (L*4)  LPRCA(,)  = .TRUE.  => PRC COEFFICIENT AVAILABLE
C                             .FALSE. => PRC COEFFICIENT NOT AVAILABLE
C                             1ST DIM: CHARGE STATE INDEX
C                             2ND DIM: RECOMBINING METASTABLE INDEX
C OUTPUT : (R*8)  QCDA(,,,,)= INTERPOLATION OF QCD COEFFICIENT (CM3 S-1)
C                             1ST DIM: TEMPERATURE INDEX
C                             2ND DIM: DENSITY INDEX
C                             3RD DIM: CHARGE STATE INDEX
C                             4TH DIM: FIRST METASTABLE INDEX
C                             5TH DIM: SECOND METASTABLE INDEX
C OUTPUT : (L*4)  LQCDA(,,) = .TRUE.  => QCD COEFFICIENT AVAILABLE
C                             .FALSE. => QDC COEFFICIENT NOT AVAILABLE
C                             1ST DIM: CHARGE STATE INDEX
C                             2ND DIM: FIRST METASTABLE INDEX
C                             3RD DIM: SECOND METASTABLE INDEX
C OUTPUT : (R*8)  XCDA(,,,,)= INTERPOLATION OF XCD COEFFICIENT (CM3 S-1)
C                             1ST DIM: TEMPERATURE INDEX
C                             2ND DIM: DENSITY INDEX
C                             3RD DIM: CHARGE STATE INDEX
C                             4TH DIM: FIRST PARENT METASTABLE INDEX
C                             5TH DIM: SECOND PARENT METASTABLE INDEX
C OUTPUT : (L*4)  LXCDA(,,) = .TRUE.  => XCD COEFFICIENT AVAILABLE
C                             .FALSE. => XDC COEFFICIENT NOT AVAILABLE
C                             1ST DIM: CHARGE STATE INDEX
C                             2ND DIM: FIRST PARENT METASTABLE INDEX
C                             3RD DIM: SECOND PARENT METASTABLE INDEX
C OUTPUT : (R*8)  PLTA(,,,) = INTERPOLATION OF PLT COEFFICIENT (W CM3 )
C                             1ST DIM: TEMPERATURE INDEX
C                             2ND DIM: DENSITY INDEX
C                             3RD DIM: CHARGE STATE INDEX
C                             4TH DIM: METASTABLE INDEX
C OUTPUT : (L*4)  LPLTA(,)  = .TRUE.  => PLT COEFFICIENT AVAILABLE
C                             .FALSE. => PLT COEFFICIENT NOT AVAILABLE
C                             1ST DIM: CHARGE STATE INDEX
C                             2ND DIM:  METASTABLE INDEX
C
C PROGRAM: (I*4)  IT        = GENERAL INDEX FOR TEMPERATURE
C          (I*4)  ID        = GENERAL INDEX FOR DENSITY
C          (I*4)  IZ        = GENERAL INDEX FOR CHARGE
C          (I*4)  IZ1       = GENERAL INDEX FOR CHARGE+1
C          (I*4)  IPRT      = GENERAL INDEX FOR PARENT METASTABLE
C          (I*4)  JPRT      = GENERAL INDEX FOR PARENT METASTABLE
C          (I*4)  IGRD      = GENERAL INDEX FOR METASTABLE
C          (I*4)  JGRD      = GENERAL INDEX FOR METASTABLE
C
C
C ROUTINES:
C          ROUTINE    SOURCE    BRIEF DESCRIPTION
C          ------------------------------------------------------------
C
C
C AUTHOR: Alessandro Lanzafame, University of Strathclyde
C
C DATE:   21 October 1996
C
C-----------------------------------------------------------------------
C
C VERSION: 1.1                                          DATE: 12-03-98
C MODIFIED: RICHARD MARTIN
C               - PUT UNDER SCCS CONTROL
C
C-----------------------------------------------------------------------
      CHARACTER*120       DSFLLA(8)
      INTEGER             IDMAX,       IPDIMD,      ISDIMD,      ITDIMD
      INTEGER             ITMAX,       IZ0,         IZ1MAX,      IZ1MIN
      INTEGER             IZDIMD,      NDDIM,       NPART(IZDIMD)
      INTEGER             NPARTR(IZDIMD),           NTDIM
      LOGICAL             LACDA(IZDIMD,IPDIMD,IPDIMD)
      LOGICAL             LCCDA(IZDIMD,IPDIMD,IPDIMD)
      LOGICAL             LDEFA(8),    LEXSA(8),    LPART
      LOGICAL             LPLTA(IZDIMD,IPDIMD),     LPRBA(IZDIMD,IPDIMD)
      LOGICAL             LPRCA(IZDIMD,IPDIMD)
      LOGICAL             LQCDA(IZDIMD,IPDIMD,IPDIMD)
      LOGICAL             LSCDA(IZDIMD,IPDIMD,IPDIMD)
      LOGICAL             LSELA(8),    LXCDA(IZDIMD,IPDIMD,IPDIMD)
      REAL*8              ACDA(NTDIM,NDDIM,IZDIMD,IPDIMD,IPDIMD)
      REAL*8              CCDA(NTDIM,NDDIM,IZDIMD,IPDIMD,IPDIMD)
      REAL*8              DDENS(IDMAX),             DDENSD(ITDIMD)
      REAL*8              DRCOFD(ISDIMD,ITDIMD,ITDIMD)
      REAL*8              DRCOFI(ITMAX,IDMAX),      DTEV(ITMAX)
      REAL*8              DTEVD(ITDIMD)
      REAL*8              PLTA(NTDIM,NDDIM,IZDIMD,IPDIMD)
      REAL*8              PRBA(NTDIM,NDDIM,IZDIMD,IPDIMD)
      REAL*8              PRCA(NTDIM,NDDIM,IZDIMD,IPDIMD)
      REAL*8              QCDA(NTDIM,NDDIM,IZDIMD,IPDIMD,IPDIMD)
      REAL*8              SCDA(NTDIM,NDDIM,IZDIMD,IPDIMD,IPDIMD)
      REAL*8              XCDA(NTDIM,NDDIM,IZDIMD,IPDIMD,IPDIMD)
      REAL*8              ZDATA(ISDIMD)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk