docs(site): explain the hybrid algorithm and credit Matthew Heberger#17
Merged
CooperBigFoot merged 1 commit intoJul 3, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
How it works + full Matthew Heberger credit (m5)
Fills the two m3 placeholder pages with real content: a plain-language explanation of
shed's hybrid delineation algorithm for hydrologists, and full credit to Matthew
Heberger, who originated the method.
What's here
docs/how-it-works.md— no-CS-jargon walkthrough of the hybrid vector+rastermethod. Defines every domain term at first use (outlet/pour point, drainage
basin/watershed, unit catchment, flow direction/D8, flow accumulation, snapping),
contrasts the pure-raster (accurate but slow) and pure-vector (fast but coarse at
the outlet) approaches, explains the hybrid idea (assemble upstream unit catchments
by walking the river network; use the D8 grid to trim only the terminal home
catchment; dissolve into one polygon), and maps it onto shed's named stages
(
resolve_outlet → traverse → pre_merge_units → refine → dissolve → compose_result).docs/credits.md— credits the algorithm to Matthew Heberger(ORCID 0000-0001-9122-0030): the 2025 paper (cited as a submitted manuscript /
preprint with its stable SSRN DOI 10.2139/ssrn.5939056; the journal
version-of-record is unpublished, so no volume/journal DOI is invented), the
verbatim
@software{delineator}BibTeX, theGlobal Watersheds web app, and the Djokic & Ye (1999) lineage note. Frames shed as
an independent Rust reimplementation of his MIT-licensed method, generalized to any
HFX-compliant hydrofabric (his delineator is MERIT-specific).
Verification
uv run --project crates/python --only-group docs mkdocs build --strictexits 0with no cargo/maturin/GDAL activity (no
target/), zero warnings, and bothpages rendered.
docs/how-it-works.mdanddocs/credits.mdare changed.Scope
mkdocs.ymland all other files are untouched(m3 owns the nav; m4 owns the other content pages).