# ncl_c_dsgrid3d - Man Page

primary double precision C entry for 3D gridding

## Function Prototype

double *c_dsgrid3d(int, double [], double [], double [], double [], int, int, int, double [], double [], double [], int *);

## Synopsis

double *c_dsgrid3d(int n, double x[], double y[], double z[], double u[], int nx, int ny, int nz, double xo[], double yo[], double zo[], int *ier);

## Description

- n
The number of input data points.

- x
An array containing the X coordinates of the input data points.

- y
An array containing the Y coordinates of the input data points.

- z
An array containing the Z coordinates of the input data points.

- u
An array of size n containing the functional values of the input data points. That is, z[m] is the value of the input function at coordinate (x[m],y[m],z[m]), for 0 <= m < n.

- nx
The number of X values in the output grid.

- ny
The number of Y values in the output grid.

- nz
The number of Z values in the output grid.

- xo
An array of size nx containing the X coordinates of the output data grid. The values in xo must be increasing, but need not be equally spaced.

- yo
An array of size ny containing the Y coordinates of the output data grid. The values in yo must be increasing, but need not be equally spaced.

- zo
An array of size nz containing the Z coordinates of the output data grid. The values in zo must be increasing, but need not be equally spaced.

- ier
An error return value. If *ier is returned as 0, then no errors were detected. If *ier is non-zero, then refer to the man page for dsgrid_errors.

## Usage

c_dsgrid3d returns a pointer to a linear array of data that is the interpolated grid stored in row-major order. That is, if out is declared as

double *out;

and we set:

out = *c_dsgrid3d(n, x, y, z, u, nx, ny, nz, xo, yo, zo, ier);

then out[nz*ny*i + nz*j + k] is the interpolated function value at coordinate point (xo[i],yo[j],zo[k]) for 0 <= i < nx, 0 <= j < ny, and 0 <= k < nz. The space for out is allocated internal to c_dsgrid3d and is nx*ny*nz doubles in size.

## Access

To use c_dsgrid3d, load the NCAR Graphics library ngmath.

## See Also

dsgrid, dsgrid_params, c_dsseti, c_dsgeti, c_dssetrd, c_dsgetrd, c_dssetc, c_dsgetc.

Complete documentation for Dsgrid is available at URL

http://ngwww.ucar.edu/ngdoc/ng/ngmath/dsgrid/dshome.html

## Copyright

Copyright (C) 2000

University Corporation for Atmospheric Research

The use of this Software is governed by a License Agreement.