triple2grid2d
Places randomly-spaced data onto the nearest locations of a grid described by two-dimensional coordinate arrays.
Prototype
function triple2grid2d ( x [*] : numeric, y [*] : numeric, data [*] : numeric, xgrid [*][*] : numeric, ygrid [*][*] : numeric, option [1] : logical ) return_val [dimsizes(xgrid)] : typeof(data)
Arguments
xy
One-dimensional arrays containing the coordinates associated with the data values. For geophysical variables, x and y correspond to longitude and latitude respectively.
dataA one-dimensional array containing the values associated with the x and y coordinates. Missing values may be present (data@_FillValue), but they are ignored.
xgridA two-dimensional array containing the X coordinates to be associated with the returned two-dimensional grid. For geophysical variables, these are longitudes.
ygridA two-dimensional array of the same size as xgrid containing the Y coordinates to be associated with the returned two-dimensional grid. For geophysical variables, these are latitudes.
optionIf option=False, the function will operate under default mode (that is, all grid points will be assigned a value).
If option=True, then this variable may have associated with it the attributes mopt and/or distmx.
- option@mopt - an integer value of 0 or 1
- option@mopt=0 (default) - use a quick
approximation to determine the distance of an x/y location to a grid
point.
option@mopt=1 - calculate the distance using the great circle distance formula. This will result in slower execution times.
- option@distmx
- Any x/y/data observation greater than
option@distmx from a grid point will not be
used. Note: If this option is used, it is possible for some grid
points to be returned as missing (data@_FillValue).
Return value
The returned two-dimensional array will be the same size as the xgrid/ygrid arrays and the same type as data.
Description
This routine does not perform interpolation; rather, each individual data point is assigned to the nearest grid point. It is possible that upon return, grid will contain grid points set to data@_FillValue if the option@distmx is set.
The units of distmx are "grid-units" if the default distance formula is used, and kilometers if the great circle distance formula is used, as indicated by option@mopt.
See Also
Examples
Example 1
Assume xlon, ylat, and zVal are one-dimensional (1D) arrays of length KPTS. Assume lon and lat are 2D arrays specifying grid locations. Then:
grid = triple2grid2d(xlon,ylat,zVal, lon,lat, False)
will use default behavior and return a 2D array of the same size as xgrid.
Setting option=True and option@mopt=1 will result in the function using the more accurate great circle distance formula. The execution time will be longer, however:
opt = True ; setting options opt@mopt = 1 grid = triple2grid2d(xlon,ylat,zVal, lon,lat, opt)
Setting the option@distmx option will result in any observation greater than distmx to be not used:
opt@distmx = 1.2 ; observation more than 1.2 will ; not be used grid = triple2grid(xlon,ylat,zVal, lon,lat, opt)