easysnowdata.processing.contract.finalize#

easysnowdata.processing.contract.finalize(obj: Dataset | DataArray, product: Any, source: Any, *, crs: Any | None = None, variables: Iterable[Any] | None = None, mask: bool | None = None, source_url: str | None = None, attrs: Mapping[str, Any] | None = None, time_dim: str = 'time') Dataset | DataArray[source]#

Bring a loaded object onto the output contract.

Steps: write crs (default: the object’s rio.crs) with both accessors and rename dims for the CRS kind; sort and order dims as (time, y, x); apply the product’s Variable definitions (nodata policy, CF flags); stamp provenance and attrs.