Skip to content

Documents · Verb reference

variance

Return a variance reducer along dim with optional dimension retention.

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

Usage

from cubedynamics import verbs as v
v.variance(dim='time', *, over=None, keep_dim=True, skipna=True)

Arguments

Argument Meaning Default
dim See implementation docstring below; no parameter-specific description supplied. 'time'
over See implementation docstring below; no parameter-specific description supplied. None
keep_dim See implementation docstring below; no parameter-specific description supplied. True
skipna See implementation docstring below; no parameter-specific description supplied. True

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.variance(dim="time", keep_dim=False)).unwrap()
# Variance has squared input units, even if inherited attributes say degC.
result.plot(cbar_kwargs={"label": "Temperature variance (°C²)"})
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.