NetCDF  4.9.2
dfilter.c File Reference

Functions for working with filters. More...

#include "config.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "netcdf.h"
#include "netcdf_filter.h"
#include "ncdispatch.h"
#include "nc4internal.h"
Include dependency graph for dfilter.c:

Go to the source code of this file.

Functions

int nc_def_var_blosc (int ncid, int varid, unsigned subcompressor, unsigned level, unsigned blocksize, unsigned addshuffle)
 Turn on blosc for a variable. More...
 
int nc_def_var_bzip2 (int ncid, int varid, int level)
 Turn on bzip2 compression for a variable. More...
 
EXTERNL int nc_def_var_filter (int ncid, int varid, unsigned int id, size_t nparams, const unsigned int *params)
 Define a new variable filter Assumes HDF5 format using unsigned ints. More...
 
int nc_def_var_zstandard (int ncid, int varid, int level)
 Turn on Zstandard compression for a variable. More...
 
EXTERNL int nc_inq_filter_avail (int ncid, unsigned id)
 Test if filter is available. More...
 
int nc_inq_var_blosc (int ncid, int varid, int *hasfilterp, unsigned *subcompressorp, unsigned *levelp, unsigned *blocksizep, unsigned *addshufflep)
 Learn whether Blosc compression is on for a variable, and, if so, the settings. More...
 
int nc_inq_var_bzip2 (int ncid, int varid, int *hasfilterp, int *levelp)
 Learn whether bzip2 compression is on for a variable, and, if so, the level setting. More...
 
EXTERNL int nc_inq_var_filter (int ncid, int varid, unsigned int *idp, size_t *nparamsp, unsigned int *params)
 Find the first filter (if any) associated with a variable. More...
 
EXTERNL int nc_inq_var_filter_ids (int ncid, int varid, size_t *nfiltersp, unsigned int *ids)
 Find the set of filters (if any) associated with a variable. More...
 
EXTERNL int nc_inq_var_filter_info (int ncid, int varid, unsigned int id, size_t *nparamsp, unsigned int *params)
 Find the the param info about filter (if any) associated with a variable and with specified id. More...
 
int nc_inq_var_zstandard (int ncid, int varid, int *hasfilterp, int *levelp)
 Learn whether Zstandard compression is on for a variable, and, if so, the level setting. More...
 

Detailed Description

Functions for working with filters.

Definition in file dfilter.c.

Function Documentation

◆ nc_def_var_bzip2()

int nc_def_var_bzip2 ( int  ncid,
int  varid,
int  level 
)

Turn on bzip2 compression for a variable.

Parameters
ncidFile ID.
varidVariable ID.
levelFrom 1 to 9. Set the block size to 100k, 200k ... 900k when compressing. (bzip2 default level is 9).
Returns
0 for success, error code otherwise.
Author
Dennis Heimbigner, Ed Hartnett

Definition at line 332 of file dfilter.c.

◆ nc_def_var_filter()

EXTERNL int nc_def_var_filter ( int  ncid,
int  varid,
unsigned int  id,
size_t  nparams,
const unsigned int *  params 
)

Define a new variable filter Assumes HDF5 format using unsigned ints.

Only variables with chunked storage can use filters.

Parameters
ncidFile and group ID.
varidVariable ID.
idFilter ID.
nparamsNumber of filter parameters.
paramsFilter parameters.
Returns
NC_NOERR No error.
NC_EINVAL Variable must be chunked.
NC_EBADID Bad ID.
Author
Dennis Heimbigner

Definition at line 124 of file dfilter.c.

◆ nc_def_var_zstandard()

int nc_def_var_zstandard ( int  ncid,
int  varid,
int  level 
)

Turn on Zstandard compression for a variable.

Parameters
ncidFile ID.
varidVariable ID.
levelFrom -131072 to 22 (depends on Zstandard version). when compressing. Regular compression levels are from 1 up to 19. Use levels >= 20, labeled --ultra, cautiously: they require more memory. Negative compression levels that extend the range of speed vs. ratio preferences. The lower the level, the faster the speed (at the cost of compression).
Returns
0 for success, error code otherwise.
Author
Charlie Zender, Dennis Heimbigner, Ed Hartnett

Definition at line 400 of file dfilter.c.

◆ nc_inq_filter_avail()

EXTERNL int nc_inq_filter_avail ( int  ncid,
unsigned  id 
)

Test if filter is available.

Would prefer returning a list of all available filters, but HDF5 does not support that capability.

Parameters
ncidID of file for which filter list is desired
idfilter id of interest
Returns
NC_NOERR if the filter is available
NC_EBADID if ncid is invalid
NC_ENOFILTER if filter is not available.
Author
Dennis Heimbigner

Definition at line 213 of file dfilter.c.

◆ nc_inq_var_blosc()

int nc_inq_var_blosc ( int  ncid,
int  varid,
int *  hasfilterp,
unsigned *  subcompressorp,
unsigned *  levelp,
unsigned *  blocksizep,
unsigned *  addshufflep 
)

Learn whether Blosc compression is on for a variable, and, if so, the settings.

Parameters
ncidFile ID.
varidVariable ID.
hasfilterpPointer that gets a 0 if blosc is not in use for this var, and a 1 if it is. Ignored if NULL.
subcompressorpPointer that gets the subcompressor, if blosc is in use. Ignored if NULL.
levelpPointer that gets the level setting, if blosc is in use. Ignored if NULL.
blocksizepPointer that gets the block size, if blosc is in use. Ignored if NULL.
addshufflepPointer that gets non-zero value if shuffle is in use, if blosc is in use. Ignored if NULL.
Returns
0 for success, error code otherwise.
Author
Dennis Heimbigner

Definition at line 527 of file dfilter.c.

◆ nc_inq_var_bzip2()

int nc_inq_var_bzip2 ( int  ncid,
int  varid,
int *  hasfilterp,
int *  levelp 
)

Learn whether bzip2 compression is on for a variable, and, if so, the level setting.

Parameters
ncidFile ID.
varidVariable ID.
hasfilterpPointer that gets a 0 if bzip2 is not in use for this var, and a 1 if it is. Ignored if NULL.
levelpPointer that gets the level setting (from 1 to 9), if bzip2 is in use. Ignored if NULL.
Returns
0 for success, error code otherwise.
Author
Dennis Heimbigner, Ed Hartnett

Definition at line 363 of file dfilter.c.

◆ nc_inq_var_zstandard()

int nc_inq_var_zstandard ( int  ncid,
int  varid,
int *  hasfilterp,
int *  levelp 
)

Learn whether Zstandard compression is on for a variable, and, if so, the level setting.

Parameters
ncidFile ID.
varidVariable ID.
hasfilterpPointer that gets a 0 if Zstandard is not in use for this var, and a 1 if it is. Ignored if NULL.
levelpPointer that gets the level setting (from -131072 to 22), if Zstandard is in use. Ignored if NULL.
Returns
0 for success, error code otherwise.
Author
Charlie Zender, Dennis Heimbigner, Ed Hartnett

Definition at line 436 of file dfilter.c.