Design doc: multi-patch water redistribution - #565
Conversation
Architecture proposal for the water-flow arm of the multi-patch epic (#427): three separable water processes (event-time surface redistribution, within-patch vertical bucket, donor-controlled subsurface flux), a Landscape/MetaPatch container, and a two-level stepper mirroring the existing outer/inner SCM loops. Design only, no implementation. Wires up dependencies on #522 (events queue), #424 (TF24 hydraulics), #529 (per-patch stiffness). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Closing — keeping this as a planning doc on the branch |
|
Hi @itowers1 @yangsophieee -- some initial thoughts on a multipatch setup capturing upslope-downslope dynamics in semi-arid, but in a way that also generalises to wet environments. Also identifies/link to some dependencies that need to be sorted first. No immediate need to do anything. Just wanted to document things rumbling around in my head, so you can start thinking about it whenever suits |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Looking at this now! |
|
Working detail, moved off the PR description so it does not land in Original description, unchanged: Adds What it covers
Issue wiring
Open for discussionIncludes the newly-raised design question extend existing SCM vs build a separate multi-patch SCM (doc leans toward a composition layer), plus patch-graph construction from a DEM, where the rainfall schedule lives, and the fitness/asymmetry interaction. Draft — opening to capture and circulate the architecture; not for merge until the direction is agreed. 🤖 Generated with Claude Code |
theta_sat is already a barrier in the exact vector field, and error control already rejects the overshooting steps. The excursions to theta = 1.7 are explicit overshoot triggered by the step size a leg inherits, not a water-balance defect. Two faults instead: odelia accepts a NaN error estimate (odelia#52), and a throw inside a stage evaluation preempts rejection entirely. Capacity limiting is measured to cost stiffness for no benefit. Design doc plus standalone scripts; no package code changes. Refs #522, #599, #565. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Adds
notes/427-multipatch-water.md, a design doc with no implementation, forthe water-flow arm of the multi-patch epic.
It separates three water processes — event-time surface redistribution,
within-patch vertical buckets, donor-controlled subsurface flux — toggled by
climate and soil rather than by a hand switch; puts N patches and their
topographic and soil attributes in a
Landscapecontainer that leavesPatchand
Environmentlargely untouched; and uses donor control to make thecross-patch Jacobian triangular, so a single downslope sweep replaces a stiff
coupled ODE. It also records the soil-vs-redistribution identifiability hazard
and a sequencing that covers the Mulga target in its first two steps.
Refs #427. Draft, for circulation rather than merge.