YetAnotherCoupler 3.2.0_a
Loading...
Searching...
No Matches
Data Structures | Functions
read_mpiom_grid.c File Reference
#include "config.h"
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <netcdf.h>
#include "read_mpiom_grid.h"
#include "geometry.h"
#include "utils_common.h"
#include "io_utils.h"
Include dependency graph for read_mpiom_grid.c:

Go to the source code of this file.

Data Structures

struct  point_with_index
 

Functions

static void get_mpiom_vertices (int ncid, double **vertex_lon, double **vertex_lat, size_t *nbr_vertices)
 
static void get_mpiom_cell_center (int ncid, double **cell_lon, double **cell_lat, size_t *nbr_cells)
 
static void get_mpiom_cell_mask (int ncid, int **cell_mask, size_t *nbr_cells)
 
static void remove_duplicated_coords (double *temp_coords_lon, double *temp_coords_lat, int *temp_coords_mask, size_t *temp_nbr_coords, int *old_to_new_id)
 
void yac_read_mpiom_grid_information (const char *filename, int *nbr_vertices, int *nbr_cells, int **num_vertices_per_cell, int **cell_to_vertex, double **x_vertices, double **y_vertices, double **x_cells, double **y_cells, int **cell_mask)
 
void yac_read_part_mpiom_grid_information (const char *filename, int *num_vertices, int *num_cells, int **num_vertices_per_cell, int **cell_to_vertex, double **x_vertices, double **y_vertices, double **x_cells, double **y_cells, int **global_cell_id, int **cell_mask, int **cell_core_mask, int **global_corner_id, int **corner_core_mask, int rank, int size)
 
struct yac_basic_grid_data yac_read_mpiom_basic_grid_data (char const *filename)
 
struct yac_basic_gridyac_read_mpiom_basic_grid (char const *filename, char const *gridname)
 
static int compare_point_with_index (const void *a, const void *b)
 

Function Documentation

◆ compare_point_with_index()

static int compare_point_with_index ( const void *  a,
const void *  b 
)
inlinestatic

Definition at line 512 of file read_mpiom_grid.c.

Here is the caller graph for this function:

◆ get_mpiom_cell_center()

static void get_mpiom_cell_center ( int  ncid,
double **  cell_lon,
double **  cell_lat,
size_t *  nbr_cells 
)
static

Definition at line 412 of file read_mpiom_grid.c.

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

◆ get_mpiom_cell_mask()

static void get_mpiom_cell_mask ( int  ncid,
int **  cell_mask,
size_t *  nbr_cells 
)
static

Definition at line 464 of file read_mpiom_grid.c.

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

◆ get_mpiom_vertices()

static void get_mpiom_vertices ( int  ncid,
double **  vertex_lon,
double **  vertex_lat,
size_t *  nbr_vertices 
)
static

Definition at line 355 of file read_mpiom_grid.c.

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

◆ remove_duplicated_coords()

static void remove_duplicated_coords ( double *  temp_coords_lon,
double *  temp_coords_lat,
int *  temp_coords_mask,
size_t *  temp_nbr_coords,
int *  old_to_new_id 
)
static

Definition at line 517 of file read_mpiom_grid.c.

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

◆ yac_read_mpiom_basic_grid()

struct yac_basic_grid * yac_read_mpiom_basic_grid ( char const *  filename,
char const *  gridname 
)

reads in an mpiom grid netcdf file and generates a struct yac_basic_grid_data from it

Parameters
[in]filenamename of the mpiom grid netcdf file
[in]gridnamename of the grid
Returns
yac_basic_grid structure that contains the mpiom grid

Definition at line 344 of file read_mpiom_grid.c.

Here is the call graph for this function:

◆ yac_read_mpiom_basic_grid_data()

struct yac_basic_grid_data yac_read_mpiom_basic_grid_data ( char const *  filename)

reads in an mpiom grid netcdf file and generates a struct yac_basic_grid_data from it

Parameters
[in]filenamename of the mpiom grid netcdf file
Returns
yac_basic_grid_data structure that contains the mpiom grid
Examples
test_read_mpiom.c.

Definition at line 309 of file read_mpiom_grid.c.

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

◆ yac_read_mpiom_grid_information()

void yac_read_mpiom_grid_information ( const char *  filename,
int *  num_vertices,
int *  num_cells,
int **  num_vertices_per_cell,
int **  cell_to_vertex,
double **  x_vertices,
double **  y_vertices,
double **  x_cells,
double **  y_cells,
int **  cellmask 
)

reads in an mpiom grid netcdf file and return the grid information in a format that is supported by the YAC user interface.

Parameters
[in]filenamename of the mpiom grid netcdf file
[out]num_verticesnumber of vertices in the grid
[out]num_cellsnumber of cells in the grid
[out]num_vertices_per_cellnumber of vertices per cell
[out]cell_to_vertexvertex indices for each cell
[out]x_verticeslongitudes of vertices
[out]y_verticeslatitudes of vertices
[out]x_cellslongitudes of cell center
[out]y_cellslatitudes of cell center
[out]cellmaskmask value for cells

Definition at line 42 of file read_mpiom_grid.c.

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

◆ yac_read_part_mpiom_grid_information()

void yac_read_part_mpiom_grid_information ( const char *  filename,
int *  num_vertices,
int *  num_cells,
int **  num_vertices_per_cell,
int **  cell_to_vertex,
double **  x_vertices,
double **  y_vertices,
double **  x_cells,
double **  y_cells,
int **  global_cell_id,
int **  cell_mask,
int **  cell_core_mask,
int **  global_corner_id,
int **  corner_core_mask,
int  rank,
int  size 
)

reads in an partition mpiom grid netcdf file and return the grid information in a format that is supported by the YAC user interface.

Parameters
[in]filenamename of the mpiom grid netcdf file
[out]num_verticesnumber of vertices in the grid
[out]num_cellsnumber of cells in the grid
[out]num_vertices_per_cellnumber of vertices per cell
[out]cell_to_vertexvertex indices for each cell
[out]x_verticeslongitudes of vertices
[out]y_verticeslatitudes of vertices
[out]x_cellslongitudes of cell center
[out]y_cellslatitudes of cell center
[out]global_cell_idglobal cell IDs
[out]cell_maskmask value for cells
[out]cell_core_maskcell core mask
[out]global_corner_idglobal corner IDs
[out]corner_core_maskcorner core mask
[out]ranklocal MPI rank
[out]sizenumber of MPI ranks
Examples
test_dummy_coupling3_c.c.

Definition at line 160 of file read_mpiom_grid.c.

Here is the call graph for this function: