27 if (nc_inq_varndims(ncid, varid, &ndims) != 0)
30 for (i = 0; i < ndims; ++i)
31 fdimids[ndims - 1 - i] = cdimids[i] + 1;
44 for (i = 0; i < ndims; ++i)
45 cdimids[i] = fdimids[ndims - 1 - i] - 1;
57 if (nc_inq_varndims(ncid, varid, &ndims))
60 for (i = 0; i < ndims; ++i)
61 fchunksizes[ndims - 1 - i] = cchunksizes[i];
73 if (nc_inq_varndims(ncid, varid, &ndims))
76 for (i = 0; i < ndims; ++i)
77 cchunksizes[i] = fchunksizes[ndims - 1 - i];
92 if (nc_inq_varndims(ncid, varid, &ndims) != 0)
95 for (i = 0; i < ndims; ++i)
96 ccoords[i] = fcoords[ndims - 1 - i] - 1;
112 if (nc_inq_varndims(ncid, varid, &ndims) != 0)
115 for (i = 0; i < ndims; ++i)
116 ccounts[i] = fcounts[ndims - 1 - i];
134 if (nc_inq_varndims(ncid, varid, &ndims) != 0)
137 for (i = 0; i < ndims; ++i)
138 cstrides[i] = fstrides[ndims - 1 - i];
162 int i, ret = NC_NOERR;
165 if ((ret = nc_inq_varids(ncid, &nvars1, NULL)))
167 if (!(varids = malloc(nvars1 *
sizeof(
int))))
169 if ((ret = nc_inq_varids(ncid, NULL, varids)))
173 for (i = 0; i < nvars1; i++)
174 fvarids[i] = varids[i] + 1;
191 int i, ret = NC_NOERR;
194 if ((ret = nc_inq_dimids(ncid, &ndims1, NULL, parent)))
196 if (!(dimids = malloc(ndims1 *
sizeof(
int))))
198 if ((ret = nc_inq_dimids(ncid, NULL, dimids, parent)))
202 for (i = 0; i < ndims1; i++)
203 fdimids[i] = dimids[i] + 1;
217 size_t offset, nc_type field_typeid,
218 int ndims,
int *dim_sizesp)
227 if (!(dim_sizes_f = malloc(ndims *
sizeof(
int))))
231 for (i = 0; i < ndims; i++)
232 dim_sizes_f[i] = dim_sizesp[ndims - i - 1];
235 ret = nc_insert_array_compound(ncid,
typeid, name, offset, field_typeid,
245 size_t *offsetp, nc_type *field_typeidp,
int *ndimsp,
252 if ((ret = nc_inq_compound_field(ncid, xtype, fieldid, NULL, NULL,
253 NULL, &ndims, NULL)))
257 if ((ret = nc_inq_compound_field(ncid, xtype, fieldid, name, offsetp,
258 field_typeidp, ndimsp, dim_sizesp)))
265 for (f = dim_sizesp, b = &dim_sizesp[ndims - 1]; f < b; f++, b--)
EXTERNL NF_INTEGER * c2f_chunksizes(int ncid, int varid, const int *cchunksizes, NF_INTEGER *fchunksizes)
EXTERNL int nc_insert_array_compound_f(int ncid, int typeid, char *name, size_t offset, nc_type field_typeid, int ndims, int *dim_sizesp)
EXTERNL int * f2c_dimids(int ndims, const NF_INTEGER *fdimids, int *cdimids)
EXTERNL int nc_inq_compound_field_f(int ncid, nc_type xtype, int fieldid, char *name, size_t *offsetp, nc_type *field_typeidp, int *ndimsp, int *dim_sizesp)
EXTERNL int nc_inq_varids_f(int ncid, int *nvars, int *fvarids)
EXTERNL NF_INTEGER * c2f_dimids(int ncid, int varid, const int *cdimids, NF_INTEGER *fdimids)
EXTERNL size_t * f2c_counts(int ncid, int varid, const NF_INTEGER *fcounts, size_t *ccounts)
EXTERNL int nc_inq_dimids_f(int ncid, int *ndims, int *fdimids, int parent)
EXTERNL size_t * f2c_coords(int ncid, int varid, const NF_INTEGER *fcoords, size_t *ccoords)
EXTERNL ptrdiff_t * f2c_maps(int ncid, int varid, const NF_INTEGER *fmaps, ptrdiff_t *cmaps)
EXTERNL int * f2c_chunksizes(int ncid, int varid, const NF_INTEGER *fchunksizes, int *cchunksizes)
EXTERNL ptrdiff_t * f2c_strides(int ncid, int varid, const NF_INTEGER *fstrides, ptrdiff_t *cstrides)