function index_ice_163K,wave_in ;----------------------------------------------------------------- ; ; purpose: ; Get the refractive index for ice at 163K (Toon et al, JGR, ; p25631, 1994) at the specified wavelength. ; ; input: ; wave_in..........wavelength, microns ; ; output: ; index_ice_163K...complex refractive index ; ; source: Mark Hervig ; ;----------------------------------------------------------------- numw = 173 ; # wavelengths wave = fltarr(numw) ; 1/cm dxi = fltarr(numw) ; real index dxr = fltarr(numw) ; imaginary index waves='482.0 490.0 505.0 521.0 528.0 540.0 548.0 559.0 598.0 636.0 675.0 714.0 '+$ ' 752.0 791.0 810.0 829.0 841.0 868.0 906.0 930.0 945.0 984.0 1022.0 1045.0'+$ ' 1057.0 1099.0 1115.0 1138.0 1176.0 1215.0 1254.0 1292.0 1331.0 1369.0 1408.0 1446.0'+$ ' 1485.0 1523.0 1562.0 1601.0 1639.0 1678.0 1716.0 1755.0 1793.0 1832.0 1871.0 1909.0'+$ ' 1948.0 1986.0 2025.0 2063.0 2102.0 2141.0 2179.0 2218.0 2241.0 2256.0 2295.0 2333.0'+$ ' 2372.0 2411.0 2449.0 2488.0 2526.0 2565.0 2603.0 2642.0 2681.0 2719.0 2758.0 2796.0'+$ ' 2835.0 2873.0 2912.0 2951.0 2989.0 3028.0 3066.0 3105.0 3120.0 3143.0 3182.0 3205.0'+$ ' 3228.0 3259.0 3267.0 3298.0 3336.0 3375.0 3413.0 3452.0 3491.0 3529.0 3568.0 3606.0'+$ ' 3645.0 3683.0 3722.0 3761.0 3799.0 3815.0 3838.0 3876.0 3915.0 3953.0 3992.0 4030.0'+$ ' 4061.0 4069.0 4108.0 4146.0 4185.0 4223.0 4250.0 4281.0 4300.0 4312.0 4493.0 4648.0'+$ ' 4686.0 4725.0 4763.0 4802.0 4840.0 4879.0 4918.0 4956.0 4995.0 5033.0 5072.0 5110.0'+$ ' 5149.0 5188.0 5226.0 5265.0 5303.0 5496.0 5650.0 5689.0 5728.0 5766.0 5805.0 5843.0'+$ ' 5882.0 5920.0 5959.0 5998.0 6036.0 6075.0 6113.0 6152.0 6190.0 6229.0 6268.0 6306.0'+$ ' 6345.0 6383.0 6422.0 6460.0 6499.0 6538.0 6576.0 6615.0 6653.0 6692.0 6730.0 6769.0'+$ ' 6807.0 6846.0 6885.0 6923.0 6962.0 ' reads,waves,wave wave = 10000./wave ; cm-1 to um dxrs='1.406 1.418 1.434 1.451 1.461 1.471 1.475 1.481 1.505 1.536 1.567 1.592 1.612 1.568'+$ ' 1.503 1.413 1.363 1.257 1.131 1.076 1.067 1.139 1.208 1.239 1.254 1.285 1.290 1.296'+$ ' 1.307 1.316 1.323 1.330 1.337 1.342 1.344 1.343 1.340 1.335 1.329 1.323 1.314 1.305'+$ ' 1.303 1.306 1.311 1.317 1.322 1.328 1.335 1.341 1.348 1.354 1.358 1.362 1.363 1.361'+$ ' 1.358 1.356 1.354 1.355 1.358 1.362 1.366 1.371 1.376 1.382 1.388 1.396 1.406 1.417'+$ ' 1.429 1.444 1.461 1.482 1.508 1.539 1.578 1.633 1.712 1.801 1.809 1.715 1.579 1.505'+$ ' 1.318 1.035 1.010 0.981 0.980 0.955 0.924 0.964 1.023 1.066 1.100 1.127 1.148 1.166'+$ ' 1.180 1.191 1.201 1.204 1.209 1.216 1.222 1.227 1.232 1.236 1.239 1.240 1.243 1.246'+$ ' 1.249 1.252 1.254 1.256 1.257 1.257 1.266 1.272 1.274 1.275 1.276 1.277 1.278 1.278'+$ ' 1.279 1.280 1.280 1.281 1.281 1.282 1.283 1.283 1.284 1.285 1.286 1.289 1.290 1.291'+$ ' 1.291 1.292 1.292 1.293 1.293 1.293 1.294 1.294 1.294 1.295 1.295 1.295 1.296 1.296'+$ ' 1.296 1.296 1.297 1.297 1.297 1.297 1.297 1.298 1.298 1.298 1.298 1.298 1.298 1.298'+$ ' 1.299 1.299 1.299 1.299 1.300' reads,dxrs,dxr dxis='6.98e-03 8.24e-03 8.62e-03 8.28e-03 1.08e-02 2.07e-02 2.63e-02 3.10e-02 4.25e-02'+$ ' 6.38e-02 1.02e-01 1.55e-01 2.45e-01 3.69e-01 4.33e-01 4.65e-01 4.62e-01 4.33e-01'+$ ' 3.52e-01 2.58e-01 1.84e-01 6.11e-02 2.73e-02 1.95e-02 1.83e-02 3.22e-02 3.43e-02'+$ ' 3.49e-02 3.53e-02 3.64e-02 3.75e-02 3.88e-02 4.17e-02 4.71e-02 5.36e-02 5.98e-02'+$ ' 6.46e-02 6.78e-02 6.89e-02 6.90e-02 6.65e-02 5.74e-02 4.47e-02 3.40e-02 2.69e-02'+$ ' 2.16e-02 1.73e-02 1.38e-02 1.17e-02 1.12e-02 1.20e-02 1.40e-02 1.72e-02 2.20e-02'+$ ' 2.78e-02 3.24e-02 3.33e-02 3.27e-02 2.88e-02 2.40e-02 2.02e-02 1.77e-02 1.56e-02'+$ ' 1.37e-02 1.21e-02 1.04e-02 8.65e-03 6.85e-03 5.56e-03 5.19e-03 5.52e-03 6.41e-03'+$ ' 8.34e-03 1.23e-02 1.92e-02 3.04e-02 4.76e-02 7.43e-02 1.31e-01 2.91e-01 4.06e-01'+$ ' 5.37e-01 6.27e-01 7.25e-01 8.50e-01 6.75e-01 6.22e-01 4.69e-01 3.73e-01 3.04e-01'+$ ' 2.05e-01 9.80e-02 5.04e-02 2.80e-02 1.51e-02 7.49e-03 3.64e-03 1.68e-03 7.99e-04'+$ ' 4.04e-04 2.21e-04 2.17e-04 2.58e-04 3.19e-04 3.16e-04 3.16e-04 2.92e-04 3.65e-04'+$ ' 4.03e-04 3.96e-04 3.24e-04 2.16e-04 1.81e-04 2.28e-04 2.57e-04 2.00e-04 1.39e-04'+$ ' 1.00e-04 1.00e-04 1.00e-04 2.48e-04 5.23e-04 8.26e-04 1.09e-03 1.26e-03 1.37e-03'+$ ' 1.46e-03 1.51e-03 1.49e-03 1.38e-03 1.15e-03 8.73e-04 6.26e-04 4.38e-04 2.81e-04'+$ ' 1.69e-04 1.00e-04 1.00e-04 1.00e-04 1.05e-04 1.30e-04 1.45e-04 1.46e-04 1.27e-04'+$ ' 1.35e-04 1.61e-04 1.87e-04 2.23e-04 2.75e-04 3.13e-04 3.40e-04 3.47e-04 3.53e-04'+$ ' 3.88e-04 4.16e-04 4.26e-04 4.53e-04 4.94e-04 5.54e-04 5.78e-04 6.14e-04 6.40e-04'+$ ' 6.27e-04 6.46e-04 6.88e-04 6.96e-04 6.40e-04 5.42e-04 3.82e-04 2.64e-04 2.04e-04'+$ ' 1.71e-04 2.09e-04' 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_163K.pro' result = complex(0.0,0.0) jump1: return,result end