c_cssgrid - tension spline interpolation on a sphere
float *c_cssgrid(int, float , float , float ,
int, int, float , float , int *);
float *c_cssgrid (n, rlat, rlon, f, ni, nj, plat, plon, ier)
- The number of input data points, n > 2.
- An array containing the latitudes of the input data, expressed in degrees. The first three points must not be collinear (lie on a common great circle).
- An array containing the longitudes of the input data, expressed in degrees.
- Array containing data values. f[i] is the functional value at (rlat[i],rlon[i]) for i = 0 to n-1.
- The number of latitudes in the interpolated grid.
- The number of longitudes in the interpolated grid. ni and nj can both be 1, allowing for interpolation at a single point.
- An array containing the latitudes of the points where interpolated values are to be computed. The values in plat should be in degrees.
- An array of length nj containing the longitudes the output grid lines. The values in plon should be in degrees.
- An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the error list in cssgrid_errors for details.
c_cssgrid is called to find an interpolating tension spline for randomly positioned data on a unit sphere.
c_cssgrid returns a pointer to a linear array of data that contains interpolated values at user-specified lat/lon pairs. The returned array stores its values as if they were a 2-dimensional C array with latitude being the first dimension and longitude the second dimension. That is, if out is declared as
and we set:
out = c_cssgrid(n, rlat, rlon, f, nlat, nlon, plat, plon, &ier);
then out[i*nlon+j] is the interpolated function value at coordinate point (plat[i], plon[j]) for 0 <= i < nlat and 0 <= j < nlon. The space for out is allocated internal to c_cssgrid and is nlat * nlon floats in size.
To use c_cssgrid, load the NCAR Graphics library ngmath.
Complete documentation for Cssgrid is available at URL
Copyright (C) 2000
University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.