 Interpolation

You can look at this decision tree figure created several years ago to help you figure out which interpolation or regridding routine to use. This is a bit out-of-date; we'll try to update it when we can.

For regridding routines, see the full list in the regridding category list.

 area_conserve_remap Performs areal conservative remapping from one rectilinear grid to another. area_conserve_remap_Wrap Performs areal conservative remapping from one rectilinear grid to another and retains metadata. area_hi2lores Interpolates from high resolution rectilinear grids to low resolution recitlinear grids using local area averaging. area_hi2lores_Wrap Interpolates from high resolution rectilinear grids to low resolution rectilinear grids using local area averaging and retains metadata. bin_avg Calculates gridded binned averages and counts on a rectilinear grid using randomly spaced data. csa1 Calculates an approximating cubic spline for the input data, one 1-dimensional section at a time. csa1d Calculates an approximating cubic spline for the input data, one 1-dimensional section at a time. csa1s Calculates an approximating cubic spline for the input data, one 1-dimensional section at a time. csa1x Calculates an approximating cubic spline for the input data, one 1-dimensional section at a time. csa1xd Calculates an approximating cubic spline for the input data, one 1-dimensional section at a time. csa1xs Calculates an approximating cubic spline for the input data, one 1-dimensional section at a time. csa2 Calculates an approximating cubic spline for two-dimensional input data. csa2d Calculates an approximating cubic spline for two-dimensional input data. csa2l Calculates an approximating cubic spline for two-dimensional input data. csa2ld Calculates an approximating cubic spline for two-dimensional input data. csa2ls Calculates an approximating cubic spline for two-dimensional input data. csa2lx Calculates an approximating cubic spline for two-dimensional input data. csa2lxd Calculates an approximating cubic spline for two-dimensional input data. csa2lxs Calculates an approximating cubic spline for two-dimensional input data. csa2s Calculates an approximating cubic spline for two-dimensional input data. csa2x Calculates an approximating cubic spline for two-dimensional input data. csa2xd Calculates an approximating cubic spline for two-dimensional input data. csa2xs Calculates an approximating cubic spline for two-dimensional input data. csa3 Calculates an approximating cubic spline for three-dimensional input data. csa3d Calculates an approximating cubic spline for three-dimensional input data. csa3l Calculates an approximating cubic spline for three-dimensional input data. csa3ld Calculates an approximating cubic spline for three-dimensional input data. csa3ls Calculates an approximating cubic spline for three-dimensional input data. csa3lx Calculates an approximating cubic spline for three-dimensional input data. csa3lxd Calculates an approximating cubic spline for three-dimensional input data. csa3lxs Calculates an approximating cubic spline for three-dimensional input data. csa3s Calculates an approximating cubic spline for three-dimensional input data. csa3x Calculates an approximating cubic spline for three-dimensional input data. csa3xd Calculates an approximating cubic spline for three-dimensional input data. csa3xs Calculates an approximating cubic spline for three-dimensional input data. csc2s Converts Cartesian coordinates on a unit sphere to spherical coordinates (lat/lon). csgetp Retrieves control parameters for Cssgrid routines. css2c Converts spherical coordinates (lat/lon) to Cartesian coordinates on a unit sphere. cssetp Sets control parameters for Cssgrid routines. cssgrid Uses tension splines to interpolate unstructured (randomly-spaced) data on a unit sphere to data values on a rectilinear grid. cssgrid_Wrap Uses tension splines to interpolate unstructured (randomly-spaced) data on a unit sphere to data values on a rectilinear grid (retains metadata). csstri Calculates a Delaunay triangulation of data randomly positioned on the surface of a sphere. csvoro Determines Voronoi polygons for data randomly positioned on a sphere and returns vertices for the one surrounding a specified input point. curvilinear_to_SCRIP Writes the description of a curvilinear grid to a SCRIP file. dsgetp Gets parameters for Dsgrid routines. dsgrid2 Interpolates data from an unstructured (randomly-spaced) grid to a rectilinear grid using inverse distance weighted interpolation. dsgrid2d Interpolates double data from an unstructured (randomly-spaced) grid to a rectilinear grid using inverse distance weighted interpolation. (Deprecated version.) dsgrid2s Interpolates float data from an unstructured (randomly-spaced) grid to a rectilinear grid using inverse distance weighted interpolation. (Deprecated version.) dsgrid3 Interpolates data from an unstructured (randomly-spaced) grid to a 3D grid using inverse distance weighted interpolation. dsgrid3d Interpolates double data from an unstructured (randomly-spaced) grid to a 3D grid using inverse distance weighted interpolation. (Deprecated version.) dsgrid3s Interpolates float data from an unstructured (randomly-spaced) grid to a 3D grid using inverse distance weighted interpolation. (Deprecated version.) dspnt2 Interpolates 2D data at specified points. dspnt2d Interpolates 2D data at specified points. (Deprecated version.) dspnt2s Interpolates 2D float data at specified points. (Deprecated version.) dspnt3 Interpolates 3D data at specified points. dspnt3d Interpolates 3D double data at specified points. (Deprecated version.) dspnt3s Interpolates 3D float data at specified points. (Deprecated version.) dssetp Sets parameters for Dsgrid routines. ESMF_regrid Regrids data from one lat/lon grid to another, using ESMF software. ESMF_regrid_gen_weights Writes a weight file using the offline ESMF weight generator. ESMF_regrid_with_weights Using the provided weight file, regrids data from one lat/lon grid to another. ftcurv Calculates an interpolatory spline through a sequence of functional values. ftcurvd Calculates the derivatives of an interpolatory spline under tension. ftcurvi Calculates integrals of an interpolatory spline under tension between two user-specified limits. ftcurvp Calculates an interpolatory spline under tension through a sequence of functional values for a periodic function. ftcurvpi Calculates an integral of an interpolatory spline between two specified points. ftcurvps Calculates a smoothing spline. ftcurvs Calculates a smoothing spline. ftgetp Retrieves control parameters for Fitgrid routines. ftkurv Calculates an interpolatory spline for parametric curves. ftkurvd Calculates an interpolatory spline for parametric curves; it also calculates first and second derivatives of the interpolatory spline. ftkurvp Calculates an interpolatory spline under tension through a sequence of points in the plane forming a closed curve. ftkurvpd Calculates an interpolatory spline for closed parametric curves; it also calculates first and second derivatives of the interpolatory spline. ftsetp Sets control parameters for Fitgrid routines. ftsurf Calculates an interpolatory surface passing through a rectangular grid of function values. idsfft Interpolates 2D random data. int2p Interpolates pressure levels to a different set of pressure levels. int2p_n Interpolates pressure levels to a different set of pressure levels on the given dimension. int2p_n_Wrap Interpolates pressure levels to a different set of pressure levels and returns metadata. int2p_Wrap Interpolates pressure levels to a different set of pressure levels and returns metadata. latlon_to_SCRIP Writes the description of a lat/lon grid to a SCRIP file. linint1 Interpolates from one series to another using piecewise linear interpolation across the rightmost dimension. linint1_n Interpolates from one series to another using piecewise linear interpolation across the given dimension. linint1_n_Wrap Interpolates from one series to another using piecewise linear interpolation across the given dimension, and retains metadata. linint1_Wrap Interpolates from one series to another using piecewise linear interpolation, and retains metadata. linint2 Interpolates from a rectilinear grid to another rectilinear grid using bilinear interpolation. linint2_points Interpolates from a rectilinear grid to an unstructured grid or locations using bilinear interpolation. linmsg Linearly interpolates to fill in missing values. linmsg_n Linearly interpolates to fill in missing values, given the dimension to do the interpolation across. natgrid Interpolates data from an unstructured (randomly-spaced) grid to a rectilinear grid using natural neighbor interpolation. natgrid_Wrap Interpolates data from an unstructured (randomly-spaced) grid to a rectilinear grid using natural neighbor interpolation and retains metadata. natgridd Interpolates double data on an unstructured grid to a rectilinear grid. (Deprecated version.) natgrids Interpolates float data on an unstructured grid to a rectilinear grid. (Deprecated version.) nngetaspectd Retrieves an aspect at a specified coordinate position. nngetaspects Retrieves an aspect at a specified coordinate position. nngetp Retrieves control parameters for Natgrid routines. nngetsloped Retrieves a slope at a specified coordinate position. nngetslopes Retrieves a slope at a specified coordinate position. nngetwts Retrieves natural neighbors and weights for the function values at those neighbors. nngetwtsd Retrieves natural neighbors and weights for the function values at those neighbors. nnpnt Interpolates from 2D random data to get values at a specified set of points. nnpntd Interpolates from 2D random double data to get values at a specified set of points. (Deprecated version.) nnpntend Terminates interpolation from 2D random data to get values at a specified set of points. nnpntendd Terminates interpolation from 2D random data to get values at a specified set of points. nnpntinit Initializes internal quantities, for given input data, to allow subsequent nnpnt calls to interpolate at specified points. nnpntinitd Initializes internal quantities, for given input data, to allow subsequent nnpntd calls to interpolate at specified points. nnpntinits Initializes internal quantities, for given input data, to allow subsequent nnpnts calls to interpolate at specified points. nnpnts Interpolates from 2D random float data to get values at a specified set of points. (Deprecated version.) nnsetp Sets control parameters for Natgrid routines. obj_anal_ic Iterative improvement objective analysis. obj_anal_ic_deprecated Iterative correction objective analysis (Cressman, Barnes) (deprecated) obj_anal_ic_Wrap Iterative improvement objective analysis and returns meta data. poisson_grid_fill Replaces all missing (_FillValue) values in a grid with values derived from solving Poisson's equation via relaxation. rcm2points Interpolates data on a curvilinear grid (i.e. RCM, WRF, NARR) to an unstructured grid. rcm2rgrid Interpolates data on a curvilinear grid (i.e. RCM, WRF, NARR) to a rectilinear grid. rectilinear_to_SCRIP Writes the description of a rectilinear grid to a SCRIP file. rgrid2rcm Interpolates data on a rectilinear lat/lon grid to a curvilinear grid like those used by the RCM, WRF and NARR models/datasets. shgetnp Finds the nearest point, or points (in a specified set of points), to a given point in 3-space. shgetp Retrieves control parameters for Shgrid routines. shgrid Interpolates data from an unstructured grid to a grid in 3-space. shsetp Sets control parameters for Shgrid routines. sigma2hybrid Interpolates from sigma to hybrid coordinates. trop_wmo Determines the level of the thermal tropopause. unstructured_to_ESMF Writes the description of an unstructured grid to an ESMF file. wrf_interp_1d Linearly interpolates a one-dimensional variable in the vertical. wrf_interp_2d_xy Extracts a cross section from a given input field. wrf_interp_3d_z Interpolates to a specified pressure/height level. wrf_user_interp_level Interpolates a horizontal slice from a three-dimensional WRF-ARW field at the given vertical level(s). wrf_user_interp_line Interpolates a two-dimensional WRF-ARW field along a line. wrf_user_intrp2d Interpolates ARW WRF 2D model data along a given line (deprecated). wrf_user_intrp3d Interpolates ARW WRF model data vertically or horizontally (deprecated). wrf_user_unstagger Unstaggers an input variable along a specified dimension. wrf_user_vert_cross Interpolates a vertical cross-section from a three-dimensional WRF-ARW field at the given vertical level(s). wrf_user_vert_interp Vertically interpolates ARW WRF variables given the type of surface and a set of new levels.