PRO VIIRS_AVERAGE_NPP COMPILE_OPT IDL2 ;- Create VIIRS spectral response data files in 0.1 wavenumber format ;- Set list of bands band_list = [4, 5, 12, 13, 14, 15, 16] band_name = ['I4', 'I5', 'M12', 'M13', 'M14', 'M15', 'M16A'] ;- Loop over bands append = 0 for index = 0, n_elements(band_list) - 1 do begin ;- Get band number and file name band = band_list[index] file = '../npp/NPP_VIIRS_NG_RSR_' + band_name[index] + '_filtered_Oct2011f_BA.dat' print, band print, file ;- Read the spectral response data data = ddread(file) help, data ;- Get wavelength (nm) and spectral response wvl = reform(data[0, *]) srf = reform(data[1, *]) ;- Convert wavelength from nanometers to micrometers wvl = wvl * 0.001 ;- Filter spectral responses less than zero srf = srf > 0.0 ;- Interpolate to 0.01 wavenumber resolution srf_interpolate, wvl, srf, wvn_interp, srf_interp, /micron, /normal help, wvn_interp, srf_interp plot, wvn_interp, srf_interp, title=strcompress(band) ;- Write the interpolated response data srf_write, 'viirs-npp-avg.srf', 'VIIRS', 'NPP', band, wvn_interp, srf_interp, append=append append = 1 endfor END