function index_ice_100K,wave_in ;----------------------------------------------------------------- ; ; purpose: ; Get the refractive index for ice at 100K (Bertie et al., ; J. Phys. Chem., 50, p4501, 1969), at the specified wavelength. ; ; input: ; wave_in..........wavelength, microns ; ; output: ; index_ice_100K...complex refractive index ; ; source: Mark Hervig ; ;----------------------------------------------------------------- numw = 59 ; # wavelengths wave = fltarr(numw) ; 1/cm dxi = fltarr(numw) ; real index dxr = fltarr(numw) ; imaginary index waves='500.0 600.0 700.0 750.0 800.0 850.0 900.0 950.0 1000.0 '+$ '1050.0 1100.0 1200.0 1300.0 1400.0 1500.0 1600.0 1650.0 1700.0 '+$ '1800.0 2000.0 2200.0 2250.0 2300.0 2400.0 2600.0 2700.0 2800.0 '+$ '2900.0 3000.0 3050.0 3100.0 3150.0 3200.0 3220.0 3250.0 3300.0 '+$ '3350.0 3400.0 3450.0 3500.0 3600.0 3700.0 3800.0 4000.0 4400.0 '+$ '4800.0 4950.0 5000.0 5200.0 5500.0 6000.0 6100.0 6200.0 6300.0 '+$ '6675.0 6900.0 7200.0 7500.0 8000.0' reads,waves,wave wave = 10000./wave ; cm-1 to um dxrs='1.426 1.470 1.514 1.566 1.523 1.346 1.217 1.114 1.190 1.261 '+$ '1.292 1.312 1.328 1.336 1.336 1.325 1.317 1.311 1.316 1.341 '+$ '1.358 1.356 1.354 1.353 1.364 1.395 1.414 1.423 1.532 1.588 '+$ '1.734 1.669 1.577 1.375 1.098 1.070 1.061 1.025 1.019 1.075 '+$ '1.134 1.178 1.206 1.236 1.264 1.277 1.280 1.281 1.283 1.288 '+$ '1.293 1.293 1.294 1.295 1.297 1.297 1.299 1.300 1.301' reads,dxrs,dxr dxis='1.78e-02 6.25e-02 1.08e-01 1.63e-01 3.28e-01 3.79e-01 3.20e-01 1.72e-01 '+$ '3.18e-02 2.07e-02 3.79e-02 3.68e-02 3.95e-02 4.71e-02 5.61e-02 5.95e-02 '+$ '5.64e-02 4.42e-02 2.38e-02 1.35e-02 2.78e-02 2.91e-02 2.54e-02 1.84e-02 '+$ '8.66e-03 6.20e-03 6.96e-03 1.44e-02 4.44e-02 7.78e-02 2.79e-01 5.66e-01 '+$ '7.00e-01 8.15e-01 5.83e-01 3.81e-01 2.98e-01 2.15e-01 1.07e-01 5.36e-02 '+$ '1.74e-02 1.48e-03 6.50e-04 6.90e-04 5.00e-04 1.48e-03 2.01e-03 1.94e-03 '+$ '8.50e-04 3.80e-04 5.50e-04 6.20e-04 5.00e-04 6.10e-04 6.60e-04 2.40e-04 '+$ '9.50e-05 4.60e-05 0.00e+00' reads,dxis,dxi ;---- interpolate index to wave_in if (wave_in le wave(0) and wave_in ge wave(numw-1) ) then begin for i = 0,(numw-2) do begin if (wave(i) ge wave_in and wave(i+1) lt wave_in) then begin term = (wave_in-wave(i)) /(wave(i+1)-wave(i)) dr = term * (dxr(i+1)-dxr(i)) + dxr(i) di = term * (dxi(i+1)-dxi(i)) + dxi(i) result = complex(dr,di) goto,jump1 endif endfor endif print ,wave_in,' not in range in index_ice_100K.pro' result = complex(0.0,0.0) jump1: return,result end