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. |