YAC 3.21.0
Yet Another Coupler
Loading...
Searching...
No Matches
interp_method_dnn.c File Reference
Include dependency graph for interp_method_dnn.c:

Go to the source code of this file.

Data Structures

struct  interp_method_dnn
 
struct  yac_interp_method_config_dnn
 Concrete implementation of yac_interp_method_config for the DNN method. More...
 

Functions

static size_t do_search_dnn (struct interp_method *method, struct yac_interp_grid *interp_grid, size_t *tgt_points, size_t count, struct yac_interp_weights *weights, int *interpolation_complete)
 
static void delete_dnn (struct interp_method *method)
 
static struct yac_interp_method_dnn_config_search_distance * copy_search_distance_config (struct yac_interp_method_dnn_config_search_distance const *search_distance)
 
static struct yac_interp_method_dnn_config_search_distance get_default_search_distance (void)
 
static void set_dnn_bounding_circles (struct interp_method_dnn *method_dnn, struct yac_interp_grid *interp_grid, size_t *tgt_points, yac_coordinate_pointer tgt_coords, struct bounding_circle *bnd_circles, size_t count)
 
struct interp_method * yac_interp_method_dnn_new (struct yac_interp_method_dnn_config config)
 
static void config_dnn_delete (struct yac_interp_method_config *config)
 
static struct yac_interp_method_config * config_dnn_copy (const struct yac_interp_method_config *config)
 
static int config_dnn_compare (void const *a_, void const *b_)
 
static enum yac_interpolation_list config_dnn_get_type ()
 
static struct interp_method * config_dnn_generate (struct yac_interp_method_config const *config)
 
static struct yac_param * yac_interp_method_dnn_config_search_distance_build_param (struct yac_interp_method_dnn_config_search_distance *search_distance)
 
static int config_dnn_search_distance_factory (char const *name, void **obj, struct yac_param **param, int *is_default)
 
static struct yac_param * config_dnn_get_param (struct yac_interp_method_config const *config)
 
struct yac_interp_method_config * yac_interp_method_config_default_dnn_new (void)
 Creates a distance-nearest-neighbour (DNN) interpolation method configuration with default parameters.
 

Variables

static struct interp_method_vtable interp_method_dnn_vtable
 
static struct yac_interp_method_config_vtable yac_interp_method_config_vtable_dnn
 

Function Documentation

◆ config_dnn_compare()

static int config_dnn_compare ( void const * a_,
void const * b_ )
static

Definition at line 424 of file interp_method_dnn.c.

Here is the call graph for this function:

◆ config_dnn_copy()

static struct yac_interp_method_config * config_dnn_copy ( const struct yac_interp_method_config * config)
static

Definition at line 411 of file interp_method_dnn.c.

Here is the call graph for this function:

◆ config_dnn_delete()

static void config_dnn_delete ( struct yac_interp_method_config * config)
static

Definition at line 403 of file interp_method_dnn.c.

◆ config_dnn_generate()

static struct interp_method * config_dnn_generate ( struct yac_interp_method_config const * config)
static

Definition at line 482 of file interp_method_dnn.c.

Here is the call graph for this function:

◆ config_dnn_get_param()

static struct yac_param * config_dnn_get_param ( struct yac_interp_method_config const * config)
static

Definition at line 612 of file interp_method_dnn.c.

Here is the call graph for this function:

◆ config_dnn_get_type()

static enum yac_interpolation_list config_dnn_get_type ( )
static

Definition at line 478 of file interp_method_dnn.c.

◆ config_dnn_search_distance_factory()

static int config_dnn_search_distance_factory ( char const * name,
void ** obj,
struct yac_param ** param,
int * is_default )
static

Definition at line 544 of file interp_method_dnn.c.

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

◆ copy_search_distance_config()

static struct yac_interp_method_dnn_config_search_distance * copy_search_distance_config ( struct yac_interp_method_dnn_config_search_distance const * search_distance)
static

Definition at line 55 of file interp_method_dnn.c.

Here is the caller graph for this function:

◆ delete_dnn()

static void delete_dnn ( struct interp_method * method)
static

Definition at line 382 of file interp_method_dnn.c.

◆ do_search_dnn()

static size_t do_search_dnn ( struct interp_method * method,
struct yac_interp_grid * interp_grid,
size_t * tgt_points,
size_t count,
struct yac_interp_weights * weights,
int * interpolation_complete )
static

Definition at line 152 of file interp_method_dnn.c.

Here is the call graph for this function:

◆ get_default_search_distance()

static struct yac_interp_method_dnn_config_search_distance get_default_search_distance ( void )
static

Definition at line 67 of file interp_method_dnn.c.

Here is the caller graph for this function:

◆ set_dnn_bounding_circles()

static void set_dnn_bounding_circles ( struct interp_method_dnn * method_dnn,
struct yac_interp_grid * interp_grid,
size_t * tgt_points,
yac_coordinate_pointer tgt_coords,
struct bounding_circle * bnd_circles,
size_t count )
static

Definition at line 81 of file interp_method_dnn.c.

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

◆ yac_interp_method_config_default_dnn_new()

struct yac_interp_method_config * yac_interp_method_config_default_dnn_new ( void )

Creates a distance-nearest-neighbour (DNN) interpolation method configuration with default parameters.

Returns
Pointer to the created yac_interp_method_config structure

Definition at line 715 of file interp_method_dnn.c.

◆ yac_interp_method_dnn_config_search_distance_build_param()

static struct yac_param * yac_interp_method_dnn_config_search_distance_build_param ( struct yac_interp_method_dnn_config_search_distance * search_distance)
static

Definition at line 498 of file interp_method_dnn.c.

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

◆ yac_interp_method_dnn_new()

struct interp_method * yac_interp_method_dnn_new ( struct yac_interp_method_dnn_config config)

Creates a distance-nearest-neighbour (DNN) interpolation method.

DNN interpolates target points using all source points located within a given search distance (bounding circle) around each target point.

The search distance can be either:

  • A fixed value in radians (YAC_INTERP_DNN_SEARCH_DISTANCE_FIXED)
  • Computed from the target cell area (YAC_INTERP_DNN_SEARCH_DISTANCE_CELL_AREA): The polar angle of a spherical cap with the same area as the target cell, multiplied by search_distance_scale.
Parameters
[in]configconfiguration for the interpolation method
Returns
interpolation method
Remarks
Target points for which less than n_min (default: 1) source points are found within the search distance will not be interpolated by this method.
When using YAC_INTERP_DNN_SEARCH_DISTANCE_CELL_AREA, the target field location must be YAC_LOC_CELL.

Definition at line 309 of file interp_method_dnn.c.

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

Variable Documentation

◆ interp_method_dnn_vtable

struct interp_method_vtable interp_method_dnn_vtable
static
Initial value:
= {
.do_search = do_search_dnn,
.delete = delete_dnn}
static void delete_dnn(struct interp_method *method)
static size_t do_search_dnn(struct interp_method *method, struct yac_interp_grid *interp_grid, size_t *tgt_points, size_t count, struct yac_interp_weights *weights, int *interpolation_complete)

Definition at line 37 of file interp_method_dnn.c.

◆ yac_interp_method_config_vtable_dnn

struct yac_interp_method_config_vtable yac_interp_method_config_vtable_dnn
static
Initial value:
= {
.delete = config_dnn_delete,
.copy = config_dnn_copy,
.compare = config_dnn_compare,
.get_type = config_dnn_get_type,
.generate = config_dnn_generate,
.get_param = config_dnn_get_param
}
static struct yac_param * config_dnn_get_param(struct yac_interp_method_config const *config)
static void config_dnn_delete(struct yac_interp_method_config *config)
static int config_dnn_compare(void const *a_, void const *b_)
static struct yac_interp_method_config * config_dnn_copy(const struct yac_interp_method_config *config)
static struct interp_method * config_dnn_generate(struct yac_interp_method_config const *config)
static enum yac_interpolation_list config_dnn_get_type()

Definition at line 706 of file interp_method_dnn.c.