SABER
type_mesh Module Reference

Subroutines/functions list. More...

Data Types

type  row_type
 
type  mesh_type
 

Functions/Subroutines

subroutine mesh_alloc (mesh, n, use_cgal)
 Allocation. More...
 
subroutine mesh_init (mesh, mpl, rng, lon, lat, hull_bnd)
 Intialization. More...
 
subroutine mesh_dealloc (mesh)
 Release memory. More...
 
subroutine mesh_barycentric (mesh, mpl, lon, lat, tree, b, ib)
 Compute barycentric coordinates. More...
 
subroutine mesh_count_bnda (mesh, gmask, nbnda)
 Count boundary arcs. More...
 
subroutine mesh_get_bnda (mesh, gmask, nbnda, bnda_index)
 Get boundary arcs. More...
 
subroutine mesh_check_arc (mesh, mpl, lon_s, lat_s, il0, lon_e, lat_e, jl0, valid)
 Check if an arc is crossing mask boundaries. More...
 

Variables

integer, parameter nnmax = 20
 Maximum number of nearest neighbors in the triangle search. More...
 
real(kind_real), parameter acc_fac = five
 Acceptance factor for mesh neighbors. More...
 
real(kind_real), parameter pfactor = 1.0e-10_kind_real
 Perturbation factor. More...
 

Detailed Description

Subroutines/functions list.

Instrumentation functions Mesh derived type

Function/Subroutine Documentation

◆ mesh_alloc()

subroutine type_mesh::mesh_alloc ( class(mesh_type), intent(inout)  mesh,
integer, intent(in)  n,
logical, intent(in)  use_cgal 
)
private

Allocation.

Parameters
[in]nMesh size
[in]use_cgalUse CGAL option

Definition at line 107 of file type_mesh.F90.

◆ mesh_barycentric()

subroutine type_mesh::mesh_barycentric ( class(mesh_type), intent(in)  mesh,
type(mpl_type), intent(inout)  mpl,
real(kind_real), intent(in)  lon,
real(kind_real), intent(in)  lat,
type(tree_type), intent(in)  tree,
real(kind_real), dimension(3), intent(out)  b,
integer, dimension(3), intent(out)  ib 
)
private

Compute barycentric coordinates.

Parameters
[in,out]mplMPI data
[in]lonLongitude
[in]latLatitude
[out]bBarycentric weights
[out]ibBarycentric indices

Definition at line 484 of file type_mesh.F90.

◆ mesh_check_arc()

subroutine type_mesh::mesh_check_arc ( class(mesh_type), intent(in)  mesh,
type(mpl_type), intent(inout)  mpl,
real(kind_real), intent(in)  lon_s,
real(kind_real), intent(in)  lat_s,
integer, intent(in)  il0,
real(kind_real), intent(in)  lon_e,
real(kind_real), intent(in)  lat_e,
integer, intent(in)  jl0,
logical, intent(out)  valid 
)
private

Check if an arc is crossing mask boundaries.

Parameters
[in,out]mplMPI data
[in]lon_sFirst point longitude
[in]lat_sFirst point latitude
[in]il0First point level
[in]lon_eSecond point longitude
[in]lat_eSecond point latitude
[in]jl0Second point level
[out]validTrue for valid arcs

Definition at line 740 of file type_mesh.F90.

◆ mesh_count_bnda()

subroutine type_mesh::mesh_count_bnda ( class(mesh_type), intent(in)  mesh,
logical, dimension(mesh%n), intent(in)  gmask,
integer, intent(out)  nbnda 
)
private

Count boundary arcs.

Parameters
[in]gmaskMask
[out]nbndaNumber of boundary nodes

Definition at line 636 of file type_mesh.F90.

◆ mesh_dealloc()

subroutine type_mesh::mesh_dealloc ( class(mesh_type), intent(inout)  mesh)
private

Release memory.

Definition at line 436 of file type_mesh.F90.

◆ mesh_get_bnda()

subroutine type_mesh::mesh_get_bnda ( class(mesh_type), intent(in)  mesh,
logical, dimension(mesh%n), intent(in)  gmask,
integer, intent(in)  nbnda,
integer, dimension(2,nbnda), intent(out)  bnda_index 
)
private

Get boundary arcs.

Parameters
[in]gmaskMask
[in]nbndaNumber of boundary nodes
[out]bnda_indexBoundary node index

Definition at line 685 of file type_mesh.F90.

◆ mesh_init()

subroutine type_mesh::mesh_init ( class(mesh_type), intent(inout)  mesh,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
real(kind_real), dimension(mesh%n), intent(in)  lon,
real(kind_real), dimension(mesh%n), intent(in)  lat,
logical, intent(in), optional  hull_bnd 
)
private

Intialization.

Parameters
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]lonLongitudes
[in]latLatitudes
[in]hull_bndFlag to compute hull boundary vertices

Definition at line 150 of file type_mesh.F90.

Variable Documentation

◆ acc_fac

real(kind_real), parameter type_mesh::acc_fac = five

Acceptance factor for mesh neighbors.

Definition at line 50 of file type_mesh.F90.

◆ nnmax

integer, parameter type_mesh::nnmax = 20

Maximum number of nearest neighbors in the triangle search.

Definition at line 49 of file type_mesh.F90.

◆ pfactor

real(kind_real), parameter type_mesh::pfactor = 1.0e-10_kind_real

Perturbation factor.

Definition at line 51 of file type_mesh.F90.