CAM
interpolate_mod Module Reference

Data Types

type  interpdata_t
 
interface  interpolate_scalar
 
type  interpolate_t
 
interface  interpolate_vector
 

Functions/Subroutines

subroutine, public set_interp_parameter (parm_name, value)
 
integer function, public get_interp_parameter (parm_name)
 
real(kind=real_kind) function, dimension(nlat), public get_interp_gweight ()
 
real(kind=real_kind) function, dimension(nlat), public get_interp_lat ()
 
real(kind=real_kind) function, dimension(nlon), public get_interp_lon ()
 
subroutine, public interpolate_create (gquad, interp)
 
subroutine, public interpolate_tracers_init ()
 
subroutine, public interpolate_tracers (r, tracers, f)
 
real(kind=real_kind) function, dimension(qsize) linear_interpolate_2d (x, y, s)
 
subroutine, public minmax_tracers (r, tracers, mint, maxt)
 
real(kind=real_kind) function, public interpolate_2d (cart, f, interp, npts, fillvalue)
 
real(kind=real_kind) function interpol_bilinear (cart, f, interp, npts, fillvalue)
 
type(cartesian2d_t) function, public parametric_coordinates (sphere, corners3D, ref_map_in, corners, cartp, facenum)
 
logical function point_inside_equiangular (elem, sphere, sphere_xyz)
 
logical function, public point_inside_quad (corners_xyz, sphere_xyz)
 
logical function point_inside_gc (elem, sphere_xyz)
 
subroutine, public cube_facepoint_ne (sphere, ne, cart, number)
 
subroutine, public cube_facepoint_unstructured (sphere, cart, number, elem)
 
subroutine, public interp_init ()
 
subroutine, public setup_latlon_interp (elem, interpdata, par)
 
subroutine, public interpolate_ce (cart, fld_cube, npts, fld, fillvalue)
 
subroutine interpolate_scalar2d (interpdata, fld_cube, npts, fld, fillvalue)
 
subroutine interpolate_scalar3d (interpdata, fld_cube, npts, nlev, fld, fillvalue)
 
subroutine interpolate_vector3d (interpdata, elem, fld_cube, nlev, fld, input_coords, fillvalue)
 
integer function, public var_is_vector_uvar (name)
 
integer function, public var_is_vector_vvar (name)
 

Variables

logical debug =.false.
 
integer, parameter, public max_vecvars =25
 
character(len=10), dimension(max_vecvars), public vector_uvars
 
character(len=10), dimension(max_vecvars), public vector_vvars
 
logical, dimension(max_vecvars), public replace_vec_by_vordiv
 
real(kind=real_kind), private delta = 1.0D-9
 
logical interp_tracers_init =.false.
 
real(kind=real_kind), dimension(np, np) interp_c
 
real(kind=real_kind), dimension(np) interp_gll
 
type(interpolate_t), target interp_p
 
logical, dimension(8), public interpolate_analysis = (/.true.,.false.,.false.,.false.,.false.,.false.,.false.,.false./)
 
integer nlat
 
integer nlon
 
real(kind=real_kind), dimension(:), pointer, public lat => NULL()
 
real(kind=real_kind), dimension(:), pointer, public lon => NULL()
 
real(kind=real_kind), dimension(:), pointer, public gweight => NULL()
 
integer gridtype = 1
 
integer itype = 1
 
integer auto_grid = 0
 

Function/Subroutine Documentation

◆ cube_facepoint_ne()

subroutine, public interpolate_mod::cube_facepoint_ne ( type (spherical_polar_t), intent(in)  sphere,
integer, intent(in)  ne,
type (cartesian2d_t), intent(out)  cart,
integer, intent(out)  number 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cube_facepoint_unstructured()

subroutine, public interpolate_mod::cube_facepoint_unstructured ( type (spherical_polar_t), intent(in)  sphere,
type (cartesian2d_t), intent(out)  cart,
integer, intent(out)  number,
type (element_t), dimension(:), intent(in), target  elem 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_interp_gweight()

real(kind=real_kind) function, dimension(nlat), public interpolate_mod::get_interp_gweight ( )
Here is the caller graph for this function:

◆ get_interp_lat()

real(kind=real_kind) function, dimension(nlat), public interpolate_mod::get_interp_lat ( )
Here is the caller graph for this function:

◆ get_interp_lon()

real(kind=real_kind) function, dimension(nlon), public interpolate_mod::get_interp_lon ( )
Here is the caller graph for this function:

◆ get_interp_parameter()

integer function, public interpolate_mod::get_interp_parameter ( character*(*), intent(in)  parm_name)
Here is the caller graph for this function:

◆ interp_init()

subroutine, public interpolate_mod::interp_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpol_bilinear()

real (kind=real_kind) function interpolate_mod::interpol_bilinear ( type (cartesian2d_t), intent(in)  cart,
real (kind=real_kind), dimension(npts,npts), intent(in)  f,
type (interpolate_t interp,
integer, intent(in)  npts,
real (kind=real_kind), intent(in), optional  fillvalue 
)
private
Here is the caller graph for this function:

◆ interpolate_2d()

real (kind=real_kind) function, public interpolate_mod::interpolate_2d ( type (cartesian2d_t), intent(in)  cart,
real (kind=real_kind), dimension(npts,npts), intent(in)  f,
type (interpolate_t interp,
integer, intent(in)  npts,
real (kind=real_kind), intent(in), optional  fillvalue 
)
Here is the caller graph for this function:

◆ interpolate_ce()

subroutine, public interpolate_mod::interpolate_ce ( type (cartesian2d_t cart,
real (kind=real_kind), dimension(npts,npts)  fld_cube,
integer  npts,
real (kind=real_kind)  fld,
real (kind=real_kind), intent(in), optional  fillvalue 
)
Here is the call graph for this function:

◆ interpolate_create()

subroutine, public interpolate_mod::interpolate_create ( type (quadrature_t), intent(in)  gquad,
type (interpolate_t), intent(out)  interp 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolate_scalar2d()

subroutine interpolate_mod::interpolate_scalar2d ( type (interpdata_t interpdata,
real (kind=real_kind), dimension(npts,npts)  fld_cube,
integer  npts,
real (kind=real_kind), dimension(:)  fld,
real (kind=real_kind), intent(in), optional  fillvalue 
)
private
Here is the call graph for this function:

◆ interpolate_scalar3d()

subroutine interpolate_mod::interpolate_scalar3d ( type (interpdata_t interpdata,
real (kind=real_kind), dimension(npts,npts,nlev)  fld_cube,
integer, intent(in)  npts,
integer, intent(in)  nlev,
real (kind=real_kind), dimension(:,:)  fld,
real (kind=real_kind), intent(in), optional  fillvalue 
)
private
Here is the call graph for this function:

◆ interpolate_tracers()

subroutine, public interpolate_mod::interpolate_tracers ( type (cartesian2d_t), intent(in)  r,
real (kind=real_kind), dimension(np*np,qsize), intent(in)  tracers,
real (kind=real_kind), dimension(qsize), intent(out)  f 
)
Here is the caller graph for this function:

◆ interpolate_tracers_init()

subroutine, public interpolate_mod::interpolate_tracers_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolate_vector3d()

subroutine interpolate_mod::interpolate_vector3d ( type (interpdata_t), intent(in)  interpdata,
type (element_t), intent(in)  elem,
real (kind=real_kind), dimension(np,np,2,nlev), intent(in)  fld_cube,
integer, intent(in)  nlev,
real (kind=real_kind), dimension(:,:,:), intent(out)  fld,
integer, intent(in)  input_coords,
real (kind=real_kind), intent(in), optional  fillvalue 
)
private
Here is the call graph for this function:

◆ linear_interpolate_2d()

real (kind=real_kind) function, dimension(qsize) interpolate_mod::linear_interpolate_2d ( real (kind=longdouble_kind), dimension(np), intent(in)  x,
real (kind=real_kind), dimension(np,np,qsize), intent(in)  y,
type (cartesian2d_t), intent(in)  s 
)
Here is the caller graph for this function:

◆ minmax_tracers()

subroutine, public interpolate_mod::minmax_tracers ( type (cartesian2d_t), intent(in)  r,
real (kind=real_kind), dimension(np,np,qsize), intent(in)  tracers,
real (kind=real_kind), dimension (qsize), intent(out)  mint,
real (kind=real_kind), dimension (qsize), intent(out)  maxt 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ parametric_coordinates()

type (cartesian2d_t) function, public interpolate_mod::parametric_coordinates ( type (spherical_polar_t), intent(in)  sphere,
type (cartesian3d_t), dimension(4)  corners3D,
integer, optional  ref_map_in,
type (cartesian2d_t), dimension(4), optional  corners,
type (cartesian2d_t), dimension(np,np), optional  cartp,
integer, optional  facenum 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ point_inside_equiangular()

logical function interpolate_mod::point_inside_equiangular ( type (element_t), intent(in)  elem,
type (spherical_polar_t), intent(in)  sphere,
type (cartesian3d_t), intent(in)  sphere_xyz 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ point_inside_gc()

logical function interpolate_mod::point_inside_gc ( type (element_t), intent(in)  elem,
type (cartesian3d_t), intent(in)  sphere_xyz 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ point_inside_quad()

logical function, public interpolate_mod::point_inside_quad ( type (cartesian3d_t), dimension(4), intent(in)  corners_xyz,
type (cartesian3d_t), intent(in)  sphere_xyz 
)
Here is the caller graph for this function:

◆ set_interp_parameter()

subroutine, public interpolate_mod::set_interp_parameter ( character*(*), intent(in)  parm_name,
integer  value 
)
Here is the caller graph for this function:

◆ setup_latlon_interp()

subroutine, public interpolate_mod::setup_latlon_interp ( type (element_t), dimension(:), intent(in), target  elem,
type (interpdata_t), dimension(:), intent(out)  interpdata,
type (parallel_t), intent(in)  par 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ var_is_vector_uvar()

integer function, public interpolate_mod::var_is_vector_uvar ( character(len=*), intent(in)  name)

◆ var_is_vector_vvar()

integer function, public interpolate_mod::var_is_vector_vvar ( character(len=*), intent(in)  name)

Variable Documentation

◆ auto_grid

integer interpolate_mod::auto_grid = 0
private

◆ debug

logical interpolate_mod::debug =.false.
private

◆ delta

real (kind=real_kind), private interpolate_mod::delta = 1.0D-9
private

◆ gridtype

integer interpolate_mod::gridtype = 1
private

◆ gweight

real (kind=real_kind), dimension(:), pointer, public interpolate_mod::gweight => NULL()

◆ interp_c

real (kind=real_kind ), dimension(np,np) interpolate_mod::interp_c
private

◆ interp_gll

real (kind=real_kind ), dimension(np) interpolate_mod::interp_gll
private

◆ interp_p

type (interpolate_t), target interpolate_mod::interp_p
private

◆ interp_tracers_init

logical interpolate_mod::interp_tracers_init =.false.
private

◆ interpolate_analysis

logical, dimension(8), public interpolate_mod::interpolate_analysis = (/.true.,.false.,.false.,.false.,.false.,.false.,.false.,.false./)

◆ itype

integer interpolate_mod::itype = 1
private

◆ lat

real (kind=real_kind), dimension(:), pointer, public interpolate_mod::lat => NULL()

◆ lon

real (kind=real_kind), dimension(:), pointer, public interpolate_mod::lon => NULL()

◆ max_vecvars

integer, parameter, public interpolate_mod::max_vecvars =25

◆ nlat

integer interpolate_mod::nlat
private

◆ nlon

integer interpolate_mod::nlon
private

◆ replace_vec_by_vordiv

logical, dimension(max_vecvars), public interpolate_mod::replace_vec_by_vordiv

◆ vector_uvars

character(len=10), dimension(max_vecvars), public interpolate_mod::vector_uvars

◆ vector_vvars

character(len=10), dimension(max_vecvars), public interpolate_mod::vector_vvars