# 15. Toy models of transient warming#

This notebook is part of The Climate Laboratory by Brian E. J. Rose, University at Albany.

## Exploring the rate of climate change#

In the last set of notes and homework we discussed differences between **equilibrium warming** and **transient warming** due to the slowly-evolving effects of ocean heat uptake.

Here we are going to look at some toy climate models and think about relationships between climate sensitivity, ocean heat uptake, and timescales.

## Two versions of Radiative-Convective Equilibrium with different climate sensitivities#

We are going set up two different single-column model with different lapse rate feedbacks.

We begin by repeating the same setup we have done several times before, building a single-column RCM with prescribed water vapor profile.

```
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import xarray as xr
import climlab
```

```
/Users/br546577/miniconda3/envs/climlab-courseware/lib/python3.10/site-packages/climlab/convection/akmaev_adjustment.py:142: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
Akmaev_adjustment = jit(signature_or_function=Akmaev_adjustment)
```

```
# Get the water vapor data from CESM output
cesm_data_path = "http://thredds.atmos.albany.edu:8080/thredds/dodsC/CESMA/"
atm_control = xr.open_dataset(cesm_data_path + "cpl_1850_f19/concatenated/cpl_1850_f19.cam.h0.nc")
# Take global, annual average of the specific humidity
weight_factor = atm_control.gw / atm_control.gw.mean(dim='lat')
Qglobal = (atm_control.Q * weight_factor).mean(dim=('lat','lon','time'))
```

```
# Make a model on same vertical domain as the GCM
state = climlab.column_state(lev=Qglobal.lev, water_depth=2.5)
steps_per_year = 90
deltat = climlab.constants.seconds_per_year/steps_per_year
rad = climlab.radiation.RRTMG(name='Radiation',
state=state,
specific_humidity=Qglobal.values,
timestep = deltat,
albedo = 0.25, # tuned to give reasonable ASR for reference cloud-free model
)
conv = climlab.convection.ConvectiveAdjustment(name='Convection',
state=state,
adj_lapse_rate=6.5,
timestep=rad.timestep,)
rcm_control = climlab.couple([rad,conv], name='Radiative-Convective Model')
```

Integrate the control model out to equilibrium.

```
rcm_control.integrate_years(5)
rcm_control.ASR - rcm_control.OLR
```

```
Integrating for 450 steps, 1826.2110000000002 days, or 5 years.
Total elapsed time is 5.000000000000044 years.
```

```
Field([-5.82645043e-12])
```

Now let’s make two copies of this model and keep them in a list:

```
slab_control = []
slab_control.append(rcm_control)
slab_control.append(climlab.process_like(rcm_control))
```

We are going to **double CO2 in both models** and label them as high and low sensitivity. We will build in **different feedbacks** into our two columns.

```
slab_2x = []
for n in range(len(slab_control)):
rcm_2xCO2 = climlab.process_like(rcm_control)
rcm_2xCO2.subprocess['Radiation'].absorber_vmr['CO2'] *= 2.
if n == 0:
rcm_2xCO2.name = 'High-sensitivity RCM'
elif n == 1:
rcm_2xCO2.name = 'Low-sensitivity RCM'
slab_2x.append(rcm_2xCO2)
```

We will implement a water vapor feedback as we have done before: by recomputing the specific humidity at every timestep using the current temperatures so that the **relative humidity stays fixed**.

We begin by computing the relative humidity profile from the control climate.

```
# actual specific humidity
q = rcm_control.subprocess['Radiation'].specific_humidity
# saturation specific humidity (a function of temperature and pressure)
qsat = climlab.utils.thermo.qsat(rcm_control.Tatm, rcm_control.lev)
# Relative humidity
rh = q/qsat
```

Now here is where our two models will differ:

We are going to assign them **different lapse rate feedbacks**.

Similar to the exercise in this homework assignment, we are going to assume

where \(\Gamma_{ref} = 6.5 K/km\) is the critical lapse rate in our control climate, and \(\gamma\) is a number in units of km\(^{-1}\) that determines how much the critical lapse rate should change per degree warming.

We are going to investigate two different assumptions:

temperatures decrease

**more**with height under global warming, \(\gamma = +0.3\) km\(^{-1}\)temperature decrease

**less**with height under global warming, \(\gamma = -0.3\) km\(^{-1}\)

```
lapse_change_factor = [+0.3, -0.3]
```

```
for n in range(len(slab_2x)):
rcm_2xCO2 = slab_2x[n]
print('Integrating ' + rcm_2xCO2.name)
for m in range(5 * steps_per_year):
# At every timestep
# we calculate the new saturation specific humidity for the new temperature
# and change the water vapor in the radiation model
# so that relative humidity is always the same
qsat = climlab.utils.thermo.qsat(rcm_2xCO2.Tatm, rcm_2xCO2.lev)
rcm_2xCO2.subprocess['Radiation'].specific_humidity[:] = rh * qsat
# We also adjust the critical lapse rate in our convection model
DeltaTs = rcm_2xCO2.Ts - rcm_control.Ts
rcm_2xCO2.subprocess['Convection'].adj_lapse_rate = 6.5 + lapse_change_factor[n]*DeltaTs
rcm_2xCO2.step_forward()
imbalance = (rcm_2xCO2.ASR - rcm_2xCO2.OLR).squeeze() # convert to a single scalar
ecs = (rcm_2xCO2.Ts - rcm_control.Ts).squeeze()
print('The TOA imbalance is {:.2e} W/m2'.format(imbalance))
print('The ECS is {:.2f} K'.format(ecs))
print('')
```

```
Integrating High-sensitivity RCM
The TOA imbalance is 3.11e-05 W/m2
The ECS is 3.57 K
Integrating Low-sensitivity RCM
The TOA imbalance is 2.22e-04 W/m2
The ECS is 2.22 K
```

So Model 0 (in which the lapse rates have gotten larger) is **more sensitive** than Model 1 (smaller lapse rates). It has a larger system gain, or a more positive overall climate feedback.

Although this is not the main topic of today’s lesson, it’s still interesting to think about why the lapse rates affect the climate sensivitity in this way…

## Time to reach equilibrium#

These models reached their new equilibria in just a few years. Why is that? Because they have very little heat capacity:

```
slab_control[0].depth_bounds
```

```
array([0. , 2.5])
```

The “ocean” in these models is just a “slab” of water 2.5 meter deep.

That’s all we need to calculate the equilibrium temperatures, but it tells us nothing about the timescales for climate change in the real world.

For this, we need a deep ocean that can **exchange heat with the surface**.

## Transient warming scenarios in column models with ocean heat uptake#

We are now going to build two new models. The atmosphere (radiative-convective model) will be identical to the two “slab” models we just used. But these will be coupled to a **column of ocean water** 2000 m deep!

We will **parameterize the ocean heat uptake** as a diffusive mixing process. Much like when we discussed the diffusive parameterization for atmospheric heat transport – we are assuming that ocean dynamics result in a vertical mixing of heat from warm to cold temperatures.

The following code will set this up for us.

We will make one more assumption, just for the sake of illustration:

*The more sensitive model (Model 0) is also more efficent at taking up heat into the deep ocean*

```
# Create the domains
ocean_bounds = np.arange(0., 2010., 100.)
depthax = climlab.Axis(axis_type='depth', bounds=ocean_bounds)
ocean = climlab.domain.domain.Ocean(axes=depthax)
atm = slab_control[0].Tatm.domain
# Model 0 has a higher ocean heat diffusion coefficient --
# a more efficent deep ocean heat sink
ocean_diff = [5.E-4, 3.5E-4]
# List of deep ocean models
deep = []
for n in range(len(slab_control)):
rcm_control = slab_control[n]
# Create the state variables
Tinitial_ocean = rcm_control.Ts * np.ones(ocean.shape)
Tocean = climlab.Field(Tinitial_ocean.copy(), domain=ocean)
Tatm = climlab.Field(rcm_control.Tatm.copy(), domain=atm)
# Surface temperature Ts is the upper-most grid box of the ocean
Ts = Tocean[0:1]
atm_state = {'Tatm': Tatm, 'Ts': Ts}
rad = climlab.radiation.RRTMG(name='Radiation',
state=atm_state,
specific_humidity=Qglobal.values,
timestep = deltat,
albedo = 0.25,
)
conv = climlab.convection.ConvectiveAdjustment(name='Convection',
state=atm_state,
adj_lapse_rate=6.5,
timestep=rad.timestep,)
model = rad + conv
if n == 0:
model.name = 'RCM with high sensitivity and efficient heat uptake'
elif n == 1:
model.name = 'RCM with low sensitivity and inefficient heat uptake'
model.set_state('Tocean', Tocean)
diff = climlab.dynamics.Diffusion(state={'Tocean': model.Tocean},
K=ocean_diff[n],
diffusion_axis='depth',
timestep=deltat * 10,)
model.add_subprocess('Ocean Heat Uptake', diff)
print('')
print(model)
print('')
deep.append(model)
```

```
climlab Process of type <class 'climlab.process.time_dependent_process.TimeDependentProcess'>.
State variables and domain shapes:
Tatm: (26,)
Ts: (1,)
Tocean: (20,)
The subprocess tree:
RCM with high sensitivity and efficient heat uptake: <class 'climlab.process.time_dependent_process.TimeDependentProcess'>
Radiation: <class 'climlab.radiation.rrtm.rrtmg.RRTMG'>
SW: <class 'climlab.radiation.rrtm.rrtmg_sw.RRTMG_SW'>
LW: <class 'climlab.radiation.rrtm.rrtmg_lw.RRTMG_LW'>
Convection: <class 'climlab.convection.convadj.ConvectiveAdjustment'>
Ocean Heat Uptake: <class 'climlab.dynamics.advection_diffusion.Diffusion'>
climlab Process of type <class 'climlab.process.time_dependent_process.TimeDependentProcess'>.
State variables and domain shapes:
Tatm: (26,)
Ts: (1,)
Tocean: (20,)
The subprocess tree:
RCM with low sensitivity and inefficient heat uptake: <class 'climlab.process.time_dependent_process.TimeDependentProcess'>
Radiation: <class 'climlab.radiation.rrtm.rrtmg.RRTMG'>
SW: <class 'climlab.radiation.rrtm.rrtmg_sw.RRTMG_SW'>
LW: <class 'climlab.radiation.rrtm.rrtmg_lw.RRTMG_LW'>
Convection: <class 'climlab.convection.convadj.ConvectiveAdjustment'>
Ocean Heat Uptake: <class 'climlab.dynamics.advection_diffusion.Diffusion'>
```

## An idealized transient global warming scenario: CO2 increases by 1%/year to doubling.#

Now consider the CO2 increase. In the real world, CO2 has been increasing every year since the beginning of industrialization. Future CO2 concentrations depend on collective choices made by human societies about how much fossil fuel to extract and burn.

We will set up a simple scenario. Suppose that CO2 increases by 1% of its existing concentration every year **until it reaches 2x its initial concentration**. This takes about 70 years.

After 70 years, we assume that all anthropogenic emissions, and CO2 concentration is **stabilized** at the 2x level.

What happens to the surface temperature?

How do the histories of surface and deep ocean temperature compare in our two models?

We are going to simulation **400 years of transient global warming** in the two models.

```
num_years = 400
years = np.arange(num_years+1)
Tsarray = []
Tocean = []
netrad = []
for n in range(len(deep)):
thisTs = np.nan * np.zeros(num_years+1)
thisnetrad = np.nan * np.zeros(num_years+1)
thisTocean = np.nan * np.zeros((deep[n].Tocean.size, num_years+1))
thisTs[0] = deep[n].Ts.squeeze()
thisnetrad[0] = (deep[n].ASR - deep[n].OLR).squeeze()
thisTocean[:, 0] = deep[n].Tocean
Tsarray.append(thisTs)
Tocean.append(thisTocean)
netrad.append(thisnetrad)
CO2initial = deep[0].subprocess['Radiation'].absorber_vmr['CO2']
CO2array = np.nan * np.zeros(num_years+1)
CO2array[0] = CO2initial * 1E6
# Increase CO2 by 1% / year for 70 years (until doubled), and then hold constant
for y in range(num_years):
if deep[0].subprocess['Radiation'].absorber_vmr['CO2'] < 2 * CO2initial:
for model in deep:
model.subprocess['Radiation'].absorber_vmr['CO2'] *= 1.01
CO2array[y+1] = deep[0].subprocess['Radiation'].absorber_vmr['CO2'] * 1E6
print('Year ', y+1, ', CO2 mixing ratio is ', CO2array[y+1],' ppm.')
for n, model in enumerate(deep):
for m in range(steps_per_year):
qsat = climlab.utils.thermo.qsat(model.Tatm, model.lev)
model.subprocess['Radiation'].specific_humidity[:] = rh * qsat
DeltaTs = model.Ts - slab_control[n].Ts
model.subprocess['Convection'].adj_lapse_rate = 6.5 + lapse_change_factor[n]*DeltaTs
model.step_forward()
Tsarray[n][y+1] = model.Ts.squeeze()
Tocean[n][:, y+1] = model.Tocean
netrad[n][y+1] = (model.ASR - model.OLR).squeeze()
```

```
Year 1 , CO2 mixing ratio is 351.47999999999996 ppm.
Year 2 , CO2 mixing ratio is 354.9948 ppm.
Year 3 , CO2 mixing ratio is 358.54474799999997 ppm.
Year 4 , CO2 mixing ratio is 362.13019548 ppm.
Year 5 , CO2 mixing ratio is 365.7514974348 ppm.
Year 6 , CO2 mixing ratio is 369.409012409148 ppm.
Year 7 , CO2 mixing ratio is 373.1031025332395 ppm.
Year 8 , CO2 mixing ratio is 376.8341335585719 ppm.
Year 9 , CO2 mixing ratio is 380.60247489415764 ppm.
Year 10 , CO2 mixing ratio is 384.4084996430992 ppm.
Year 11 , CO2 mixing ratio is 388.2525846395302 ppm.
Year 12 , CO2 mixing ratio is 392.1351104859255 ppm.
Year 13 , CO2 mixing ratio is 396.0564615907848 ppm.
Year 14 , CO2 mixing ratio is 400.01702620669266 ppm.
Year 15 , CO2 mixing ratio is 404.01719646875955 ppm.
Year 16 , CO2 mixing ratio is 408.05736843344715 ppm.
Year 17 , CO2 mixing ratio is 412.1379421177816 ppm.
Year 18 , CO2 mixing ratio is 416.2593215389594 ppm.
Year 19 , CO2 mixing ratio is 420.421914754349 ppm.
Year 20 , CO2 mixing ratio is 424.6261339018925 ppm.
Year 21 , CO2 mixing ratio is 428.87239524091143 ppm.
Year 22 , CO2 mixing ratio is 433.16111919332053 ppm.
Year 23 , CO2 mixing ratio is 437.4927303852537 ppm.
Year 24 , CO2 mixing ratio is 441.8676576891063 ppm.
Year 25 , CO2 mixing ratio is 446.2863342659973 ppm.
Year 26 , CO2 mixing ratio is 450.7491976086573 ppm.
Year 27 , CO2 mixing ratio is 455.25668958474387 ppm.
Year 28 , CO2 mixing ratio is 459.80925648059133 ppm.
Year 29 , CO2 mixing ratio is 464.40734904539727 ppm.
Year 30 , CO2 mixing ratio is 469.05142253585126 ppm.
Year 31 , CO2 mixing ratio is 473.7419367612098 ppm.
Year 32 , CO2 mixing ratio is 478.4793561288219 ppm.
Year 33 , CO2 mixing ratio is 483.2641496901101 ppm.
Year 34 , CO2 mixing ratio is 488.0967911870112 ppm.
Year 35 , CO2 mixing ratio is 492.97775909888134 ppm.
Year 36 , CO2 mixing ratio is 497.9075366898702 ppm.
Year 37 , CO2 mixing ratio is 502.8866120567689 ppm.
Year 38 , CO2 mixing ratio is 507.9154781773365 ppm.
Year 39 , CO2 mixing ratio is 512.9946329591099 ppm.
Year 40 , CO2 mixing ratio is 518.124579288701 ppm.
Year 41 , CO2 mixing ratio is 523.3058250815881 ppm.
Year 42 , CO2 mixing ratio is 528.5388833324039 ppm.
Year 43 , CO2 mixing ratio is 533.824272165728 ppm.
Year 44 , CO2 mixing ratio is 539.1625148873851 ppm.
Year 45 , CO2 mixing ratio is 544.554140036259 ppm.
Year 46 , CO2 mixing ratio is 549.9996814366216 ppm.
Year 47 , CO2 mixing ratio is 555.4996782509878 ppm.
Year 48 , CO2 mixing ratio is 561.0546750334977 ppm.
Year 49 , CO2 mixing ratio is 566.6652217838326 ppm.
Year 50 , CO2 mixing ratio is 572.3318740016709 ppm.
Year 51 , CO2 mixing ratio is 578.0551927416877 ppm.
Year 52 , CO2 mixing ratio is 583.8357446691045 ppm.
Year 53 , CO2 mixing ratio is 589.6741021157957 ppm.
Year 54 , CO2 mixing ratio is 595.5708431369536 ppm.
Year 55 , CO2 mixing ratio is 601.5265515683232 ppm.
Year 56 , CO2 mixing ratio is 607.5418170840064 ppm.
Year 57 , CO2 mixing ratio is 613.6172352548465 ppm.
Year 58 , CO2 mixing ratio is 619.753407607395 ppm.
Year 59 , CO2 mixing ratio is 625.950941683469 ppm.
Year 60 , CO2 mixing ratio is 632.2104511003037 ppm.
Year 61 , CO2 mixing ratio is 638.5325556113066 ppm.
Year 62 , CO2 mixing ratio is 644.9178811674196 ppm.
Year 63 , CO2 mixing ratio is 651.3670599790938 ppm.
Year 64 , CO2 mixing ratio is 657.8807305788848 ppm.
Year 65 , CO2 mixing ratio is 664.4595378846738 ppm.
Year 66 , CO2 mixing ratio is 671.1041332635205 ppm.
Year 67 , CO2 mixing ratio is 677.8151745961557 ppm.
Year 68 , CO2 mixing ratio is 684.5933263421173 ppm.
Year 69 , CO2 mixing ratio is 691.4392596055384 ppm.
Year 70 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 71 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 72 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 73 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 74 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 75 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 76 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 77 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 78 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 79 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 80 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 81 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 82 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 83 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 84 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 85 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 86 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 87 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 88 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 89 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 90 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 91 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 92 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 93 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 94 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 95 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 96 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 97 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 98 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 99 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 100 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 101 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 102 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 103 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 104 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 105 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 106 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 107 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 108 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 109 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 110 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 111 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 112 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 113 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 114 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 115 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 116 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 117 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 118 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 119 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 120 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 121 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 122 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 123 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 124 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 125 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 126 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 127 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 128 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 129 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 130 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 131 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 132 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 133 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 134 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 135 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 136 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 137 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 138 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 139 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 140 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 141 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 142 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 143 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 144 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 145 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 146 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 147 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 148 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 149 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 150 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 151 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 152 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 153 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 154 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 155 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 156 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 157 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 158 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 159 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 160 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 161 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 162 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 163 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 164 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 165 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 166 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 167 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 168 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 169 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 170 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 171 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 172 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 173 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 174 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 175 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 176 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 177 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 178 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 179 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 180 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 181 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 182 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 183 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 184 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 185 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 186 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 187 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 188 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 189 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 190 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 191 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 192 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 193 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 194 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 195 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 196 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 197 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 198 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 199 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 200 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 201 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 202 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 203 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 204 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 205 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 206 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 207 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 208 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 209 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 210 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 211 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 212 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 213 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 214 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 215 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 216 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 217 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 218 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 219 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 220 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 221 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 222 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 223 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 224 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 225 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 226 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 227 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 228 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 229 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 230 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 231 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 232 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 233 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 234 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 235 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 236 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 237 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 238 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 239 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 240 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 241 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 242 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 243 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 244 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 245 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 246 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 247 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 248 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 249 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 250 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 251 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 252 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 253 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 254 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 255 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 256 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 257 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 258 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 259 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 260 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 261 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 262 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 263 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 264 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 265 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 266 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 267 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 268 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 269 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 270 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 271 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 272 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 273 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 274 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 275 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 276 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 277 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 278 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 279 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 280 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 281 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 282 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 283 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 284 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 285 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 286 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 287 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 288 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 289 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 290 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 291 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 292 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 293 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 294 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 295 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 296 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 297 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 298 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 299 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 300 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 301 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 302 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 303 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 304 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 305 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 306 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 307 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 308 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 309 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 310 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 311 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 312 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 313 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 314 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 315 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 316 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 317 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 318 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 319 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 320 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 321 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 322 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 323 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 324 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 325 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 326 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 327 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 328 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 329 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 330 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 331 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 332 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 333 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 334 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 335 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 336 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 337 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 338 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 339 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 340 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 341 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 342 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 343 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 344 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 345 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 346 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 347 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 348 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 349 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 350 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 351 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 352 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 353 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 354 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 355 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 356 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 357 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 358 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 359 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 360 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 361 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 362 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 363 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 364 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 365 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 366 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 367 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 368 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 369 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 370 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 371 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 372 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 373 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 374 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 375 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 376 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 377 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 378 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 379 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 380 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 381 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 382 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 383 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 384 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 385 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 386 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 387 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 388 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 389 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 390 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 391 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 392 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 393 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 394 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 395 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 396 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 397 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 398 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 399 , CO2 mixing ratio is 698.3536522015938 ppm.
Year 400 , CO2 mixing ratio is 698.3536522015938 ppm.
```

```
colorlist = ['b', 'r']
co2color = 'k'
num_axes = len(deep) + 1
fig, ax = plt.subplots(num_axes, figsize=(12,14))
# Twin the x-axis twice to make independent y-axes.
topaxes = [ax[0], ax[0].twinx(), ax[0].twinx()]
# Make some space on the right side for the extra y-axis.
fig.subplots_adjust(right=0.85)
# Move the last y-axis spine over to the right by 10% of the width of the axes
topaxes[-1].spines['right'].set_position(('axes', 1.1))
# To make the border of the right-most axis visible, we need to turn the frame
# on. This hides the other plots, however, so we need to turn its fill off.
topaxes[-1].set_frame_on(True)
topaxes[-1].patch.set_visible(False)
for n, model in enumerate(slab_2x):
topaxes[0].plot(model.Ts*np.ones_like(Tsarray[n]), '--', color=colorlist[n])
topaxes[0].set_ylabel('Surface temperature (K)')
topaxes[0].set_xlabel('Years')
topaxes[0].set_title('Transient warming scenario: 1%/year CO2 increase to doubling, followed by CO2 stabilization', fontsize=14)
topaxes[0].legend(['Model 0', 'Model 1'], loc='lower right')
topaxes[1].plot(CO2array, color=co2color)
topaxes[1].set_ylabel('CO2 (ppm)', color=co2color)
for tl in topaxes[1].get_yticklabels():
tl.set_color(co2color)
topaxes[1].set_ylim(300., 1000.)
topaxes[2].set_ylabel('TOA imbalance (W/m2)', color='b')
for tl in topaxes[2].get_yticklabels():
tl.set_color('b')
topaxes[2].set_ylim(0, 3)
contour_levels = np.arange(-0.25, 3.25, 0.25)
for n in range(len(deep)):
cax = ax[n+1].contourf(years, deep[n].depth, Tocean[n] - Tsarray[n][0], levels=contour_levels)
ax[n+1].invert_yaxis()
ax[n+1].set_ylabel('Depth (m)')
ax[n+1].set_xlabel('Years')
for n, model in enumerate(deep):
topaxes[0].plot(Tsarray[n], color=colorlist[n])
topaxes[2].plot(netrad[n], ':', color=colorlist[n])
for n in range(len(deep)):
cax = ax[n+1].contourf(years, deep[n].depth, Tocean[n] - Tsarray[n][0], levels=contour_levels)
topaxes[1].plot(CO2array, color=co2color)
fig.subplots_adjust(bottom=0.12)
cbar_ax = fig.add_axes([0.25, 0.02, 0.5, 0.03])
fig.colorbar(cax, cax=cbar_ax, orientation='horizontal');
```

## Transient vs. equilibrium warming: key points#

During the first 70 years, the radiative forcing goes up every year

The warming in the two models is almost identical during this phase

After year 70, the CO2 levels are stable and so the radiative forcing is no longer increasing

Both models continue to warm for hundreds of years

The difference between the two models become larger over time

In either case, at the time of CO2 doubling the model has achieved only a fraction of its equilibrium surface warming.

The difference between the warming at year 70 and the equilibrium warming is called the

**committed warming**. It is the global warming associated with CO2 emissions that are**already in the atmosphere**.How do we know at year 70 what the committed warming is? Are we on the blue or the red path? At year 70, have we achieved half or only a third of the eventual equilibrium warming?

In our example, the more sensitive model also has more efficient ocean heat uptake, so the initial warming looks identical.

**Uncertainties in both climate feedback processes and ocean heat uptake processes contribute to uncertainty in the rate of global warming**

## Results from comprehensive coupled GCMs#

### Fast and slow components of the warming#

This figure shows how a comprehensive coupled GCM responds to the same kind of idealized CO2 increase we have looked at above: CO2 increases at 1%/year for 70 years and is then held constant at twice the pre-industrial level (blue curve), or at 4x the pre-industrial level (red curve) [Yoshimori *et al.*, 2016]

The dashed curve show the **ocean heat content** continuing to rise slowly over thousands of years.

M. Yoshimori, M. Watanabe, H. Shiogama, A. Oka, A. Abe-Ouchi, R. Ohgaito, and Y. Kamae. A review of progress towards understanding the transient global mean surface temperature response to radiative perturbation. Prog. Earth Planet. Sic., 3, 2016.

### What happens if CO2 levels are abruptly returned to pre-industrial levels?#

Here, in a different model, we see the surface temperature change through the historical period (black) followed by a typical future global warming scenario (blue).

The red curves show the effects of suddenly returning greenhouse gases to their preindustrial levels at various times in the future.

The temperatures very quickly drop, but **not back to the preindustrial values**. Over time, the build-up of heat content in the deep ocean means that, even if CO2 levels revert to what they used to be, the climate remain quite a bit warmer for thousands of years.

This has been referred to as the **recalcitrant** component of global warming, in analogy with stubborn medical conditions that are difficult to treat [Held *et al.*, 2010].

I. M. Held, M. Winton, K. Takahashi, T. Delworth, F. Zeng, and G. K. Vallis. Probing the fast and slow components of global warming by returning abruptly to preindustrial forcing. J. Climate, 23:2418–2427, 2010.

## Credits#

This notebook is part of The Climate Laboratory, an open-source textbook developed and maintained by Brian E. J. Rose, University at Albany.

It is licensed for free and open consumption under the Creative Commons Attribution 4.0 International (CC BY 4.0) license.

Development of these notes and the climlab software is partially supported by the National Science Foundation under award AGS-1455071 to Brian Rose. Any opinions, findings, conclusions or recommendations expressed here are mine and do not necessarily reflect the views of the National Science Foundation.