Snapshot / Computational Thinking Repo ↗

Snowball Earth and tipping points

Add one ingredient to the Energy Balance Model and the climate develops a split personality. The ingredient is the ice–albedo feedback: ice and snow are bright and reflect sunlight, so

a colder planet grows more ice → reflects more sunlight → gets colder still.

This runaway can flip the Earth into a completely frozen Snowball state — and the geological record says it really happened, more than once. The remarkable part is that the same Sun and the same CO₂ can support two stable climates: a warm one near 14 °C and a frozen one far below. Which one you end up in depends on where you start and how strong the Sun is.

Set the starting temperature and the solar strength below, and watch the planet fall into one basin or the other — a live demonstration of a tipping point in WebAssembly.

begin
    using PlutoUI, WasmMakie
end

starting temperature (°C) = 15

solar strength (% of today) = 100

years to simulate = 200

let
    # Energy Balance Model with a temperature-dependent albedo. Everything bonded is turned
    # into a local before the loop; the year loop computes albedo from the CURRENT
    # temperature (a local), so ice grows and shrinks as the planet warms and cools.
    A = 214.6
    B = 1.77
    C = 51.0
    S = Float64(solari) / 100.0 * 1368.0
    T = Float64(t0i)

    Ts = Vector{Float64}(undef, nyears + 1)
    ts = Vector{Float64}(undef, nyears + 1)
    Ts[1] = T
    ts[1] = 0.0
    for y in 1:nyears
        alb = 0.3
        if T < 0.0
            alb = 0.3 + 0.3 * (0.0 - T) / 10.0   # icier as it gets colder
        end
        if alb > 0.6
            alb = 0.6                             # fully ice-covered
        end
        absorbed = (1.0 - alb) * S / 4.0
        dT = (absorbed - (A + B * T)) / C
        T = T + dT
        Ts[y + 1] = T
        ts[y + 1] = Float64(y)
    end

    fig = Figure(size = (600, 360))
    ax = Axis(fig[1, 1])
    lines!(ax, [0.0, Float64(nyears)], [14.0, 14.0])     # the warm equilibrium
    lines!(ax, [0.0, Float64(nyears)], [0.0, 0.0])       # freezing line
    lines!(ax, ts, Ts)                                    # the planet's fate
    fig
end
14.0
sb_final = let
    # final temperature in a SEPARATE bond-dependent cell so the markdown below
    # interpolates it live (values inside a markdown cell's own `let` bake to the
    # slider defaults).
    A = 214.6
    B = 1.77
    C = 51.0
    S = Float64(solari) / 100.0 * 1368.0
    T = Float64(t0i)
    for y in 1:nyears
        alb = 0.3
        if T < 0.0
            alb = 0.3 + 0.3 * (0.0 - T) / 10.0
        end
        if alb > 0.6
            alb = 0.6
        end
        absorbed = (1.0 - alb) * S / 4.0
        dT = (absorbed - (A + B * T)) / C
        T = T + dT
    end
    floor(T * 10.0) / 10.0
end

Final temperature: 14.0 C – a warm, ice-free world. Start just a few degrees colder, or dim the Sun a percent or two, and the planet can tip irreversibly into the frozen basin: once ice covers everything, it reflects so much sunlight that even today's Sun struggles to melt it back. Two stable worlds, one tipping point between them.

Tipping points and hysteresis

The deepest lesson here is hysteresis: the path in differs from the path out. Slowly dim the Sun and the warm Earth cools gently — until, at a threshold, it jumps to the Snowball state. Brighten the Sun back to where it started and the Earth stays frozen; you have to push it far past the original brightness before it jumps back to warm. The system remembers its history.

This is the defining feature of climate tipping points — ice sheets, the Atlantic circulation, the Amazon — and why they are so dangerous: crossing one is easy and reversing it is not. A simple feedback in a one-line model already shows the whole behaviour.

Appendix

The Energy Balance Model from the earlier lessons, extended with a temperature-dependent albedo, stepped one year at a time and drawn with WasmMakie — all in-browser WebAssembly. The two stable states and the tipping behaviour are exactly those in the MIT Snowball-Earth notebook.