FV3 Bundle
tools_kdtree2 Module Reference

Data Types

type  interval
 
type  kdtree2
 
type  tree_node
 
type  tree_search_record
 

Functions/Subroutines

type(kdtree2) function, pointer, public kdtree2_create (input_data, sort, rearrange)
 
subroutine build_tree (tp)
 
recursive type(tree_node) function, pointer build_tree_for_range (tp, l, u, parent)
 
integer function select_on_coordinate_value (v, ind, c, alpha, li, ui)
 
subroutine select_on_coordinate (v, ind, c, k, li, ui)
 
subroutine spread_in_coordinate (tp, c, l, u, interv)
 
subroutine, public kdtree2_destroy (tp)
 
subroutine, public kdtree2_n_nearest (tp, qv, nn, results)
 
integer function, public kdtree2_r_count (tp, qv, r2)
 
subroutine validate_query_storage (n)
 
real(kind_real) function square_distance (iv, qv)
 
real(kind_real) function sdistance (iv, qv)
 
recursive subroutine search (node)
 
real(kind_real) function dis2_from_bnd (x, amin, amax)
 
subroutine process_terminal_node (node)
 
subroutine process_terminal_node_fixedball (node)
 
subroutine kdtree2_sort_results (nfound, results)
 
subroutine heapsort_struct (a, n)
 

Variables

integer, parameter bucket_size = 12
 
type(tree_search_record), target, save sr
 

Function/Subroutine Documentation

◆ build_tree()

subroutine tools_kdtree2::build_tree ( type (kdtree2), pointer  tp)
private

Definition at line 190 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_tree_for_range()

recursive type (tree_node) function, pointer tools_kdtree2::build_tree_for_range ( type (kdtree2), pointer  tp,
integer, intent(in)  l,
integer, intent(in)  u,
type (tree_node), pointer  parent 
)
private

Definition at line 205 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dis2_from_bnd()

real(kind_real) function tools_kdtree2::dis2_from_bnd ( real(kind_real), intent(in)  x,
real(kind_real), intent(in)  amin,
real(kind_real), intent(in)  amax 
)
private

Definition at line 728 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ heapsort_struct()

subroutine tools_kdtree2::heapsort_struct ( type(kdtree2_result), dimension(:), intent(inout)  a,
integer, intent(in)  n 
)
private

Definition at line 947 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kdtree2_create()

type (kdtree2) function, pointer, public tools_kdtree2::kdtree2_create ( real(kind_real), dimension(:,:), target  input_data,
logical, intent(in), optional  sort,
logical, intent(in), optional  rearrange 
)

Definition at line 130 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kdtree2_destroy()

subroutine, public tools_kdtree2::kdtree2_destroy ( type (kdtree2), pointer  tp)

Definition at line 473 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kdtree2_n_nearest()

subroutine, public tools_kdtree2::kdtree2_n_nearest ( type (kdtree2), pointer  tp,
real(kind_real), dimension(:), intent(in), target  qv,
integer, intent(in)  nn,
type(kdtree2_result), dimension(:), target  results 
)

Definition at line 518 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kdtree2_r_count()

integer function, public tools_kdtree2::kdtree2_r_count ( type (kdtree2), pointer  tp,
real(kind_real), dimension(:), intent(in), target  qv,
real(kind_real), intent(in)  r2 
)

Definition at line 558 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kdtree2_sort_results()

subroutine tools_kdtree2::kdtree2_sort_results ( integer, intent(in)  nfound,
type(kdtree2_result), dimension(:), target  results 
)
private

Definition at line 931 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_terminal_node()

subroutine tools_kdtree2::process_terminal_node ( type (tree_node), pointer  node)
private

Definition at line 749 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_terminal_node_fixedball()

subroutine tools_kdtree2::process_terminal_node_fixedball ( type (tree_node), pointer  node)
private

Definition at line 847 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sdistance()

real(kind_real) function tools_kdtree2::sdistance ( real(kind_real), dimension(3), intent(in)  iv,
real(kind_real), dimension(3), intent(in)  qv 
)
private

Definition at line 630 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ search()

recursive subroutine tools_kdtree2::search ( type (tree_node), pointer  node)
private

Definition at line 651 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ select_on_coordinate()

subroutine tools_kdtree2::select_on_coordinate ( real(kind_real), dimension(:,:)  v,
integer, dimension(:)  ind,
integer, intent(in)  c,
integer, intent(in)  k,
integer, intent(in)  li,
integer, intent(in)  ui 
)
private

Definition at line 392 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ select_on_coordinate_value()

integer function tools_kdtree2::select_on_coordinate_value ( real(kind_real), dimension(1:,1:)  v,
integer, dimension(1:)  ind,
integer, intent(in)  c,
real(kind_real), intent(in)  alpha,
integer, intent(in)  li,
integer, intent(in)  ui 
)
private

Definition at line 334 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ spread_in_coordinate()

subroutine tools_kdtree2::spread_in_coordinate ( type (kdtree2), pointer  tp,
integer, intent(in)  c,
integer, intent(in)  l,
integer, intent(in)  u,
type(interval), intent(out)  interv 
)
private

Definition at line 425 of file tools_kdtree2.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ square_distance()

real(kind_real) function tools_kdtree2::square_distance ( real(kind_real), dimension(3), intent(in)  iv,
real(kind_real), dimension(3), intent(in)  qv 
)
private

Definition at line 614 of file tools_kdtree2.F90.

Here is the caller graph for this function:

◆ validate_query_storage()

subroutine tools_kdtree2::validate_query_storage ( integer, intent(in)  n)
private

Definition at line 599 of file tools_kdtree2.F90.

Here is the caller graph for this function:

Variable Documentation

◆ bucket_size

integer, parameter tools_kdtree2::bucket_size = 12
private

Definition at line 43 of file tools_kdtree2.F90.

◆ sr

type(tree_search_record), target, save tools_kdtree2::sr
private

Definition at line 125 of file tools_kdtree2.F90.