Mesh And Spatial Support#
This section groups the theory notes for mesh and spatial support choices in HydroModPy.
Mesh choice is not only a preprocessing detail. It controls:
which basin, river, geology, and boundary constraints are honoured;
how fields are projected to solver cells;
which numerical method is appropriate;
whether solver comparisons isolate backend behaviour or mix backend and support effects.
Use this section for the concepts. Use the capability-gallery mesh pages for concrete, versioned examples and figures.
Scientific Role#
HydroModPy separates the modelling problem into several layers:
geographic domain
-> planar support or mesh
-> vertical representation
-> field-to-cell transfer
-> solver-specific discretization
-> validation or comparison evidence
That separation matters because the same physical question can be interpreted on different supports:
a structured
sgridsupport for legacy MODFLOW-NWT-style workflows;a MODFLOW 6 support that may remain structured or consume a DISV-style irregular mesh;
a triangular finite-volume support used by the Boussinesq backend;
a saved mesh bundle reused by comparison and gallery workflows.
Representative gallery evidence#
Mesh concepts are easier to read with concrete artifacts next to the text. The full case pages remain in Mesh Gallery; the figures below are the minimum evidence to keep in mind while reading this section.


Main Questions#
Question |
Scientific page |
Gallery evidence |
|---|---|---|
Which mesh families exist and why do they matter? |
||
How do regular and irregular meshes compare for the same cell budget? |
||
How are geology, hydraulic properties, or forcing mapped to cells? |
||
Which mesh quality checks should be read before trusting a solve? |
||
Why does MODFLOW 6 use XT3D on irregular meshes? |
||
How does vertical representation affect storage and thickness? |
Validation and comparison cases that reuse the same support. |
Capability Gallery Contract#
The capability gallery should not replace this section. Its role is different:
it shows versioned mesh bundles and static figures;
it exposes node, cell, edge, river, geology, and quality summaries;
it provides reproducible commands and artifact paths;
it documents what is already available, not the full method rationale.
The scientific mesh pages should explain how to interpret those gallery artifacts. The gallery pages should link back here when the reader needs the conceptual background.
Recommended Reading Order#
For a new mesh-related question, read in this order:
One concrete case page, such as Mesh Quality Diagnostics (10 km2)
- Mesh and discretization strategies
- Purpose
- Common Discretization Chain
- Conceptual Diagram
- Result Illustration: Nancon Basin Support To Solver Result
- What Nancon Shows, And What It Does Not
- Runtime Mesh Contrast
- Planar Support Families
- Solver-Side Interpretations
- Why Mesh Choice Matters Scientifically
- Field-To-Cell Transfer
- Why Dedicated Mesh Execution Exists
- What To Check Before Solving
- Practical Choice Guide
- Related Pages
- Regular and irregular mesh cell budgets
- Field-to-cell parameter transfer
- Purpose
- The Three Objects To Keep Separate
- Common Mapping Chain
- Homogeneous Versus Heterogeneous Parameters
- Why This Is Not Exact Geometry Preservation
- Structured Grid Path
- Irregular MODFLOW 6 Path
- Boussinesq Path
- Depth Dependence
- What Should Be Reported
- Where To Go Deeper
- Related Scientific Pages
- Current Limitation
- Mesh quality and acceptance criteria
- Vertical representation and storage assumptions
- Purpose
- Conceptual Cross-Section
- Common Vertical Construction In The MODFLOW Family Path
- Layer Proportions
- What This Means Physically
- Validity Checks
- Storage Interpretation
- Implications For Property Mapping
- Relation To Initial Conditions
- Current Limits
- Relation To The Boussinesq Backend
- Related Pages
- XT3D on irregular DISV meshes
Future Evolution#
The current mesh evidence in the documentation is built from static figures generated alongside each gallery case. Browsing a real triangulation, an irregular DISV mesh, or a mesh-quality field today still requires opening the underlying mesh bundle in a desktop tool such as ParaView or Gmsh.
A future iteration could embed an in-browser 3D mesh viewer based on vtk-js directly in the gallery and architecture pages. vtk-js can stream a small VTU/VTP serialized mesh into a WebGL canvas with picking, slicing, and field-by-cell coloring without any server-side rendering.
This is a deliberate non-goal for the current refactor: the dependency surface (WebGL bundle, larger asset payloads, longer page-load budget) is out of scope until analytics confirm that the static figures are no longer enough. If a prototype lands later, it should remain opt-in (loaded only on the case pages that explicitly opt into the viewer) and ship a small, redacted mesh per case rather than the full bundle.