grids.mixins.chunking.GridChunkingMixin.iter_chunk_coords#
- GridChunkingMixin.iter_chunk_coords(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[ndarray, ...]] [source]#
Efficiently iterate over physical coordinates for each chunk in the grid.
This yields 1D coordinate arrays along the selected axes, one set per chunk. Only the coordinate arrays for axes that change between chunks are recomputed, making this efficient for tight iteration.
- 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
ofnp.ndarray
– A tuple of coordinate arrays, one per selected axis, for each chunk.