22static void utest_write_dummy_grid_file(
char *
name);
27 utest_write_dummy_grid_file(
"fesom_grid.nc");
32 utest_check_grid(fesom_grid);
35#ifdef WRITE_VTK_GRID_FILE
49 unlink(
"fesom_grid.nc");
54static void utest_write_dummy_grid_file(
char *
file_name) {
69 dim_ids[0] = dim_ncells_id;
70 dim_ids[1] = dim_nv_id;
72 int var_lon_id, var_lon_v_id, var_lat_id, var_lat_v_id;
76 nc_def_var(ncid,
"lon", NC_DOUBLE, 1, &dim_ncells_id, &var_lon_id));
78 nc_def_var(ncid,
"lon_vertices", NC_DOUBLE, 2, dim_ids, &var_lon_v_id));
80 nc_def_var(ncid,
"lat", NC_DOUBLE, 1, &dim_ncells_id, &var_lat_id));
82 nc_def_var(ncid,
"lat_vertices", NC_DOUBLE, 2, dim_ids, &var_lat_v_id));
89 double lon[8] = {1,2,3,4,3,3,5.5,5.5};
90 double lon_vertices[8*9] = {0,1,2,2,1,0,0,0,0,
98 double lat[8] = {1.5,0.5,0.5,0.5,1.5,3,1.5,0.5};
99 double lat_vertices[8*9] = {1,0,1,2,3,2,2,2,2,
118 size_t ref_num_cells = 8;
120 if (
grid.num_cells != ref_num_cells)
121 PUT_ERR(
"wrong number of grid cells");
123 int ref_num_corners_per_cell[8] = {6,3,3,3,4,6,6,3};
125 for (
size_t i = 0;
i < ref_num_cells; ++
i)
126 if (
grid.num_vertices_per_cell[i] != ref_num_corners_per_cell[i])
127 PUT_ERR(
"wrong number of corners per cell");
struct yac_basic_grid_data * yac_basic_grid_get_data(struct yac_basic_grid *grid)
void yac_basic_grid_delete(struct yac_basic_grid *grid)
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)
void yac_nc_create(const char *path, int cmode, int *ncidp)
struct yac_basic_grid * yac_read_fesom_basic_grid(char const *filename, char const *gridname)
struct yac_basic_grid_data yac_read_fesom_basic_grid_data(char const *filename)
#define YAC_HANDLE_ERROR(exp)