# pygmt.surface¶

pygmt.surface(x=None, y=None, z=None, data=None, **kwargs)[source]

Grids table data using adjustable tension continuous curvature splines.

Surface reads randomly-spaced (x,y,z) triples and produces gridded values z(x,y) by solving:

(1 - T) * L (L (z)) + T * L (z) = 0

where T is a tension factor between 0 and 1, and L indicates the Laplacian operator.

Takes a matrix, xyz triples, or a file name as input.

Must provide either data or x, y, and z.

Full option list at https://docs.generic-mapping-tools.org/latest/surface.html

Aliases:

• G = outfile

• I = spacing

• R = region

Parameters
• x/y/z (1d arrays) – Arrays of x and y coordinates and values z of the data points.

• data (str or 2d array) – Either a data file name or a 2d numpy array with the tabular data.

• spacing (str) – 'xinc[unit][+e|n][/yinc[unit][+e|n]]'. x_inc [and optionally y_inc] is the grid spacing.

• region (str or list) – 'xmin/xmax/ymin/ymax[+r][+uunit]'. Specify the region of interest.

• outfile (str) – Optional. The file name for the output netcdf file with extension .nc to store the grid in.

Returns

ret (xarray.DataArray or None) – Return type depends on whether the outfile (G) parameter is set:

• xarray.DataArray if outfile (G) is not set

• None if outfile (G) is set (grid output will be stored in outfile)