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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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