ADAS Subroutine xxdata_42
subroutine xxdata_42( fname , & ndtem , ndden , ndwvl , ndpix , ndmet , & dsnin , dsnexp , dsnflt , & dsnpec , dsnfpec , dsnplt , dsnpltf , & celem , iz0 , iz1 , bwno , & lnormr , nmetr , imetrr , & lioselr, lhselr , lrselr , liselr , & lnselr , lpselr , zeffr , & lmetrr , ltsclr , ldsclr , lbrdir , & numter , numdensr, numwvlr, & tine , tinp , tinh , dine , dinp , & npix , wvmin , wvmax , aminr & ) C----------------------------------------------------------------------- C C ***************** FORTRAN77 subroutine: xxdata_42 ******************* C C Purpose: To fetch data from an adas810 driver set (adf42). C C Calling program: ADAS810 C C C Subroutine: C C input : (C*80) fname = Name of adf42 driver file C input : (I*4) ndtem = maximum number of electron temperatures C input : (I*4) ndden = maximum number of electron tdensities C input : (I*4) ndwvl = maximum number of wavelength intervals C input : (I*4) ndpix = maximum number of pixels per wvln. interval C input : (I*4) ndmet = maximum number of metastables C C output: (C*80) dsnin = input adf04 file for population analysis C output: (C*80) dsnexp = input adf18/a17_p208 expansion file C output: (C*80) dsnflt = input adf35 filter file for power data C output: (C*80) dsnpec = output adf15 file for traditional pec data C output: (C*80) dsnfpec = output adf40 file for feature pec data C output: (C*80) dsnplt = output adf11 file for line power C output: (C*80) dsnpltf = output adf11 file for filtered line power C C output: (C*2) celem = element symbol. C output: (I*4) iz = recombined ion charge read C output: (I*4) iz0 = nuclear charge read C output: (I*4) iz1 = recombining ion charge read C (note: iz1 should equal iz+1) C output: (R*8) bwno = ionisation potential (cm-1) of lowest parent C C output: (I*4) nte = number of electron temperatures C output: (R*8) tea() = electron temperatures (k) C output: (I*4) ndens = number of electron densities C output: (R*8) densa() = electron densities (cm-3) C C output: (I*4) nwvl = wvaelength intervals C output: (R*8) npix() = numbre of pixels assigned to wavelength interval C output: (R*8) wvmin() = lower limit of wavelength interval (ang) C output: (R*8) wvmax() = upper limit of wavelength interval (ang) C C output: (L*4) lmetr = .TRUE. => identify and resolve metastables C = .FALSE. => do not resolve metastables C output: (L*4) ltscl = .TRUE. => input temperatures are z-scaled C = .FALSE. => input temperatures not z-scaled C output: (L*4) ldscl = .TRUE. => input densities are z-scaled C = .FALSE. => input densities not z-scaled C output: (L*4) lbrdi = .TRUE. => impose ion temperature broadening C = .FALSE. => input densities not z-scaled C C C ROUTINES: C Routine Source Brief Description C ------------------------------------------------------------- C i4unit ADAS Fetch unit number for output of messages C xxflnm ADAS Checks for & replaces the ADASCENT environment variable. C C AUTHOR: Martin O'Mullane C C DATE: 28-02-2003 C C NOTES: Copied from haddat.for C C C VERSION : 1.1 C DATE : 28-05-2003 C MODIFIED : Martin O'Mullane C - First version C C----------------------------------------------------------------------- CHARACTER*2 CELEM CHARACTER*80 DSNEXP, DSNFLT, DSNFPEC, DSNIN CHARACTER*80 DSNPEC, DSNPLT, DSNPLTF, FNAME INTEGER IMETRR(NDMET), IZ0, IZ1 INTEGER NDDEN, NDMET, NDPIX, NDTEM INTEGER NDWVL, NMETR, NPIX(NDWVL) INTEGER NUMDENSR, NUMTER, NUMWVLR LOGICAL LBRDIR, LDSCLR, LHSELR, LIOSELR LOGICAL LISELR, LMETRR, LNORMR, LNSELR LOGICAL LPSELR, LRSELR, LTSCLR REAL*8 AMINR, BWNO, DINE(NDDEN) REAL*8 DINP(NDDEN), TINE(NDTEM), TINH(NDTEM) REAL*8 TINP(NDTEM), WVMAX(NDWVL) REAL*8 WVMIN(NDWVL), ZEFFR