cf.Quantization


class cf.Quantization(parameters=None, source=None, copy=True)[source]

A quantization variable.

A quantization variable describes a quantization algorithm via a collection of parameters.

The algorithm parameter names a specific quantization algorithm via one of the keys in the algorithm_parameters dictionary.

The implementation parameter contains unstandardised text that concisely conveys the algorithm provenance including the name of the library or client that performed the quantization, the software version, and any other information required to disambiguate the source of the algorithm employed. The text must take the form software-name version version-string [(optional-information)].

The retained precision of the algorithm is defined with either the quantization_nsb or quantization_nsd parameter.

For instance, the following parameters describe quantization via the BitRound algorithm, retaining 6 significant bits, and implemented by libnetcdf:

>>> q = cf.Quantization(
...         parameters={'algorithm': 'bitround',
...                     'quantization_nsb': 6,
...                     'implementation': 'libnetcdf version 4.9.4'}
... )
>>> q.parameters()
{'algorithm': 'bitround',
 'quantization_nsb': 6,
 'implementation': 'libnetcdf version 4.9.4'}

See CF section 8.4. “Lossy Compression via Quantization”.

NetCDF interface

The netCDF variable name may be accessed with the nc_set_variable, nc_get_variable, nc_del_variable, and nc_has_variable methods.

The netCDF variable group structure may be accessed with the nc_set_variable, nc_get_variable, nc_variable_groups, nc_clear_variable_groups, and nc_set_variable_groups methods.

The netCDF group attributes may be accessed with the nc_group_attributes, nc_clear_group_attributes, nc_set_group_attribute, and nc_set_group_attributes methods.

Added in version 3.18.0.

Initialisation

Parameters:
parameters: dict, optional

Set parameters. The dictionary keys are parameter names, with corresponding values.

Parameters may also be set after initialisation with the set_parameters and set_parameter methods.

Parameter example:

parameters={'earth_radius': 6371007.}

source: optional

Convert source, which can be any type of object, to a Quantization instance.

All other parameters, apart from copy, are ignored and their values are instead inferred from source by assuming that it has the Quantization API. Any parameters that can not be retrieved from source in this way are assumed to have their default value.

Note that if x is also a Quantization instance then cf.Quantization(source=x) is equivalent to x.copy().

copy: bool, optional

If True (the default) then deep copy the input parameters prior to initialisation. By default the parameters are not deep copied.

Inspection

Methods

dump

A full description.

Parameter terms

Methods

del_parameter

Delete a parameter.

get_parameter

Get a parameter value.

has_parameter

Whether a parameter has been set.

set_parameter

Set a parameter-valued term.

parameters

Return all parameters.

set_parameters

Set parameters.

clear_parameters

Remove all parameters.

Miscellaneous

Methods

algorithm_parameters

Map CF quantization algorithms to CF algorithm parameters.

copy

Return a deep copy.

equals

Whether two instances are the same.

get_original_filenames

The names of files containing the original data and metadata.

creation_commands

Return the commands that would create the component.

NetCDF

Methods

nc_del_variable

Remove the netCDF variable name.

nc_get_variable

Return the netCDF variable name.

nc_has_variable

Whether the netCDF variable name has been set.

nc_set_variable

Set the netCDF variable name.

nc_group_attributes

Returns properties to write as netCDF group attributes.

nc_clear_group_attributes

Removes properties to write as netCDF group attributes.

nc_set_group_attribute

Select a property to be written as a netCDF group attribute.

nc_set_group_attributes

Set properties to be written as netCDF group attributes.

Groups

Methods

nc_variable_groups

Return the netCDF variable group hierarchy.

nc_set_variable_groups

Set the netCDF variable group hierarchy.

nc_clear_variable_groups

Remove the netCDF variable group hierarchy.

Special

Methods

__bool__

Called by the bool built-in function.

__deepcopy__

Called by the copy.deepcopy function.

__repr__

Called by the repr built-in function.

__str__

Called by the str built-in function.

Docstring substitutions

Methods

_docstring_special_substitutions

Return the special docstring substitutions.

_docstring_substitutions

Returns the substitutions that apply to methods of the class.

_docstring_package_depth

Returns the class {{package}} substitutions package depth.

_docstring_method_exclusions

Returns method names excluded in the class substitutions.