albedo

class lowEBMs.Packages.Functions.albedo[source]

Bases: object

Class defining the albedo distributions

static Function defining a static albedo value
static_bud A static albedo distribution as used in Budyko.
dynamic_bud A temperature dependant albedo distribution with three albedo regions.
smooth A temperature dependant albedo distribution with tangens hyperbolicus transition.
dynamic_sel A albedo distribution with linear temperature dependence.

Note

These are special functions which are used by flux_down.insolation. In the configuration.ini they have to be inserted in its [func]-section with the parameters used (see albedo).

lowEBMs.Packages.Functions.albedo.static(self, alpha)

Function defining a static albedo value

Function-call arguments

Parameters:alpha (float) –

the globally averaged albedo value

  • type: float
  • unit: -
  • value: 0 \(\leq\) alpha \(\leq\) 1
Returns:The globally averaged albedo value
Return type:float (0D)
lowEBMs.Packages.Functions.albedo.static_bud(self, alpha_p, border_1, border_2)

A static albedo distribution as used in Budyko.

The albedo distribution is described through three zones of albedo values.

Latitude of transition Albedo value alhpa
< border_1 low albedo zone: alpha= alpha_p
> border_1 intermediate zone: alpha= alpha_p +0.18
> border_2 high albedo zone: alpha= alpha_p +0.3

Function-call arguments

Parameters:albedoparam (array) –

albedo distribution parameters [alpha_p,border_1,border_2]

  • alpha_p: The low albedo zone value
    • type: float
    • unit: -
    • value: 0 \(\leq\) albedo \(\leq\) 1 (standard 0.3)
  • border_1: Latitude of low to intermediate albedo zone transition
    • type: float
    • unit: Unit of latitude (degree)
    • value: 0 \(\leq\) border_1 \(\leq\) 90 (standard 60)
  • border_2: Latitude of intermediate to high albedo zone transition
    • type: float
    • unit: Unit of latitude (degree)
    • value: 0 \(\leq\) border_2 \(\leq\) 1 (standard 70)
Returns:The latitudinal albedo distribution
Return type:array(floats) (1D)
lowEBMs.Packages.Functions.albedo.dynamic_bud(self, T_1, T_2, alpha_0, alpha_1, alpha_2)

A temperature dependant albedo distribution with three albedo regions. Approach as used in Budyko but complemented with albedo transition depending on temperature.

The albedo distribution is described through three zones of albedo values.

Temperature of transition Albedo value alpha
> T_1 low albedo zone: alpha= alpha_0
< T_1 & > T_2 intermediate zone: alpha= alpha_1
< T_2 high albedo zone: alpha= alpha_2

Function-call arguments

Parameters:albedoparam (array) –

albedo distribution parameters [T_1,T_2,alpha_0,alpha_1,alpha_2]

  • T_1: Temperature of low to intermediate albedo zone transition
    • type: float
    • unit: \(Kelvin\)
    • value: > 0 in Kelvin (standard 273.15)
  • T_2: Temperature of intermediate to high albedo zone transition
    • type: float
    • unit: \(Kelvin\)
    • value: > 0 in kelvin (standard 263.15)
  • alpha_0: The low albedo zone value
    • type: float
    • unit: -
    • value: 0 \(\leq\) alpha_0 \(\leq\) 1 (standard 0.32)
  • alpha_1: The intermediate albedo zone value
    • type: float
    • unit: -
    • value: 0 \(\leq\) alpha_1 \(\leq\) 1 (standard 0.5)
  • alpha_2: The high albedo zone value
    • type: float
    • unit: -
    • value: 0 \(\leq\) alpha_2 \(\leq\) 1 (standard 0.62)
Returns:The latitudinal albedo distribution
Return type:array(floats) (1D)
lowEBMs.Packages.Functions.albedo.smooth(self, T_ref, alpha_f, alpha_i, steepness)

A temperature dependant albedo distribution with tangens hyperbolicus transition. A common approach in climate modelling (for example see North)

The albedo of one latitude is defined by:

\[\alpha(\phi)=\alpha_i-\frac{1}{2}(\alpha_i-\alpha_f)\cdot (1+tanh(\gamma \cdot (T(\phi)-T_{ref})))\]

with the albedo value \(\alpha(\phi)\) and temperature \(T(\phi)\) of latitude \(\phi\), an ice-covered/ice-free albedo value \(\alpha_i / \alpha_f\), the reference temperature of transition \(T_{ref}\) and the steepness of the transition \(\gamma\).

Function-call arguments

Parameters:albedoparam (array) –

albedo distribution parameters [T_ref,alpha_f,alpha_i,steepness]

  • T_ref: Reference transition temperature from ice-free to ice-covered albedo
    • type: float
    • unit: \(Kelvin\)
    • value: > 0 in Kelvin (standard 273.15)
  • alpha_i: The ice-covered albedo value
    • type: float
    • unit: -
    • value: 0 \(\leq\) alpha_i \(\leq\) 1 (standard 0.7)
  • alpha_f: The ice-free albedo value
    • type: float
    • unit: -
    • value: 0 \(\leq\) alpha_f \(\leq\) 1 (standard 0.3)
  • steepness: The steepness of albedo transition (\($\gamma$\))
    • type: float
    • unit: \(Kelvin^{-1}\)
    • value: 0 \(\leq\) steepness \(\leq\) 1 (standard 0.3)
Returns:The latitudinal albedo distribution
Return type:float / array(floats) (0D / 1D)
lowEBMs.Packages.Functions.albedo.dynamic_sel(self, Z, b)

A albedo distribution with linear temperature dependence. Approach as used by Sellers.

The albedo of one latitude is defined by:

\[\begin{split}&T_g(\phi)=T(\phi)-0.0065\cdot Z (\phi) \\ If \quad & T_g(\phi)<283.15: \quad \alpha(\phi)=b(\phi)-0.009\cdot T_g(\phi) \\ If \quad & T_g(\phi)> 283.15: \quad \alpha(\phi)= b(\phi)-2.548\end{split}\]

with the albedo value \(\alpha(\phi)\) (maximum of 0.85) and temperature \(T(\phi)\) of latitude \(\phi\), the altitude weighted temperature \(T_g\) with the zonal mean altitude \(Z(\phi)\) and empirical constants \(b(\phi)\).

Function-call arguments

Parameters:albedoparam (array) –

albedo distribution parameters [Z,b]

  • Z: Zonal mean altitude (provided by Configuration.add_sellersparameters)
    • type: array(float)
    • unit: \(Kelvin \cdot meter^{-1}\)
    • value: > 0
  • b: Empirical constant to estimate the albedo (provided by Configuration.add_sellersparameters)
    • type: float
    • unit: -
    • value: > 0
Returns:The latitudinal albedo distribution
Return type:array(floats) (1D)