Search Site | Contact Details | FAQ

ADAS Subroutine xxdata_37

       subroutine xxdata_37( iunit  ,
     &                       nemax  , ntmax  ,
     &                       title  , icateg , nenerg , nblock ,
     &                       nform1 , param1 , nform2 , param2 ,
     &			     ea     , fa     , teff   , mode   ,
     &			     median , filnam , filout , calgeb ,
     &                       ealgeb
     &                      )

C-----------------------------------------------------------------------
C
C  ****************** fortran77 subroutine: xxdata_37 ******************
C
C  purpose:  To fetch data from an adf37 data set and detect its main
C            characteristics.
C
C  calling program: various
C
C  input : (i*4)  iunit    = unit to which input file is allocated
C  input : (i*4)  nemax    = max no of energy points that can be read in
C  input : (i*4)  ntmax    = max no of effective temps that can be read in
C
C  output: (c*80) title    = header for file
C  output: (i*4)  icateg   = category of file
C                              1 => superposition
C                              2 => numerical
C  output: (i*4)  nenerg   = type 1 => number of distribution families
C                            type 2 => number of energy points
C  output: (i*4)  nblock   = type 1 => number of members in output family
C                            type 2 => number of effective temperatures
C  output: (i*4)  nform1   = type of threshold behaviour
C                              1 => cutoff
C                              2 => energy^param1
C  output: (r*8)  param1   = parameter of threshold form
C  output: (i*4)  nform2   = type of high-energy behaviour
C                              1 => cutoff
C                              2 => energy^-param2(1)
C                              3 => exp(-param2(1)*energy)
C                              4 => exp(-param2(1)*energy^param2(2))
C  output: (r*8)  param2() = parameter of high-energy form
C  output: (r*8)  ea(,)    = energy points of tabulation
C  output: (r*8)  fa(,)    = distribution function tabulation
C  output: (r*8)  teff()   = effective temperature (eV)
C  output: (r*8)  mode()   = most probable energy (eV)
C  output: (r*8)  median() = median energy (eV)
C  output: (c*120)filnam() = file names of input families
C  output: (c*120)filout   = file name of output family
C  output: (c*25) calgeb(,)= distribution function algebra
C  output: (c*25) ealgeb() = energy parameter algebra
C
C  local : (i*4)  ieunit   = energy units of distribution function
C                              1 => kelvin
C                              2 => eV
C  local : (i*4)  i        = general use
C  local : (i*4)  j        = general use
C  local : (i*4)  med_index= energy index of median
C  local : (i*4)  mode_index()  = energy index of mode
C  local : (i*4)  dummy    = general use
C  local : (i*4)  ie       = general use
C  local : (i*4)  iblock   = general use
C  local : (r*8)  sum      = average energy contribution from i -> i+1
C  local : (r*8)  contrib()= average energy contribution from i -> i+1
C  local : (r*8)  de       = energy step from i -> i+1
C  local : (i*4)  ifirst   = position of first non-blank character in string
C  local : (i*4)  ilast    = position of last non-blank character in string
C  local : (i*4)  indx()   = index of algebra
C  local : (c*80) blank    = dummy string
C
C  routines:
C          routine    source    brief description
C          -------------------------------------------------------------
C          i4unit     ADAS      fetch unit number for output of messages
C          xxslen     ADAS      finds string length excluding leading and 
C                               trailing blanks
C
C  author: Paul Bryans, University of Strathclyde
C
C  date:   04/02/04
C
C  update:
C
C
C-----------------------------------------------------------------------     
      CHARACTER*25        CALGEB(NTMAX,4),          EALGEB(NTMAX)
      CHARACTER*120       FILNAM(NEMAX),            FILOUT
      CHARACTER*80        TITLE
      INTEGER             ICATEG,      IUNIT,       NBLOCK,      NEMAX
      INTEGER             NENERG,      NFORM1,      NFORM2,      NTMAX
      REAL*8              EA(NTMAX,NEMAX),          FA(NTMAX,NEMAX)
      REAL*8              MEDIAN(NTMAX),            MODE(NTMAX), PARAM1
      REAL*8              PARAM2(2),   TEFF(NTMAX)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk