Boundary conditions and intensity reconstruction
Once the layer operators are known, the radiation field is fixed by the two external boundary conditions and reconstructed at every internal interface.
Top of atmosphere
The downward diffuse intensity at the top of the atmosphere is set to the user-supplied isotropic emission field:
In thermal mode this is the Planck function at the topmost level,
\(B(T_0)\), unless a separate top-boundary temperature is set (for example
top_temperature = 0 for cold space, matching DisORT’s default of no
downwelling). In non-thermal mode it is the raw value top_emission.
Lambertian surface
A Lambertian surface with albedo \(\alpha\) and thermal emission \(B_\mathrm{surf}\) is represented as an extra layer with
where \(c = 1/(2\sum_j \mu_j w_j)\) is a quadrature-correction factor that enforces energy conservation. The solar surface source is
with \(\tau^*\) the total (possibly delta-M scaled) optical depth of the atmosphere above the surface.
Diffusion lower boundary condition
For stellar-atmosphere applications where the deepest level is not a physical surface but an optically thick interior, a diffusion-approximation lower boundary can be used instead of a Lambertian surface. The upward intensity at the lower boundary is then set to
with the Planck gradient estimated from the bottom two levels,
When this boundary condition is active, no surface layer is added to the stack.
It is enabled with use_diffusion_lower_bc and requires either
use_thermal_emission or explicit planck_levels.
Intensity at internal interfaces
Composites are built from the top down (rtop) and from the bottom up
(rbase). At each internal interface, the layer stack above it
(rtop) and below it (rbase) are matched by solving for the upward and
downward intensities:
where the source vectors include both the thermal and the solar contributions. The matrices \((\mat{I} - \mat{R}\mat{R})\) are temperature-independent, so their LU factorisations can be cached and reused when computing the temperature Jacobian (Analytic temperature Jacobians).
Fluxes and mean intensity
The upward and downward diffuse hemispheric fluxes at each interface are
The direct solar beam is tracked separately:
with \(\tau^*_k\) the (possibly delta-M scaled) optical depth of layer \(k\). The total net flux is \(F_\mathrm{net} = F^{\uparrow} - F^{\downarrow} - F_\mathrm{direct}\).
The actinic mean intensity \(J\) follows from the half-range quadrature,
Following the DisORT convention, \(J\) is the full actinic mean
intensity, including the collimated direct beam contribution
\(F_\mathrm{direct}/(4\pi\mu_0)\). The diffuse-only mean intensity is
recovered as mean_intensity - flux_direct / (4*pi*solar_mu).
Flux divergence (heating rate)
The net flux divergence at each level is
where \(\omega\) is the unscaled single-scattering albedo. Following DisORT, each interface uses the albedo of the layer immediately above it (the top-of-atmosphere level uses the topmost layer). This quantity is the radiative heating rate per unit optical depth and is the basis of the heating-rate Jacobian (Analytic temperature Jacobians).