Cssgrid is the only algorithm in the ngmath library specifically designed for interpolation on a sphere. See the comparative analysis of the ngmath packages for details on which ngmath package is most appropriate for your problem.
The output from Cssgrid interpolation is a set of values at coordinates on a user-specified grid (which may be a single point).
Functionally equivalent Fortran, C, and NCL interfaces are provided.
Cssgrid is based on the work of Robert Renka and his packages STRIPACK and SSRFPACK. These packages are used here with the permission of Dr. Renka. The user entry points have been changed from those used by Dr. Renka. Also, C and NCL interfaces have been added.
Dr. Renka's articles were published in the ACM Transactions on Mathematical Software, Vol. 23, No 3, September 1997. The original Fortran package STRIPACK is available from netlib as algorithm number 772; the original Fortran package SSRFPACK is available from netlib as algorithm number 773.
The fitted function methods fit an algebraic surface to the known data and then pick the interpolated or approximated values from the fitted surface. The weighted average methods calculate interpolated or approximated values as weighted averages of known values.
Routines exist in the Cssgrid package to calculate Delaunay triangulations and Voronoi polygons (see the examples). The main interpolation routine (CSSGRID for Fortran, c_cssgrid for C, or cssgrid for NCL) does the triangulation itself, so you need not call the triangulation routine separately unless you specifically want to obtain the triangulation.
Aspects of the cssgrid algorithm can be modified by using parameter setting routines. These are: CSSETI, CSSETR, or CSSETD for Fortran; c_csseti, c_cssetr, or c_cssetd for C; and cssetp for NCL. Values for control parameters should be set before calling the interpolation routine. All the control parameters have default values that will provide satisfactory results in most situations, so simply calling the main interpolation routine (CSSGRID for Fortran, c_cssgrid for C, or cssgrid for NCL) should suffice in most cases.
For the Fortran and C interfaces, both double precision and single precision entries exist.