Search Site | Contact Details | FAQ

ADAS Subroutine h9gett

       subroutine h9gett( iunit  , ndlev  , 
     &                    nv     , tva   
     &                  )
c-----------------------------------------------------------------------
c
c  ****************** fortran77 subroutine: h9gett *********************
c
c  purpose:  to fetch temperature set from input adf04 type 3 data set.
c
c  calling program: adas809
c
c  data:
c           the 'real' data in the file is represented in an abbreviated
c           form which omits the "d" or "e" exponent specifier.
c           e.g. 1.23d-06 or 1.23e-06 is represented as 1.23-06
c                6.75d+07 or 6.75e+07 is represented as 6.75+07
c
c           therefore the form of each 'real' number in the data set is:
c                          n.nn+nn or n.nn-nn
c
c           the units used in the data file are taken as follows:
c
c           ionisation potential: wave number (cm-1)
c           index level energies: wave number (cm-1)
c           temperatures        : kelvin
c           a-values            : sec-1
c           gamma-values        :
c           rate coefft.        : cm3 sec-1
c
c
c  subroutine:
c
c  input : (i*4)  iunit   = unit to which input file is allocated
c  input : (i*4)  ndlev   = maximum number of levels that can be read
c
c  output: (i*4)  nv      = input data file: number of gamma/temperature
c                           pairs for a given transition.
c  output: (r*8)  scef()  = input data file: electron temperatures (k)
c
c          (i*4)  nvmax   = parameter = max. number of temperatures
c                                       that can be read in.
c
c          (i*4)  i4unit  = function (see routine section below)
c          (i*4)  iqs     = x-sect data format selector
c                           note: iqs=3 or 4 only allowed in this program
c          (i*4)  i       = general use.
c          (i*4)  j       = general use.
c          (i*4)  iline   = energy level index for current line
c          (i*4)  itpow() = temperatures - exponent
c                           note: mantissa initially kept in 'scef()'
c
c          (r*4)  zf      = should be equivalent to 'iz1'
c
c          (c*80) cline   = current energy level index parameter line
c          (c*500)buffer  = general string buffer storage
c          (c*3)  citpow()= used to parse values to itpow()
c          (c*5)  cscef() = used to parse values to scef()
c
c          (l*4)  ldata   = identifies  whether  the end of an  input
c                           section in the data set has been located.
c                           (.true. => end of section reached)
c          (l*4)  ltied() = .true.  => specified level tied
c                         = .false. => specified level is untied
c                           dimension => level index
c
c routines:
c          routine    source    brief description
c          -------------------------------------------------------------
c          i4unit     adas      fetch unit number for output of messages
c
c
c routines: none
c
c author:  Hugh Summers, University of strathclyde
c          ja7.08
c          ext. 4196
c
c date:    13/08/01
c
c update:  
c
c unix-idl port:
c
c version: 1.1                          date: 14-06-013
c modified: Hugh Summers
c               - first version
c
c-----------------------------------------------------------------------
c-----------------------------------------------------------------------
      INTEGER             IUNIT,       NDLEV,       NV
      REAL*8              TVA(NVMAX)
© Copyright 1995-2018 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk