PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

Module spherical_regrid_mod

Contact:  M.J. Harrison
Reviewers:  Anand Gnandasekian
Change History: WebCVS Log


OVERVIEW

Map between logically rectangular grids using inverse great circle weights.

A maximum range of influence (max_dist) is selected along with the number of nearest neighbors (num_nbrs)

Currently only supports a single regridding map at a time. Subsequent calls to spherical_regrid_init will erase previous mapping information

Optional masking information for the source grid is used to mask destination grid points. If the nearest neighbor from the source grid is masked, the destination point is masked, otherwise if destination point has at least one valid point in it's region of influence, it obtains a valid value.

Schematic: The following example illustrates a destination grid location (+) with a (R)adius of influence (in radians) denoted by (=). Valid source grid locations (o) which fall within the radius of influence of the destination point are used in the mapping. Masked points (x) do not contribute to the mapping but are included as nearest neighbors. In this case, 4 valid source grid points fall within the radius of influence.

               o  o   o   o   o   o   o
                      =========
                     =         = 
               o  o = o   o   o = o   o
                   =        R    = 
                   =      +----->=
               o  o   o   x   x   x   x
                     =         =
                      =========
               o  o   o   x   x   x   x


OTHER MODULES USED

mpp_mod

PUBLIC INTERFACE

regrid:
spherical_regrid_init:
spherical_regrid_exit:


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. regrid

    DESCRIPTION
    map an array from src grid to dest grid


    INPUT
    src    data on source grid
       [real, pointer, dimension(:,:)]

    INPUT/OUTPUT
    dest    data on destination grid
       [real, pointer, dimension(:,:)]

  2. spherical_regrid_init

    DESCRIPTION
    initialize spherical regrid information. Identify nearest points and calculate regriding weights.


    INPUT
    x_dest    longitudes of destination grid
       [real, pointer, dimension(:),(:,:)]
    y_dest    latitudes of destination grid
       [real, pointer, dimension(:),(:,:)]
    x_src    longitudes of source grid
       [real, pointer, dimension(:),(:,:)]
    y_src    latitudes of source grid
       [real, pointer, dimension(:),(:,:)]
    num_nbrs    maximum number of neighbors for regridding
       [integer]
    mask_src    real mask for source grid (optional)
       [real, pointer, dimension(:,:)]
    max_dist    radius of influence around destination grid points (optional)
       [real]
    src_modulo    .T. if longitudes in source grid are modulo (optional)
       [logical]

  3. spherical_regrid_exit

    DESCRIPTION
    deallocate storage for spherical_regrid_mod.



DATA SETS

None.


ERROR MESSAGES

None.


top