DisORT++ Documentation

DisORT++ is a modern C++17 implementation of the DISORT (Discrete Ordinates Radiative Transfer) algorithm. It solves the radiative transfer equation in a plane-parallel or pseudo-spherical atmosphere, computing fluxes, mean intensities, and angular intensities at arbitrary optical depths and directions.

DisORT++ provides two solver interfaces:

  • DisortSolver – the general-purpose solver supporting full intensity calculations, user-specified output angles, BRDF surface models, and multiple intensity correction methods.

  • DisortFluxSolver – a performance-optimised flux-only solver with compile-time stream counts, delivering 30–50 % faster execution for flux-only applications.

Both solvers are accessible from C++ and Python (via pybind11 bindings).

Features

  • Discrete-ordinate method with arbitrary even stream count

  • Henyey-Greenstein, Rayleigh, and tabulated phase functions

  • Delta-M and Delta-M+ scaling for forward-peaked scattering

  • Thermal emission with Planck-function integration

  • Lambertian and BRDF surface reflection (RPV, Cox-Munk, Ambrals, Hapke)

  • Plane-parallel and pseudo-spherical beam geometry

  • Nakajima-Tanaka and Buras-Emde intensity corrections

  • Spectral loop functions with OpenMP parallelisation for efficient multi-wavenumber calculations

  • Python bindings via pybind11

Contents

Indices and tables