(
backend_ds,
filename_or_obj,
engine,
chunks,
overwrite_encoded_chunks,
inline_array,
chunked_array_type,
from_array_kwargs,
**extra_tokens,
)
| 219 | |
| 220 | |
| 221 | def _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 | |
| 273 | def _maybe_create_default_indexes(ds): |
no test coverage detected
searching dependent graphs…