Creates an interpolant/extrapolant to interpolate/extrapolate data form a 2D/3D source grid onto a 2D/3D destination grid. Grids can be structured, unstructured, scattered. You have the option of performing least-square curve fitting too.
The projector/interpolant/extrapolant is constructed once. No data is needed at this stage. As long as the source grid and destination grid are the same, you can use this projector to transform data from one grid onto another. All that is needed is a matrix multiplication. This approach is very efficient for cases that you have many data fields (or a data that is changing with time) but the source grid and destination grid is not changing.
In some other packages, such as NCL, ESMF, and SCRIP, this is called interpolation weights. However, in this code, you can also extrapolate.
if you set n=3, it would be cubic interpolation, if you put n=4 it would be fourth order interpolation/extrapolation and so on. However, dont't let n get too big or you will face Runge Phenomenon.
I recommend to start with Test*.m files to get familiarized with the code and how it is used.
For more information refer to http://mabouali.wordpress.com/2013/05/07/interpolation-extrapolation-and-curve-fitting-using-higher-order-polynomial/