Replaces all missing (_FillValue) values in a grid with values derived from solving Poisson's equation via relaxation.
Available in version 4.3.1 and later.
procedure poisson_grid_fill ( x : float or double, is_cyclic  : logical, guess_type  : integer, nscan  : integer, epsx  : numeric, relc  : numeric, opt  : integer )
An array of two or more dimensions. The two rightmost dimensions must of size nyi x nxi, and are the dimensions used in the interpolation. The missing value attribute x@_FillValue must be set appropriately.is_cyclic
An option to indicate whether the rightmost dimension of x is cyclic. Set to True if x should be treated as cyclic and doesn't already have the cyclic point added. Set to False otherwise.guess_type
Specifies the type of first guess grid. guess_type=0 means use 0.0 as an initial guess; guess_type=1 means that zonal averages (i.e, averages in the "x" direction) will be used. It is recommended that guess_type=1 be used.nscan
Maximum number of iterations to be used by relaxation.epsx
Tolerance for ending relaxation before nscan limit.relc
Relaxation constant. Usually, 0.45 <= relc <= 0.6.opt
Reserved for future use. Currently not used, but set it to 0.
poisson_grid_fill solves Poisson's equation over the input domain. The values at non-missing locations are used as boundary conditions and are returned unchanged.
The user may have to experiment with epsx amd nscan to get the desired effect.
On exit, the input array x will have all the _FillValue locations filled with interpolated/extrapolated values.
Example 1 Interpolate the SST grid to all grid points that are missing (sst@_FillValue).
f = addfile ("foo.ncl" , "r") sst = f->SST ; (say) (time,lat,lon) guess = 1 ; use zonal means is_cyclic = True ; cyclic [global] nscan = 1500 ; usually much less than this eps = 1.e-2 ; variable dependent relc = 0.6 ; relaxation coefficient opt = 0 ; not used poisson_grid_fill( sst, is_cyclic, guess, nscan, eps, relc, opt) ;poisson_grid_fill( sst, True, 1, 1500, 1e-2, 0.6, 0)The 'before and after' grids may be viewed here .
poisson_grid_fill will fill all missing values on any grid.
Additional Examples may be seen by clicking: Grid_filling