private function tem_intp_bilinear_vec(srcVal, targetCoord, nVals) result(phi)
This function returns the bi-linearly interpolated values from the four
source points to the target position located at targetCoord.
The source points are arranged in a square from (0,0)x(1,1)
The order of the source points are according to the morton curve
1 2 3 4
(0,0); (1,0); (0,1); (1,1)
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.