You are on page 1of 110

Groundwater Modelling using MODFLOW

Exercise handouts

WSE- Hydroinformatics 2011- 2013

A. Jonoski
UNESCO-IHE Institute for Water Education
Table of contents
Part 1 .................................................................................................................................. 1
Model 1 – Confined aquifer............................................................................................ 3
Model 2 – Unconfined aquifer........................................................................................ 4
Part 2 .................................................................................................................................. 8
Model 3 – Aquifer for water supply – pollution analysis ............................................... 9
Model 4 – Profile model - flow under a dam................................................................ 13
Guides for model building in Processing Modflow for Windows (PMWIN) ............ 15
Model 1 – Confined aquifer.......................................................................................... 16
Model 2 – Unconfined aquifer...................................................................................... 53
Model 3 – Aquifer for water supply – pollution analysis ............................................ 76
Model 4 – Profile model- flow under a dam............................................................... 101
Part 1

1
2
Model 1 – Confined aquifer

A confined aquifer with a width of 2000 m in north-south direction is bounded with two
canals on the eastern and the western side. All the data are presented on Figure 1.

Plan view

B= 2000 m

Cross-section

A
25 m

20 m
15 m
10 m

K1=20 m/day K2=10


m/day 0m

L1=1500 m L2=500 m

L=2000 m A
Figure 1

3
a) What is the shape of the groundwater head distribution in east-west direction? Calculate
the groundwater head at the section A-A and the groundwater flow through the aquifer
analytically. Can you calculate the flow by using only one value for an average
hydraulic conductivity?
b) Using MODFLOW build a groundwater model which will simulate the groundwater
flow through the aquifer. Use a grid of 20x20 computational cells. Use additional cells
to represent the two canals as constant head boundaries.
c) Check if the groundwater head distribution is as you expected before building the
model.
d) Check if the model calculated flow through the aquifer is the same as the one calculated
analytically. Try to improve the accuracy of the calculated flow by using smaller
computational cells at the boundaries (1st option), and by using the General Head
Boundary (GHB) package (second option).
e) Using the results from the water balance from the original model (the one with constant
head boundaries) replace the western boundary with a prescribed flow boundary and
check if the results are the same. Use the well package to prescribe the flow.
f) Using the water balance from the model replace both the eastern and the western
boundary with prescribed flow boundaries and try to run the model. Run this model
with several different initial heads. What is the conclusion about this model?

Model 2 – Unconfined aquifer

The groundwater system is similar to the one in problem 1, except that the aquifer is now
unconfined, and there is one average hydraulic conductivity (see Figure 2).

Cross-section
25 m

20 m
15 m

K=20 m/day
0m

x L=2000 m

Figure 2

4
a) Calculate the flow through the aquifer analytically. What is the shape of the
groundwater head distribution in east-west direction?
b) Rebuild the existing MODFLOW model from problem 1, to simulate this case with
unconfined aquifer.
c) Check if the shape of the groundwater head distribution is the same as you expected
before building the model.
d) Check if the flow through the aquifer is the same as calculated analytically.
e) In the model built under b) add a pumping well at the cell with cell co-ordinates (15,15)
which will abstract water with a rate of 2000 m3 /day. See the resulting distribution of
groundwater head.
f) Using the water balance determine how much water is provided as inflow from each of
the two boundaries.
g) A farmer argues that the abstraction well included in the model under e) causes severe
lowering of the groundwater table on the location of his fields at cell (11,11). Using the
model calculate the drawdown at this location due to the abstraction from the well.
Drawdowns are calculated as : initial heads – calculated heads.
h) Using the particle tracking method (PMPATH) determine the capture zone of the well
introduced under e). (use backward tracking).
i) Assume that there is a contamination plume in the model covering the area consisting of
the cells: 4,8 ->6, 11:
4,8

6,11

Check if the contamination from this area will reach the pumping well introduced under g).
(use forward particle tracking).

5
(From here starts the part that you need to submit in your exercise report):

I=0.8 mm/day

25 m

20 m
16 m

K=16 m/day
0m

L=2000 m

Figure 3

j) The aquifer is now somewhat modified. It has additional inflow from natural recharge,
which is equally spatially distributed over the whole length of the aquifer and amounts
to 0.8 mm/day. Also, the hydraulic conductivity is different and it has a constant value
of 16 m/day (see Figure 3). The downstream boundary is at the level of 16m. Derive the
analytical solution for head distribution and for calculation of the flow through the
aquifer (in 1D).
k) Is the flow through the model in west-east direction constant? What is the flow at x=0
and at x=L (calculated analytically)?
l) If the flow conditions result in creation of a groundwater divide, calculate analytically
its location, and the groundwater head at this location.
m) Modify the original MODFLOW model built under b), so that it will represent the
current aquifer (add the influence of recharge and modify the values for hydraulic
conductivity). (Remember first to delete / deactivate the well that you have introduced
under e)!). Run the model with constant head boundaries and provide the head
distribution and the water balance results.
n) Using the GHB package assign accurate boundary conditions to this model so that you
will get correct water balance (as close as possible to the analytical solution). Think
carefully about the assignment of the conductance values at the two GHB boundaries.
Submit the model-calculated water balance, its comparison with the analytical
calculation, and the plot with the groundwater head distribution.
o) Convert the model to the one with constant head boundaries. A water supply well is
introduced with the same coordinates (15,15) and pumping rate (2000 m3/day) as in

6
question e) . Run the model and check if the well receives any water from the
boundaries. If that is the case – find the approximate maximum pumping rate of the
well for which it does not take water from any boundary. (Adjust the pumping rates of
the well by trial and error, while checking the model results). Submit the final solution
with any of the result that you find appropriate (water balance, head distribution,
particle tracking) to show that indeed the well does not take water from any boundary.

7
Part 2

8
Model 3 – Aquifer for water supply – pollution analysis

Groundwater from an aquifer is being exploited for water supply of a nearby town. The
aquifer data are presented in Figures 2, 3 and 4. The aquifer is created at a confluence of
two rivers, and large part of the recharge to it comes from these two rivers. There is
additional recharge from natural infiltration. From the north the aquifer is also recharged by
an inflow ‘q’ that comes from the neighbouring groundwater system. There are 12 wells
installed in the system that are providing the needed quantities of water for water supply,
with different abstraction rates, depending on the K-value (hydraulic conductivity) of the
area where they are located.

Since recently, the water quality in the main river (the one bounding the aquifer from the
south) has been seriously deteriorating due to upstream pollution. As a consequence the
wells close to that river have been abstracting water with poor water quality, and they need
to be closed down. Also, the water that is in the aquifer, and has been within the capture
zones of the wells close to the polluted river, should not be abstracted any longer.

A steady state groundwater model (2D in plan) needs to be constructed that will simulate
the existing situation, and the situation after closing down of the polluted wells

The model needs to provide answers to the following questions:

a) What is the present groundwater head distribution in the aquifer? What is the current
water balance?
b) What are the capture zones of the wells in the aquifer, and especially of those along the
polluted river?
c) How large is the zone in the aquifer that needs to be excluded from future pumping?
d) What will be the groundwater head distribution, the changes in water balance, and in
recharge-discharge zones if all the wells along the polluted river are switched off?
e) Are the remaining wells pumping any water from the river or from the polluted zone of
the aquifer? If that is the case - reduce some of their pumping rates so that all polluted
water discharges into the river.
f) Estimate the time that will be needed for all the polluted water to be discharged back
into the river.

The available data for this problem are presented on figures 1, 2 and 3. Other available
data are as follows:

Hydraulic conductivity data:

K1=11 m/day
K2=20 m/day
K3=7.0 m/day
K4=3.5 m/day

Abstraction data per well:

9
W1, W2, W6, W7, W8, W9 – 1200 m3/day

W3, W4, W5 – 500 m3/day

W10, W11 – 2000 m3/day

W12 – 1000 m3/day

Average recharge from infiltration over the whole area: R= 1.0 mm/day

Recharge from the north: q=3500 m3/day/km

Rivers data: Conductance = 360m2/day; River bottom elevation = 5m below


topography; Water depth in rivers = 3.5m; Thickness of the river bottom layer = 0.5m;
Hydraulic conductivity of the river bottom layer = 0.1 m/day

Effective porosity = 0.2 –> for the whole area.

q
(m)

K3

POND
W12
W4
W11 W10
W9
2 km K4
W5 K2
K4
W8
W3 K1
W7

W6
W1 W2
K1

3 km

Figure 1. Plan with wells distribution, and zones with different K-


values

10
Figure 2. Points with topographical data

q
x
x 52.1 x (m)
x
50.4

x 48.6
46.7
42.9
x
39.8

x 42.5
41.0
43.8 39.5
39.5
39.0
2 km
x 42.1 40.0
39.5
39.6
38.5

x
39.7 39.5
40.0 40.5

3 km

Figure 3. Points with elevation of the bottom of the aquifer

11
Approach for building the model:

The maps are available in //vmfileserver01/-jonpublic/Groundwater-exercise/Maps-model3


as jpg images (raster maps). Import the appropriate maps into the PM5 environment using
Options-Maps-Raster graphics.

Use worksheet size with the following co-ordinates: x1=0,y1=0; x2=3300, y2=2350.

Set the two reference points of any imported map as follows:

Point 1: the bottom left corner of the image (x=0, y=0);


Point 2: the top right corner of the image (x=3310, y=2460)

Construct the model grid on top of these base maps, with cells sized 50x50 meters. Use the
river package for specifying the river data, and the well package for the flow boundaries
with inflow from the north. Using the digitizer utility create XYZ files for topography (top
of layer), and bottom of layer. Using field interpolator -utility generate matrix files for the
model grid that you have built. Consult the online PM5 help for using the digitizer and
field-interpolator utility.

Assign all data for boundary conditions, parameters and other inputs. Run the model and
check the groundwater head distribution (contour map), and the water balance. Use
backward particle tracking to determine the capture zones of the wells. Use forward
tracking with particles starting from the southern river to determine the polluted zone of the
aquifer. Once you have the image from the particle tracking results you can draw a line
which delineates the polluted zone from the clean zone. Use the Line Map File to save this
map. Consult the online help on how to use this file format.

Run the model for the situation when the wells along the southern river are closed down.
Check the groundwater head contours, and re-run the particle tracking options. Using the
delineation line created before, you can now place particles along this line and track them
forward to see when and where they will reach the river. The slowest particle that reaches
the river should give you an estimate about the time that is needed for all polluted water to
be discharged into the river. You can also read this from a file if you save the end points of
the particles from the ‘File’ menu.

12
Model 4 – Profile model - flow under a dam

A concrete dam is founded on a sandy aquifer. All the data are presented on Figure 4.

a) Build a profile model, and calculate the head distribution under the dam, and the flow
per unit width. Calculate the uplift force exerted on the bottom surface of the dam (per
unit width).
25,0m

110,0

90,0m
85,0m

Uplift
M=50m force K=1.0m/day

Figure 4
b) How much can the flow be reduced by introduction of a vertical wall (see Figure 5)
with low hydraulic conductivity (K = 0.005 m/day), with thickness of 1m, and depth of
30 m. (Use the Horizontal-Flow-Barrier Package). What will be the distribution of head
under the dam? How much will be the uplift force on the bottom surface of the dam?

25,0m

110,0

90,0m
85m

D=30m
K=1.0m/day
M=50m

Figure 5

13
c) Try to reduce the flow further by introducing a drainage gallery inside the dam, at its
bottom, in which a water table of 87 m is maintained (See Figure 6). Use one model cell
with constant head to simulate this effect. Calculate the head distribution under the dam and
the uplift force on the bottom surface of the dam

25,0m

110,0
87m
90,0m
85m

D=30m A-A
K=1.0m/day
M=50m

Figure 6

Bonus question:
Try to provide separate graphs of the discharge distribution in the area downstream of the
dam (Section A-A in the last Figure), for the three different cases under a), b) and c).

14
Guides for model building in Processing Modflow for
Windows (PMWIN)

15
Model 1 – Confined aquifer

Step 1: Create a folder on the local drive (for example D://user/GWexercises/Model1)

Step 2: Open Processing MODFLOW for Windows

Step 3: PM environment: Create a new Model via the File menu and save it in the folder
that you have created in step 1.

16
Step 4: The process of model building in PMWin proceeds by following from top to bottom
the menu items in Grid and Parameters menu groups.

Start with Grid – Mesh size

17
Set the mesh size as in the following figure. Use rows and columns with size of 100m (This
is set automatically by selecting number of rows and columns and the model extent). Note
that we use two additional columns for representing the boundaries.

After clicking OK you will see the grid in the PMWin Editor

18
This editor is specific for managing the grid in PMWin. The buttons on top of the grid and
the information available on the status bars at the bottom of the editor are self-explanatory.
If you want to learn more about the interface of the editor you can consult the Help via the
menu. Search for the Modelling Environment in the Adobe pdf Help file.

Here we will only change the size of the worksheet window. Go to Options ->
Environment and change the Viewing Window Size as presented on the Figures below:

This will allow you to see a larger grid in the viewing window. You can then pan the grid
to place it in the centre of the viewing window.

Pan button:

19
The final look will be:

Leave the editor by using the exit button. Save the grid setup when prompted.

Exit button:

20
Step 5: Setting the Layer property.

We have only one layer in this model. In the next window select the layer to be Confined
(type 0) and set all parameters to be Calculated. The layer type is selected by clicking the
top right corner of the layer Type cell.

21
Step 6: Setting the Boundary Condition type.

From the Boundary Condition menu item select the IBOUND (Modflow) option.

The editor that will appear is a standard editor for almost all inputs in PMWin. You will
see the same editor when inputting many other parameters of the model. Be careful that
you are always using the right editor, by checking the parameter type at the bottom status
bar.

22
In this editor we need to set the codes for the boundary types:
Constant head cells : code = -1 (These will be the boundaries of our model)
Active cells : code =1 (Default code for all cells)
Inactive cells : code 0 (We will not use them in this model)

Since all the cells in our model already have the code of 1, we only need to change the
codes for the two boundary columns into the code -1.
Right click on the upper left corner cell of the model and put a value of -1:

The colour of that cell will change into dark blue

23
Click the duplication button from the upper toolbar (the effect of this button is that while it
is pressed the previous value will be copied into whatever cell that will be clicked next).

The duplication button:

Now move downwards with the down arrow key of your keyboard (or with the left click of
your mouse) to copy the same value of -1 to all cells of the left column. When finished,
click with the mouse on the upper rightmost cell, and again with the arrow key move
downwards so that the same value of -1 is copied to all the cells of the right column. Switch
off the duplication button! The final look of the screen should be like this:

Leave the editor with the exit button and save the changes!

24
Step 7: Setting the Elevation of the Layer Top.

Even though we already set the top of the layer when we built the grid, from this menu we
can always change or reset the values for the top of the layer.
Once you are in the editor the grid will appear with the constant head cells marked in dark
blue. The appearance is the same as in the previous editor, but you are now editing the
elevation of the layer top!

25
The value of the top of the layer is set to 10m everywhere in the model. If you want to
change this to another value, you can use the Value -> Reset Matrix option from the menu.
This option changes all values in the modelling domain to one value.

Try changing all the values, for example, to 100m, and then change them back to 10m (the
value required in this model)

Leave the editor with the exit button and save the changes!

Step 8: Setting the Elevation of the Layer Bottom.

The same editor will appear, but now for editing the elevation of the layer bottom.

The values for the elevation of bottom of the layer can also be changed or reset through the
same editor. The values are already set to 0 everywhere in the modelling domain. If not,
reset them to the value of 0 via the Value -> Reset Matrix option from the menu.

Leave the editor with the exit button and save the changes!

26
Step 9: Setting the Time parameter of your model.
From the Parameters menu group select the menu item Time:

In the following window select Steady state and the time unit of days and click OK:

Note that in MODFLOW the unit of length is never specified. You have to be consistent
with using the units of length for all parameters and inputs!!

27
Step 10: Setting the Initial and Prescribed Hydraulic Heads.

In this editor we specify all the initial heads in the model, together with the heads that are
prescribed at the constant head boundaries. At the two boundaries we need to specify
prescribed heads of 20m (west) and 15m (east).

In steady state calculations, the initial heads are just values from where the iterations need
to start. They are not real initial values at a given moment in time, like for unsteady
(transient) state. This means that we can give any values as initial heads. However since the
boundary heads are 20m and 15m, we know that all heads inside the model will be in
between these two values. Therefore we will first set the initial heads to a value of 18m
everywhere in the model. We will do this through the Value -> Reset Matrix option from
the menu.

28
Now we need to change the prescribed heads at the boundaries. Right click on the upper
left corner of the model and specify the value of 20. Using the duplication button, copy
this value to all cells of the left column which represents the western boundary. The process
of duplication is presented in the figure below:

When finished with the western boundary, switch off the duplication button!

29
Repeat the same procedure for the eastern boundary, but now using a value of 15. The final
look will be like this:

Whenever you make changes of values in this editor the colour of the cells with a changed
value will be converted into light green. If you want to come back to the familiar look
without these light green cells just go to Options -> Environment and then click OK in the
following window. This will refresh the screen to the basic colouring.

30
Once finished, leave the editor with the exit button and save the changes!

Step 11: Setting the Horizontal Hydraulic Conductivity.

As specified in the assignment, part of the modelling domain (up to length 1500m) has a
hydraulic conductivity value of 20 m/day, whereas in the last 500m the value is 10 m/day.
You can specify these values from the editor, by right clicking and using the duplication
button. The value of 20 m/day needs to be specified from the western boundary up to and
including column 16.

31
The remaining columns (17-22) will have the value of 10 m/day.

Once finished, leave the editor with the exit button and save the changes!

32
Step 12: Setting the Effective porosity.

Since Transmissivity will be calculated, we only need to specify the values for the effective
porosity. This parameter will not be used in the flow calculations, but will be needed for the
particle tracking calculations that will be done later. From the editor reset all the values to
effective porosity of 0.20. Use the Value -> Reset Matrix option from the menu.

Step 13: Running the model.

In this simple model, we don’t need to specify any additional information and we can go
ahead and run the model. The model is run from the Models menu group. In this menu
group there are several menu items. We will use only the first, MODFLOW, and later on
the last, PMPATH. The rest of the models are for contaminant transport modelling and
automatic calibration.

33
Under the MODFLOW menu item there are several additional items. By using Flow
Packages we can specify many additional inputs and parameters for a MODFLOW model.
For this model we don’t have any additional packages. Via Solvers we can select different
algorithms for solving the groundwater flow equation. For calibration purposes we may
provide observed data of different variables which can be used by automatic calibration
software. From Output Control we can specify the kinds of outputs that we want to obtain
from a given model run.

In the Solvers menu item, select the PCG2 algorithm and view its parameters

34
Also you can see the settings of the Output Control:

In order to run the model you need to select the Run menu item under MODFLOW group:

All MODFLOW input files to be created are automatically selected. Select “Check model
data”, “Regenerate all input files” and “Don’t generate MODPATH files anyway” and
click OK

35
The model will run and a command prompt window will be shown:

After pressing any key you can move to viewing the results

Step 14: Viewing results – Groundwater head.

From the Tools menu group select 2D visualization

36
In the following window select Hydraulic head as the type of result that you want to see
and press OK:

You will then see a contour map of the groundwater heads in the same editor as the one that
you used for data input:

37
To change the appearance of the contour map, go to Options->Environment ...

..and select the Contours tab in the following window:

Click the button “Restore defaults”. This always loads the actual data that are selected for
viewing.

38
Click on the Level column and select contour interval of 0.2 m.

Also click on the “Label Format” button and select Fixed format with 2 Decimal digits:

Click OK on all opened windows

39
The contour map should look like the following:

The parallel contour lines indicate that the change of groundwater head in west-east
direction is linear. The zone with higher hydraulic conductivity shows more distance
between the contour lines (smaller gradient of groundwater head), while the zone with
lower hydraulic conductivity shows less distance between the contour lines (larger gradient
of groundwater head)

You can check other options for changing the appearance of the contour map, such as
filling contours with different colours. This can be done from the same interface as
described above.

Leave the editor with the exit button.

40
Step 15: Viewing results – Water balance:
From the Tools menu group select Water Budget

In the following window click OK and press any key after the command prompt window
appears:

41
The water balance file appears as a text file:

The file indicates all the flow terms that are either inflows to-, or outflows from, the current
model. In this case al the inflow comes from constant head (from the western boundary)
and all the outflow is into constant head (the eastern boundary).

Discuss the difference between this water balance (calculated by MODFLOW) and the
analytical solution for the flow through this confined aquifer.

42
Question d) of Model 1

Step 16: Reducing the size of boundary cells in order to improve the water balance
(option1)

Go to the menu item Grid -> Mesh size. In the editor right click on the leftmost column
and specify column width of 10m.

Repeat the same operation for the rightmost column.

Leave the editor and save the changes!

Without any additional changes re-run the model (Models->MODFLOW-> Run).

43
Check the water balance results (Tools-> Water Budget):
The result should be:

Step 17: Using the General Head Boundary (GHB) package to improve the water balance
(option 2)

Go to the menu item Grid -> Mesh size and in the editor make the boundary columns with
size of 100m. Use the same approach as in the previous step

Go to the menu item Grid-> Boundary Condition->IBOUND (Modflow).

In the editor make the boundary columns inactive. This is done by changing the codes of
the cells in the boundary columns from the value of -1 into the value of 0.

Use the right clicking and duplication to make these changes.

44
The final look in this editor should be like the following:

Leave the editor and save the changes!

Go to the menu item Models->MODFLOW-Flow Packages-General Head Boundary.

45
In this editor we need to provide values for the conductance C and for the head at the
General Head Boundary. We already know the heads, and the conductance values for the
boundaries are calculated as follows:

hr − ha
Q = AK ; Q = C (hr − ha );
Δx
conductance per cell :
AK 100 * 10 * 20
C= = = 400m 2 / day - for the western boundary
Δx 50
AK 100 *10 *10
C= = = 200m 2 / day - for the eastern boundary
Δx 50

In the editor right click on the first active cell in the upper left corner. Thus, ignore the
inactive column to the left!. Specify the values for the conductance and for the head on the
boundary.

46
After specifying the values use duplication to copy these values along the whole column on
the left side. Switch off the duplication button and then specify the values for the boundary
to the right. Select the top cell and provide the values:

After specifying the value for the upper rightmost active cell, use duplication again to copy
these values along the whole column on the right hand side.

47
The final look should be like the following:

Leave the GHB editor and save the changes!

Without any additional changes re-run the model (Models->MODFLOW-> Run).

48
Check the water balance results (Tools-> Water Budget):
The result should be:

Question e) of Model 1

Step 18: Reverting the model setup to the original one (with constant head boundaries)

Go to menu item Models->MODFLOW-Flow Packages-General Head Boundary. On the


first dialog window choose Deactivate. This will not delete the values in the GHP package
but it will ignore them.

49
Go to the menu item Grid-> Boundary Condition->IBOUND (Modflow).

In the editor make the boundary columns constant head. This is done by changing the
codes of the cells in the boundary columns from the value of 0 into the value of -1.

Use the right clicking and duplication to make these changes.

Leave the editor and save the changes!

Re-run the model!!

Step 19: Changing the western boundary from constant head to a flow boundary using the
Well package

Look at the water balance of the model that you have just run:

The total inflow of 754,71 m3/day needs to be divided over 20 boundary cells. This means
that the inflow per cell should be 754.71 / 20 = 37.735 m3/day

50
First we need to remove the western constant head boundary. Go to Grid-> Boundary
Condition->IBOUND (Modflow) and make all the boundary cells of the western boundary
active. This means changing their codes from the value of -1 into the value of 1!

Leave the editor and save the changes!

Go to menu item Models->MODFLOW-Flow Packages-Well. In the editor specify an


injection well (with a positive sign) with a value of 37.735 m3/day at each cell on the
western boundary. Again, use right clicking and duplication.

51
The final look should be like the following:

Leave the editor and save the changes.

Re-run the model and check if the water balance is the same as in the previous model! You
can also check he distribution of groundwater heads.

Step 20: Changing the eastern boundary from constant head to a flow boundary using the
Well package
Repeat the same operations as in the previous steps, but now for the eastern boundary:

Change the eastern boundary constant head cells into active cells (from Boundary
condition->IBOUND).

In the Well package introduce a pumping well (with a negative sign) with a value of 37.735
m3/day at each cell on the eastern boundary.

52
The final look in the well editor should be like the following:

Leave the editor and save the changes.

Re-run the model and check if the water balance is the same as in the previous model! You
can also check he distribution of groundwater heads. Discuss what happens with this model
setup if you run it with different initial heads!!

Model 2 – Unconfined aquifer

53
For Model 2 we will start with the same setup as for Model 1 and change some parameters.

Step 1: Make another folder on the local drive (e.g. D://user/GWexercises/Model2), and
copy all the data from the folder that you have created for Model 1 into this new folder.

Step 2: In PMWin load the PM model from the new folder (Model2) via File->Open Model

Step 3: Deactivate the well package

Go to menu item Models->MODFLOW-Flow Packages-Well, and in the first pop-up


window select Deactivate.

Step 4: Set the boundaries as constant head boundaries

Go to Grid-> Boundary Condition->IBOUND (Modflow) and in the editor specify the


value of -1 for the boundary columns. With these changes you now have the same setup as
the original model of the confined aquifer. In the next steps we will make the changes for
the new, unconfined aquifer.

Step 5: Change the aquifer type into unconfined aquifer

Go to menu item Grid->Layer property and change the aquifer type into Unconfined
aquifer (Type 1). All other parameters should be specified as Calculated.

Step 6: Change the Elevation of the Layer Top

54
Go to menu item Grid->Top of Layers and from the editor change the Elevation of layer
top to 25m. Use the Value – Reset matrix option to specify this value everywhere in the
modelling domain.

Leave the editor and save the changes!

Step 7: Change the Hydraulic conductivity

55
Go to menu item Parameters->Horizontal hydraulic conductivity and change all the values
of Hydraulic conductivity to the value of 20 m/day. Use the Value – Reset matrix option to
specify this value everywhere in the modelling domain.

Leave the editor and save the changes!

Step 8: Run the model

56
All other parameters can remain the same as in the previous model. Run this model in the
usual way (Models->MODFLOW-> Run), and check the results for groundwater head
distribution and for the water balance. These two results are presented below:

Groundwater head distribution:

57
Water balance:

Discuss the obtained results!

Question e) of Model 2

Step 9: Introducing a pumping wells at cell (15,15) with a pumping rate of 2000 m3/day

Go to the menu item Models->MODFLOW-Flow Packages-Well, and edit the Well


package. Since you may still have old well data from the previous model, reset all the
values to 0.

After that, right click on cell (15,15) and specify a value of -2000.

58
Leave the editor and save the changes!

Step 10: Run the model and discuss the results of groundwater head distribution and water
balance. These results are presented below:

59
60
Question f) of Model 2

The obtained water balance is for the whole modelling domain. From such a water balance
we cannot see how much inflow is provided from each of the two boundaries (all inflow
from constant head is given as one number). In order to determine the inflow from each
boundary we need to use Zones or Sub-regions in the water balance calculations.

Step 11: Prepare a water balance using Zones or Sub-regions

Go to Tools->Water Budget, and on the following pup-up window click the button
Subregions:

This will open the familiar PMWin editor.

In this editor each separate sub-region is specified by a unique integer code. Make the
western boundary sub-region 1, by giving the code of 1 to all cells of the boundary. Give a
code of 2 for all cells of the eastern boundary (this will be sub-region 2) . Use the right
clicking and duplication to assign these values.

61
Sub-region 1

Code=1
Sub-region 2

Code=2

Leave the editor and check the water balance results! The water balance file now has
several parts. The first part contains results for each sub-region in each layer in the model.
The second part contains the results for each sub-region over the entire model. Since in
this model we have only one layer the first and the second part will give the same results.
The third part of the water balance file gives the familiar water balance for the whole
modelling domain.

62
From first or the second part of the water balance file you can now see how much inflow
comes from each of the boundaries. Here we present the results from the second part of the
file:

Discuss the results of this water balance.

63
Question g) of Model 2

Drawdown is a term used in groundwater modelling to describe how much the groundwater
levels have changed after some intervention has been implemented compared to the initial
conditions (without that intervention). Drawdown is calculated as initial heads- calculated
heads. In this question we need to compare the heads of the ‘natural’ system – without the
well (this situation should provide the initial heads) to the situation after we introduce the
well (this situation will provide the calculated heads). This means that we first need to
introduce the calculated heads without the well - as initial heads to our model

Step 12: Introduce calculated heads without the well as initial heads

Go to the well package and Deactivate it.

Run the model.

Go to 2D-visualisation and load the results for Hydraulic head.

From the menu select Value -> Matrix. In the following window click the Save button:

In the next window name the file to be saved as : Initial-Heads-No-Well.


Click OK on both windows and leave the editor

64
Now go to menu item Parameters->Initial and Prescribed Hydraulic heads. In the editor,
from the menu select Value -> Matrix. In the next window click the Load button:

In the next window click the Browse button and load the file that you have just saved
(Initial-Heads-No-Well). The Options radio buttons group the option Replace should be
checked. The other options are used for matrix operations.

Click OK on all windows. The calculated heads without the well are now set as initial
heads for this model.

65
Step 13: Obtain the drawdown results after introducing the well

Go to the well package and activate it (edit and save the data – the well should already be
specified)

Run the model

Go to the 2D-visualisation and load the Drawdown results!

From these results you can see the drawdown contour map and read the drawdown value at
cell (11,11), which is the location of the field of the farmer (drawdown=1.02m).

66
Question h) of Model 2

For this question (backward tracking of particles for determining well capture zones) the
particle tracking model named PMPATH will be used. For an active PMWin model, you
can always access PMPATH via Models->PMPATH (Advective Transport)

Step14: Assigning particles for particle tracking in PMPATH

Open PMPATH for the current model. You will see the following editor window:

67
In PMPATH you can also see cross sections of the model. Go to the menu item Options->
Environment and select the Cross sections tab. Provide the data as specified below:

In the same window select Contours, and just like in PMWin make the contours of
groundwater head visible, with a contour interval of 0.2m.

68
The editor will now show the model with the contour map of groundwater heads and two
cross sections which go through the location of the well (see figure below).

The most important buttons for placing and tracking particles are also presented below:

Placing Deleting Backward Forward


particles at particles tracking tracking
initial locations

69
The default colour for new particles in PMPATH is red. Since the well is also represented
in red, first select a different colour (brown, for example) for all new particles by using the
following button:

In order to place particles at certain location a zone needs to be selected while the button
for placing particles is activated. A zone is selected by making a rectangular selection with
the left mouse button. Make such a selection in the cell that contains the well. After
releasing the mouse button the interface for placing particles appears:

Particles can be placed inside the cells, on the cell faces, or on imaginary circles. The data
presented above place 30 particles on 5 circles, each with a radius of 50m.

After clicking OK, you will be able to see the particles at the well location as small brown
dots.

Step15: Tracking particles in PMPATH (backward tracking)

Before starting with the particle tracking some parameters can be set via the menu item
Options->Particle tracking (time).

70
Select the options in the following window as specified below (This means that each
tracking time step will be one year). Press OK in this window afterwards.

:Use the backward tracking button for step tracking to make several tracking steps:

71
If you use the backward tracking button till the end, the particles will track continuously till
they stop at their source locations (since this is backward tracking).

Make some experiments with different number (and possibly placement) of particles in
order to obtain a better picture of the capture zone of the well.

If you want to save locations of placed particles in a file that can later be loaded, you can do
that via several options in the File menu.

72
Question i) of Model 2

For this question (forward tracking of particles for determining pollution distribution)
PMPATH will be used with forward tracking options.

Step16: Placing particles in the polluted zone

Delete all previous particles by selecting the zone where they have been placed, while the
delete particle button is activated.

With the left mouse button select the polluted zone specified in the question for placing
particles. You can use the information in the bottom status bar to check if you are selecting
the correct cells.

73
After releasing the mouse button specify the particles as given in the following figure:

After pressing OK, run the particles forward either step by step, or all the way to their sink
locations. Discuss the results, which are shown on the figure below:

74
-----------------------------------------------------------------

-------------------------------------------------------------------

For the remaining part of Model 2 (questions j) to o)), which is to be worked out in the
assignment that needs to be submitted, all operations are already introduced. The only new
feature in this part of Model 2 is the introduction of recharge.

Step 17: Introduction of recharge

Recharge is introduced in the model through the menu item Models->MODFLOW-Flow


Packages-Recharge. In the editor the recharge value needs to be provided over the whole
area, as specified in the problem. Use ‘Reset Matrix’ and specify the required value. Note
that the length units are meters!

75
Model 3 – Aquifer for water supply – pollution analysis

For this model the standard operations in PMWin and PMPATH already introduced during
Models 1 and 2 will not be repeated. The focus will be on new operations.

Step 1: Create a folder on the local drive (for example D://user/GWexercises/Model3)

Step 2: Create a sub-folder in this folder, named maps and copy into this sub-folders the jpg
maps provided at //Edu1/public/jon/Groundwater-exercise/Maps-model3

Step 3: Open Processing MODFLOW for Windows

Step 4: PM environment: Create a new Model via the File menu and save it in the folder
that you have created in step 1.

Step 5: Start with Grid – Mesh size

Set the mesh size as in the following figure. Use rows and columns with size of 50m (This
is set automatically by selecting number of rows and columns and the model extent).

76
After clicking OK you will see the grid in the PMWin Editor

Set the worksheet size via Options->Environment. In the tab Coordinate System specify
the following values for the Viewing window size:

77
The grid should look like the following:

Step 6: Loading geo-referenced background raster map (jpg image)

Go to Options->Maps and then in the following window click the tab Raster Graphics

78
Click the browse button and from the maps sub-folder of your working folder load the map
ZoneMap.jpg. The image will appear in the small window:

Check the box Raster Graphic Visible. One by one set the two geo-referencing points by
clicking the set button first and then clicking in the two corners of the map. Use the
coordinates shown below. Be careful to click as close as possible to the corners of the map
as indicated in the figure below:

Click Set
for point 2
Click Set and then
for point 1 click here
and then
click here

79
After clicking OK the raster map and the grid will appear:

Using the pan button shift the grid so that it will cover the modelling area. Look for
approximately fitting the grid into the three characteristic points as shown below:

80
The grid is now positioned to cover the entire area that needs to be modelled.

Leave the editor and save the changes!

Step 7: In Grid->Layer Property select Unconfined Aquifer (Type 1) with all other
parameters being set as Calculated

Step 8: Open the editor in Grid->Boundary condition->IBOUND (Modflow). In this


editor make all cells of the grid that are outside of the modelled area inactive (code 0). Use
right clicking and duplication for specifying this value. The remaining cells will be with the
default code of 1 (active cells). The final result should be similar to the following figure:

When you are ready leave the editor and save the changes!!

81
Step 9: Using the digitizer tool to obtain values for generating the Top of layer.

The provided map TopoMap.jpg contains points with elevation of the layer top (the
topography). In this step you will load this map and digitize the points, so that you can use
them for generating the values for the top of layer.

Go to Tools->Digitizer and open the editor. Following the same procedure as in Step 6,
load the TopoMap1.jpg as a background map. After finishing, the editor should look as
follows:

If the dark grey cells which represent the inactive cells are covering some of the points or
numbers in the underlying map, you may switch them off from the view. Use the Options->
Environment and uncheck the Inactive cells:

82
The view will be as follows:

Borehole
entry mode
button

All points marked with a circle or an ‘x’ sign need to be digitized. This is done by selecting
the button for Borehole entry mode and clicking on each point. The first click puts a
digitized point, while the second- (right!) click opens a small pop-up window for entering
the value. After entering the value and clicking OK the digitized point is inserted in the
editor with its assigned value. This operation needs to be repeated for all the points. The
figure below shows this for one point:

83
If you make a mistake you can delete an inserted digitized point by Ctrl-click on the
wrongly inserted point. (Ignore the values next to the water level meters. They are not
topographical points, but points for water levels in the rivers and will be used later.)
After digitizing all the points, you can completely switch off the background map, using
Options -> Maps ->Raster Graphics and un-checking the visibility of the map. This will
leave the view with the grid and the digitized points only. (You can even switch off the
grid, just as you switched off the view of the inactive cells). This may be useful to compare
your digitized points with the handouts that you have received – to see if you have inserted
all points correctly. The view after this step will be:

Once you are sure that all the points are digitized correctly you can now save them into a
file of the format .xyz. This is done by using Value->Points->Save As and giving a name to
the file, e.g. Top-of-Layer.xyz. The file can be stored in your working folder. You can open
it to see its simple format.

84
You can then leave the editor. It does not matter whether you will save the changes or not..

Step 10: Using the Field interpolator to generating values for the Top of layer from
digitized points.

In this step you will generate matrix data for the elevation of the layer top from, via
interpolation from the digitized points.

Go to Tools->Field Interpolator (PMDIS). In the pop-up window under the files tab select
the following files:

• PMWIN Model – select the current .pm5 model that you are building (grid data
will be taken from this file)
• Input file – select the .xyz file that you have created in the previous step
• Output file – give a name to a .dat file (top-of-layer.dat) where the matrix data
will be stored after interpolation.

Click the Search/Gridding Method tab and select the Octant search method and the Kriging
gridding method. Leave all default parameters. Consult the help if you want to learn more
about available interpolation methods.

85
When ready with the input click the Go button. When the interpolation is finished you will
see the following screen:

Press any key to close this window. Press Close on the Field Interpolator window.

Step 11: Set the Top of Layer in PMWin

Go to Grid->Top of layers. In the editor load the matrix file that was just created in the
previous step (top-of-layer.dat) using Value->Matrix -> Load. Find the file that was just
created and load it.

When finished, leave the editor and save the changes!!

Step 12: Set the Bottom of layer

Repeat all the steps as for setting Top of layer:

• Go in Digitizer and load the map file BottomMap.jpg, following same procedure as
explained in Step 6.
• Digitize the points for bottom of layer and save them as .xyz file. If you have
existing digitized points from the previous steps make sure that you delete them
with Value-Points-Delete All, before starting the new digitization!
• Run the Filed Interpolator with the newly created .xyz file and create a matrix file
for the bottom of layer (e.g. bottom-of-layer.dat)
• Load the created .dat file in the editor Grid->Bottom of layer
• Leave the editor and save all the changes!!

Step 13: Set the Time parameter

Go to Parameter->Time, and select Steady state and time unit of days.

86
Step 14: Set the Initial and Prescribed heads

All the initial heads will be set to Topography-2m.

Go to Parameter->Initial and Prescribed Hydraulic Heads. In the editor reset all the
values for initial heads to a value of -2, using Value->Rest matrix.

Now go to Value->Matrix and load the Top-of-layer.dat file which contains the matrix
data for the topography. After loading the file, in the second dialog window select Add in
the Options radio button group.

This option will add the values from the file to the current values already in the editor
(which are -2m). The resulting values will then be Topography-2m.

Step 15: Set the Horizontal Hydraulic Conductivity

Go to Parameters->Horizontal Hydraulic Conductivity. In the editor load the background


map ZoneMap.jpg as described in Step 6. The editor will appear as follows:

87
This map has marked zones of different hydraulic conductivity values. We will use the so-
called Polygon Input Method, which is activated by the button marked in the above
Figure, to input different hydraulic conductivity values (K-values) for different zones.

First, reset the matrix to a K-value that covers the largest zone (Zone K1=11 m/day)

Click the button for the Polygon Input Method. You can start creating polygons by mouse
clicks (left button). Follow the boundaries of different hydraulic conductivity zones. To
close the polygon you need to double click on the point of origin. Then the polygon is
created as shown in the Figure below for zone K4:

88
In order to assign a value to this polygon, you need to right click inside the polygon,
provide a value and then click the small arrow button to confirm the assignment, as shown
on the figure below

This operation needs to be repeated for all hydraulic conductivity zones (except K1, which
was set in the beginning when the matrix was reset).

89
Go to the Cell-by-cell Input method by clicking the button to the left of the Polygon Input
method button. To check the coverage of the modelling domain with K-values prepare a
coloured view using the following settings in Value->Search and Modify interface:

This will provide a view like the following:

Some cells do not have the correct K-value (They still have the value of 11 m/day (blue
colour), which should be only for zone K1). This can be repaired by the standard cell-by-
cell input method.
Once finished with the corrections – leave the editor and save the changes!!

90
Step 16: Set the Effective Porosity for the whole modelling domain at 0.2.

Step 17: Set the Recharge

Go to Models->Modflow->Flow packages->Recharge and reset the whole matrix to the


value of 1.0 mm/day (0.001 m/day)

Step 18: Set the Wells

Go to Models->Modflow->Flow packages->Well and open the editor. The ZoneMap.jpg


should be already loaded as background map (if not – load it as described in Step 6). This
map contains locations of all 12 wells. Assign the values for these 12 pumping wells at
their correct locations (use one modelling cell per well).

The well package should also be used for specifying the inflow boundary from the north
(coming from the neighbouring groundwater system). This inflow q is given as
3500m3/day/km, which means that at every northern boundary cell should be assigned an
injection well (positive value) of 175 m3/day. The number and location of northern
boundary cells is visible from the background map. The final look of the well package
should be like the following:

91
When ready with the wells input, it is advisable to save this input to a file. Use the option
Value->Matrix-Save for this. Use a file name like wells-initial. In sub-sequent runs you
will need to change the wells input, but you will always have the initial configuration stored
in a file.

Leave the editor and save the changes!!

Step 19: Set the river package

Go to Models->Modflow->Flow packages->River and open the editor. Using the


background map cover all cells that cover the rivers with a value for the river conductance
equal to 360 m2/day (see figure below). River conductance is calculated as :

where, Criv is the river conductance, Kriv is the hydraulic conductivity of the river bed
(assumed 0.1 m/day), L is length of the river in a given cell (assumed 60m), Wriv is width
of the river in agiven cell (assumed 30m) and Mriv is thickness of the river bed (assumed
0.5m). With these values the river conductance becomes 360 m2/day.

92
When all river cells will contain this value the picture should look something like this:

The river bed is specified to be 5m below the topography. In order to specify this, first load
the matrix of the topography, which was stored in the file top-of-layer.dat created in Step
10. Be careful to select Elevation of the Riverbed Bottom when loading the matrix, as seen
in the picture below:

93
This will load values for the whole domain, but since we have specified non-zero river
conductance only for the cells where the rivers are located, only these values of elevation of
the river bottom are of relevance. Note that also the colouring of the rivers does not change
for the same reason (only cells with non-zero conductance are coloured with light blue).

In order to lower these values by 5m go to Value->Search and Modify, select all values
(using a range between 0 and 100, for example) and add the value of -5. Again, be careful
to select Elevation of the Riverbed Bottom in the dropdown menu. (see figure below).

The head of the river is specified from the fact that the depth in the river is 3.5 m. This
means that the same procedure as for the elevation of the river bed should be followed, but
now the topography should be lowered by 1.5m. Be careful that in this step you always
select Head in the River, in the respective interfaces (see figures below).

94
Now for all the cells representing the river the appropriate values are specified. Check few
cells to make sure that this is indeed the case.

Leave the editor and save the changes!!

95
Step 20: Run the model

Step 21: Analyse the results as requested in the assignment.

Question b) of Model 3

Step 22: Carry out backward tracking from the pumping wells of Model 3 in PMPATH in
order to answer this question.

Question c) of Model 3

Step 23: For this question you need to perform forward particle tracking by placing
particles along the southern (polluted) river in PMPATH. Most of the particles should be
put on the cell face 3 and /or cell face 1 of the active cells representing the southern river.
The result of the particle tracking should look like the following:

It is a good idea to save the starting positions of the particles into a file once you have
placed them.

96
This result already shows the polluted zone of the aquifer. In this editor you should note the
real coordinates of the boundary curve between the polluted and the clean zone of the
aquifer. Record on paper 20-30 points (their x and y coordinates) that represent this
boundary. Then store these points into a text file (name the text file Pollution-line.txt),
using the Line Map format The Line Map format is provided in the Help file of PMWin
and it is described as follows:

After preparing this file you can add the pollution line to the PMPATH editor using
Options->Maps. In the Line Map region right click in the File name field for the colour
that you wish (say black). This will open the browse window from where you can load the
file Pollution-line.txt. Check the box in front of this selection and press OK

97
The Pollution line should now appear in the PMPATH environment:

Question d) of Model 3

Step 24: Prepare a new model run in which you will switch off (delete) the 6 wells located
along the southern river (in K1 zone). Analyse the groundwater head distribution and the
water balance results.

Question e) of Model 3

Step 25: Check the capture zones of the remaining wells with backward tracking and adjust
the pumping rates if necessary.

Question f) of Model 3

Step 26: To provide an answer to this question place particles along the boundary between
the polluted and clean zone of the aquifer (described by the Pollution line) and track them
forward.

98
You can place particles within the cells, on cell faces or along imaginary circles. The
placing of particles for tracking may look similar to the following:

After tracking the particles forward you need to record the slowest particle. This is done as
follows:

From File-Save Particles As select End position by forward tracking. Give a name to this
file (e.g. End-polluted-particles).

99
Locate the file that you have just saved and open it (it is a simple txt file). Somewhere in
the middle of the file you will see the following text explanation:

Search in the last column after this text for the longest travel time of a particle. (You can
copy the values to Excel and search for the maximum value)

100
Model 4 – Profile model- flow under a dam

This model is a representation of a vertical 2-D groundwater flow problem in MODFLOW,


which uses the terminology and conceptualisation as for horizontal 2-D groundwater flow.
The assumption is that the vertical problem is ‘pushed down’ into a horizontal
representation. However, this requires careful specification of the model inputs and
parameters.

Step 1: Create a folder on the local drive (for example D://user/GWexercises/Model4)

Step 2: Open Processing MODFLOW for Windows

Step 3: PM environment: Create a new Model via the File menu and save it in the folder
that you have created in Step 1.

Step 4: Start with Grid – Mesh size

Set the mesh size as in the following figure.

101
Model thickness is 1.0 m (in reality the width of the model B=1.0m)

Rows represent in reality the depth of the model. We have 10 rows for representing the
total aquifer thickness of 50 m (each row has size of 5m), plus one more row for
representing the boundary conditions.

Columns represent the length of the model. We take sufficient number of columns on both
sides of the dam, so that the influence of the flow under the dam will be far away from the
edges of the model (20 columns on both sides of the dam = 40 columns + 5 columns for
representing the dam = 45 columns with size of 5m each).

You can set the worksheet size to be:

Then pan the grid towards the centre of the worksheet to obtain:

Leave the editor and save the changes!

102
Step 5: Set the Layer Property to Confined (Type 0) – all parameters calculated.

Step 6: Set the Boundary Condition->IBOUND

Make the middle five cells on the top inactive (code 0). They represent the dam. Make the
other cells in the top row - constant head cells (code -1). They represent the upstream and
downstream head boundaries. The final result should be:

Leave the editor and save the changes!

Step 7: Set the Top of Layer at 1.0

Step 8: Set the Bottom of Layer at 0

Step 9: Set the Parameter-> Time

Select Steady state and days as time units.

Step 10: Set the Parameter-> Initial and Prescribed Hydraulic Heads

First reset the matrix to a value of 100m. Then specify the constant head upstream of the
dam at 110m and downstream of the dam at 90m.

Step 11: Set the Parameter-> Horizontal Hydraulic Conductivity

Reset the matrix at value of 1.0 m/day

Step 12: Set the Parameter-> Effective porosity

Reset the matrix at value of 0.1

Step 13: Run the model

103
Step 14: View results for groundwater head distribution:

Use the results from groundwater head distribution to calculate uplift force exerted on the
bottom surface of the dam:

Step 15: View the water balance results

Use them to see the total flow under the dam per unit width.

Question b) of Model 4

To answer this question you need to introduce the vertical wall with low hydraulic
conductivity. We will use the Horizontal Flow barrier package!

104
Step 16: Go to Models->Modflow->Flow Packages->Horizontal Flow Barriers

In the editor select the first cell under the dam on the upstream side and right click to
provide the data for the horizontal barrier as shown below:

Click OK and copy the same value to the additional 5 cells below the first one (use
duplication).

The final view should be:

Leave the editor and save the changes !!

Re-run the model and analyse the results as requested in the assignment!!

Question c) of Model 4

105
For this question start with the model developed under b)

Step 17: Go to Grid->Boundary Condition->IBOUND and introduce one constant head


cell inside the dam (convert the second inactive cell from the left into constant head cell).
This constant head will represent the drainage gallery:

Step 18: Go to Parameters-> Initial and Prescribed Hydraulic Heads and specify the head
in the cell that represents the drainage gallery at 87.

Re-run the model and analyse the results as requested in the assignment!!

106

You might also like