# ncl_c_dsgrid2d - Man Page

primary double precision C entry for 2D gridding

## Function Prototype

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

## Synopsis

double *c_dsgrid2d(int n, double x[], double y[], double z[],
int nx, int ny, double xo[], double yo[], 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 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]), for 0 <= m < n.

nx

The number of X values in the output grid.

ny

The number of Y 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.

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_dsgrid2d 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_dsgrid2d(n, x, y, z, nx, ny, xo, yo, ier);

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

## Access

To use c_dsgrid2d, load the NCAR Graphics library ngmath.