Article
Climate & Earth · ⏱ ~13 min read

Earth's Energy Balance — the Physics of Climate

Climate is not meteorology. Where weather is the chaotic day-to-day state of the atmosphere, climate is the long-run energy budget of the planet — the balance between sunlight absorbed and infrared heat radiated to space. Starting from Stefan-Boltzmann radiation and a zero-dimensional energy balance model, we derive why Earth is 33 K warmer than it "should" be, how greenhouse gases shift the balance, and where tipping points come from.

1. Solar Radiation and Albedo

The Sun's luminosity is L☉ = 3.846 × 10²⁶ W. At Earth's mean orbital radius d = 1.496 × 10¹¹ m, the solar constant (total flux at the top of atmosphere) is:

S₀ = L☉ / (4πd²) ≈ 1361 W m⁻² Absorbed Solar Radiation (ASR): ASR = S₀ · πR² · (1 − α) / (4πR²) = S₀(1−α)/4 α = planetary albedo ≈ 0.30 (30% of sunlight reflected) ASR ≈ 342 · 0.70 ≈ 239 W m⁻²

The factor of 4 arises because the Sun illuminates a disk of area πR² but the planet radiates from its full sphere of 4πR². Albedo contributions: fresh snow ≈ 0.85, ocean ≈ 0.06, clouds ≈ 0.60 — clouds dominate the planetary mean.

2. Stefan-Boltzmann and the Effective Temperature

A blackbody radiates power proportional to T⁴. Setting emitted power equal to absorbed solar gives the effective radiating temperature Tₑ:

OLR = σ T⁴ (Outgoing Longwave Radiation) σ = 5.67×10⁻⁸ W m⁻² K⁻⁴ (Stefan-Boltzmann constant) Energy balance: σ Tₑ⁴ = S₀(1−α)/4 Tₑ = [S₀(1−α)/(4σ)]^¼ = [(1361 · 0.70)/(4 · 5.67×10⁻⁸)]^¼ ≈ 255 K (≈ −18°C)

Earth's observed mean surface temperature is ~288 K (15°C). The difference of 33 K is the natural greenhouse effect — atmospheric gases absorb and re-emit outgoing infrared radiation, warming the surface above the bare blackbody prediction.

3. Zero-Dimensional Energy Balance Model

A 0D EBM treats the entire planet as a single well-mixed reservoir with heat capacity C:

C · dT/dt = ASR − OLR = S₀(1−α)/4 − σεT⁴ ε = effective emissivity of atmosphere (0 < ε ≤ 1) ε = 1 → blackbody (no greenhouse) ε < 1 → partial greenhouse warming Equilibrium (dT/dt = 0): T* = [S₀(1−α)/(4σε)]^¼

By tuning ε ≈ 0.61 we recover T* = 288 K. Reducing ε (stronger greenhouse) increases T*. The EBM time constant is τ = C/λ where λ = dOLR/dT = 4σεT³ ≈ 3.3 W m⁻² K⁻¹ is the Planck feedback. With ocean mixed-layer heat capacity C ≈ 10⁸ J m⁻² K⁻¹, τ ≈ 30 yr.

4. Greenhouse Effect and Radiative Forcing

Greenhouse gases (CO₂, H₂O, CH₄, N₂O, O₃) absorb outgoing longwave radiation in specific spectral bands, reducing OLR for a given T. The resulting energy imbalance is the radiative forcing ΔF (W m⁻²):

CO₂ forcing (IPCC AR6): ΔF = α · ln(C/C₀) α ≈ 5.35 W m⁻² (radiative-forcing coefficient) C₀ = 280 ppm (pre-industrial 1750) C = 421 ppm (2023) ΔF = 5.35 · ln(421/280) ≈ 2.17 W m⁻² Equilibrium Climate Sensitivity (ECS): ΔT = ΔF / λ_eff λ_eff ≈ 1.0–1.2 W m⁻² K⁻¹ (Planck + feedbacks) ECS for CO₂ doubling ≈ 3 K (likely range 2.5–4 K)

Water vapour +

Warming increases atmospheric water vapour, a greenhouse gas itself — roughly doubling the CO₂ forcing. Largest positive feedback (~1.8 W m⁻² K⁻¹).

Lapse rate −

Tropics: moist adiabatic lapse rate causes upper troposphere to warm more than surface — upper layers radiate more, partially offsetting water vapour.

Ice-albedo +

Warming melts high-albedo ice → darker ocean/land absorbs more solar → more warming. Particularly strong in the Arctic.

Cloud −/+

Low clouds reflect solar (cooling) but also trap longwave (warming). Net cloud feedback ≈ +0.42 W m⁻² K⁻¹ — the most uncertain term.

5. Albedo-Temperature Feedbacks

To include ice-albedo feedback, α becomes a function of T. A simple parameterisation:

α(T) = α_ice if T < T_ice (≈ 263 K — fully ice-covered) = α_ocean if T > T_melt (≈ 293 K — ice-free) = linear interpolation in between dOLR/dT − dASR/dT = λ_Planck + λ_WV + λ_LR + λ_alb + λ_cld Total feedback λ_eff = Σ λᵢ λ_eff > 0 → stable (restoring) λ_eff < 0 → runaway (unstable)

On Mars the ice-albedo feedback is strong enough that removing greenhouse forcing could tip it into a "snowball" state. On Venus a runaway greenhouse has locked the planet at 737 K.

6. Tipping Points and Bistability

With a non-linear α(T), the energy balance equation C dT/dt = F(T) can have multiple equilibria. Drawing the energy budget as a function of T reveals up to three fixed points: two stable (warm Earth, snowball Earth) and one unstable (between them).

F(T) = S₀[1−α(T)]/4 − σεT⁴ Stable equilibria: F(T*) = 0 and dF/dT|_{T*} < 0 Unstable: F(T*) = 0 and dF/dT|_{T*} > 0 Tipping: if forcing exceeds the unstable point, the system "falls" irreversibly to the opposite stable state.

Real Earth tipping elements include the West Antarctic Ice Sheet, Greenland Ice Sheet, Atlantic Meridional Overturning Circulation (AMOC), and Amazon dieback — each with their own threshold forcing and irreversibility timescale.

7. JavaScript EBM Simulation

// Zero-dimensional Energy Balance Model with ice-albedo feedback
const sigma = 5.67e-8;  // Stefan-Boltzmann
const S0    = 1361;     // W/m², solar constant
const C     = 4e8;      // J/(m²·K) mixed-layer heat capacity

function albedo(T) {
  if (T < 263) return 0.62; // snowball
  if (T > 293) return 0.28; // ice-free
  return 0.62 + (0.28 - 0.62) * (T - 263) / (293 - 263);
}

function dTdt(T, eps, dForcing = 0) {
  const ASR = S0 * (1 - albedo(T)) / 4;
  const OLR = sigma * eps * T ** 4;
  return (ASR - OLR + dForcing) / C;
}

function runEBM(T0, eps, dForcing, years = 500, dt = 3.15e7) {
  // dt = 1 year in seconds
  let T = T0;
  const result = [{year: 0, T}];
  const steps = years * 12; // monthly timesteps
  const dtM = dt / 12;
  for (let i = 1; i <= steps; i++) {
    T += dTdt(T, eps, dForcing) * dtM;
    if (i % 12 === 0) result.push({year: i / 12, T});
  }
  return result;
}

// Stable modern Earth
const modern = runEBM(288, 0.61, 0);
console.log('Equilibrium T:', modern.at(-1).T.toFixed(2), 'K');

// CO₂ doubling: +3.7 W/m² forcing
const co2x2 = runEBM(288, 0.61, 3.7);
console.log('ΔT for CO₂×2:', (co2x2.at(-1).T - 288).toFixed(2), 'K');

// Snowball Earth from modern state (increase albedo)
const snowball = runEBM(288, 0.61, -40); // −40 W/m² → triggers ice runaway
console.log('Snowball T:', snowball.at(-1).T.toFixed(2), 'K');

8. Hierarchy of Climate Models

Simulation: The EBM above produces the same emergent bistability seen in the SIR epidemic model — a reminder that multi-stability is a universal feature of non-linear dynamical systems.
🌍 Open Atmosphere →