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.
- Wrong files were uploaded. Uploading correct sets of files.
- Changing the citation
- Fixing a bug to match the ConstructPolyInterpolant2D function with the file name.
- NOTE: This version is not backward compatible.
- correction dictation of site to cite. :D
- Providing publication to be sited by those who use this package or a modified version of it.
Adding 3D data capabilities
Changed some stuff in the description and tags.
- noticed that the tags are collapsed together. Separated them with comma
- Providing one link to my blog with more information on the package in the description section.
- Changing the description a bit