Thermohaline Circulation
The ocean's thermohaline circulation is driven by density differences caused by variations in temperature (thermo) and salinity (haline).
Equation of State
Seawater density depends on temperature, salinity, and pressure:
Simplified linear approximation:
Where:
- (thermal expansion coefficient)
- (haline contraction coefficient)
Geostrophic Balance
Ocean currents in the deep ocean are approximately geostrophic:
Wind-Driven Circulation
The Sverdrup relation connects wind stress to ocean transport:
Where is the meridional volume transport and is the wind stress.
Stommel Model
The Stommel (1948) model of western intensification:
Python: Ocean Heat Content
import numpy as np
import matplotlib.pyplot as plt
def ocean_heat_content(T_profile, z, rho=1025, cp=3985):
"""Calculate ocean heat content relative to 0C."""
return rho * cp * np.trapz(T_profile, z)
# Example temperature profile (depth in meters)
depths = np.linspace(0, 5000, 100)
temp = 25 * np.exp(-depths / 500) + 2
plt.figure(figsize=(8, 6))
plt.plot(temp, -depths)
plt.xlabel('Temperature (C)')
plt.ylabel('Depth (m)')
plt.title('Ocean Temperature Profile')
plt.grid(True)
plt.show()
ohc = ocean_heat_content(temp, depths)
print(f"Ocean Heat Content: {ohc / 1e9:.2f} GJ/m2")
Ekman Transport
The net transport in the Ekman layer is 90 degrees to the right of the wind (Northern Hemisphere):
The Ekman pumping velocity:
Mixed Layer Dynamics
The mixed layer depth evolves according to turbulent kinetic energy arguments.
Thermohaline Overturning
The overturning strength is measured in Sverdrups:
The Atlantic MOC transports approximately 17-18 Sv northward at 26 degrees N.
Key Parameters
| Parameter | Typical Value | Units |
|---|---|---|
| Thermal expansion | 2.1 times 10^-4 | K^-1 |
| Haline contraction | 7.6 times 10^-4 | PSU^-1 |
| Reference density | 1025 | kg/m^3 |
| Specific heat | 3985 | J/(kg cdot K) |
Exercises
- Calculate the density of seawater at T=20C, S=35 PSU
- Derive the Ekman spiral for a given wind stress
- Estimate the Atlantic MOC transport using observations