grids.mixins.chunking.GridChunkingMixin.iter_chunk_slices#
- GridChunkingMixin.iter_chunk_slices(axes: AxesInput | None = None, *, include_ghosts: bool = False, halo_offsets: HaloOffsetInput | None = None, oob_behavior: str = 'raise', pbar: bool = True, pbar_kwargs: Dict[str, Any] | None = None) Iterator[Tuple[slice, ...]] [source]#
Efficiently iterate over chunk-wise slices in global index space.
This iterator yields a tuple of slices per chunk along selected axes, updating only the slices that change. Supports ghost zones, halo padding, and progress bar display.
- Parameters:
axes (
str
orlist
ofstr
, optional) –The names of the axes to include in the slice. If None, all axes are used. This determines the number of
slice
objects returned in the output tuple — one slice per selected axis.Note
Regardless of the ordering of
axes
, the axes are reordered to match canonical ordering as defined by the coordinate system.include_ghosts (
bool
, optional) – IfTrue
, then the slice will include the ghost zones around the boundary of the domain. Otherwise (default), the ghost zones are excluded from the resulting slice.halo_offsets (
int
,sequence[int]
, ornp.ndarray
, optional) –Extra padding (in ghost-cell units) to apply on top of the active or ghost-augmented domain.
This allows you to extend the region further outward beyond ghost zones — for example, to reserve additional halo space for multi-pass stencils.
Supported formats:
int: same padding applied to both sides of all axes
sequence of length N: symmetric padding per axis (left = right)
array of shape (2, N): explicit left/right padding per axis
Note
This is applied after ghost zones (if include_ghosts=True). Total padding = ghost zones + halo.
oob_behavior (
{"raise", "clip"}
, default"raise"
) –Determines what to do if the computed slice (after applying ghost zones and halo padding) would extend beyond the allocated grid buffer (__ghost_dd__).
- Options:
”raise” : Raise an IndexError if any part of the slice is out of bounds.
”clip” : Clamp the slice to stay within the valid grid extent.
Use “clip” if you’re performing relaxed operations (e.g., visualization or padding-aware reads), and “raise” for strict enforcement during stencil computations or buffer validation.
pbar (
bool
, defaultTrue
) – Whether to display a tqdm progress bar.pbar_kwargs (
dict
, optional) – Additional keyword arguments passed to tqdm.
- Yields:
tuple
ofslice
– A tuple of slices selecting the current chunk in global index space.