Gray longwave radiation

Introduction

climt provides an idealised gray longwave radiation scheme — the standard choice for aquaplanet and dynamical-core experiments where a full band model like RRTMG or Cork is more than the experiment needs. It comes as a matched pair of components:

  • Frierson06LongwaveOpticalDepth — a DiagnosticComponent that prescribes the longwave optical depth as an analytic function of latitude and pressure, following Frierson et al. (2006).
  • GrayLongwaveRadiation — a TendencyComponent that solves the two-stream gray longwave radiative transfer for that optical depth and returns the resulting heating-rate tendency and up/down fluxes.

They are designed to run together: Frierson06LongwaveOpticalDepth produces longwave_optical_depth_on_interface_levels, which GrayLongwaveRadiation consumes. You can also supply your own optical-depth field and use GrayLongwaveRadiation alone.

Frierson06LongwaveOpticalDepth

Physics

The optical depth is prescribed analytically. A reference optical depth \(\tau_0\) interpolates between an equatorial and a polar value with the sine- squared of latitude:

\[ \tau_0(\phi) = \tau_{0e} + (\tau_{0p} - \tau_{0e})\, \sin^2\phi, \]

and its vertical structure is a blend of a linear and a quartic term in the pressure coordinate \(\sigma = p/p_s\):

\[ \tau(\phi, \sigma) = \tau_0(\phi)\,\big[\,1 - (f_l\,\sigma + (1 - f_l)\,\sigma^4)\,\big]. \]

The quartic term concentrates optical depth in the lower troposphere (representing water-vapour absorption), while the linear term \(f_l\) adds a well-mixed (CO₂-like) contribution. The larger equatorial optical depth produces a stronger greenhouse effect in the tropics.

Constructor

climt.Frierson06LongwaveOpticalDepth(
    linear_optical_depth_parameter=0.1,
    longwave_optical_depth_at_equator=6,
    longwave_optical_depth_at_poles=1.5)
Argument Default Symbol Description
linear_optical_depth_parameter 0.1 \(f_l\) Weight of the linear (well-mixed) vs quartic (water-vapour-like) vertical profile.
longwave_optical_depth_at_equator 6 \(\tau_{0e}\) Reference optical depth at the equator.
longwave_optical_depth_at_poles 1.5 \(\tau_{0p}\) Reference optical depth at the poles.

State

Role Quantity Dims Units
in air_pressure_on_interface_levels [interface_levels, *] Pa
in surface_air_pressure [*] Pa
in latitude [*] degrees_N
diag longwave_optical_depth_on_interface_levels [interface_levels, *] dimensionless

GrayLongwaveRadiation

Physics

Given the optical-depth profile, GrayLongwaveRadiation solves the two-stream gray longwave equations. The atmosphere is treated as a single (gray) band whose emission is \(\sigma T^4\) (Stefan–Boltzmann) at each level. Integrating the Schwarzschild equation upward and downward through the optical-depth coordinate gives the upwelling and downwelling fluxes, with the surface emitting at \(\sigma T_{\text{surface}}^4\) as the lower boundary. The flux divergence between interfaces is converted to an air-temperature tendency.

State

Role Quantity Dims Units Alias
in longwave_optical_depth_on_interface_levels [interface_levels, *] dimensionless tau
in air_temperature [mid_levels, *] degK sl
in surface_temperature [*] degK T_surface
in air_pressure [mid_levels, *] Pa p
in air_pressure_on_interface_levels [interface_levels, *] Pa p_interface
tendency air_temperature [mid_levels, *] degK s^-1
diag downwelling_longwave_flux_in_air [interface_levels, *] W m^-2 lw_down
diag upwelling_longwave_flux_in_air [interface_levels, *] W m^-2 lw_up
diag air_temperature_tendency_from_longwave [mid_levels, *] degK day^-1

Example

The two components compose directly — run the optical-depth diagnostic, then the radiation tendency:

import climt
from climt import get_default_state, get_grid

optical_depth = climt.Frierson06LongwaveOpticalDepth()
radiation = climt.GrayLongwaveRadiation()

state = get_default_state([optical_depth, radiation],
                          grid_state=get_grid(nx=1, ny=1, nz=30))

state.update(optical_depth(state))              # sets the optical-depth field
tendencies, diagnostics = radiation(state)      # gray LW heating + fluxes
print(diagnostics["air_temperature_tendency_from_longwave"].values)

To use a custom optical depth, populate longwave_optical_depth_on_interface_levels yourself and skip Frierson06LongwaveOpticalDepth.

Source

Reference

Frierson, D. M. W., Held, I. M. & Zurita-Gotor, P. (2006). A gray-radiation aquaplanet moist GCM. Part I. J. Atmos. Sci. 63, 2548–2566.