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)