Skip to content

Find and define channel heads (fluvial channel initiation) #1

Description

@awickert

Problem

In dist_mode=channel, Provenisaurus strips the hillslope leg so Sternberg attrition acts only along the channel (distance = dist-to-outlet − dist-to-stream, clamped ≥ 0). This makes the answer sensitive to where the channel begins — the fluvial channel head. Right now that location is set implicitly by a single global accumulation threshold (stream_threshold, default 10000 cells ≈ 1.44 km² at 12 m), via r.stream.extract. A fixed area threshold is a crude proxy: real channel heads vary in space with slope, lithology, climate, and process, and "where do channels begin" is a long-standing open problem in geomorphology.

Why it matters here

The channel-head location is one of the biggest levers on the inverted attrition lengths for the channel variant (the handoff flags it alongside source-area definition). A threshold that's too low pushes channel heads upslope, lengthening the fluvial path and biasing e-folding distances; too high does the reverse. dist_mode=whole is unaffected (it uses the full hillslope+channel path).

Current state

  • Channel network = fixed accumulation threshold only.
  • No slope dependence, no per-cell channel-initiation criterion.
  • Affects channel runs exclusively.

What's needed

A method (or pluggable choice of methods, mirroring how source_mask is pluggable) to locate channel heads, e.g.:

  • Slope–area threshold (A·Sᵏ exceeds a critical value) rather than area alone — Montgomery & Dietrich's classic channel-initiation framing.
  • Geodesic / nonlinear-filtering extraction — Passalacqua et al. (GeoNet): nonlinear diffusion + geodesic energy minimization to extract channels and heads from high-resolution topography.
  • Curvature / chi-based channel-head extraction — Clubb et al. (DrEICH, in LSDTopoTools): objective channel-head identification from channel-profile statistics.
  • Field-mapped channel heads where available, as ground truth / calibration.
  • Drainage-density / curvature thresholds.

Caveat: the Passalacqua and Clubb methods are designed for high-resolution (lidar-scale) DEMs; their applicability to TanDEM-X 12 m needs checking. Like source-area definition, the choice of method is a study-level scientific decision; Provenisaurus should consume a channel-head / channel-network input rather than hard-code one criterion. See the study repo for geomorphic context.

Acceptance

  • Channel heads come from an explicit, swappable criterion (not just a global area threshold).
  • A sensitivity test over the criterion exists for the channel variant.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions