Calibration Twin: Piecewise-K 1D#

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.

Same-solver twin benchmark on boussinesq_fixed_head_piecewise_k_1d with three zoned hydraulic-conductivity parameters and head/flux observables.

  • success_metric=distribution

  • meets_target=True

  • truth_recovered=False

  • cost=0.0451974

  • n_eval=48

  • calibration=16.22 s

  • candidate runtime=15.06 s

  • algorithm overhead=1.155 s

  • actualize=0 s

  • launcher prep=0 s

  • runtime patch=0 s

  • simulate=0.3138 s

  • output select=0 s

  • objective score=0 s

  • success_metric=distribution

  • meets_target=False

  • truth_recovered=False

  • cost=0.0289115

  • n_eval=48

  • calibration=15.98 s

  • candidate runtime=15.07 s

  • algorithm overhead=0.9074 s

  • actualize=0 s

  • launcher prep=0 s

  • runtime patch=0 s

  • simulate=0.3139 s

  • output select=0 s

  • objective score=0 s

  • success_metric=best_fit_or_distribution

  • meets_target=True

  • truth_recovered=True

  • cost=0.0211372

  • n_eval=48

  • calibration=15.97 s

  • candidate runtime=14.56 s

  • algorithm overhead=1.41 s

  • actualize=0 s

  • launcher prep=0 s

  • runtime patch=0 s

  • simulate=0.3034 s

  • output select=0 s

  • objective score=0 s

  • success_metric=best_fit

  • meets_target=False

  • truth_recovered=False

  • cost=0.0271745

  • n_eval=48

  • calibration=19.68 s

  • candidate runtime=18.18 s

  • algorithm overhead=1.502 s

  • actualize=0 s

  • launcher prep=0 s

  • runtime patch=0 s

  • simulate=0.3787 s

  • output select=0 s

  • objective score=0 s

  • success_metric=best_fit

  • meets_target=True

  • truth_recovered=True

  • cost=0.00225239

  • n_eval=48

  • calibration=22.09 s

  • candidate runtime=20.59 s

  • algorithm overhead=1.5 s

  • actualize=0 s

  • launcher prep=0 s

  • runtime patch=0 s

  • simulate=0.4289 s

  • output select=0 s

  • objective score=0 s

Case Setup#

  • Solver: modflow6 in steady regime.

  • Benchmark family: No-Uncertainty, Data-Rich Benchmarks.

  • Truth parameters: K_west, K_middle, K_east.

  • Observed outputs: head_west, head_middle, head_east, q_east.

  • Benchmarked methods: random_search, optuna, cma_es, scipy_nelder_mead.

  • Initial bounds widened to: K_west=[7.5e-05, 0.00035], K_middle=[1.5e-05, 0.00012], K_east=[3.5e-05, 0.000175].

What It Shows#

  • A same-solver twin experiment where synthetic observations are generated first, then recovered through calibration on the same physics stack.

  • A case-level configuration figure, an objective trace, and an objective landscape or pairwise projection for the selected display method.

  • Per-method timing diagnostics with total calibration time plus average per-model preparation, simulation, and objective-evaluation costs.

How To Read It#

  • Open case_configuration.png first to understand the parameter block, outputs, and weighting before reading the optimization figures.

  • Use objective_trace to judge convergence speed and objective_landscape to see where the evaluated candidates concentrate relative to the truth and the selected solution(s).

  • Read timing metrics as benchmark diagnostics, not as universal solver performance numbers: they depend on the chosen method, case size, and evaluation budget.

Key Metrics#

  • Methods: 4

  • Display method: random_search

  • Calibration total: 28.63 s

  • Session prep: 29.91 s

  • Candidate runtime: 28.21 s

  • Algorithm overhead: 0.4188 s

  • Model total: 0.5877 s

  • Actualize: 0.04864 s

  • Launcher prep: 0.04864 s

  • Runtime patch: 0 s

  • Model prep: 0.04864 s

  • Model sim: 0.5391 s

  • Output select: 0 s

  • Objective score: 0 s

Next Steps#

  • Compare this case with the other calibration gallery pages to see how deterministic and distribution-valued methods behave under different inverse problems.

  • Use the full benchmark suite in validation_cases/calibration when you need multi-seed comparisons or noisy variants beyond the curated gallery subset.

Reproduce#

Run the underlying example or validation case with:

python -m validation_cases.calibration.twin.steady.boussinesq_fixed_head_piecewise_k_1d.run_case

Refresh the committed gallery artifacts with:

python -m tools.doc_gallery

Case Parameters#

Benchmark Setup#

Field

Meaning

Value

Source

solver_name

Solver family used both to generate synthetic observations and to calibrate candidates.

modflow6

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

regime

Flow regime exercised by the inverse benchmark.

steady

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

output_names

Observables extracted from each candidate simulation and used in the composite objective.

head_west, head_middle, head_east, q_east

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

observation_noise

Synthetic noise injected after the truth run, if any.

none

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

evaluation_budget

Approximate per-method evaluation budget used by the gallery generator when set.

48

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

Calibrated Parameters#

Field

Meaning

Value

Source

K_west

Truth value, initial search interval, and acceptance tolerance for this calibrated parameter.

truth=0.0002, bounds=7.5e-05, 0.00035, tolerance=2.5e-05

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

K_middle

Truth value, initial search interval, and acceptance tolerance for this calibrated parameter.

truth=5e-05, bounds=1.5e-05, 0.00012, tolerance=1.5e-05

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

K_east

Truth value, initial search interval, and acceptance tolerance for this calibrated parameter.

truth=0.0001, bounds=3.5e-05, 0.000175, tolerance=1.5e-05

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

Methods And Timing#

Field

Meaning

Value

Source

random_search_seed017

Method result summary including target status, evaluation count, total time, and mean per-model actualize / launcher / simulation / objective timings.

meets_target=true, cost=0.0451974, n_eval=48, calib_s=28.6294, candidate_runtime_s=28.2106, algorithm_overhead_s=0.418823, actualize_s=0.048637, launcher_prep_s=0.048637, runtime_patch_s=0, model_sim_s=0.539083, output_select_s=0, objective_score_s=0

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

random_search_seed029

Method result summary including target status, evaluation count, total time, and mean per-model actualize / launcher / simulation / objective timings.

meets_target=false, cost=0.0289115, n_eval=48, calib_s=28.6542, candidate_runtime_s=28.2163, algorithm_overhead_s=0.437941, actualize_s=0.0499307, launcher_prep_s=0.0499307, runtime_patch_s=0, model_sim_s=0.537909, output_select_s=0, objective_score_s=0

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

cma_es

Method result summary including target status, evaluation count, total time, and mean per-model actualize / launcher / simulation / objective timings.

meets_target=false, cost=0.0271745, n_eval=48, calib_s=27.906, candidate_runtime_s=27.3996, algorithm_overhead_s=0.506364, actualize_s=0.049943, launcher_prep_s=0.049943, runtime_patch_s=0, model_sim_s=0.520882, output_select_s=0, objective_score_s=0

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

simplex

Method result summary including target status, evaluation count, total time, and mean per-model actualize / launcher / simulation / objective timings.

meets_target=true, cost=0.00225239, n_eval=48, calib_s=31.7126, candidate_runtime_s=31.2475, algorithm_overhead_s=0.465106, actualize_s=0.0544934, launcher_prep_s=0.0544934, runtime_patch_s=0, model_sim_s=0.596497, output_select_s=0, objective_score_s=0

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

Displayed Metrics#

Field

Meaning

Value

Source

method_count

Metric surfaced on the gallery page for the selected display method.

4

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

display_method_name

Metric surfaced on the gallery page for the selected display method.

random_search

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

calibration_time_seconds

Metric surfaced on the gallery page for the selected display method.

28.63 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

session_prepare_time_seconds

Metric surfaced on the gallery page for the selected display method.

29.91 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

estimated_candidate_runtime_seconds

Metric surfaced on the gallery page for the selected display method.

28.21 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

algorithm_overhead_time_seconds

Metric surfaced on the gallery page for the selected display method.

0.4188 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

mean_candidate_total_time_seconds

Metric surfaced on the gallery page for the selected display method.

0.5877 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

mean_candidate_actualize_time_seconds

Metric surfaced on the gallery page for the selected display method.

0.04864 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

mean_candidate_launcher_prepare_time_seconds

Metric surfaced on the gallery page for the selected display method.

0.04864 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

mean_candidate_runtime_patch_time_seconds

Metric surfaced on the gallery page for the selected display method.

0 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

mean_candidate_preparation_time_seconds

Metric surfaced on the gallery page for the selected display method.

0.04864 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

mean_candidate_simulation_time_seconds

Metric surfaced on the gallery page for the selected display method.

0.5391 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

mean_candidate_output_selection_time_seconds

Metric surfaced on the gallery page for the selected display method.

0 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

mean_candidate_objective_compute_time_seconds

Metric surfaced on the gallery page for the selected display method.

0 s

docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6_summary.json

Source Pointers#

  • validation_cases/calibration/README.md

  • validation_cases/calibration/run_benchmarks.py

  • validation_cases/calibration/plotting.py

  • validation_cases/calibration/shared/definitions.py

  • validation_cases/calibration/shared/runtime.py

  • validation_cases/calibration/twin/steady/boussinesq_fixed_head_piecewise_k_1d/run_case.py

  • validation_cases/calibration/twin/steady/boussinesq_fixed_head_piecewise_k_1d/experiment.py

  • hydromodpy/calibration/cli.py

  • hydromodpy/calibration/engine.py

Artifacts#

  • docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6__configuration.png

  • docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6__random_search_seed017_landscape.png

  • docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6__random_search_seed017_trace.png

  • docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6__random_search_seed029_landscape.png

  • docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6__random_search_seed029_trace.png

  • docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6__cma_es_landscape.png

  • docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6__cma_es_trace.png

  • docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6__simplex_landscape.png

  • docs/readthedocs/source/_static/capability_gallery/calibration/calibration_twin_boussinesq_fixed_head_piecewise_k_modflow6__simplex_trace.png

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