Inheritance diagram of climlab.dynamics.BudykoTransport
class climlab.dynamics.budyko_transport.BudykoTransport(b=3.81, **kwargs)[source]

Bases: climlab.process.energy_budget.EnergyBudget

calculates the 1 dimensional heat transport as the difference between the local temperature and the global mean temperature.

Parameters:b (float) – budyko transport parameter n - unit: \(\\textrm{W} / \\left( \\textrm{m}^2 \\ ^{\circ} \\textrm{C} \\right)\) n - default value: 3.81

As BudykoTransport is a Process it needs a state do be defined on. See example for details.

Computation Details: n

In a global Energy Balance Model

\[\begin{split}C \\frac{dT}{dt} = R\downarrow - R\uparrow - H\end{split}\]

with model state \(T\), the energy transport term \(H\) can be described as

\[\begin{split}H = b [T - \\bar{T}]\end{split}\]

where \(T\) is a vector of the model temperature and \(\\bar{T}\) describes the mean value of \(T\).

For further information see [Budyko_1969].


Budyko Transport as a standalone process:

import climlab
from climlab.dynamics.budyko_transport import BudykoTransport
from climlab import domain
from climlab.domain import field
from climlab.utils.legendre import P2
import numpy as np
import matplotlib.pyplot as plt

# create domain
sfc = domain.zonal_mean_surface(num_lat = 36)

lat = sfc.lat.points
lat_rad = np.deg2rad(lat)

# define initial temperature distribution
T0 = 15.
T2 = -20.
Ts = field.Field(T0 + T2 * P2(np.sin(lat_rad)), domain=sfc)

# create BudykoTransport process
budyko_transp = BudykoTransport(state=Ts)

### Integrate & Plot ###

fig = plt.figure( figsize=(6,4))
ax = fig.add_subplot(111)

for i in np.arange(0,3,1):  
    ax.plot(lat, budyko_transp.default, label='day %s' % (i*40))

ax.set_title('Standalone Budyko Transport')
ax.set_ylabel('temperature ($^{\circ}$C)')

(Source code, png, hires.png, pdf)


the budyko transport parameter in unit


Depth at grid centers (m)


Depth at grid interfaces (m)


Dictionary access to all diagnostic variables


Dictionary access to all input variables


Latitude of grid centers (degrees North)


Latitude of grid interfaces (degrees North)


Pressure levels at grid centers (hPa or mb)


Pressure levels at grid interfaces (hPa or mb)


Longitude of grid centers (degrees)


Longitude of grid interfaces (degrees)


The amount of time over which step_forward() is integrating in unit seconds.


add_diagnostic(name[, value]) Create a new diagnostic variable called name for this process and initialize it with the given value.
add_input(name[, value]) Create a new input variable called name for this process and initialize it with the given value.
add_subprocess(name, proc) Adds a single subprocess to this process.
add_subprocesses(procdict) Adds a dictionary of subproceses to this process.
compute() Computes the tendencies for all state variables given current state and specified input.
compute_diagnostics([num_iter]) Compute all tendencies and diagnostics, but don’t update model state.
declare_diagnostics(diaglist) Add the variable names in inputlist to the list of diagnostics.
declare_input(inputlist) Add the variable names in inputlist to the list of necessary inputs.
integrate_converge([crit, verbose]) Integrates the model until model states are converging.
integrate_days([days, verbose]) Integrates the model forward for a specified number of days.
integrate_years([years, verbose]) Integrates the model by a given number of years.
remove_diagnostic(name) Removes a diagnostic from the process.diagnostic dictionary and also delete the associated process attribute.
remove_subprocess(name[, verbose]) Removes a single subprocess from this process.
set_state(name, value) Sets the variable name to a new state value.
set_timestep([timestep, num_steps_per_year]) Calculates the timestep in unit seconds and calls the setter function of timestep()
step_forward() Updates state variables with computed tendencies.
to_xarray([diagnostics]) Convert process variables to xarray.Dataset format.

the budyko transport parameter in unit \(\\frac{\\textrm{W}}{\\textrm{m}^2 \\textrm{K}}\)

Getter:returns the budyko transport parameter
Setter:sets the budyko transport parameter