pro cg_interpolate_nans2,arrin,arrout ;interpolates nan values arrout = arrin nx = n_elements( arrin[*,0] ) ; number of columns ny = n_elements( arrin[0,*] ) ; number of rows x = findgen(nx) ; iterate through each row for i = 0, ny - 1 do begin ; find the NaN and finite value locations ndxnan = where( finite(arrin[*,i]) eq 0, complement=ndxfin ) ; if any NaNs detected, attempt to interpolate if ndxnan[0] ne -1 then begin arrout[*,i] = interpol( arrin[ndxfin,i], ndxfin, x ) endif ;if i ge 54 then stop endfor end