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
FixedInsolationdefines a constant solar value for all spatial points of the domain:
\[S(\varphi) = S_{\textrm{input}}\]
P2Insolationcharacterizes 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.
DailyInsolationcomputes the daily solar insolation for each latitude of the domain on the basis of orbital parameters and astronomical formulas.
AnnualMeanInsolationcomputes a latitudewise yearly mean for solar insolation on the basis of orbital parameters and astronomical formulas.
Albedo
ConstantAlbedodefines constant albedo values at all spatial points of the domain:
\[\alpha(\varphi) = a_0\]
P2Albedoinitializes 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)\]
Icelinedetermines which part of the domain is covered with ice according to a given freezing temperature.
StepFunctionAlbedoimplements an albedo step function in dependence of the surface temperature by using instances of the above described albedo classes as subprocesses.
Outgoing Longwave Radiation
AplusBTcalculates the Outgoing Longwave Radiation (\(\text{OLR}\)) in form of a linear dependence of surface temperature \(T\):
\[\text{OLR} = A+B \cdot T\]
AplusBT_CO2calculates \(\text{OLR}\) in the same way as
AplusBTbut uses parameters \(A\) and \(B\) dependent of the atmospheric \(\text{CO}_2\) concentration \(c\).\[\text{OLR} = A(c)+B(c) \cdot T\]
Boltzmanncalculates \(\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:
MeridionalDiffusioncalculates 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)\]
BudykoTransportcalculates 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
AplusBTsolar insolation paramterization via
P2Insolationalbedo parametrization in dependence of temperature via
StepFunctionAlbedoenergy 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
AplusBTsolar insolation paramterization via
DailyInsolationalbedo parametrization in dependence of temperature via
StepFunctionAlbedoenergy 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
AplusBTsolar insolation paramterization via
AnnualMeanInsolationalbedo parametrization in dependence of temperature via
StepFunctionAlbedoenergy 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.