;+ ; NAME: ; rt_sread ; PURPOSE: (one line) ; read line listings for fundementals ; DESCRIPTION: ; read line listings for fundementals ; CATEGORY: ; RT ; CALLING SEQUENCE: ; sread=rt_sread(indx) ; INPUTS: ; indx - indices of line files ; OPTIONAL INPUT PARAMETERS: ; KEYWORD INPUT PARAMETERS: ; KEYWORD OUTPUT PARAMETERS: ; none ; OUTPUTS: ; structure with: ; nb - number of listings ; nlines[nb] - number of lines for each band ; stot[nb] ; wmean[nb] ; wstart[nb] ; wend[nb] ; nl - index into wav, str, wid, eng ; n - number of lines ; wav[n] wavenumber of line ; str[n] str of line ; wid[n] ; eng[n] ; COMMON BLOCKS: ; None ; SIDE EFFECTS: ; RESTRICTIONS: ; None ; PROCEDURE: ; MODIFICATION HISTORY: ; Written 2004 Mar 20, Leslie Young SwRI ; based on sread, written by Roger Yelle, 1990 ;- function rt_sread, indx fn = [ $ ; CH4 = molecule 6, $ '/planet/hitran96/hitran96/by_molec/06_hit96.par', $ '/planet/hitran96/hitran96/by_molec/06_hit96.par', $ '/planet/hitran96/hitran96/by_molec/06_hit96.par', $ '/planet/hitran96/hitran96/by_molec/06_hit96.par', $ ; C2H2 = molecule 26, $ '/planet/hitran96/hitran96/by_molec/26_hit96.par', $ '/planet/hitran96/hitran96/by_molec/26_hit96.par', $ ; C2H6 = molecule 27, $ '/planet/hitran96/hitran96/by_molec/27_hit96.par', $ ; HCN = molecule 23, $ '/planet/hitran96/hitran96/by_molec/23_hit96.par', $ '/planet/hitran96/hitran96/by_molec/23_hit96.par' $ ] ; selmin = minimum wavenumber ; CH4 CH4a CH4b CH4c C2H2 C2H2a ; C2H6 HCNb HCNb selmin = [ 1071., 2809., 3900., 5891., 646., 3151., $ 720., 3158., 2.] ; selmax = maximum wavenumber ; CH4 CH4a CH4b CH4c C2H2 C2H2a ; C2H6 HCNb HCNb selmax = [ 1544., 3210., 4279., 6107., 811., 3398., $ 933., 3422., 132.] nb = n_elements(indx) nlines = intarr(nb) nl = intarr(nb) stot = dblarr(nb) wmean = dblarr(nb) wstart = dblarr(nb) wend = dblarr(nb) for ib=0,nb-1 do begin i = indx[ib] h = rt_hitran(fn[i], selmin[i], selmax[i]) if ib eq 0 then begin wav = h.wav str = h.str eng = h.eng wid = h.wid nl[ib] = 0 endif else begin wav = [wav,h.wav] str = [str,h.str] eng = [eng,h.eng] wid = [wid,h.wid] nl[ib] = nl[ib-1] + h.nlines end nlines[ib] = h.nlines stot[ib] = h.stot wmean[ib] = h.wav0 wstart[ib] = h.wmin wend[ib] = h.wmax end sread = { $, nb_name:'number of bands', nb:nb, $ nb_unit:'', $ nl_name:'band index into wav etc', nl:nl, $ nl_unit:'', $ nlines_name:'number of lines per band', nlines:nlines, $ nlines_unit:'', $ stot_name:'total line strength per band', stot:stot, $ stot_unit:'invcm cm^2/molecule',$ wmean_name:'average wavenumber', wmean:wmean, $ wmean_unit:'invcm',$ wstart_name:'starting wavenumber', wstart:wstart, $ wstart_unit:'invcm',$ wend_name:'ending wavenumber', wend:wend, $ wend_unit:'invcm',$ wav_name:'wavenumber of transition', wav:wav, $ wav_unit:'invcm',$ str_name:'line strength', str:str, $ str_unit:'invcm cm^2/molecule',$ eng_name:'energy of lower state', eng:eng, $ eng_unit:'invcm',$ wid_name:'air-broadened width at STP', wid:wid, $ wid_unit:'invcm'$ } return, sread end