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
Infiltration and Recharge
Water infiltrates the subsurface following Horton's equation:
Where is infiltration capacity at time , is final capacity, is initial capacity, and is a decay constant.
Porosity and Permeability
Porosity
The ratio of void space to total volume:
Where is porosity, is volume of voids, and 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:
Where is hydraulic conductivity, is intrinsic permeability, is fluid density, is gravitational acceleration, and is dynamic viscosity.
Darcy's Law
The fundamental equation describing groundwater flow:
Where is discharge, is cross-sectional area, is hydraulic gradient, and 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
Where 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: (hydraulic conductivity × thickness)
- Storage coefficient: for unconfined, for confined
- Specific yield: (volume of water released per unit volume per unit decline)
- Specific storage: (volume of water released per unit volume per unit decline)
Groundwater Flow Equations
Groundwater Flow Equation
For homogeneous, isotropic media:
Where is hydraulic head, is storage coefficient, and is transmissivity.
Steady-State Flow
This is Laplace's equation for steady-state flow.
Well Hydraulics
Theis Equation (Confined Aquifer)
Where is drawdown, is pumping rate, is the well function, and .
Thiem Equation (Steady-State)
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
Where is concentration, is dispersion coefficient, is groundwater velocity, and is decay coefficient.
Retardation Factor
Where is bulk density, is distribution coefficient, and 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
Self-Examination
What is Darcy's law and how does it describe groundwater flow?
How do aquifers and aquitards differ in their hydrogeological properties?
What factors control groundwater quality and contamination?