Albedo and emissivity

Warning

This page is a work in progress. If you have any questions or notice any errors, please raise an issue.

Overview

Albedo is the fraction of incident shortwave radiation reflected back to space:

\[\begin{equation} \alpha = \frac{\text{SW}_{\uparrow}}{\text{SW}_{\downarrow}} \end{equation}\]

where $S_{\uparrow}$ is the reflected (upwelling) shortwave and $\text{SW}_{\downarrow}$ is the incident (downwelling) shortwave. Albedo ranges from 0 (perfectly absorbing) to 1 (perfectly reflecting).

Variability of albedo and emissivity

Albedo can depend on multiple factors:

  • Surface type: Snow (0.7–0.9, highly reflective), vegetation (0.1–0.3), bare soil (0.2–0.4), water (0.05–0.15)
  • Soil moisture: Darker, wetter soils have lower albedo
  • Vegetation density: Denser vegetation lowers albedo
  • Snow age: Fresh snow is bright; aging snow darkens with deposition of impurities and increases in grain size

Emissivity is the efficiency with which the surface emits thermal (longwave) radiation:

\[\begin{equation} \epsilon = \frac{L_{\uparrow}}{\sigma T_0^4} \end{equation}\]

where $L_{\uparrow}$ is the total upwelling longwave radiation (including both surface emission and reflection of incident longwave), and $\sigma T_0^4$ is the blackbody emission at skin temperature $T_0$.

Most natural surfaces behave fairly similarly to black bodies with emissivity ~0.9. However, snow and water covered surfaces tend to have higher emissivity (>0.95) while certain types of rock and manmade surfaces are known to have lower emissivities.

The total upwelling longwave includes both surface emission and reflection: $L_{\uparrow} = \epsilon \sigma T_0^4 + (1-\epsilon) L_{\downarrow}$

Implementations

Terrarium currently provides three simple formulations of albedo and emissivity. The simplest scheme is ConstantAlbedo which treats both albedo and emissivity as spatially and temporally constants parameters:

Terrarium.ConstantAlbedo — Type
struct ConstantAlbedo{NF} <: Terrarium.AbstractAlbedo{NF}

Properties:

  • albedo::Any: Surface albedo, i.e. ratio of outgoing to incoming shortwave radiation

  • emissivity::Any: Surface emissivity, i.e. fraction of thermal radiation emitted from the surface

source

Alternative, they can be prescribed as user-specified input fields via PrescribedAlbedo:

In the case where they are prescribed, they are permitted to vary in time and/or space at the discretion of the user and/or the corresponding InputSource. However, their values will not be derived from the model state and thus could lead to inconsistencies.

Finally, DiagnosticAlbedo, the default scheme of SurfaceEnergyBalance, diagnoses albedo and emissivity from the model state as an area-weighted blend of bare ground, vegetation, and snow: $\alpha = (1 - f_{\text{snow}})(1 - f_{\text{veg}}) \alpha_{\text{bg}} + (1 - f_{\text{snow}}) f_{\text{veg}} \alpha_{\text{veg}} + f_{\text{snow}} \alpha_{\text{snow}}$ and likewise for the emissivity $\epsilon$. Here $f_{\text{veg}}$ is the vegetated area fraction given by the vegetation component, which is either diagnosed from the leaf area index relative to its maximum, $\min(\text{LAI} / \text{LAI}_{\max}, 1)$, or taken from the prognostic vegetation coverage fraction when vegetation dynamics are enabled. $f_{\text{snow}}$ is the snow-covered area fraction of the snow component; snow-covered bare and vegetated areas are assumed to share the same snow albedo and emissivity. Without a vegetation or snow component, the corresponding fraction is zero.

Terrarium.DiagnosticAlbedo — Type
struct DiagnosticAlbedo{NF} <: Terrarium.AbstractAlbedo{NF}

Diagnosed surface albedo and emissivity. The values are computed in compute_auxiliary! as an area-weighted blend of bare ground, vegetation, and snow, α = (1 − f_snow)·(1 − f_veg)·α_bg + (1 − f_snow)·f_veg·α_veg + f_snow·α_snow (and likewise for emissivity), where f_veg is the vegetated area fraction of the optional vegetation component and f_snow the snow-covered area fraction of the optional snow component passed to compute_auxiliary!. Snow-covered bare and vegetated areas are assumed to share the same snow albedo and emissivity. Without a vegetation or snow component (nothing), the corresponding fraction is zero.

Properties:

  • background_albedo::Any: Snow- and vegetation-free (background) albedo of bare ground

  • background_emissivity::Any: Snow- and vegetation-free (background) emissivity of bare ground

source

Methods

Terrarium.albedo — Function
albedo(i, j, grid, fields, ::AbstractAlbedo)

Return the current albedo at the given indices.

source
albedo(i, j, grid, fields, albedo::ConstantAlbedo)

Return the surface albedo at grid point i, j.

source
Terrarium.emissivity — Function
emissivity(i, j, grid, fields, ::AbstractAlbedo)

Return the current emissivity at the given indices.

source
emissivity(i, j, grid, fields, albedo::ConstantAlbedo)

Return the surface emissivity at grid point i, j.

source

Kernel functions

Terrarium.compute_albedo! — Function
compute_albedo!(
    out,
    i,
    j,
    grid,
    fields,
    albedo::DiagnosticAlbedo,
    vegetation::Union{Nothing, Terrarium.AbstractVegetation},
    snow::Union{Nothing, Terrarium.AbstractSnow},
    args...
)
source