1/* This is part of the netCDF package. Copyright 2010 University
2   Corporation for Atmospheric Research/Unidata.  See COPYRIGHT file for
3   conditions of use. See www.unidata.ucar.edu for more info.
4
5   Create a chunkable test file for nccopy to test chunking.
6
7   $Id$
8*/
9
10#include <netcdf.h>
11#include <nc_tests.h>
12#include "err_macros.h"
13
14#define FILE_NAME "tst_chunking.nc"
15#define VAR_RANK 7
16#define IVAR_NAME "ivar"
17#define FVAR_NAME "fvar"
18#define NVALS 45360 /* 7 * 4 * 2 * 3 * 5 * 6 * 9 */
19
20int
21main(int argc, char **argv) {
22    int ncid;
23    int ivaridfvarid;
24    char *dim_names[VAR_RANK] = {"dim0", "dim1", "dim2", "dim3", "dim4", "dim5", "dim6"};
25    size_t dim_lens[VAR_RANK] = {7, 4, 2, 3, 5, 6, 9};
26    int ivar_dims[VAR_RANK];
27    int fvar_dims[VAR_RANK];
28    int ivar_data[NVALS];
29    float fvar_data[NVALS];
30    int ri;
31
32    printf("*** Creating chunkable test file %s...", FILE_NAME);
33
34    if (nc_create(FILE_NAMENC_CLOBBER, &ncid)) ERR;
35    for(r = 0; r < VAR_RANKr++) {
36 if (nc_def_dim(nciddim_names[r], dim_lens[r], &ivar_dims[r])) ERR;
37 fvar_dims[VAR_RANK - 1 - r] = ivar_dims[r];
38   }
39    if (nc_def_var(ncidIVAR_NAMENC_INTVAR_RANKivar_dims, &ivarid)) ERR;
40    if (nc_def_var(ncidFVAR_NAMENC_FLOATVAR_RANKfvar_dims, &fvarid)) ERR;
41    if (nc_enddef (ncid)) ERR;
42    for(i=0; i < NVALSi++) {
43 ivar_data[i] = i;
44 fvar_data[i] = NVALS - i;
45    }
46    if (nc_put_var(ncidivaridivar_data)) ERR;
47    if (nc_put_var(ncidfvaridfvar_data)) ERR;
48    if (nc_close(ncid)) ERR;
49    SUMMARIZE_ERR;
50    FINAL_RESULTS;
51}


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed