Professional Documents
Culture Documents
EXERCISE OBJECTIVES
1. To create a simple groundwater flow and solute transport model, using Visual MODFLOW,
to assess the human health risk (time-varying contaminant concentration at a Point of
Compliance) associated with 4 leaky petroleum USTs at a retail gas station.
2. To assess clean-up scenarios for the existing groundwater (benzene) plume created by
the leaky underground storage tanks.
3. To examine the model results (groundwater heads and solute concentrations) using
Visual MODFLOW 3D Explorer.
PROBLEM DESCRIPTION
Joe’s Auto Care is a typical ½ acre corner retail gasoline and automobile repair facility located in
the northeastern United States (see Figure 1).
As part of the initial site investigations, during the removal of four (4) petroleum underground
storage tanks (USTs) and associated dispensers and product delivery lines, contaminant impacts
were discovered in the soil beneath the site (soil and groundwater contamination). As well, free-
phase gasoline was discovered in the tank cavity that contained the underground storage tanks,
during closure activities for the USTs. According to inventory records, the UST system had been
leaking product for approximately four (4) years, and approximately 640 gallons of free product
was recovered prior to the cessation of product recovery activities.
Four (4) phases of site assessment were conducted to define the hydrogeology beneath the site,
and the extent of contamination including the installation of 24 monitoring wells. The horizontal
and vertical extent of impact appears to be delineated to the furthest practical extent. Joe’s Auto
has opted to perform a Risk-Based Corrective Action (RBCA) analysis to determine the need for
remediation in accordance with state laws. Results of the investigation indicate that the dissolved
phase groundwater plume appears to be stable, but does extend off-site to the northwest.
Based on the site investigations, the following table of parameters will be used for modeling:
The primary soil type encountered during drilling activities was clayey silt to a minimum depth of
two (2) feet. Rock beneath the clayed silt is weathered sandstone. The sandstone in this area
consists of cyclical deposits of Mississippian age sandstone and limestone. Groundwater is
encountered at approximately six (6) feet below grade in the sandstone and is flowing toward the
northwest. Potable water is supplied by the municipal water system, which draws water from the
nearby lake, located approximately ten (10) miles northwest of the site.
The contaminant plume is moving toward a rectory across the street from the gasoline station.
According to the Department of Natural Resources, there are three private wells located within a
0.5-mile radius of the site. One of these wells, situated 210 feet northwest from the contamination
source beside the rectory, is still being used, as shown in Figure 1. The other wells were drilled in
the 1950’s and are no longer in use. Regional topography indicates that surface drainage flows
northwest towards the east branch of the Rocky River.
Visual MODFLOW will be used to complete a Tier 2 RBCA modeling analysis of benzene clean-up
levels. This is usually accomplished using analytical models like BioScreen, but can easily be
accomplished using Visual MODFLOW.
For the purposes of this tutorial, the following terms and notations will be used. (This assumes
you are using a right-handed mouse.)
type - type in the given word or value
↔ - press the <Tab> key
↵ - press the <Enter> key
" - click the left mouse button where indicated
"" - double-click the left mouse button where indicated
The Create new model dialogue box will be displayed prompting you to enter the filename of the
new Visual MODFLOW project.
The New Model dialogue box will be displayed that allows you to describe the model setup. In
this window, we will fill in the following options:
Under the Units section, specify the following information using the mouse pointer and the
individual drop-down lists.
Length: feet
Time: day
Conductivity: ft/day
Pumping Rate: GPM
Recharge: in/year
Mass: kilogram
Concentration: milligrams/litre
After this information has been entered, the model set-up window will appear as follows:
The dialogue box will appear which displays the default parameter values for the Flow model. In
this window, we will fill in the following options.
For this exercise, the Start Date can be left at the default setting (i.e. today’s date). However, if
time-stamped data are to be imported from outside sources, then it is necessary to have the Start
Date fall at, or prior to, the oldest data point.
Steady-State Simulation Time is not used if you select Transient Flow, but a number must still be
entered. Although the simulation always runs to the same equilibrium solution in Steady State, the
total amount of water passing through boundary conditions depends on the amount of time
simulated. For example, Zone Budget analysis of a Steady State solution would be affected by the
simulation time, whereas regional head values would not.
We will keep the default flow parameter values, and the set-up window will appear as follows:
The following dialogue box will appear which displays the default parameter values for the
transport model.
Choose the dispersion parameters (10% of plume length = [0.10*210 feet] = 21.0 ft):
" Long. Dispersivity 21.0
Also, under the Species tab, change the designation from Conc001 to Benzene, by clicking on
“Conc001” and typing “Benzene”.
" type: Benzene
Click on the Model Params tab. The default dry bulk density (48.14 kg/ft3) is the value that we
would like to use, as shown below:
Click on the Species Params tab. The Distribution Coefficient (Kd = [Koc*foc] = [6.6E-5 * 0.01] =
6.6e-7 L/mg) is the value that we would like to use. The default first-order decay rate (0.01 /day) is
the value that we would like to use, as shown below:
" Distribution Coefficient (Kd) 6.6e-7
" First-order reaction rate (dissolved) 0.01
" First-order reaction rate (sorbed) 0
" Next
The dialogue box Creating the Model Grid will appear to Import a site map, and specify
dimensions of the Model Domain.
You will select an AutoCAD.DXF file to be used as a background base map for your model.
" ; Import a site map to import the DXF file.
Next, you must specify the location of the DXF file name.
" Browse
Next, you will specify the number of rows, columns, and layers to be used in the model. Under
Model Domain, enter the following model rows, columns, layers and depth information in the
appropriate boxes:
Columns (j): 58 ↔
Rows (i): 48 ↔
Layers (k): 1 ↔
Zmin (m): 530 ↔
Zmax (m): 580
As shown below:
Note: When the Import a site map option is selected, the Xmin, Xmax, Ymin, and Ymax fields will
be disabled (as shown in the above dialogue box).
" Finish
The Select Model Region dialogue box will be displayed, as shown below:
In the Model Origin and Model Corners boxes on the right, ensure that the values shown match
the ones listed below. If they do not match, change them where appropriate.
Model Origin:
X 0 ↔
Y 0 ↔
Angle 0 ↔
Model Corners:
X1 0 ↔
Y1 0 ↔
X2 580 ↔
Y2 480
To display the model grid on the .DXF background map, in the lower right of the Select Model
Region dialogue box,
; Show Grid
File attributes dialogue will appear to confirm the name of the source file being imported and the
name of the project map being created.
" OK
Visual MODFLOW will construct a 58 × 48 × 1 finite difference grid with uniform grid spacing in
both the X and Y directions, and will automatically open the Input Module as shown in the
following figure.
You are currently in the Input Module under the Grid menu.
We will assign the layer structure for the aquifer system. First, take a look at a row view:
" View Row from the side menu bar
" Choose 24
" [F8 – Vert Exag] from the bottom menu bar
type: 5
And, the Visual MODFLOW window will appear showing a cross section through Row 24, with a
vertical exaggeration of 5:1, as shown below:
Now, for simple Tier 2 Risk Assessment modeling, we will assume that the layer surfaces are all
flat, and the layers have constant thickness. This is reasonable for the small scale model domain
(580 feet x 480 feet) that we are simulating.
There are 2 layers in the model. An upper 15 foot weathered sandstone layer, and a lower 50 foot
sandstone layer (the upper 2 feet of clay has no impact on the flow analysis because the water
table is in the upper weathered sandstone). To model these two layers, we need to add one more
layer surface to the model:
" Edit Grid
" Edit Layers
Move the mouse into the model domain and click once (anywhere in the model domain) to add a
new layer.
" Close
Next, we will assign an elevation to the new layer (580 – 15 = 565 feet):
" Import Elevation
The following Visual MODFLOW window will appear, showing the cross-section through Row 24,
with 3 layer interfaces at constant elevations:
• ground = 580 feet
• bottom of layer 1 = 565 feet (bottom of weathered sandstone)
• bottom of model = 530 feet (bottom of un-weathered sandstone)
Let’s refine layer 2 into 5 sub-layers to better define head and concentration results with depth.
" Edit Grid from the side menu bar
" Edit Layers
" ~ Refine by 5
As shown below:
Move the mouse into the model domain, and left-click the mouse on the top interface of layer 2
and the bottom interface of layer 2, close the window, and the Visual MODFLOW window will
appear as follows:
You will be prompted to save your project grid data before continuing.
" Yes to save grid data
" View Layer from the sidebar menu
" Choose 2 (move the mouse into the model domain and click)
Change the conductivity of Zone 1 to 16.5 feet/day, so that the following window appears:
" OK
Now, we will add a new conductivity zone to represent the lower un-weathered sandstone, with
a hydraulic conductivity of 1.0 ft/day.
Use the mouse to choose (i.e. left-click in the center of) the upper-left model cell and then the
lower-right model cell, so that the entire model domain has been chosen, and the conductivity –
[Assign Window] icon will appear, as shown below:
" New
And, the model domain will turn blue, indicating that the cells in layer 2 will be in Zone 2. Assign
the following conductivity values to the new zone:
" Kx 1.0
" Ky 1.0
" Kz 0.1
" OK
Now, we will copy this conductivity zone (#2) to layers (3 – 6), so that all of these layers (3 – 6) will
represent the un-weathered sandstone:
" Copy / Layer from the side menu bar
" OK
Now, let’s look at the model in cross-section (along row 24) to see how the conductivity is
distributed by layer:
The cross-section shows that layer 1 is conductivity Zone #1 (16.5 ft/day, weathered sandstone),
and layers 2 – 6 are conductivity Zone #2 (1.0 ft/day, un-weathered sandstone), as shown in the
screen capture below:
Now that hydraulic conductivites have been assigned, we will change the storage parameters of
the model.
We will choose the entire model domain to be a uniform zone of storage parameters (that is
representative of sandstone), and change them to be the following:
" OK
You will use a constant head boundary to represent the heads along the east and west sides of
the model domain. From the side menu bar,
" Assign
" Line
You will assign a vertical line along the right-side of the model, where an equipotential of 578.0 ft
was measured. Move the mouse pointer to the upper-right corner of the grid. Left-click the
centre of the cell; move the pointer to the lower-right corner of the grid and right-click the centre
of the grid cell. A line of cells will be highlighted pink and the Constant Head – [Assign Line]
dialogue box will appear. Enter the following values:
" ; Assign to appropriate layer
" Stop time (day): 3650
" Constant Head Start Time Head: 578.0
" Constant Head Stop Time Head: 578.0
" OK
The pink line will turn to a dark red line indicating that a constant head boundary value has been
applied.
Now, assign a constant head boundary to the left side of the model in a similar fashion.
" Assign
" Line
Stretch a vertical line along the right side of the model, where an equipotential of 566.0 ft was
measured. Move the mouse pointer to the upper-left corner of the grid. Left-click on the centre of
the cell (left mouse button); move the mouse pointer to the lower-left corner of the grid and right-
click the centre of the cell (right mouse button). A line of cells will be highlighted pink and the
Constant Head – [Assign Line] dialogue box will appear as before. Enter the following values:
" ; Assign to appropriate layer
" Stop time (day): 3650
" Constant Head Start Time Head: 566.0
" Constant Head Stop Time Head: 566.0
" OK
You will want to copy the constant heads (both groups) to the rest of the model layers.
" Copy from the side menu bar
" Layer a Copy layer dialogue box will appear
" ; Copy all/selected groups to select this option
" ; Select all/highlighted so layers 2 to 6 are highlighted
" OK
MOVE the mouse pointer (red bar) into the model domain and select row 24 by clicking on the left
mouse button.
Move the mouse into the model domain, select the layer 1 and click the left mouse button.
You will be prompted to save the boundary data before going continuing.
" Yes
The Recharge – [Assign Default Boundary] dialogue box will appear. Enter the following into
the appropriate boxes:
Stop Time: 3650
Recharge: 1
" OK
An Import Head Well Data wizard will appear, which guides you through the import process.
The import file (obs_heads.txt) was designed in Excel to have the correct information in the
appropriate columns so that observation well information could be imported directly into the
model. Column names are in the first line. There are 7 columns of information:
- Well name, X, Y, Screen ID, Screen Elevation, Observation Time, Head
Use the following screen capture to match the Required Data to column number:
" Next
" Finish
And the observation wells will be imported into the model domain, as shown below:
Now, move your mouse into the model domain and left-click on the gridline at Y = 120, (when you
move the mouse near it, it will be highlighted a blue color and when you click on it, it will change
to the color pink) followed by the gridline at Y = 360.
The rows between the 2 selected gridlines will automatically double if you have performed the
operation correctly.
" Close
Now, we will perform the same task to the columns in the model.
Move your mouse into the model domain and left click on the gridline at X = 80 followed by the
gridline at X = 480. The number of columns between these 2 gridlines should double.
" Close
Once completed, your model domain should appear similar to the following figure:
The Run Module gives you the opportunity to select which engine you wish to use, and which
solving parameters (e.g. number of iterations, head-change criterion, damping criterion, etc.) you
wish to apply.
In future, you might wish to increase the maximum number of iterations, if the model does not
converge. However, for now, we will simply use the settings that were defined above.
" OK
" Run from the top menu bar
The Translate/ Run dialogue box will appear. Select the following programs to run:
Visual MODFLOW will now create the files necessary to run USGS MODFLOW-2000.
After the models are translated, the VMEngine dialogue box will be displayed. During the
execution of each numeric model, the VMEngine Suite keeps you up-to-date on which model is
currently running.
Note: A blue check mark indicates the numeric engine has completed running and converged; a
running-horse icon indicates it is currently running; a red circle indicates it is waiting to run.
" File / Exit to close the Run option of Visual MODFLOW
The head equipotential lines for your simulation will be displayed initially by default. These are the
blue parallel lines that range from 578 feet at the right boundary to 566 feet at the left boundary,
as shown below:
First, let’s take a look at the mass balance of the computed solution, and the calibration graph.
" Maps – ZoneBudget from the top menu bar
" Mass Balance
" Close
This calibration graph shows a good match between model-calculated heads and field-observed
heads for the 24 observation points. The mean error is close to 0.0 m, and the Normalized Root
Mean Square (NRMS) error is less than 10%.
Basically, this calibration graph shows that the model correctly predicts the hydraulic gradient
across the site and the average water level below the site. As more calibration data is collected
at the site, during further site investigation, a better model calibration can be achieved.
This completes Part 1 of this exercise. In Part 2 of the exercise, you will set up a contaminant
transport simulation using MT3D. To set up a transport simulation:
" File – Exit to exit the calibration graph
" [F10 – Main Menu] from bottom menu bar
All of these transport engines can be selected and set-up using the Setup Engines dialogue box.
Each transport code has associated advantages and disadvantages, and the final code selected
is typically based on project objectives and funding.
During model set-up, we chose MT3DMS as the transport engine. We chose to simulate linear
sorption and first-order irreversible decay. The input parameters and boundary conditions for
this simulation can be accessed through the input menu.
Let’s have a look at the transport parameters:
" Input to enter the Input module
" Properties
" Dispersion
" Database
This is the value of dispersivity that was determined to be necessary for the risk assessment
modeling (based on a length of interest of 210 feet).
" OK
" Layer Options
And the Dispersion Package window will appear, showing the ratios for horizontal transverse and
vertical transverse dispersion, and diffusion coefficient:
These are the ratios for dispersivity that were chosen for this modeling exercise.
" OK
" Properties
" Species Parameters
" Yes
" Database
" OK
These are the sorption and decay parameters that were set during model set-up.
Make sure that the model is in Layer 1. We will zoom in on Joes Auto property:
" [F5 – Zoom In] from bottom menu bar
Move the mouse pointer to a location northwest of Joes Auto (as shown on the DXF) and click the
left mouse button to anchor the zoom window. Stretch the zoom window to include Joes Auto
property and click again, and the Visual MODFLOW window will appear as follows:
We will assign a Constant Concentration to the 2 cells at the west-end of the UST storage area
(i.e. the 2 cells below the “U” that are highlighted on the DXF). Assign constant concentration
cells associated with these cells:
" Assign from the side menu bar
" Single
An Assign Constant Concentration dialogue box will appear. This dialogue box may however, be
on top of the location of the source concentration. To move the window, click and hold the left
mouse button down on the title bar while dragging the window to another location on the screen.
The source concentration is 30 mg/l (Benzene). You will assume that the source concentration
will be constant throughout the simulation time (10 years). Fill in the following parameters in the
Assign Constant Concentration window:
" Stop Time 3650
" Benzene [mg/L] 30
Click on the 2 CELLS at the west end of the UST area (as shown below). The cells will turn BLUE
after you select them, as shown below:
" OK
" [F6 – Zoom Out] from bottom menu bar
An Import Concentration Well Data wizard will appear, which guides you through the import
process. The import file (con_heads.txt) was designed to have the correct information in the
appropriate columns so that observation well information could be imported directly into the
model. Column names are in the first line. There are 7 columns of information:
- Well name, X, Y, Screen ID, Screen Elevation, Observation Time, Benzene Conc.
Use the following screen capture to match the Required Data to column number:
" Next
" Finish
And the observation wells will be imported into the model domain, as shown below:
MT3D allows you to select the solution method for the advection component of the transport
equation. Depending on the situation, each of the solution method for advection has different
advantages and disadvantages. For this exercise, you will select Upstream Finite Difference,
which is quick and does not introduce much numerical dispersion in this exercise.
" MT3DMS from the top menu bar
" Solution Method
" OK
Although the flow field is steady-state, you will run a transient transport simulation to see the
evolution of the plume with time. This requires that you specify the duration of the simulation.
" MT3DMS
" Output/Time Steps
The Output & Time Step Control dialogue box will appear. This dialogue box is used to define
the total time of the transport simulation, and to specify the times when you want to view results.
" Simulation time: 3650
" Max # Transport Steps 10000
By default, Visual MODFLOW assumes you want to save simulation results at the end of the
simulation only. However, for this example you want to save results at different times as the
simulation progresses.
~ Specified times [day(s)]
In the box that reads Output Time(s), click on the window and type in the following values (but,
do not press “Enter” after typing the last number):
1↵
180↵
365↵
1460↵
1825↵
2190↵
2555↵
2920↵
3285↵ and
3650
Note: do not press enter after the final number (3650), or the window will expect another number,
and the following screen capture will appear:
" OK
" Run from the top menu bar
The Engines to Run dialogue box will appear prompting you to specify the models to run. Select
MODFLOW 2000 and MT3DMS:
" ; MODFLOW
" ; MT3DMS
Visual MODFLOW creates the files necessary to run MODFLOW and MT3D. This simulation
should take less than a minute to complete. MT3D determines the step size for contaminant
transport automatically by attempting to minimize numerical dispersion and oscillations as the
functions relate to flow velocities and grid size of the model.
Depending on the simulation, the optimal time step may be quite small and result in extremely
long run times. Extended run times are common when pumping wells develop high flow velocities
in the area around the well screen.
The VMEngine Suite will once again appear. MODFLOW will run as before, followed by MT3DMS.
As MT3D runs, the transport step, step size, and total elapsed time are displayed.
The current period and transport step being analyzed is displayed at the top of the window beside
the project name. Two progress bars are also displayed. The Steps progress bar displays the
percentage of transport steps, out of the maximum allowable number of transport steps, used so
far. The Time progress bar indicates how much of the total simulation time has been simulated.
After a blue checkmark appears next to the MODFLOW and MT3DMS options, close the Run
option of Visual MODFLOW,
" Close in the corner of the VMEngine window
The concentration distribution can be visually analyzed in Visual MODFLOW in a variety of ways.
One option is to contour and customize the concentration distribution. Contouring simulation
results allows you to produce a range of contour plots for your site-specific results.
" Maps from the top menu bar
" Contouring
" Concentration
Another useful option to visually analyze your results is color shading, which creates a multi-
color intensity map using the concentration distribution.
" Options from the side menu bar
The C(0) - Benzene dialogue box will appear. Turn off the Automatic reset button:
"
Automatic reset min, max and interval value
" Minimum 1
" ; Custom Contour
type: 1 to add a contour line equal to 1 mg/L
Now, beneath the title ‘Use Color Shading’ we will change the Minimum value,
type: 1 to replace the minimum “0” value
Next, under the title ‘Cut off Levels’, change the Lower Level cut off,
" ; Lower level
type: 1 to replace the default ‘0’value
Lastly, we will change the Minimum Value under the Ranges to Color bar on the right hand side
type: 1
" OK
Next, step through model output time steps to examine the evolution of the contaminant plume.
" Next from the side menu bar, to the right of Time
Note. that the output time is displayed in the Status Bar on the bottom of the Visual MODFLOW
window.
Using COW-1 and COW-2, Visual MODFLOW can display a contaminant concentration versus
time breakthrough graph. This feature is useful for predicting contaminant concentration at any
point you specify in the model. To display the graph, follow these steps:
" Select from the side menu bar
" All to choose all Conc. Obs. Wells
" Graphs from the top menu bar
" Time Series
" Concentration
This will bring up a concentration-versus-time graph. Clicking on any point or any portion of the
plotted curve will display a pop-up bubble, which will give you the exact data pertinent to that
From this graph, the maximum Benzene concentration, at the property boundary (COW-2), after
approximately 1500 days of transport is about 7.6 mg/L, and at the Rectory well is approximately
1.04 mg/L. In order to leave the concentration graph:
" File – Exit from the Conc. vs. Time top menu bar
" [F10 – Main Menu] from the bottom menu bar
If time permits, adjust the following parameters to see the impact on concentration output:
• dispersion: from 21.0 feet ⇒ 10.5 feet (based on 5% of plume length)
• sorption: from 6.6E-7 L/mg ⇒ 6.6 E-8 L/mg (based on foc = 0.001)
To summarize, Visual MODFLOW is a useful modeling tool for Risk Assessment modeling. It is
easy to develop a simple groundwater flow and solute transport model that can be used to
investigate the soluble contaminant concentration downgradient of a spill area. The model can be
developed to have flat layers, constant parameters and a simple source area, just as easily as
would be developed using a Tier 2 Analytical Model such as BioScreen.
However, using Visual MODFLOW allows you the flexibility to increase the complexity of the
solution as more detailed field investigation information is gathered. For example, as more
information is gathered about the distribution of hydraulic conductivity, or the complexity of the
source area concentration, the Visual MODFLOW model can easily be adapted to develop a more
complex solution. As well, for the next stage in site investigation where a remedial solution is
required, Visual MODFLOW is quite useful for determine the optimal design solutions (pump-and-
treat well location, source removal, funnel-and-gate systems, …).