A geodesic grid is an even grid over the surface of a sphere. The algorithm is optimized for a grid generated by GridSphere and won't work on an arbitrary geodesic grid. All code is compatible with GNU Octave. The GridSphere function is available on the MATLAB file exchange at http://www.mathworks.com/matlabcentral/fileexchange/28842-gridsphere.
FindNearestNeighbors and GridSphere share some functions in common. Each package contains a copy of these functions so that both can stand alone. To eliminate duplicates, simply move all the files into a single folder and replace the shared files when prompted.
Blazingly fast and well documented. Only an example would not have been unbecoming, e.g. to illustrate the fact that returned values are in degrees (whereas Matlab's sph2cart requires radians).