Analytical Groundwater Modeling Theory And Applications Using Python Mark Bakker
Analytical Groundwater Modeling Theory And Applications Using Python Mark Bakker
Analytical Groundwater Modeling Theory And Applications Using Python Mark Bakker
Analytical Groundwater Modeling Theory And Applications Using Python Mark Bakker
1. Analytical Groundwater Modeling Theory And
Applications Using Python Mark Bakker download
https://ebookbell.com/product/analytical-groundwater-modeling-
theory-and-applications-using-python-mark-bakker-43425410
Explore and download more ebooks at ebookbell.com
2. Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Analytical Groundwater Modeling Theory And Applications Using Python
Mark Bakker
https://ebookbell.com/product/analytical-groundwater-modeling-theory-
and-applications-using-python-mark-bakker-46255928
Analytical Groundwater Modeling Theory And Applications Using Python
Mark Bakker
https://ebookbell.com/product/analytical-groundwater-modeling-theory-
and-applications-using-python-mark-bakker-60662760
Analytical Modeling Of Solute Transport In Groundwater Using Models To
Understand The Effect Of Natural Processes On Contaminant Fate And
Transport In Groundwater Goltz
https://ebookbell.com/product/analytical-modeling-of-solute-transport-
in-groundwater-using-models-to-understand-the-effect-of-natural-
processes-on-contaminant-fate-and-transport-in-groundwater-
goltz-6755302
Analytical Groundwater Mechanics Otto D L Strack
https://ebookbell.com/product/analytical-groundwater-mechanics-otto-d-
l-strack-10323416
3. Analytical Mechanics For Relativity And Quantum Mechanics Second
Edition 2nd Ed Instructor Solution Manual Solutions 2nd Edition Oliver
Davis Johns
https://ebookbell.com/product/analytical-mechanics-for-relativity-and-
quantum-mechanics-second-edition-2nd-ed-instructor-solution-manual-
solutions-2nd-edition-oliver-davis-johns-44887390
Analytical Chemistry A Modern Approach To Analytical Science 2nd
Edition Jeanmichel Mermet
https://ebookbell.com/product/analytical-chemistry-a-modern-approach-
to-analytical-science-2nd-edition-jeanmichel-mermet-45147132
Analytical Chemistry For The Study Of Paintings And The Detection Of
Forgeries Maria Perla Colombini
https://ebookbell.com/product/analytical-chemistry-for-the-study-of-
paintings-and-the-detection-of-forgeries-maria-perla-
colombini-46090958
Analytical Microextraction Techniques M Valcrcel S Crdenas And R
Lucena
https://ebookbell.com/product/analytical-microextraction-techniques-m-
valcrcel-s-crdenas-and-r-lucena-46161040
Analytical Thinking For Advanced Learners Grades 35 Emily Hollett
https://ebookbell.com/product/analytical-thinking-for-advanced-
learners-grades-35-emily-hollett-46275810
6. Analytical Groundwater Modeling
This book provides a detailed description of how Python can be used to give insight into the
flow of groundwater based on analytic solutions. Starting with simple problems to illustrate
the basic principles, complexity is added step by step to show how one-dimensional and two-
dimensional models of one or two aquifers can be implemented. Steady and transient flow
problems are discussed in confined, semi-confined, and unconfined aquifers that may include
wells, rivers, and areal recharge. Special consideration is given to coastal aquifers, including
the effect of tides and the simulation of interface flow.
Application of Python allows for compact and readable code, and quick visualization of the
solutions. Python scripts are provided to reproduce all results. The scripts are also available
online so that they can be altered to meet site-specific conditions. This book is intended both
as training material for the next generation of university students and as a useful resource
for practitioners. A primer is included for those who are new to Python or as a refresher for
existing users.
Mark Bakker is a groundwater engineer and a professor at the faculty of Civil Engineer-
ing and Geosciences of the Delft University of Technology. He has taught groundwater and
Python classes for more than two decades and is the originator and co-developer of many
Python-based open-source modeling tools, including Timml, Ttim, Pastas, and Flopy.
Vincent Post is a hydrogeologist with research interests in coastal hydrogeology and ground-
water quality. After a career in academia and research he founded Edinsi Groundwater in
2021. Python has become indispensable in his everyday professional life, and he actively
promotes its use in hydrogeology by teaching courses and developing Python-based tools.
10. Contents
Preface ix
About this book xi
Acknowledgement xiii
Authors xv
0 Basics of groundwater flow 1
0.1 Hydraulic head 1
0.2 Darcy’s experiment 2
0.3 Representative elementary volume 2
0.4 Hydraulic conductivity and porosity 3
0.5 Aquifers and aquitards 4
0.6 Storage and transient flow 5
0.7 Darcy’s law for groundwater modeling 6
0.8 Dupuit and Forchheimer 7
0.9 Groundwater models 7
1 Steady one-dimensional flow with constant transmissivity 9
1.1 Flow between two rivers 10
1.2 Areal recharge between two rivers 13
1.3 Areal recharge between an impermeable boundary and a river 18
1.4 Flow through two zones of different transmissivities 22
2 Steady one-dimensional semi-confined flow 25
2.1 Flow from a canal to a drained area 26
2.2 Flow between a lake and a drained area 29
2.3 Flow to a long river of finite width 32
2.4 Flow to a river in a two-aquifer system 35
2.5 Areal recharge between two rivers in a two-aquifer system 39
3 Steady one-dimensional unconfined flow with variable saturated thickness 43
3.1 Areal recharge between an impermeable boundary and a river 44
3.2 Flow over a step in the aquifer base 48
3.3 Combined confined/unconfined flow with areal recharge 50
11. vi Contents
4 Steady one-dimensional flow in coastal aquifers 55
4.1 Confined interface flow 56
4.2 Unconfined interface flow 60
4.3 Combined confined/semi-confined interface flow 64
5 Transient one-dimensional flow 69
5.1 Step changes in surface water level 70
5.2 Periodic changes in surface water level 77
5.3 Areal recharge between two rivers 80
5.4 Solutions with Laplace transforms 87
5.5 Unconfined flow with variable transmissivity 91
6 Steady two-dimensional flow to wells 95
6.1 Radially symmetric flow on a circular island 98
6.2 Wells near rivers and impermeable boundaries 102
6.3 Wells near an inhomogeneity boundary 108
6.4 Wells in a semi-confined aquifer 110
6.5 Wells in a two-aquifer system 113
7 Steady two-dimensional flow to wells in uniform background flow 117
7.1 A single well in uniform background flow 117
7.2 Well capture zones 122
7.3 A well in uniform background flow near a river 124
7.4 A well in uniform background flow near a river with a leaky stream bed 129
7.5 A well in uniform background flow near the coast 134
8 Analytic element modeling of steady two-dimensional flow 137
8.1 Uniform flow and wells 137
8.2 Line-sinks for modeling rivers and streams 144
8.3 Area-sinks for modeling areal recharge 148
9 Transient two-dimensional flow 151
9.1 Wells in confined and unconfined aquifers 152
9.2 Wells with a periodic discharge 158
9.3 Wells in a semi-confined aquifer 160
9.4 Wells with wellbore storage and skin effect 164
9.5 Wells in a two-aquifer system 167
10 Steady two-dimensional flow in the vertical plane 171
10.1 Vertical anisotropy 172
10.2 Flow to a partially penetrating stream 174
10.3 Flow over a step in the base 181
10.4 Spatially varying head at the top of the aquifer 185
10.5 Interface flow towards the coast 190
10.6 Interface flow below a strip island 194
12. vii
A Python primer 199
A.1 Basics 200
A.2 Loops and if statements 203
A.3 The numpy package and arrays 205
A.4 The matplotlib package for visualization 210
A.5 Functions 213
A.6 The scipy package for scientific computing 216
Numerical answers to selected problems 219
Bibliography 221
Index 225
14. Preface
The importance of groundwater as a water supply source can hardly be overstated. Ground-
water exists everywhere in the subsurface. Extraction of water from aquifers supports liveli-
hoods, agriculture, and a variety of economic activities worldwide. Groundwater is an integral
part of the hydrological cycle where it sustains ecosystems, such as wetlands and estuaries,
and provides the base flow of streams and rivers of all sizes. The flow of water through the
subsurface constitutes a major transport pathway for dissolved substances and plays a key
role in the planetary cycle of many chemical elements.
Groundwater resources have come under enormous stress in many parts of the world.
Concerns over the quantity and quality of groundwater are the result of past and ongoing
mismanagement. Overexploitation has resulted in significant lowering of water levels. Unsus-
tainable pumping in coastal areas has resulted in seawater intrusion. And careless disposal
and handling of chemicals at the land surface has resulted in contamination that threatens
precious resources. Addressing these problems is possible only with adequate understanding
of the flow in the subsurface.
The investigation of groundwater systems relies first and foremost on measurements. Due
to the difficulty and costs involved in obtaining these, data is commonly available at a few
points only, which severely limits the knowledge of the three-dimensional system under inves-
tigation. It is sometimes possible to predict future developments based on measured time
series, but it is rarely possible to make predictions from measured time series for new inter-
ventions in the system or when anthropogenic, environmental, or climatic changes alter the
system’s response.
Groundwater models are essential to gain understanding of the behavior of groundwater
systems and to evaluate management scenarios that cannot be tested at full scale in the field.
Groundwater models, like all models, are simplified versions of a complex reality. It is an
important skill for every modeler to decide how a system can be simplified without losing
the essence. It is unfortunately often appealing to add complexity to models because it exists,
even though it doesn’t affect the outcome significantly.
The essence of a groundwater flow problem is captured in a set of equations called the math-
ematical model. Simple models can often be solved analytically. Before the advent of grid-
based methods, groundwater solutions were necessarily simplified until they could be solved,
for example by deriving an analytic solution to the mathematical model. Analytic solutions
give insight into the flow of groundwater that is more difficult to obtain with grid-based solu-
tions. It is often forgotten that analytic solutions have benefited from the advent of computer
technology, just like grid-based methods. Especially the development of high-level program-
ming languages makes it easy to evaluate analytic solutions and visualize their results.
Models play an important role in solving the formidable water problems of our planet, as
they are used as instruments to better understand, manage, and protect our water resources.
The authors hope that the knowledge contained in this book contributes to better ground-
water models and, ultimately, better-informed management decisions in the future.
16. About this book
This book provides a fresh treatment of the fundamentals of groundwater flow and is intended
as both training material for the next generation of university students and a useful resource
for practitioners who want to re-familiarize themselves with the basics while simultaneously
learning about the capabilities of Python. Programming skills were part of groundwater mod-
eling in the early days of the personal computer age. Classic books from, e.g., Bear and
Verruijt (1987) and Strack (1989) already included computer code (on paper or floppy disks),
but that was before high-level computer languages such as Python conquered the world. The
example programs developed in this book may serve as templates that can be modified and
extended to simulate settings or processes not covered in this book. The focus is on the fun-
damentals of the quantitative methods used to simulate, understand, and solve groundwater
problems.
The premise of this book is that any groundwater modeler needs a fundamental under-
standing of the theory on which mathematical models of groundwater flow are based. Even
when a modeler primarily makes grid-based models, it is important to understand the main
approximations that form the basis of the mathematical model, their range of applicability,
and the main consequences for the flow field. Insight in fundamental flow systems forms the
backbone of any good modeler. This book provides detailed descriptions of analytic solu-
tions of many fundamental groundwater problems. Mathematical derivations are included
for the simpler problems. The solutions of more complicated problems are presented without
derivation, but their validity is verified.
The structure of this book is such that the theoretical treatments of the modeling meth-
ods are exemplified by short pieces of Python computer code that demonstrate the imple-
mentation of the theory. Python is an open-source programming language that has rapidly
gained popularity within science and engineering and is likely going to remain one of the most
popular programming languages over the next decades. Its simple yet powerful syntax and
interactive workflow make learning and using Python a breeze. The development of powerful
packages for scientific computing and visualization have made it easier than ever to evalu-
ate, explore, and visualize both simple and complicated groundwater solutions. Python is a
great language to write scripts to evaluate groundwater models. Scripts may be combined with
output and explanations (including mathematical equations) in Jupyter Notebooks, resulting
in executable documents that are a full, transparent and reproducible record of a model or
analysis.
All code examples presented in this book are available as Jupyter Notebooks from www.
github.com/pythongroundwaterbook, which facilitates easy exploration of the examples
in this book. Even though the notebooks save the reader from having to do a lot of typing,
there are important benefits to entering the code examples from the printed book into one’s
own notebook or Python interpreter. As one types, one takes much better notice of the subtle
details contained in the code fragments. Especially when errors occur, one is forced to analyze
their cause, which may take some time but at the reward of a deeper understanding and
17. xii About this book
a more lasting learning experience. Therefore, especially novice students are encouraged to
use this method and not immediately trust that they understand the worked examples in the
notebooks. Hands-on exercises are provided and commonly require short Python scripts to
be solved. Numerical answers to selected exercises are included at the end of the book.
This book starts with a brief introduction of the principles of groundwater flow. This chap-
ter is assigned number 0 to remind the reader that Python uses a zero-based numbering sys-
tem. All other numbering in this book starts at 1. The remainder of this book consists of two
parts, each consisting of five chapters. The first part concerns one-dimensional flow while the
second part concerns two-dimensional flow. A variety of flow systems are discussed, including
confined, unconfined, semi-confined, and multi-aquifer flow. Both steady and transient flow
are considered. Most examples include evaluation of both the head and the flow, sometimes
including travel times. Special attention is paid to interface flow in coastal aquifers.
For each solution, at least three code blocks are presented. The first code block contains the
parameter values used in the example. The second code block contains the solution. And the
third code block contains a few basic commands to produce visual output, which resemble the
presented figures. The visual output appears right below the third code block, or on the next
page if the output does not fit on the page. The exact code to produce the final figures included
in this book is not provided as it contains some detailed (and repetitive) commands to make
the figures look nice for the book. For those groundwater engineers and hydrogeologists that
are not familiar with Python programming, or need a refresher of some of the programming
concepts, a short primer on Python programming is included in the Appendix of this book.
18. Acknowledgement
The authors wish to thank Erik Anderson and Michael Teubner for reading and commenting
on a draft of the entire book. The groundwater theory presented in this book is based on the
principles of groundwater flow that were taught by Prof. Arnold Verruijt at the Delft Univer-
sity of Technology and Prof. Otto Strack at the University of Minnesota. Lastly, the authors
thank the developers of Python, the numpy-scipy-matplotlib stack (Harris et al., 2020;
Virtanen et al., 2020; Hunter, 2007), and Project Jupyter (Kluyver et al., 2016) for the devel-
opment of a remarkable, invaluable, and enjoyable programming language and ecosystem for
exploratory computing.
20. Authors
Mark Bakker is a groundwater engineer and a professor at the faculty of Civil Engineer-
ing and Geosciences of the Delft University of Technology. He has taught groundwater and
Python classes for more than two decades and is the originator and co-developer of many
Python-based open-source modeling tools, including Timml, Ttim, Pastas, and Flopy.
Vincent Post is a hydrogeologist with research interests in coastal hydrogeology and ground-
water quality. After a career in academia and research he founded Edinsi Groundwater in
2021. Python has become indispensable in his everyday professional life, and he actively
promotes its use in hydrogeology by teaching courses and developing Python-based tools.
22. Chapter 0
Basics of groundwater flow
Groundwater is defined as the water beneath the water table, where the pores are fully sat-
urated with water. The flow of groundwater forms the subsurface part of the hydrological
cycle. The main source of groundwater is precipitation (rain or snow) that reaches the water
table after infiltrating into the soil. The resulting increase in groundwater volume is called
recharge, sometimes called meteoric recharge to emphasize that the water originates from
atmospheric precipitation.
Natural groundwater discharge occurs where groundwater reaches the land surface, for
example in springs, swamps, and wetlands, or directly into rivers, lakes, seas, or oceans. Shal-
low groundwater can also be extracted by vegetation or through evaporation directly at the
soil surface. In many inhabited areas, significant amounts of water are extracted through
pumping wells.
0.1 Hydraulic head
Groundwater may be reached by digging or drilling a hole in the ground. The level to which
water rises in a borehole is called the hydraulic head, or simply the head. A piezometer is
an observation well specifically designed to measure the head and consists of a pipe with a
slotted screen at the bottom. The water level in a piezometer rises to a height such that the
weight of the water column in the piezometer equals the pressure of the groundwater directly
adjacent to the well screen. In a well-constructed piezometer (i.e., one that has no leaks or
internal flow), the pressure distribution with depth is hydrostatic
p = ρg(h − z) (0.1)
where p [M/L/T2] is the pressure with respect to the atmosphere in the groundwater at the
elevation of the well screen, ρ [M/L3] is the (mean) density of the water in the piezometer, g
[L/T2] is the gravitational acceleration, h [L] is the head, and z [L] is the elevation of the well
screen (positive upward) with respect to a reference level. Equation (0.1) can be rewritten as
(Figure 0.1)
p
h = z + (0.2)
ρg
The term z is also referred to as the elevation head, and the term p/(ρg) as the pressure
head. The pressure p equals zero at the water table so that the hydraulic head is equal to the
elevation head, h = z. Comparing water levels from different wells requires all water levels to
be expressed with respect to a common reference level or datum (e.g., mean sea level).
Exercise 0.1: Consider a piezometer of which the top is 20 m above the datum. The well screen
is 30 m below the top of the piezometer. A pressure sensor is lowered into the piezometer to a
DOI: 10.1201/9781315206134-0
23. 2 Analytical Groundwater Modeling
Figure 0.1 Definition of the head h and its components according to Eq. (0.2).
depth of 10 m below the top of the piezometer and records an absolute pressure of pabs =
kPa. The piezometer is filled with freshwater with a density ρ = 1000 kg/m3. The atmospheric
pressure is measured to be 101 kPa. Use g = 9.8 m/s2. Compute the head in the well.
180
0.2 Darcy’s experiment
In 1856, the French engineer Henry Darcy published the results of a series of experiments on
the flow of water through a column packed with different kinds of sand (Darcy, 1856). The
experiments consisted of a soil column of length L and cross-sectional area A (Figure 0.2).
Darcy measured the discharge Q through the column and the difference 1h in the head of
the water between two measurement ports.
Figure 0.2 Schematic representation of Darcy’s experiment. Darcy used a vertical column, but a horizontal
column works just as well.
The experiments revealed that there is a linear relationship between the discharge Q
through the soil column and the hydraulic head drop 1h over distance L, which can be
expressed as
1h
Q = kA (0.3)
L
The proportionality constant k was introduced because the relationship between the dis-
charge and the head gradient differed between types of sand. Nowadays, k is known as the
hydraulic conductivity, which has the dimensions L/T. Darcy’s law is not a physical law, but
an empirical relation. It became known as a law because it performs remarkably well over a
large range of flow conditions.
0.3 Representative elementary volume
Water particles move through small openings in the subsurface, along convoluted pathways
caused by the irregular shape of the pore space. The simulation of groundwater flow at this
microscopic scale requires knowledge of the three-dimensional shape of the entire pore space,
24. Basics of groundwater flow 3
which is not feasible. A different approach is required for larger spatial scales, called the
macroscopic scale. At the macroscopic scale, the net movement of groundwater through the
subsurface is approximated using parameters that are a representative average of the behavior
at the microscopic scale. This is what Darcy established empirically: The friction and viscous
forces that work against the flow of water are captured by the hydraulic conductivity k.
This parameter thus represents the effective action of the processes at the microscopic scale,
without detailed knowledge of the pore geometry at this scale.
The variables for the macroscopic description of groundwater flow are associated with a
spatial scale that is representative of the system considered. The volume for which a macro-
scopic property is valid is called the representative elementary volume (REV). The REV must
not be too small, because it will not form a representative average. In the extreme, an REV
smaller than the size of a pore or soil particle either represents an opening between soil par-
ticles or a soil particle itself, but not the average of many of these combined. The size of an
REV must therefore exceed a multiple of the representative pore size. Conversely, an REV
must not be too large either as it may no longer be suited to resolve the spatial variability of
the subsurface at the macroscopic level. If the properties of the subsurface vary over a few
meters, the REV must be significantly smaller than a few meters to capture this variability
in a model. The REV relevant to practical groundwater problems varies. For unconsolidated
sands, with a pore and grain size on the order of tenths of a millimeter, an REV of a few
centimeters already captures the average behavior.
0.4 Hydraulic conductivity and porosity
The hydraulic conductivity k is a measure of how easy a fluid can flow through the subsurface.
The hydraulic conductivity is not just a property of the subsurface, but also a property of the
fluid that flows through the subsurface and may be written as
κρg
k = (0.4)
µ
where κ [L2] is the intrinsic permeability that depends on the porous medium, while the den-
sity, ρ, and the dynamic viscosity, µ [M/L/T], are properties of the fluid that flows through
the subsurface. This means that warmer water will have a higher hydraulic conductivity than
colder water, even when it flows through the same subsurface, as the viscosity of warmer water
is smaller than the viscosity of colder water. Typical values of the hydraulic conductivity of
water through different materials are presented in Table 0.1.
Table 0.1 Hydraulic conductivity ranges
of different materials
Material k (m/d)
Clay < 0.0001
Sandy clay 0.0001 − 0.001
Peat 0.0001 − 0.01
Silt 0.001 − 0.01
Very fine sand 0.1 − 1
Fine sand 1 − 10
Coarse sand 10 − 100
Sand with gravel 100 − 1000
Gravel >1000
Source: Modified from Verruijt (1970).
25. 4 Analytical Groundwater Modeling
The porosity, n, of the subsurface is defined as the ratio of the volume of pores, Vp, to the
total volume, Vt.
Vp
n = (0.5)
Vt
The porosity does not appear in the equation for the hydraulic conductivity (Eq. 0.4), but the
intrinsic permeability κ depends on the characteristics of the subsurface, including the pore
volume, the pore size distribution, the connectivity between pores, the shape of the pores,
and the roughness of the subsurface material. The porosity therefore partially determines the
intrinsic permeability κ and thus indirectly influences k as well.
Exercise 0.2: Compute the hydraulic conductivity (in m/d) of freshwater flowing through sand
in winter when the infiltrating water has a temperature of 5◦C and in summer when the infil-
trating water has a temperature of 20◦C. Given: κ = 2 · 10−11 m2, µ = 1.5 · 10−3 Ns/m2 at
5◦C, and µ = 1 · 10−3 Ns/m2 at 20◦C.
0.5 Aquifers and aquitards
The subsurface consists of layers of varying permeability. The permeable layers are referred
to as aquifers. Sediments such as sand or gravel tend to form good aquifers, as their pores
are relatively wide and well connected, so that water can flow with relative ease. Layers with a
lower permeability are called aquitards, leaky layers, or semi-confining layers. Truly imperme-
able layers do not exist in nature, but if the hydraulic conductivity is so low that flow through
them is negligible, they are sometimes called aquicludes or confining layers.
Figure 0.3 Schematic cross section of the subsurface showing aquifers and aquitards.
An aquifer is unconfined when the saturated domain is bounded at the top by the water
table, also called the phreatic surface (Figure 0.3). Confined aquifers are separated from other
aquifers, or the land surface, by an aquitard. Flow is referred to as confined when the head is
above the top of the aquifer (Figure 0.3). The head in confined aquifers can drop below the
top of the aquifer, resulting in unconfined flow (see Section 3.3). Artesian conditions exist
when the head in a confined aquifer is higher than the elevation of the land surface, which
means that groundwater flows freely to the surface if a well is installed, without the need for
a pump.
In systems consisting of multiple aquifers separated by aquitards, groundwater may move
from one aquifer to another through aquitards. This is referred to as multi-aquifer or inter-
aquifer flow. Flow in aquitards can often be approximated as vertical. The larger the thickness
of an aquitard, the more difficult it is for water to flow across it. The ratio of the thickness
of an aquitard to its vertical hydraulic conductivity is called the hydraulic resistance and is a
measure of the (im)permeability of a leaky layer. Flow in aquifers tends to be predominantly
horizontal. The larger the thickness of an aquifer, the more water it can transmit. The ability
26. Basics of groundwater flow 5
of an aquifer to transmit water in the horizontal direction is called the transmissivity, which
is the product of the hydraulic conductivity and the aquifer thickness.
A groundwater modeler must always decide about the base of the groundwater flow sys-
tem, which is commonly formed by a low-permeable layer that leaks so little water that it
can be neglected for the problem of interest. While it is common to refer to the bottom of
the system as the impermeable base, it must be realized that there is always some exchange
of water across the bottom boundary of the system considered. Ideally, a confining unit can
be defined that serves as the base of the model, and in this case, a better term for the base
of the model is the basal aquitard. For very thick aquifer systems (like in sedimentary basins
and deltas, which can be many kilometers deep), this is not always feasible, and a pragmatic
choice must be made.
0.6 Storage and transient flow
When there are no significant changes in head (and thus flow) through time, the flow is said to
be steady. Analyses of steady flow are appropriate when long-term, average conditions are of
interest, for example for the delineation of wellhead protection areas for water supply wells,
or when an end situation is of interest, as for the dewatering of an aquifer for a construction
project. When the heads do not change with time, the storage volume remains constant in
time, which implies that the inflow and outflow of water are equal in the system considered.
In reality, groundwater flow is always transient. Transient flow occurs because boundary
conditions and system stresses change through time, for example changing aquifer recharge,
changing river levels, or varying pumping rates of wells. A specific application of transient
flow analysis is the evaluation of aquifer properties by induced stresses, such as pumping tests.
The storage in an unconfined aquifer increases when the water table rises. As an example,
consider a column within an unconfined aquifer with constant horizontal cross-sectional
surface area A. When the water table is raised 1h, the volume of water in the column increases
by an amount
1V = SA1h (0.6)
where S [-] is the storativity or storage coefficient of the unconfined aquifer. When the porous
medium above the water table is completely dry before the rise, the storativity of the uncon-
fined aquifer is equal to the porosity. In reality, the storativity is always smaller than the
porosity, as there is always soil water present above the water table. The storativity of an
unconfined aquifer is referred to as the phreatic storage coefficient or the more cryptic spe-
cific yield and is represented by the variable Sp. Typical values of the phreatic storage for
different materials are presented in Table 0.2.
Storage in a confined aquifer is physically more complicated. In a confined aquifer, all pores
are entirely filled with water. Additional water can nevertheless be stored through expansion
of the pore space and, albeit only to a small extent, compression of the water. When the head
Table 0.2 Phreatic storage of
different materials
Material Sp (−)
Clay 0.01 − 0.05
Silt 0.03 − 0.19
Sand 0.1 − 0.35
Gravel 0.14 − 0.35
Source: Modified from Fitts (2013).
27. 6 Analytical Groundwater Modeling
rises by 1h, the volume of water increases by an amount 1V according to Eq. (0.6), but the
storage coefficient is much smaller than that of unconfined aquifers. For most unconsolidated
aquifers, the ability of the aquifer to expand is significantly larger than the ability of the
water to compress. The storage coefficient of a confined aquifer is a function of the aquifer
thickness: The thicker the aquifer, the more water can be stored per unit surface area A, and
thus the greater the storage coefficient. The storage coefficient of a confined aquifer is
S = SsH (0.7)
where Ss [1/L] is the specific storage of the aquifer (the storage per unit aquifer thickness).
Typical values of the specific storage are presented in Table 0.3.
Table 0.3 Specific storage values
of different materials
Material Ss (m−1)
Clay 1 · 10−3 − 2 −
· 10 2
Sand 1 · 10−5 − 1 · 10−3
Source: Modified from Anderson
et al. (2015).
0.7 Darcy’s law for groundwater modeling
The basic form of Darcy’s law (Eq. 0.3) relates the total flow Q through a column of soil to
the head gradient. For groundwater modeling, it is more useful to consider the discharge per
unit area
Q 1h
q = = k (0.8)
Aq L
where Aq is the cross-sectional area perpendicular to the flow. The dimensions of the spe-
cific discharge vector are L/T. It is important to note, however, that the specific discharge is
not a velocity (although it is sometimes confusingly referred to as the Darcy velocity), but a
discharge per unit area.
Groundwater flow can be in any direction and is expressed in terms of the specific discharge
vector q
⃗ = (qx, qy, qz) with components in each of the three coordinate directions. The gen-
eral form of Darcy’s law relates the components of the specific discharge vector to the head
gradient in each direction
∂h ∂h ∂h
qx = −k qy = −k qz = −k (0.9)
∂x ∂y ∂z
In Eq. (0.9), the hydraulic conductivity is the same for flow in all directions. In some
aquifers, the hydraulic conductivity is anisotropic and must be represented by a tensor. When
the principal directions of the hydraulic conductivity tensor coincide with the coordinate
directions, Darcy’s law may be written as
∂h ∂h ∂h
qx = −kx qy = −ky qz = −kz (0.10)
∂x ∂y ∂z
where kx, ky, and kz are the hydraulic conductivity in the three coordinate directions (the
principal components of the hydraulic conductivity tensor).
28. Basics of groundwater flow 7
Water in the subsurface can only flow through the pores. The average velocity vector ⃗
v can
be obtained from the specific discharge vector through division by the porosity n
q
⃗
⃗
v = (0.11)
n
The vector ⃗
v is the average velocity of the groundwater because it describes the flow at the
macroscopic level, not the flow of individual water particles at the microscopic level of the
pores.
Exercise 0.3: Compute the average groundwater velocity for sand with k = 20 m/d, a porosity
of n = 0.3, and a head that drops 2 m every 1000 m. Compute v in both meters per day and
meters per month.
0.8 Dupuit and Forchheimer
All groundwater flow is three-dimensional, but for modeling purposes, flow may be approx-
imated as one-dimensional or two-dimensional. At the regional scale, most aquifers are rel-
atively thin in comparison with their areal extent and are therefore referred to as shallow
aquifers. Flow is predominantly horizontal in such aquifers and may be approximated as
two-dimensional in the horizontal plane. The amount of horizontal flow is described by the
discharge vector Q
⃗ = (Qx, Qy). The discharge vector is the total flow in the aquifer integrated
over the saturated thickness H of the aquifer. In other words, it is the discharge per unit width
of aquifer. The components of the discharge vector may be computed as
∂h ∂h
Qx = Hqx = −kH Qy = Hqy = −kH (0.12)
∂x ∂y
where the hydraulic conductivity is horizontally isotropic (kx = ky = k). The dimensions of
the discharge vector are L2/T. This approximation was first proposed by Dupuit (1863) and
Forchheimer (1886), so it is referred to as Dupuit flow or Dupuit–Forchheimer flow.
The Dupuit–Forchheimer approximation essentially means that the pressure distribution
is hydrostatic in an aquifer. This is very convenient, because that means that the head h
does not depend on the vertical coordinate in an aquifer. The Dupuit–Forchheimer approx-
imation does not mean, however, that flow is horizontal. Water can still flow vertically, but
the resistance to vertical flow is neglected within an aquifer; a detailed analysis is given in
Chapter 1. The accuracy of the Dupuit–Forchheimer approximation is further explored in
Chapter 10.
0.9 Groundwater models
Groundwater models are needed to gain an understanding of how groundwater flows and
to try to make predictions, because most phenomena or proposed interventions cannot be
tested at full scale in the field. Groundwater models are mathematical solutions to the differ-
ential equation that describes flow in an aquifer system. The differential equation is obtained
through the combination of a mass balance equation and Darcy’s law, yielding a differential
equation in terms of the hydraulic head. A mathematical model of a groundwater problem
consists of a differential equation and a set of mathematical boundary conditions, which are
derived from boundaries and conditions of the physical groundwater system. In this book,
the mathematical problem is solved analytically.
29. 8 Analytical Groundwater Modeling
In each of the upcoming chapters, analytical solutions are presented for a wide range
of flow problems. Chapters 1–5 deal with flow systems that may be approximated as one-
dimensional in the horizontal direction. This is followed by solutions to two-dimensional
flow systems in the horizontal plane in Chapters 6–9, including flow systems that are radially
symmetric (e.g., flow near a pumping well). Finally, Chapter 10 deals with two-dimensional
flow in the vertical plane, including a comparison with one-dimensional Dupuit–Forchheimer
solutions.
30. Chapter 1
Steady one-dimensional flow with constant
transmissivity
The study of one-dimensional groundwater flow problems gives basic insights that are quickly
lost in the analysis of two-dimensional or three-dimensional flow fields. Groundwater flow
fields can be approximated as one-dimensional if the flow in one direction dominates the flow
in the other directions, e.g., near coast lines, lake shores, rivers, or drainage ditches. Especially
at the regional scale, the flow tends to be essentially horizontal because the length of the flow
paths in the horizontal direction (on the order of kilometers) is much larger than the water
movement in the vertical direction (on the order of tens of meters or less).
The steady mass balance states that
Mass in − Mass out = 0 (1.1)
The mass balance of a fluid reduces to a volume balance when the density of the fluid is
approximated as constant. The steady volume balance is
Volume in − Volume out = 0 (1.2)
The volume balance for steady one-dimensional groundwater flow in an aquifer is derived by
considering a small section of the aquifer that is 1x long and 1y = 1 wide in the direction
normal to the plane of flow. The inflow consists of horizontal flow from the left, Qx(x), and
recharge at the top, N [L/T]. The outflow consists of horizontal flow at the right, Qx(x+1x)
(see Figure 1.1). The discharge vector Qx is the discharge per unit width of the aquifer, so the
dimensions are L2/T, while the recharge is the discharge per unit area with dimensions L/T.
Figure 1.1 Steady water balance in a section of an aquifer that is 1x long and 1y = 1 wide in the direction
normal to the plane of flow.
The volume balance is written for the time period 1t. Substitution of the appropriate
volumes in the volume balance equation (1.2) gives
Qx(x)1t + N1x1t − Qx(x + 1x)1t = 0 (1.3)
Division by 1x and 1t and rearrangement of terms gives
Qx(x + 1x) − Qx(x)
= N (1.4)
1x
DOI: 10.1201/9781315206134-1
31. 10 Analytical Groundwater Modeling
In the limit for 1x → 0, this gives the differential form of the continuity equation for steady
one-dimensional horizontal flow
dQx
= N (1.5)
dx
The term dQx/dx is also known in mathematics as the one-dimensional divergence of the
discharge vector. The divergence is the mathematical equivalent of outflow minus inflow of
a flow field.
The transmissivity of an aquifer is approximated as constant in all but the last solution
in this chapter. An aquifer with a constant transmissivity may be a confined aquifer with
horizontal top and bottom and constant hydraulic conductivity k. Or it can be an unconfined
aquifer where the saturated thickness is approximated as constant. Either way, the Dupuit–
Forchheimer approximation is adopted so that the head is approximated as constant in the
vertical direction. The horizontal flow is distributed equally over the aquifer thickness H
so that the discharge vector Qx, the integrated specific discharge over the thickness of the
aquifer, may be written as
dh
Qx = Hqx = −T (1.6)
dx
where T = kH is the transmissivity of the aquifer and qx is given by Darcy’s law (Eq. 0.9).
The continuity equation for this problem is (1.5). Substitution of Eq. (1.6) for Qx in Eq. (1.5)
gives
d dh
T = −N (1.7)
dx dx
Because the transmissivity T is assumed constant, the differential equation simplifies to
d2
h N
= − (1.8)
dx2 T
This is a second-order linear ordinary differential equation known as the Poisson equation.
The general solution is obtained by integrating Eq. (1.8) twice, which gives, for the case that
N is constant,
N
h 2
= − x + Ax + B (1.9)
2T
where A and B are integration constants that need to be determined from boundary
conditions.
1.1 Flow between two rivers
The first problem that is solved is for confined flow between two long and parallel rivers that
fully penetrate the aquifer (Figure 1.2). The rivers are a distance L apart, and there is no
areal recharge (N = 0). The rivers are in direct contact with the aquifer so that the head in
the aquifer at the river is equal to the head in the river. The head at x = 0 is h0, and the head
at x = L is hL.
h|x=0 = h0 (1.10)
h|x=L = hL (1.11)
32. Steady one-dimensional flow 11
Figure 1.2 Flow between two rivers.
Application of the boundary conditions to the general solution (1.9) gives
hL − h0
A = (1.12)
L
B = h0 (1.13)
so that the solution for the head becomes a straight line
(hL − h0)x
h = + h0 (1.14)
L
The discharge vector Qx is obtained by differentiating Eq. (1.14) with respect to x and insert-
ing the result into Eq. (1.6)
dh hL − h0
Qx = −T = −T (1.15)
dx L
Note that Qx is constant throughout the flow field.
The solution is computed below and plotted in Figure 1.3. Note that the porosity n and
elevation zb of the bottom of the aquifer are defined but not used here. They will be used
when visualizing the flow field and computing the travel time in the following.
# parameters
L = 1000 # aquifer length, m
H = 10 # aquifer thickness, m
zb = -6 # aquifer bottom, m
k = 10 # hydraulic conductivity, m/d
n = 0.3 # porosity, -
T = k * H # transmissivity, m^2/d
h0 = 6 # specified head at the left boundary, m
hL = 4 # specified head at the right boundary, m
# solution
x = np.linspace(0, L, 100)
h = (hL - h0) * x / L + h0
Qx = - T * (hL - h0) / L * np.ones_like(x)
# basic plot
plt.subplot(121)
plt.plot(x, h)
plt.subplot(122)
plt.plot(x, Qx);
The flow field in a vertical cross section may be visualized using the streamplot function
of matplotlib, which takes as input a two-dimensional grid of points, and for each grid
33. 12 Analytical Groundwater Modeling
(a) (b)
Figure 1.3 Flow between two rivers with N = 0; head (left) and Qx (right).
point, the horizontal and vertical components of the specific discharge vector. The horizontal
component of the specific discharge vector qx is computed from the discharge vector Qx as
Qx hL − h0
qx = = −k (1.16)
H L
and does not vary in the vertical direction. The vertical component of the specific discharge
vector qz equals zero. The streamplot function draws lines in the direction of the flow
and adds arrows to indicate the direction of flow. For this case with constant flow, a small
grid of 2 by 2 is sufficient. The vertical exaggeration is set with the aspect keyword of the
subplot function. The vertical exaggeration is noted as “VE” in the label of the vertical axis
(Figure 1.4).
# solution
xg, zg = np.meshgrid(np.linspace(0, L, 2), np.linspace(zb, zb + H, 2))
qx = -k * (hL - h0) / L * np.ones_like(xg)
qz = np.zeros_like(xg)
# basic streamplot
plt.subplot(111, aspect=25)
plt.streamplot(xg, zg, qx, qz, color='C1', density=0.2);
Figure 1.4 Streamplot in a vertical cross section for flow between two rivers with N = 0.
The (average) velocity in the horizontal direction vx is obtained through division of qx by
the porosity n (obviously, the velocity in the vertical direction vz is zero). For this simple prob-
lem, the (average) travel time from the left river to the right river can be computed as L/vx.
More formally, the travel time can be obtained from the definition of the horizontal velocity
vector
qx dx
vx = = (1.17)
n dt
34. Steady one-dimensional flow 13
Integration gives the travel time ttr
Z ttr
Z L Z
dx L Ln
dt = = − dx (1.18)
0 0 vx 0 k(hL − h0)
which gives
L2n L
ttr = = (1.19)
k(h − h ) v
0 L x
# travel time
vx = -k * (hL - h0) / (n * L)
print(f'mean velocity: {vx:.4f} m/d')
print(f'travel time from left river to right river: {L / vx:.0f} days')
mean velocity: 0.0667 m/d
travel time from left river to right river: 15000 days
1.2 Areal recharge between two rivers
The transmissivity of an unconfined aquifer may be approximated as constant and equal to
kH if the variation of the saturated thickness, caused by the change in water table elevation,
is small compared to the total saturated thickness. In the following example, an unconfined
aquifer is bounded on the left and right sides by two long parallel rivers that fully penetrate
the aquifer (Figure 1.5). The rivers are a distance L apart and in direct contact with the aquifer
so that
h|x=0 = h0 (1.20)
h|x=L = hL (1.21)
Figure 1.5 Areal recharge between two rivers.
Because T is approximated as constant, the general equation (1.8) is still applicable and
the integration constants for N 0 are
hL − h0 N
A = + L (1.22)
L 2T
B = h0 (1.23)
so that the solution becomes
N (h x
h 2 L − h0)
= − (x − Lx) + + h0 (1.24)
2T L
The discharge vector Qx is obtained by differentiation of Eq. (1.24) in combination with
Eq. (1.6).
dh L hL − h0
Qx = −T = N x − − T (1.25)
dx 2 L
The solution is computed below.
35. 14 Analytical Groundwater Modeling
# parameters
L = 1000 # aquifer length, m
H = 10 # saturated thickness, m
zb = -5 # aquifer bottom, m
k = 10 # hydraulic conductivity, m/d
n = 0.3 # porosity, -
T = k * H # transmissivity, m^2/d
h0 = 6 # specified head at the left boundary, m
hL = 4 # specified head at the right boundary, m
N = 0.001 # areal recharge, m/d
# solution
x = np.linspace(0, L, 100)
h = -N / (2 * T) * (x ** 2 - L * x) + (hL - h0) * x / L + h0
Qx = N * (x - L / 2) - T * (hL - h0) / L
# basic plot
plt.subplot(121)
plt.plot(x, h)
plt.subplot(122)
plt.plot(x, Qx);
(a) (b)
Figure 1.6 Areal recharge between two rivers; head (left) and Qx (right).
Note that there is a groundwater divide between the two rivers (Figure 1.6). Part of the
recharge flows to the left river, and part of the recharge flows to the right river. The discharge
into the left river (x = 0) and the right river (x = L) are computed below. The flow into
the left river plus the flow into the right river is exactly equal to the total recharge: NL = 1
m2/d. At the water divide, the head gradient equals zero so that Qx = 0.
print(f'discharge into left river: {-Qx[0]:.3f} m^2/d')
print(f'discharge into right river: {Qx[-1]:.3f} m^2/d')
discharge into left river: 0.300 mˆ2/d
discharge into right river: 0.700 mˆ2/d
Exercise 1.1: Compute the location of the water divide for the parameters that are provided
above. Verify that the location of the water divide is consistent with the discharge figures
computed above.
Exercise 1.2: Determine what the water level in the left river must be so that exactly all water
that infiltrates flows to the right river, while no water from the left river flows to the right
river; use the parameters of the example above. Plot h and Qx vs. x.
36. Steady one-dimensional flow 15
Exercise 1.3: Consider the case that h0 = h1 = 10 m. The head halfway between the two
rivers is measured to be 9 m. Compute the areal recharge for this case using the parameters
of the example above. Plot h vs. x.
In this solution, the flow is approximated as one-dimensional, and both h and Qx are func-
tions of x only. In a vertical cross section, however, the flow must be two-dimensional. After
all, water infiltrates the aquifer at the top and discharges into the rivers to the left and right
(see Figure 1.5). This leads to an apparent contradiction: How can water flow vertically in a
one-dimensional solution?
To resolve this contradiction, consider Darcy’s law for the vertical component of the spe-
cific discharge
∂h
qz = −kz (1.26)
∂z
where kz is the hydraulic conductivity in the vertical direction. As the Dupuit–Forchheimer
approximation is adopted, the head h is a function of x only, so ∂h/∂z = 0. This means
that qz is also equal to zero, except for the case that the vertical hydraulic conductivity kz is
infinitely large; the product of a term that goes to zero and a term that goes to infinity can
result in a finite number (under certain mathematical conditions). Although this may seem
strange at first (the vertical hydraulic conductivity is, of course, a finite number), this result
can be interpreted to mean that the resistance to vertical flow is neglected (e.g., Strack, 1984).
In other words, the energy it takes to flow vertically within an aquifer can be neglected with
respect to the energy it takes to flow horizontally. This is often a good approximation, as
groundwater commonly travels large distances horizontally (order of kilometers), but only
small distances vertically (order of meters).
The vertical component of the flow cannot be computed from Darcy’s law (as kz = ∞
causes all kinds of troubles), but can be obtained from continuity of flow. A differential
equation for continuity of flow in the vertical x, z plane may be derived by considering a
vertical aquifer section that is 1x long and 1z high. The fluxes on the four sides are shown
in Figure 1.7. Application of the volume balance for steady flow (In − Out = 0) gives
[qx(x + 1x, z) − qx(x, z)]1z1t + [qz(x, z + 1z) − qz(x, z)]1x1t = 0 (1.27)
Division by 1x1z1t and taking the limit for 1x and 1z going to zero gives
∂qx ∂qz
+ = 0 (1.28)
∂x ∂z
In mathematical terms, the divergence of the specific discharge vector equals zero for steady
flow in the vertical plane.
Figure 1.7 Two-dimensional continuity of flow in the vertical plane.
The horizontal component qx is obtained from the discharge vector (Eq. 1.25) as
Qx dh N L T hL − h0
qx = = −k = x − − (1.29)
H dx H 2 N L
37. 16 Analytical Groundwater Modeling
Differentiation of qx and substitution of the result in Eq. (1.28) gives
∂qz N
= − (1.30)
∂z H
which can be integrated to give
Nz
qz = − + C (1.31)
H
The constant of integration is obtained from the condition that at the impermeable base of
the aquifer (z = zb), the vertical component of flow is zero so that C = Nzb/H and
N(z − zb)
qz = − (1.32)
H
Note that the boundary condition at the top of the aquifer qz|z=zb+H = −N is also satisfied,
and that qz decreases with depth according to a simple linear function. Expressions (1.29)
and (1.32) are used below to create a streamplot for approximate two-dimensional flow in
the vertical plane (Figure 1.8).
# solution
xg, zg = np.meshgrid(np.linspace(0, L, 10), np.linspace(zb, zb + H, 5))
qx = (N * (xg - L / 2) - T * (hL - h0) / L) / H
qz = - N * (zg - zb) / H
# basic streamplot
plt.subplot(111, aspect=25)
plt.streamplot(xg, zg, qx, qz, color='C1');
Figure 1.8 Streamplot in a vertical cross section for areal recharge between two rivers.
A second method to visualize the two-dimensional flow field in a vertical cross section is to
compute and contour the stream function. The stream function is a function that is constant
along streamlines. The difference of the stream function values between two points is equal
to the amount of water flowing between the two points, and the value of the stream function
increases to the right when looking in the direction of flow.
The stream function in a vertical cross section is denoted with the small Greek letter psi,
ψ [L2/T]. Here, ψ is arbitrarily set to zero along the impermeable base of the aquifer, as the
impermeable base is a streamline. As a result, the stream function value along the top of
the aquifer is equal to ψ = −Qx so that the difference between the stream function values
along the bottom and top of the aquifer is always equal to the discharge Qx in the aquifer.
The stream function value along the top of the aquifer is −Qx and not Qx, because of the
convention that the stream function increases to the right when looking in the direction of
flow.
38. Steady one-dimensional flow 17
A contour plot of the stream function is shown in Figure 1.9. It is created by defining
an array psi of the stream function. The stream function is computed at a number of points
along the bottom and top of the aquifer. The contouring routine interpolates linearly between
the stream function computed along the top and bottom of the aquifer. This is exactly cor-
rect for this problem, as this means that the discharge is divided equally over the vertical.
The amount of flow between two adjacent streamlines is always the same when a constant
contouring interval is used (this is not the case for the lines obtained with the streamplot
function used previously), so when two streamlines are closer together, water flows faster. In
this case, the flow between two adjacent streamlines is NL/20, as 20 contour intervals are
plotted. The streamlines are evenly spaced every 50 m at the top of the aquifer, as the inflow
is equal to qz = −N there and L = 1000 m. The vertical streamline that goes through the
water divide is the dividing streamline and corresponds to a stream function value ψ = 0 (as
this streamline continues along the bottom of the aquifer). The outflow to the right river is
more than twice the outflow to the left river. Note that, indeed, the stream function increases
to the right when looking in the direction of flow. The inflow along the top of the aquifer is
uniform and equal to N. The outflow into the rivers is also uniform in the vertical direction.
This means, for example, that water that enters the aquifer halfway between the water divide
and the river flows into the river at an elevation exactly equal to the middle of the aquifer.
# solution
x = np.linspace(0, L, 100)
Qx = N * (x - L / 2) - T * (hL - h0) / L
psi = np.zeros((2, len(x)))
psi[1, :] = -Qx # at the top of the aquifer, the stream function is -Qx
xg = x
zg = [zb, zb + H]
# basic streamline plot
plt.subplot(111, aspect=25)
cs = plt.contour(xg, zg, psi, 20, colors='C1', linestyles='-')
plt.clabel(cs, fmt='%1.2f');
Figure 1.9 Streamlines in a vertical cross section for areal recharge between two rivers. Vertical exaggera-
tion (VE) is 25.
In the plot of the streamlines, the scales along the horizontal and vertical directions are not
the same: The horizontal distance is actually 25 times larger than the vertical distance. When
the scales along both axes are set equal, it is not possible to see the flow lines anymore for the
entire cross section. For illustration purposes, the streamlines are plotted to scale (i.e., no ver-
tical exaggeration) for the section from x = 500 to x = 600 (colored gray in Figure 1.9) in the
figure below, showing that the streamlines are indeed predominantly horizontal (Figure 1.10).
# basic streamline plot of part of flow field without vertical exaggeration
plt.subplot(111, aspect=1, xlim=(500, 600))
cs = plt.contour(xg, zg, psi, 20, colors='C1', linestyles='-');
39. 18 Analytical Groundwater Modeling
Figure 1.10 Streamlines in a vertical cross section for the gray area of cross section shown in Figure 1.9
(no vertical exaggeration).
Exercise 1.4: Make a contour plot of the stream function for the case that the head in the left
river is so high that exactly all water flows to the right river (i.e., the water divide is at the left
river).
It is common practice to draw contours of the head and streamlines on the same plot, as
they form what is called a flow net where the streamlines cross the head contours at right
angles, as will be demonstrated for two-dimensional solutions in later chapters. This is only
the case when the hydraulic conductivity is isotropic. Here, the solution for flow in the ver-
tical plane is based on the Dupuit–Forchheimer approximation, which is equivalent to the
case where the vertical hydraulic conductivity is much larger than the horizontal hydraulic
conductivity so that the head contours and streamlines don’t form a flow net.
Exercise 1.5: Draw a flow net showing head contours and streamlines for the example on the
same graph.
The travel time for water that enters at the top of the aquifer and leaves the aquifer at
the left or right river can again be computed from the horizontal component of the velocity
vector vx = qx/n (since vx is not a function of the vertical coordinate), as was done in the
previous section. This gives the travel time ttr(x0, x1) from location x = x0 to location x = x1
ttr(x0, x1) =
Z x1
x0
dx
vx
=
nH
N
ln
vx|x=x1
vx|x=x0
(1.33)
Similarly, the travel time from the top of the aquifer zb + H to elevation z is obtained from
the vertical component of the velocity vector vz = qz/n, which gives
ttr(z) =
Z z
zb+H
dz
vz
=
nH
N
ln
H
z − zb
(1.34)
The travel time from the top of the aquifer to elevation z is only a function of z. That is an
interesting result, famously obtained by Vogel (1967), because it means that all water at a
certain depth has the same age for the case of uniform recharge.
Exercise 1.6: Compute how long it takes for water that enters the aquifer at the top of the
aquifer halfway between the water divide and the right river to flow to the right river. Use
the parameters of the example and a porosity n = 0.3. Compute the travel time in two ways:
using the equation for the travel time from x0 to x1, and the equation for the travel time from
the top of the aquifer to the halfway thickness of the aquifer. They should, of course, give the
same answer.
1.3 Areal recharge between an impermeable boundary and a river
The problem of the previous section is modified by replacing the river on the left side by an
impermeable boundary (see Figure 1.11). The two boundary conditions become
dh
dx x=0
= 0 (1.35)
h|x=L = hL (1.36)
40. Steady one-dimensional flow 19
The boundary condition at x = L is referred to as a fixed-head or Dirichlet boundary condi-
tion. The boundary condition at x = 0 is referred to as a specified-flux or Neumann boundary
condition. The Dirichlet and Neumann boundary conditions are also referred to as type 1
and type 2 boundary conditions, respectively. In physical terms, the impermeable boundary
can represent a water divide or a rock mass with very low permeability.
Figure 1.11 Areal recharge between an impermeable wall and a river.
The general solution to the differential equation is again Eq. (1.9), of which the derivative
with respect to x is
dh N
= − x + A (1.37)
dx T
Application of boundary condition Eq. (1.35) at x = 0 gives
A = 0 (1.38)
so that application of boundary condition (1.36) leads to the following solution
N
h = − (x2
− L2
) + hL (1.39)
2T
and
dh
Qx = −T = Nx (1.40)
dx
All the recharge flows to the river on the right, so the outflow into the right river is NL. An
example is provided below (Figure 1.12). Note that the line for the head function is horizon-
tal at the left boundary, indicating the no-flow condition. The saturated thickness is approx-
imated as constant and equal to H = 10 m in the example below, but the distance between
the head and the bottom of the aquifer (zb = −5 m) varies from 14 m on the left side to
9 m on the right side. The question can be raised whether it is reasonable to approximate
the saturated thickness as constant if it varies by this much. This question is addressed in
Chapter 3.
# parameters
L = 1000 # aquifer length, m
H = 10 # approximate saturated aquifer thickness, m
zb = -5 # aquifer bottom, m
k = 10 # hydraulic conductivity, m/d
T = k * H # transmissivity, m^2/d
hL = 4 # specified head at the right boundary, m
N = 0.001 # areal recharge, m/d
# solution
x = np.linspace(0, L, 100)
h = -N / (2 * T) * (x ** 2 - L ** 2) + hL
Qx = N * x
41. 20 Analytical Groundwater Modeling
# basic plot
plt.subplot(121)
plt.plot(x, h)
plt.subplot(122)
plt.plot(x, Qx);
(a) (b)
Figure 1.12 Areal recharge between an impermeable boundary and a river; head (left) and Qx (right).
Exercise 1.7: Compute how long it takes for water that inifltrates at x = L/2 to flow to the
river. Use n = 0.3.
Exercise 1.8: Derive and plot a solution for the head for the case that h|x=0 = h0 and dh
|
dx x=L =
0, where h0 = 6 m.
Next, the boundary condition on the right side is modified by adding a layer with a resis-
tance between the aquifer and the river (Figure 1.13). This resistance represents the low-
permeable sediments that typically make up the river bed. In reality, the inflow occurs along
the wet perimeter of the river, but to simplify the mathematical treatment, the leaky river bed
is approximated here as a vertical section between the aquifer and the river with width wh and
horizontal hydraulic conductivity kh. The specific discharge through the layer is computed
with Darcy’s law as
hL − hR hL − hR
qx = −kh = (1.41)
wh c
where hL is the head in the aquifer at x = L, hR is the water level in the river, and c is referred
to as the hydraulic resistance of the river bed and is defined as
wh
c = (1.42)
kh
Note that c has the dimension time. The discharge vector into the river is obtained through
multiplication of qx by the saturated thickness in the leaky layer, which is approximated here
as H.
hL − hR
Qx|x=L = H = C(hL − hR) (1.43)
c
where C = H/c is called the river bed conductance. This boundary condition represents a
relation between the head and the flow and is referred to as a Robin boundary condition or
a type 3 boundary condition.
For this modified problem, the flow into the river is known upfront from continuity of flow
and is equal to the total recharge NL so that
Qx|x=L = C(hL − hR) = NL (1.44)
42. Steady one-dimensional flow 21
Figure 1.13 Areal recharge between an impermeable boundary and a river with river bed resistance.
and the head in the aquifer at x = L is
NL
hL = + hR (1.45)
C
The solution for the head and flux can now be obtained from Eqs. (1.39) and (1.40). The
shape of the head curve is the same as for the case without entry resistance (Figure 1.12), but
all heads are raised by an amount NL/C (Figure 1.14), because all the water needs to flow
through the resistance layer into the river. For the parameters of the previous example, but
with an entry resistance of c = 10 d, the head increase is 1 m.
# additional parameters
hR = 4 # water level in river, m
c = 10 # hydraulic resistance of river bed, d
# solution
x = np.linspace(0, L, 100)
C = H / c
hL = N * L / C + hR
h = -N / (2 * T) * (x ** 2 - L ** 2) + hL
Qx = N * x
# basic plot
plt.subplot(121)
plt.plot(x, h)
plt.subplot(122)
plt.plot(x, Qx);
(a) (b)
Figure 1.14 Areal recharge between an impermeable wall and a river with riverbed conductance; head (left)
and Q (right).
x
Exercise 1.9: Compute the head in the aquifer at x = L for the case with river bed con-
ductance, but now the boundary condition on the left side is h|x=0 = 6 m. Plot the head
vs. x.
43. 22 Analytical Groundwater Modeling
1.4 Flow through two zones of different transmissivities
In the previous solutions, the hydraulic conductivity and saturated thickness were approxi-
mated as constant. Here, the aquifer consists of two zones of different, but constant trans-
missivities (Figure 1.15). The one-dimensional confined flow is between two parallel rivers
with specified heads. The rivers are a distance L apart. The zone on the left has length L0,
hydraulic conductivity k0, and thickness H0. The zone on the right has length L1, hydraulic
conductivity k1, and thickness H1. Hence, the transmissivity in the left zone is T0 = k0H0
and the transmissivity in the right zone is T1 = k1H1. Recall that the general solution for the
head in a confined aquifer (Eq. 1.9) was derived for a constant transmissivity. The solution is
valid in zone 0 and in zone 1, but with different integration constants. For N = 0, the solution
in zone 0 is
h = A0x + B0 zone 0 (1.46)
and in zone 1
h = A1x + B1 zone 1 (1.47)
where A0, A1, B0, and B1 are constants to be determined from boundary conditions.
Figure 1.15 Confined flow through two zones of different transmissivities.
There are two boundary conditions and two continuity conditions, because the head and
flow are continuous across the boundary between zones 0 and 1
h|x=0 = h0 (1.48)
h|x=L = hL (1.49)
h| = |
x L−
= h x=L+ (1.50)
0 0
Qx| − = |
x=L Qx x=L+ (1.51)
0 0
where the superscripts + and − stand for evaluation just to the left and just to the right of
x = L0, respectively. Application of these four conditions and a bit of algebra gives the head
solution
T1L (hL − h0)
h = x + h0 zone 0 (1.52)
T0L1 + T1L0 L
T0L (hL − h0)
h = (x − L) + hL zone 1 (1.53)
T0L1 + T1L0 L
and the flow solution
T0T1L (hL − h0)
Qx = − zones 0 and 1 (1.54)
T0L1 + T1L0 L
The discharge vector is once again constant for this solution (because N = 0), so the amount
of water that flows into the aquifer on the left must discharge into the river on the right.
44. Steady one-dimensional flow 23
The head function consists of two straight segments (1.16). The head gradient is smaller
in the zone with the larger transmissivity and the head gradient is larger in the zone with the
smaller transmissivity such that the product of the transmissivity and the head gradient is
equal for both zones. In the example below, the aquifer is divided in two halves (L0 = L1)
and the transmissivity of the left half of the aquifer is 10 times larger than the transmissivity
of the right half of the aquifer. As a result, the head gradient is 10 times smaller in the left
zone as compared to the right zone.
# parameters
h0 = 6 # specified head at the left boundary, m
hL = 4 # specified head at the right boundary, m
L0 = 500 # length of zone 0, m
L1 = 500 # length of zone 1, m
T0 = 200 # transmissivity of zone 0, m^2/d
T1 = 20 # transmissivity of zone 1, m^2/d
L = L0 + L1 # total length, m
# solution
x = np.linspace(0, L, 101)
h = np.empty_like(x)
h[x L0] = T1 * L / (T0 * L1 + T1 * L0) * (hL - h0) * x[x L0] / L + h0
h[x = L0] = T0 * L / (T0 * L1 + T1 * L0) * (hL - h0) * (x[x = L0] - L) / L + hL
Qx = -T0 * T1 * L / (T0 * L1 + T1 * L0) * (hL - h0) / L
hhalfway = h[50]
print(f'head halfway: {hhalfway:.2f} m')
print(f'head gradient zone 0: {(hhalfway - h0) / L0: .6f}')
print(f'head gradient zone 1: {(hL - hhalfway) / L1: .6f}')
head halfway: 5.82 m
head gradient zone 0: -0.000364
head gradient zone 1: -0.003636
# basic plot
plt.subplot(121)
plt.plot(x, h)
plt.subplot(122)
plt.plot([0, L], [Qx, Qx]);
(a) (b)
Figure 1.16 Confined flow through two zones of different transmissivities; head (left) and Qx (right).
The solution for Qx (Eq. 1.54) is compared with the solution for a homogeneous aquifer
with transmissivity T (Eq. 1.15), which shows that the transmissivity of the two zones may be
45. 24 Analytical Groundwater Modeling
replaced by a single effective transmissivity Teff for the whole aquifer that results in the correct
flow rate
T0T1L L
Teff = = (1.55)
T0L1 + T1L0 L1/T1 + L0/T0
The effective transmissivity is equal to the harmonic mean of the transmissivities of each
zone, weighted by the zone lengths. The harmonic mean is commonly (much) smaller than
the arithmetic mean.
print(f'arithmetic mean transmissivity: {(T0 + T1) / 2: .1f} m^2/d')
print(f'effective transmissivity: {L / (L1 / T1 + L0 / T0): .1f} m^2/d')
arithmetic mean transmissivity: 110.0 mˆ2/d
effective transmissivity: 36.4 mˆ2/d
Exercise 1.10: Compute the travel time from the left river to x = L0 and from x = L0 to
x = L using that the thickness of both zones is 10 m and the porosity of both zones is 0.3.
Repeat the computation for the case that H0 = 10 m and H1 = 5 m, while still using the same
value of T1.
Exercise 1.11: Consider the same case as the example, but now the left boundary is imperme-
able, and there is a uniform areal recharge of N = 0.001 m/d over the entire aquifer. T1 = 100
m2/d, and all other values are as in the example. First, derive an equation for the head between
x = L0 and x = L and compute the head at x = L0. Then derive an equation for the head
between x = 0 and x = L0. Plot the head vs. x.
46. Chapter 2
Steady one-dimensional semi-confined flow
In semi-confined aquifers, the aquifer is capped by a leaky layer consisting of a low-permeable
material such as peat, shale, or clay. This is in contrast to the confined aquifers considered in
the previous chapter, which are capped by a layer that may be approximated as impermeable.
The low-permeable layer is referred to as a semi-confining layer or a leaky layer. In what
follows, the head above the leaky layer is fixed to a constant level h∗ (Figure 2.1). This can
correspond to the head in an aquifer above the semi-confining layer, or the water level of a
surface water body. The fixed head h∗ can also represent the mean water table in a drained
area, where the water table is fixed by means of ditches or tile drains; such drained areas
are sometimes referred to as polders. The fixed head h∗ in the drained area can be in the
low-permeable top layer (Figure 2.1) or in a permeable layer separated from the aquifer by a
leaky layer (Figure 2.2).
(a) (b)
Figure 2.1 Semi-confined aquifer below surface water (left) and semi-confined aquifer below a drained area
with a fixed water table in the low-permeable layer (right).
The specific discharge through the leaky layer is approximated as vertical and may be
computed with Darcy’s law (Eq. 0.9) as
qz = −k∗ ∂h −
≈ −k∗ h∗ h
∂z H∗
(2.1)
where h is the head in the aquifer, h∗ is the specified head at the top of the leaky layer, k∗ is the
vertical hydraulic conductivity of the leaky layer, and H∗ is either the thickness of the leaky
layer (left situation of Figure 2.1) or the distance between the drainage level and the bottom
of the low-permeable layer (right situation of Figure 2.1).
The specific discharge through the leaky layer is positive for upward flow (in the positive z
direction) and may be written in the form
h − h∗
qz = (2.2)
c
where c [T] is the resistance to vertical flow of the leaky layer defined as
c = H∗
/k∗
(2.3)
DOI: 10.1201/9781315206134-2
47. 26 Analytical Groundwater Modeling
The flow in a semi-confined aquifer is governed by the Poisson equation (1.8), where the infil-
tration rate N is a function of the head difference across the semi-confining layer. Substitution
of N = −qz in Eq. (1.8) gives
d2
h h − h∗
= (2.4)
dx2 cT
For the case that h∗ is a constant, this equation can be rewritten as
d2
(h − h∗) h − h∗
= (2.5)
dx2 λ2
where
√
λ = cT (2.6)
is referred to as the leakage factor [L] and is a characteristic length of the system, as will be
explained later.
Differential equation (2.5) is a second-order linear ordinary differential equation known
as the modified Helmholtz equation. The general solution is
h h∗
Ae−x/λ
− = + Bex/λ
(2.7)
where A and B are constants to be determined from boundary conditions. The general solu-
tion for the discharge vector is
AT
Q −x/λ BT x/λ
x = e − e (2.8)
λ λ
Alternatively, the general solution may be written as
h − h∗
= A sinh(x/λ) + B cosh(x/λ) (2.9)
with the corresponding discharge vector
AT BT
Qx = − cosh(x/λ) − sinh(x/λ) (2.10)
λ λ
It depends on the problem whether the formulation in terms of exponential functions is more
convenient, or the formulation in terms of hyperbolic functions.
2.1 Flow from a canal to a drained area
Consider one-dimensional flow from a canal into a polder. The aquifer is semi-confined
and semi-infinite and is bounded on the left by a fully penetrating canal with water level
h0, as shown in Figure 2.2; the head in the polder is fixed to h∗. The governing dif-
ferential equation is the modified Helmholtz equation, as derived above. The boundary
conditions are
h|x=0 = h0
(2.11)
h ∗
|x→∞ = h
Application of the second boundary condition gives B = 0, after which application of the
first boundary condition gives A = h0 − h∗ so that the solution for h becomes
h = h∗
+ (h0 − h∗
)e−x/λ
(2.12)
48. Steady one-dimensional semi-confined flow 27
Figure 2.2 Semi-confined flow from a canal to a polder.
Water flows from the canal into the semi-confined aquifer and then through the leaky layer
into the overlying polder (provided that the head in the canal is larger than the head in the
polder). The discharge vector in the aquifer is
dh T(h ∗
0 − h )
Qx = −T = e−x/λ
(2.13)
dx λ
An example solution is shown below (Figure 2.3). Equations (2.12) and (2.13) for h and Qx
are implemented in Python functions so that they can easily be reused later on in this section.
# parameters
hstar = 0 # head above leaky layer, m
h0 = 1 # specified head at the left boundary, m
k = 10 # hydraulic conductivity, m/d
H = 40 # aquifer thickness, m
c = 100 # resistance of leaky layer, d
T = k * H # transmissivity, m^2/d
lab = np.sqrt(c * T) # leakage factor, m
print(f'the leakage factor is: {lab:.0f} m')
the leakage factor is: 200 m
# solution
def head(x):
return (h0 - hstar) * np.exp(-x / lab) + hstar
def disvec(x):
return k * H * (h0 - hstar) / lab * np.exp(-x / lab)
x = np.linspace(0, 5 * lab, 100)
h = head(x)
Qx = disvec(x)
# basic plot
plt.subplot(121)
plt.plot(x, h, 'C0')
plt.subplot(122)
plt.plot(x, Qx, 'C1');
The total discharge per meter length of canal normal to the plane of flow is called Q0 and
is obtained by evaluating Qx at x = 0, which gives Q0 = T(h0 − h∗)/λ. The discharge vector
Qx in the aquifer decreases with distance from the canal, as groundwater discharges across
the leaky layer into the drainage system of the polder. At a distance x = λ, Qx has reduced to
e−1Q0 = 0.37Q0, and at a distance x = 3λ, Qx has reduced to only e−3Q0 = 0.05Q0. Hence,
95% of the water that flows from the canal into the aquifer has discharged into the polder
within a distance of 3λ from the canal. That is why the leakage factor λ is a characteristic
49. 28 Analytical Groundwater Modeling
(a) (b)
Figure 2.3 Semi-confined flow from a canal to a polder; λ is the leakage factor; head (left) and Qx (right).
length of the system. Similarly, the difference between the head in the aquifer and the head
in the polder reduces from h h∗ at the canal (x 0) to only 0.05(h h∗
0 − = 0 − ) at x = 3λ.
Roughly speaking, three times the leakage factor away from the canal, the head in the aquifer
is approximately equal to the head h∗ above the semi-confined aquifer.
Several checks may be conducted to verify that the solution and its Python implementation
(the functions head and disvec) are correct. First, it is verified that the solution meets the
boundary conditions in Eq. (2.11).
# Verify boundary conditions
print(f'head at x=0: {head(0):.0f} m')
print(f'head at x=infinity: {head(np.inf):.0f} m')
head at x=0: 1 m
head at x=infinity: 0 m
Second, it is verified that the solution meets the governing differential equation (2.5) using
an accurate numerical approximation of the second derivative
d2
h h(x − 1x) − 2h(x) + h(x + 1x)
≈ (2.14)
dx2 (1x)2
where 1x is a suitably small increment.
# Verify differential equation
x = 200 # example point where deq is checked
delx = 0.001
left_side = (head(x - delx) - 2 * head(x) + head(x + delx)) / delx ** 2
right_side = (head(x) - hstar) / lab ** 2
print(f'left_side of deq : {left_side}')
print(f'right_side of deq: {right_side}')
left_side of deq : 9.196976513692334e-06
right_side of deq: 9.196986029286058e-06
Third and final, it is checked that the specific discharge is indeed Qx = −Tdh/dx using the
numerical derivative
dh h(x + 1x) − h(x − 1x)
≈ (2.15)
dx 21x
50. Steady one-dimensional semi-confined flow 29
# Verify Qx
Qx = disvec(x)
Qxnum = -T * (head(x + delx) - head(x - delx)) / (2 * delx)
print(f'Qx exact : {Qx} m^2/d')
print(f'Qx numerical derivative: {Qxnum} m^2/d')
Qx exact : 0.7357588823428847 mˆ2/d
Qx numerical derivative: 0.7357588823531103 mˆ2/d
It is important to perform the above three checks to verify a solution. If the solution is
correct (and correctly programmed), the solution and the approximation using numerical
derivatives must be approximately equal. The number of significant digits that match depends
on the size of the increment 1x and on machine accuracy.
Exercise 2.1: Consider the case of the example, but this time the resistance c is unknown. The
head in the aquifer is measured in an observation well at x = 100 m, where the head is 0.5 m.
Compute the resistance of the leaky layer and the leakage factor.
Exercise 2.2: Verify that the total flux from the canal into the aquifer (Q0) is equal to the
integrated leakage through the leaky layer by analytic integration of qz.
2.2 Flow between a lake and a drained area
One-dimensional flow is modeled between a lake and a drained area, as shown in Figure 2.4.
Both the lake and drained area are separated from the aquifer by a semi-confining layer,
which has a resistance c0 below the lake and a resistance c1 below the drained area. The lake
and drained area are separated by a dike of negligible width (the vertical black line at x = 0
in the figure). The water level in the lake is h∗
0, while the water level in the drained area is h∗
1.
The semi-confined aquifer extends to infinity on both sides. The transmissivity of the aquifer
is constant and equal to T.
Figure 2.4 Semi-confined flow from a canal to a polder.
Separate differential equations are written for the part of the aquifer below the lake and
the part below the drained area
d2
(h − h∗)
0 h − h∗
0
= x ≤ 0
dx2 2
λ0
(2.16)
d2
(h − h∗)
1 h − h∗
1
= x ≥ 0
dx2 2
λ1
√ √
where λ0 = c0T and λ1 = c1T.
The boundary conditions are that the head approaches h∗
0 far to the left and h∗
1 far to the
right
h|x→−∞ = h∗
0 h|x→+∞ = h∗
1 (2.17)
51. 30 Analytical Groundwater Modeling
and continuity requires that the head and flow are continuous across x = 0 (see also the
conditions at x = L0 in Section 1.4)
hx 0− = |
= hx=0+ Qx x=0− = Qx|x=0+ (2.18)
where the superscripts − and + stand for evaluation just to the left and just to the right of
x = 0, respectively.
The solutions for the head below the lake and drained area are written as
h h∗
A e−x/λ0 B ex/λ
= + + 0
0 0 0 x ≤ 0
h = h∗
+
1 A −
(2.19)
x/λ1 x/λ1
1e + B1e x ≥ 0
Application of the first two boundary conditions gives A0 = 1 =
application of the two continuity conditions gives the following two equations
h∗
+
0 B0 = h∗
+
1 A1
B0 A1 (2.20)
−T = T
λ0 λ1
Solving for the two remaining unknowns A1 and B0 gives
A1 = λ1γ B0 = −λ0γ (2.21)
where the dimensionless head difference γ is
h∗ −
0 h∗
1
γ = (2.22)
λ0 + λ1
The solution for the head now becomes
h = h∗
− λ
0 0γ ex/λ0 x ≤ 0
γ −
(2.23)
h = h∗
+ λ
1 1 e x/λ1 x ≥ 0
0 and B 0, after which
Note that for the case of equal resistance values (so that λ0 = λ1), the head in the aquifer at
x = 0 is (h∗ + h∗)/
0 1 2 as is to be expected from symmetry when the aquifer properties are the
same on both sides of the dike.
The discharge vector is obtained as
dh
Qx = −T (2.24)
dx
which gives
Qx = Tγ ex/λ0 x ≤ 0
(2.25)
Qx = Tγ e−x/λ1 x ≥ 0
The total flow Q0 from the lake to the drained area is
h∗ −
Q0 = Q 0 h∗
1
x|x=0 = Tγ = T (2.26)
λ0 + λ1
Note again that 95% of Q0 has leaked from the lake into the aquifer over a distance of 3λ0 to
the left of the dike, and 95% of Q0 has discharged from the aquifer into the drained area over
a distance of 3λ1 to the right of the dike. In other words, three times the leakage factor away
from a disturbance (here, the dike), the head in the aquifer is approximately equal to the head
above the semi-confining layer. An example is presented below for the case that c1 = 4c0 so
that λ1 = 2λ0 (Figure 2.5).
52. Steady one-dimensional semi-confined flow 31
# parameters
h0star = 1 # head above left side leaky layer, m
h1star = -1 # head above right side leaky layer, m
k = 10 # hydraulic conductivity, m/d
H = 10 # aquifer thickness, m
c0 = 100 # resistance of left side leaky layer, d
c1 = 400 # resistance of right side leaky layer, d
T = k * H # transmissivity, m2/d
lab0 = np.sqrt(c0 * T) # leakage factor left side, m
lab1 = np.sqrt(c1 * T) # leakage factor right side, m
gamma = (h0star - h1star) / (lab0 + lab1) # dimensionless head difference, -
# solution
x = np.hstack((np.linspace(-5 * lab0, 0, 51), np.linspace(0, 5 * lab1, 51)))
h = np.zeros_like(x)
h[x 0] = h0star - lab0 * gamma * np.exp(x[x 0] / lab0)
h[x = 0] = h1star + lab1 * gamma * np.exp(-x[x = 0] / lab1)
Qx = np.zeros_like(x)
Qx[x0] = T * gamma * np.exp(x[x0] / lab0)
Qx[x=0] = T * gamma * np.exp(-x[x=0] / lab1)
Q0 = T * gamma
# basic plot
plt.subplot(121)
plt.plot(x, h, 'C0')
plt.subplot(122)
plt.plot(x, Qx, 'C1');
(a) (b)
Figure 2.5 Semi-confined flow between a lake (x ≤ 0) and a drained area (x ≥ 0); head (left) and Qx
(right).
The stream function is contoured below. There are 20 contour intervals so that the flow
between two adjacent streamlines is 5% of the flow (Figure 2.6). The first streamline that is
contoured enters the aquifer at x = −3λ0 and exits at the top of the aquifer at x = 3λ1.
# solution
psi = np.zeros((2, len(x)))
psi[1] = -Qx
xg = x
zg = [0, H]
53. 32 Analytical Groundwater Modeling
# basic streamline plot
plt.contour(xg, zg, psi, np.linspace(-Q0, 0, 21), colors='C1', linestyles='-');
Figure 2.6 Semi-confined flow between a lake (x ≤ 0) and a drained area (x ≥ 0); streamlines in a vertical
cross section with contour interval 1ψ = 0.05Q0.
Exercise 2.3: Consider one-dimensional steady flow into a long and wide lake with a leaky
bottom (see Figure 2.7). A coordinate system is chosen such that x = 0 at the lake shore.
The flow is unconfined for x ≤ 0, while the flow is semi-confined for x ≥ 0. Approximate
the transmissivity of the aquifer as equal to T and constant everywhere. The resistance of the
leaky semi-confining layer is c, and the water level in the lake is hL. The discharge vector in
the unconfined part of the aquifer is constant and is known from a water balance as Qx = U.
Use hL = 0 m, H = 10 m, T = 20 m2/d, U = 0.02 m2/d, and c = 100 d. Derive and plot an
equation for the head as a function of x. In a separate figure, draw streamlines in a vertical
cross section.
Figure 2.7 Setup for Exercise 2.3.
2.3 Flow to a long river of finite width
The next example considers one-dimensional steady flow to a long and straight river with
width 2L. A vertical cross section normal to the river is shown in Figure 2.8. The origin of
the coordinate system is chosen in the middle of the river. The flow is confined to the left
and right of the river and semi-confined below the river. The resistance of the leaky river bed
is c, and the water level in the river is h∗. The transmissivity of the aquifer is T. The flow is
uniform and equal to Qx = UL in the aquifer to the left of the river, and the flow is uniform
and equal to Qx = UR in the aquifer to the right of the river.
Figure 2.8 Flow to a long river of finite width.
54. Steady one-dimensional semi-confined flow 33
The head and flow below the river are solved first. The boundary conditions are
Qx|x=−L = UL Qx|x=L = UR (2.27)
The hyperbolic form of the solution (Eq. 2.9) is used for the head solution below the river
h − h∗
= A sinh(x/λ) + B cosh(x/λ) (2.28)
with the corresponding solution for the discharge vector (Eq. 2.10)
AT BT
Qx = − cosh(x/λ) − sinh(x/λ) (2.29)
λ λ
Substitution of the boundary conditions (Eq. 2.27) in Eq. (2.29) gives
−λ(UL + UR) λ(UL − UR)
A = B = (2.30)
2T cosh(L/λ) 2T sinh(L/λ)
The solutions for the head to the left and to the right of the river are simple linear functions,
because the aquifer is confined. The solution below the river is used to compute the head
h0 = h|x=−L in the aquifer at the left river bank and the head h1 = h|x=L in the aquifer at the
right river bank. Once h0 and h1 are known, the solutions in the confined parts of the aquifer
to the left and right of the river can be written as
UL
h = − (x + L) + h0 x ≤ −L (2.31)
T
UR
h = − (x − L) + h1 x ≥ L (2.32)
T
An example is shown for the case that the width of the river is twice the leakage factor and
the inflow at the left river bank is twice the inflow at the right river bank (Figure 2.9).
# parameters
k = 5 # hydraulic conductivity, m/d
H = 10 # aquifer thickness, m
hstar = 10 # head in river
L = 100 # half width of river
c = 200 # resistance of leaky river bed, d
UL = 0.1 # Qx in left aquifer
UR = -0.05 # Qx in right aquifer
T = k * H # transmissivity, m^2/d
lab = np.sqrt(T * c) # leakage factor of aquifer below river
print(f'leakage factor: {lab:.0f} m')
leakage factor: 100 m
x = np.linspace(-300, 300, 100)
A = -lab * (UL + UR) / (2 * T) / np.cosh(L / lab)
B = lab * (UL - UR) / (2 * T) / np.sinh(L / lab)
h0 = A * np.sinh(-L / lab) + B * np.cosh(-L / lab) + hstar
h1 = A * np.sinh(L / lab) + B * np.cosh(L / lab) + hstar
h = np.zeros(len(x))
h[x = -L] = -UL / T * (x[x = -L] + L) + h0
h[x = L] = -UR / T * (x[x = L] - L) + h1
h[np.abs(x) L] = A * np.sinh(x[np.abs(x) L] / lab) +
B * np.cosh(x[np.abs(x) L] / lab) + hstar
56. 'Thank you,' said Tom, 'I shall be very pleased to come to-
morrow, if the captain does not want me on board.'
'But you surely are not a sailor, and an officer; no, you cannot
be, you are too young?' inquired the priest in his clear English.
'I am a passenger, sir.'
The père held up his hands. 'A passenger with such a captain,
and on such a ship! Ah! my poor sir, you have fallen into bad hands,
I fear;' and then noticing the sudden flush on Tom's cheeks, he
added hurriedly, 'But never mind Captain Hayes. I shall be glad if
you will come to me. And at my mission, two miles from here, there
are many more pigeons than there are at Singavi, and the waters of
this little river here are full of very nice fish. You shall fish and shoot,
and tell me of your travels;' and he smiled as he held out his hand.
'You will not forget to come?'
As soon as Tom returned on board he found the captain, the old
trader, and Mr. Kelly all seated together on the quarter deck,
drinking, smoking, and chatting. He was pleased to see that nearly
every one of the 'blackbirds' were also on deck, devouring with great
gusto baked pork, fish, taro, and yams, which Hayes had bought for
them from the Singavi natives. Great piles of young coco-nuts were
everywhere lying about the deck, mingled with bunches of bananas,
pineapples, and baskets of sun-dried oranges--the latter being left
untouched, as the 'blackbirds,' never having seen an orange before,
would not eat them. They were all talking, and shouting, and eating
at such a rate that Tom was astonished; and his astonishment was
increased when he noticed that none of the brig's crew were armed,
and that the usual guard were up for'ard, smoking and playing
cards.
57. As he was washing his hands in the cabin, Mr. Harvey, a young,
hard-faced, silent man of about thirty, with whom Tom seldom
exchanged a word, came below and sat down and began filling his
pipe.
'What do you think of the happy-family party on deck, Mr.
Wallis? I mean the woolly-haired, black-toothed crowd.'
'Don't they seem jolly, Mr. Harvey? And they have the run of the
deck, too.'
Harvey laughed in his quiet way. 'They're all right. Did you
notice those two big iron pots with fires lit under them, on shore,
just outside the trader's house?'
'Yes, I did. Whaler's try-pots, aren't they? What is boiling in
them?'
Harvey nodded. 'Only water. They belonged to the Comboy, a
New Bedford whaleship, which went ashore here a good many years
ago--before you were born. Well, about an hour ago the skipper
called our blackbirds together, and solemnly told them that the
pots are used by the Fotuna natives to cook strangers in, and that
fires had been lighted under them in the hope that Hayes would sell
a few of his passengers every day to make a feast. It just scared the
life out of them, especially as an old French priest happened to pass
along the beach at that time, followed by a lot of converts dressed in
white sulus; Hayes pointed him out to them, and said he was the
principal devil doctor who, with his gang of meat carvers, had
come down to the beach to see if there was any meat ready.'
Tom laughed. 'It's funny; but do the blackbirds believe it?'
'Rather. And as long as we are at this island we shall have no
trouble with our cargo of niggers. They think that they would be
58. killed, cut up, put into those pots, and eaten by the Fotuna natives
in a brace of shakes, if Hayes gets mad with them. Oh, it's a mighty
smart trick, and saves the hands a lot of trouble.'
'But don't you think, Mr. Harvey, that it is rather a mean sort of
trick? The Catholic priests here have done a lot of good to the
natives, and redeemed them from their savage customs, have they
not? Mr. Collier said that of them.'
Harvey laughed scornfully. 'I'm a holy Roman, lad--born and
bred--but I've sailed the South Seas for twenty years, and I know as
much about missionaries as any man, and I tell you this--these
French priests here have done a lot of good, in many ways; and yet
these Fotuna natives are taught to believe that all white men who
are not Roman Catholics will be damned.'
'Are you sure, Mr. Harvey?'
'Sure!'--and the stern-faced young officer dashed his clenched
hand down upon the cabin table--'sure! My boy, you will learn a lot
before you get back to your home again in Australia. Wait till we get
to Samoa, and there you will see what the Protestant missionaries
have done, and what the French priests have done, and you can size
up the work of both alongside, and draw your own conclusions. I
am, as I said just now, a Roman Catholic, but I know a lot about the
way in which the French priests Christianize the natives of these
islands, and I despise many of their ways. They have come to the
South Seas under the protection of the British flag, in British ships,
following in the wake of English missionaries who have done all the
hard graft, and then they teach their converts to hate and despise
everything that is English and Protestant--from the pennant of an
admiral to the jibsheet-block of a British trading schooner.'
59. 'Poor Mr. Collier told me that the French missionaries, although
they cause a great deal of trouble, are very good men, Mr. Harvey.'
'Good men! Ay. Guess they're good enough in some ways. They
build their own churches and live like the Kanakas themselves, and I
allow they don't go in for making dollars. But they poison the native
mind against everything that is British or American. Why, three years
ago, when I was in Wallis Island, I went ashore to church, and the
priest there gave me a bundle of school primers printed in Samoan,
and asked me to spread 'em around amongst the natives in the
Tokelau Group, on account of the pictures.'
'Pictures?'
'Ay, pictures--pictures that would just grip the fancy of nine out
of every ten Kanakas; pictures showing how the cruel and wicked
lotu Peretania (Protestant faith) was sending people to hell; pictures
showing an English missionary chasing a native woman--with
thundering lies printed at the foot; pictures showing Jesus Christ and
the Virgin Mary dressed in store clothes.'[#]
[#] Note by the author.--This school primer of which Harvey speaks was actually
circulated in the South Seas by the Roman Catholic missionaries. It was printed in
Marseilles, but other editions were issued from Sydney in 1866 or 1867.
'Oh, stop, Mr. Harvey, stop! Don't speak like that! Don't laugh so
mockingly when you name our Saviour!'
'Mockingly, Tom? No! I'm a rough sailor, and a fit man to be an
officer for such a hell afloat as the brig Leonie. I'm as bad as any
man can be morally, but I am no mocker of sacred things.'
60. 'I did not mean to hurt or offend you, Mr. Harvey. And I know
that you are neither a brute nor a bully.'
The second mate placed his hand on Tom's shoulder.
'I'm glad to hear you say that, Tom, and I wish it was true. But I
was brought up in a rough school--in the fo'c'sle of a New Bedford
whaler--and I guess I've been getting more and more of a brute and
a basher every day of my life. My father was an Irishman and a
Roman Catholic, but didn't care a cuss for the priest; my mother was
not only an Irishwoman and a holy Roman, but a bigoted one as
well, and taught me from the very first to hate and despise the
Protestants; and I hated and despised them profusely until I went to
sea in the whaler, and found out that a Protestant was just as good
a sailor-man as any holy Roman. But I was going to tell you about
those pictures.'
He laughed again, and his usually gloomy face was so lit up,
that Tom could not help smiling in anticipation.
'These good, gentle priests,' continued Harvey, 'hate Englishmen
and Americans like poison; they cause more bloodshed and misery
by their lies---- There, that's all. I'm off on deck for a smoke before
supper.'
Just after supper was over Maori Bill suggested to Tom that they
should ask the captain to let them have one of the whaleboats, and
go fishing out in the deep water of the harbour. Tom at once went to
Hayes, who was pacing the main deck, talking to the old trader.
'Certainly,' he answered. 'I'd come with you myself, but Ned and
I are talking about business. Take a couple of hands with you, and
bring back a load of fish. You'll get some hundred-pounder groper,
61. and red rock-cod here. Oh, Bill is going with you, is he? Tell him I
want to see him for a minute or two first.'
In a few minutes Tom had his fishing-gear ready; the boat with
two hands was brought alongside, and Maori Bill, carrying a basket
of young coco-nuts in his hand, came up to the captain.
'Mr. Wallis told me you wanted to speak to me, sir.'
'Yes, Bill, I do. It is only'--and here Hayes spoke in his sauvest
tones--'it is only to say that you have done your duty as second
mate to my satisfaction. But as Mr. Kelly is now well again, and I
have no need for you on board, I am going to leave you here as a
trader in place of old Ned, who wants to make a trip to Samoa.'
The big half-caste placed his basket on the deck, and looked at
Hayes steadily.
'I don't want a trader's berth, Captain Hayes. I came aboard
here to look after young Mr. Wallis, and do second mate's duty, until
Mr. Kelly was better. That was the agreement you made with Captain
Hawkins.'
Hayes's face flushed deeply. 'Man! do you know who you are
talking to?'
'Yes, sir, to you. And I'm willing to go for'ard and do my duty as
a seaman if you ask me, but I'm not going to take a trader's berth
ashore to please you or anybody else. My father was a white man--
as good as you. I mean no disrespect to you, sir. But I'm not a
Chileno or a Dutchman, and won't be hazed by any man on God's
earth!'
For a moment or so Hayes regarded the half-caste steadily, then
he said quietly--
'You're a bit of a fighting man, aren't you?'
62. 'Yes, sir. But that has nothing to do with my going ashore here.'
'Put up your hands, you half-bred nigger!' and Hayes strode up
to Maori Bill with blazing eyes. 'I'll pound the life out of you in two
minutes!'
64. 'No, you won't, captain!' and Kelly, the chief mate, sprang in
front of him, and put the muzzle of a Colt's revolver against Maori
Bill's chest. 'We can't afford to hev no trouble.'
In an instant the Maori seized the weapon by the barrel,
wrenched it from Kelly's hand, and threw it overboard, then lifting
the mate up in his arms, he dashed him down upon the deck, where
he lay stunned.
The second mate and carpenter both made a rush at the half-
caste, but Hayes was before them.
'Keep back, Harvey! keep back, carpenter! Let me deal with
him. Now, Mr. Maori Bill, I'll teach you a lesson that will last you for a
month of Sundays!' and launching out his left hand with lightning-
like rapidity, he seized the Maori by the throat, and in a moment the
two men were struggling madly on the deck.
But the half-caste, whose herculean stature and prodigious
strength made him a match for Hayes, quickly freed himself from the
captain's grip, and then dealt him such a smashing blow over the
temple with his right hand, that Hayes staggered, and would have
fallen but for Mr. Harvey. The Maori stepped back and waited, his
dark face pale with fury, and his teeth set hard.
'That's a bit of a staggerer,' said Hayes, quietly, as he put his
handkerchief to his face. 'You're a good man, Mr. Maori Bill; but wait
a minute.'
The half-caste folded his arms across his chest. 'I do not want
to fight you, Captain Hayes, although you have called me a half-bred
nigger. But the white blood in me is as good as yours, and the mate
put a pistol to my chest. Let me alone--this sort of work don't suit
me.'
65. 'But it shall suit you! I'll pound you first, Bill, then I'll make you
useful. You've as good as killed Mr. Kelly, and maybe I'll want you as
second mate again. Stand back there, Mr. Harvey.'
'Stand back yourself, sir!' cried the Maori, passionately. 'I am a
dangerous man. If I hit you again I will kill you!'
Hayes laughed contemptuously, and in another instant the two
were at it again, fighting with such silent ferocity that even the
savage natives surrounding them drew back in terror. But Hayes was
at a disadvantage, for he could scarcely see; and presently the Maori
struck him a terrific blow on the chin, which sent him reeling across
the deck, and ended the fight. And then two or three Chilenos and
the carpenter sprang upon the half-caste and bore him down, some
of them striking him repeatedly in the face. But once again he freed
himself, rose to his feet, and sent one of his Chileno assailants down
with a broken jaw; then Harvey dealt him a fearful blow on the top
of his head with an iron belaying-pin, and stunned him.
'Ah! you coward!' and Tom sprang at the second mate with
clenched hands. 'You coward, Mr. Harvey! You have killed him!' and
then he knelt down and looked into Bill's face.
Harvey laughed sullenly. 'He had to be settled one way or
another.'
Ten minutes later, when the half-caste regained consciousness,
he found himself in irons in the for'ard deckhouse, and Tom seated
beside him, bathing his head with cold water.
'Bill,' said Tom, taking his hand, 'we must leave this ship.'
The Maori turned his bloodshot eyes on Tom for a moment or
two.
66. 'I am quite ready to leave her, sir; but I doubt if I can get away
now,' and he held up his manacled hands.
'I won't go without you, Bill. And as for the handcuffs, I can set
you free at any moment. I know where I can put my hand on half a
dozen keys in the cabin. But first I shall tell the captain I am leaving
the ship.'
Bill protested vigorously at this suggestion. Hayes, he said, was
so unreliable and changeful, that it would be folly to tempt him to
another burst of temper. 'I know more of him than you do,' he
added; 'he will never forgive me, and will make my life a hell to me
unless I bend to him.'
Tom thought a moment. He did not like the idea of leaving the
Leonie in a surreptitious manner, but leave her he would, for Hayes's
treatment of Maori Bill he regarded as wrong and cruel.
'Very well, Bill,' he said, 'I shall say nothing; but I don't like
sneaking away.'
'He won't let you go over the side if you tell him--you'll only
rouse all the devil in him again,--and we'll be all right here, Mr.
Wallis, on this island, once we get ashore. I speak Samoan well, and
these people understand it. We can live here very comfortably until a
whaleship or trading schooner comes along.'
The two conversed for a few minutes longer, and agreed to get
ashore that night, either swimming or in a chance canoe. Then Tom
rose to go aft again, get some supper, and make such preparations
as he could, and then return with a key to unlock the handcuffs.
It was now becoming dark, and just as Tom stepped out on to
the deck Hayes met him. His head was bound up, and the moment
he spoke Tom knew that he was in a white heat of passion.
67. 'What are you doing here?' he demanded hoarsely.
'I was speaking to Mr. Chester, sir.'
Hayes laughed cynically. 'I'll mister him, the yellow-hided
soldier! Here, boatswain, bring a light, and tell Jules to come here
with his green bag.'
A light was produced, and Hayes, attended by the boatswain
and the negro Jules, went inside the house. Tom followed, burning
with indignation, and determined to prevent the unfortunate Maori
from being flogged.
'Take his irons off,' said the captain, speaking in the same low
but savage tone he had used when addressing Tom.
The handcuffs were unlocked, the leg-shackles removed, and
the prisoner stood up.
'Now, Bill,' said Hayes, 'I'm not going to round on you for hitting
me in fair fight, but you've nearly murdered the mate.'
'You can stow all that, sir. I don't believe you.'
The captain apparently did not heed the interruption.
'And now I've come to talk to you a bit. Will you go ashore here
and trade for me?'
'No, I won't. I am willing to go to Samoa and do second mate's
duty as I did before, but I am not going to be separated from Mr.
Wallis. I have my orders from Captain Hawkins.'
'Very well'--and then he gave vent to his suppressed fury--'if you
won't do as I want you, I'll give you a flogging, and chuck you over
the side to drown, you mutinous Maori dog! Either that, or turn-to
again.'
'For my sake, Captain Hayes, think of what you are doing!
Surely you won't flog a man because he beat you, as you say
68. yourself, in fair fight? No man would do such a thing.'
The Maori's right hand gripped Tom by the wrist, and he uttered
a low warning, 'Sh! Not a word more. I'll fool him.'
Hayes turned furiously upon Tom. 'Away out of this, boy, and do
not meddle with matters which do not concern you!'
'But this does concern me, sir?' began Tom, when Bill
interrupted him.
'I'll give in, captain. I'll do whatever you want, but I don't like
leaving Mr. Wallis. And I'm willing to turn-to again this minute.
Come, captain, I'm a good sailor-man.'
Hayes's mood changed instantly. 'Very well, Bill, we won't
quarrel. But we'll have another talk in the morning. Perhaps I'll keep
you on board. Jules, clear out. What are you hanging about here
for? Go aft and tell the steward to get Mr. Chester some supper.
Tom, I'm going ashore. Do you care to come?'
'No, thank you,' said Tom, bluntly, 'I'll stay and get some supper
too.'
Hayes smiled good-naturedly. 'Oh, well, just as you please. Bill,
did I hurt you at all?'
Bill tried to look pleased. 'Nearly broke one of my ribs, sir.'
Half an hour later Hayes, old Ned the trader, and the carpenter
were on their way ashore, and Tom and the half-caste were having
supper and talking in low, whispered tones.
'He will not be back before midnight,' whispered Bill, 'I heard
him say so. We can easily get away. The whaleboat is astern. Get as
many things as you can, and put them on the transom here. The
mate is in his own bunk, and there is no one to see you. I'll slip
overboard at eight o'clock, and bring the boat up under the port.
69. There is a strong breeze, and the night is very dark. We can manage
it. I have five English sovereigns. Have you any money?'
Tom nodded. 'Fifteen. Captain Hawkins lent them to me.'
The Maori's hand gripped his shoulder. 'That will do us. Charlie,
the white sailor, is on watch aft. Go up to him and give him ten
sovereigns; don't say anything--just put them in his hand and come
away; he'll most likely come with us. And I'll give the steward
another, to go for'ard and keep out of the way.'
An hour after supper the whaleboat, which was lying astern,
seemed to drift right up under the stern ports. She remained
stationary for a minute or two, then veered away again, and was lost
in the darkness, drifting steadily out to sea before the strong trade
wind.
But as the lofty spars of the Leonie became indistinct, and the
lights of the native houses on shore grew dimmer and dimmer, Maori
Bill sprang to his feet with a laugh, and he and Charlie hoisted the
sail.
It's all right, Mr. Wallis. We have a rattling good boat, plenty of
food and arms, but only a little water. We'll have to get some at
Alofi. I know where we can land at daylight and get all we want. And
I and Charlie have given Captain Hayes something to do that will
keep him from coming after us.'
'What have you done, Bill?'
The Maori grinned at him through the darkness, as he stood at
the long steer-oar.
'We've made a couple of holes into the brig, one for'ard and one
aft, and it'll take some time to find 'em out. She'll have four feet of
water into her before the skipper comes aboard again. And Charlie
70. here gave the hands a gallon of rum to keep 'em amused. I'd have
set fire to her only for that.'
'But she may founder, and drown some of the people!' cried
Tom.
'Don't be alarmed about that, Mr. Wallis. No one will be
drowned. Even if she fills before the holes are discovered, she can't
sink, for there's only six or eight feet of water between her keel and
the bottom--she'll take the ground nice and easy.'
Then he struck a match and lit his pipe, and as he puffed out
the first whiffs of smoke he turned and shook his fist at the
vanishing land.
'Good-bye to you, Mr. Bully Hayes. I feel a bit better now than I
did an hour ago. I'm even with you, anyway. Mr. Wallis, you lie down
and sleep. We shall call you when we are running into the fresh-
water river at Alofi.'
'And after, Bill?'
'For Fiji, I think, sir. We can run down there in two days easily.
Plenty of ships there, sir, an' we'll be in Australia in another month or
two.'
Exhausted and excited with the events of the past few hours,
Tom lay down in the stern sheets, and the whaleboat leapt and spun
along in the darkness towards the scarcely discernible outline of Alofi
Island.
CHAPTER XI
JACK AND HIS FATHER HEAR GOOD NEWS
71. Nearly eight months had come and gone since the captain of the
Bandolier had left Port Kooringa, and in the quaint, old-fashioned
dining-room of the house under the bluff Jack and his father were
sitting--Mr. Wallis smoking his pipe and thinking, and Jack cleaning
his gun. It was nearly sunset, and presently Kate Gorman entered.
'Shall yez have the lamps lit, sor?'
'Yes, Kate; and then bring the little one to say good night. I am
expecting my letters presently, and will say good night to her now.'
'Shure, sor, but ould Foster tuk her out on the brow of the hill to
see the stheamer comin' in, and he's not brought her back yet. He's
a terrible conthrary man, he is, and would sphoil any child.'
Mr. Wallis smiled in his grave way, as he rose and went to the
door leading out upon the verandah.
'You are just as bad as he is, Kate. And you, Jack, are worse
than either. Between you all Nita is being spoilt.'
'And you, father, are the very worst of all,' said Jack, laying
down his gun, and putting his sun-burnt hand on his father's
shoulder. 'Why, old Foster knows it as well as Kate and I do.'
As Kate lit the lamp, father and son stepped out on the broad
verandah, and paced to and fro together, as they had done almost
every evening since Tom had been taken from their life. Much as
they had grown to love the dark-eyed child who had come to them
at that dreadful time, their thoughts were now, as they had always
been, with the memories of the happier past, when Tom was with
them, and his merry, boyish tones were sounding in their ears as he
disputed with old Foster or argued with faithful Kate.
Just as Wellington, the black stockman, came cantering up to
the gate with the letters and papers, old Foster and little Nita Casalle
72. came up from the beach. The old man had taken her down to the
wharf to see the William the Fourth come in, and, instead of her
usual joyous prattle when she was with Foster, she entered the
house silently, and with the traces of tears on her face.
'What is the matter, Nita?' said Jack, bending down and kissing
her.
A suppressed sob escaped from her. 'I saw a man, Jack--I saw a
man who looked so like my father that I had to cry.'
'Indeed she did, sir,' said Foster to Mr. Wallis. 'He was one of the
steerage passengers on board the steamer, and I must say he's
mortal like Miss Nita's father.'
Mr. Wallis, who had just looked at his letters, lifted Nita up in his
arms.
'Poor little woman! But here's something to dry your tears.
Here's another letter from your father. Come inside, Foster; come in,
Jack. I have quite a budget of letters here, but we'll read Captain
Casalle's first. Nita, you shall stay up an hour later to-night, and hear
all about father and the new ship, and the Solomon Islands.'
Returning to the dining-room, Mr. Wallis drew his chair up to the
table, and with Nita on one side and Jack on the other, first opened
Captain Casalle's letter, without looking at the others. He read the
letter aloud, omitting those parts which dealt with business matters.
It was written from Levuka, in Fiji, where Casalle had arrived three
months previously, after a very prosperous trading voyage among
the Solomon Islands. He was delighted with his new vessel, which
was a barquentine of 200 tons, called the Malolo. 'She is,' he wrote,
'the fastest vessel of her size in the South Seas, and even Bully
Hayes's Leonie, of which I have often told you, could not catch her.
73. Speaking about Hayes, I have just heard from Captain Harding, the
master of a trading schooner, the Lilla, which has just arrived here
from Samoa, that the redoubtable Bully nearly lost his ship a few
months ago coming from New Britain, when his cargo of blackbirds
nearly captured her. There was some terrible fighting, and about a
hundred of the natives were killed, as well as some of Hayes's
people. During the fighting she also took or was set on fire, and only
for another vessel (said to be a Sydney brig) coming to her
assistance, the niggers would have massacred every one of the
crew. After this Hayes touched at Fotuna Island for provisions, and
while there fell foul of one of his officers, a New Zealand half-caste,
who seems to have been lent to him by the captain of the Sydney
brig, and was about to flog him; but in the night this man, with a
white sailor, and a young lad who was a passenger (on the Leonie, I
suppose) escaped in one of the boats, after scuttling the brig in two
places. Bully had, I believe, a very tough time to keep her afloat.
However, he managed to get away all right, and the Lilla met him
thrashing through the straits between Upolu and Savaii in gallant
style. He sent a boat aboard the Lilla to inquire what ships were in
Apia Harbour, and it was from the officer in charge of the boat that
my informant gained these particulars. As soon as Harding told him
that the British cruiser Cameleon was at anchor in Apia, the officer
hurried back mighty quick to the Leonie, which at once wore, and
went scurrying away under the lee of Savaii. I am afraid that poor
Bully will find his voyage unprofitable, especially if the cruiser should
catch him.'
Jack's eyes sparkled. 'What an exciting bit of sea life, father!'
Then he added in a softer tone, 'How poor Tom would have loved to
74. have heard all this!'
The letter went on to say that the Malolo would, after refitting,
make another cruise to the Solomons, and load there for Sydney. 'So
you see, my dear Wallis,' the writer concluded, 'that, everything
going well, I shall see you all in about five months from now, and
show you my white-winged Malolo.'
Mr. Wallis looked at the date of the letter; it had been written
nearly four months previously.
'Why, Nita, little one, 'tis only another month from now! Jack,
my lad, we will all go up to Sydney on this very trip of the William
the Fourth. Just write a note to the captain, and find out when he is
leaving Port Kooringa.'
Just as Jack was setting about his pleasant task, and his father
had placed his hand upon the remaining letters, a knock sounded at
the front door.
'Some one from the steamer, most likely, father. Perhaps it is the
captain himself.'
Foster came to the door. 'Some one to see you, sir, on most
partickler business, so he says. I told him you was busy, but he says
he must see you at once, sir.'
'Who is he, Foster?'
Foster placed his hand over his mouth, and looked curiously at
Nita. 'It's that person, sir, who I was telling you that Miss Nita
mistook for Captain Cashall.'
'Show him in.'
The moment the visitor entered the room, both Mr. Wallis and
Jack arose with half-uttered exclamations of astonishment. The face
of the man before them certainly bore an extraordinary resemblance
75. to Nita's father. He was dressed in a rough but decent manner, and
for a moment or two seemed slightly bewildered.
'Sit down, sir,' said Mr. Wallis, kindly.
But, instead of seating himself, the man came forward and held
out his hand.
'Mr. Wallis, I have good--good news for you.' His voice shook a
little, then he steadied himself. 'Your son Tom is alive. Have you not
had a letter from him?'
'For goodness' sake, man, speak! Tell me all. Where is he?' And
Tom's father seized the man by the shoulders, and looked wildly into
his face.
'I repeat that he is alive. I last saw him on board a brig named
the Lady Alicia at Wreck Reef. Here, sir, is a letter from him which
will explain all.' And he gave Mr. Wallis the letter which Tom had
written from Wreck Reef.
Seizing the envelope with trembling hand, Tom's father tore it
open. There were two enclosures--Tom's own note, and honest old
Sam's fancifully worded communication; and as he read them
through a sob of joy broke from his bosom, as with streaming eyes
he put them into Jack's eager hand. Then restraining himself from
further emotion by a strong effort, he tried to speak, but could not
frame a word, but there was a whole world of inquiry as he pointed
mutely to the letters.
'I will tell you all I know, sir. The letter, as you see, was written
from Wreck Reef. I and--and some shipwrecked companions were
there, when for some reason the Lady Alicia came in and anchored.
The captain told me that many weeks previously he had picked up a
76. lad who was lying all but dead on the beach, but was now
recovered. I saw him, sir. He looked well, strong, and happy.'
'Thank God, thank God!' at last burst from Mr. Wallis, as, hardly
knowing what he was doing, he wrung the seaman's hand again and
again; and then Jack, upsetting the astonished and alarmed Nita,
made a spring to the door, and tore through the hall in search of the
servants, shouting their names at the top of his voice.
'Foster, Foster, come here! Kate, come here! Where are you all?
Where's everybody? Tom is alive! Tom is alive! We've had a letter!'
Then back he darted into the dining-room to pick up and hug Nita.
In a moment the house was thrown into the wildest confusion,
as the women-servants, the stockmen, who were sitting smoking in
the kitchen, old Foster, Wellington, and red-haired Kate, came
rushing pell-mell into the dining-room, attended by a dozen or so of
barking and yelping kangaroo dogs; the whole lot, dogs and
humans, all tumbling over each other in a glorious heap on the
carpet, and seriously endangering the house by partially capsizing
the lamp.
As soon as he could make himself heard, their master told them
the news, and old Foster led off with a cheer; then, by main strength
and persuasion combined, he and Kate sent them out again.
'Forgive me, sir,' said Mr. Wallis, as soon as order was restored.
'But you will indeed think me an inhospitable man. Foster----'
Foster was back in a miraculously short time with a tray holding
wines and spirits, and Kate, unasked, hurriedly began to lay the
dining-table, copiously damping the cloth with her tears, and
shaking with joyful excitement as she banged about and misplaced
every article.
77. Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com