Function filename,v ; Returns the appropriate data file name for the OH J and wavenumber ; data for the specified rotational level. CASE 1 OF v LE 5: Return,'c:\data\spectra\c_oh2p'+StrTrim(v,2)+'.dat' v GT 5: Return,'c:\data\spectra\cf_oh2p'+StrTrim(v,2)+'.dat' ELSE: BEGIN Message,'Bad vibrational level: '+StrTrim(v,2),/Informational Return,'NUL' END ENDCASE END Function hl_r,jp,lp ; Returns an R-branch (Honl-London) line strength (delta lambda = 0) Return,(jp+lp)*(jp-lp)/(Float(jp)) END Function hl_q,jp,lp ; Returns an Q-branch (Honl-London) line strength (delta lambda = 0) Return,(2.*jp+1)*lp*lp/(Float(jp)*(jp+1)) END Function hl_p,jp,lp ; Returns an P-branch (Honl-London) line strength (delta lambda = 0) Return,(jp+1+lp)*(jp+1-lp)/(Float(jp+1)) END ;+ ; NAME: ; MkOHFile ; PURPOSE: ; Generate input data for use in an OH Meinel synthetic spectrum ; generation program of the type provided by Abas Sivjee. ; CATEGORY: ; Synthetic spectra. ; CALLING SEQUENCE: ; MkOHFile, vp, vpp ; INPUTS: ; vp: Vibrational quantum number of the upper vibrational ; level (v'); ; vpp: Vibrational quantum number of the lower vibrational ; level (v''). ; OPTIONAL INPUTS: ; None. ; KEYWORD PARAMETERS: ; None. ; OUTPUTS: ; None. ; OPTIONAL OUTPUTS: ; None. ; COMMON BLOCKS: ; None. ; SIDE EFFECTS: ; Two files of OH rotational-vibrational energy levels are read ; from C:\DATA\SPECTRA, to get the needed data for the specified ; levels. A data file containing the generated data is produced ; in C:\IDL\SYNSPEC. ; RESTRICTIONS: ; The input data files for the specified vibrational levels must ; exist. The data files so far produced cover only rotational ; levels J = 0.5 - 9.5. ; PROCEDURE: ; Relatively straightforward. The term values for the f1 and f2 ; levels are used to generate energy differences (in wavenumbers). ; The Honl-London formulae for delta lambda = 0 are used to ; approximate the line strengths. The energy levels for use in ; the Boltzmann distribution are generated by subtracting the ; lowest term value in the given vibrational level (assumed to be ; that of f1e(J=1.5)). The wavenumber differences, line strengths, ; and energy level differences (in cm-1) are merged over the R-, ; Q-, and P-branches, the vacuum wavelengths are calculated, and ; the arrays are sorted in order of increasing wavelength. The ; wavelengths are converted to their values in air. The ; wavelengths, line strengths, and energy level differences are ; then written out to a disk file. ; EXAMPLE: ; mkohfile,8,3 ; should replicate C:\IDL\SYNSPEC\OH83WSF.CHC ; SEE ALSO: ; oh83.pro ; MODIFICATION HISTORY: ; Written by: DP Steele, March 10, 1997. ;- PRO mkohfile,vp,vpp ; Check validity of inputs IF N_Params() NE 2 THEN BEGIN Doc_Library,'mkohfile' Return ENDIF IF vp LE vpp THEN BEGIN Message,"v' must be greater than v''",/Informational Return ENDIF ; Load the needed data vpdata=DDRead(filename(vp)) jp=Reform(vpdata(0,*)) njp=N_Elements(jp) f1ejp=Reform(vpdata(1,*)) f1fjp=Reform(vpdata(2,*)) f2ejp=Reform(vpdata(3,*)) f2fjp=Reform(vpdata(4,*)) vppdata=DDRead(filename(vpp)) jpp=Reform(vppdata(0,*)) njpp=N_Elements(jpp) f1ejpp=Reform(vppdata(1,*)) f1fjpp=Reform(vppdata(2,*)) f2ejpp=Reform(vppdata(3,*)) f2fjpp=Reform(vppdata(4,*)) nj=njp