5.4 Hydrothermal Vents
Discovered in 1977, hydrothermal vents are underwater hot springs where seawater heated by magma emerges, creating oases of life based on chemosynthesis rather than photosynthesis.
Vent Types
Black Smokers
350-400Β°C. Metal sulfides precipitate. Tall chimneys. Rich in Cu, Zn, Fe.
White Smokers
100-300Β°C. Silica, barium, calcium precipitate. Lower temperature.
Diffuse Flow
10-50Β°C. Broad areas. Supports bacterial mats. Most vent life lives here.
Lost City (Serpentinite)
40-90Β°C. High pH (9-11). Carbonate chimneys. Different chemistry.
Vent Chemistry
\( \text{H}_2\text{S} + \text{CO}_2 + \text{O}_2 \xrightarrow{\text{bacteria}} \text{CH}_2\text{O} + \text{H}_2\text{SO}_4 \)
Chemosynthesis: Energy from HβS oxidation, not sunlight
HβS, CHβ
Energy sources
Fe, Mn, Cu, Zn
Dissolved metals
Si, Ca, Ba
Mineral precipitates
Vent Ecosystems
Tube Worms (Riftia)
No gut. Symbiotic bacteria in trophosome. Can grow 1m in 2 years.
Vent Shrimp & Crabs
Graze on bacteria. Tolerate high temperatures. Endemic species.
Giant Clams & Mussels
Chemosynthetic symbionts in gills. Filter feeders. Dense beds.
Python: Vent Fluid Mixing
#!/usr/bin/env python3
"""hydrothermal_vents.py - Vent fluid mixing model"""
import numpy as np
import matplotlib.pyplot as plt
def mixing_temperature(f_vent, T_vent=350, T_seawater=2):
"""
Temperature of mixed vent fluid
f_vent: fraction of vent fluid (0-1)
"""
return f_vent * T_vent + (1 - f_vent) * T_seawater
def h2s_concentration(f_vent, H2S_vent=10): # mmol/L
"""H2S in mixed fluid"""
return f_vent * H2S_vent
# Mixing line
f = np.linspace(0, 0.1, 100) # 0-10% vent fluid
T = mixing_temperature(f)
H2S = h2s_concentration(f)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5))
ax1.plot(f*100, T, 'r-', lw=2)
ax1.set_xlabel('Vent Fluid Fraction (%)')
ax1.set_ylabel('Temperature (Β°C)')
ax1.set_title('Mixing Temperature')
ax1.axhline(50, color='g', linestyle='--', label='Max for most life')
ax1.legend()
ax2.plot(f*100, H2S, 'b-', lw=2)
ax2.set_xlabel('Vent Fluid Fraction (%)')
ax2.set_ylabel('HβS (mmol/L)')
ax2.set_title('Sulfide Concentration')
plt.tight_layout()
# Global vent flux estimate
print("Global hydrothermal flux estimates:")
print(" Heat: ~10^13 W (10 TW)")
print(" Water: ~10^13 kg/yr")
print(" Fe: ~10^10 kg/yr")