cf.Data.compute

Data.compute(_force_to_memory=True, _cache_elements=True)[source]

A view of the computed data.

In-place changes to the returned array might affect the underlying Dask array, depending on how the that Dask array has been defined.

The returned array has the same mask hardness and fill value as the data.

Compare with array.

Performance

compute causes all delayed operations to be computed.

Added in version (cfdm): 1.11.2.0

Parameters:
_force_to_memory: bool, optional

If True (the default) then force the data resulting from computing the returned Dask graph to be in memory. If False then the data resulting from computing the Dask graph may or may not be in memory, depending on the nature of the stack.

_cache_elements: bool, optional

If True (the default) then create a cache of selected elements from the computed array in memory, if the type of the array allows it. See cache_elements for details.

Added in version (cfdm): 1.13.0.0

Returns:

An in-memory view of the data

Examples

>>> d = cf.Data([1, 2, 3.0], 'km')
>>> d.compute()
array([1., 2., 3.])
>>> from scipy.sparse import csr_array
>>> d = cf.Data(csr_array((2, 3)))
>>> d.compute()
<2x3 sparse array of type '<class 'numpy.float64'>'
        with 0 stored elements in Compressed Sparse Row format>
>>> d.array
array([[0., 0., 0.],
       [0., 0., 0.]])
>>> d.compute().toarray()
array([[0., 0., 0.],
       [0., 0., 0.]])
>>> f = cf.example_field(0)
>>> cf.write(f, 'file.nc')
>>> f = cf.read('file.nc')[0]
>>> print(f.data.compute())
[[0.007 0.034 0.003 0.014 0.018 0.037 0.024 0.029]
 [0.023 0.036 0.045 0.062 0.046 0.073 0.006 0.066]
 [0.11  0.131 0.124 0.146 0.087 0.103 0.057 0.011]
 [0.029 0.059 0.039 0.07  0.058 0.072 0.009 0.017]
 [0.006 0.036 0.019 0.035 0.018 0.037 0.034 0.013]]
>>> f.data.compute(_force_to_memory=False)
<CF NetCDF4Array(5, 8): file.nc, q(5, 8)>