@@ -17,13 +17,24 @@ variable-length and user-defined datatypes.
1717Please see : :ref: `data-types `.
1818
1919
20- Data Scaling, Masking and Compression
21- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
22- Ncdata does not implement scaling and offset within data arrays : The ".data"
20+ Data Scaling and Masking
21+ ^^^^^^^^^^^^^^^^^^^^^^^^
22+ Ncdata does not implement scaling and offset within variable data arrays : The ".data"
2323array has the actual variable dtype, and the "scale_factor" and
2424"add_offset" attributes are treated like any other attribute.
2525
26- The existence of a "_FillValue" attribute controls how.. TODO
26+ Likewise, Ncdata does not use masking within its variable data arrays, so that variable
27+ data arrays contain "raw" data, which include any "fill" values -- i.e. at any missing
28+ data points you will have a "fill" value rather than a masked point.
29+
30+ The use of "scale_factor", "add_offset" and "_FillValue" attributes are standard
31+ conventions described in the NetCDF documentation itself, and implemented by NetCDF
32+ library software including the Python netCDF4 library. To ignore these default
33+ interpretations, ncdata has to actually turn these features "off". The rationale for
34+ this, however, is that the low-level unprocessed data content, equivalent to actual
35+ file storage, may be more likely to form a stable common basis of equivalence, particularly
36+ between different system architectures.
37+
2738
2839.. _file-storage :
2940
@@ -33,14 +44,20 @@ The :func:`ncdata.netcdf4.to_nc4` cannot control compression or storage options
3344provided by :meth: `netCDF4.Dataset.createVariable `, which means you can't
3445control the data compression and translation facilities of the NetCDF file
3546library.
36- If required, you should use :mod: `iris ` or :mod: `xarray ` for this.
47+ If required, you should use :mod: `iris ` or :mod: `xarray ` for this, i.e. use
48+ :meth: `xarray.Dataset.to_netcdf ` or :func: `iris.save ` instead of
49+ :func: `ncdata.netcdf4.to_nc4 `, as these provide more special options for controlling
50+ netcdf file creation.
3751
3852File-specific storage aspects, such as chunking, data-paths or compression
3953strategies, are not recorded in the core objects. However, array representations in
4054variable and attribute data (notably dask lazy arrays) may hold such information.
4155
42- The concept of "unlimited" dimensions is also, arguably an exception. However, this is a
43- core provision in the NetCDF data model itself (see "Dimension" in the `NetCDF Classic Data Model `_).
56+ The concept of "unlimited" dimensions is also, you might think, outside the abstract
57+ model of NetCDF data and not of concern to Ncdata . However, in fact this concept is
58+ present as a core property of dimensions in the classic NetCDF data model (see
59+ "Dimension" in the `NetCDF Classic Data Model `_), so that is why it **is ** an essential
60+ property of an NcDimension also.
4461
4562
4663Dask chunking control
0 commit comments