9.2 Climate Change
Anthropogenic climate change, driven primarily by fossil fuel combustion, deforestation, and agriculture, has warmed the planet by approximately 1.1 degrees C since the pre-industrial era (1850-1900). The IPCC Sixth Assessment Report (AR6) concluded it is "unequivocal that human influence has warmed the atmosphere, ocean and land." This section covers the observed changes, attribution science, carbon cycle, and future projections.
Observed Global Warming
+1.09 degC
Global surface temperature increase (2011-2020 vs 1850-1900)
420+ ppm
Atmospheric CO2 (vs 280 ppm pre-industrial, +50%)
+20 cm
Global mean sea level rise since 1900
Warming is not uniform: land warms faster than ocean (~1.6x), the Arctic warms 2-4 times the global mean (Arctic amplification), and nights warm faster than days. The rate of warming has accelerated: +0.08 degC/decade over 1880-2020 but +0.18 degC/decade over 1981-2020. Each of the last four decades has been successively warmer than any preceding decade since 1850.
Detection and Attribution
Attribution science uses "fingerprinting" to distinguish the spatial and temporal patterns of human-caused warming from natural variability. The optimal fingerprinting approach regresses observed temperature changes onto model-simulated response patterns:
$$\mathbf{y} = \sum_{i} \beta_i \mathbf{x}_i + \boldsymbol{\varepsilon}$$
y = observed change vector, x_i = model-simulated fingerprint for forcing i, beta_i = scaling factor, epsilon = internal variability noise
The generalized least squares solution accounts for the covariance structure of internal variability:
$$\hat{\boldsymbol{\beta}} = (\mathbf{X}^T \mathbf{C}_N^{-1} \mathbf{X})^{-1} \mathbf{X}^T \mathbf{C}_N^{-1} \mathbf{y}$$
C_N = covariance matrix of natural internal variability estimated from control simulations
Key attribution findings from IPCC AR6: human-caused warming of +1.07 degC [0.8-1.3], natural forcing contribution of +/- 0.1 degC, and internal variability contribution of -0.2 to +0.2 degC. The human fingerprint includes: stratospheric cooling concurrent with tropospheric warming, polar amplification, land warming faster than ocean, and diurnal temperature range narrowing.
Radiative Forcing
Radiative forcing (RF) quantifies the change in net energy flux at the tropopause due to an external perturbation. The effective radiative forcing (ERF) additionally includes rapid tropospheric adjustments. Logarithmic dependence of CO2 forcing on concentration:
$$\Delta F_{\text{CO}_2} = 5.35 \ln\left(\frac{C}{C_0}\right) \quad \text{W/m}^2$$
$C$ = current CO₂ concentration, $C_0$ = pre-industrial (280 ppm)
Greenhouse Gas Forcing (Warming)
- - CO2: +2.16 W/m2 (largest single forcing agent)
- - CH4: +0.54 W/m2 (including indirect effects on O3 and stratospheric H2O)
- - N2O: +0.21 W/m2 (long-lived, also depletes stratospheric ozone)
- - Halocarbons: +0.41 W/m2 (CFCs, HFCs, etc.)
- - Tropospheric O3: +0.47 W/m2
- - Total well-mixed GHGs: +3.32 W/m2
Aerosol Forcing (Cooling)
- - Aerosol-radiation interactions: -0.3 W/m2 (direct scattering)
- - Aerosol-cloud interactions: -1.0 W/m2 (largest uncertainty)
- - Total aerosol ERF: -1.3 W/m2 [-0.5 to -1.7]
- - Aerosols have partially masked GHG warming
- - Declining SO2 emissions may unmask additional warming
Carbon Budget and TCRE
A near-linear relationship exists between cumulative CO2 emissions and global mean temperature change. The Transient Climate Response to Cumulative Emissions (TCRE) quantifies this:
$$\Delta T \approx \text{TCRE} \times \sum E_{\text{CO}_2}$$
TCRE = 0.45 degC per TtCO2 [0.27 to 0.63], likely range from AR6
The linearity of TCRE arises from a near-cancellation between the diminishing radiative efficiency of CO2 (logarithmic forcing) and the diminishing fraction absorbed by ocean and land sinks. This remarkable property means temperature depends primarily on cumulative emissions, not the pathway.
Keeling Curve and Seasonal Cycle
The Keeling curve (measured at Mauna Loa since 1958) shows the relentless rise in atmospheric CO2 from ~315 ppm to over 420 ppm. Superimposed is a seasonal cycle of ~6 ppm amplitude driven by Northern Hemisphere vegetation: drawdown in summer (photosynthesis) and release in winter (respiration and decomposition). The seasonal amplitude has increased ~15% since 1960, suggesting enhanced vegetation activity from warming and CO2 fertilization.
Global Carbon Cycle
Of the ~40 GtCO2/year emitted by human activities (~36 GtCO2 from fossil fuels + ~4 GtCO2 from land-use change), the atmosphere retains only about 45%:
~45%
Atmospheric accumulation (~19 GtCO2/yr)
Airborne fraction: rising CO2 concentration
~25%
Ocean sink (~10 GtCO2/yr)
CO2 dissolution + biological pump
~30%
Land sink (~12 GtCO2/yr)
CO2 fertilization + nitrogen deposition
The stability of the airborne fraction (~45%) over the past 60 years is partly fortuitous. Climate models project that both ocean and land sinks will weaken under high-emission scenarios due to ocean warming (reduced CO2 solubility), Amazon dieback, permafrost thaw, and increased respiration, potentially pushing the airborne fraction above 50%.
Ocean Heat Content, Sea Level, and Acidification
The ocean has absorbed over 90% of the excess heat trapped by greenhouse gases. Ocean heat content (OHC) in the upper 2000 m has increased by approximately 380 ZJ (zettajoules) since 1971. This warming drives thermal expansion and contributes to sea level rise:
$$\Delta h_{\text{thermal}} = \int_0^{H} \alpha_T \Delta T(z) \, dz$$
$\alpha_T$ = thermal expansion coefficient ($\sim 2 \times 10^{-4}$ /K for seawater), $H$ = ocean depth
Sea Level Rise Components
- - Thermal expansion: ~1.4 mm/yr (38% of total)
- - Glaciers and ice caps: ~0.7 mm/yr (19%)
- - Greenland ice sheet: ~0.8 mm/yr (22%)
- - Antarctic ice sheet: ~0.4 mm/yr (11%)
- - Land water storage: ~0.4 mm/yr (10%)
- - Total current rate: ~3.7 mm/yr (accelerating from ~1.3 mm/yr in early 20th century)
Cryosphere Changes
- - Arctic sea ice: -13%/decade (September minimum extent)
- - Greenland mass loss: ~270 Gt/yr (2006-2018)
- - Antarctica mass loss: ~150 Gt/yr (2006-2018)
- - Mountain glaciers: retreating globally, ~220 Gt/yr loss
- - Permafrost warming: +0.3 to +3 degC since 1980s
Ocean Acidification
CO2 dissolving in seawater produces carbonic acid, lowering pH. Surface ocean pH has declined by ~0.1 units since pre-industrial (from ~8.21 to ~8.10), representing a ~26% increase in H+ concentration:
$$\text{CO}_2 + \text{H}_2\text{O} \rightleftharpoons \text{H}_2\text{CO}_3 \rightleftharpoons \text{HCO}_3^- + \text{H}^+ \rightleftharpoons \text{CO}_3^{2-} + 2\text{H}^+$$
Reduced carbonate ion concentration threatens calcifying organisms (corals, shellfish, pteropods)
SSP Scenarios and Projected Warming
The Shared Socioeconomic Pathways (SSPs) combine socioeconomic narratives with radiative forcing levels to project future climate change:
SSP1-1.9 (Very low emissions)
+1.0 to +1.8 degC by 2081-2100 (best estimate +1.4 degC). Net-zero CO2 by ~2050, net negative after. Requires rapid, deep emission reductions across all sectors. Consistent with 1.5 degC target.
SSP1-2.6 (Low emissions)
+1.3 to +2.4 degC by 2081-2100 (best estimate +1.8 degC). Net-zero CO2 in second half of century. Consistent with well-below 2 degC target.
SSP2-4.5 (Intermediate emissions)
+2.1 to +3.5 degC by 2081-2100 (best estimate +2.7 degC). CO2 emissions roughly stable until 2050 then declining. Near current policy trajectory.
SSP3-7.0 (High emissions)
+2.8 to +4.6 degC by 2081-2100 (best estimate +3.6 degC). CO2 emissions double by 2100. Regional rivalry, slow development.
SSP5-8.5 (Very high emissions)
+3.3 to +5.7 degC by 2081-2100 (best estimate +4.4 degC). CO2 triples by 2075. Fossil-fueled development. Useful as high-risk scenario.
Fortran: Sea Level Rise from Thermal Expansion
This Fortran program computes thermosteric sea level rise by integrating the thermal expansion of ocean layers as they warm under different forcing scenarios:
program sea_level_thermal
! ===========================================================
! Compute sea level rise from ocean thermal expansion
! Uses a 1-D column model with depth-dependent warming.
! Compile: gfortran -o sea_level sea_level_thermal.f90
! Run: ./sea_level
! ===========================================================
implicit none
integer, parameter :: dp = selected_real_kind(15,307)
integer, parameter :: nlayers = 50 ! ocean layers
integer, parameter :: nyears = 280 ! 2020-2300
real(dp) :: z(nlayers) ! depth of each layer (m)
real(dp) :: dz ! layer thickness (m)
real(dp) :: T0(nlayers) ! initial temperature profile (C)
real(dp) :: T(nlayers) ! current temperature (C)
real(dp) :: alpha_T(nlayers) ! thermal expansion coeff (1/K)
real(dp) :: kappa ! vertical diffusivity (m^2/s)
real(dp) :: delta_h ! sea level rise (m)
real(dp) :: SST_forcing ! surface warming scenario (C)
real(dp) :: dt_yr ! time step (years)
real(dp) :: dt_sec ! time step (seconds)
integer :: i, iy
real(dp) :: year
! Setup ocean layers (0-4000 m)
dz = 4000.0_dp / real(nlayers, dp) ! 80 m per layer
do i = 1, nlayers
z(i) = (real(i,dp) - 0.5_dp) * dz
end do
! Initial temperature profile (typical mid-latitude ocean)
do i = 1, nlayers
T0(i) = 20.0_dp * exp(-z(i)/500.0_dp) + 2.0_dp
T(i) = T0(i)
end do
! Thermal expansion coefficient (increases with T)
! alpha ~ 1.5e-4 + 4e-6 * T (simplified)
kappa = 1.0d-4 ! vertical diffusivity (m^2/s)
dt_yr = 1.0_dp
dt_sec = dt_yr * 365.25_dp * 86400.0_dp
write(*,'(A)') '======================================================'
write(*,'(A)') ' Sea Level Rise from Thermal Expansion (SSP2-4.5)'
write(*,'(A)') '======================================================'
write(*,'(A6, A10, A12, A12, A12)') &
'Year', 'SST(C)', 'SLR(mm)', 'SLR(cm)', 'OHC(ZJ)'
do iy = 1, nyears
year = 2020.0_dp + real(iy, dp)
! Surface temperature forcing (SSP2-4.5 inspired)
if (year < 2100.0_dp) then
SST_forcing = 0.03_dp * (year - 2020.0_dp) ! ~0.03 C/yr
else
SST_forcing = 2.4_dp + 0.005_dp * (year - 2100.0_dp)
end if
! Apply surface forcing
T(1) = T0(1) + SST_forcing
! Diffuse heat downward (explicit scheme)
do i = 2, nlayers - 1
T(i) = T(i) + kappa * dt_sec / dz**2 * &
(T(i-1) - 2.0_dp*T(i) + T(i+1))
end do
! Compute thermal expansion coefficient for each layer
do i = 1, nlayers
alpha_T(i) = 1.5d-4 + 4.0d-6 * T(i)
end do
! Integrate sea level rise
delta_h = 0.0_dp
do i = 1, nlayers
delta_h = delta_h + alpha_T(i) * (T(i) - T0(i)) * dz
end do
! Ocean heat content change (ZJ = 10^21 J)
! OHC = rho * cp * integral(dT * dz) * A_ocean
! rho=1025 kg/m3, cp=3990 J/(kg*K), A=3.6e14 m2
! Print every 20 years
if (mod(iy, 20) == 0) then
write(*,'(I6, F10.2, F12.1, F12.2, F12.1)') &
nint(year), T(1), delta_h*1000.0_dp, &
delta_h*100.0_dp, &
1025.0_dp*3990.0_dp*3.6d14 * &
sum((T - T0)*dz) * 1.0d-21
end if
end do
write(*,'(A)') '------------------------------------------------------'
write(*,'(A,F8.1,A)') ' Total thermosteric SLR by 2300: ', &
delta_h*100.0_dp, ' cm'
write(*,'(A)') ' Note: total SLR also includes glaciers + ice sheets'
end program sea_level_thermalInteractive Simulation: CO2 & Temperature Projections
PythonModel CO2 concentration under SSP scenarios (SSP1-2.6, SSP2-4.5, SSP3-7.0, SSP5-8.5). Calculates radiative forcing using dF = 5.35 * ln(C/C0) and projects temperature change with a simple climate model dT = lambda * dF from 1850 to 2100.
Click Run to execute the Python code
Code will be executed with Python 3 on the server