Chapter 7

Hydrogeology

Groundwater flow, aquifers, and water resource management.

Hydrogeology

Hydrogeology is the study of groundwater occurrence, movement, and quality. Understanding groundwater systems is crucial for water resource management, environmental protection, and engineering applications. Groundwater represents the largest accessible freshwater reservoir on Earth and provides drinking water for nearly half of the global population.

Hydrologic Cycle

Components of the Cycle

Precipitation=Evapotranspiration+Surface Runoff+Groundwater Flow+Change in Storage\text{Precipitation} = \text{Evapotranspiration} + \text{Surface Runoff} + \text{Groundwater Flow} + \text{Change in Storage}

Infiltration and Recharge

Water infiltrates the subsurface following Horton's equation:

ft=fc+(f0fc)ektf_t = f_c + (f_0 - f_c)e^{-kt}

Where ftf_t is infiltration capacity at time tt, fcf_c is final capacity, f0f_0 is initial capacity, and kk is a decay constant.

Porosity and Permeability

Porosity

The ratio of void space to total volume:

n=VvVtn = \frac{V_v}{V_t}

Where nn is porosity, VvV_v is volume of voids, and VtV_t is total volume.

Types of Porosity

  • Primary porosity: Original pore spaces from deposition
  • Secondary porosity: Pore spaces from diagenetic processes (fractures, dissolution)
  • Effective porosity: Interconnected pore space contributing to flow

Permeability

Measure of ability for fluid to flow through a medium:

K=kρgμK = \frac{k \rho g}{\mu}

Where KK is hydraulic conductivity, kk is intrinsic permeability, ρ\rho is fluid density, gg is gravitational acceleration, and μ\mu is dynamic viscosity.

Darcy's Law

The fundamental equation describing groundwater flow:

Q=KAdhdlQ = -K A \frac{dh}{dl}

Where QQ is discharge, AA is cross-sectional area, dh/dldh/dl is hydraulic gradient, and KK is hydraulic conductivity.

Hydraulic Conductivity Ranges

  • Clay: 10⁻⁹ to 10⁻⁶ m/s
  • Silt: 10⁻⁸ to 10⁻⁵ m/s
  • Sand: 10⁻⁶ to 10⁻³ m/s
  • Gravel: 10⁻⁴ to 10⁻¹ m/s
  • Fractured rock: 10⁻⁷ to 10⁻¹ m/s

Specific Discharge

q=Kdhdlq = -K \frac{dh}{dl}

Where qq is specific discharge (discharge per unit area).

Aquifers and Aquitards

Aquifer Types

  • Unconfined (water table): Upper surface at atmospheric pressure
  • Confined (artesian): Underlying and overlying aquitards, under pressure
  • Semi-confined: Partially confined conditions

Aquifer Properties

  • Transmissivity: T=KbT = Kb (hydraulic conductivity × thickness)
  • Storage coefficient: S=SsbS = S_s b for unconfined, S=SyS = S_y for confined
  • Specific yield: SyS_y (volume of water released per unit volume per unit decline)
  • Specific storage: SsS_s (volume of water released per unit volume per unit decline)

Groundwater Flow Equations

Groundwater Flow Equation

For homogeneous, isotropic media:

2hx2+2hy2+2hz2=STht\frac{\partial^2 h}{\partial x^2} + \frac{\partial^2 h}{\partial y^2} + \frac{\partial^2 h}{\partial z^2} = \frac{S}{T} \frac{\partial h}{\partial t}

Where hh is hydraulic head, SS is storage coefficient, and TT is transmissivity.

Steady-State Flow

2hx2+2hy2=0\frac{\partial^2 h}{\partial x^2} + \frac{\partial^2 h}{\partial y^2} = 0

This is Laplace's equation for steady-state flow.

Well Hydraulics

Theis Equation (Confined Aquifer)

s=Q4πTW(u)s = \frac{Q}{4\pi T}W(u)

Where ss is drawdown, QQ is pumping rate, W(u)W(u) is the well function, and u=r2S4Ttu = \frac{r^2S}{4Tt}.

Thiem Equation (Steady-State)

h2h1=Q2πTln(r2r1)h_2 - h_1 = \frac{Q}{2\pi T} \ln\left(\frac{r_2}{r_1}\right)

For steady-state flow to a well.

Groundwater Quality

Chemical Processes

  • Dissolution: Minerals dissolving into groundwater
  • Precipitation: Saturated minerals forming solids
  • Oxidation-reduction: Electron transfer reactions
  • Acid-base reactions: pH buffering systems

Water Quality Parameters

  • pH: 6.5-8.5 for potable water
  • Total Dissolved Solids (TDS): <500 mg/L recommended
  • Hardness: Ca and Mg concentration
  • Dissolved oxygen: Critical for aerobic conditions

Contamination Pathways

  • Point sources: Discrete sources (wells, landfills)
  • Non-point sources: Diffuse sources (agricultural runoff)
  • Leachate: Contaminants from solid waste

Contaminant Transport

Advection-Dispersion Equation

Ct=D2Cx2vCxλC\frac{\partial C}{\partial t} = D \frac{\partial^2 C}{\partial x^2} - v \frac{\partial C}{\partial x} - \lambda C

Where CC is concentration, DD is dispersion coefficient, vv is groundwater velocity, and λ\lambda is decay coefficient.

Retardation Factor

R=1+ρbKdθR = 1 + \frac{\rho_b K_d}{\theta}

Where ρb\rho_b is bulk density, KdK_d is distribution coefficient, and θ\theta is porosity.

Environmental Applications

Well Field Design

  • Well spacing: To minimize interference
  • Pumping rates: Within sustainable yields
  • Screen placement: In most productive zones

Remediation Technologies

  • Pump and treat: Extract and treat contaminated groundwater
  • In-situ bioremediation: Use microorganisms to degrade contaminants
  • Permeable reactive barriers: In-ground treatment zones

Water Resource Management

Sustainable Yield

Maximum pumping rate that does not cause unacceptable declines in water levels or quality.

Safe Yield

Long-term average quantity that can be extracted annually without depleting the resource.

Geologic Controls on Groundwater

Rock Type and Structure

  • Sedimentary rocks: Primary porosity in sandstones, secondary in carbonates
  • Igneous rocks: Primary porosity low, fracture porosity important
  • Metamorphic rocks: Fracture and foliation controls

Structural Controls

  • Faults: Can be barriers or conduits
  • Folding: Affects groundwater flow directions
  • Fractures: Primary flow pathways in crystalline rocks

Modeling Approaches

Analytical Models

  • Simple, based on mathematical solutions
  • Good for idealized conditions
  • Examples: Theis, Thiem solutions

Numerical Models

  • Based on numerical approximations
  • Handle complex boundary conditions
  • Examples: MODFLOW, FEFLOW

Real-World Application: Well Field Management

Designing and managing well fields requires understanding aquifer properties and sustainable yield.

Aquifer Testing Analysis

import math

# Aquifer test data
test_data = {
    'pumping_rate': 1000,    # m³/day
    'time_since_start': 100, # minutes
    'drawdown_observation': 2.5, # meters
    'distance_to_observation': 100, # meters
    'aquifer_thickness': 20, # meters
    'initial_water_level': 10  # meters below surface
}

# Calculate transmissivity using Theis equation (for confined aquifer)
# Need to iteratively solve for W(u)
# For this example, we'll use the simplified form when u is small
time_days = test_data['time_since_start'] / 1440  # Convert minutes to days
u = (test_data['distance_to_observation']**2) / (4 * 0.00025 * time_days)  # Assume S=0.00025

# Simplified approximation for small u: W(u) ≈ -γ - ln(u) where γ ≈ 0.5772
W_u = -0.5772 - math.log(u) if u < 0.01 else -0.5772 - math.log(u) + u

transmissivity = (test_data['pumping_rate'] / (4 * math.pi * test_data['drawdown_observation'])) * W_u  # m²/day

# Calculate storativity
storativity = (2.25 * transmissivity * time_days) / (test_data['distance_to_observation']**2)

# Calculate hydraulic conductivity
hydraulic_conductivity = transmissivity / test_data['aquifer_thickness']  # m/day

# Calculate sustainable yield based on safe drawdown
safe_drawdown = 3.0  # meters (maximum acceptable drawdown)
safe_yield = (4 * math.pi * transmissivity * safe_drawdown) / W_u  # m³/day

print(f"Aquifer test results:")
print(f"Transmissivity: {transmissivity:.1e} m²/day")
print(f"Storativity: {storativity:.2e}")
print(f"Hydraulic conductivity: {hydraulic_conductivity:.1e} m/day")
print(f"Sustainable yield: {safe_yield:.0f} m³/day")
print(f"Safe drawdown limit: {safe_drawdown} m")

# Determine aquifer productivity
if hydraulic_conductivity > 10:
    productivity = "High productivity aquifer"
elif hydraulic_conductivity > 1:
    productivity = "Moderate productivity aquifer"
else:
    productivity = "Low productivity aquifer"

print(f"Aquifer productivity: {productivity}")

Groundwater Budget Assessment

Evaluate water inputs and outputs for sustainable management.


Your Challenge: Aquifer System Analysis

Analyze the hydrogeological properties of an aquifer system and assess its potential for water supply development.

Goal: Calculate aquifer properties and assess sustainable yield for water supply development.

Aquifer Test Data

import math

# Aquifer test parameters
test_data = {
    'pumping_rate': 1500,      # m³/day
    'observation_wells': {
        'well_1': {'distance': 30, 'drawdown': 3.2},   # meters, meters
        'well_2': {'distance': 60, 'drawdown': 2.1},   # meters, meters
        'well_3': {'distance': 120, 'drawdown': 1.5}   # meters, meters
    },
    'test_duration': 500,      # minutes
    'aquifer_thickness': 25,   # meters
    'well_radius': 0.15        # meters (well screen radius)
}

# Time drawdown data for Theis solution
time_data = [
    {'time': 10, 'drawdown': 0.8},   # minutes, meters
    {'time': 50, 'drawdown': 1.8},   # minutes, meters
    {'time': 100, 'drawdown': 2.4},  # minutes, meters
    {'time': 200, 'drawdown': 2.9},  # minutes, meters
    {'time': 500, 'drawdown': 3.2}   # minutes, meters
]

# Calculate transmissivity and storativity using multiple methods
# Method 1: Distance-drawdown analysis (Thiem equation for steady state)
# If we assume steady state, T = Q * ln(r2/r1) / [2 * pi * (s1 - s2)]

well_pairs = [
    ('well_2', 'well_1'),  # Closest pair for accurate results
]

transmissivity_method1 = 0  # Calculate from distance-drawdown
for pair in well_pairs:
    w1, w2 = pair
    r1 = test_data['observation_wells'][w1]['distance']
    r2 = test_data['observation_wells'][w2]['distance']
    s1 = test_data['observation_wells'][w1]['drawdown']
    s2 = test_data['observation_wells'][w2]['drawdown']
    
    if s1 != s2:  # Ensure we don't divide by zero
        T_calc = (test_data['pumping_rate'] * math.log(r2/r1)) / (2 * math.pi * (s1 - s2))
        transmissivity_method1 = T_calc
        break

# Method 2: Time-drawdown analysis (Theis solution)
# For late time data, u is small, W(u) ≈ -γ - ln(u)
test_time = 500 / 1440  # Convert minutes to days
r_for_time = 30  # Use closest observation well distance

# Solve for T and S using time-drawdown data
# s = (Q/(4πT)) * W(u) where u = r²S/(4Tt)
# At late time, W(u) ≈ -γ - ln(u) ≈ -0.5772 - ln(r²S/(4Tt))

# For simplicity, using the Cooper-Jacob approximation:
# s = (2.3 * Q/(4 * π * T)) * log10(r² * (4T/S) / (2.25Tt))
# Solving for T: T = 2.3 * Q / (4 * π * Δs) * (slope of late-time data)

# Calculate from time-drawdown slope
time_log = [math.log10(d['time']) for d in time_data]
s_drawdown = [d['drawdown'] for d in time_data]

# Calculate slope of late-time portion
slope = (s_drawdown[-1] - s_drawdown[1]) / (time_log[-1] - time_log[1])
transmissivity_method2 = (2.3 * test_data['pumping_rate']) / (4 * math.pi * slope)

# Calculate storativity from intercept
# Intercept at t=1 day
intercept = s_drawdown[0]  # Approximate from early data
storativity = 2.25 * transmissivity_method2 * test_time / (r_for_time**2)

# Calculate hydraulic conductivity
hydraulic_conductivity = transmissivity_method2 / test_data['aquifer_thickness']

# Calculate sustainable yield
# Using 70% of calculated transmissivity for safety factor
safe_transmissivity = 0.7 * transmissivity_method2
max_safe_drawdown = 5.0  # meters
safe_yield = safe_transmissivity * max_safe_drawdown  # Simplified approach

Analyze the aquifer properties and recommend sustainable pumping rates for water supply.

Hint:

  • Use both distance-drawdown and time-drawdown methods
  • Apply appropriate safety factors
  • Consider environmental constraints
  • Evaluate aquifer productivity based on hydraulic conductivity
# TODO: Calculate aquifer properties
transmissivity = 0       # m²/day (average from methods)
hydraulic_conductivity = 0  # m/day (calculated from T and thickness)
storativity = 0          # dimensionless (calculated from Theis solution)
safe_yield = 0           # m³/day (sustainable pumping rate)
specific_capacity = 0    # m²/day/m (discharge per unit drawdown)

# Calculate specific capacity from test data
specific_capacity = test_data['pumping_rate'] / test_data['observation_wells']['well_1']['drawdown']  # m³/day/m

# Evaluate aquifer type based on properties
if hydraulic_conductivity > 100:
    aquifer_type = "Highly productive sand and gravel aquifer"
elif hydraulic_conductivity > 10:
    aquifer_type = "Moderately productive sandstone aquifer"
elif hydraulic_conductivity > 1:
    aquifer_type = "Low to moderate productivity fractured rock aquifer"
else:
    aquifer_type = "Low productivity tight formation"

# Print results
print(f"Calculated transmissivity: {transmissivity:.2e} m²/day")
print(f"Hydraulic conductivity: {hydraulic_conductivity:.2e} m/day")
print(f"Storativity: {storativity:.2e}")
print(f"Safe yield: {safe_yield:.0f} m³/day")
print(f"Specific capacity: {specific_capacity:.2f} m²/day/m")
print(f"Aquifer type: {aquifer_type}")

# Environmental assessment
if safe_yield > 1000:
    sustainability = "High - adequate for municipal supply"
elif safe_yield > 100:
    sustainability = "Moderate - suitable for small community"
else:
    sustainability = "Low - limited to domestic use"
    
print(f"Supply sustainability: {sustainability}")

How would the results change if this were an unconfined aquifer instead of a confined aquifer?

ELI10 Explanation

Simple analogy for better understanding

Think of hydrogeology like studying an invisible river system that flows through the ground instead of on the surface. Just as surface rivers flow through valleys and channels, groundwater moves through cracks, pores, and spaces in underground rock and soil layers. Hydrogeologists are like underground river guides who map these hidden waterways, figure out how much water is flowing, where it's coming from, where it's going, and how long it takes to travel. This is incredibly important because the water from these underground systems is what fills our wells and supplies many communities with drinking water. Sometimes the water moves quickly through big cracks in rock, other times it moves very slowly through tiny spaces in clay - like water flowing through a sponge versus flowing through a colander.

Self-Examination

Q1.

What is Darcy's law and how does it describe groundwater flow?

Q2.

How do aquifers and aquitards differ in their hydrogeological properties?

Q3.

What factors control groundwater quality and contamination?