YAC 3.13.0
Yet Another Coupler
Loading...
Searching...
No Matches
test_read_mpiom.c
Go to the documentation of this file.
1// Copyright (c) 2024 The YAC Authors
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#include <stdlib.h>
6#include <string.h>
7
8#include "tests.h"
9#include "test_common.h"
10#include "read_mpiom_grid.h"
11#include "grid2vtk.h"
12#include "io_utils.h"
13
19int main(int argc, char** argv) {
20
21 if (argc != 2) {
22 PUT_ERR("ERROR: missing grid file directory");
23 return TEST_EXIT_CODE;
24 }
25
26 char * grid_filename =
27 strcat(
28 strcpy(
29 malloc(strlen(argv[1]) + 32), argv[1]), "GR30_lsm.nc");
30
31 if (!yac_file_exists(grid_filename)) return EXIT_SKIP_TEST;
32
33 {
34 struct yac_basic_grid_data mpiom_grid =
35 yac_read_mpiom_basic_grid_data(grid_filename);
36
37 if (mpiom_grid.num_cells != 12120)
38 PUT_ERR("wrong number of grid cells");
39
40// #define WRITE_VTK_GRID_FILE
41#ifdef WRITE_VTK_GRID_FILE
42 yac_write_basic_grid_data_to_file(&mpiom_grid, "mpiom");
43#endif // WRITE_VTK_GRID_FILE
44
45 yac_basic_grid_data_free(mpiom_grid);
46 }
47
48 {
49 struct yac_basic_grid * mpiom_grid =
50 yac_read_mpiom_basic_grid(grid_filename, "mpiom");
51
52
53 if (yac_basic_grid_get_data_size(mpiom_grid, YAC_LOC_CELL) != 12120)
54 PUT_ERR("wrong number of grid cells");
55
56 yac_basic_grid_delete(mpiom_grid);
57 }
58
59 free(grid_filename);
60
61 return TEST_EXIT_CODE;
62}
63
size_t yac_basic_grid_get_data_size(struct yac_basic_grid *grid, enum yac_location location)
Definition basic_grid.c:150
void yac_basic_grid_delete(struct yac_basic_grid *grid)
Definition basic_grid.c:73
void yac_basic_grid_data_free(struct yac_basic_grid_data grid)
void yac_write_basic_grid_data_to_file(struct yac_basic_grid_data *grid, char const *name)
Definition grid2vtk.c:54
int yac_file_exists(const char *filename)
Definition utils_core.c:12
@ YAC_LOC_CELL
Definition location.h:14
struct yac_basic_grid * yac_read_mpiom_basic_grid(char const *filename, char const *gridname)
struct yac_basic_grid_data yac_read_mpiom_basic_grid_data(char const *filename)
#define TEST_EXIT_CODE
Definition tests.h:14
#define PUT_ERR(string)
Definition tests.h:10
#define EXIT_SKIP_TEST
Definition tests.h:15