MCPcopy
hub / github.com/pydata/xarray / _chunk_ds

Function _chunk_ds

xarray/backends/api.py:221–270  ·  view source on GitHub ↗
(
    backend_ds,
    filename_or_obj,
    engine,
    chunks,
    overwrite_encoded_chunks,
    inline_array,
    chunked_array_type,
    from_array_kwargs,
    **extra_tokens,
)

Source from the content-addressed store, hash-verified

219
220
221def _chunk_ds(
222 backend_ds,
223 filename_or_obj,
224 engine,
225 chunks,
226 overwrite_encoded_chunks,
227 inline_array,
228 chunked_array_type,
229 from_array_kwargs,
230 **extra_tokens,
231):
232 chunkmanager = guess_chunkmanager(chunked_array_type)
233
234 # TODO refactor to move this dask-specific logic inside the DaskManager class
235 if isinstance(chunkmanager, DaskManager):
236 from dask.base import tokenize
237
238 mtime = _get_mtime(filename_or_obj)
239 token = tokenize(filename_or_obj, mtime, engine, chunks, **extra_tokens)
240 name_prefix = "open_dataset-"
241 else:
242 # not used
243 token = (None,)
244 name_prefix = None
245
246 variables = {}
247 for name, var in backend_ds.variables.items():
248 if var._in_memory:
249 variables[name] = var
250 continue
251 var_chunks = _get_chunk(
252 var._data,
253 chunks,
254 chunkmanager,
255 preferred_chunks=var.encoding.get("preferred_chunks", {}),
256 dims=var.dims,
257 )
258 variables[name] = _maybe_chunk(
259 name,
260 var,
261 var_chunks,
262 overwrite_encoded_chunks=overwrite_encoded_chunks,
263 name_prefix=name_prefix,
264 token=token,
265 inline_array=inline_array,
266 chunked_array_type=chunkmanager,
267 from_array_kwargs=from_array_kwargs.copy(),
268 just_use_token=True,
269 )
270 return backend_ds._replace(variables)
271
272
273def _maybe_create_default_indexes(ds):

Callers 2

Calls 8

guess_chunkmanagerFunction · 0.90
_get_chunkFunction · 0.90
_maybe_chunkFunction · 0.90
_get_mtimeFunction · 0.85
itemsMethod · 0.80
getMethod · 0.45
copyMethod · 0.45
_replaceMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…