Skip to content

Documents · Verb reference

flatten_cube

Flatten all non-time dimensions into a single sample dimension.

Callable type: Grammar verb / pipe stage · Browse: Transform

Usage

from cubedynamics import verbs as v
v.flatten_cube(time_dim='time', sample_dim='sample')

Arguments

Argument Meaning Default
time_dim See implementation docstring below; no parameter-specific description supplied. 'time'
sample_dim See implementation docstring below; no parameter-specific description supplied. 'sample'

Accepts

An xarray DataArray or Dataset with the dimensions required by the selected operation. VirtualCube support is operation-specific; consult the implementation notes.

Returns

A callable stage. Applying it returns the transformed xarray object (or the supported VirtualCube result).

Order / grammar behavior

Apply before reductions that remove a required dimension. Choose the reduction dimensions explicitly; keep_dim=False removes reduced axes.

Minimal example

Run from the repository root after python -m pip install -e '.[vignettes]'. Uses the checked observational PRISM fixture; no network is required.

from pathlib import Path
import xarray as xr
import matplotlib.pyplot as plt
from cubedynamics import pipe, verbs as v

# Frozen, reviewed PRISM observations; run from the repository root.
path = Path("tests/fixtures/real_data/prism_boulder_january_2024.nc")
with xr.open_dataset(path, engine="scipy") as observed:
    cube = observed["tmax"].load()
assert cube.attrs["units"] == "degC"

result = (pipe(cube) | v.flatten_cube()).unwrap()
# Unstack the retained coordinate index to check the original spatial map.
result.mean("time").unstack("sample").plot()
plt.show()

Works with

An xarray DataArray or Dataset with the dimensions required by the selected operation. VirtualCube support is operation-specific; consult the implementation notes.

See also

Implementation notes

No additional implementation notes in the current docstring.

Implementation source. Signatures and descriptions on this page are generated from this checkout, not hand-maintained copies.