See also: \
CubeDynamics verbs are pipe-friendly helpers that operate on cubes (xarray
DataArray, Dataset, or VirtualCube). Verbs return a callable; use
pipe(cube) | v.<verb>(...) to apply.
Compute the mean along dim while keeping attributes. Supports VirtualCube
streaming for time and space aggregation.
Variance reducer mirroring mean semantics, including streaming paths for
VirtualCube inputs.
Tail dependence metric against the center pixel over a rolling window. Returns a
cube with a tail_dep variable; accepts the same dimension metadata as
:mod:cubedynamics.config.
Subtract the mean over dim. Preserves attributes and supports VirtualCube
materialization paths.
Normalize by subtracting the mean and dividing by the standard deviation along
dim. For VirtualCube inputs the verb computes streaming means/variances and
renames outputs with a _zscore suffix when possible.
Filter calendar months out of the time dimension. Typically used as
pipe(cube) | v.month_filter([6, 7, 8]) to keep boreal-summer slices.
Reshape a cube from (time, y, x) to (time, space) while tracking spatial
coordinates.
Flatten a cube to a long table suitable for modeling; preserves variable and coordinate metadata.
Attach fire time-hull geometry, climate samples, and derived vase metadata to a cube. Returns the original type (DataArray or VirtualCube) with attrs populated.
Wrap fire time-hull geometry into :class:cubedynamics.vase.VaseDefinition
objects for downstream plotting or masking. vase_extract returns the
constructed vase alongside the input cube.
Build a synthetic vase/time-hull for demos.
Return a boolean mask marking voxels inside the vase.
Identify connected components ("tubes") in suitability masks and return per-tube metrics.
Plot inside/outside climate distributions for a fire event; side-effecting viewer verb.
High-level fire workflow that returns event/hull/summary outputs and a Plotly-based interactive hull figure (fig_hull).
Compact panel combining time-hull outlines and climate histograms.
Render a cube in the interactive HTML viewer. Returns the incoming cube while
attaching the viewer as _cd_last_viewer so pipes can continue.
Display mean and variance cubes side by side using :class:CubePlot. Accepts
dim (default time) and forwards additional keywords to the renderer.
Render a Lexcube widget as a side effect and return the original cube. Validates
that the cube has (time, y, x) ordering.
Load NDVI via the convenience variable helper and plot with a pipe:
import cubedynamics as cd
from cubedynamics import pipe, verbs as v
cube = cd.variables.ndvi(lat=37.7, lon=-122.5, start="2020-06-01", end="2020-06-15")
pipe(cube) | v.anomaly(dim="time") | v.plot(title="NDVI anomaly")