Surface-Interaction Ramp Code Comparison#

Note

This page and its static assets are auto-generated by python -m tools.doc_gallery. The Sphinx build only reads committed PNG and JSON artifacts.

This page compares MODFLOW and Boussinesq families on the same synthetic hillslope under a progressive recharge ramp, followed by dry recovery. The compact figure is restricted to comparable bulk diagnostics across codes: total outflow and storage change, shown at the reference conductivity and after an eightfold increase.

  • Run source: out/sih_tx_6cmp_linux_ramp_dirichlet_cell_20260416

  • Methods: MODFLOW-NWT, MODFLOW 6, MODFLOW 6 irregular triangles, Boussinesq local partition, PETSc partition, PETSc complementarity

  • Run source: out/sih_tx_highk_linux_mf6_petsc_comp_20260416

  • Methods: MODFLOW 6, Boussinesq PETSc complementarity

  • Generation path: Linux PETSc environment via tools/investigate_surface_interaction_highk_linux.py.

  • The previous high-K MODFLOW-NWT and local-partition comparison was removed because it was poorly balanced and not physically reliable.

Case Setup#

  • Synthetic strip aquifer, 400 m long and 30 m wide, with one linear topographic slope toward the east outlet.

  • One fixed head on the east side, west divide, top drainage, and recharge prescribed as a yearly ramp then one dry year.

  • Budget terms are reconstructed on one free-cell control volume for the Boussinesq runs, so east-boundary exchange is measured on the interior interface to prescribed cells.

What It Shows#

  • How total outflow aligns or diverges across solver families on the same transient forcing.

  • How storage change reacts when conductivity increases while the geometry and forcing stay fixed.

  • How the same bulk diagnostics behave across the reference-K and high-K ramp regimes without relying on solver-specific flux partitions.

Key Parameters#

  • Reference case: hydraulic conductivity scale = 0.2x the baseline strip conductivity.

  • High-K case: hydraulic conductivity scale = 1.6x, i.e. eight times the reference benchmark.

  • Time step = 15 days, specific yield = 0.10, east imposed head = 5.0625 m, drainage conductance = 1e-4 m2/s.

How To Read It#

  • Read the top panel first: when total outflow separates, the methods disagree on how quickly water leaves the system.

  • Then compare storage change: if one curve stays higher, that method keeps more water in transient storage instead of exporting it.

  • Interpret this page as a bulk-budget comparison only; it intentionally avoids solver-specific outflow partitions that are not directly comparable term by term.

  • Use the two tabs to decide whether the disagreement is regime-dependent or persists when conductivity is increased strongly.

Next Steps#

  • Go back to the transient investigation tool if you want the full flux decomposition and the head snapshots behind these compact views.

  • Use the no-seepage companion page when you want to isolate the same comparison without emergent surface drainage.

Reproduce#

Run the underlying example or validation case with:

python tools/doc_gallery/generate_code_comparison_assets.py

Refresh the committed gallery artifacts with:

python -m tools.doc_gallery

Source Pointers#

  • tools/doc_gallery/manifests/code_comparison_cases.json

  • tools/investigate_surface_interaction_hillslope_transient.py

  • tools/investigate_surface_interaction_highk_linux.py

  • tools/doc_gallery/generate_code_comparison_assets.py

  • validation_cases/shared/boussinesq_budget.py

  • examples/projects/09_capability_gallery/code_comparison/surface_interaction_ramp/ramp_reference_k.png

  • examples/projects/09_capability_gallery/code_comparison/surface_interaction_ramp/ramp_reference_k.json

  • examples/projects/09_capability_gallery/code_comparison/surface_interaction_ramp/ramp_high_k.png

  • examples/projects/09_capability_gallery/code_comparison/surface_interaction_ramp/ramp_high_k.json

Artifacts#

  • docs/source/_static/capability_gallery/code_comparison/surface_interaction_ramp_configuration.png

  • docs/source/_static/capability_gallery/code_comparison/ramp_reference_k.png

  • docs/source/_static/capability_gallery/code_comparison/ramp_high_k.png

  • docs/source/_static/capability_gallery/code_comparison/surface_interaction_ramp_code_comparison_summary.json stores the displayed metrics plus source hashes used by python -m tools.doc_gallery --check.