Seismology
Earthquakes, seismic waves, and the Earth’s interior structure.
Seismology
Seismology is the scientific study of earthquakes and the propagation of seismic waves through Earth's interior. This field provides crucial insights into Earth's internal structure, tectonic processes, and seismic hazards. By analyzing how seismic waves behave as they travel through different materials, seismologists can "see" inside our planet.
Earthquake Fundamentals
Earthquake Generation
Earthquakes result from sudden release of strain energy accumulated in rocks:
Where is energy, is stiffness (elastic modulus), and is displacement.
Elastic Rebound Theory
The most accepted mechanism for earthquake generation:
- Stress accumulates in rocks over time
- Friction prevents slip initially
- Stress eventually overcomes friction
- Sudden slip releases stored elastic energy
- Rupture propagates along the fault plane
Fault Mechanics
Where is shear stress at failure, is normal stress, is coefficient of friction, and is cohesion.
Seismic Wave Types
Body Waves
P-Waves (Primary Waves)
- Particle motion: Parallel to direction of propagation (longitudinal)
- Velocity: Fastest seismic waves
- Formula:
- Travel: Through solids, liquids, and gases
Where is bulk modulus, is shear modulus, and is density.
S-Waves (Secondary Waves)
- Particle motion: Perpendicular to direction of propagation (transverse)
- Velocity: Slower than P-waves
- Formula:
- Travel: Solids only (cannot travel through liquids)
Surface Waves
Love Waves (L-Waves)
- Particle motion: Horizontal, perpendicular to propagation direction
- Characteristics: Shear motion in horizontal plane
Rayleigh Waves (R-Waves)
- Particle motion: Elliptical retrograde motion
- Characteristics: Combined vertical and longitudinal motion
- Velocity: Slowest of all seismic waves
Wave Propagation and Velocity
Seismic Wave Velocities in Different Materials
The velocity of seismic waves depends on the elastic properties of the material:
Where is bulk modulus (resistance to volume change) and is shear modulus (resistance to shape change).
Typical Velocities
- Unconsolidated sediments: Vp = 1-3 km/s, Vs = 0.1-1.5 km/s
- Crystalline rocks: Vp = 5-7 km/s, Vs = 2.5-4 km/s
- Upper mantle: Vp = 7.5-8.5 km/s, Vs = 4-4.5 km/s
- Lower mantle: Vp = 13-14 km/s, Vs = 6.5-7 km/s
Snell's Law and Wave Refraction
Where is the angle of incidence/refraction and is wave velocity.
Earth's Internal Structure
Major Discontinuities
Mohorovičić Discontinuity (Moho)
- Depth: ~5-70 km
- Velocity jump: Vp increases from ~6 to ~8 km/s
- Significance: Crust-mantle boundary
Gutenberg Discontinuity (CMB)
- Depth: ~2900 km
- S-wave shadow zone: S-waves don't travel through outer core
- Significance: Mantle-core boundary
Lehmann Discontinuity (ICB)
- Depth: ~5150 km
- Significance: Solid inner core boundary
Transition Zone
- Depth: ~410-660 km
- Phase transitions: Olivine → Spinel → Perovskite
- Seismic velocity increases
Seismic Tomography
Using seismic wave travel times to create 3D images of Earth's interior:
Where is the travel time anomaly and is velocity.
Seismic Energy and Magnitude
Moment Magnitude Scale
The most accurate measure of earthquake size:
Where is the seismic moment:
Where is shear modulus, is rupture area, and is average displacement.
Local Magnitude (Richter Scale)
Where is maximum amplitude and is amplitude of standard earthquake at distance .
Energy Release
Where is energy in ergs and is magnitude.
Intensity Scales
Modified Mercalli Intensity (MMI)
Subjective scale based on observed effects:
- I: Not felt
- IV: Light shaking, felt indoors
- VII: Very strong, damage to poorly built structures
- X: Extreme, most structures destroyed
Seismic Hazards and Risk Assessment
Factors Controlling Ground Motion
Source Characteristics
- Magnitude: Larger earthquakes produce stronger shaking
- Distance: Amplitude decreases with distance
- Depth: Shallow events cause more surface shaking
Path Effects
- Attenuation: Energy lost during propagation
- Focusing/Defocusing: Wave paths can concentrate or disperse energy
- Site Effects: Local geology affects ground motion
Site Response
Where is peak ground acceleration, is amplification factor, and is frequency-dependent quality factor.
Seismic Zoning
Maps showing expected ground motion levels:
Where , , are factors for regional, site, and topographic effects.
Seismometer Operation
Basic Principles
Seismometers measure ground motion relative to an inertial mass:
Where is mass, is damping, is spring constant, is relative motion, and is ground motion.
Modern Digital Seismographs
- Broadband sensors
- High-dynamic-range digitizers
- GPS timing
- Real-time data transmission
Seismic Phase Analysis
P and S Wave Arrival Times
The time difference () helps determine distance to epicenter.
Travel Time Curves
Graphs showing arrival times versus distance for different phases:
- Direct P and S waves
- Refracted waves (Pn, Sn)
- Reflected waves (pP, sP, pS, sS)
- Surface waves (Lg, LR)
Earthquake Catalogs and Statistics
Gutenberg-Richter Law
Where is number of earthquakes with magnitude , and , are constants.
The -value typically equals ~1, meaning each unit increase in magnitude corresponds to 10 times fewer events.
Foreshocks, Mainshocks, and Aftershocks
Omori's Law
Aftershock frequency decays with time:
Where is number of aftershocks at time , and , , are constants.
Real-World Application: Earthquake Early Warning Systems
Modern seismology enables earthquake early warning systems that can provide seconds to minutes of warning before strong shaking arrives.
Warning System Calculations
import math
# Earthquake early warning system parameters
earthquake_data = {
'magnitude': 7.1,
'depth': 10, # km (hypocenter depth)
'distance': 100, # km (distance to city)
'p_wave_velocity': 6.0, # km/s
's_wave_velocity': 3.5, # km/s
'warning_threshold': 0.02, # m/s (threshold for warning)
}
# Calculate arrival times
p_arrival_time = earthquake_data['distance'] / earthquake_data['p_wave_velocity'] # seconds
s_arrival_time = earthquake_data['distance'] / earthquake_data['s_wave_velocity'] # seconds
# Warning time available
warning_time = s_arrival_time - p_arrival_time # seconds
# Calculate peak ground acceleration prediction
# Empirical relationship for PGA (peak ground acceleration)
pga_prediction = 0.1 * (10 ** (0.3 * (earthquake_data['magnitude'] - 3))) # m/s²
pga_warning_threshold = earthquake_data['warning_threshold'] # m/s²
print(f"Earthquake magnitude: {earthquake_data['magnitude']}")
print(f"Distance to city: {earthquake_data['distance']} km")
print(f"P-wave arrival: {p_arrival_time:.1f} seconds")
print(f"S-wave arrival: {s_arrival_time:.1f} seconds")
print(f"Warning time: {warning_time:.1f} seconds")
print(f"Predicted PGA: {pga_prediction:.3f} m/s²")
# Determine if warning should be issued
if pga_prediction > pga_warning_threshold:
warning_issued = True
print("⚠️ WARNING ISSUED - Strong shaking expected")
else:
warning_issued = False
print("No warning issued - shaking below threshold")
# Calculate energy released
seismic_energy = 10 ** (1.5 * earthquake_data['magnitude'] + 4.8) # Joules
print(f"Estimated energy released: {seismic_energy:.2e} Joules")
Real-Time Seismic Monitoring Networks
Multiple stations detect and locate earthquakes simultaneously across networks.
Your Challenge: Seismic Wave Analysis and Earthquake Location
Analyze seismic data from multiple stations to locate an earthquake and determine its magnitude.
Goal: Use P and S wave arrival times from multiple seismic stations to locate the earthquake and estimate its magnitude.
Seismic Data from Three Stations
import math
# Seismic station data
stations = {
'StationA': {
'coordinates': (40.0, -120.0), # (latitude, longitude) in degrees
'p_arrival': 15.2, # seconds after reference time
's_arrival': 25.8, # seconds after reference time
'pga': 0.08 # peak ground acceleration in m/s²
},
'StationB': {
'coordinates': (40.5, -119.5), # (latitude, longitude)
'p_arrival': 18.1, # seconds
's_arrival': 30.9, # seconds
'pga': 0.05 # peak ground acceleration
},
'StationC': {
'coordinates': (39.7, -119.8), # (latitude, longitude)
'p_arrival': 16.7, # seconds
's_arrival': 28.1, # seconds
'pga': 0.06 # peak ground acceleration
}
}
# Average seismic velocities (km/s)
avg_p_velocity = 6.0
avg_s_velocity = 3.5
# Calculate distance to epicenter from each station using S-P time
epicentral_distances = {}
for station, data in stations.items():
s_p_time = data['s_arrival'] - data['p_arrival'] # seconds
# Use relationship: distance = (S-P time) * (Vp*Vs)/(Vp-Vs)
distance = s_p_time * (avg_p_velocity * avg_s_velocity) / (avg_p_velocity - avg_s_velocity) # km
epicentral_distances[station] = distance
# Calculate earthquake origin time
# Average origin time from all stations
origin_times = []
for station, data in stations.items():
distance = epicentral_distances[station]
p_travel_time = distance / avg_p_velocity
origin_time = data['p_arrival'] - p_travel_time
origin_times.append(origin_time)
estimated_origin_time = sum(origin_times) / len(origin_times)
# Estimate magnitude from amplitude data
# Using empirical relationship with distance correction
magnitudes = []
for station, data in stations.items():
# Correct amplitude for distance
distance_km = epicentral_distances[station]
corrected_amplitude = data['pga'] * distance_km # Simplified correction
# Estimate magnitude from amplitude (simplified)
magnitude = math.log10(corrected_amplitude) + 2.0 # Simplified relationship
magnitudes.append(magnitude)
estimated_magnitude = sum(magnitudes) / len(magnitudes)
Calculate the epicenter location using triangulation from the three seismic stations.
Hint:
- Calculate distance from each station to epicenter using S-P time
- Use these distances as radii to find intersection point
- The epicenter is where circles from all stations intersect
- Correct for focal depth to get precise location
# TODO: Calculate epicenter coordinates
epicenter_latitude = 0 # degrees (estimated epicenter latitude)
epicenter_longitude = 0 # degrees (estimated epicenter longitude)
hypocenter_depth = 0 # km (estimated focal depth)
estimated_magnitude = 0 # magnitude (calculated from amplitude data)
origin_time = 0 # seconds (estimated origin time)
epicentral_distances = {} # Dictionary with distances to each station
# Calculate epicentral distances from S-P times
for station_name, station_data in stations.items():
s_p_time = station_data['s_arrival'] - station_data['p_arrival']
distance = s_p_time * (avg_p_velocity * avg_s_velocity) / (avg_p_velocity - avg_s_velocity)
epicentral_distances[station_name] = distance
# Print results
print(f"Epicenter latitude: {epicenter_latitude:.2f}°")
print(f"Epicenter longitude: {epicenter_longitude:.2f}°")
print(f"Hypocenter depth: {hypocenter_depth:.1f} km")
print(f"Estimated magnitude: {estimated_magnitude:.1f}")
print(f"Origin time: {origin_time:.1f} seconds")
print(f"Epicentral distances: {epicentral_distances}")
# Determine seismic hazard level
if estimated_magnitude > 7.0:
hazard_level = "Very High"
elif estimated_magnitude > 5.5:
hazard_level = "High"
elif estimated_magnitude > 4.0:
hazard_level = "Moderate"
else:
hazard_level = "Low"
print(f"Seismic hazard level: {hazard_level}")
How does the precision of earthquake location depend on the geometry of the seismic network and the accuracy of arrival time measurements?
ELI10 Explanation
Simple analogy for better understanding
Self-Examination
What are the different types of seismic waves and how do they travel through Earth?
How do seismologists use seismic data to determine the structure of Earth's interior?
What factors control earthquake magnitude and intensity?