function index_h2so4_tisdale,table5,wl,wtsi ;------------------------------------------------------------------- ; Purpose: ; Routine returns the refractive index for h2so4-h2o (sulfate) solution ; at 215 K temperature for the input composition and wavelength. ; ; The data are from Tisdale et al., JGR, pp25,353, 1998, ; Eqns 7 and 8, with Table 5. ; ; For compositions out side the table limits (0.45 < wts < 0.8), ; the closest composition is assumed. ; ; Input: ; table5...the complete name (path+name) of Table 5 ; e.g., table5 = 'c:\hervig\data\refractive_index\tisdale_table5.dat' ; wl.......wavelength in microns ; wtsi.....wt. fraction h2so4 ; ; Output: ; result....complex refractive index ; ; Source: Mark Hervig ;--------------------------------------------------------------------- ;---- read in table 5 headr = ' ' t5 = fltarr(9,1685) openr,lun,table5,/get_lun readf,lun,headr readf,lun,headr readf,lun,t5 close,lun free_lun,lun ;---- interpolate index in wave # for each wt% wts = wtsi if (wtsi lt 0.45) then begin print,wts,'composition out of range, index_h2so4_cold.pro ' wts=0.45 ; index = complex(0,0) ; return,index endif if (wtsi gt 0.8) then begin print,wts,'composition out of range, index_h2so4_cold.pro ' wts=0.8 ; index = complex(0,0) ; return,index endif wn = 10000.0/wl dwdw = 0.0 dxr = 0.0 dxi = 0.0 for i=0,1683 do begin j = i+1 if (t5(0,i) lt wn and t5(0,j) ge wn) then begin dwdw = (wn-t5(0,j))/(t5(0,i)-t5(0,j)) dxrl = t5(1,i)*wts^3+t5(2,i)*wts^2+t5(3,i)*wts+t5(4,i) dxrh = t5(1,j)*wts^3+t5(2,j)*wts^2+t5(3,j)*wts+t5(4,j) dxr = dwdw * (dxrl - dxrh) + dxrh dxil = t5(5,i)*wts^3+t5(6,i)*wts^2+t5(7,i)*wts+t5(8,i) dxih = t5(5,j)*wts^3+t5(6,j)*wts^2+t5(7,j)*wts+t5(8,j) dxi = dwdw * (dxil - dxih) + dxih result = complex(dxr,dxi) return,result endif endfor print,'wavelength out of range in index_h2so4_tisdale.pro ',wl result = complex(0.0,0.0) return,result end