MF6 vs NWT on the Same 60x60 Grid#

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 case compares MODFLOW 6 and MODFLOW-NWT on the exact same 60x60 structured support. It keeps the more readable annual moderate forcing while removing the mesh family difference, so the page focuses on solver behaviour, native flux diagnostics, and execution-time spread.

See also

Read the gallery and validation reading guide if you want the parameter mapping, a recommended reading order, and the first modifications to try.

Case Setup#

  • Reference simulation: MODFLOW 6 on the 60x60 structured grid.

  • Candidate simulation: MODFLOW-NWT on the same 60x60 structured grid.

  • Compared observables mix full maps (head, depth, outflow_drain), three head probes, one outlet-flux chronicle, native flux panels, and execution-time bars.

What It Shows#

  • How MODFLOW 6 and MODFLOW-NWT diverge when the spatial support is held strictly constant.

  • How point chronicles, outlet flux, map snapshots, and native flux panels complement one another on the same benchmark.

  • How execution-time bars look when the comparison does not mix structured and triangular supports.

Key Parameters#

  • Support equality is the main control knob here: both simulations use the same mesh_label = “sgrid_60x60”, so disagreements are not attributable to a mesh-family change.

  • run_comparison_mf6_vs_nwt_same_regular_mesh_moderate.toml selects the observables that stay comparable across the two MODFLOW families.

  • Use the outlet-flux and native-flux observables together: the outlet curve shows integrated export, while the native panels reveal how each code reports internal drainage/accumulation terms.

How To Read It#

  • Start with the map and point metrics because this is the cleanest solver-only comparison in the section.

  • Then inspect the flux and execution-time observables to see whether numerical agreement and runtime cost move together or not.

  • If a discrepancy looks large, do not blame the mesh first: this page is intentionally built to remove that degree of freedom.

Next Steps#

Reproduce#

Run the underlying example or validation case with:

python -m tools.doc_gallery

Refresh the committed gallery artifacts with:

python -m tools.doc_gallery

Source Pointers#

  • docs/source/_static/capability_gallery/simulation_comparison/ex12_mf6_nwt_moderate_same_s60_comparison_manifest.json

  • docs/source/_static/capability_gallery/simulation_comparison/ex12_mf6_nwt_moderate_same_s60_comparison_metrics.json

  • docs/source/_static/capability_gallery/simulation_comparison/ex12_mf6_nwt_moderate_same_s60_observables.csv

  • docs/source/_static/capability_gallery/simulation_comparison/ex12_mf6_nwt_moderate_same_s60_summary_metrics.csv

  • docs/source/_static/capability_gallery/simulation_comparison/ex12_mf6_nwt_moderate_same_s60_difference_metrics.csv

Artifacts#

  • docs/source/_static/capability_gallery/simulation_comparison/ex12_mf6_nwt_moderate_same_s60.png

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