23#define DUMMY_GRID_NAME ("dummy_grid")
27 char * grid_filename =
"test_read_scrip_c_grids.nc";
28 char * mask_filename =
"test_read_scrip_c_masks.nc";
31 360, 10, (
double[]){0.0,360.0}, (
double[]){0.0, 10.0});
33 size_t ref_num_cells = 360 * 10;
34 size_t ref_num_vertices = 360 * 11;
36 int valid_mask_value = 0;
46 size_t * duplicated_cell_idx = NULL;
47 yac_int * orig_cell_global_ids = NULL;
48 size_t nbr_duplicated_cells = 0;
50 size_t cell_coord_idx;
54 grid_filename, mask_filename, gridname, valid_mask_value, gridname,
55 0, &cell_coord_idx, &duplicated_cell_idx, &orig_cell_global_ids,
56 &nbr_duplicated_cells);
58 if (ref_num_vertices !=
60 PUT_ERR(
"error in yac_read_scrip_grid");
63 PUT_ERR(
"error in yac_read_scrip_grid");
65 free(duplicated_cell_idx);
66 free(orig_cell_global_ids);
68 #ifdef WRITE_VTK_GRID_FILE
71 char const * vtk_gridname =
"test_read_scrip_grid_c";
72 char const * vtk_filename =
"test_read_scrip_grid_c.vtk";
77 PUT_ERR(
"ERROR in yac_write_basic_grid_to_file");
89 int * num_vertices_per_cell;
96 size_t * duplicated_cell_idx;
97 size_t * orig_cell_idx;
98 size_t nbr_duplicated_cells;
101 grid_filename, mask_filename, gridname, valid_mask_value,
102 &num_vertices, &
num_cells, &num_vertices_per_cell,
103 &x_vertices, &y_vertices, &x_cells, &y_cells,
105 &duplicated_cell_idx, &orig_cell_idx, &nbr_duplicated_cells);
107 if (ref_num_vertices != num_vertices)
108 PUT_ERR(
"error in yac_read_scrip_grid_information");
110 PUT_ERR(
"error in yac_read_scrip_grid_information");
112 free(num_vertices_per_cell);
119 free(duplicated_cell_idx);
129 grid_filename, mask_filename, gridname, valid_mask_value, gridname,
130 1, NULL, NULL, NULL, NULL);
132#ifdef WRITE_VTK_GRID_FILE
133 char vtk_gridname[64];
135 scrip_grid, strcat(strcpy(vtk_gridname, gridname),
"_ll"));
144 char * grid_filename =
"test_read_scrip_cloud_c_grids.nc";
145 char * mask_filename =
"test_read_scrip_cloud_c_masks.nc";
148 380, 180, (
double[]){0.0,380.0}, (
double[]){-90.0, 90.0});
150 size_t vertex_coord_idx;
151 size_t * duplicated_vertex_idx;
152 yac_int * orig_vertex_global_ids;
153 size_t nbr_duplicated_vertices;
158 &orig_vertex_global_ids, &nbr_duplicated_vertices);
160#ifdef WRITE_VTK_GRID_FILE
171 if (scrip_cloud_grid_data->
num_cells != 0)
172 PUT_ERR(
"wrong number of cells");
174 PUT_ERR(
"wrong global number of vertices");
175 if (nbr_duplicated_vertices != 20 * 180)
176 PUT_ERR(
"wrong global number of duplicated vertices");
177 if (scrip_cloud_grid_data->
num_edges != 0)
178 PUT_ERR(
"wrong number of edges");
186 if (scrip_cloud_grid_data.
num_cells != 0)
187 PUT_ERR(
"wrong number of cells");
189 PUT_ERR(
"wrong global number of vertices");
190 if (scrip_cloud_grid_data.
num_edges != 0)
191 PUT_ERR(
"wrong number of edges");
196 free(duplicated_vertex_idx);
197 free(orig_vertex_global_ids);
201 unlink(grid_filename);
202 unlink(mask_filename);
205 unlink(grid_filename);
206 unlink(mask_filename);
struct yac_basic_grid_data * yac_basic_grid_get_data(struct yac_basic_grid *grid)
char const * yac_basic_grid_get_name(struct yac_basic_grid *grid)
size_t yac_basic_grid_get_data_size(struct yac_basic_grid *grid, enum yac_location location)
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_to_file(struct yac_basic_grid *grid, char const *name)
void write_dummy_scrip_grid_file(char *grid_name, char *grid_filename, char *mask_filename, int with_corners, size_t num_lon, size_t num_lat, double lon_range[2], double lat_range[2])
int yac_file_exists(const char *filename)
void yac_read_scrip_grid_information(char const *grid_filename, char const *mask_filename, char const *grid_name, int valid_mask_value, size_t *num_vertices, size_t *num_cells, int **num_vertices_per_cell, double **x_vertices, double **y_vertices, double **x_cells, double **y_cells, int **cell_to_vertex, int **cell_core_mask, size_t **duplicated_cell_idx, size_t **orig_cell_idx, size_t *nbr_duplicated_cells)
struct yac_basic_grid_data yac_read_scrip_cloud_basic_grid_data(char const *grid_filename, char const *mask_filename, char const *grid_name, int valid_mask_value)
struct yac_basic_grid * yac_read_scrip_cloud_basic_grid(char const *grid_filename, char const *mask_filename, char const *grid_name, int valid_mask_value, char const *name, size_t *vertex_coord_idx, size_t **duplicated_vertex_idx, yac_int **orig_vertex_global_ids, size_t *nbr_duplicated_vertices)
struct yac_basic_grid * yac_read_scrip_basic_grid(char const *grid_filename, char const *mask_filename, char const *grid_name, int valid_mask_value, char const *name, int use_ll_edges, size_t *cell_coord_idx, size_t **duplicated_cell_idx, yac_int **orig_cell_global_ids, size_t *nbr_duplicated_cells)