topo-derivatives

unverified
v0.1 AOI: Default — SLC 90-minute drive isochrone bbox · bbox -113.00, 40.00, -111.00, 41.50

Six canonical terrain derivatives from a DEM — slope, aspect, curvature, TPI, TRI, geomorphons — emitted as single-band COGs over an AOI. This is the substrate layer beneath suitability, routing, microclimate, shade, hardiness, view-shed and parametric-flood recipes across the catalog. The default input is USGS 3DEP 10m for US AOIs (highest resolution in the registry within US extent); non-US AOIs should fork and override the input to @esa/copernicus-dem/glo-30. All six derivatives are deterministic functions of the DEM; there are no model knobs that need calibration. The only knobs are the neighborhood scales for TPI and geomorphons, which control the SIZE of the landforms the classifier resolves. Defaults match GRASS r.geomorphon's reference values (search_radius=5 cells, flatness=1.0 deg).

Primary input: dem: 3dep-seamless
Primary outputs
derived/slope derived/aspect derived/curvature derived/tpi derived/tri derived/geomorphons
License: CC-BY-4.0
Map preview and live runs are available in the workbench.

The contract

legacy dialect

Read from this recipe's own declarations — parameters:, outputs:, requires:, and the ops its layers name. Not from its style blocks and not from any benchmark: a colour ramp is not a contract, and a measured run is evidence about one AOI rather than a domain.

Parameters

The legacy dialect has no typed parameter schema. Read the folia.yaml for what this recipe takes; nothing here can type-check it.

Outputs

outputkindlayerwhat it is
primary not declared ['derived/slope', 'derived/aspect', 'derived/curvature', 'derived/tpi', 'derived/tri', 'derived/geomorphons']

Capabilities it requires

The legacy dialect has no requires: block.

Where it runs

  • Browser preview does not run here derived/aspect: carries an unsubstituted ${...} template; derived/curvature: carries an unsubstituted ${...} template; derived/geomorphons: carries an unsubstituted ${...} template; and 4 more
  • Local CLI (folia run) runs here runs locally through the legacy (no spec_version) parser
  • Operated fleet (POST /plan, /run) runs here legacy dialect: a lock binds by the cut's layer names, not by digest
open in Workbench from registry/recipes/topo-derivatives/folia.yaml