;+ ;NAME: NIRATL ; ;PURPOSE: Program to extract data from KITT PEAK NEAR INFRARED ; atlas of the solar spectrum ;CALLING SEQUENCE: ; NIRATL, WLA, WLE, LAMBDA, SPOBS, SIGMA, INTERP=INTERP, SPSOL=SPSOL , ; SPAIR=SPAIR ; ;INPUT: WLA - Begin of wavelength range to be extracted. ; WLE - end of wavelength range. ; ;OUTPUT: LAMBDA - vector of wavelength values (non-equdistant). ; SPOBS - observed spectrum. ; SIGMA - wavenumbers (equidistant) ; ; ;KEYWORDS: INTERP - if set, interpolation for equidistant wavelength. ; number will be stepwidth (in pm) ; SPSOL - pure solar spectrum. ; SPAIR - telluric spectrum. ; ;RESTRICTIONS: ; These data are freely available with one restriction: If you use the data ; or some product based on the data in a published paper, we ask that you ; include an acknowledgement as follows: ; ; NSO/Kitt Peak FTS data used here were produced by NSF/NOAO. ; ; ;CREATOR: SEBASTIAN HASINGER, JANUAR, 27, 1999, POTSDAM ;CONTACT: KICKS_PIZ@YAHOO.COM ; ;MODIFICATIONS: H. Balthasar , March 25, 1999 ; April 25, 2003 ; September 2011 ;CONTACT: hbalthasar@aip.de ; ;- pro niratl, wla, wle, lambda, spobs, sigma, interp=interp, spsol=spsol, $ spair=spair ; ntot=625812l wl = dblarr (ntot) a = dblarr (ntot) b = dblarr (ntot) c = dblarr (ntot) d = dblarr (ntot) an = 0 en = 0 if keyword_set (interp) then begin nwl = 1000.*(wle - wla)/interp lambdaint = interp*findgen (nwl)/1000. + wla endif ; if wla le 734.957 or wle ge 1123.60 or wle le wla then begin print, 'Wrong input parameters.' print, 'Atlas range: 734.957 - 1123.60' print, 'received parameters: ', wla, wle return endif openr, 1, 'D:\idlpro\kp_niratl.dat' wl0 = 1.1d0 i = 0l v=1.d0 & w=1.d0 & x=1.d0 & y=1.d0 & z=1.d0 while wl0 ge 1. do begin readu, 1, v, w, x, y, z wl [i] = v a [i] = w b [i] = x c [i] = y d [i] = z wl0 = v if (wla ge v and i lt ntot-4) then an = i if (wle ge v and i le ntot-4) then en = i + 1 i = i + 1 endwhile close, 1 last = round (w) -1 lambda = wl [an:en] spsol = a [an:en] spair = b [an:en] spobs = c [an:en] sigma = d [an:en] ; if keyword_set (interp) then begin spair = spline (lambda, spair, lambdaint) spobs = spline (lambda, spobs, lambdaint) spsol = spline (lambda, spsol, lambdaint) sigma = spline (lambda, sigma, lambdaint) lambda = lambdaint endif end