Personal tools
You are here: Home Documentation Users Guide Appendix A: External Functions CURV_TO_RECT_MAP
Document Actions

CURV_TO_RECT_MAP

CURV_TO_RECT_MAP(lon_in, lat_in, grid_out, radius)

Computes mapping parameters for regridding from a curvilinear grid to a rectilinear latitude-longitude grid. The mapping is applied to data with the function CURV_TO_RECT which interpolates the data to the rectilinear grid. This computation uses a spherical interpolation code written at GFDL; the Ferret developers are responsible for its implementation as an external function.

The output of this function is a set of mapping parameters; this mapping may be saved and applied to interpolate any field on the curvilinear grid onto the output rectangular grid.

Arguments:

lon_in

Source grid longitudes, in degrees (2-D field of longitudes describing the curvilinear grid)


lat_in

Source grid latitudes, in degrees (2-D field of latitudes describing the curvilinear grid)


grid_out

Any variable on the output recangular lon-lat grid. This grid may have irregularly spaced longitude and/or latitude axes


radius

Source points falling within radius (in degrees) of destination point are included in the mapping to the destination point. Described further below.

Result Axes:

X

Inherited from grid_out


Y

Inherited from grid_out


Z

Abstract


T

Abstract

This function does large amounts of calculation, and so runs slowly. It is recommended that you compute mappings from the curvilinear grid to desired rectilinear grid(s) and save them for use with your data fields. For an example of a call to this function see the documentation for the function CURV_TO_RECT, below.

The following figure illustrates a destination grid location (*) with a radius of influence R. Valid source curvilinear grid locations (o) which fall within the radius of influence of the destination point are used in the mapping. Missing source points (x) do not contribute to the mapping. In this case, 3 valid source grid points fall within the radius of influence.

AppA_schematic

The radius parameter should be chosen to be somewhat larger than the size of the input curvilinear grid cells so that any output grid location will have some input data contributing to its value.

The variable MAP, the result of a call to function CURV_TO_RECT_MAP, contains weights and the indices of the longitudes and latitudes of the curvilinear grid that correspond to the coordinates of the output grid. Below, in_curv_lon and in_curv_lat are the index value from the input curvilinear grid that correspond to the longitude and latitude of the rectangular output grid. The parameter num_neighbors is 4; the code looks around at four neighboring grid cells.

The weights are based on the distance from the source to the result grid points. The output variable map, then contains:

for each m = 1, nlon_out

for each n = 1, nlat_out

for each k=1, num_neighbors

MAP(m,n,k,1) = weight(m,n,k)
    MAP(m,n,k,2) = in_curv_lon(m,n,k)
    MAP(m,n,k,3) = in_curv_lat(m,n,k)


This may be used to determine the range of indices required in order to specify a subset of data on a curvilinear grid. See the FAQ, Plotting subsets of data on a curvilinear grid, for an outline of the procedure.



Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: