Gv8 Tutorial Manual-2
Gv8 Tutorial Manual-2
Gv8 Tutorial Manual-2
The model consists of a bedrock aquifer overlain in some areas by an alluvial aquifer
system. The aquifer extends from a topographic divide to a large river. A three-
dimensional depiction of the model area is shown below.
(Note: the picture above was produced using GlobalMapper and digital elevation model
files)
The alluvial aquifer occupies the areas near the stream channels in the low-lying parts of
the model. Groundwater flows generally from the topographic divide to the streams and
also towards the major river to the east.
The interface between the GIS and the model design is through a series of shapefiles
shown in the GIS legend above. The files we will use for this model include:
The only aspect of the model not provided in the files listed above is the design of the
finite-difference grid. Everything else about this model will come from the GIS. All of
these shapefiles were digitized in the GIS from aerial photography and topographic maps
in a relatively short time. In many cases, though, such data can be obtained from public
sources and modified to suit the needs of the model.
Start the new model by selecting File|New in Groundwater Vistas and choose the default
GWVistas Document. Change the number of rows to 50 and the number of columns to
150. Keep the grid spacing for both rows and columns as 100 m. We will use 3 layers in
the model. Change the default hydraulic conductivity (Kx and Ky) to 1 m|d. Set the
vertical hydraulic conductivity (Kz) to 0.01 m|d. Enter a recharge rate of 0.001 m|d.
Your screen should look like this one.
You may wonder how Groundwater Vistas figured out the mapping between the model
grid and the real-world coordinate system. If you do not specify a non-zero value for the
X and Y coordinates of the lower left corner on the initialization dialog (World
Coordinates of model origin shown above), GV chooses the minimum X and Y
coordinates on the first map file you overlay on the model as the real-world origin. In
this case, the origin of the aquifer outline is the correct real-world origin for the model. If
you create such an outline for each of your models, then matching your model to a world
coordinate system will be relatively simple.
Note that there are several rows and columns that go beyond the edge of the model
domain. In order to conserve memory, you will delete these rows and columns.
To delete the rows along the northern side of the model, there are two approaches. First
option is to select Grid|Delete|Row, then move the cursor just below the top row in the
model, and click the left mouse button. The second option is to press the G button on the
Use the same basic approach to delete the two eastern-most columns.
The aquifer we are going to simulate lies within the polygon you imported as a base map.
All cells outside that boundary should be inactive (i.e., no-flow cells). We will import
the same shapefile we used as a map to automatically fill in those cells with no-flow
boundary conditions. This is done by selecting BCs|No-flow and then
BCs|Import|Shapefile. Browse to find the same shapefile (aquifer_bdy.shp). GV will
then ask you “Set no-flow cells inside polygon?”. Answer NO to this prompt and GV
will make cells outside the polygon inactive. GV will then ask if you want to delete
existing boundary conditions. Answer NO to this one as well (it actually makes no
difference whether you say yes or no to this one as there are no other boundary conditions
in the model).
Now GV presents a dialog with some additional options. The only option for this model
is the first one, which is the relative overlap between a model grid cell and the polygon.
Any cell that overlaps the shapefile polygons by more than this amount will be made a
Remember that this is a 3-layer model. You imported the aquifer boundary shapefile into
layer 1. You also need to do the same in layers 2 and 3. Another option, though, is to
simply copy these no-flow boundary cells to the other layers. Go to layer 2 and select
BCs|Copy and click OK. Enter a 3 in the last field to copy noflow BCs from layer 1 to
layers 2 through 3.
Landfill.shp landfill.map
Streams.shp streams.map
Largeriver.shp river.map
Islands.shp islands.map
[Note: the map files listed above are already in the tutorial directory so they can be
used with the pre-built version of this model. If you get an error that these files cannot
be overwritten, then just rename them from the ones listed above.]
Before we add any additional boundary conditions or aquifer properties, we will add
some additional rows and columns from the landfill area to the river. The easiest way to
do this is to press the G button on the toolbar (for Grid mode) and then the R button (the
one without the red x) to insert rows. Start with row 33 (just south of the landfill) and
work your way to the north, ending with row 14. Move the cursor within the row and
click the right mouse button. Repeat for each row.
Now is a good time to save your work. Select File|Save As and give the model a name
you will remember. In Version 8, Groundwater Vistas asks you if you want to change
root file names whenever you use the “Save As” command. This allows you to
automatically choose a new name for the simulation each time you save the model under
a new name.
The next step is to adjust the layer elevations based on the digital elevation model (DEM)
in the file surface_topography.grd. First, make sure you are viewing layer 1. Select
Props|Top Elevation and then Props|Import|SURFER and browse to find this file in
gwv8\tutorial. Check the option that the file contains site coordinates (e.g., the same
coordinates as the base maps).
In the current model, we will be using uniform layer elevations for the bottoms of all 3
layers. The conceptual model in this fractured rock terrain is that hydraulic conductivity
decreases with depth. There is no definable bottom to the aquifer – it’s just that the
hydraulic conductivity decreases to a point where it becomes negligible. That depth is at
about 200 to 500 meters.
You will make the bottom elevation 250 m above sea level for layer 1, 200 meters for
layer 2, and 100 meters for layer 3. Start by selecting Props|Bottom Elevation. Make
sure you are viewing layer 1. To set the bottom elevation of layer 1 equal to 250 m,
select Props|Set Value or Zone|Clear and enter 250 in the dialog. Repeat this for layers
2 and 3. Go to each of those layers and use the same command. The bottom elevation
for layer 2 will be 200 m. The bottom elevation for layer 3 is 100 m.
Boundary conditions in this model consist of the small streams and the larger river to the
east. The large river is a polygon in the GIS because it is so wide. The smaller streams
are polylines because they are not very wide relative to a model grid cell. Polylines are
also useful when a linear feature changes in water level significantly over its length. GV
will interpolate river stage from the water level data entered into the GIS for both lines of
each stream segment.
The only tricky part about defining these features is the desire to keep the islands in the
large river as active cells. One way to do this is to temporarily make these islands no-
flow cells and then delete the no-flow cells after importing the rivers.
Make sure you are viewing layer 1. Then start by selecting BCs|No-flow and then
BCs|Import|Shapefile. Choose the islands.shp file in the gwv8\tutorial directory. When
GV asks if you want to set no-flows inside the polygons, choose “Yes”. The islands
should now appear as no-flow cells.
Next, use BCs|River and BCs|Import|Shapefile and import the largeriver.shp file. The
procedure when importing shapefiles with attribute data is to match up field names in the
shapefile database with model features. The following dialog is displayed for the large
Click OK when done and the green river cells should appear within the area of the large
river.
We need to convert the islands back to active cells. Select BCs|No-Flow and
BCs|Delete|Polygon. Digitize a polygon around the islands. Digitizing is done by
clicking the left mouse button to set points on the polygon and double-clicking to end the
polygon. If you make a mistake, you can right-click the delete the last point you entered.
You can digitize a polygon that goes around all of the islands. Just make sure the
polygon does not cross into any no-flow areas that you want to keep. After deleting these
no-flow islands, your model should look like the one below.
Select BCs|Modify|Change BC Type. Change the options so that you are converting
rivers to drains and only in reach 1. That is the most upstream portion of the main
tributary channel.
We will set up the model with 5 different zones of hydraulic conductivity. The first three
are in bedrock, with zone 1 assigned to layer 1, zone 2 to layer 2 and zone 3 to layer 3.
Zone 4 is the alluvium in layer 1 and zone 5 is the alluvium in layer 2. The first step is to
enter the hydraulic conductivity values for each zone. Select Props|Hydraulic
Conductivity and then Props|Property Values|Database. Enter the Kx, Ky, and Kz
values as shown below. Also set a unique color for each of the five zones.
Now we need to assign zone numbers to model cells. By default when you start a new
model, all cells in the model in all layers are assigned zone 1. Therefore, we do not need
to do anything in layer 1 which will contain zone 1. Go to layer 2 and choose Props|Set
The alluvial units are imported from shapefiles called alluvium.shp and alluvium2.shp
for layers 1 and 2, respectively. First, go to layer 1. Then select Props|Import|Shapefile
and browse to find the first file. The only thing we are importing from this shapefile is
the zone number. Set up the dialog as shown below.
Go to layer 2 and repeat this for the second alluvium shapefile. After importing both
files, your model should look like the one below in layer 1.
The model is ready to run. Select Model|MODFLOW|Packages and change the root
name to model1. Note that Vistas figured out that you have rivers, recharge, drains, etc.
and set up those packages for you. We also need to set up a few other MODFLOW
options. Select Model|MODFLOW|Package Options and click on the Initial Heads
tab. Change the initial heads option to use the top of layer 1. This is a good option to use
at first until the model is stable.
Start by defining the porosity of the bedrock and alluvial aquifers. Open your
Groundwater Vistas file for this model and select Props|Storage – porosity is a part of
the storage property in Groundwater Vistas. Since the bedrock and alluvial aquifers will
have differing porosity values, we will copy the hydraulic conductivity zones to the
storage property. Select Props|Set Value or Zone|Copy. The default property to copy
from is already set to hydraulic conductivity (K). Simply check the option to copy all
layers, as shown below.
Repeat this procedure for the 2 other wells. You should then have 3 circles of particles
around each well, as shown below.
In looking at the screen shot below, you may wonder why the circles are drawn centered
on the grid cell rather than the well. In this example (as in most models), the wells do not
lie at the grid cell center in the real world. As far as MODFLOW is concerned, however,
The only other thing to do is set MODPATH for reverse tracking. Select
Model|MODPATH|Particle Options and change the tracking to “Reverse”.
The particle traces do seem to indicate that the landfill is within the capture zone of the
central well, as shown below. Note that your particle tracks may look a bit different
depending on the size and exact location of the circles you entered.
To confirm these results, we will add particles in the landfill area and track them toward
the wellfield. First, though, we will delete the existing particles. The easiest way of
doing this is to select Edit|Select All|Particles and then Edit|Delete.
Add the particles using AE|Particle|Window and drag a window round the landfill.
Make sure the layer number you enter for the particles is 1. After you see the following
dialog, GV will prompt for the number of particles per cell. Just keep it at the default of
1.
If you go back and do the same with the previous simulation using reverse tracking you
will see that the particles travel in layer 3, the low-K bedrock with a much lower porosity.
So although the K is lower, so is the porosity so that the travel time is faster in the
bedrock. However, the particles stay in bedrock and never get up into the alluvium at the
landfill. So obviously you need to pay attention to the vertical dimension when
interpreting particle tracks. In this case, releasing particles in layer 1 around the wells
would have also been helpful.
We also need to change the length of time the MT3D model will simulate. In a steady-
state MODFLOW simulation, the stress period length does not have any meaning.
However, when using MT3DMS with a steady-state flow run, the stress period length is
the length of time that transport will be simulated. Select Model|MODFLOW|Stress
Period Setup and change the stress period length to 10950 days (30 years).
In the first simulation, we will assume that the contaminant is a conservative tracer. That
is, it does not degrade nor adsorb onto the aquifer material. Thus, no reaction properties
will be entered.
The database now contains the data for the second zone. To enter it in the model, select
Props|Set Zone or Value|Window and drag a window around the landfill. Enter 2 for
the zone number when prompted. Your model should look like the following.
There are several MT3DMS options to set before running the transport model. The first
is to give the run a root name. Select Model|MT3D|Packages and enter a unique run
name (e.g. mt3d1). Also, uncheck the 2 columns next to the reaction package. We are
simulating a conservative tracer so not reactions are required.
Running MT3D
You are ready to run the transport model. Select Model|Use MT3D and then click the
calculator button. Create datasets and after the model is finished import results for the
last time step. Make sure the concentration file is called MT3D11.UCN (or the mt3d root
name you entered with a “1” attached). If not click the browse button next to the
concentration file name. Put a check next to the concentration file. Click the browse
button next to the transport step number to choose the last time step, as shown below.
The purpose of this type of model is to determine whether concentrations will migrate to
some receptor above some regulatory limit. In this example, the receptors of concern are
the 3 pumping wells. To determine whether concentrations get above some limit, the best
thing to do is plot concentration break-through curves for each well. To do that, push
down the A button on the toolbar. Double-click on each well and put a check in the
option labeled “Montitor Head and Concentration vs. time”. Now, select Plot|Import
Results and click OK. Monitoring data are stored in each well during the import of
results. Now select Plot|Hydrograph|Monitoring Well. The hydrograph for the
southern well is shown below.
You may notice that the concentration contours indicate quite a bit of smearing of the
plume. This is caused both by the dispersion values you entered above but also by
numerical dispersion from the finite-difference approximation. Another transport scheme
called TVD is sometimes a better choice because it limits numerical dispersion. Run the
previous example again using TVD. Select Model|MT3D|General Options –
Advection tab. Change the scheme at the top from finite-difference to TVD. Also click
on the Time Stepping tab and change the initial time step size to 10. TVD uses a lot
more time steps than the finite difference technique because a uniform time step size is
used and it is usually small compared to finite difference. To keep the output from
getting too large, change the printing frequency (Printing tab) from 5 to 50. Rerun
MT3DMS.
Special Applications
Mine Dewatering
The first special application of MODFLOW is to mine dewatering. The issue in mine
dewatering usually revolves around how much impact there will be from the dewatering
of an open pit mine, how much water must be pumped by the mine over time, and then
how long will it take the pit to fill back up once mining ceases.
In this example, the first stress period will represent steady-state conditions prior to
mining. Mining will then following a sequence of 7 stress periods of 1-year duration
Groundwater Vistas will then ask if you want to copy Recharge from stress period 1 to
the other stress periods. Answer Yes to this and all other prompts. The last question asks
if you want to edit the stress period setup. Enter 365 for each stress period length in
periods 2 through 8. Use 10 time steps in periods 2 through 8 as well, with a multiplier
of 1.2. The multiplier of 1.2 is used to start each stress period with a small time step.
Click the “Transient Data” button to enter the drain elevations over time. The first and
second columns are the starting and ending stress period for each drain Head (elevation).
Start with stress period 2 and increment by 1 to stress period 8 as shown below. The
head for stress period 2 is 480 and decreases by 30 m for each period. Also set the
hydraulic conductivity to 1 (Kv) for each period.
To display the amount of water pumped over time from the mine, select
Plot|Hydrograph|Mass Balance|Model Summary. The graph below has been modified
to make the drain flow a bold line (double-click the graph to modify it). You can see that
Now we will create a simulation that evaluates the length of time required to fill the mine
pit after mining stops. This is most easily accomplished using the MODFLOW2005
Lake Package (LAK3). Before we do this, save the model you just created using a name
like bedrock_example_mine1.gwv.
The first step is to delete the drains you added to represent the mine. Select BCs|Drain
and then BCs|Delete|Window and drag a window around the mine drains. After they
have been deleted, add lakes using BCs|Lake and BCs|Insert|Window. Enter the initial
stage at 300 m (the bottom of the mine), a minimum stage of 290 and maximum stage of
500. Change the Lake Number to 1.
Click on the Initial Heads tab and change the initial heads option from “Top of Layer 1”
to “Set Heads from Head-save…”. Then click the browse button and find the results of
Click the Output Control tab and turn off the custom output control.
Finally, we want to be able to plot the change in lake level with time. Add a monitoring
well inside the lake. Select AE|Well and put the well anywhere inside the lake cells.
Give it a name and make the pumping rate zero. Check the option to monitor
head|concentration over time.
Now run the model you just created in MODFLOW2005. Import the results of the last
time step. To view the change in lake stage over time, select
Plot|Hydrograph|Monitoring Well and pick the one you just created above. You
should see something like the following.
Evaluating the impacts from developing new groundwater supplies is similar in concept
to the mining example we just simulated. The goal is to determine the impact on nearby
wells and also on surface water.
We will start from the first model you created. If you did not save that model, you can
use gwv8\tutorial\bedrock_example.gwv. Open that model now.
In this example, the first stress period will represent steady-state conditions prior to
additional pumping. New wells will then be added in a 1-year stress period. Start by
selecting Model|MODFLOW|Packages and change the MODFLOW root file name to
well1. Next select Model|MODFLOW|Package Options and remove the steady-state
check-box and change the number of stress periods from 1 to 2. Click OK when you are
done.
Groundwater Vistas will then ask if you want to copy Recharge from stress period 1 to
the other stress period. Answer Yes to this and all other prompts. The last question asks
if you want to edit the stress period setup. Enter 365 for the second stress period. Use 10
time steps, with a multiplier of 1.2. The multiplier of 1.2 is used to start each stress
period with a small time step.
MODFLOW2005 has a very useful feature in that each stress period can be steady-state
or transient. In this example, the first stress period is steady-state and the second one is
transient. GV should set this properly in the next dialog it displays. The first period
should be zero (steadystate) and second 1 (transient).