diff --git a/libnczarr/zarr.c b/libnczarr/zarr.c index 125f4f9e8e..dff32273d5 100644 --- a/libnczarr/zarr.c +++ b/libnczarr/zarr.c @@ -55,7 +55,6 @@ ncz_create_dataset(NC_FILE_INFO_T* file, NC_GRP_INFO_T* root, NClist* urlcontrol zfile->native_endianness = (NCZ_isLittleEndian() ? NC_ENDIAN_LITTLE : NC_ENDIAN_BIG); if((zfile->urlcontrols=nclistclone(urlcontrols,1)) == NULL) {stat = NC_ENOMEM; goto done;} - zsetdfaltstrlen(NCZ_MAXSTR_DFALT,file); /* Apply client controls */ if((stat = applycontrols(zfile))) goto done; @@ -129,7 +128,6 @@ ncz_open_dataset(NC_FILE_INFO_T* file, NClist* urlcontrols) zfile->native_endianness = (NCZ_isLittleEndian() ? NC_ENDIAN_LITTLE : NC_ENDIAN_BIG); if((zfile->urlcontrols = nclistclone(urlcontrols,1))==NULL) /*0=>envv style*/ {stat = NC_ENOMEM; goto done;} - zsetdfaltstrlen(NCZ_MAXSTR_DFALT,file); /* Add struct to hold NCZ-specific group info. */ if (!(root->format_grp_info = calloc(1, sizeof(NCZ_GRP_INFO_T)))) diff --git a/libnczarr/zattr.c b/libnczarr/zattr.c index d038b7ed07..3746a31923 100644 --- a/libnczarr/zattr.c +++ b/libnczarr/zattr.c @@ -894,30 +894,30 @@ NCZ_set_dual_obj_data(NC_FILE_INFO_T* file, NC_OBJ* object, const char* name, Du if(object->sort == NCGRP) { switch(which) { case DA_DFALTSTRLEN: - assert(len == 1); + assert(len == 1); zsetdfaltstrlen((size_t)((int*)data)[0],file); break; - default: stat = NC_EINVAL; break; - } + default: stat = NC_EINVAL; break; + } } else { - NC_VAR_INFO_T* var = NULL; - nc_type tid; + NC_VAR_INFO_T* var = NULL; + nc_type tid; assert(object->sort == NCVAR); - var = (NC_VAR_INFO_T*)object; - tid = var->type_info->hdr.id; + var = (NC_VAR_INFO_T*)object; + tid = var->type_info->hdr.id; switch(which) { case DA_FILLVALUE: - assert(len == 1); + assert(len == 1); if((stat = NC_reclaim_data_all(file->controller,tid,var->fill_value,len))) goto done; var->fill_value = NULL; if((stat = NC_copy_data_all(file->controller,tid,data,len,&var->fill_value))) goto done; break; case DA_MAXSTRLEN: - assert(len == 1); + assert(len == 1); zsetmaxstrlen((size_t)((int*)data)[0],var); break; case DA_QUANTIZE: - assert(len == 1); + assert(len == 1); var->nsd = ((int*)data)[0]; break; default: assert(0); @@ -1124,9 +1124,12 @@ NCZ_sync_dual_att(NC_FILE_INFO_T* file, NC_OBJ* container, const char* aname, Du NC_VAR_INFO_T* var = NULL; NC_ATT_INFO_T* att = NULL; int isnew = 0; + NCZ_FILE_INFO_T* zinfo = (NCZ_FILE_INFO_T*)file->format_file_info; + NCZ_VAR_INFO_T* zvar = NULL; if(container->sort == NCVAR) { var = (NC_VAR_INFO_T*)container; + zvar = (NCZ_VAR_INFO_T*)var->format_var_info; } if(direction == FIXATT) { /* transfer from NC_XXX_INFO_T* to attribute */ @@ -1146,24 +1149,22 @@ NCZ_sync_dual_att(NC_FILE_INFO_T* file, NC_OBJ* container, const char* aname, Du if((stat = NCZ_set_att_data(file,att,1,var->fill_value))) goto done; } break; - case DA_MAXSTRLEN: { - int maxstrlen; - if((stat = NCZ_getattr(file,container,aname,NC_INT,&att,&isnew))) goto done; - maxstrlen = NCZ_get_maxstrlen((NC_OBJ*)var); - if((stat = NCZ_set_att_data(file,att,1,&maxstrlen))) goto done; + case DA_MAXSTRLEN: + assert(zvar != NULL); + if(zvar->maxstrlen > 0) { + if((stat = NCZ_getattr(file,container,aname,NC_INT,&att,&isnew))) goto done; + if((stat = NCZ_set_att_data(file,att,1,&zvar->maxstrlen))) goto done; } break; - case DA_DFALTSTRLEN: { - int dfaltstrlen; - if((stat = NCZ_getattr(file,container,aname,NC_INT,&att,&isnew))) goto done; - NCZ_FILE_INFO_T* zinfo = (NCZ_FILE_INFO_T*)file->format_file_info; - dfaltstrlen = zinfo->default_maxstrlen; - if((stat = NCZ_set_att_data(file,att,1,&dfaltstrlen))) goto done; + case DA_DFALTSTRLEN: + assert(zinfo != NULL); + if(zinfo->default_maxstrlen > 0) { + if((stat = NCZ_getattr(file,container,aname,NC_INT,&att,&isnew))) goto done; + if((stat = NCZ_set_att_data(file,att,1,&zinfo->default_maxstrlen))) goto done; } break; - case DA_QUANTIZE: { - int nsd; - if((stat = NCZ_getattr(file,container,aname,NC_INT,&att,&isnew))) goto done; - nsd = var->nsd; - if((stat = NCZ_set_att_data(file,att,1,&nsd))) goto done; + case DA_QUANTIZE: + if(var->quantize_mode > 0) { + if((stat = NCZ_getattr(file,container,aname,NC_INT,&att,&isnew))) goto done; + if((stat = NCZ_set_att_data(file,att,1,&var->nsd))) goto done; } break; default: stat = NC_ENOTATT; @@ -1212,12 +1213,9 @@ int NCZ_ensure_dual_attributes(NC_FILE_INFO_T* file, NC_OBJ* container) { int stat = NC_NOERR; - NC_GRP_INFO_T* grp = NULL; NC_VAR_INFO_T* var = NULL; - if(container->sort == NCGRP) - grp = (NC_GRP_INFO_T*)container; - else + if(container->sort == NCVAR) var = (NC_VAR_INFO_T*)container; /* Some attributes are reflected in var|grp structure so must be sync'd to the attribute */ @@ -1230,21 +1228,32 @@ NCZ_ensure_dual_attributes(NC_FILE_INFO_T* file, NC_OBJ* container) if(var->no_fill == NC_NOFILL) { if((stat = NCZ_disable_fill(file,var))) goto done; } else { /* var->no_fill == NC_FILL*/ - if((stat = NCZ_sync_dual_att(file,(NC_OBJ*)var,NC_FillValue,DA_FILLVALUE,FIXATT))) goto done; + if(var->fill_value != NULL) { /* only update if a fill value is defined */ + if((stat = NCZ_sync_dual_att(file,(NC_OBJ*)var,NC_FillValue,DA_FILLVALUE,FIXATT))) goto done; + } } /* _nczarr_maxstrlen */ - if((stat = NCZ_sync_dual_att(file,(NC_OBJ*)var,NC_NCZARR_MAXSTRLEN_ATTR,DA_MAXSTRLEN,FIXATT))) goto done; - + { + NCZ_VAR_INFO_T* vinfo = (NCZ_VAR_INFO_T*)var->format_var_info; + if(vinfo->maxstrlen > 0) { + if((stat = NCZ_sync_dual_att(file,(NC_OBJ*)var,NC_NCZARR_MAXSTRLEN_ATTR,DA_MAXSTRLEN,FIXATT))) goto done; + } + } + /* __Quantizexxx */ - qname = NC_findquantizeattname(var->quantize_mode); - if(qname == NULL) {stat = NC_ENOTATT; goto done;} - if((stat = NCZ_sync_dual_att(file,(NC_OBJ*)var,qname,DA_QUANTIZE,FIXATT))) goto done; - + if(var->quantize_mode > 0) { + qname = NC_findquantizeattname(var->quantize_mode); + if(qname != NULL) {/* quantize_mode was set */ + if((stat = NCZ_sync_dual_att(file,(NC_OBJ*)var,qname,DA_QUANTIZE,FIXATT))) goto done; + } + } } else { - assert(grp != NULL); - /* _nczarr_default_maxstrlen */ - if((stat = NCZ_sync_dual_att(file,(NC_OBJ*)var,NC_NCZARR_DFALT_MAXSTRLEN_ATTR,DA_DFALTSTRLEN,FIXATT))) goto done; + NCZ_FILE_INFO_T* zinfo = (NCZ_FILE_INFO_T*)file->format_file_info; + assert(file != NULL); + if(zinfo->default_maxstrlen > 0) { + if((stat = NCZ_sync_dual_att(file,(NC_OBJ*)file->root_grp,NC_NCZARR_DFALT_MAXSTRLEN_ATTR,DA_DFALTSTRLEN,FIXATT))) goto done; + } } done: diff --git a/libnczarr/zincludes.h b/libnczarr/zincludes.h index 8f3ab213b4..dd95955b8a 100644 --- a/libnczarr/zincludes.h +++ b/libnczarr/zincludes.h @@ -64,6 +64,7 @@ extern "C" { } #endif +#define ncz_find_default_chunksizes2 nc4_find_default_chunksizes2 #endif /* ZINCLUDES_H */ diff --git a/libnczarr/zinternal.h b/libnczarr/zinternal.h index fc5b910085..1489a65130 100644 --- a/libnczarr/zinternal.h +++ b/libnczarr/zinternal.h @@ -419,7 +419,6 @@ int ncz_gettype(NC_FILE_INFO_T*, NC_GRP_INFO_T*, int xtype, NC_TYPE_INFO_T** typ int ncz_find_default_chunksizes2(NC_GRP_INFO_T *grp, NC_VAR_INFO_T *var); int NCZ_ensure_quantizer(int ncid, NC_VAR_INFO_T* var); int NCZ_write_var_data(NC_FILE_INFO_T* file, NC_VAR_INFO_T* var); -int NCZ_fillin_var(NC_FILE_INFO_T* h5, NC_VAR_INFO_T* var, NC_TYPE_INFO_T* type, size_t ndims, const int* dimids, size64_t* shape, size64_t* chunksizes, int endianness); int NCZ_reclaim_dim(NC_DIM_INFO_T* dim); void zsetmaxstrlen(size_t maxstrlen, NC_VAR_INFO_T* var); void zsetdfaltstrlen(size_t maxstrlen, NC_FILE_INFO_T* file); diff --git a/libnczarr/znc4.c b/libnczarr/znc4.c index 7be0365960..55815a6ef0 100644 --- a/libnczarr/znc4.c +++ b/libnczarr/znc4.c @@ -65,66 +65,6 @@ ncz4_create_var(NC_FILE_INFO_T* file, NC_GRP_INFO_T* parent, const char* name, N return THROW(stat); } -#if 0 -int -ncz4_build_var(NC_FILE_INFO_T* file, NC_VAR_INFO_T* var, - nc_type nctype, - int storage, - int scalar, - int endianness, - size_t maxstrlen, - int dimsep, - char order, - size_t ndims, - size64_t* shape, - size64_t* chunksizes, - int* dimids, - NClist* filters, - int no_fill, - const void* fillvalue) -{ - int stat = NC_NOERR; - NCZ_VAR_INFO_T* zvar = NULL; - NC_TYPE_INFO_T* typ = NULL; - char* dimbasename = NULL; - - NC_UNUSED(order); - - if(nctype <= NC_NAT || nctype > NC_MAX_ATOMIC_TYPE) {stat = NC_EBADTYPE; goto done;} - /* Locate the NC_TYPE_INFO_T object */ - if((stat = ncz_gettype(file,var->container,nctype,&typ))) goto done; - - if((stat = NCZ_fillin_var(file, var, typ, ndims, dimids, shape, chunksizes, endianness))) goto done; - zvar = (NCZ_VAR_INFO_T*)var->format_var_info; - - /* Overrides */ - zvar->dimension_separator = (char)dimsep; - zsetmaxstrlen(maxstrlen,var); - - /* Set fill value */ - if((stat=NCZ_set_fill_value(file,var,no_fill,fillvalue))) goto done; - -#ifdef NETCDF_ENABLE_NCZARR_FILTERS - /* Set the filter list */ - { - size_t k, nfilters; - NClist* varfilters = (NClist*)var->filters; - nfilters = nclistlength(filters); - for(k=0;kformat_file_info; TESTPUREZARR; + /* Create|Update the dual attributes */ + if((stat = NCZ_ensure_dual_attributes(file,(NC_OBJ*)grp))) goto done; + if(!purezarr) { if(grp->parent == NULL) { /* Root group */ if((stat=NCZF_encode_superblock(file,grp,&jsuper))) goto done; @@ -193,12 +196,11 @@ ncz_encode_var_meta(NC_FILE_INFO_T* file, NC_VAR_INFO_T* var, int isclose) if((stat = ncz_create_computed_var_attributes(file,var))) goto done; /* Create|Update the dual attributes */ - if((stat = NCZ_ensure_dual_attributes(file,(NC_OBJ*)var))) + if((stat = NCZ_ensure_dual_attributes(file,(NC_OBJ*)var))) goto done; /* Convert to JSON */ if((stat=NCZF_encode_attributes(file,(NC_OBJ*)var,&jnczvar,NULL,&zobj.jatts))) goto done; - #ifdef NETCDF_ENABLE_NCZARR_FILTERS /* Encode the filters */ if((stat=ncz_encode_filters(file,var,filtersj))) goto done; diff --git a/libnczarr/zvar.c b/libnczarr/zvar.c index 9b86228eae..2b89229b8b 100644 --- a/libnczarr/zvar.c +++ b/libnczarr/zvar.c @@ -18,6 +18,10 @@ #define NOCREATE 1 +/* Forward */ +static int NCZ_fillin_var(NC_FILE_INFO_T* file, NC_VAR_INFO_T* var, NC_TYPE_INFO_T* type, + size_t ndims, const int* dimids, int endianness); + #ifdef LOGGING static void reportchunking(const char* title, NC_VAR_INFO_T* var) @@ -90,135 +94,6 @@ check_chunksizes(NC_GRP_INFO_T *grp, NC_VAR_INFO_T *var, const size_t *chunksize return retval; } -/** - * @internal Determine some default chunksizes for a variable. - * - * @param grp Pointer to the group info. - * @param var Pointer to the var info. - * - * @returns ::NC_NOERR for success - * @returns ::NC_EBADID Bad ncid. - * @returns ::NC_ENOTVAR Invalid variable ID. - * @author Dennis Heimbigner, Ed Hartnett - */ -int -ncz_find_default_chunksizes2(NC_GRP_INFO_T *grp, NC_VAR_INFO_T *var) -{ - size_t d; - size_t type_size; - size_t num_values = 1; - size_t num_unlim = 0; - int retval; - size_t suggested_size; -#ifdef LOGGING - double total_chunk_size; -#endif - - type_size = var->type_info->size; - -#ifdef LOGGING - /* Later this will become the total number of bytes in the default - * chunk. */ - total_chunk_size = (double) type_size; -#endif - - if(var->chunksizes == NULL) { - if((var->chunksizes = calloc(1,sizeof(size_t)*var->ndims)) == NULL) - return NC_ENOMEM; - } - - /* How many values in the variable (or one record, if there are - * unlimited dimensions). */ - for (d = 0; d < var->ndims; d++) - { - assert(var->dim[d]); - if (! var->dim[d]->unlimited) - num_values *= var->dim[d]->len; - else { - num_unlim++; - var->chunksizes[d] = 1; /* overwritten below, if all dims are unlimited */ - } - } - /* Special case to avoid 1D vars with unlim dim taking huge amount - of space (DEFAULT_CHUNK_SIZE bytes). Instead we limit to about - 4KB */ - if (var->ndims == 1 && num_unlim == 1) { - if (DEFAULT_CHUNK_SIZE / type_size <= 0) - suggested_size = 1; - else if (DEFAULT_CHUNK_SIZE / type_size > DEFAULT_1D_UNLIM_SIZE) - suggested_size = DEFAULT_1D_UNLIM_SIZE; - else - suggested_size = DEFAULT_CHUNK_SIZE / type_size; - var->chunksizes[0] = suggested_size / type_size; - LOG((4, "%s: name %s dim %d DEFAULT_CHUNK_SIZE %d num_values %f type_size %d " - "chunksize %ld", __func__, var->hdr.name, d, DEFAULT_CHUNK_SIZE, num_values, type_size, var->chunksizes[0])); - } - if (var->ndims > 1 && var->ndims == num_unlim) { /* all dims unlimited */ - suggested_size = (size_t)pow((double)(DEFAULT_CHUNK_SIZE/type_size), 1.0/(double)(var->ndims)); - for (d = 0; d < var->ndims; d++) - { - var->chunksizes[d] = suggested_size ? suggested_size : 1; - LOG((4, "%s: name %s dim %d DEFAULT_CHUNK_SIZE %d num_values %f type_size %d " - "chunksize %ld", __func__, var->hdr.name, d, DEFAULT_CHUNK_SIZE, num_values, type_size, var->chunksizes[d])); - } - } - - /* Pick a chunk length for each dimension, if one has not already - * been picked above. */ - for (d = 0; d < var->ndims; d++) - if (!var->chunksizes[d]) - { - suggested_size = (size_t)(pow((double)DEFAULT_CHUNK_SIZE/((double)(num_values * type_size)), - 1.0/(double)(var->ndims - num_unlim)) * (double)var->dim[d]->len - .5); - if (suggested_size > var->dim[d]->len) - suggested_size = var->dim[d]->len; - var->chunksizes[d] = suggested_size ? suggested_size : 1; - LOG((4, "%s: name %s dim %d DEFAULT_CHUNK_SIZE %d num_values %f type_size %d " - "chunksize %ld", __func__, var->hdr.name, d, DEFAULT_CHUNK_SIZE, num_values, type_size, var->chunksizes[d])); - } - -#ifdef LOGGING - /* Find total chunk size. */ - for (d = 0; d < var->ndims; d++) - total_chunk_size *= (double) var->chunksizes[d]; - LOG((4, "total_chunk_size %f", total_chunk_size)); -#endif - - /* But did this result in a chunk that is too big? */ - retval = check_chunksizes(grp, var, var->chunksizes); - if (retval) - { - /* Other error? */ - if (retval != NC_EBADCHUNK) - return THROW(retval); - - /* Chunk is too big! Reduce each dimension by half and try again. */ - for ( ; retval == NC_EBADCHUNK; retval = check_chunksizes(grp, var, var->chunksizes)) - for (d = 0; d < var->ndims; d++) - var->chunksizes[d] = var->chunksizes[d]/2 ? var->chunksizes[d]/2 : 1; - } - - /* Do we have any big data overhangs? They can be dangerous to - * babies, the elderly, or confused campers who have had too much - * beer. */ - for (d = 0; d < var->ndims; d++) - { - size_t num_chunks; - size_t overhang; - assert(var->chunksizes[d] > 0); - num_chunks = (var->dim[d]->len + var->chunksizes[d] - 1) / var->chunksizes[d]; - if(num_chunks > 0) { - overhang = (num_chunks * var->chunksizes[d]) - var->dim[d]->len; - var->chunksizes[d] -= overhang / num_chunks; - } - } - -#ifdef LOGGING -reportchunking("find_default: ",var); -#endif - return NC_NOERR; -} - /** * @internal This is called when a new netCDF-4 variable is defined * with nc_def_var(). @@ -342,7 +217,7 @@ NCZ_def_var(int ncid, const char *name, nc_type xtype, int ndims, BAIL(retval); /* Set values for the remaining NC_VAR_INFO_T fields */ - retval = NCZ_fillin_var(h5, var, type, (size_t)ndims, dimids, NULL, NULL, NC_ENDIAN_NATIVE); + retval = NCZ_fillin_var(h5, var, type, (size_t)ndims, dimids, NC_ENDIAN_NATIVE); if(retval == NC_NOERR) { /* Return the varid. */ @@ -358,21 +233,17 @@ NCZ_def_var(int ncid, const char *name, nc_type xtype, int ndims, } /** -Since variables are created in two places, encapsulate -the fillin of the variable data. Not all data is filled in, +Encapsulate the fillin of the variable data. Not all data is filled in, but important &/or complex data is filled in. */ -int +static int NCZ_fillin_var(NC_FILE_INFO_T* file, NC_VAR_INFO_T* var, NC_TYPE_INFO_T* type, - size_t ndims, const int* dimids, - size64_t* shape, size64_t* chunksizes, - int endianness) + size_t ndims, const int* dimids, int endianness) { int stat = NC_NOERR; size_t d; NC_GRP_INFO_T* grp = file->root_grp; /* only used to get back to file */ NC_DIM_INFO_T* dim = NULL; - NCZ_FILE_INFO_T* zfile = (NCZ_FILE_INFO_T*)file->format_file_info; NCZ_VAR_INFO_T* zvar = NULL; NCglobalstate* gs = NC_getglobalstate(); nc_type vartypeid = NC_NAT; @@ -383,7 +254,6 @@ NCZ_fillin_var(NC_FILE_INFO_T* file, NC_VAR_INFO_T* var, NC_TYPE_INFO_T* type, var->format_var_info = zvar; zvar->common.file = file; zvar->scalar = (ndims == 0 ? 1 : 0); - zsetdfaltstrlen(zfile->default_maxstrlen,file); zvar->dimension_separator = gs->zarr.dimension_separator; assert(zvar->dimension_separator != 0); @@ -425,6 +295,8 @@ var->type_info->rc++; /* Save the rank of the variable */ if((stat = nc4_var_set_ndims(var, (int)ndims))) goto done; + + for (d = 0; d < ndims; d++) { NC_GRP_INFO_T *dim_grp; @@ -437,27 +309,21 @@ var->type_info->rc++; /* Track dimensions for variable */ var->dimids[d] = dimids[d]; var->dim[d] = dim; - if(shape != NULL) assert(shape[d] == (size64_t)var->dim[d]->len); } - /* Determine chunksizes for this variable. (Even for + /* Determine chunksizes for this variable. (Even * variables which may be scalar) */ LOG((4, "allocating array of %d size_t to hold chunksizes for var %s", var->ndims, var->hdr.name)); - if(!var->chunksizes) { - if(var->ndims) { - if (!(var->chunksizes = calloc(var->ndims, sizeof(size_t)))) {stat = NC_ENOMEM; goto done;} - if(chunksizes != NULL) { - size_t j; - for(j=0;jndims;j++) var->chunksizes[j] = (size_t)chunksizes[j]; - } else { - if ((stat = ncz_find_default_chunksizes2(grp, var))) goto done; - } - } else { - /* Pretend that scalars are like var[1] */ - if (!(var->chunksizes = calloc(1, sizeof(size_t)))) {stat = NC_ENOMEM; goto done;} - var->chunksizes[0] = 1; - } + if(var->ndims > 0) { + assert(var->chunksizes == NULL); +//if(var->chunksizes != NULL) {free(var->chunksizes); var->chunksizes = NULL;} + if (!(var->chunksizes = calloc(var->ndims, sizeof(size_t)))) {stat = NC_ENOMEM; goto done;} + if ((stat = ncz_find_default_chunksizes2(grp, var))) goto done; + } else { + /* Pretend that scalars are like var[1] */ + if (!(var->chunksizes = calloc(1, sizeof(size_t)))) {stat = NC_ENOMEM; goto done;} + var->chunksizes[0] = 1; } /* Compute the chunksize cross product */ @@ -1089,7 +955,6 @@ NCZ_def_var_endian(int ncid, int varid, int endianness) int NCZ_def_var_quantize(int ncid, int varid, int quantize_mode, int nsd) { -fprintf(stderr,"@@@ mode=%d nsd=%d\n",quantize_mode,nsd); return ncz_def_var_extra(ncid, varid, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &quantize_mode, &nsd); diff --git a/nczarr_test/CMakeLists.txt b/nczarr_test/CMakeLists.txt index 4d21331bb1..3fcae97554 100644 --- a/nczarr_test/CMakeLists.txt +++ b/nczarr_test/CMakeLists.txt @@ -182,9 +182,6 @@ IF(NETCDF_ENABLE_TESTS) add_sh_test(nczarr_test run_quantize) add_sh_test(nczarr_test run_notzarr) - # Test back compatibility of old key format - add_sh_test(nczarr_test run_oldkeys) - # This has timeout under CMake # if(NOT ISCMAKE) add_sh_test(nczarr_test run_interop) diff --git a/nczarr_test/Makefile.am b/nczarr_test/Makefile.am index 29a2a8e301..f0bda78881 100644 --- a/nczarr_test/Makefile.am +++ b/nczarr_test/Makefile.am @@ -133,9 +133,6 @@ if USE_HDF5 TESTS += run_fillonlyz.sh endif -# Test back compatibility of new keys format -TESTS += run_oldkeys.sh - if BUILD_BENCHMARKS UTILSRC = bm_utils.c timer_utils.c test_utils.c bm_utils.h bm_timer.h @@ -219,10 +216,10 @@ tmp_*.nc tmp_*.zarr tst_quantize*.zarr rcmiscdir ref_power_901_constants.file #results.file results.s3 results.zip -EXTRA_DIST += CMakeLists.txt test_nczarr.sh run_corrupt.sh run_external.sh run_interop.sh run_nczarr_fill.sh run_chunkcases.sh run_fillonlyz.sh run_filter.sh run_nccopyz.sh run_nczarr_fill.sh run_nczfilter.sh run_newformat.sh run_perf_chunks1.sh run_unlim_io.sh test_nczarr.sh run_ut_map.sh run_ut_mapapi.sh run_ncgen4.sh run_nan.sh run_quantize.sh run_purezarr.sh run_misc.sh run_jsonconvention.sh run_strings.sh run_scalar.sh run_nulls.sh run_notzarr.sh run_ut_misc.sh run_unknown.sh run_specific_filters.sh run_filter_vlen.sh run_filterinstall.sh test_unlim_vars.c test_h5_endians.c test_put_vars_two_unlim_dim.c test_put_vars_two_unlim_dim.c run_mud.sh run_nccopy5.sh run_filter_misc.sh run_oldkeys.sh \ +EXTRA_DIST += CMakeLists.txt test_nczarr.sh run_corrupt.sh run_external.sh run_interop.sh run_nczarr_fill.sh run_chunkcases.sh run_fillonlyz.sh run_filter.sh run_nccopyz.sh run_nczarr_fill.sh run_nczfilter.sh run_newformat.sh run_perf_chunks1.sh run_unlim_io.sh test_nczarr.sh run_ut_map.sh run_ut_mapapi.sh run_ncgen4.sh run_nan.sh run_quantize.sh run_purezarr.sh run_misc.sh run_jsonconvention.sh run_strings.sh run_scalar.sh run_nulls.sh run_notzarr.sh run_ut_misc.sh run_unknown.sh run_specific_filters.sh run_filter_vlen.sh run_filterinstall.sh test_unlim_vars.c test_h5_endians.c test_put_vars_two_unlim_dim.c test_put_vars_two_unlim_dim.c run_mud.sh run_nccopy5.sh run_filter_misc.sh \ timer_utils.c timer_utils.h bm_utils.c test_utils.c bm_utils.h bm_timer.h -EXTRA_DIST += ref_noshape.file.zip ref_power_901_constants.cdl ref_power_901_constants_orig.zip ref_avail1.cdl ref_avail1.dmp ref_avail1.txt ref_byte.cdl ref_byte_fill_value_null.cdl ref_byte_fill_value_null.zarr.zip ref_byte.zarr.zip ref_fillonly.cdl ref_groups.h5 ref_misc1.cdl ref_misc1.dmp ref_ndims.cdl ref_ndims.dmp ref_newformatpure.cdl ref_notzarr.tar.gz ref_nulls.cdl ref_oldformat.cdl ref_oldformat.zip ref_perdimspecs.cdl ref_purezarr_base.cdl ref_quotes.cdl ref_quotes_orig.zip ref_rem.cdl ref_rem.dmp ref_scalar.cdl ref_skip.cdl ref_skip.txt ref_skipw.cdl ref_string.cdl ref_t_meta_dim1.cdl ref_t_meta_var1.cdl ref_ut_json_build.txt ref_ut_json_parse.txt ref_ut_mapapi_create.cdl ref_ut_mapapi_data.cdl ref_ut_mapapi_meta.cdl ref_ut_mapapi_search.txt ref_ut_map_create.cdl ref_ut_map_readmeta2.txt ref_ut_map_readmeta.txt ref_ut_map_search.txt ref_ut_map_writedata.cdl ref_ut_map_writemeta2.cdl ref_ut_map_writemeta.cdl ref_ut_proj.txt ref_ut_testmap_create.cdl ref_whole.cdl ref_whole.txt ref_zarr_test_data.cdl.gz ref_bzip2.cdl ref_filtered.cdl ref_purezarr.cdl ref_jsonconvention.cdl ref_groups_regular.cdl ref_zarr_test_data_2d.cdl.gz ref_misc2.cdl ref_string_zarr.baseline ref_string_nczarr.baseline ref_nulls_zarr.baseline ref_nulls_nczarr.baseline ref_any.cdl ref_xarray.cdl ref_jsonconvention.zmap ref_nczarr2zarr.cdl ref_multi.cdl ref_tst_mud4.cdl ref_tst_mud4-bc.cdl ref_tst_mud4_chars.cdl ref_tst_nans.dmp ref_oldkeys.cdl ref_oldkeys.file.zip ref_oldkeys.zmap +EXTRA_DIST += ref_noshape.file.zip ref_power_901_constants.cdl ref_power_901_constants_orig.zip ref_avail1.cdl ref_avail1.dmp ref_avail1.txt ref_byte.cdl ref_byte_fill_value_null.cdl ref_byte_fill_value_null.zarr.zip ref_byte.zarr.zip ref_fillonly.cdl ref_groups.h5 ref_misc1.cdl ref_misc1.dmp ref_ndims.cdl ref_ndims.dmp ref_newformatpure.cdl ref_notzarr.tar.gz ref_nulls.cdl ref_oldformat.cdl ref_oldformat.zip ref_perdimspecs.cdl ref_purezarr_base.cdl ref_quotes.cdl ref_quotes_orig.zip ref_rem.cdl ref_rem.dmp ref_scalar.cdl ref_skip.cdl ref_skip.txt ref_skipw.cdl ref_string.cdl ref_t_meta_dim1.cdl ref_t_meta_var1.cdl ref_ut_json_build.txt ref_ut_json_parse.txt ref_ut_mapapi_create.cdl ref_ut_mapapi_data.cdl ref_ut_mapapi_meta.cdl ref_ut_mapapi_search.txt ref_ut_map_create.cdl ref_ut_map_readmeta2.txt ref_ut_map_readmeta.txt ref_ut_map_search.txt ref_ut_map_writedata.cdl ref_ut_map_writemeta2.cdl ref_ut_map_writemeta.cdl ref_ut_proj.txt ref_ut_testmap_create.cdl ref_whole.cdl ref_whole.txt ref_zarr_test_data.cdl.gz ref_bzip2.cdl ref_filtered.cdl ref_purezarr.cdl ref_jsonconvention.cdl ref_groups_regular.cdl ref_zarr_test_data_2d.cdl.gz ref_misc2.cdl ref_string_zarr.baseline ref_string_nczarr.baseline ref_nulls_zarr.baseline ref_nulls_nczarr.baseline ref_any.cdl ref_xarray.cdl ref_jsonconvention.zmap ref_nczarr2zarr.cdl ref_multi.cdl ref_tst_mud4.cdl ref_tst_mud4-bc.cdl ref_tst_mud4_chars.cdl ref_tst_nans.dmp DISTCLEANFILES += findplugin.sh ${BUILT_SOURCES}