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 remapper/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.
If you use this package or a modified version of this, please cite the following:
M. Abouali, "Investigating Castillo-Grone's Mimetic Difference Operators in Development of Geophysical Fluid Dynamics Models Implemented on GPGPUs", Ph.D. Thesis, San Diego State University, May 2014.