See also: \
User-facing entry points for constructing cubes from remote or synthetic
backends. These functions live under cubedynamics.data and
cubedynamics.variables.
Streaming-first GRIDMET helper supporting keyword AOI arguments (lat/lon,
bbox, or aoi_geojson). Accepts variable/variables, time range,
prefer_streaming, and show_progress flags.
Example:
from cubedynamics.data.gridmet import load_gridmet_cube
da = load_gridmet_cube(variable="tmmx", lat=40.0, lon=-105.2, start="2020-06-01", end="2020-06-10")PRISM analogue to GRIDMET with the same AOI and time arguments. The loader constructs a PRISM-like cube and preserves coordinate metadata.
Stream Sentinel-2 L2A data via stackstac/cubo with standard AOI
arguments, band selection, and chunking controls.
Convenience wrapper that loads Sentinel-2 and computes NDVI as a ready-to-plot cube.
Build an NDVI z-score cube by combining the NDVI loader with :func:verbs.zscore.
These wrappers choose the appropriate loader and variable name, with optional streaming and tiling behavior baked in.
Mean temperature cube from GRIDMET or PRISM. Accepts AOI/time arguments plus
source, streaming_strategy ("auto"/"materialize"), time_chunk
for streaming, and spatial_tile.
Maximum or minimum daily temperature cube; parameters mirror
:func:temperature.
Compute anomalies on the chosen temperature series using :func:verbs.anomaly.
Sentinel-2 NDVI convenience loaders. ndvi_chunked streams in time chunks and
concatenates along time; both preserve attrs indicating variable/source.
import cubedynamics as cd
# GRIDMET
max_t = cd.variables.temperature_max(lat=35.0, lon=-118.5, start="2020-08-01", end="2020-08-15")
# PRISM mean temperature with streaming over monthly tiles
prism_mean = cd.variables.temperature(lat=45.0, lon=-123.1, start="2020-01-01", end="2020-03-31", source="prism", streaming_strategy="auto")
# Sentinel-2 NDVI cube
ndvi = cd.variables.ndvi(lat=37.7, lon=-122.5, start="2020-06-01", end="2020-06-15")