πŸ’§ IGW-NET Β· Quick Tutorial 19 of 31

Tutorial 19: Automated Parameter Estimation

Automated parameter estimation using optimization algorithms. Set up observation data, parameter bounds, and run inverse modeling.

IGW-NET Tutorial 19 Prereq: MAGNET4WATER account 7 sections

This tutorial covers

  1. Part A: Build the Truth Model
  2. Part B: Sample the Truth
  3. Part C: Set Up Parameter Estimation
  4. Part D: Run Parameter Estimation
  5. Part E: Analyze Results
  6. Part F: Visualize the Objective Function
  7. What's Next

1Part A: Build the Truth Model

Step 1 β€” Enter Synthetic Mode

Navigate to IGW-NET and log in. Go to 'Other Tools' β†’ 'Utilities' β†’ 'Go to Synthetic Case Area'. After clicking through the prompts, a rectangular model domain appears β€” a blank canvas with no map data, no geology, no preloaded properties. This is your laboratory.

Synthetic mode β€” blank rectangular domain ready for the truth model experiment
Synthetic mode β€” blank rectangular domain ready for the truth model experiment

Step 2 β€” Add a River Boundary

Go to 'Conceptual Model Tools' β†’ 'Lines' β†’ 'DrawLine'. Use left-clicks to draw a vertical line along the left edge of the domain. Click 'SaveShape' to finalize the line and open the Line Attributes interface. Assign it as a prescribed head feature with a constant head of -0.5 m. Click 'Save'. This river provides a fixed head boundary β€” water flows from the interior toward this boundary.

River boundary added along the left edge β€” prescribed head of -0.5 m
River boundary added along the left edge β€” prescribed head of -0.5 m

Step 3 β€” Add a Pumping Well

Go to 'Conceptual Model Tools' β†’ 'DrawWell'. Click near the center of the domain to place a well. In the Well Input Options interface, assign a pumping rate of -100 mΒ³/day. Click 'OK'. The well creates a cone of depression that distorts the regional flow field β€” making the inverse problem more interesting because the head distribution now has both regional gradient and local drawdown.

Pumping well placed near center β€” 100 mΒ³/day extraction rate
Pumping well placed near center β€” 100 mΒ³/day extraction rate

Step 4 β€” Set Aquifer Properties (the "Truth")

Open Domain Attributes ('Conceptual Model Tools' β†’ 'DomainAttr'). Set:

Top elevation: 0 m (default)
Bottom elevation: -50 m (aquifer thickness = 50 m)
Hydraulic conductivity: 16 m/day
Recharge: 12 in/year

Click 'Save'. These are the true values β€” the parameters you'll pretend not to know and try to recover through optimization.

Domain Attributes β€” setting the
Domain Attributes β€” setting the "truth" properties: K = 16 m/d, recharge = 12 in/yr

Step 5 β€” Run the Truth Model

Go to 'Simulation Tools' β†’ 'SIMULATE'. The model solves and displays head contours and velocity vectors. This is the "truth" β€” the known solution generated by the known parameters. In a real project, this is what nature computes. You see the result (heads at wells) but not the parameters that produced it.

Truth model results β€” head contours and velocity vectors from the known K and recharge values
Truth model results β€” head contours and velocity vectors from the known K and recharge values

Why a "Truth Model"?

Controlled experiment: In the field, you never know the true K or recharge β€” you only observe heads at scattered wells. So how do you know if your calibration method is working? By testing it on a problem where you DO know the answer. If the optimizer recovers K = 16 m/d and recharge = 12 in/yr from scattered head observations alone, you can trust it on field data where the answer is unknown.

Identical twin experiment: The conceptual model used for calibration is identical to the truth model β€” same domain, same boundaries, same grid. The ONLY unknowns are K and recharge. This isolates parameter estimation from conceptual model uncertainty. In practice, both are uncertain β€” but this tutorial teaches the method in its purest form.

2Part B: Sample the Truth

Step 6 β€” Randomly Sample Heads

Go to 'Analysis Tools' β†’ 'Analysis' β†’ 'Random Sampling'. This opens the Data Random Sampling interface. Use the default settings (number of sampling points, head as the sampled parameter). Check the box next to 'in format for Automatic Calibration (Head Only)'. Click 'Create Sampling Points'.

Yellow markers appear on the map β€” these are your "observation wells." The sampled heads are stored internally and will be available as calibration targets in the next steps. This simulates a real site investigation: you don't know K or recharge, but you've measured heads at scattered locations.

Data Random Sampling interface β€” generating observation data from the truth model
Data Random Sampling interface β€” generating observation data from the truth model
Sampling points (yellow markers) scattered across the domain β€” these are your
Sampling points (yellow markers) scattered across the domain β€” these are your "observations"

3Part C: Set Up Parameter Estimation

Multiplying Factors β€” How IGW-NET Parameterizes Calibration

The approach: Instead of optimizing K and recharge directly, IGW-NET optimizes multiplying factors applied to the base values. If K = 16 m/d and the multiplying factor = 0.5, the effective K is 8 m/d. If the factor = 1.0, the effective K equals the base value β€” the truth.

Why factors, not values? Multiplying factors normalize different parameters to the same scale. K might range from 0.001 to 1000 m/d, while recharge ranges from 0 to 500 mm/yr β€” wildly different magnitudes. Factors bring them both to a scale around 1.0, making the optimizer's job easier. The optimizer searches for the factor combination that minimizes the difference between simulated and observed heads.

In this tutorial: You'll start with factors of 0.1 (meaning initial K = 1.6 m/d and initial recharge = 1.2 in/yr β€” deliberately wrong). The optimizer must find factors of 1.0 to recover the truth.

Step 7 β€” Define Calibration Parameters

Re-open Domain Attributes. Under the 'Multiplying Factor' subsection:

1. Check the boxes next to 'Conductivity' and 'Recharge'
2. Enter 0.1 in both multiplying factor fields
3. Check the 'Calib' boxes for each parameter

Click 'Save'. The multiplying factor of 0.1 means the initial model uses K = 1.6 m/d and recharge = 1.2 in/yr β€” 10Γ— too low. The optimizer must find the correct factor of 1.0.

Domain Attributes β€” multiplying factors set to 0.1, Calib boxes checked
Domain Attributes β€” multiplying factors set to 0.1, Calib boxes checked

Step 8 β€” Configure the Optimizer

From Domain Attributes, go to 'Simulation Settings' β†’ 'Solver Options'. Check 'Automatic Calibration' and click 'Edit Automatic Calibration Solver'. For each parameter:

Kfactorinlayer1-Model1: Initial = 0.1, Min = 0.1, Max = 10 β†’ 'Save Edits'
Rechfactorinlayer1-Model1: Initial = 0.1, Min = 0.1, Max = 10 β†’ 'Save Edits'

Click 'OK'. The search space is defined: the optimizer will explore K factors from 0.1 to 10 and recharge factors from 0.1 to 10, starting at 0.1 for both.

Automatic Calibration interface β€” parameter ranges and initial values
Automatic Calibration interface β€” parameter ranges and initial values

Step 9 β€” Load Observation Data

From Solver Options, reopen the Automatic Calibration interface. Under 'Observation', select 'Input Manually' from the Data Source dropdown. The Calibration Data Input interface opens with the sampled head data from Step 6 automatically loaded. Click 'OK' to confirm.

Calibration Data Input β€” sampled heads automatically loaded as observation targets
Calibration Data Input β€” sampled heads automatically loaded as observation targets

4Part D: Run Parameter Estimation

Step 10 β€” Run the Optimizer

Go to 'Simulation Tools' β†’ 'Simulate'. IGW-NET runs the forward model repeatedly, adjusting K and recharge factors at each iteration to reduce the mismatch between simulated and observed heads. Watch the solution evolve β€” the head contours shift as the optimizer homes in on the correct parameters. When convergence is achieved, a prompt confirms that parameter estimation is complete.

Parameter estimation in progress β€” the optimizer iteratively adjusts K and recharge factors
Parameter estimation in progress β€” the optimizer iteratively adjusts K and recharge factors
Converged solution β€” the optimized model closely matches the truth model
Converged solution β€” the optimized model closely matches the truth model

What the Optimizer Does

The objective function: At each iteration, the optimizer computes the sum of squared differences between simulated heads and observed heads across all sampling points. This single number β€” the objective function β€” measures how wrong the current parameter combination is. The goal: minimize it to zero.

The search algorithm: IGW-NET uses a gradient-based optimization that evaluates sensitivity of the objective function to each parameter, then adjusts parameters in the direction that reduces the objective function most efficiently. Each step requires re-running the forward model β€” so parameter estimation is computationally expensive (many forward runs).

Convergence: The optimizer stops when the objective function stops decreasing β€” when further parameter adjustments don't improve the fit. At convergence, the estimated factors should be close to 1.0 (the truth). If they're not, it could mean: insufficient data, non-unique solution, or an incorrect conceptual model.

5Part E: Analyze Results

Step 11 β€” View Convergence and Fit

Go to 'Analysis Tools' β†’ 'Analysis' β†’ 'Display Charts'. The Parameter Estimation Results interface shows:

Convergence history: How the objective function decreased over iterations
Composite scale sensitivity: How sensitive the solution is to each parameter

Click the red '>>' (options) button to see the numerical results β€” initial and final parameter values, statistical indicators. Select 'Initial Model vs Data' from Chart I Options and 'Dimensionless Scaled Sens.' from Chart II Options, then click 'Redraw'.

The 45-degree plot shows the initial model (pink markers, scattered β€” poor fit) and the calibrated model (blue markers, on the line β€” excellent fit).

Convergence history and sensitivity analysis β€” the optimizer found the solution
Convergence history and sensitivity analysis β€” the optimizer found the solution
Initial vs. calibrated fit β€” pink markers (initial, poor) vs. blue markers (calibrated, on the 45Β° line)
Initial vs. calibrated fit β€” pink markers (initial, poor) vs. blue markers (calibrated, on the 45Β° line)

6Part F: Visualize the Objective Function

Why Visualize the Objective Function?

The objective function surface shows how the mismatch between model and data changes across the entire parameter space β€” not just at the optimized point. It answers critical questions:

Is the solution unique? A single, deep valley means there's one best parameter combination. A long, flat valley means many combinations fit equally well β€” the parameters are correlated (you can trade K for recharge and get the same heads). This non-uniqueness is fundamental to groundwater inverse problems.

Is the solution stable? A sharp, narrow valley means the solution is tightly constrained β€” small data perturbations won't change it much. A broad, flat valley means the solution is poorly constrained β€” more data is needed.

Are there local minima? Multiple valleys mean the optimizer could get stuck in a wrong solution depending on where it starts. This is why initial values and search ranges matter.

Step 12 β€” Configure Objective Function Analysis

Return to the Automatic Calibration interface. Under Options, change from 'Optimization' to 'Objective Function'. Set 'Number of Breaks' to 10 for both parameters. For each parameter, check 'Used in ObjFun Calculation' and click 'Save Edits'. For the recharge factor, change Max to 2. Click 'OK'.

This tells IGW-NET to evaluate the objective function at 10Γ—10 = 100 parameter combinations across the search space β€” a systematic grid search.

Step 13 β€” Run and View the Objective Function

Go to 'Simulation Tools' β†’ 'Simulate'. IGW-NET runs 100 forward simulations β€” one for each KΓ—recharge combination. This may take several minutes. When complete, go to 'Analysis Tools' β†’ 'Analysis' β†’ 'Display Charts'. The IGW-NET 3D Volume Chart shows the objective function as a contour plot. Click the '>>' button and check '3D View', then 'Redraw' to see the objective function as an interactive 3D surface.

Objective function contour β€” the valley shows where the optimal parameter combination lies
Objective function contour β€” the valley shows where the optimal parameter combination lies
Objective function as a 3D surface β€” the minimum corresponds to the true parameter values
Objective function as a 3D surface β€” the minimum corresponds to the true parameter values

Key Concepts

Inverse modeling is the central challenge: In practice, you never measure K everywhere β€” you measure heads at a few wells and infer K. This tutorial demonstrates the method in a controlled setting. The same optimizer works on real field data with real heterogeneity and real uncertainty.

The objective function surface reveals the physics: In this simple homogeneous case, K and recharge are correlated β€” increasing K while increasing recharge can produce similar heads. The objective function valley is elongated, not circular. This is a fundamental property of the groundwater inverse problem: recharge and conductivity trade off against each other. More observation data, or different types of data (fluxes, concentrations, not just heads), help break this correlation.

Sensitivity tells you where to invest: The composite scale sensitivity chart shows which parameter the model is most sensitive to at the sampling locations. If K sensitivity is high but recharge sensitivity is low, your data constrains K well but recharge poorly β€” you might need different observation types (e.g., baseflow measurements) to constrain recharge.

From tutorial to practice: Real parameter estimation uses zone-based or pilot-point parameterization (many K values, not one), regularization (penalty for complexity), and prior information (geological constraints). IGW-NET supports all of these. This tutorial teaches the foundation β€” the concept of inverse modeling β€” using the simplest possible case.

7What's Next

Continue the calibration and verification learning path:

Tutorial 20: Theis Solution β€” verify your model against analytical solutions for pumping tests
Tutorial 21: Unstructured Grid (Create) β€” flexible mesh for complex geometries
Tutorial 22: Unstructured Grid (Results) β€” visualize results on unstructured grids