Models¶
As indicated in the Introduction, climlab can implement different types of models out of the box. Here, we focus on Energy Balance Models which are refered to as EBMs.
Energy Balance Model¶
Currently, there are three “standard” Energy Balance Models implemented in the climlab code.
These are EBM
, EBM_seasonal
and EBM_annual
, which are explained below.
Let’s first give an overview about different (sub)processes that are implemented:
EBM Subprocesses¶
Insolation¶
FixedInsolation
defines a constant solar value for all spatial points of the domain:
\[S(\varphi) = S_{\textrm{input}}\]
P2Insolation
characterizes a parabolic solar distribution over the domain’s latitude on the basis of the second order Legendre Polynomial \(P_2\):
\[S(\varphi) = \frac{S_0}{4} \Big[1+ s_2 P_2 \big(\sin (\varphi) \big) \Big]\]Variable \(\varphi\) represents the latitude.
DailyInsolation
computes the daily solar insolation for each latitude of the domain on the basis of orbital parameters and astronomical formulas.
AnnualMeanInsolation
computes a latitudewise yearly mean for solar insolation on the basis of orbital parameters and astronomical formulas.
Albedo¶
ConstantAlbedo
defines constant albedo values at all spatial points of the domain:
\[\alpha(\varphi) = a_0\]
P2Albedo
initializes parabolic distributed albedo values across the domain on basis of the second order Legendre Polynomial \(P_2\):
\[\alpha(\varphi) = a_0 + a_2 P_2 \big(\sin (\varphi) \big)\]
Iceline
determines which part of the domain is covered with ice according to a given freezing temperature.
StepFunctionAlbedo
implements an albedo step function in dependence of the surface temperature by using instances of the above described albedo classes as subprocesses.
Outgoing Longwave Radiation¶
AplusBT
calculates the Outgoing Longwave Radiation (\(\text{OLR}\)) in form of a linear dependence of surface temperature \(T\):
\[\text{OLR} = A+B \cdot T\]
AplusBT_CO2
calculates \(\text{OLR}\) in the same way as
AplusBT
but uses parameters \(A\) and \(B\) dependent of the atmospheric \(\text{CO}_2\) concentration \(c\).\[\text{OLR} = A(c)+B(c) \cdot T\]
Boltzmann
calculates \(\text{OLR}\) according to the Stefan-Boltzmann law for a grey body:
\[\text{OLR} = \sigma \varepsilon T^4\]
Energy Transport¶
These classes calculate the transport of energy \(H(\varphi)\) across the latitude \(\varphi\) in an energy budget noted as:
MeridionalDiffusion
calculates the energy transport in a diffusion like process along the temperature gradient:
\[H(\varphi) = \frac{D}{\cos \varphi}\frac{\partial}{\partial \varphi} \left( \cos\varphi \frac{\partial T(\varphi)}{\partial \varphi} \right)\]
BudykoTransport
calculates the energy transport for each latitude \(\varphi\) depending on the global mean temperature \(\bar{T}\):
\[H(\varphi) = - b [T(\varphi) - \bar{T}]\]
EBM templates¶
The preconfigured Energy Balance Models EBM, EBM_seasonal and EBM_annual use the described suprocesses above:
EBM¶
The EBM
class sets up a typical Energy Balance Model with following subprocesses:
Outgoing Longwave Radiation (OLR) parametrization via
AplusBT
solar insolation paramterization via
P2Insolation
albedo parametrization in dependence of temperature via
StepFunctionAlbedo
energy diffusion via
MeridionalDiffusion
EBM_seasonal¶
The EBM_seasonal
class implements Energy Balance Models with realistic daily insolation.
It uses following subprocesses:
Outgoing Longwave Radiation (OLR) parametrization via
AplusBT
solar insolation paramterization via
DailyInsolation
albedo parametrization in dependence of temperature via
StepFunctionAlbedo
energy diffusion via
MeridionalDiffusion
EBM_annual¶
The EBM_annual
class that implements Energy Balance Models with annual mean insolation.
It uses following subprocesses:
Outgoing Longwave Radiation (OLR) parametrization via
AplusBT
solar insolation paramterization via
AnnualMeanInsolation
albedo parametrization in dependence of temperature via
StepFunctionAlbedo
energy diffusion via
MeridionalDiffusion
Column Models¶
Information on column models located in column
in the Climlab Reference
.
Note
For information how to set up individual models or modify instances of the classes above, see the Tutorials chapter.