YAC 3.13.0
Yet Another Coupler
Loading...
Searching...
No Matches
test_read_icon_c.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_icon_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]), "icon_grid_0030_R02B03_G.nc");
30
31 if (!yac_file_exists(grid_filename))
32 return EXIT_SKIP_TEST;
33
34 {
36 yac_read_icon_basic_grid_data(grid_filename);
37
38 if (icon_grid.num_cells != 5120)
39 PUT_ERR("wrong number of grid cells");
40
41// #define WRITE_VTK_GRID_FILE
42#ifdef WRITE_VTK_GRID_FILE
43 yac_write_basic_grid_data_to_file(&icon_grid, "icon");
44#endif // WRITE_VTK_GRID_FILE
45
46 yac_basic_grid_data_free(icon_grid);
47 }
48
49 {
50 struct yac_basic_grid * icon_grid =
51 yac_read_icon_basic_grid(grid_filename, "icon_grid");
52 if (yac_basic_grid_get_data_size(icon_grid, YAC_LOC_CELL) != 5120)
53 PUT_ERR("wrong number of grid cells");
54 yac_basic_grid_delete(icon_grid);
55 }
56
57 free(grid_filename);
58
59 return TEST_EXIT_CODE;
60}
61
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_icon_basic_grid(char const *filename, char const *gridname)
struct yac_basic_grid_data yac_read_icon_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