YetAnotherCoupler 3.5.2
Loading...
Searching...
No Matches
read_mpiom_grid.c File Reference
#include "config.h"
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include "read_mpiom_grid.h"
#include "geometry.h"
#include "utils_common.h"
#include "io_utils.h"
#include <netcdf.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 493 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 394 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 446 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 337 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 498 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 327 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 292 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 43 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 143 of file read_mpiom_grid.c.

Here is the call graph for this function: