getGridPosition_mod

link to source code

Dependency Diagrams:

getGridPosition_mod.svg

Direct Dependency Diagram

getGridPosition_mod_rev.svg

Reverse Dependency Diagram

Description

MODULE getGridPosition_mod (prefix=’gpos’ category=’8. Low-level utilities and constants’)

Purpose

A place to collect numerous interpolation related routines. The main task of the module is to compute the grid XY position from a lat-lon. This simply calls the ezsint routine gdxyfll for simple grids. For Yin-Yan grids it calls the function gpos_xyfll_yinYangGrid (see below in this module). There is also support for RPN Y grids, in which case it calls the subroutine gpos_xyfll_unstructGrid.

Quick access

Routines

gpos_getpositionxy(), gpos_gridisorca(), gpos_xyfll_unstructgrid(), gpos_xyfll_yinyanggrid()

Needed modules

  • kdtree2_mod: MODULE kdTree2_mod (prefix=’kdtree2’ category=’8. Low-level utilities and constants’)

  • mathphysconstants_mod: MODULE mathPhysConstants_mod (prefix=’mpc’ category=’8. Low-level utilities and constants’)

  • physicsfunctions_mod: MODULE physicsFunctions_mod (prefix=’phf’ category=’8. Low-level utilities and constants’)

  • utilities_mod: MODULE utilities_mod (prefix=’utl’ category=’8. Low-level utilities and constants’)

Variables

Subroutines and functions

function  getgridposition_mod/gpos_getpositionxy(gdid, xpos_r4, ypos_r4, xpos2_r4, ypos2_r4, lat_deg_r4, lon_deg_r4, subgridindex)
Purpose

Compute the grid XY position from a lat-lon. This simply calls the ezsint routine gdxyfll for simple grids. For Yin-Yan grids it calls the function gpos_xyfll_yinYangGrid (see below in this module). There is also support for RPN Y grids, in which case it calls the subroutine gpos_xyfll_unstructGrid.

Arguments
  • gdid [integer ,in]

  • xpos_r4 [real ,out]

  • ypos_r4 [real ,out]

  • xpos2_r4 [real ,out]

  • ypos2_r4 [real ,out]

  • lat_deg_r4 [real ,in]

  • lon_deg_r4 [real ,in]

  • subgridindex [integer ,out]

Return

ierr [integer ] :: returned value of function

Called from

heightbilinearinterp(), latlonchecksanlgrid(), s2c_setupinterpinfo(), s2c_bgcheck_bilin(), s2c_setupbilinearinterp(), s2c_setupfootprintinterp(), s2c_setuplakeinterp(), s2c_setupnearestneighbor(), latlonchecks()

Call to

gpos_xyfll_unstructgrid(), gpos_xyfll_yinyanggrid()

function  getgridposition_mod/gpos_xyfll_yinyanggrid(gdid, xpos_r4, ypos_r4, xpos2_r4, ypos2_r4, lat_deg_r4, lon_deg_r4, subgridindex)
Purpose

Compute the grid XY position from a lat-lon for a Yin-Yang grid. It returns locations from both the Yin and Yang subgrids when in the overlap region, depending on the logical variable useSingleValueOverlap.

Arguments
  • gdid [integer ,in]

  • xpos_r4 [real ,out]

  • ypos_r4 [real ,out]

  • xpos2_r4 [real ,out]

  • ypos2_r4 [real ,out]

  • lat_deg_r4 [real ,in]

  • lon_deg_r4 [real ,in]

  • subgridindex [integer ,out]

Return

ierr [integer ] :: returned value of function

Called from

gpos_getpositionxy()

function  getgridposition_mod/gpos_xyfll_unstructgrid(gdid, xpos_r4, ypos_r4, lat_deg_r4, lon_deg_r4)
Arguments
  • gdid [integer ,in]

  • xpos_r4 [real ,out]

  • ypos_r4 [real ,out]

  • lat_deg_r4 [real ,in]

  • lon_deg_r4 [real ,in]

Return

ierr [integer ] :: returned value of function

Called from

gpos_getpositionxy()

Call to

utl_abort(), gpos_gridisorca(), kdtree2_3dposition(), kdtree2_create(), kdtree2_r_nearest(), phf_calcdistance()

function  getgridposition_mod/gpos_gridisorca(ni, nj, latitude, longitude)
Arguments
  • ni [integer ,in,] :: first dimension of the grid

  • nj [integer ,in,] :: second dimension of the grid

  • latitude (ni,nj) [real ,in] :: latitude (degrees or radians)

  • longitude (ni,nj) [real ,in] :: longitude (degrees or radians)

Return

gridisorca [logical ] :: returned value of function

Called from

gpos_xyfll_unstructgrid(), gvt_oceanicecontinuous()