Articles | Volume 19, issue 19
https://doi.org/10.5194/gmd-19-9677-2026
https://doi.org/10.5194/gmd-19-9677-2026
Model description paper
 | 
12 Oct 2026
Model description paper |  | 12 Oct 2026

MONKI: a three-dimensional Monte Carlo simulator for transfer of polarised light in planetary atmospheres

Victor J. H. Trees, Ping Wang, Job I. Wiltink, Piet Stammes, Daphne M. Stam, David P. Donovan, and A. Pier Siebesma
Abstract

Spectropolarimetry is a powerful tool for characterising planetary atmospheres and surfaces. For the design and operation of spectro(polari)metric instrumentation, numerically simulated signals of the measured radiation are essential. We present MONKI (Monte Carlo KNMI), an efficient and accurate Monte Carlo radiative transfer code written in Fortran. MONKI computes total, linearly polarised, and circularly polarised radiances reflected by and transmitted through planetary atmospheres, fully accounting for the polarisation of light in all orders of scattering. Unlike classical Monte Carlo approaches that rely on post-sampling weight corrections and can therefore produce rare but disproportionately large photon weights, MONKI samples scattering directions from the full polarisation-dependent distribution, consistently in both forward and backward Monte Carlo modes. We provide the corresponding theoretical framework in the appendices. Because of this exact polarised sampling approach, the code converges robustly for optically thick and/or strongly polarising atmospheres. MONKI can handle horizontally homogeneous atmospheres as well as atmospheres with horizontal inhomogeneities, such as three-dimensional (3D) patchy clouds. We validate MONKI through comparisons with other radiative transfer codes. Finally, we present sample simulations of sunlight reflected by the Earth and Venus, and explain the total and polarised radiance features by analysing the altitudes at which photons are scattered. We conclude that MONKI is a versatile and accurate tool for simulations and detailed analyses of total and polarised light emerging from the atmospheres of the Earth, Venus, and, in principle, any other planet.

Share
1 Introduction

Sunlight and, more generally, starlight from solar-type stars, can be considered to be unpolarised when integrated over the disk (Kemp et al., 1987). This light becomes (partially) polarised when it is scattered by the particles constituting a planetary atmosphere. Measuring the degree of polarisation, P, of the scattered light, i.e., the fraction of polarised radiance with respect to the total radiance, is a powerful tool to characterise planetary atmospheres because the scattering angle and wavelength dependence of P are very sensitive to the composition, size, and shape of the scattering particles (Hansen and Travis, 1974). If a planetary atmosphere is bounded below by a surface, light that has been reflected by the surface can also influence the polarisation of the light that is reflected by the planet at the top of the atmosphere (TOA), depending on optical properties of the surface. In particular, Fresnel reflection by liquid surfaces (water on Earth, but hydrocarbons on Titan) or leaves of vegetation can strongly polarise the light (see e.g. Mishchenko and Travis, 1997; Vanderbilt et al., 1985). Additionally, since P is a relative measure, it is insensitive to various instrumental errors and to uncertainties in the total flux of the light that is incident at TOA.

An example of an Earth-observation satellite instrument dedicated to measuring the degree of polarisation was the POLarisation and Directionality of the Earth's Reflectances (POLDER) imager (Deschamps et al., 1994). With multi-angular polarisation observations across three spectral bands, it provided an alternative for the retrieval of cloud droplet sizes to traditional methods that relied solely on total radiances (Breon and Doutriaux-Boucher, 2005), and improved the capability to characterise aerosols above liquid water clouds (Waquet et al., 2013). In February 2024, NASA launched the Plankton, Aerosol, Cloud, Ocean Ecosystem (PACE) satellite (Werdell et al., 2019), carrying the Hyper-Angular Rainbow Polarimeter-2 (HARP-2) (McBride et al., 2024) and the SPEXone spectropolarimeter (van Amerongen et al., 2019), enabling accurate global polarisation measurements of aerosols and clouds to better quantify their impact on radiative forcing. On 13 August 2025, the MetOp-SG-A1 (Meteorological Operational Satellite – Second Generation A1) was launched successfully carrying the Multi-Viewing Multi-Channel Multi-Polarisation Imaging (3MI) instrument (Marbach et al., 2015), and the Multi-Angle Polarimeter (MAP) on the Copernicus Anthropogenic Carbon Dioxide Monitoring (CO2M) mission is scheduled for launch in 2027 (Spilling and Thales, 2021).

Polarimetry has also proven its strength in characterising other solar system bodies than the Earth (see Bagnulo et al., 2024, and references therein). A famous example is the characterisation of Venus's main cloud deck by Hansen and Hovenier (1974), who found that the droplets consist of a ∼ 75 % H2SO4 mixture with water, and that their sizes are described by a narrow distribution and effective radii of ∼ 1 µm. They achieved this characterisation using ground-based polarisation measurements of Venus (spatially unresolved, thus integrated across the planet's disk) at a number of wavelengths and a range of planetary phase angles (that is, the angles between Earth, Venus and the Sun) collected over decades by several different observers. ESA's upcoming Venus orbiter EnVision (Ghail et al., 2021), planned for launch in 2032, will carry VenSpec-H (Neefs et al., 2025), a near-infrared spectrometer that will include polarisation filters. These filters will be used to correct for VenSpec-H's polarisation sensitivity (i.e. like with many spectrometers, the instrument response depends on the polarisation of the observed light) and can also be used to characterise Venus's clouds and hazes in unprecedented detail. Beyond our solar system, polarimetry has been proposed to detect liquid water clouds (Stam, 2008; Karalidi et al., 2011; Rossi et al., 2022) and liquid water oceans (Trees and Stam, 2019, 2022) on exoplanets, for example with NASA's upcoming space-borne Habitable Worlds Observatory (HWO) (Vaughan et al., 2023).

Radiative transfer simulations of reflected (polarised) light are essential for spectro(polari)meters on space missions. Simulations (1) help explore the observational parameter space during the design phase, (2) serve as sample signals for the development of end-to-end data simulations, and (3) form the core of atmospheric retrieval algorithms during space mission operations. For instruments that are polarisation sensitive, simulations are used to estimate the impact of the sensitivity on the total radiance measurements. Even for instruments with a polarisation scrambler, such as TROPOMI (Veefkind et al., 2012), accounting for polarisation in radiative transfer simulations remains important for accurate total radiance estimations. This is because atmospheric scattering is only properly described by a (phase) matrix multiplication of the Stokes vector, not by a scalar (phase function) multiplication of the radiance (see Chandrasekhar, 1960; van de Hulst, 1981; Hovenier et al., 2004). Neglecting (linear) polarisation can cause errors of more than 9 % in the computed geometric albedo of planets with Rayleigh scattering atmospheres (Stam and Hovenier, 2005), and up to 10 % in the computed locally reflected radiance for cloud-free atmospheres (Mishchenko et al., 1994) and 8 % in patchy cloudy conditions (Emde and Mayer, 2018), depending on the wavelength and scattering geometry.

Several types of radiative transfer algorithms can simulate both the total and polarised radiances reflected by scattering planetary atmospheres. Classical radiative transfer codes divide the atmosphere into horizontally homogeneous, plane-parallel layers, computing the signal at the top of the atmosphere (TOA) using e.g. the doubling-adding method (de Haan et al., 1987) or the discrete-ordinates method (Chandrasekhar, 1960). Despite advances in radiative transfer simulations and computing power, most satellite retrieval algorithms for aerosols, clouds and trace gases still rely on this horizontally homogeneous approach, due to its simplicity, efficiency, and the limited availability of knowledge about the scene's inhomogeneity. For instance, the aerosol retrieval algorithm of SPEXone applies an independent pixel approximation (IPA), modelling the signal of a partly cloudy pixel as a weighted sum of horizontally homogeneous cloud-free and fully cloudy scenes (see Hasekamp, 2010; Hasekamp et al., 2019).

In reality, planetary atmospheres are usually horizontally inhomogeneous. In particular, 3D cloud structures can cast shadows onto the surface or lower atmospheric layers, and/or scatter light towards cloud-free regions (see, e.g. Marchand and Ackerman, 2004; Marshak and Davis, 2005; Marshak et al., 2006), thus affecting observations from imagers such as MODIS (Wen et al., 2013; Várnai et al., 2013). Furthermore, 3D cloud effects can introduce significant errors in aerosol retrievals, as shown by Stap et al. (2016a, b) and Cornet et al. (2018) for POLDER observations over broken cloud decks. Although spectro(polari)meters typically have larger pixels than imagers, Trees et al. (2022) detected cloud shadows in radiance measurements by the TROPOMI spectrometer which has a pixel size of 5.5 × 3.5 km2 in the nadir viewing direction. As the spatial resolution of spectro(polari)metric instruments continues to increase, understanding and correcting for these 3D effects becomes increasingly important.

Examples of radiative transfer codes capable of simulating both total and polarised radiances while accounting for the 3D structure of the atmosphere are 3DMCPOL (Cornet et al., 2010; Fauchez et al., 2014), MSCART (Wang et al., 2017, 2019), MYSTIC (Mayer, 2009; Emde et al., 2010), SHDOM (Evans, 1998), and SPARTA (Barlakas et al., 2016). Most of these codes (except SHDOM) use the Monte Carlo method, simulating light as the statistical propagation of photon packets through a model atmosphere. Their simulated total and polarised radiances have been compared (Emde et al., 2018). We note that these codes have primarily been applied to model scenarios on Earth. An example of a polarised 3D radiative transfer code for simulating sunlight reflected by other planets than Earth is the Preconditioned Backward Monte Carlo (PBMC) algorithm of García Muñoz and Mills (2015). Unlike classical Monte Carlo codes, PBMC converges even in optically thick and strongly polarising atmospheres, such as that of Venus, by fully taking into account polarisation of light when sampling scattering directions. Other Monte Carlo codes that also take into account polarisation-dependent sampling of scattering directions are 3DMCPOL (Cornet et al., 2010), SMART-G (Ramon et al., 2019), and the code of Bartel and Hielscher (2000), but only do so in forward mode.

In this paper, we present MONKI (Monte Carlo KNMI), a 3D Monte Carlo code for simulating total and linearly and circularly polarised radiances that are locally reflected or transmitted by planetary atmospheres. MONKI can perform simulations in both forward and backward modes (with reversed photon directions) for horizontally homogeneous and inhomogeneous (3D cloudy) plane-parallel atmospheres. MONKI is designed for versatility, accepting input model atmospheres and surfaces for any planet. For Earth-based applications, MONKI computes atmospheric optical properties identically to DAK (Doubling Adding KNMI) (de Haan et al., 1987; Stammes, 2001) and has already been used to simulate cloud shadow effects in TROPOMI's Absorbing Aerosol Index product (Trees et al., 2025), as well as 3D cloud-radiation effects in satellite-based global horizontal irradiance retrievals (Wiltink et al., 2026). By fully tracking the polarisation state history of photons along their trajectories and sampling scattering directions from the corresponding polarisation-dependent distribution, MONKI converges in both forward and backward modes, including for optically thick and strongly polarising planetary atmospheres. The code has been written in modern Fortran. In addition to presenting the code itself, this paper provides, we believe for the first time, a complete derivation of the underlying forward and backward Monte Carlo equations and polarisation-dependent sampling formulae, thereby offering a unified theoretical framework for readers who wish to understand, validate, or extend polarised Monte Carlo radiative transfer methods.

This paper is organised as follows. In Sect. 2, we describe the MONKI algorithm. In Sect. 3, we validate MONKI through comparisons with results of other radiative transfer codes. In Sect. 4, we show sample simulations of total radiances and the degree of polarisation for locally reflected light from Earth and Venus. In Sect. 5, finally, we provide a summary, discussion, and outlook. The appendices contain detailed explanations of the formulae implemented in MONKI, together with the derivation of the forward and backward Monte Carlo equations for polarised radiative transfer.

2 Method

2.1 Definitions of radiance, reflectance and polarisation

The radiance and polarisation state of a light beam can be described by a Stokes vector (see, e.g., Hansen and Travis, 1974; Hovenier et al., 2004)

(1) I = I , Q , U , V T ,

where I is the total radiance (or intensity), Q and U are the linearly polarised radiances, and V is the circularly polarised radiance. All radiances are expressed in units of W m−2 nm−1 sr−1, where nm−1 indicates the dependence on the wavelength of light, λ, and sr−1 indicates the dependence on the solid angle, Ω. The linearly polarised radiances, Q and U, are defined relative to a reference plane. For example, for light that is reflected locally by the planet, the local meridian plane can be used, which contains the local zenith direction and the direction of light propagation towards the observer (see de Haan et al., 1987). In particular, for Q>0 (Q<0), the direction of polarisation is parallel (perpendicular) to the reference plane. For U>0 (U<0), the direction of polarisation is rotated by +45° (−45°) from the direction parallel to the reference plane, with positive rotations defined as anti-clockwise when looking in the propagation direction of the light. For V>0, there is an excess of right-handed circular polarisation, that is, the electric field vector rotates clockwise when looking in the propagation direction of the light.

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f01

Figure 1The reference system used in MONKI. The z-axis points towards the zenith. The incident light with propagation direction OP is scattered at O into direction OQ over scattering angle Θ. The azimuthal angles for the incident and scattered light are denoted by φ′ and φ, respectively. The zenith angles of the incident and scattered light are ϑ′ and ϑ, respectively. Angles σ1 and σ2 are the angles between the meridian planes of the incident and scattered light, respectively, with OPQ the scattering plane.

Download

The sunlight that is incident at the top of the atmosphere (TOA) of a planet is assumed to be unpolarised (Kemp et al., 1987), and is represented by the flux Stokes vector E0(λ)=E0(λ)1, with

(2) 1 = 1 , 0 , 0 , 0 T ,

and where E0(λ) is the wavelength-dependent total incident solar flux, measured perpendicular to the propagation direction of the light, expressed in W m−2 nm−1. In Earth observation studies, E0(λ) is commonly known as the “irradiance spectrum”. The incident sunlight is assumed to be unidirectional, leading to the following expression for the radiance Stokes vector of the light that is locally reflected by the planetary atmosphere-surface system (thus at TOA) (see Hansen and Travis, 1974)1

(3) I ( μ , μ 0 , φ , φ 0 , λ ) = μ 0 π R ( μ , μ 0 , φ , φ 0 , λ ) E 0 ( λ ) ,

where R denotes the 4 × 4 reflectance matrix of the local atmosphere-surface system. We use the quantities μ=|cosϑ| and μ0=|cosϑ0|, where ϑ (0≤ϑ≤π) and ϑ0 (0≤ϑ0≤π) represent the zenith angles of the propagation directions of the reflected light and the incident direct solar beam, respectively, measured positively from the local zenith (i.e., the z-axis), see Fig. 1. Angles φ (0≤φ≤2π) and φ0 (0≤φ0≤2π) are the corresponding azimuth angles, respectively. They are defined relative to the x-axis of the local Cartesian coordinate system, with the sign convention shown in Fig. 1. For (scattered or unscattered) light that is incident on a particle, we use the notations ϑ′ and φ′ instead of ϑ0 and φ0. In addition, we use θ=arccos (μ) and θ0=arccos (μ0) for the viewing and solar zenith angles, defined between 0 and π/2 with respect to the local normal.

Light in the local atmosphere-surface system usually becomes polarised upon scattering, leading to non-zero values of Q, U, and/or V. From Eq. (3) it follows that the assumption of unpolarised incident sunlight implies that only the first column of R, thus [R11,R21,R31,R41]T, contributes to I. Substituting E0=E01 into Eq. (3), and omitting the explicit dependencies on angles and wavelengths, we arrive at

(4) R 11 R 21 R 31 R 41 = π μ 0 E 0 I Q U V ,

where the element R11 is referred to as the total TOA reflectance, R21 and R31 as the linearly polarised TOA reflectances, and R41 as the circularly polarised TOA reflectance. Those TOA reflectances are independent of E0, and their (angular and wavelength-dependent) values depend on the composition and structure of the local atmosphere and surface. Similar definitions can be derived for the transmittance at the bottom of the atmosphere (BOA), by replacing R in Eq. (3) with T, the 4 × 4 transmission matrix of the local atmosphere-surface system (note that light that is reflected by the surface can be scattered downwards again by the atmosphere – the atmospheric transmission matrix will thus also depend on the properties of the surface, if present).

The polarisation of the reflected or transmitted light beam is quantified by its degree of polarisation P:

(5) P = Q 2 + U 2 + V 2 I .

The degree of polarisation is independent of the choice of reference plane. For observations in the principal plane, i.e. the vertical plane containing the local zenith direction and the incident solar beam, the viewing direction lies in the same vertical plane as the incident radiation. In this case (with relative azimuth angles of 0 or 180°), the principal plane coincides with the scattering plane. If the local atmosphere-surface system is horizontally homogeneous, symmetry implies that U=0, and we can use the signed degree of linear polarisation

(6) P s = - Q / I .

When Ps is positive (negative), the light is polarised perpendicularly (parallel) to the reference plane. Because P and Ps are relative measures, they are both independent of the incoming solar flux E0.

2.2 Model grid and geometrical notation

The coordinate system used in MONKI is Cartesian, with the positive z-axis pointing towards the local zenith and the x- and y-axes oriented horizontally, as shown in Fig. 1. The computational domain of the atmosphere-surface system is discretised on a 3D rectangular grid that is composed of Nx columns in the x direction, Ny columns in the y direction, and Nz layers in the z direction, as illustrated in Fig. 2. All columns have the same horizontal dimensions, which may be square or rectangular, while the layer thicknesses may vary with altitude. Each grid cell may contain a different number and type of scattering particles, as described in Appendix A. The computational domain is periodic in the horizontal directions: light emerging from one horizontal boundary re-enters the domain through the opposite boundary.

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f02

Figure 2Sketches of the 3D computational domain of MONKI with a photon trajectory (red arrows) in forward mode (left) and backward mode (right). Here, the numbers of columns in the x and y directions are Nx=3 and Ny=5, respectively, while Nz=3 is the number of layers. The domain is periodic in the horizontal directions. At every scattering event (i.e. each change in direction of the red arrow), the probability of scattering towards the detector/eye (in forward mode) or towards the light source/Sun (in backward mode) is computed according to the local estimation method (blue arrows).

Download

To indicate in our Monte Carlo simulations the location and direction of a photon that travels through the computational domain, we use the vectors x and ω, that denote position and propagation direction, respectively:

(7) x = x y z , ω = sin ϑ cos φ sin ϑ sin φ cos ϑ .

Here, ϑ and φ are the local zenith and azimuth angles, respectively, as defined in Sect. 2.1 and shown in Fig. 1. Throughout the description of the method, ω denotes a generic photon propagation direction. At a scattering event, we use ω′ for the propagation direction of the photon incident on the scattering particle, and ω for the propagation direction after scattering, consistent with the angular notation in Fig. 1.

The light source (the Sun) and the observer (the detector) are assumed to be sufficiently far from the computational domain that the incident solar beam and the rays towards the detector can be treated as collimated. We denote the entry point of a photon of the incident sunlight at TOA by x0, and its direction of propagation by ω0. Similarly, x• denotes the point where a photon travelling in the detector direction intersects the TOA or BOA boundary, and ω• denotes the propagation direction of light towards the detector. The directions ω0 and ω• are therefore constant throughout the domain. When needed, O denotes the horizontal area of a selected detector grid column at TOA or BOA.

2.3 Calculating the reflected and transmitted sunlight

Given an atmosphere-surface system, MONKI computes the total and polarised radiances reflected at TOA, or transmitted at BOA, using the Monte Carlo method (see, e.g., Marshak and Davis, 2005): photons are traced through the system.2 Since MONKI fully accounts for the polarisation of light, a photon is represented by a normalised Stokes vector, I‾=[1,Q‾,U‾,V‾]T, carrying a weight, w, that represents the probability of “survival” of the photon (i.e., w will become zero upon total absorption). Since I‾ changes along the photon trajectory, its dependence on position, direction, and previous events is omitted for readability. The trajectory of a photon in the forward mode is summarised in the flow diagram in Fig. 3, which is explained below. We refer to Appendices G1 to G7 for the derivation of the forward Monte Carlo equations for polarised light as used in this section. A similar diagram applies for the backward mode, by replacing “detector” with “the Sun” (see Sect. 2.4).

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f03

Figure 3Flow diagram of a photon trajectory in MONKI in forward mode. The boxes in the grey area pertain to the trajectory of the photon through the atmosphere-surface domain, while the boxes in the blue and green areas represent interactions with the atmosphere and surface, respectively.

Download

At the start of a forward simulation for light with a given wavelength λ, photons are injected at TOA at randomly sampled entry points x0, with propagation direction ω0, normalised Stokes vector I‾=1, and weight w=1. Before a photon moves through the domain, the free photon path length d (the straight geometrical distance travelled until an atmospheric event, i.e. scattering or absorption, occurs) is sampled as follows (see Appendix B):

(8) d = - ln ( ξ 1 ) β ,

where ξ1 is a random number in the open interval (0,1), drawn from a uniform distribution. Quantity β is the atmospheric extinction coefficient in m−1, which depends on the vertical optical thickness b and the vertical extent Δz of the grid cell via β=b/Δz. The wavelength dependence and spatial distribution of b across the 3D grid depend on the scattering and absorption optical thicknesses of the gases and aerosol particles in the grid cells (see Appendix A for a description of the model atmosphere). Although all optical properties and radiances generally depend on the wavelength, we omit the λ-notation here. In the current version of MONKI, we only consider elastic scattering processes, that is, for which the wavelength of the light remains invariant.

Next, the free path length d is compared with the distance along the straight photon path to the boundary of the grid cell, to check whether the atmospheric event occurs in the current cell. If so, the photon is moved to the atmospheric event location. If not, the photon is moved along its straight path to the grid cell boundary. The grid cell boundary may be (1) the surface, (2) TOA where the photon leaves the simulation, or (3) the boundary of an adjacent grid cell. In the latter case, the free path length that remains after reaching the boundary is rescaled using the β value of the grid cell that the photon enters.

If an atmospheric event occurs, the photon interacts with one of the atmospheric constituents present in the grid cell: either the gas or one of the Nc aerosol types. To determine which constituent is encountered, we draw a uniformly distributed random number ξ2 between 0 and 1 and solve the following inequality for the constituent type index t (see, e.g., Eq. 18 of Barker et al., 2003):

(9) ∑ t ′ = 1 t - 1 β t ′ β ≤ ξ 2 < ∑ t ′ = 1 t β t ′ β ,

where βt′ is the total extinction coefficient of constituent t′ in the grid cell. Here, the constituents comprise the gas and the Nc aerosol types, and β=∑t′βt′ is the total extinction coefficient of the grid cell. Appendix A explains how this constituent-wise treatment is related to the effective optical properties of a grid cell that contains gas molecules and one or more aerosol types.

In an atmospheric event, the photon is either absorbed or scattered by the constituent that it encounters. The probability of scattering is, by definition, equal to the single-scattering albedo at of that constituent, and that of absorption equals (1−at). Instead of removing the photon from the simulation upon absorption, we apply a more efficient approach: multiplying the photon weight w by at. Thus, if the gas is selected, w is multiplied by am; if aerosol type c is selected, w is multiplied by aca (see Appendix A). If the photon has lost virtually all of its weight3, the photon is removed from the simulation. Otherwise, its contribution to the TOA or BOA signal measured by the detector for this scattering event is computed, as explained below.

Instead of collecting photons within the narrow solid angle subtended by the detector, MONKI uses the more efficient “local estimation method” (Marchuk et al., 1980; Marshak and Davis, 2005), a standard approach in Monte Carlo radiative transfer algorithms (see, e.g., Spada et al., 2006; Mayer, 2009; Deutschmann et al., 2011). In this method, the photon is used to simulate the signal contributions of all atmospheric scattering and surface reflection events along the photon's trajectory. Suppose that we have a detector towards the direction ω•. For an atmospheric event involving constituent type t, the contribution to the TOA or BOA signal measured by the detector is expressed by the column vector W:

(10) W ( ω • ) = w ⋅ 1 4 π Z t ( x , ω • , ω ′ ) ⋅ I ‾ ′ ⋅ exp - ∫ 0 s • β ( x + s ′ ω • ) d s ′ ,

where the exponential term represents the direct transmittance along the straight path s′ in direction ω•, from the location x of the considered event (s′=0) to the detector boundary (s′=s•), and Zt/(4π) is the normalised 4×4 phase matrix of the selected constituent type, describing the scattering of the event's incident normalised Stokes vector I‾′ in direction ω′ towards the detector in direction ω•. The extinction coefficient β in the transmittance term is the total extinction coefficient of the atmospheric mixture along the path. MONKI can, in practice, compute the result of Eq. (10) simultaneously for multiple viewing zenith angles ϑ• given a viewing azimuth angle φ•.

For the selected atmospheric constituent type t, the phase matrix is computed as

(11) Z t ( x , ω • , ω ′ ) = L ( - σ 2 ) F t ( x , Θ ) L ( - σ 1 ) ,

where Ft is the single-scattering matrix of the selected constituent, i.e. the gas or one of the aerosol types at x (see Appendix A). Matrix Ft depends on the scattering angle Θ=arccos(ω•⋅ω′) (see Fig. 1) and on λ. Matrix L is the 4 × 4 rotation matrix that transforms the Stokes vector between different reference planes (see Hovenier and van der Mee, 1983):

(12) L ( α ) = 1 0 0 0 0 cos 2 α sin 2 α 0 0 - sin 2 α cos 2 α 0 0 0 0 1 .

Rotation angle α is positive in the anti-clockwise direction when viewed along the propagation direction of the light. Specifically, angles −σ1 and −σ2 in Eq. (11) are the angles required to rotate the reference plane from the local meridian plane of the incident beam to the local meridian plane of the scattered beam (see Fig. 1). For a given incident photon direction and selected atmospheric constituent, matrix Zt thus generally depends on the two angles that describe the detector direction ω•, namely ϑ• and φ•.

If the photon reaches the surface, w is multiplied by the surface albedo, As, which equals the probability of reflection by the Lambertian surface. The value of As can depend on λ. If the photon retains enough weight (see footnote 3) and the detector is at TOA, the surface reflection contribution to the TOA signal is computed, again using Eq. (10). For As>0, the atmospheric scattering factor Zt/(4π) in Eq. (10) is replaced by:

(13) μ • π 1 A s R L = μ • / π 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ,

where μ•=|cosϑ•|, with ϑ• the zenith angle corresponding to the detector direction ω•. The factor μ•/π corresponds to the probability density function of the Lambertian surface reflection direction (see Eq. C3), and RL is the 4×4 Lambertian surface reflection matrix, which is filled with zeros except for its upper left element which equals As (see Eq. 13). The division by As is necessary because, as explained above, the multiplication by As is already included in w.

After computing the event's contribution to the TOA or BOA signal, the new propagation direction of the photon, ω, is sampled from the probability density function of the atmospheric scattering or surface reflection direction. To sample this new direction, we apply either the inverse transform method or the acceptance-rejection method, depending on the type of event, fully accounting for the photon's state of polarisation along its trajectory (see Appendices C, D, E, and F for details on those methods and the choice of method). For the continuation of the photon's trajectory after an atmospheric event, its Stokes vector is adjusted as follows (see Appendix G7):

(14) I ‾ = Z t ( x , ω , ω ′ ) I ‾ ′ Z t ( x , ω , ω ′ ) I ‾ ′ 1 ,

where I‾′ is the normalised Stokes vector before the event, and Zt is computed for the newly sampled propagation direction ω and the incident direction ω′. The division by the first element, indicated by […]1, of the scattered Stokes vector is necessary for normalisation. Indeed, in this way the first element of I‾ remains equal to 1.0, as the directional dependence of I is already taken care of in the sampling of the new photon direction, while the probability of scattering instead of absorption at an atmospheric event is captured by w. For a surface event, we set I‾=1, because the Lambertian reflection fully depolarises the photon, while the probability of surface reflection instead of absorption is captured by the multiplication of w by As.

Next, a new free path length d is sampled using Eq. (8) in case of an atmospheric event, or the remaining free path length is computed in case of a surface event. The photon continues its trajectory, where it again may be (partially) absorbed or scattered, or reflected by the surface.

Finally, the detector radiance Stokes vector in the direction ω• and at wavelength λ, for a given grid column and averaged over its horizontal area O at TOA or BOA, is computed using the unbiased estimator (see also Appendix G10):

(15) I ( O , ω • ; ω 0 ) ≈ μ 0 μ • E 0 N ∑ j = 1 N x N y ∑ i = 1 N ∑ n = 1 M i , j W n , i , j χ n , i , j , where χ n , i , j = 1 , if  x n , i , j • ∈ O , 0 , otherwise.

The summation is performed over all Mi,j scattering and surface reflection events of all N photons injected into each of the Nx×Ny grid columns at TOA. By default, MONKI assumes E0=π. Vector Wn,i,j denotes the local-estimation contribution of event n of photon i injected in source column j towards the detector direction ω• (Eq. 10), and the indicator function χn,i,j selects only those contributions whose straight detector path intersects TOA or BOA within the horizontal area O of the considered grid column, at location xn,i,j•. Thus, photons injected in grid columns other than the considered one can also contribute to its signal. The factor μ0/μ• accounts for the conversion between the horizontal source and detector areas associated with the same scattering volume element (see Appendix G6). The explicit dependence of I on the horizontal area O is only relevant for horizontally inhomogeneous scenes, where the estimator yields the radiance Stokes vector averaged over that area. For horizontally homogeneous scenes, this dependence vanishes because the same radiance is obtained everywhere within O.

2.4 Backward Monte Carlo simulation

MONKI can be used in both forward and backward modes. In backward mode, photon paths are traced from the detector towards the light source (the Sun), as illustrated in Fig. 2. The detector radiance Stokes vector is again computed using the local estimation method, here with the option to evaluate multiple solar zenith angles ϑ0 at a fixed solar azimuth angle φ0 simultaneously.

The backward mode is particularly useful when the detector is at a finite distance from, or even inside, the atmosphere-surface system. Although this application is not treated in the present paper, it is important for future extensions of MONKI to spherical atmospheres in combination with a detector at a finite distance. In such cases, the path from a scattering event to the detector depends on the location of the event, and the detector cannot be represented by a single collimated viewing direction throughout the domain. Consequently, in forward mode, only a small fraction of photons launched from the source would reach the detector's field of view, severely limiting the code's efficiency. In backward mode, by contrast, photons are launched from the detector, so that all traced photon paths lie within its field of view. Assuming collimated illumination from a light source at infinite distance, every backward-traced photon that is not completely absorbed can, in principle, be connected to the source direction and therefore contributes to the local estimate. We refer to Appendix G8 for the derivation of the backward Monte Carlo equations for polarised light as used in this section.

According to the reciprocity principle (see Sect. 2.4 of Hovenier et al., 2004), reversing a light path through a medium preserves the reflectance and transmittance along the original path. In practice, this principle allows swapping the light source and detector in a radiative transfer simulation and launching photons in the reverse direction. In the following, we continue to use ω′ and ω for the incident and scattered propagation directions in the associated forward trajectory. Thus, along the backward trajectory, the photon arrives at the current event from the detector side with propagation direction −ω, and leaves the event towards the source side with propagation direction -ω′. Reversing both propagation directions leaves the scattering angle Θ=arccos((-ω)⋅(-ω′))=arccos(ω⋅ω′) unchanged.

At atmospheric events in the backward mode, the interacting constituent type t is selected in the same way as in the forward mode, and the photon weight is multiplied by the corresponding single-scattering albedo at. Because MONKI accounts for polarisation, the orientation of the Stokes vector must be mirrored relative to the reference plane when tracing the reversed photon trajectory. That is, the phase matrices used in the reversed light path do not give the desired result (which is the scattered radiance in the forward light path), and must be corrected as follows (see Eq. 3.37 of Hovenier et al., 2004)4:

(16) Z t ( x , ω , ω ′ ) = Δ 3 Z t ( x , - ω ′ , - ω ) T Δ 3 ,

where the minus signs indicate reversed propagation directions, the superscript T denotes the transpose, and Δ3 is given by

(17) Δ 3 = 1 0 0 0 0 1 0 0 0 0 - 1 0 0 0 0 1 .

In the backward mode, the normalised unpolarised incident Stokes vector, 1=[1,0,0,0]T, must be multiplied by the phase matrices at the end of the photon trajectory. That is, the event's contribution to the TOA or BOA signal measured by the detector is computed as follows:

(18) W bw ( ω 0 ) = w ⋅ M ‾ ⋅ 1 4 π Z t ( x , ω 1 , ω 0 ) ⋅ 1 ⋅ exp - ∫ 0 s 0 β ( x - s ′ ω 0 ) d s ′ ,

where the direct transmittance is calculated in direction −ω0 from the event location x (s′=0) to the entry location of the solar beam (s′=s0). Matrix M‾ is the 4×4 normalised detector-response matrix, which contains the cumulative polarisation transformation between the current event and the detector, and its path dependence is omitted from the notation. The phase matrix Zt(x,ω1,ω0) in Eq. (18) describes the first scattering event of the associated forward trajectory, from the sunlight direction ω0 into the direction ω1. Along the backward trajectory, this same event is encountered in reverse, from −ω1 towards −ω0. Therefore the phase matrix is obtained from the reversed one using the reciprocity correction of Eq. (16). For a surface event, the atmospheric phase-matrix factor Zt/(4π) is replaced by the corresponding Lambertian surface-reflection factor, analogous to Eq. (13).

After computing the event's contribution to the TOA or BOA signal, the new upstream direction of the backward-traced photon, -ω′, is sampled from the polarisation-dependent probability density function of the scattering direction, now using the propagated matrix M‾ (see Appendix G8). At the start of the backward simulation at the detector, M‾ is initialised as the identity matrix. It is updated at each event to retain the full polarisation history accumulated along the backward photon trajectory as follows (Appendix G8):

(19) M ‾ ′ = M ‾ Z t ( x , ω , ω ′ ) M ‾ Z t ( x , ω , ω ′ ) 1 1 .

Here, −ω is the propagation direction of the backward-traced photon on the detector side of the current event, and M‾′ denotes the updated detector-response matrix after sampling the new upstream propagation direction on the source side, -ω′. Note that the right-multiplications by Zt in Eq. (19) for all events are applied before the multiplication by 1 in Eq. (18) (see also Collins et al., 1972). For a surface event, the detector-response matrix is updated analogously, using the corresponding Lambertian surface-reflection matrix instead of the atmospheric phase matrix.

Finally, the detector radiance Stokes vector in the direction ω• and at wavelength λ, for a given grid column and averaged over its horizontal area O at TOA or BOA, is computed by the unbiased estimator (see Appendix G10):

(20) I ( O , ω • ; ω 0 ) ≈ E 0 N ∑ i = 1 N ∑ n = 1 M i W n , i bw ,

where the summation is performed over all Mi scattering and surface reflection events of all N photons launched uniformly over the horizontal area O of the considered grid column at TOA or BOA, and again E0=π by default. Here, Wn,ibw denotes the backward local-estimation contribution of event n of photon i (Eq. 18). In contrast to the forward mode (Eq. 15), no factor μ0/μ•, no indicator function χ, and no additional sum over the Nx×Ny source columns appear, because in backward mode the estimator is written directly for photons launched from and averaged over the same detector area O of the considered grid column (see Appendix G10).

2.5 Precomputation of optical paths to the detector

The extinction coefficient β in Eq. (10) depends on the position s′ along the straight path between the event location and the detector boundary. Coefficient β may vary across grid cells within the 3D domain. Moreover, the lengths of the different path segments within each grid cell depend on both the location of the event and the detector direction ω•. The integral in Eq. (10) can be numerically evaluated by propagating the photon from the event location to the detector boundary, obtaining β and the path segment length for each grid cell.

This evaluation is computationally expensive, as it must be performed for all events of each photon and every viewing zenith angle of the detector. However, if the path to the detector passes through atmospheric grid cells that have the same optical properties in the horizontal directions, the horizontal cell boundaries can be neglected along this path, as only the extinction coefficient β and the path segment length per layer are relevant. If the event occurs at the bottom boundary of a layer, while the detector is above TOA, then Eq. (10) simplifies to:

(21) W ( ω • ) = w ⋅ 1 4 π Z t ( x , ω • , ω ′ ) ⋅ I ‾ ′ ⋅ exp - 1 μ • ∑ k = k * N z β k Δ z k ,

where k* denotes the index of the layer where the event happens and Δzk/μ• is the path segment length through layer k in the direction from the event to the detector. Note that 1μ•∑k=k*NzβkΔzk can be computed for each k* and μ• prior to simulating the photon trajectories. If the event occurs within the atmosphere and not exactly at a layer boundary (as is most often the case), the photon is first propagated by a distance Δs towards the detector until it reaches the nearest layer boundary. The term βk*Δs is then added to 1μ•∑k=k*+1NzβkΔzk. A similar approach applies for a detector below BOA. An analogous expression can be derived for the backward mode, by precomputing the optical path from the event towards the sunlight-entry boundary.

In 3D cloudy scenes, there are still many cloud-free paths between atmospheric or surface events and the detector, for example, when events occur in atmospheric layers above the clouds or between patchy clouds. For every grid cell, we precompute whether straight paths to the detector are cloud- and aerosol-free from all cell corners as well as for several points within each cell. If these paths pass through gas only, the grid cell is flagged. Assuming that the gas is horizontally homogeneous, we use Eq. (21) for events in the flagged cells, eliminating the need to propagate photons between the event locations and the detector boundary. This approach is computationally more efficient compared to evaluating Eq. (10), while its results are identical.5

2.6 Simulation rounds and noise estimation

The computation of the detector radiance Stokes vector with Eq. (15), or Eq. (20) in backward mode, using N photons per column is called one simulation round. In practice, we perform Nr independent rounds, so that in total NrN photons per column are used. Let Ir denote the estimate of the first Stokes component obtained in round r. The value reported in this paper is the mean over all rounds,

(22) 〈 I 〉 = 1 N r ∑ r = 1 N r I r .

The Monte Carlo noise of this reported mean is estimated from the scatter between the independent round estimates:

(23) σ 〈 I 〉 = 1 N r - 1 1 N r ∑ r = 1 N r I r 2 - 1 N r ∑ r = 1 N r I r 2 .

This quantity estimates the standard error of the mean 〈I〉, not the standard deviation of the individual round estimates Ir.6 To obtain a reliable estimate of σ〈I〉, we require Nr≥30. In this paper, we use Nr=100. The same procedure is applied to the other Stokes components Q, U, and V.

3 Validation results

In this section, we present the validation of MONKI. In Sect. 3.1, we validate MONKI's total and polarised radiances for horizontally homogeneous scenes by comparing them with results from the widely used doubling–adding method. In Sect. 3.2, we validate MONKI's total and polarised radiances against benchmark results for thick Rayleigh-scattering atmospheres. In Sect. 3.3, we validate MONKI for scenes with 3D cloud structures. In what follows, all results that we present are for a detector at TOA or BOA. Therefore, we omit the • notation for the detector direction, and use ϑ, φ and μ instead of ϑ•, φ• and μ•.

3.1 Comparison with de Haan et al. (1987)

Here, we present a comparison of total and polarised radiances that emerge from a horizontally homogeneous atmosphere-surface system (i.e., Nx=Ny=1) with the benchmark results of de Haan et al. (1987), who used an efficient doubling-adding algorithm that included full polarisation for all orders of scattering.

Table 1Comparison of the TOA radiances computed with MONKI, using 107 photons in forward mode, with the benchmark results of de Haan et al. (1987) for an atmosphere consisting of two plane-parallel layers with a total optical thickness b=0.6 (see text), and an underlying Lambertian reflecting surface with As=0.1. The direction of the incident unpolarised light beam is (μ0,φ0)=(0.5,0.0). The reported uncertainties in the MONKI results refer to twice the standard error of the mean, evaluated separately for each Stokes component using Eq. (23).

Download Print Version | Download XLSX

The paper by de Haan et al. (1987) lists benchmark results for different atmosphere-surface systems. We compare with their results for an atmosphere with a total optical thickness b=0.6 that consists of two plane-parallel layers. Both layers contain gaseous molecules with a scattering optical thickness bscam=0.1. The bottom layer also contains water-haze L aerosols (Deirmendjian, 1969), with a scattering optical thickness bscaa=0.4. The aerosol characteristics and expansion coefficients at λ=0.70 µm are provided by de Rooij and van der Stap (1984). There is no absorption of light (babsm=babsa=0), and the depolarisation factor of the gaseous molecules is 0.0279, a typical value for terrestrial air. The atmosphere is illuminated from above by unidirectional, unpolarised light propagating in the direction (μ0,φ0)=(0.5,0°) with a total flux E0 equal to π. The Lambertian reflecting surface has an albedo As of 0.1.

Table 1 shows the benchmark results and simulated TOA radiances with MONKI for six viewing geometries: μ={0.1,0.5,1.0} and φ={0°,30°} (see Table 9 of de Haan et al., 1987). The simulations were done in forward mode and used 107 photons in total, distributed over 100 rounds. The listed errors represent twice the standard error of the mean, evaluated separately for each Stokes component using Eq. (23). The results agree excellently: almost all differences between the MONKI results and those of de Haan et al. (1987) fall within twice the standard error of the mean. The magnitude of these differences is comparable to that reported by MYSTIC for simulations with 107 photons, as shown in Table 2 of Emde et al. (2010), and would further decrease if more photons were used. The MONKI results for a solar geometry with (μ0,φ0)=(0.1,0) and those for a detector on the surface (not in Table 1) also show excellent agreement (see Tables S1, S2, and S3 in the Supplement). Using MONKI's backward mode, we find similar results (see Tables S4, S5, S6, and S7).

3.2 Comparison with Natraj and Hovenier (2012)

The model atmospheres used by de Haan et al. (1987) are optically relatively thin. Here, we compare with the benchmark results of Natraj and Hovenier (2012), who reported total and polarised radiances of light that is reflected and transmitted by optically thick Rayleigh-scattering atmospheres, computed using the method of X and Y functions (Chandrasekhar, 1960; Natraj et al., 2009). According to Natraj and Hovenier (2012), their results are accurate up to eight decimal places.

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f04

Figure 4Comparison of the TOA radiances I, Q and U computed with MONKI using 107 photons in forward mode (crosses) with the benchmark results from Natraj and Hovenier (2012) (circles), for a Rayleigh-scattering atmosphere with an optical thickness b=16, a single scattering albedo of 1.0, a depolarisation factor of 0.0, and a black surface below. The different colours indicate different values of φ (φ0=0°).

Download

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f05

Figure 5Similar to Fig. 4, but presented as differences (MONKI results minus Natraj and Hovenier results), for MONKI in the forward mode (first row) and in the backward mode (second row), fully taking into account polarisation of light when sampling scattering directions. The third and fourth rows show the results when using instead the classical scattering direction sampling approach in MONKI, as used by, e.g., MYSTIC (see Appendix G9). The error bars indicate the ±2 standard errors of the mean of the simulated results (Eq. 23). Those error bars, and the seven different colours referring to the different values of φ, are virtually indistinguishable for the MONKI forward and backward modes.

Download

We compare to their Tables 1, 3, and 5, which list I, Q and U of light that is reflected by a homogeneous atmospheric layer with an optical thickness b=16. The layer contains only gas, which does not absorb and which has a depolarisation factor of zero. The surface below the layer is black. The atmosphere is illuminated from the top by a beam of unpolarised light with E0=π, with direction (μ0,φ0)=(0.2,0°). Because there is only Rayleigh scattering in the model atmosphere, no circularly polarised light will emerge (see Hansen and Travis, 1974, and Eq. A2), thus V=0 for all geometries. Figure 4 shows I, Q and U computed by MONKI in forward mode using 107 photons distributed over 100 simulation rounds, and as listed by Natraj and Hovenier (2012). Viewing direction μ ranges from 0 to 1.0, and φ from 0 to 180°. As can be seen in Fig. 5, the agreement between the results of MONKI and those of Natraj and Hovenier (2012) is excellent for all geometries, in both forward and backward mode.

MONKI fully accounts for the photon's polarisation history when sampling scattering directions. However, when the classical scattering-direction sampling approach is used in MONKI instead, Fig. 5 (two bottom rows) shows clear deviations and a much larger variance. The classical approach (see Collins et al., 1972) neglects the polarisation state of the incident photon when sampling a new scattering direction, and corrects for this neglect by adjusting the photon's weighting factor (see Appendix G9). Examples of codes that use this approach are MYSTIC (Emde et al., 2010), MSCART (Wang et al., 2017, 2019), SPARTA (Barlakas et al., 2016), IVMCM (Gay et al., 2010), and the backward mode of SMART-G (Ramon et al., 2019). García Muñoz and Mills (2015) pointed out that for thick, strongly polarising7 atmospheres, such as those used by Natraj and Hovenier (2012), those codes may fail to converge. This is because, upon multiple scattering, these correction factors are multiplied repeatedly. In the unlikely event that a photon path contains several strongly polarising scattering directions, this can produce infrequent but very large photon weights (see Appendix G9).

Because MONKI fully accounts for the photon's polarisation history it thus does not include such variance-producing corrections (see Appendices D, E, and F). Figure 6 shows MONKI's convergence history when computing the TOA reflectance R11 in both forward and backward modes, for photon numbers up to 107, for μ=1.0, φ=0°, and φ0=0°, different values of μ0, and different optical thicknesses b (the single scattering albedo is 1.0). The surface is black. Indeed, for the two cases with μ0=1.0, namely b=16 and b=4, the lines pertaining to MONKI's forward and backward mode are virtually the same (those cases were also used by García Muñoz and Mills (2015) to demonstrate non-convergence of the classical approach, see their Fig. 8). This was also to be expected, as for this solar and viewing geometry (μ=μ0), the photon paths in the forward and backward modes are identical. For μ0=0.5, the photon paths in the forward mode differ from those in the backward mode, and consequently, although MONKI converges to the same values, its convergence history is different for the forward and backward modes. These results show that, unlike classical Monte Carlo codes (right figure in Fig. 6), MONKI converges well for optically thick and polarising atmospheres in both its forward and backward modes.

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f06

Figure 6Left: convergence history of the TOA reflectance, R11, by MONKI in forward mode (solid lines) and backward mode (dotted lines) for a Rayleigh scattering atmosphere with b=4 and μ0=1.0 (black), b=16 and μ0=0.5 (blue), and b=16 and μ0=1.0 (red). The viewing geometry is nadir (μ=1.0). For μ0=1.0, the solid and dotted lines overlap. Right: similar, but using the classical scattering direction sampling approach in MONKI, as used by, e.g., MYSTIC (see Appendix G9). The jumps are caused by infrequent but large photon weights.

Download

3.3 Comparison with Emde et al. (2018)

In the previous sections, we validated MONKI for horizontally homogeneous atmosphere-surface systems. Here, we validate MONKI for horizontally inhomogeneous (3D) cloudy atmospheres by comparing with benchmarks from the polarised radiative transfer model intercomparison project (IPRT) (Emde et al., 2018).

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f07

Figure 7MONKI results (columns 1 and 2) of the radiance I divided by E0 (top row) and degree of polarisation P in % (bottom row), for a cubic cloud inside a Rayleigh scattering atmosphere, and the differences between the MONKI results and those of MYSTIC (columns 3 and 4). Results are shown for 2 of the 9 cases described by Emde et al. (2018). In case 4 (columns 1 and 3), the detector is on the surface (BOA), and in case 9 (columns 2 and 4), the detector is at TOA. The sunlight is incident from left to right along the x-direction. The solar and viewing angles are given in Table S8. Because of the horizontal periodicity, the cloud shadow crosses the right domain boundary and re-enters the domain on the left-hand side.

Download

Our first comparison with IPRT results is for a homogeneous Rayleigh scattering atmosphere with b=0.5, that has a cubic-shaped cloud with an optical thickness of 10 embedded (see Sect. 5 of Emde et al., 2018). The single scattering albedo of the gaseous molecules is 1.0 and the depolarisation factor is 0.0. The cloud droplets are spherical with their sizes described by a gamma distribution with effective radii of 10 µm and an effective variance of 0.1. Their single scattering albedo is 1.0. We use their single scattering matrices at λ=800 nm as provided by the IPRT. The surface reflects Lambertian with an albedo of 0.2.

The cloud has dimensions of 1 × 1 × 1 km3, and extends from 2 to 3 km altitude. The computational domain extends to an altitude of 5 km. Horizontally, the domain spans 7 km in both directions, with periodic boundary conditions. Both the light source and the detector are at infinite distances from the atmosphere-surface system: the solar and viewing geometries are the same across the domain. The horizontal area of 7×7 km2 is covered by 70×70 pixels. MONKI used 107 photons per pixel, matching the number of photons used in the IPRT (Emde et al., 2018).

Figure 7 shows the results of MONKI (in forward mode) for the radiance I and degree of polarisation P, for IPRT-cases 4 and 9, that differ in solar and viewing geometries (see Table 4 of Emde et al., 2018). Because MONKI defines the angles slightly differently from Emde et al. (2018), we have listed the geometries in Table S8 in the Supplement. Figure S1 in the Supplement shows the results for all 9 cases and all Stokes parameters, with cases 1 to 4 pertaining to light transmitted through the atmosphere, thus at BOA, and cases 5 to 9 pertaining to reflected light, thus at TOA. Results for cases 1 to 4 are stored on the x,y-grid at the surface, whereas results for cases 5 to 9 are stored on the x,y-grid at TOA.8

The radiance I in the cloud-free regions of cases 1 to 4 (BOA) is smaller than in cases 5 to 9 (TOA), due to the larger contribution of the surface reflection in the latter cases (see Fig. S1). Cases 5 to 9 (TOA) show shadows on the surface, while cases 1 to 4 (BOA) only show subtle shadows in the sky. Note that due to horizontal periodicity, the shadow of the cloud stretches outside the right-hand side of the domain and back into the domain on the left-hand side. The difference between the surface and sky shadows is, for instance, evident in P for case 9 (see Fig. S1), where P on the right-hand side of the cloud is relatively low due to the atmospheric shadow: in this part of the atmosphere, the direct sunlight is attenuated by the cloud. Instead, this part of the atmosphere is mostly illuminated by diffuse light with generally a lower degree of polarisation due to randomisation (see Fig. 7 of Trees et al., 2025). Above the cloud shadow on the surface, P is high because the shadow suppresses the unpolarised contribution of light that has been reflected by the Lambertian surface. For a detailed discussion of the features in Figs. 7 and S1, see Sect. 5 of Emde et al. (2018).

MONKI's results closely match the benchmark results (cf. Fig. A2 of Emde et al., 2018). Figure 7 shows the differences between MONKI and MYSTIC for test cases 4 and 9 for I and P, and Fig. S2 in the Supplement shows the differences for all nine cases and all Stokes parameters. In the cloud-free regions, the differences in I, Q, U, and V are nearly zero. Small, random differences in P remain below 0.07 % and are centred around zero. In cloudy pixels, the differences are larger, as expected because of increased simulation noise. This effect is common in Monte Carlo codes due to infrequent but significant contributions in the local estimation method associated with strongly forward-peaked Mie scattering phase functions of the cloud droplets (see, e.g., Barker et al., 2003). Nevertheless, these differences remain below 2.82 × 10−3, 0.66 × 10−3, 0.63 × 10−3, 10.98 × 10−5, and 0.49 % for I, Q, U, V, and P, respectively, and are centred around zero for all cases. Increasing the number of photons would reduce this random noise. We find no systematic biases between MONKI and MYSTIC.

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f08

Figure 8Results of MONKI in forward (“MONKI-F”) and backward mode (“MONKI-B”) for the cubic cloud scenario of Emde et al. (2018), cases 4 (rows 1 and 2) and 9 (rows 3 and 4), for a cross-section through the domain at y=3.95 km (see Fig. S1 in the Supplement). Stokes parameters I, Q, U and V are shown in four columns, also for the other codes in the IPRT project, with the absolute differences of all codes with MYSTIC below. The grey area in the difference plots corresponds to 2 standard deviations of 3DMCPOL. The Stokes parameters are normalised to 1000/E0.

Download

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f09

Figure 9MONKI results (columns 1 and 2) of the radiance I (row 1) and P (row 2), for a 3D cumulus cloud field inside a scattering and absorbing gaseous atmosphere (Emde et al., 2018), for 2 different solar and viewing geometries with a detector at TOA (cases 5 and 9 in Table S8). The sunlight is incident from left to right along the x-direction. Radiance I is divided by E0, and P is in %. Columns 3 and 4 show the differences between MONKI and MYSTIC.

Download

To demonstrate how MONKI performs compared to other codes, Fig. 8 shows cross-sections at y=3.95 km of the results of MONKI in both forward and backward modes for cases 4 and 9, together with results of the codes used in the IPRT project (Emde et al., 2018). Also, the differences with MYSTIC are shown, together with the ±2 standard deviation range of the 3DMCPOL results. The results for all nine cases are shown in Fig. S5 in the Supplement. Unlike some other codes, MONKI shows excellent agreement with MYSTIC in all cases, in both its forward and backward modes.

Emde et al. (2018) also provide test cases for a more realistic scenario: a 3D cumulus cloud field that has been generated by a Large Eddy Simulation (LES) code (Stevens et al., 1999), embedded within a scattering and absorbing gaseous atmosphere. The domain size is 6.7 × 6.7 × 30 km3. The cloud's optical thickness and droplet effective radius vary across the 100×100×53 grid cells (the 12 top layers are cloud-free). For a detailed description of the model, see Emde et al. (2018). Figure 9 shows I and P as computed with MONKI for the solar and viewing geometries of cases 5 and 9 (see Table S8), along with their differences from MYSTIC benchmark results. We used 106 photons per pixel. Once again, we find no systematic biases. Numerical tests showed that the remaining differences decrease when increasing the number of photons.

4 Sample signals for the Earth and Venus

In this section, we present sample simulations with MONKI of sunlight that is locally reflected by the atmospheres of the Earth and Venus. The model atmospheres are horizontally homogeneous (i.e., Nx=Ny=1), as illustrated in Fig. 10. These simulations demonstrate MONKI's versatility in handling different types of atmospheres, following the formulae provided in Appendix A. Below, we first describe the model setting and then the results. The model settings are also summarised in Table 2.

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f10

Figure 10The model atmosphere-surface systems of the Earth (in blue) and Venus (in orange). From left to right: the pressure profiles, temperature profiles, the ozone volume mixing ratio profile for the Earth, the cloud model for the Earth, the cloud model for Venus. Below the latter two graphs, the surface albedo, As, is also given.

Download

Peck and Reeder (1972)Sneep and Ubachs (2005); Wilmouth and Sayres (2020)Bass and Paur (1985)

Table 2Model settings used in the sample simulations of the Earth and Venus at λ=550 nm.

Download Print Version | Download XLSX

The Earth model atmosphere consists of 33 plane-parallel, horizontally homogeneous layers from 0 to 100 km altitude. The surface reflects Lambertian with an albedo As of 0.05. The only absorbing gas is ozone (O3). The wavelength- and temperature-dependent O3 absorption cross-sections, σabsm(λ,T), are taken from Bass and Paur (1985). Pressure, temperature, and ozone volume mixing ratios (VMRs) vary with altitude according to the standard Mid-Latitude Summer profile (Anderson et al., 1986). We assume that the pressure-to-temperature ratio decreases exponentially with altitude within each layer (see Eq. A10). The refractive index of air, n, is computed with the dispersion formula of Peck and Reeder (1972). The King correction factor FK of the air (Eq. A9) is the sum of the values for N2, O2, Ar, and CO2 as given by Bates (1984), weighted by the respective mixing ratios of those gases on Earth: 78.084 %, 20.9476 %, 0.934 %, and 0.0375 %. At λ=550 nm, this yields a depolarisation factor ρ=0.0283.

In the Earth scenario, the cloud extends from 1 to 2 km, with a vertically homogeneous optical thickness ba of 5. We assume a two-parameter gamma distribution for cloud droplet sizes (Hansen and Travis, 1974), with an effective radius reff=10 µm and an effective variance veff=0.1. The droplets are composed of liquid water with a real refractive index of 1.33 (Hale and Querry, 1973) and an imaginary refractive index of zero (i.e., the single scattering albedo of the cloud droplets is 1.0).

The Venus model atmosphere consists of 40 plane-parallel, horizontally homogeneous layers from 0 to 100 km altitude. At λ=550 nm, the reflected light at TOA is virtually insensitive to Venus's lower atmosphere and surface albedo. Therefore, we use 4 km thick layers from the surface to 40 and 2 km thick layers above 40 km. The surface is assumed black. We neglect gaseous absorption, which is a reasonable assumption for Venus at λ=550 nm (Moroz, 1981; Haus et al., 2015). Pressure profiles follow the Venus International Reference Atmosphere (VIRA) for latitudes up to 30°, based on Seiff et al. (1985), which incorporates data from four Pioneer Venus Probes, the Pioneer Venus Orbiter, and the Venera 10, 12, and 13 landers. We assume hydrostatic equilibrium (Eq. A11), a gravitational acceleration of g=8.87 m s−2, and the background gas molar mass M is computed by the weighted sum of 96.5 % CO2 (44.01 g mol−1) and 3.5 % N2 (28.0134 g mol−1). The values for n and FK at λ=550 nm are computed with the parametrisations for CO2 stated in Sneep and Ubachs (2005)9, leading to a depolarisation factor ρ=0.0789.

The cloud in the Venus model extends from 50 to 70 km, with a vertically homogeneous optical thickness ba=30 (see Haus et al., 2015, for more detailed Venus cloud models). The cloud particles are liquid droplets and their properties follow those of Hansen and Hovenier (1974): a two-parameter gamma distribution with an effective radius of 1.05 µm and an effective variance of 0.07. The droplets are composed of 75 % H2SO4 solution in water, with a real refractive index of 1.43 at λ=550 nm (Palmer and Williams, 1975). Their single scattering albedo is 1.0.

Figure 11 shows the angular distribution of the singly scattered radiance, F11 (the phase function), and the degree of linear polarisation, -F12/F11, of the gas and cloud droplets in the Earth and Venus model atmospheres as functions of the scattering angle Θ (see Appendix A for definitions of the single-scattering matrix elements). The large droplets of the Earth cloud produce a strong forward peak in F11 due to diffraction (see Hansen and Travis, 1974). The peaks near Θ=142° and 122° are the primary and secondary cloudbows, caused by, respectively, one and two internal reflections inside the spherical droplets. The radiance and polarisation enhancement near Θ=180° is called the “glory”. These features are less pronounced or absent in the much smaller cloud droplets on Venus. The features due to Rayleigh scattering by gas molecules are similar on Earth and Venus: F11 is fairly isotropic, while polarisation is strongest around Θ=90°. For the Venusian gas, the Rayleigh polarisation maximum is lower than for the Earth's gas because it has a larger depolarisation factor.

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f11

Figure 11The phase function F11 (left) and the degree of linear polarisation (-F12/F11) (right) as functions of the scattering angle Θ, for singly scattered light by gaseous molecules (dashed lines) and cloud droplets (solid lines). The blue lines are for Earth-like gas (with a depolarisation factor ρ equal to 0.0283) and cloud particles (reff=10 µm), and the orange lines are for Venus-like gas (with ρ=0.0789) and cloud particles (reff=1.05 µm). The wavelength of the light is 550 nm.

Download

Figure 12 shows the simulated TOA reflectance, R11, and degree of polarisation, Ps, computed with MONKI for the Earth and Venus model atmosphere–surface systems described above. Simulations were performed for three solar zenith angles: θ0=0, 45, and 75°. The viewing zenith angles range from θ=0° to θ=89° in 1° increments. The azimuth angle of the sunlight was φ0=0°. The viewing azimuth angles are φ=0° and 180° (thus U=0). For each combination of the 90 values of θ, and (θ0,φ), we used 108 photons for the computations for the Earth and 105 photons for Venus (the more isotropic scattering by the small Venusian cloud droplets requires fewer photons). In Fig. S6, we provide the comparison of the computations for the Earth with results computed with Doubling-Adding KNMI (DAK), which uses identical formulae for the optical properties of the model atmosphere as MONKI (see Appendix A).

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f12

Figure 12Sample signals of the TOA reflectance R11 (top) and degree of polarisation Ps=-Q/I (bottom), for the Earth (left) and Venus (right), computed with MONKI. Note the different y-scales for Ps. The signals are presented as functions of viewing angle θ, and for solar zenith angles θ0=0° (solid line), 45° (dashed line), and 75° (dotted line). The azimuth angle of the sunlight φ0 is 0°.

Download

For the Earth model (Fig. 12), the reflectance R11 generally increases with θ and θ0. With increasing angles, the optical paths through the gas and clouds increase and multiple scattering increases. Cloud droplet single scattering features (Fig. 11) leave signatures in R11, but show up more distinctly in Ps. The cloudbows emerge near (θ,φ) = (38°,0°), (7°,180°), and (37°,180°), corresponding to the scattering angle Θ=142° for θ0= 0, 45 and 75°, respectively.10 The glory shifts from θ=0 to 45 to 75° in the φ=180° direction with increasing θ0. Rayleigh scattering, which enhances Ps around Θ=90°, causes Ps to peak near θ=90° for θ0=0° and near (θ,φ) = (10°,0°) for θ0=75°. This behaviour can be verified with vertical profiles of the layer contributions to the total and polarised TOA reflectances. As an example, Fig. 13 shows those profiles for θ0=0°, demonstrating that, towards perpendicular scattering geometries, an increasing fraction of the polarised signal originates from the gas above the cloud.

https://gmd.copernicus.org/articles/19/9677/2026/gmd-19-9677-2026-f13

Figure 13Contributions to the computed TOA reflectances at θ0=0°, for Earth (left) and Venus (right), plotted as functions of the altitude of the last scattering event of the photons. The contribution profiles are expressed per kilometre (km−1) for the total reflectances R11 (top row) and the polarised reflectances |R21| (bottom row).

Download

The Venus results in Fig. 12 show that this planet appears much brighter in locally reflected light than Earth. The higher R11 values are primarily due to the larger cloud optical thickness. As on Earth, cloud droplet single scattering features leave distinct signatures in Ps of the locally reflected light, which can be seen to shift with increasing θ0, as they are characteristic for given scattering angles. However, the increase in polarisation due to Rayleigh scattering around a scattering angle of 90° is less pronounced on Venus than on Earth. For example, for θ0=0°, Ps increases only at the largest viewing zenith angles. Despite Venus's large atmospheric pressure at surface level, the cloud deck extends up to 70 km altitude, leaving little gas above the cloud for light to scatter from, as shown in Fig. 13. Instead, the signal is dominated by abundant virtually unpolarised light multiply scattered in the upper parts of the Venusian clouds.

5 Summary, discussion, and outlook

Polarimetry is a powerful tool for characterising planetary atmospheres and surfaces. Radiative transfer simulations of total and polarised radiances are essential for designing, preparing, and operating spectro(polari)metric remote sensing instruments. Even for instruments that do not measure polarisation, accounting for polarisation in simulations is crucial for obtaining accurate total radiance calculations and for assessing potential errors due to an instrument's polarisation sensitivity if no polarisation scrambler is used. With the increasing spatial resolution of current and future Earth observation spectro(polari)meters, simulating 3D radiative transfer effects, such as cloud shadows, becomes increasingly important.

In this paper, we have presented the 3D radiative transfer code MONKI (Monte Carlo KNMI), which fully accounts for the linear and circular polarisation of light at all orders of scattering. MONKI is written in modern Fortran and is based on the Monte Carlo method. Rather than counting photons at the detector, MONKI uses the more efficient “local estimation method”, which calculates the probability of scattering towards the detector at each scattering event. MONKI can compute both horizontally homogeneous and inhomogeneous (3D cloudy) scenes. It can operate both in forward mode (with photons propagating from the source to the detector) and in backward mode (with photons propagating in the opposite direction). Both modes converge to similar results, with comparable computation times in the tested cases.

We compared results of MONKI with benchmark results for polarised radiances in horizontally homogeneous atmospheres (de Haan et al., 1987) and thick Rayleigh-scattering atmospheres (Natraj and Hovenier, 2012). Additionally, we validated MONKI's 3D radiative transfer capabilities using benchmark results for polarised radiances from 3D clouds (Emde et al., 2018). In all cases, MONKI showed excellent agreement with the benchmark results.

Although MONKI is not the first code of its kind, it has fundamental methodological differences from other Monte Carlo codes. A common limitation of Monte Carlo codes is their failure to converge in optically thick and strongly polarising atmospheres. This issue arises when approximations are made in the sampling of scattering directions, by neglecting the photon's polarisation state and correcting afterwards by weight factors. MONKI instead samples scattering directions from the full polarisation-dependent distribution while fully tracking the polarisation history of each photon along its trajectory. As demonstrated in this paper, this exact polarised sampling approach converges in both forward and backward modes, including for optically thick and strongly polarising planetary atmospheres. In addition, the appendices provide a complete derivation of the corresponding forward and backward Monte Carlo equations and polarisation-dependent sampling formulae, thereby offering a unified theoretical framework for polarised Monte Carlo radiative transfer.

The current version of MONKI does not use variance reduction techniques other than the local estimation method. Although such techniques can reduce the noise (and therefore the computation time needed for convergence), they can introduce biases (see, e.g. Barker et al., 2003) and/or increase code complexity. For example, directional importance sampling, which involves adjusting forward-peaked single scattering phase functions and photon weights, and photon splitting (see, e.g. Buras and Mayer, 2011), are mathematically correct but can reduce a code's intuitiveness. By omitting those variance reduction techniques, MONKI produces unbiased results while preserving readability and simplicity, and thus adaptability when future extensions of the code are to be implemented. Instead of using such techniques, we increase the number of photons to achieve higher precision when needed.

In order to speed up MONKI's simulations, we implemented and presented a precomputation approach for optical paths to the detector. By precomputing the optical thickness of the horizontally homogeneous background gas for each atmospheric layer towards the detector, and by identifying grid cells that have cloud- and aerosol-free optical paths to the detector, MONKI avoids repeated photon propagations between the locations of the scattering events and the detector. This approach significantly improves computational efficiency, especially in scenes with low and/or patchy clouds, without compromising the accuracy.

We have presented sample signals of the TOA reflectance and degree of polarisation of light that is locally reflected by the Earth and Venus using horizontally homogeneous cloud models. This exercise demonstrated MONKI's versatility for various atmospheric conditions. For Earth applications, MONKI uses the same method as DAK (Doubling-Adding KNMI) to compute the input atmospheric optical properties. MONKI can handle spectral variations of those properties, producing simulated spectra by so-called line-by-line computations. MONKI can import different particle scattering matrices and can, in principle, also simulate light scattered by non-spherical aerosol particles and ice clouds.

Since MONKI uses the Monte Carlo method, it can store the locations of photon scattering, also for different orders of scattering, for detailed analyses of features in the simulated signals. Among the planned extensions of MONKI is the implementation of atmospheric sphericity, which would allow computations for scenes with a low Sun and/or large viewing angles. We conclude that MONKI is an accurate radiative transfer code, ready to support the design, preparation, and operation of spectro(polari)metric missions for Earth, Venus, and other planets.

Appendix A: Describing the atmosphere and surface

In this appendix, we describe the optical properties of the atmosphere and surface used by MONKI. Each atmospheric grid cell can contain gas molecules and multiple aerosol types, such as cloud or haze particles. For each of these constituents, MONKI uses the total optical thickness, the single-scattering albedo, and the single-scattering matrix.

The total optical thickness of a grid cell is the sum of the optical thicknesses of the gas and all aerosol types:

(A1) b ( λ ) = b m ( λ ) + ∑ c = 1 N c b c a ( λ ) = b sca m ( λ ) + b abs m ( λ ) + ∑ c = 1 N c b sca , c a ( λ ) + b abs , c a ( λ ) ,

where superscripts m and a refer to gas molecules and aerosol particles, respectively, and subscripts “sca” and “abs” refer to scattering and absorption. The index c=1,…,Nc denotes the aerosol type. For a grid cell with vertical extent Δz, the corresponding total extinction coefficient is β=b/Δz. Analogous relations hold for the scattering and absorption extinction coefficients, and for each constituent type separately; for example, βt=bt/Δz and βsca,t=bsca,t/Δz for constituent type t.

A1 Gas molecules

Single scattering of light by gas molecules is described by the anisotropic Rayleigh scattering matrix Fm (Hansen and Travis, 1974):

(A2) F m ( Θ , λ ) = F 11 m ( Θ , λ ) F 12 m ( Θ , λ ) 0 0 F 21 m ( Θ , λ ) F 22 m ( Θ , λ ) 0 0 0 0 F 33 m ( Θ , λ ) 0 0 0 0 F 44 m ( Θ , λ ) .

Here, Θ is the scattering angle, defined relative to the propagation direction of the incident light, such that Θ=0° corresponds to forward scattering and Θ=180° to backward scattering. The matrix elements are

(A3)F11m(Θ,λ)=34Δ(λ)(1+cos2Θ)+1-Δ(λ),(A4)F22m(Θ,λ)=34Δ(λ)(1+cos2Θ),(A5)F33m(Θ,λ)=32Δ(λ)cosΘ,(A6)F44m(Θ,λ)=32Δ(λ)Δ′(λ)cosΘ,(A7)F12m(Θ,λ)=F21m(Θ,λ)=-34Δ(λ)sin2Θ,

with

(A8) Δ ( λ ) = 1 - ρ ( λ ) 1 + ρ ( λ ) / 2 , Δ ′ ( λ ) = 1 - 2 ρ ( λ ) 1 - ρ ( λ ) .

The depolarisation factor ρ is computed from the King correction factor FK according to (Bodhaine et al., 1999)

(A9) ρ ( λ ) = 6 F K ( λ ) - 6 7 F K ( λ ) + 3 ,

where FK depends on the composition of the atmospheric gas mixture.

In the current version of MONKI, gas properties are horizontally homogeneous and vary only with altitude z. The scattering optical thickness of the gas in atmospheric layer k, bounded by zkbot and zktop, is computed as (Stam et al., 2000)

(A10) b sca m ( λ ) = 24 π 3 λ 4 N L 2 n 2 ( λ ) - 1 2 n 2 ( λ ) + 2 2 F K ( λ ) N av R ∫ z k bot z k top p ( z ) T ( z ) d z ,

where NL is the Loschmidt number, Nav is Avogadro's constant, R is the universal gas constant, n(λ) is the wavelength-dependent refractive index of the atmospheric gas under standard conditions, and p(z) and T(z) are the pressure and temperature profiles in Pa and K, respectively. Given the values of p and T at the layer boundaries, the integral is evaluated assuming an exponential decrease of p/T with altitude within the layer.

Alternatively, if for example the temperature profile is unknown, bscam can be computed assuming hydrostatic equilibrium:

(A11) b sca m ( λ ) = 24 π 3 λ 4 N L 2 n 2 ( λ ) - 1 2 n 2 ( λ ) + 2 2 F K ( λ ) N av M Δ p k g ,

where Δpk=p(zkbot)-p(zktop), g is the gravitational acceleration, and M is the molar mass of the background gas.

The gaseous absorption optical thickness of layer k is computed by summing over all absorbing gases:

(A12) b abs m ( λ ) = ∑ i = 1 N g N av R ∫ z k bot z k top p ( z ) T ( z ) η i ( z ) σ abs , i m ( λ , z ) d z ,

where ηi is the volume mixing ratio of absorbing gas i, and σabs,im is its absorption cross section in m2. The absorption cross section may depend on wavelength, temperature, and pressure, hence its dependence on altitude. Within each layer, ηi and σabs,im are assumed to vary linearly with altitude. The single-scattering albedo of the gas is

(A13) a m ( λ ) = b sca m ( λ ) b sca m ( λ ) + b abs m ( λ ) .

A2 Aerosol particles

Aerosol particles are described by their size distribution, refractive index, and number density. In the present version of MONKI, aerosol particles are assumed to be spherical, so their optical properties are pre-computed with Mie theory (de Rooij and van der Stap, 1984). For aerosol type c, the pre-computed single-scattering matrix used by MONKI is

(A14) F c a ( Θ , λ ) = F 11 , c a ( Θ , λ ) F 12 , c a ( Θ , λ ) 0 0 F 21 , c a ( Θ , λ ) F 22 , c a ( Θ , λ ) 0 0 0 0 F 33 , c a ( Θ , λ ) F 34 , c a ( Θ , λ ) 0 0 F 43 , c a ( Θ , λ ) F 44 , c a ( Θ , λ ) ,

with F12,ca=F21,ca and F43,ca=-F34,ca.

The single-scattering albedo of aerosol type c is

(A15) a c a ( λ ) = b sca , c a ( λ ) b sca , c a ( λ ) + b abs , c a ( λ ) .

Equivalently, if the extinction cross section σca(λ) and the particle column number density Ncol,ca are specified, the scattering and absorption optical thicknesses are

(A16)bsca,ca(λ)=aca(λ)σca(λ)Ncol,ca,(A17)babs,ca(λ)=1-aca(λ)σca(λ)Ncol,ca.

Here, Ncol,ca is expressed in m−2 and σca in m2. Each grid cell can contain multiple aerosol types and number densities, allowing MONKI to represent horizontally inhomogeneous aerosol and cloud fields. The total aerosol optical thickness of a grid cell is

(A18) b a ( λ ) = ∑ c = 1 N c b sca , c a ( λ ) + b abs , c a ( λ ) .

A3 Effective single-scattering matrix of a mixture

The vector radiative transfer equation (VRTE) in Appendix G1 is written in terms of an effective single-scattering matrix F for the local atmospheric mixture. Let the index t denote all scattering constituent types present in a grid cell, for example the gas and the aerosol types. The total scattering coefficient is

(A19) β sca ( x , λ ) = ∑ t β sca , t ( x , λ ) ,

and, for βsca>0, the effective single-scattering matrix is

(A20) F ( x , Θ , λ ) = ∑ t β sca , t ( x , λ ) F t ( x , Θ , λ ) β sca ( x , λ ) .

If βsca=0, the scattering source term in the VRTE vanishes and the choice of F is irrelevant. For a grid cell containing gas molecules and Nc aerosol types, Eq. (A20) becomes

(A21) F ( x , Θ , λ ) = β sca m ( x , λ ) F m ( x , Θ , λ ) + ∑ c = 1 N c β sca , c a ( x , λ ) F c a ( x , Θ , λ ) β sca m ( x , λ ) + ∑ c = 1 N c β sca , c a ( x , λ ) .

This definition is equivalent to summing the scattering source terms of the individual constituents in the VRTE. The reason is that the rotation matrices used to construct the phase matrix from F depend only on the incident and scattered directions, and not on the constituent type.

The effective matrix in Eq. (A20) is useful for writing the VRTE compactly. In the Monte Carlo algorithm, however, MONKI does not explicitly construct this matrix at every atmospheric event. Instead, the distance to the next atmospheric event is sampled using the total extinction coefficient β=∑tβt, where βt=βsca,t+βabs,t is the total extinction coefficient of constituent type t. At the event location x, the constituent involved in the event is selected according to the probability

(A22) Pr ( t ∣ x , λ ) = β t ( x , λ ) β ( x , λ ) .

The photon weight is then multiplied by the single-scattering albedo of the selected constituent,

(A23) a t ( x , λ ) = β sca , t ( x , λ ) β t ( x , λ ) ,

and the scattering direction and Stokes-vector update are computed with the corresponding constituent matrix Ft. Averaged over many photon histories, this gives

(A24) β ( x , λ ) ∑ t Pr ( t ∣ x , λ ) a t ( x , λ ) F t ( x , Θ , λ ) = β ( x , λ ) a ( x , λ ) F ( x , Θ , λ ) ,

where

(A25) a ( x , λ ) = β sca ( x , λ ) β ( x , λ )

is the single-scattering albedo of the local mixture. Thus, the Monte Carlo treatment of a grid cell containing several constituents reproduces the same effective scattering source term as the VRTE: the total extinction coefficient β is used for path sampling, while the single-scattering albedo and scattering matrix are those of the selected constituent at the atmospheric event. If only one atmospheric constituent is present, then Pr(t∣x,λ)=1, a=at, and F=Ft. In that case, the constituent type subscript t may be omitted.

A4 Prescribed optical properties

As explained above, the Mie single-scattering matrices Fca for the spherical particles in the model atmosphere are provided as input, while the Rayleigh single-scattering matrix Fm is determined by the depolarisation factor ρ, which depends on wavelength and atmospheric composition. Instead of computing bscam, babsm, bsca,ca, babs,ca, and ρ from the formulae above, MONKI can also use prescribed input values. This option is useful for benchmarking MONKI against other radiative transfer codes.

A5 Surface

In the current version of MONKI, the lower boundary is assumed to be a Lambertian surface. The surface reflects isotropically and fully depolarises the incident light. It is described by a surface albedo As, which may depend on wavelength.

Appendix B: Sampling the free photon path length

This appendix, along with Appendices C, D, E, and F, concerns sampling techniques for randomly selecting a continuous variable based on its probability distribution (see, e.g., Dekking et al., 2005, for an introduction to probability theory). In MONKI, we use two techniques: the inverse transform method and the acceptance-rejection method (see Chap. 3 of Kroese et al., 2011).

Here, we describe how the inverse transform method is used to sample the free photon path length, d, until an atmospheric event (i.e., scattering or absorption) occurs. The inverse transform method requires (1) the cumulative distribution function (CDF) of d, denoted as P(s)11, which gives the probability that the photon interacts within distance s, (2) a random number, ξ, uniformly distributed between 0 and 1, and (3) a solution for d=P-1(ξ), where P−1 is the inverse of P.

The direct transmittance, defined as the probability of a photon travelling along a straight distance s through an optically homogeneous medium with total extinction coefficient β, is given by Tdir=e-βs. In other words, this expression represents the probability that the photon does not encounter an atmospheric event along distance s, or Pr(d>s) (see, e.g., Marshak and Davis, 2005). The probability that the photon does encounter an atmospheric event before reaching distance s therefore equals

(B1) Pr ( d ≤ s ) = 1 - e - β s .

By definition, Eq. (B1) is P(s), the CDF for the free path length, d. The corresponding probability density function (PDF) is obtained by differentiating P(s) with respect to s:

(B2) p d ( s ) = d P ( s ) d s = β e - β s , s ≥ 0 .

This is the exponential distribution for the distance to the next atmospheric event. To sample d using the inverse transform method, we generate a uniformly distributed random number ξ∈(0,1) and compute (see also Eq. 9 of Mayer, 2009)

(B3) d = P - 1 ( ξ ) = - ln ( 1 - ξ ) β .

Since ξ is uniformly distributed in (0,1), 1−ξ has the same probability density function as ξ. Therefore, Eq. (B3) can equivalently be written as (Eq. 4.39 of Marshak and Davis, 2005)

(B4) d = - ln ξ β .

Sampling random values of d with Eq. (B4) ensures that the sampled free path lengths follow the PDF of Eq. (B2), which is consistent with the law of Lambert-Beer for radiative attenuation.

In the finite computational domain, the sampled distance d is compared with the distance to the next grid-cell or domain boundary along the photon direction. If that boundary is reached before the sampled atmospheric event, the photon is moved to the boundary and the remaining optical path is continued in the next grid cell, or the photon leaves the atmosphere or reaches the surface if the domain boundary is TOA or BOA, respectively.

Appendix C: Sampling the surface reflection direction

In this appendix, we show how to sample the propagation direction ω, or equivalently (μ,φ), of a photon after it has been reflected by the Lambertian surface, that is, an isotropically and fully depolarising surface. As in Appendix B, we use the inverse transform method for this.

Suppose I is the radiance Stokes vector that has been reflected by a flat surface that reflects Lambertian. Consequently, only the first element of I, I, is non-zero, and I will be independent of μ and φ. The reflected irradiance that emerges from the Lambertian surface then equals (see, e.g., Liou, 2002):

(C1) E = ∫ 0 2 π ∫ 0 1 I μ d μ d φ = π I .

Dividing both sides by πI gives

(C2) ∫ 0 2 π ∫ 0 1 p ( μ , φ ) d μ d φ = 1 ,

with

(C3) p ( μ , φ ) = 1 π μ .

Since p(μ,φ) is a function whose integrals equal 1, it is by definition the joint probability density function (PDF) of μ and φ. For Lambertian reflection, μ and φ are independent due to the symmetry in the azimuthal direction, such that p(μ,φ)=p(μ)p(φ). Thus, the direction (μ, φ) can be sampled by sampling μ and φ individually from their marginal PDFs (see Sect. 3.2 of Kroese et al., 2011).

The marginal PDF of μ can be obtained by integrating Eq. (C3) over φ:

(C4) p ( μ ) = ∫ 0 2 π p ( μ , φ ) d φ = ∫ 0 2 π 1 π μ d φ = 2 μ .

The corresponding CDF is (see also Mayer, 2009, Eq. 18)

(C5) P ( μ ) = ∫ 0 μ p ( μ ′ ) d μ ′ = 2 ∫ 0 μ μ ′ d μ ′ = μ 2 .

The sampling expression for μ follows from the inverse of P (see also Mayer, 2009, Eq. 19):

(C6) μ = P - 1 ( ξ 1 ) = ξ 1 ,

where ξ1 is a generated, uniformly distributed random number between 0 and 1.

The marginal PDF of φ can be obtained by integrating Eq. (C3) over μ:

(C7) p ( φ ) = ∫ 0 1 p ( μ , φ ) d μ = ∫ 0 1 1 π μ d μ = 1 2 π .

The corresponding CDF is:

(C8) P ( φ ) = ∫ 0 φ p ( φ ′ ) d φ ′ = ∫ 0 φ 1 2 π d φ ′ = φ 2 π .

The sampling expression for φ is then:

(C9) φ = P - 1 ( ξ 2 ) = 2 π ξ 2 ,

where ξ2 is another generated uniformly distributed random number between 0 and 1.

Appendix D: The probability distribution of the atmospheric scattering direction of polarised light

In this appendix, we derive the probability density function (PDF) of the scattering direction of light in a unit volume of atmosphere.

Let I′(ω′)dΩ′ represent the flux vector of incident light in direction ω′ at a unit volume in the atmosphere, for a given wavelength λ. Here, we omit the λ-dependence notation. The incident light may be polarised, described by the Stokes vector I′=[I′,Q′,U′,V′]T, where |Q′|>0, |U′|>0 and/or |V′|>0. The radiance Stokes vector of the scattered light is then (Hovenier et al., 2004, Eqs. 4.1 and 4.3)

(D1) I ( ω ; ω ′ ) = a 4 π Z ( ω , ω ′ ) I ′ ( ω ′ ) d Ω ′ ,

whose first element, I, represents the total scattered radiance contribution in the direction ω, for light from the specific incident direction ω′. Here, a is the single scattering albedo, and Z(ω,ω′) is the phase matrix, given by Z=L(-σ2)F(Θ)L(-σ1) (Hovenier et al., 2004, Eq. 3.7). Matrices F and L are the single scattering matrix and the matrix for rotation of the polarisation reference plane, respectively, as in Eqs. (11) and (12). In the Monte Carlo algorithm, the quantities a, F and Z in this appendix should be read as at, Ft and Zt of the selected constituent type t (here, we omit the t subscript notation).

To sample the scattering direction ω, it is convenient to first consider the scattered radiance vector after the rotation over angle σ1 only, I×, defined with respect to the scattering plane (see, e.g., the notes of Whitney, 2011):

(D2) I × ( cos Θ , σ 1 ; ω ′ ) = a 4 π F ( Θ ) L ( - σ 1 ) I ′ ( ω ′ ) d Ω ′ .

Recall that in the case of Rayleigh and Mie scattering (and a few other special cases, see Hansen and Travis, 1974), the single scattering matrix elements F13=F14=F23=F24=F31=F32=F41=F42=0 (see Appendix A). Substituting those values into Eq. (D2) yields the following expression for the first element of I×:

(D3) I × ( cos Θ , σ 1 ; ω ′ ) = a 4 π [ F 11 ( Θ ) I ′ ( ω ′ ) + F 12 ( Θ ) ( Q ′ ( ω ′ ) cos 2 σ 1 - U ′ ( ω ′ ) sin 2 σ 1 ) ] d Ω ′ .

Note that the value of I× equals the total scattered radiance I, since the left multiplication by L(−σ2) in Eq. (D1) does not affect the first Stokes component. From inspection of Eq. (D3) it is clear that I not only depends on the phase function F11, but also on scattering matrix element F12 and on the state of polarisation of the light beam I′ incident at the scattering volume.

Because of the conservation of energy, the total scattered radiance integrated over all scattering directions must equal the fraction a of the incident flux I′(ω′)dΩ′ that is being scattered:

(D4) ∫ - π π ∫ - 1 1 I × ( cos Θ , σ 1 ; ω ′ ) d cos Θ d σ 1 = a I ′ ( ω ′ ) d Ω ′ .

Let us now define the normalised incident Stokes vector by

(D5) I ‾ ′ = I ′ ( ω ′ ) I ′ ( ω ′ ) = 1 , Q ′ ( ω ′ ) I ′ ( ω ′ ) , U ′ ( ω ′ ) I ′ ( ω ′ ) , V ′ ( ω ′ ) I ′ ( ω ′ ) T .

Substituting Eq. (D3) into Eq. (D4) and dividing both sides by aI′(ω′)dΩ′ gives

(D6) ∫ - π π ∫ - 1 1 p ( cos Θ , σ 1 ) d cos Θ d σ 1 = 1 ,

with

(D7) p ( cos Θ , σ 1 ) = 1 4 π [ F 11 ( Θ ) + F 12 ( Θ ) ( Q ′ ( ω ′ ) I ′ ( ω ′ ) cos 2 σ 1 - U ′ ( ω ′ ) I ′ ( ω ′ ) sin 2 σ 1 ) ] = 1 4 π Z ( ω , ω ′ ) I ‾ ′ 1 .

where […]1 indicates the first element of a Stokes vector. Since the integrals in Eq. (D6) equal 1, p(cos Θ,σ1) is the joint PDF for the scattering direction (cos Θ,σ1) of polarised light incident on the scattering volume.12 Given the functions for F11(Θ) and F12(Θ), and the values of the Stokes parameters of the incident beam I′, the variables cos Θ and σ1 can be sampled with a sampling method using this PDF (see Appendices E and F).

Finally, the scattering direction ω, or equivalently its angles ϑ and φ, is determined from the sampled values cos Θ and σ1 using spherical trigonometry (see Fig. 1):

(D8)ϑ=arccoscosϑ′cosΘ+sinϑ′sinΘcosσ1,(D9)φ=φ′-arccoscosΘ-cosϑ′cosϑsinϑ′sinϑ⋅sign(σ1),

where the multiplication by the sign of σ1 is needed for the correct rotation direction of φ.

Similarly, we can derive a PDF for the scattering direction in the backward Monte Carlo mode. Following the convention introduced in Sect. 2.4, ω′ and ω denote the incident and scattered propagation directions in the associated forward trajectory, while −ω and -ω′ are the corresponding detector-side and source-side directions along the backward trajectory. In contrast to the forward case, the quantity propagated along the trajectory is not a physical Stokes vector of incident radiation, but a normalised 4×4 response matrix M‾, which describes the cumulative polarisation-dependent detector response between the current scattering event and the detector (see Appendix G8 for a more detailed explanation). Accordingly, the backward analogue of Eq. (D1) is

(D10) I bw ( ω ; ω ′ ) = a 4 π M ‾ Z ( ω , ω ′ ) 1 d Ω ′ ,

where 1=[1,0,0,0]T. Here, 𝓘bw is not a physical radiance Stokes vector, but a dimensionless quantity describing how radiation scattered at the current event would contribute to the detector signal along the corresponding forward trajectory. In backward mode, Z(ω,ω′) is obtained from the phase matrix in the reversed geometry through the reciprocity relation in Eq. (16). Using the same reasoning as in the forward case, we find the following expression for the joint PDF of the backward scattering direction:

(D11) p bw ( cos Θ , σ 2 ) = 1 4 π [ F 11 ( Θ ) + M ‾ 12 F 12 ( Θ ) cos 2 σ 2 + M ‾ 13 F 12 ( Θ ) sin 2 σ 2 ] = 1 4 π M ‾ Z ( ω , ω ′ ) 1 1 ,

where M‾12 and M‾13 are the (1,2) and (1,3) elements of M‾. Compared to the forward expression, the sign in front of the M‾13 term is positive, and rotation angle σ2 is used instead of σ1.

Finally, once cos Θ and σ2 have been sampled, the source-side direction in the reversed geometry, (π-ϑ′,φ′+π), is obtained from the known detector-side reversed direction (π-ϑ,φ+π) through

(D12)π-ϑ′=arccos(cos(π-ϑ)cosΘ+sin(π-ϑ)sinΘcosσ2),(D13)φ′+π=φ+π-arccoscosΘ-cos(π-ϑ)cos(π-ϑ′)sin(π-ϑ)sin(π-ϑ′)⋅sign(σ2),

These are the backward analogues of Eqs. (D8) and (D9), written for the reversed scattering geometry. In practice, this formulation allows the same direction-reconstruction routine to be used as in the forward mode: the reversed detector-side direction (π-ϑ,φ+π) is used as the incident direction, the reversed source-side direction (π-ϑ′,φ′+π) is reconstructed as the scattered direction, and σ2 is used as the corresponding rotation angle in place of σ1.

Appendix E: Sampling the Rayleigh scattering direction

In this appendix, we describe how to sample the photon propagation direction ω, or equivalently (ϑ,φ), after Rayleigh scattering of polarised light. Because the CDF corresponding to the PDF p(cos Θ,σ1) of the scattering direction (Eq. D7), and its inverse are not readily available, we do not use the inverse transform method. Instead, we use the acceptance-rejection method (see Sect. 3.1.5 of Kroese et al., 2011).

The acceptance-rejection method requires an envelope function f(cosΘ,σ1)=Cg(cosΘ,σ1), with C≥1, such that

(E1) f ( cos Θ , σ 1 ) ≥ p ( cos Θ , σ 1 )

for all cos Θ and σ1. Here, g(cos Θ,σ1) is called the proposal PDF. The method proceeds as follows: (1) sample a candidate pair (cos Θ,σ1) from g(cos Θ,σ1) using uniformly distributed random numbers ξ1,ξ2∈(0,1), (2) generate another uniformly distributed random number ξ3∈(0,1), and (3) accept the candidate if

(E2) ξ 3 ⋅ f ( cos Θ , σ 1 ) ≤ p ( cos Θ , σ 1 ) ;

otherwise, reject it and return to step (1).

For Rayleigh scattering, we choose a constant envelope function. To show that this choice is valid, define

(E3) X = Q ′ I ′ cos 2 σ 1 - U ′ I ′ sin 2 σ 1 .

Because the incident Stokes vector is physically admissible, its degree of polarisation,

(E4) P ′ = Q ′ 2 + U ′ 2 + V ′ 2 I ′ ,

satisfies P′≤1. Therefore,

(E5) Q ′ I ′ 2 + U ′ I ′ 2 ≤ 1 .

Using the Cauchy–Schwarz inequality, it then follows that

(E6) | X | = Q ′ I ′ cos 2 σ 1 - U ′ I ′ sin 2 σ 1 ≤ Q ′ I ′ 2 + U ′ I ′ 2 cos 2 2 σ 1 + sin 2 2 σ 1 ≤ 1 .

Hence,

(E7) - 1 ≤ X ≤ 1 for all  σ 1 .

For Rayleigh scattering (Appendix A),

(E8) F 11 m ( Θ ) = 3 4 Δ ( 1 + cos 2 Θ ) + 1 - Δ , F 12 m ( Θ ) = - 3 4 Δ sin 2 Θ ,

so that

(E9) F 12 m ( Θ ) ≤ 0 for all  Θ .

Using Eq. (D7), the PDF for the scattering direction becomes

(E10) p ( cos Θ , σ 1 ) = 1 4 π F 11 m ( Θ ) + F 12 m ( Θ ) X .

Because F12m(Θ)≤0 and X≥-1, we obtain

(E11) p ( cos Θ , σ 1 ) ≤ 1 4 π F 11 m ( Θ ) - F 12 m ( Θ ) .

Substituting the Rayleigh expressions yields

(E12) F 11 m ( Θ ) - F 12 m ( Θ ) = 3 4 Δ ( 1 + cos 2 Θ ) + 1 - Δ + 3 4 Δ sin 2 Θ = 1 - Δ + 3 4 Δ 1 + cos 2 Θ + sin 2 Θ = 1 - Δ + 3 2 Δ = F 11 m ( 0 ° ) .

Combining Eqs. (E11) and (E12), we find

(E13) p ( cos Θ , σ 1 ) ≤ F 11 m ( 0 ° ) 4 π for all  Θ  and  σ 1 .

We may therefore choose the constant envelope function

(E14) f ( cos Θ , σ 1 ) = F 11 m ( 0 ° ) 4 π = 1 4 π 3 2 Δ + 1 - Δ .

Since f(cos Θ,σ1) is constant on the domain (cosΘ,σ1)∈[-1,1]×[-π,π], the normalising constant needed to make g a valid PDF, i.e. such that its double integral over the domain equals 1, is

(E15) C = ∫ - π π ∫ - 1 1 f ( cos Θ , σ 1 ) d cos Θ d σ 1 = F 11 m ( 0 ° ) ,

and the proposal PDF becomes

(E16) g ( cos Θ , σ 1 ) = f ( cos Θ , σ 1 ) C = 1 4 π .

Thus, candidate values can be sampled independently from g as

(E17) cos Θ = 2 ξ 1 - 1 , σ 1 = π ( 2 ξ 2 - 1 ) ,

with ξ1 and ξ2 independent random numbers uniformly distributed on (0,1).

Next, we generate another uniformly distributed random number ξ3∈(0,1) and compute p(cos Θ,σ1) from the sampled cos Θ and σ1, the Rayleigh matrix elements F11m(Θ) and F12m(Θ), and the incident Stokes vector I′ using Eq. (D7). The candidate pair (cos Θ,σ1) is accepted if

(E18) ξ 3 ⋅ f ( cos Θ , σ 1 ) ≤ p ( cos Θ , σ 1 ) ;

otherwise, it is rejected and the procedure above is repeated. Finally, once cos Θ and σ1 have been accepted, the angles ϑ and φ are computed with spherical trigonometry using Eqs. (D8) and (D9).

The same acceptance-rejection scheme can also be used in the backward Monte Carlo mode to sample -ω′. Using Eq. (D11), define

(E19) Y = M ‾ 12 cos 2 σ 2 + M ‾ 13 sin 2 σ 2 .

The normalised detector-response matrix M‾ plays the same role in backward sampling as a normalised Stokes vector in forward sampling, so its first-row linear-polarisation components obey M‾122+M‾132≤1. Therefore |Y|≤1 by the Cauchy–Schwarz inequality. Hence, for Rayleigh scattering,

(E20) p bw ( cos Θ , σ 2 ) = 1 4 π F 11 m ( Θ ) + F 12 m ( Θ ) Y ≤ 1 4 π F 11 m ( Θ ) - F 12 m ( Θ ) = F 11 m ( 0 ° ) 4 π .

Therefore, the same constant envelope function and proposal PDF as in the forward case can be used in backward mode as well. The only differences are that p(cos Θ,σ1) is replaced by pbw(cos Θ,σ2) and that the sampled direction is reconstructed using the backward geometry from Appendix D.

Appendix F: Sampling the Mie scattering direction

In this appendix, we describe how to sample the photon propagation direction ω, or equivalently (ϑ,φ), after Mie scattering of polarised light by a specific spherical aerosol type c (in this appendix, we omit the c subscript notation). As in Appendix E, we use the acceptance-rejection method.

For Mie scattering, it is generally inefficient to use a constant envelope function. This is because Mie scattering phase functions are often strongly peaked in the forward scattering direction (see Fig. 11), which would result in a low acceptance rate for the generated scattering angles. Instead, we construct an envelope function that follows the Θ-dependence of the scattering direction PDF p(cos Θ,σ1) more closely.

Using Eq. (D7), define

(F1) X = Q ′ I ′ cos 2 σ 1 - U ′ I ′ sin 2 σ 1 .

As shown in Appendix E, the physical admissibility of the incident Stokes vector implies that

(F2) | X | ≤ 1 .

The PDF for the scattering direction can therefore be written as

(F3) p ( cos Θ , σ 1 ) = 1 4 π F 11 a ( Θ ) + F 12 a ( Θ ) X ,

which satisfies

(F4) p ( cos Θ , σ 1 ) ≤ 1 4 π F 11 a ( Θ ) + F 12 a ( Θ ) | X | ≤ 1 4 π F 11 a ( Θ ) + F 12 a ( Θ ) .

We may therefore choose the envelope function

(F5) f ( cos Θ , σ 1 ) = 1 4 π F 11 a ( Θ ) + F 12 a ( Θ ) .

Note that f is not constant, but depends on Θ only. Compared to a constant envelope, this choice follows the Θ-dependence of p(cos Θ,σ1) more closely and thereby improves the acceptance rate.

The proposal PDF g is obtained from f through

(F6) g ( cos Θ , σ 1 ) = 1 C f ( cos Θ , σ 1 ) = 1 4 π C F 11 a ( Θ ) + F 12 a ( Θ ) ,

where the normalising constant C is given by

(F7) C = ∫ - π π ∫ - 1 1 f ( cos Θ , σ 1 ) d cos Θ d σ 1 = 1 2 ∫ - 1 1 F 11 a ( Θ ) + F 12 a ( Θ ) d cos Θ .

Quantities cos Θ and σ1 must be sampled from g(cos Θ,σ1). Equivalently, they can be sampled from the marginal PDF g(cos Θ) and the conditional PDF g(σ1∣cos Θ) of σ1 given cos Θ (Kroese et al., 2011, Sect. 3.2). As in Appendix B, we use the inverse transform method for this.

The marginal PDF of cos Θ is obtained by integrating over σ1:

(F8) g ( cos Θ ) = ∫ - π π g ( cos Θ , σ 1 ) d σ 1 = 1 2 C F 11 a ( Θ ) + F 12 a ( Θ ) .

The conditional PDF of σ1 given cos Θ then follows from the product rule (see, e.g., Rice, 2007, Sect. 3.5.2):

(F9) g ( σ 1 ∣ cos Θ ) = g ( cos Θ , σ 1 ) g ( cos Θ ) = 1 2 π .

Thus, under the proposal PDF g, the variables cos Θ and σ1 are independent, and σ1 is uniformly distributed on [-π,π].

The CDF corresponding to g(cos Θ) is

(F10) G ( cos Θ ) = ∫ - 1 cos Θ g ( cos Θ ′ ) d cos Θ ′ = 1 2 C ∫ - 1 cos Θ F 11 a ( Θ ′ ) + F 12 a ( Θ ′ ) d cos Θ ′ .

To evaluate Eq. (F10), we precompute the normalising constant C and generate a lookup table (LUT) for G(cos Θ) on a fine cos Θ-grid, using the available values of F11a(Θ) and F12a(Θ) computed with Mie theory. According to the inverse transform method, the sampling expression for cos Θ is

(F11) cos Θ = G - 1 ( ξ 1 ) ,

with G−1 the inverse of G and where ξ1 is a uniformly distributed random number on (0,1). In practice, the value of cos Θ corresponding to ξ1 is retrieved from the LUT by linear interpolation.

The CDF corresponding to g(σ1) is

(F12) G ( σ 1 ) = ∫ - π σ 1 g ( σ 1 ′ ) d σ 1 ′ = ∫ - π σ 1 1 2 π d σ 1 ′ = σ 1 + π 2 π .

Hence, the sampling expression for σ1 is

(F13) σ 1 = G - 1 ( ξ 2 ) = 2 π ξ 2 - π ,

where ξ2 is another uniformly distributed random number on (0,1).

Next, we compute p(cos Θ,σ1) from the sampled cos Θ, σ1, the Mie matrix elements F11a(Θ) and F12a(Θ), and the incident Stokes vector I′ using Eq. (D7). We then generate a third uniformly distributed random number ξ3∈(0,1). The candidate pair (cos Θ,σ1) is accepted if

(F14) ξ 3 ⋅ f ( cos Θ , σ 1 ) ≤ p ( cos Θ , σ 1 ) ;

otherwise, it is rejected and the above steps are repeated. Finally, once cos Θ and σ1 have been accepted, the angles ϑ and φ are computed with spherical trigonometry using Eqs. (D8) and (D9).

The same acceptance-rejection scheme can also be used in the backward Monte Carlo mode to sample -ω′. In that case, Eq. (D7) is replaced by the backward PDF pbw(cos Θ,σ2) from Eq. (D11). Since, analogously to Appendix E, the factor multiplying F12a(Θ) in pbw has absolute value not exceeding 1, the same envelope function of Eq. (F5) also bounds the backward PDF. Therefore, the same proposal PDF, normalising constant C, and lookup table for G(cos Θ) can be used in backward mode as well. The only differences are that p is replaced by pbw and the sampled direction is reconstructed using the backward geometry from Appendix D.

Appendix G: Derivation of forward and backward Monte Carlo estimators for polarised radiative transfer

For readers who wish to understand the theoretical basis of our Monte Carlo code using the local estimation method including polarisation of light, we here provide a complete derivation of the radiance Stokes-vector equations in forward and backward Monte Carlo modes, including polarisation-dependent sampling of the scattering direction. We note that related Monte Carlo derivations were presented by Marshak and Davis (2005) and Deutschmann et al. (2011) for the scalar case, and by Marchuk et al. (1980), Deutschmann (2015), and Wang et al. (2019) for the polarised case. However, these derivations are spread over multiple chapters or papers, sometimes omit intermediate derivation steps, and do not always make the consistency of the physical units explicit. In addition, the polarised derivations are generally formulated by extending scalar Monte Carlo expressions to Stokes-vector quantities, and they do not include polarisation-dependent sampling of the scattering direction.

To our knowledge, the derivation presented here is the first to start directly from the vector radiative transfer equation (VRTE) for polarised light and to proceed explicitly to the final forward and backward local-estimation formulae, while consistently incorporating polarisation-dependent sampling of the scattering directions. Readers interested only in the practical Monte Carlo method, including polarisation-dependent sampling of the scattering direction, may start with Appendix G7.

G1 Vector radiative transfer equation (VRTE)

Let us consider a light beam with wavelength λ, described by the radiance Stokes vector I=[I,Q,U,V]T in W m−2 sr−1 nm−1, propagating through a three-dimensional medium occupying a volume 𝒱. We assume the system is in steady state, meaning that neither the radiation field nor the optical properties of the medium vary with time. Let x=[x,y,z]T denote position and ω=[sinϑcosφ,sinϑsinφ,cosϑ]T a propagation direction, with local zenith angle ϑ and azimuth angle φ. Then, the rate of change of I at x in the direction of ω is described by the steady-state, monochromatic vector radiative transfer equation (VRTE) (Marchuk et al., 1980):

(G1) ω ⋅ ∇ I ( x , ω , λ ) = - β ( x , λ ) I ( x , ω , λ ) + β sca ( x , λ ) 4 π ∫ 4 π Z ( x , ω , ω ′ , λ ) I ( x , ω ′ , λ ) d Ω ′ + S 0 ( x , ω , λ ) .

Here, ∇=[∂/∂x,∂/∂y,∂/∂z]T, β=βabs+βsca is the total extinction coefficient, and βsca is the total scattering coefficient, both in m−1. Matrix Z is dimensionless and describes how light from incident directions ω′ is scattered into the beam along ω. The factor 1/(4π) originates from the normalisation of the phase matrix. We neglect inelastic scattering processes, such as Raman scattering, for which λ changes upon scattering.

The phase matrix is written as

(G2) Z ( x , ω , ω ′ , λ ) = L ( - σ 2 ) F ( x , Θ , λ ) L ( - σ 1 ) ,

where Θ=arccos(ω⋅ω′) is the scattering angle, and L is the rotation matrix that transforms the Stokes vector's reference plane between the local meridian planes of the incident and scattered light (Eq. 12) via the rotation angles σ1 and σ2 (Fig. 1). The single-scattering matrix F is the effective single-scattering matrix of the local atmospheric mixture. It is equal to the single-scattering matrix of the scattering constituent if only one constituent is present, and to the scattering-coefficient-weighted mixture matrix if several constituents are present. In the Monte Carlo implementation, this effective matrix need not be constructed explicitly at each atmospheric event, because the scattering constituent is sampled first, as described in Appendix A.

The first term on the right-hand side of the VRTE describes attenuation by extinction, that is, by absorption and scattering out of the beam. The second term accounts for radiation scattered into the beam, using the phase matrix constructed from the effective single-scattering matrix of the local mixture. The final term, S0, is the source density in W m−3 sr−1 nm−1 due to emission sources. In the current version of MONKI, thermal emission by the atmosphere and surface is neglected, so the Sun is the only emission source.

G2 Formal solution of the VRTE

To obtain a formal expression for the radiance Stokes vector I(x,ω,λ), we start from the VRTE (Eq. G1) written as:

(G3) ω ⋅ ∇ + β ( x , λ ) I ( x , ω , λ ) = β sca ( x , λ ) 4 π ∫ 4 π Z ( x , ω , ω ′ , λ ) I ( x , ω ′ , λ ) d Ω ′ + S 0 ( x , ω , λ ) ,

Rearranging Eq. (G3) yields:

(G4) L I ( x , ω , λ ) = 1 4 π β sca ( x , λ ) β ( x , λ ) ∫ 4 π Z ( x , ω , ω ′ , λ ) I ( x , ω ′ , λ ) d Ω ′ + S 0 ( x , ω , λ ) β ( x , λ ) ,

where ℒ is a linear differential operator,

(G5) L := 1 + 1 β ( x , λ ) ω ⋅ ∇ .

Using this operator in the method of Green's functions, we obtain the following formal solution for the radiance Stokes vector at wavelength λ and position x in direction ω (see Appendix H for the derivation):

(G6) I ( x , ω , λ ) = ∫ V β ( x * , λ ) exp - ∫ 0 ‖ x - x * ‖ β x * + s ′ ω , λ d s ′ × q ( x * , ω , λ ) δ ω - x - x * ‖ x - x * ‖ 1 ‖ x - x * ‖ 2 d 3 x * ,

where the integration extends over the spatial domain 𝒱 of the medium. Here, x* denotes the position of a local radiation source within the medium, i.e., a point at which radiation is scattered into the beam or where direct solar illumination is represented through the source term. The Dirac delta function ensures that only source points x* located upstream of x along the direction  −ω contribute, and the exponential factor accounts for extinction between x* and x. The factor ‖x-x*‖-2 arises from the Jacobian that converts the line integral in the −ω-direction to a volume integral (see Eq. H30). Finally, the local source term in Eq. (G6) is obtained directly from the right-hand side of Eq. (G4):

(G7) q ( x , ω , λ ) = 1 4 π β sca ( x , λ ) β ( x , λ ) ∫ 4 π Z ( x , ω , ω ′ , λ ) I ( x , ω ′ , λ ) d Ω ′ + S 0 ( x , ω , λ ) β ( x , λ ) .

Equations (G6)–(G7) show that the radiance Stokes vector at point x in direction ω is the superposition of contributions from all source points x* within the medium lying upstream of x, i.e. along the direction −ω as seen from x, each weighted by the local source term q and exponentially attenuated along the optical path between x* and x.

G3 Collision density

The collision density, f(x,ω) in W m−3 sr−1 nm−1, is defined as the product of the extinction coefficient β and the Stokes vector I. It quantifies the rate at which radiant energy interacts with the medium at position x in direction ω due to extinction processes. Because polarisation is included, the collision density is itself a Stokes vector. For brevity, the wavelength dependence λ is omitted in the following expressions, but all quantities remain wavelength dependent. Substituting Eq. (G7) into Eq. (G6), replacing βsca(x*)/β(x*) by the single scattering albedo a(x*), and after some rearrangement, the collision density can be expressed as the sum of contributions from radiation scattered into the beam (first term) and from the emitting source (second term):

f(x,ω):=β(x)I(x,ω)=∫V∫4πβ(x)β(x*)a(x*)4πZ(x*,ω,ω′)×I(x*,ω′)exp-∫0‖x-x*‖βx*+s′ωds′×δω-x-x*‖x-x*‖dΩ′d3x*‖x-x*‖2+∫Vβ(x)S0(x*,ω)×exp-∫0‖x-x*‖βx*+s′ωds′(G8)×δω-x-x*‖x-x*‖d3x*‖x-x*‖2.

In compact form, Eq. (G8) can be written as

(G9) f ( x , ω ) = ∫ V ∫ 4 π k [ ( x * , ω ′ ) → ( x , ω ) ] f ( x * , ω ′ ) d Ω ′ d 3 x * + Ψ ( x , ω ) ,

where

(G10) k [ ( x * , ω ′ ) → ( x , ω ) ] = β ( x ) a ( x * ) 4 π Z ( x * , ω , ω ′ ) × exp - ∫ 0 ‖ x - x * ‖ β x * + s ′ ω d s ′ × δ ω - x - x * ‖ x - x * ‖ ‖ x - x * ‖ 2

represents the transport kernel describing the contribution of photons scattered at (x*,ω′) to the collision density at (x,ω). The second term in Eq. (G9),

(G11) Ψ ( x , ω ) = ∫ V β ( x ) S 0 ( x * , ω ) × exp - ∫ 0 ‖ x - x * ‖ β x * + s ′ ω d s ′ × δ ω - x - x * ‖ x - x * ‖ ‖ x - x * ‖ 2 d 3 x * ,

represents the total contribution from the emitting source, or the initial collision density.

For simplicity, Eq. (G9) can be written as

(G12) f = K [ f ] + Ψ ,

where the integral operator K is defined by

(G13) K [ f ] ( x , ω ) = ∫ V ∫ 4 π k [ ( x * , ω ′ ) → ( x , ω ) ] × f ( x * , ω ′ ) d Ω ′ d 3 x * .

The solution of Eq. (G12) can be written as a Neumann series:

(G14) f = Ψ + K [ Ψ ] + K 2 [ Ψ ] + K 3 [ Ψ ] + ⋯ = ∑ n = 0 ∞ K n [ Ψ ] ,

with K2[Ψ]=K[K[Ψ]], K3[Ψ]=K[K[K[Ψ]]], etc., which converges for physically realistic media with 0≤a≤1 (Sect. 4.2 of Marchuk et al., 1980). As we shall later see, this Neumann series representation is useful because it allows us to express the solution as a superposition of contributions from the various orders of light scattering.

We now introduce the following inner product notation for Stokes-vector-valued functions:

(G15) ( u , v ) = ∫ V ∫ 4 π u ( x , ω ) T v ( x , ω ) d Ω d 3 x .

Let x• denote the detector location, and let ω• denote the propagation direction of the detected radiation at the detector. Then, we can evaluate the Neumann series at x• in the direction ω• by defining

δx•ω•=δ(x-x•)δ(ω-ω•),

and by introducing the canonical basis vectors

e1=[1,0,0,0]T,e2=[0,1,0,0]T,e3=[0,0,1,0]T,e4=[0,0,0,1]T.

The individual components of the collision density Stokes vector at (x•,ω•) are then given by

(G16) [ f ( x • , ω • ) ] j = ∫ V ∫ 4 π f ( x , ω ) T δ x • ω • e j d Ω d 3 x = f ( x , ω ) , δ x • ω • e j , j = 1 , 2 , 3 , 4 .

Substituting the Neumann series (Eq. G14) for f yields

(G17) [ f ( x • , ω • ) ] j = ∑ n = 0 ∞ K n [ Ψ ] , δ x • ω • e j = ∑ n = 0 ∞ K n [ Ψ ] , δ x • ω • e j = Ψ , δ x • ω • e j + K [ Ψ ] , δ x • ω • e j + K 2 [ Ψ ] , δ x • ω • e j + K 3 [ Ψ ] , δ x • ω • e j + ⋯ .

For the next step, we introduce the adjoint operator K+:

(G18) K + [ g ] ( x , ω ) = ∫ V ∫ 4 π k [ ( x , ω ) → ( x * , ω ′ ) ] T × g ( x * , ω ′ ) d Ω ′ d 3 x * ,

for which it can be shown that (see Eqs. S23 to S30 in the Supplement)

(G19) K [ u ] , g = u , K + [ g ]

for arbitrary Stokes-vector-valued functions u and g. Using Eq. (G19), Eq. (G17) can be written as

(G20) [ f ( x • , ω • ) ] j = Ψ , δ x • ω • e j + Ψ , K + [ δ x • ω • e j ] + K [ Ψ ] , K + [ δ x • ω • e j ] + K 2 [ Ψ ] , K + [ δ x • ω • e j ] + ⋯ .

It may be noted that Eq. (G20) is the vector analogue of the scalar collision density expression of Marshak and Davis (2005) (their Eq. 4.60), who neglected polarisation of light.

G4 Detector radiance and contribution function

We now consider the radiance Stokes vector I in the direction ω• reaching a detector located at a given point x•. Using the definition of the collision density f=βI and Eq. (G20), the individual Stokes vector components of I become

(G21) [ I ( x • , ω • ) ] j = 1 β ( x • ) [ f ( x • , ω • ) ] j = 1 β ( x • ) Ψ ( x , ω ) , δ x • ω • e j + 1 β ( x • ) Ψ ( x , ω ) , K + [ δ x • ω • e j ] + 1 β ( x • ) K [ Ψ ] ( x , ω ) , K + [ δ x • ω • e j ] + 1 β ( x • ) K 2 [ Ψ ] ( x , ω ) , K + [ δ x • ω • e j ] + ⋯ ,

for j=1,2,3,4.

As an intermediate step, let us write out the operator K+[δx•ω•ej], which is a Stokes-vector-valued function of x and ω (see Eq. G18). Using also the definition of the transport kernel in Eq. (G10), we get:

(G22) K + [ δ x • ω • e j ] ( x , ω ) = ∫ V ∫ 4 π k [ ( x , ω ) → ( x * , ω ′ ) ] T × δ ( x * - x • ) δ ( ω ′ - ω • ) e j d Ω ′ d 3 x * = k [ ( x , ω ) → ( x • , ω • ) ] T e j = β ( x • ) a ( x ) 4 π Z ( x , ω • , ω ) T e j × exp - ∫ 0 ‖ x • - x ‖ β x + s ′ ω • d s ′ × δ ω • - x • - x ‖ x • - x ‖ ‖ x • - x ‖ 2 .

which describes how photons are transported from point x in direction ω to the detector location (x•,ω•).

Now, by cancelling out β(x•) in the second and higher order terms, and taking the single scattering albedo a(x) to the front, Eq. (G21) can be rewritten as

(G23) [ I ( x • , ω • ) ] j = 1 β ( x • ) [ Ψ ( x • , ω • ) ] j + a ( x ) Ψ ( x , ω ) , Φ j ( x • , ω • , x , ω ) + a ( x ) K [ Ψ ] ( x , ω ) , Φ j ( x • , ω • , x , ω ) + a ( x ) K 2 [ Ψ ] ( x , ω ) , Φ j ( x • , ω • , x , ω ) + ⋯ ,

where

(G24) Φ j ( x • , ω • , x , ω ) = 1 4 π Z ( x , ω • , ω ) T e j × exp - ∫ 0 ‖ x • - x ‖ β x + s ′ ω • d s ′ × δ ω • - x • - x ‖ x • - x ‖ ‖ x • - x ‖ 2

is the contribution function for the jth component of the detector radiance Stokes vector. Equation (G23) expresses the radiance Stokes vector at the detector as the superposition of contributions from direct illumination and all scattering events within the medium, i.e. from all event locations x integrated over the volume 𝒱 and all propagation directions ω. Each term in the Neumann expansion corresponds to photons that have undergone a specific number of collisions. The first term accounts for direct illumination and the second for single scattering, while higher-order terms describe multiple scattering, weighted by successive applications of the transport operator K. The contribution function Φj(x•,ω•,x,ω) acts as a detector sensitivity kernel for the jth Stokes component: it quantifies the contribution of radiation present at (x,ω) to the corresponding component of the detector signal at (x•,ω•).

G5 Scattering-order decomposition of the detector radiance

The radiance Stokes vector arriving at the detector, given component-wise by Eq. (G23), is a superposition of the direct illumination, or 0th-order scattering contribution, I(0), the singly scattered contribution I(1), and higher-order scattered contributions I(n) with n=2,3,4,…. Here, those contributions are evaluated.

G5.1 Zeroth-order contribution (direct illumination)

For solar illumination we assume that the Sun is effectively at infinity, which we describe by a plane-parallel (collimated) beam with fixed direction ω0 and spectral irradiance E0 (in W m−2 nm−1). Because this incident solar beam is taken to be unpolarised, its Stokes vector equals E01, with 1=[1,0,0,0]T. Since the incident beam is collimated, for every point x∈𝒱 there is a unique upstream ray in direction −ω0, and therefore a unique entry point of the incident sunlight on the source boundary. We denote this point by x0(x), and define it by

(G25) x 0 ( x ) := x - s 0 ( x ) ω 0 , s 0 ( x ) ≥ 0 ,

where s0(x) is the unique distance from x to the sunlight-entry boundary along direction −ω0.

The initial collision density Ψ(x,ω) in Eq. (G23) represents the part of the collision density f=βI generated by sources before any scattering occurs. Let us now rewrite the expression for Ψ in Eq. (G11) as a line integral along the straight path in the viewing direction,

x*=x-s*ω,

from the observation point (s*=0) to the upstream boundary of the medium (s*=sb). Equivalently, the upper integration limit may be written as ∞, with the understanding that all optical coefficients and source terms vanish outside the medium. Using the transformation identity to convert the volume integral in Eq. (G11) to a line integral (see Eq. H30),

ds*=δω-x-x*‖x-x*‖1‖x-x*‖2d3x*,

we obtain

(G26) Ψ ( x , ω ) = β ( x ) ∫ 0 ∞ S 0 ( s * , ω ) × exp - ∫ 0 s * β ( x * + s ′ ω ) d s ′ d s * .

For a collimated solar beam with irradiance E0 incident in direction ω0, we represent the source term in line-integral form as

S0(s*,ω)=E0δs*-s0(x)δ(ω-ω0)1,

so that the source is located at the unique entry point of the incident sunlight x0(x). Substituting this expression into Eq. (G26) and dividing by β(x) gives the unscattered radiance Stokes vector field at x and ω:

(G27) I ( 0 ) ( x , ω ) = Ψ ( x , ω ) β ( x ) = ∫ 0 ∞ E 0 δ s * - s 0 ( x ) δ ( ω - ω 0 ) 1 × exp - ∫ 0 s * β ( x * + s ′ ω ) d s ′ d s * = E 0 δ ( ω - ω 0 ) exp - τ ( x 0 ( x ) → x ) 1 .

For this direct beam, only the first Stokes component is nonzero because of the multiplication by 1. The Dirac delta functions enforce s*=s0(x) and ω=ω0, so that x*=x-s0(x)ω0=x0(x), and

τ(x0(x)→x)=∫0s0(x)β(x0(x)+s′ω0)ds′

is the optical depth along the straight path from the point where the solar beam enters the computational domain to the point x. Hence, at the detector point x• and in the direction ω•, the unscattered contribution is

(G28) I ( 0 ) ( x • , ω • ) = E 0 δ ( ω • - ω 0 ) × exp - τ ( x 0 ( x • ) → x • ) 1 .

This direct-illumination term is nonzero only when the observation direction -ω• coincides with the solar direction −ω0. In the current version of MONKI, this zeroth-order term is not evaluated, because MONKI only computes local estimates at scattering and surface-reflection events (see Appendices G7 and G8). If needed, the direct contribution could be added analytically using Eq. (G28). In what follows, only the scattered contributions to the detector signal, i.e. scattering orders n≥1, are considered.

G5.2 First-order contribution

The first-order (single-scattering) contribution corresponds to photons that undergo exactly one scattering event before reaching the detector. In Eq. (G23), this is the second term in the Neumann expansion. For the jth component of the singly scattered detector radiance Stokes vector, we have

(G29) [ I ( 1 ) ( x • , ω • ) ] j = a ( x ) Ψ ( x , ω ) , Φ j ( x • , ω • , x , ω ) , j = 1 , 2 , 3 , 4 .

Substituting Φj (Eq. G24) and using the vector inner product definition of Eq. (G15) yields

(G30) [ I ( 1 ) ( x • , ω • ) ] j = ∫ V ∫ 4 π a ( x ) Ψ ( x , ω ) T 1 4 π Z ( x , ω • , ω ) T e j × exp [ - τ ( x → x • ) ] δ ω • - x • - x ‖ x • - x ‖ ‖ x • - x ‖ 2 × d Ω d 3 x ,

where

τ(x→x•)=∫0‖x•-x‖β(x+s′ω•)ds′.

Now use the identity

(G31) u T Z T e j = ( Z u ) T e j = e j T Z u = [ Z u ] j ,

which holds for any Stokes vector u. Applying Eq. (G31) with u=Ψ(x,ω) gives

(G32) [ I ( 1 ) ( x • , ω • ) ] j = ∫ V ∫ 4 π a ( x ) 4 π Z ( x , ω • , ω ) Ψ ( x , ω ) j × exp [ - τ ( x → x • ) ] δ ω • - x • - x ‖ x • - x ‖ ‖ x • - x ‖ 2 × d Ω d 3 x .

Using the direct-beam initial collision term (Eq. G27), or equivalently Ψ(x,ω)=β(x)I(0)(x,ω), we obtain

(G33) Ψ ( x , ω ) = β ( x ) E 0 δ ( ω - ω 0 ) exp [ - τ ( x 0 ( x ) → x ) ] 1 .

Substituting Eq. (G33) into Eq. (G32) yields

(G34) [ I ( 1 ) ( x • , ω • ) ] j = ∫ V ∫ 4 π a ( x ) β ( x ) E 0 4 π Z ( x , ω • , ω ) 1 j × δ ( ω - ω 0 ) exp [ - τ ( x 0 ( x ) → x ) ] × exp [ - τ ( x → x • ) ] δ ω • - x • - x ‖ x • - x ‖ ‖ x • - x ‖ 2 × d Ω d 3 x .

The angular integration over Ω is straightforward because of the Dirac delta δ(ω−ω0), and the remaining spatial Dirac delta restricts x to the backward ray, which extends from the detector to ∞ by again assuming that all optical coefficients and source terms vanish outside the medium,

x=x1(s1):=x•-s1ω•,s1>0.

For each such scattering point x1(s1), the corresponding entry point of the incident sunlight is denoted by

(G35) x 0 ( s 1 ) := x 0 ( x 1 ( s 1 ) ) = x 1 ( s 1 ) - s 0 ( s 1 ) ω 0 , s 0 ( s 1 ) ≥ 0 ,

where s0(s1) is the unique distance from x1(s1) to the sunlight-entry boundary along direction −ω0. Hence,

(G36) [ I ( 1 ) ( x • , ω • ) ] j = E 0 4 π ∫ 0 ∞ a ( x 1 ( s 1 ) ) β ( x 1 ( s 1 ) ) × Z x 1 ( s 1 ) , ω • , ω 0 1 j × exp [ - τ ( x 0 ( s 1 ) → x 1 ( s 1 ) ) ] × exp [ - τ ( x 1 ( s 1 ) → x • ) ] d s 1 .

Finally, collecting the four Stokes components j=1,2,3,4 into a single vector yields

(G37) I ( 1 ) ( x • , ω • ) = E 0 4 π ∫ 0 ∞ a ( x 1 ( s 1 ) ) β ( x 1 ( s 1 ) ) × Z x 1 ( s 1 ) , ω • , ω 0 1 × exp [ - τ ( x 0 ( s 1 ) → x 1 ( s 1 ) ) ] × exp [ - τ ( x 1 ( s 1 ) → x • ) ] d s 1 .

Equation (G37) shows that the singly scattered radiance Stokes vector at the detector is obtained by integrating, along the detector line of sight, the contributions from all possible scattering points illuminated by the solar beam. Each contribution is weighted by the local extinction coefficient β(x1(s1)), the single-scattering albedo a(x1(s1)), the phase matrix for scattering from ω0 into ω•, and the transmittances along both the solar and detector paths.

G5.3 Second-order contribution

Similarly, the second-order scattering contribution corresponds to photons that undergo exactly two scattering events before reaching the detector. Starting with

[I(2)(x•,ω•)]j=a(x)K[Ψ](x,ω),Φj(x•,ω•,x,ω)

from Eq. (G23), and following the same procedure as for the singly scattered radiance Stokes vector, the spatial integrations collapse onto the detector line of sight and the upstream ray of the preceding scattering event. Introducing the detector-ray parameterisation

x2(s2):=x•-s2ω•,s2>0,

for the second (last) scattering event, and denoting the location of the first scattering event upstream of x2 by

x1(s2,s1,ω1):=x2(s2)-s1ω1,s1>0,

we define the corresponding entry point of the incident sunlight by

x0(s2,s1,ω1):=x1(s2,s1,ω1)-s0(s2,s1,ω1)ω0,

where s0(s2,s1,ω1)≥0 is the unique distance from x1(s2,s1,ω1) to the sunlight-entry boundary along direction −ω0. We then obtain for the second-order scattered Stokes vector at the detector

(G38) I ( 2 ) ( x • , ω • ) = E 0 ( 4 π ) 2 ∫ 0 ∞ a ( x 2 ( s 2 ) ) β ( x 2 ( s 2 ) ) × exp [ - τ ( x 2 ( s 2 ) → x • ) ] × ∫ 4 π Z x 2 ( s 2 ) , ω • , ω 1 × ∫ 0 ∞ a ( x 1 ( s 2 , s 1 , ω 1 ) ) β ( x 1 ( s 2 , s 1 , ω 1 ) ) × Z x 1 ( s 2 , s 1 , ω 1 ) , ω 1 , ω 0 1 × exp [ - τ ( x 0 ( s 2 , s 1 , ω 1 ) → x 1 ( s 2 , s 1 , ω 1 ) ) ] × exp [ - τ ( x 1 ( s 2 , s 1 , ω 1 ) → x 2 ( s 2 ) ) ] × d s 1 d Ω 1 d s 2 .

This expression represents photons that are first scattered from the sunlight direction ω0 into an intermediate direction ω1 at x1, and subsequently scattered at x2 into the detector direction ω•.

G5.4 Third- and higher-order contributions

Similarly, the third-order scattering contribution corresponds to photons that undergo exactly three scattering events before reaching the detector. Introducing the detector-ray parameterisation

x3(s3):=x•-s3ω•,s3>0,

for the third (last) scattering event, and denoting the location of the second scattering event upstream of x3 by

x2(s3,s2,ω2):=x3(s3)-s2ω2,s2>0,

and the location of the first scattering event upstream of x2 by

x1(s3,s2,s1,ω2,ω1):=x2(s3,s2,ω2)-s1ω1,s1>0,

we define the corresponding entry point of the incident sunlight by

x0(s3,s2,s1,ω2,ω1):=x1(s3,s2,s1,ω2,ω1)-s0(s3,s2,s1,ω2,ω1)ω0,

where s0(s3,s2,s1,ω2,ω1)≥0 is the unique distance from x1(s3,s2,s1,ω2,ω1) to the sunlight-entry boundary along direction −ω0. We then obtain for the third-order scattered Stokes vector at the detector

(G39) I ( 3 ) ( x • , ω • ) = E 0 ( 4 π ) 3 ∫ 0 ∞ a ( x 3 ( s 3 ) ) β ( x 3 ( s 3 ) ) × exp [ - τ ( x 3 ( s 3 ) → x • ) ] × ∫ 4 π Z x 3 ( s 3 ) , ω • , ω 2 × ∫ 0 ∞ a ( x 2 ( s 3 , s 2 , ω 2 ) ) β ( x 2 ( s 3 , s 2 , ω 2 ) ) × exp [ - τ ( x 2 ( s 3 , s 2 , ω 2 ) → x 3 ( s 3 ) ) ] × ∫ 4 π Z x 2 ( s 3 , s 2 , ω 2 ) , ω 2 , ω 1 × ∫ 0 ∞ a ( x 1 ( s 3 , s 2 , s 1 , ω 2 , ω 1 ) ) × β ( x 1 ( s 3 , s 2 , s 1 , ω 2 , ω 1 ) ) × Z x 1 ( s 3 , s 2 , s 1 , ω 2 , ω 1 ) , ω 1 , ω 0 1 × exp [ - τ ( x 0 ( s 3 , s 2 , s 1 , ω 2 , ω 1 ) → x 1 ( s 3 , s 2 , s 1 , ω 2 , ω 1 ) ) ] × exp [ - τ ( x 1 ( s 3 , s 2 , s 1 , ω 2 , ω 1 ) → x 2 ( s 3 , s 2 , ω 2 ) ) ] × d s 1 d Ω 1 d s 2 d Ω 2 d s 3 .

This expression represents photons that are first scattered from the sunlight direction ω0 into an intermediate direction ω1 at x1, subsequently scattered at x2 into a second intermediate direction ω2, and finally scattered at x3 into the detector direction ω•. In what follows, for notational simplicity, we omit the explicit dependence of x0,x1,x2,… on the free-path variables s0,s1,s2,… and on the intermediate directions ω1,ω2,…

Higher-order scattered Stokes vector contributions can be derived using a similar approach.

G6 Forward finite-area formulation of the scattering-order contributions

The radiance Stokes vector expressions derived above for the first few scattering orders, such as Eqs. (G37), (G38), and (G39), are written for a detector at a fixed point x• and are parameterised along the detector line of sight. Hence, they can directly be used for the backward Monte Carlo simulation (Appendix G8). In the practical forward Monte Carlo simulation, however, photons are launched from the sunlight-entry boundary of a rectangular domain and are traced in the sunlight direction ω0. It is therefore useful to rewrite these deterministic expressions in a form that is directly compatible with forward photon tracing. This rewriting is possible because the incident solar beam is collimated, and because in our local-estimation method the contribution towards the detector is computed along collimated rays in the fixed detector direction ω•. Hence, the same set of scattering points can be parameterised either from the detector side or from the solar-side.

We consider a finite horizontal source area O0 on the sunlight-entry boundary and a finite horizontal detector area O on the detector boundary. We write x0∈O0 for the entry point of the incident sunlight of a photon and x•∈O for the point where the ray towards the detector intersects the detector boundary. Thus, in the present subsection, neither x0 nor x• is a fixed point: both vary over the finite areas O0 and O, respectively. The detector-area-averaged radiance Stokes vector for scattering order n is defined by

(G40) I ( n ) ( O , ω • ; ω 0 ) = 1 O ∫ O I ( n ) ( x • , ω • ) d O ,

where O denotes the horizontal area of the detector region O. Below, we first derive the corresponding forward formulation for the first-order contribution, and next for the second-order contribution. The third-order expression then follows in complete analogy.

G6.1 First-order contribution

We start from the first-order point-detector expression in Eq. (G37) and average it over the detector area O:

(G41) I ( 1 ) ( O , ω • ; ω 0 ) = E 0 O 4 π ∫ O ∫ 0 ∞ a ( x 1 ( s 1 ) ) β ( x 1 ( s 1 ) ) × Z x 1 ( s 1 ) , ω • , ω 0 1 × exp [ - τ ( x 0 ( s 1 ) → x 1 ( s 1 ) ) ] × exp [ - τ ( x 1 ( s 1 ) → x • ) ] d s 1 d O .

Equation (G41) is written as a line integral along the detector path,

(G42) x 1 = x • - s 1 ω • , s 1 > 0 ,

where x1 is the single-scattering location. In forward mode it is more natural to parameterise the same scattering point from the solar side:

(G43) x 1 = x 0 + s 0 ω 0 , s 0 > 0 ,

with x0∈O0. Hence, for the same scattering point x1,

(G44) x 1 = x • - s 1 ω • = x 0 + s 0 ω 0 .

To transform the integration from the detector-side parameterisation (x•,s1) to the solar-side parameterisation (x0,s0), we compare the same set of scattering points around x1. For a horizontal area element dO at the detector boundary and a path-length interval ds1 along ω•, the corresponding differential scattering volume is

(G45) d V = μ • d O d s 1 , μ • = | cos ϑ • | .

Likewise, for a horizontal area element dO0 at the sunlight-entry boundary and a path-length interval ds0 along ω0, the same differential scattering volume is

(G46) d V = μ 0 d O 0 d s 0 , μ 0 = | cos ϑ 0 | .

Hence,

(G47) μ • d O d s 1 = μ 0 d O 0 d s 0 .

Now let h(x1) be any integrable function of the scattering point. Then integration over the same scattering volume can be written equivalently as

(G48) ∫ ∫ h ( x • - s 1 ω • ) μ • d O d s 1 = ∫ ∫ h ( x 0 + s 0 ω 0 ) μ 0 d O 0 d s 0 .

In the detector-side formulation, the restriction to the selected detector area O is already contained in the integration over x•∈O. After rewriting the integral in solar-side variables (x0,s0), this detector selection is no longer part of the integration limits. Since O0 denotes the full illuminated sunlight-entry boundary, every illuminated scattering point is already represented once on the solar side, and the restriction to the chosen detector area must therefore be written explicitly through the indicator function

(G49) χ ( x • ) = 1 , if  x • ∈ O , 0 , otherwise,

where on the right-hand side x• denotes the point where the ray from the scattering point x1=x0+s0ω0 in direction ω• intersects the detector area O. Hence,

(G50) ∫ O ∫ 0 ∞ h ( x • - s 1 ω • ) μ • d s 1 d O = ∫ O 0 ∫ 0 ∞ h ( x 0 + s 0 ω 0 ) χ ( x • ) μ 0 d s 0 d O 0 .

Dividing by μ• gives

(G51) ∫ O ∫ 0 ∞ h ( x • - s 1 ω • ) d s 1 d O = μ 0 μ • ∫ O 0 ∫ 0 ∞ h ( x 0 + s 0 ω 0 ) χ ( x • ) d s 0 d O 0 .

Equation (G51) shows that the factor μ0/μ• is the Jacobian that appears from rewriting the same scattering-volume integration in solar-side variables instead of detector-side variables.

Using Eqs. (G41) and (G51), the first-order detector-area-averaged radiance Stokes vector becomes

(G52) I ( 1 ) ( O , ω • ; ω 0 ) = μ 0 E 0 μ • O 4 π ∫ O 0 ∫ 0 ∞ a ( x 1 ) β ( x 1 ) × Z x 1 , ω • , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] × exp [ - τ ( x 1 → x • ) ] χ ( x • ) d s 0 d O 0 ,

where x1=x0+s0ω0, and where x• is the intersection point of the ray from x1 in direction ω• with the detector boundary.

G6.2 Second-order contribution

For the second-order contribution, we start from the point-detector expression in Eq. (G38) and average it over the detector area O. This gives

(G53) I ( 2 ) ( O , ω • ; ω 0 ) = E 0 O ( 4 π ) 2 ∫ O ∫ 0 ∞ a ( x 2 ) β ( x 2 ) × exp [ - τ ( x 2 → x • ) ] × ∫ 4 π Z x 2 , ω • , ω 1 ∫ 0 ∞ a ( x 1 ) β ( x 1 ) × Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] exp [ - τ ( x 1 → x 2 ) ] × d s 1 d Ω 1 d s 2 d O ,

where

(G54) x 2 = x • - s 2 ω • , x 1 = x 2 - s 1 ω 1 .

Thus, in the detector-side parameterisation, the last scattering point x2 lies on the detector line of sight, while the preceding scattering point x1 lies upstream of x2 in direction −ω1. In forward mode, the same two scattering points are more naturally described by

(G55) x 1 = x 0 + s 0 ω 0 , x 2 = x 1 + s 1 ω 1 ,

with x0∈O0.

The change of variables is carried out with respect to the second scattering point x2. For fixed ω1 and s1, the relation between the two scattering points is

(G56) x 2 = x 1 + s 1 ω 1 , x 1 = x 2 - s 1 ω 1 .

Hence, once x2 is specified, x1 is uniquely determined, and vice versa. The map from x1 to x2 is therefore a translation, and no additional Jacobian factor is introduced by the relation between the first and second scattering points (i.e., it has Jacobian 1). The only Jacobian arises when the same set of possible second-scattering locations x2 is parameterised either from the detector side by (x•,s2) or from the solar side by (x0,s0). For a horizontal area element dO at the detector boundary and a path-length interval ds2 along ω•, the corresponding differential volume of second-scattering locations is

(G57) d V = μ • d O d s 2 , μ • = | cos ϑ • | .

Likewise, for a horizontal area element dO0 at the sunlight-entry boundary and a path-length interval ds0 along ω0, the same set of second-scattering locations is described by

(G58) d V = μ 0 d O 0 d s 0 , μ 0 = | cos ϑ 0 | .

Therefore,

(G59) μ • d O d s 2 = μ 0 d O 0 d s 0 ,

and hence

(G60) d O d s 2 = μ 0 μ • d O 0 d s 0 .

Exactly as in the first-order case, the indicator function χ is not part of this Jacobian. It only selects those second-scattering points for which the detector ray from x2 in direction ω• intersects the chosen detector area O.

Substituting Eq. (G60) into Eq. (G53), and using the forward parameterisation in Eq. (G55), gives

(G61) I ( 2 ) ( O , ω • ; ω 0 ) = μ 0 E 0 μ • O ( 4 π ) 2 ∫ O 0 ∫ 0 ∞ a ( x 1 ) β ( x 1 ) × exp [ - τ ( x 0 → x 1 ) ] × ∫ 4 π ∫ 0 ∞ a ( x 2 ) β ( x 2 ) × Z x 2 , ω • , ω 1 Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 1 → x 2 ) ] exp [ - τ ( x 2 → x • ) ] × χ ( x • ) d s 1 d Ω 1 d s 0 d O 0 ,

with

(G62) x 1 = x 0 + s 0 ω 0 , x 2 = x 1 + s 1 ω 1 .

Equation (G61) is therefore the finite-area forward formulation corresponding to Eq. (G38). The factor μ0/μ• appears because the integration over the second-scattering locations is rewritten from detector-side variables to solar-side variables, whereas the relation between x1 and x2 contributes no further Jacobian because it is a translation.

G6.3 Third- and higher-order contributions

For completeness, we also write the third-order contribution first in the detector-side parameterisation. Averaging the point-detector expression of Eq. (G39) over the detector area O gives

(G63) I ( 3 ) ( O , ω • ; ω 0 ) = E 0 O ( 4 π ) 3 ∫ O ∫ 0 ∞ a ( x 3 ) β ( x 3 ) × exp [ - τ ( x 3 → x • ) ] × ∫ 4 π Z x 3 , ω • , ω 2 ∫ 0 ∞ a ( x 2 ) β ( x 2 ) × exp [ - τ ( x 2 → x 3 ) ] × ∫ 4 π Z x 2 , ω 2 , ω 1 × ∫ 0 ∞ a ( x 1 ) β ( x 1 ) Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] exp [ - τ ( x 1 → x 2 ) ] × d s 1 d Ω 1 d s 2 d Ω 2 d s 3 d O ,

where

(G64) x 3 = x • - s 3 ω • , x 2 = x 3 - s 2 ω 2 , x 1 = x 2 - s 1 ω 1 .

Thus, in the detector-side parameterisation, the last scattering point x3 lies on the detector line of sight, while the preceding scattering points x2 and x1 lie successively upstream.

For the forward Monte Carlo formulation, the same set of third-scattering locations is instead parameterised from the solar side. As for the second-order contribution, the only Jacobian arises from rewriting the volume element of the last scattering point. The intermediate scattering points are related by translations and therefore introduce no additional Jacobian. This gives

(G65) I ( 3 ) ( O , ω • ; ω 0 ) = μ 0 E 0 μ • O ( 4 π ) 3 ∫ O 0 ∫ 0 ∞ a ( x 1 ) β ( x 1 ) × exp [ - τ ( x 0 → x 1 ) ] × ∫ 4 π ∫ 0 ∞ a ( x 2 ) β ( x 2 ) exp [ - τ ( x 1 → x 2 ) ] × ∫ 4 π ∫ 0 ∞ a ( x 3 ) β ( x 3 ) Z x 3 , ω • , ω 2 × Z x 2 , ω 2 , ω 1 Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 2 → x 3 ) ] exp [ - τ ( x 3 → x • ) ] × χ ( x • ) d s 2 d Ω 2 d s 1 d Ω 1 d s 0 d O 0 ,

with

(G66) x 1 = x 0 + s 0 ω 0 , x 2 = x 1 + s 1 ω 1 , x 3 = x 2 + s 2 ω 2 .

For higher scattering orders, the same pattern continues: one additional scattering direction and one additional free-path variable are introduced for each extra collision. The factor μ0/μ• appears only once, because only the last scattering location is reparameterised from detector-side variables to solar-side variables. The intermediate collision points are related by translations with Jacobian 1. The indicator function χ likewise remains unchanged, since it always selects whether the ray from the last scattering event intersects the detector area O.

G7 Forward Monte Carlo estimators of the scattered radiance

Up to this point in this appendix, the expressions for the various radiance contributions from different scattering orders have been written in fully deterministic form: they are exact integral representations of the radiance Stokes vector, and no stochastic or Monte Carlo sampling has yet been involved. We now show how those deterministic expressions can be evaluated statistically with Monte Carlo simulations. The basic idea is to interpret the integration variables, such as free-path lengths and scattering directions, as random variables drawn from appropriate probability density functions. In this way, the deterministic radiance integrals are evaluated as sample averages over many independently simulated photon trajectories.

For readability, the derivation below is written for a medium with one atmospheric constituent at each location, described by β, a, and Z. In the actual implementation, a grid cell may contain gas molecules and one or more aerosol types. The free path is then sampled with the total extinction coefficient of the local mixture, after which the interacting constituent is selected with probability βt/β (Sect. 2.3 and Appendix A). The estimator keeps the same form, but a and Z are replaced by at and Zt of the selected constituent type t. Averaged over many photon histories, this is equivalent to using the effective single-scattering matrix of the mixture, see Eq. (A24).

G7.1 First-order forward estimator

We first consider the simplest case, namely the first-order scattered radiance. We show how the deterministic first-order radiance Stokes-vector expression for a finite detector area (Eq. G52) can be evaluated using a forward Monte Carlo simulation.

Equation (G52) has the form of an integral over the sunlight-entry location x0 and the first free-path length s0. In general, an integral of a vector-valued function g1(x0,s0),

(G67) J = ∫ O 0 ∫ 0 ∞ g 1 ( x 0 , s 0 ) d s 0 d O 0 ,

can be simulated by sampling N times the random variables X0 and S0 from the joint PDF p(x0,s0), and computing the Monte Carlo estimator (see, e.g., Eq. 4.47 of Marshak and Davis, 2005)

(G68) J ≈ 1 N ∑ i = 1 N g 1 ( X 0 , i , S 0 , i ) p ( X 0 , i , S 0 , i ) .

The approximation sign indicates that the right-hand side is a finite-sample Monte Carlo estimate of the exact integral. The estimator is unbiased and converges to J in the limit N→∞. For finite N it contains Monte Carlo sampling noise.

In the forward Monte Carlo simulation, photon launch positions X0,i are sampled uniformly over O0, so that the PDF for the horizontal launch location is

(G69) p O 0 ( x 0 ) = 1 O 0 , x 0 ∈ O 0 .

For a given x0, the physical probability density for the distance to the first collision along the solar path follows an exponential distribution according to the Lambert-Beer law for radiative attenuation13:

(G70) p S 0 ( s 0 ∣ x 0 ) = β ( x 1 ) exp [ - τ ( x 0 → x 1 ) ] , x 1 = x 0 + s 0 ω 0 , s 0 ≥ 0 .

In the simulation, the free path S0,i of photon i is stochastically sampled from pS0(s0∣X0,i) using the inverse transform method (see Appendix B). The joint sampling density for a photon trajectory with one scattering event is therefore

(G71) p ( x 0 , s 0 ) = p O 0 ( x 0 ) p S 0 ( s 0 ∣ x 0 ) .

Let g1(x0,s0) denote the integrand of Eq. (G52). Explicitly,

(G72) g 1 ( x 0 , s 0 ) = μ 0 E 0 μ • O 4 π a ( x 1 ) β ( x 1 ) Z x 1 , ω • , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] × exp [ - τ ( x 1 → x • ) ] χ ( x • ) .

Dividing by the sampling densities pO0(x0)pS0(s0∣x0) yields

(G73) g 1 ( x 0 , s 0 ) p O 0 ( x 0 ) p S 0 ( s 0 ∣ x 0 ) = μ 0 O 0 E 0 μ • O 4 π a ( x 1 ) Z x 1 , ω • , ω 0 1 × exp [ - τ ( x 1 → x • ) ] χ ( x • ) .

Thus, the factors β(x1) and exp[-τ(x0→x1)] cancel with the sampling density and are accounted for implicitly through the stochastic sampling of the free path.

For N simulated photons, each corresponding to an independent realisation of the random pair (X0,i,S0,i), the singly scattered radiance Stokes vector averaged over the detector area O is therefore estimated according to Eq. (G68) as

(G74) I ( 1 ) ( O , ω • ; ω 0 ) ≈ μ 0 O 0 E 0 μ • O 4 π 1 N ∑ i = 1 N a ( x 1 , i ) Z x 1 , i , ω • , ω 0 1 × exp [ - τ ( x 1 , i → x i • ) ] χ ( x i • ) ,

where

x1,i=X0,i+S0,iω0

denotes the sampled first scattering location of photon i, and xi• is the corresponding detector-boundary intersection point of the ray in direction ω•.

Equation (G74) is the first-order local estimate of Marchuk et al. (1980) written in the practical forward Monte Carlo form used here. Photons are launched uniformly over the source area O0, the first atmospheric event is sampled along the sunlight direction, and at that event location the contribution towards the detector is evaluated along the collimated direction ω•.

G7.2 Second-order forward estimator

We now derive the forward Monte Carlo estimator for the second-order radiance Stokes vector contribution. In this case, a photon trajectory contains two scattering events: a first scattering at location x1, a change of propagation direction to ω1, and a second scattering at location x2, at which the contribution towards the detector is computed. We use the finite-area forward formulation derived in Eq. (G61).

Equation (G61) has the form of an integral over the sunlight-entry location x0, the first free-path length s0, the intermediate propagation direction ω1, and the second free-path length s1. In general, an integral of a vector-valued function g2(x0,s0,ω1,s1),

(G75) J = ∫ O 0 ∫ 0 ∞ ∫ 4 π ∫ 0 ∞ g 2 ( x 0 , s 0 , ω 1 , s 1 ) d s 1 d Ω 1 d s 0 d O 0 ,

can be simulated by the Monte Carlo estimator

(G76) J ≈ 1 N ∑ i = 1 N g 2 ( X 0 , i , S 0 , i , Ω 1 , i , S 1 , i ) p ( X 0 , i , S 0 , i , Ω 1 , i , S 1 , i ) ,

where the random quadruples (X0,i,S0,i,Ω1,i,S1,i) are sampled from the joint density p(x0,s0,ω1,s1) with

(G77) x 1 = x 0 + s 0 ω 0 .

As in the first-order case, photons are launched uniformly over O0, so that

(G78) p O 0 ( x 0 ) = 1 O 0 , x 0 ∈ O 0 .

For a given x0, the first free-path length is sampled from (Appendix B)

(G79) p S 0 ( s 0 ∣ x 0 ) = β ( x 1 ) exp [ - τ ( x 0 → x 1 ) ] , x 1 = x 0 + s 0 ω 0 , s 0 ≥ 0 .

At the first scattering event, the new propagation direction ω1 is sampled from the angular probability density (Eq. D7)

(G80) p Ω 1 ( ω 1 ∣ x 1 , 1 ) = 1 4 π Z x 1 , ω 1 , ω 0 1 1 .

which reduces to the simple form F11(Θ)/(4π) because the incident solar beam is unpolarised at the first scattering event. Given (x1,ω1), the second free-path length is sampled from (Appendix B)

(G81) p S 1 ( s 1 ∣ x 1 , ω 1 ) = β ( x 2 ) exp [ - τ ( x 1 → x 2 ) ] , x 2 = x 1 + s 1 ω 1 , s 1 ≥ 0 .

The joint sampling density for a photon trajectory with two scattering events is therefore

(G82) p ( x 0 , s 0 , ω 1 , s 1 ) = p O 0 ( x 0 ) p S 0 ( s 0 ∣ x 0 ) p Ω 1 ( ω 1 ∣ x 1 , 1 ) × p S 1 ( s 1 ∣ x 1 , ω 1 ) .

Let g2(x0,s0,ω1,s1) denote the integrand of Eq. (G61). Explicitly,

(G83) g 2 ( x 0 , s 0 , ω 1 , s 1 ) = μ 0 E 0 μ • O 1 ( 4 π ) 2 a ( x 1 ) × β ( x 1 ) exp [ - τ ( x 0 → x 1 ) ] ︸ solar path × a ( x 2 ) β ( x 2 ) exp [ - τ ( x 1 → x 2 ) ] ︸ inter-collision path × Z x 2 , ω • , ω 1 Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 2 → x • ) ] χ ( x • ) .

Dividing Eq. (G83) by the sampling densities shows that the factors

1O0,β(x1)exp[-τ(x0→x1)],14πZx1,ω1,ω011,β(x2)exp[-τ(x1→x2)]

cancel with the chosen sampling densities. We define the normalised radiance Stokes vector after the first scattering event as

(G84) I ‾ 1 = Z x 1 , ω 1 , ω 0 1 Z x 1 , ω 1 , ω 0 1 1 .

Using this definition, the remaining contribution becomes

(G85) g 2 ( x 0 , s 0 , ω 1 , s 1 ) p O 0 ( x 0 ) p S 0 ( s 0 ∣ x 0 ) p Ω 1 ( ω 1 ∣ x 1 , 1 ) p S 1 ( s 1 ∣ x 1 , ω 1 ) = μ 0 O 0 E 0 μ • O 4 π a ( x 1 ) a ( x 2 ) Z x 2 , ω • , ω 1 I ‾ 1 × exp [ - τ ( x 2 → x • ) ] χ ( x • ) .

For N simulated photons, the second-order scattered radiance Stokes vector averaged over the detector area O is therefore estimated as

(G86) I ( 2 ) ( O , ω • ; ω 0 ) ≈ μ 0 O 0 E 0 μ • O 4 π 1 N ∑ i = 1 N a ( x 1 , i ) a ( x 2 , i ) × Z x 2 , i , ω • , ω 1 , i I ‾ 1 , i × exp [ - τ ( x 2 , i → x i • ) ] χ ( x i • ) ,

where

x1,i=X0,i+S0,iω0,x2,i=x1,i+S1,iΩ1,i,

and where xi• is the corresponding detector-boundary intersection point of the ray from x2,i in direction ω•.

Equation (G86) is the second-order local estimate in the practical forward Monte Carlo form used here: photons are launched uniformly over the source area O0, the first and second collision locations are sampled successively along the directions ω0 and ω1, and at the second collision point the contribution towards the detector is evaluated along the collimated direction ω•.

G7.3 Third- and higher-order forward estimators

It is useful to evaluate the third-order scattered radiance explicitly, because at this order the polarisation state of the photon starts to affect the sampling of the scattering direction itself. We use the finite-area forward formulation derived in Eq. (G65).

Equation (G65) has the form of an integral over the sunlight-entry location x0, the first free-path length s0, the first intermediate propagation direction ω1, the second free-path length s1, the second intermediate propagation direction ω2, and the third free-path length s2. In general, an integral of a vector-valued function g3(x0,s0,ω1,s1,ω2,s2),

(G87) J = ∫ O 0 ∫ 0 ∞ ∫ 4 π ∫ 0 ∞ ∫ 4 π ∫ 0 ∞ g 3 ( x 0 , s 0 , ω 1 , s 1 , ω 2 , s 2 ) × d s 2 d Ω 2 d s 1 d Ω 1 d s 0 d O 0 ,

can be simulated by the Monte Carlo estimator

(G88) J ≈ 1 N ∑ i = 1 N g 3 ( X 0 , i , S 0 , i , Ω 1 , i , S 1 , i , Ω 2 , i , S 2 , i ) p ( X 0 , i , S 0 , i , Ω 1 , i , S 1 , i , Ω 2 , i , S 2 , i ) .

Here, the random sextuples (X0,i,S0,i,Ω1,i,S1,i,Ω2,i,S2,i) are sampled from the joint density p(x0,s0,ω1,s1,ω2,s2).

As in the first- and second-order cases, photons are launched uniformly over O0, so that

(G89) p O 0 ( x 0 ) = 1 O 0 , x 0 ∈ O 0 .

For a given x0, the first free-path length is sampled from (Appendix B)

(G90) p S 0 ( s 0 ∣ x 0 ) = β ( x 1 ) exp [ - τ ( x 0 → x 1 ) ] , x 1 = x 0 + s 0 ω 0 , s 0 ≥ 0 .

At the first scattering event, the outgoing direction ω1 is sampled from (Eq. D7)

(G91) p Ω 1 ( ω 1 ∣ x 1 , 1 ) = 1 4 π Z x 1 , ω 1 , ω 0 1 1 .

Given (x1,ω1), the second free-path length is sampled from (Appendix B)

(G92) p S 1 ( s 1 ∣ x 1 , ω 1 ) = β ( x 2 ) exp [ - τ ( x 1 → x 2 ) ] , x 2 = x 1 + s 1 ω 1 , s 1 ≥ 0 .

The normalised radiance Stokes vector after the first scattering event is, as in Eq. (G84),

(G93) I ‾ 1 = Z x 1 , ω 1 , ω 0 1 Z x 1 , ω 1 , ω 0 1 1 .

At the second scattering event, the incident beam is in general already polarised. Therefore, the new direction ω2 must be sampled from the polarisation-dependent angular probability density (Eq. D7)

(G94) p Ω 2 ( ω 2 ∣ x 2 , I ‾ 1 , ω 1 ) = 1 4 π Z x 2 , ω 2 , ω 1 I ‾ 1 1 .

The corresponding normalised radiance Stokes vector after the second scattering event is

(G95) I ‾ 2 = Z x 2 , ω 2 , ω 1 I ‾ 1 Z x 2 , ω 2 , ω 1 I ‾ 1 1 .

Given (x2,ω2), the third free-path length is sampled from

(G96) p S 2 ( s 2 ∣ x 2 , ω 2 ) = β ( x 3 ) exp [ - τ ( x 2 → x 3 ) ] , x 3 = x 2 + s 2 ω 2 , s 2 ≥ 0 .

The joint sampling density for a photon trajectory with three scattering events is therefore

(G97) p ( x 0 , s 0 , ω 1 , s 1 , ω 2 , s 2 ) = p O 0 ( x 0 ) p S 0 ( s 0 ∣ x 0 ) × p Ω 1 ( ω 1 ∣ x 1 , 1 ) × p S 1 ( s 1 ∣ x 1 , ω 1 ) × p Ω 2 ( ω 2 ∣ x 2 , I ‾ 1 , ω 1 ) × p S 2 ( s 2 ∣ x 2 , ω 2 ) .

Let g3(x0,s0,ω1,s1,ω2,s2) denote the integrand of Eq. (G65). Explicitly,

(G98) g 3 ( x 0 , s 0 , ω 1 , s 1 , ω 2 , s 2 ) = μ 0 E 0 μ • O 1 ( 4 π ) 3 a ( x 1 ) × β ( x 1 ) exp [ - τ ( x 0 → x 1 ) ] ︸ solar path × a ( x 2 ) β ( x 2 ) exp [ - τ ( x 1 → x 2 ) ] ︸ first inter-collision path × a ( x 3 ) β ( x 3 ) exp [ - τ ( x 2 → x 3 ) ] ︸ second inter-collision path × Z x 3 , ω • , ω 2 × Z x 2 , ω 2 , ω 1 Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 3 → x • ) ] χ ( x • ) .

Here,

(G99) x 1 = x 0 + s 0 ω 0 , x 2 = x 1 + s 1 ω 1 , x 3 = x 2 + s 2 ω 2 .

Dividing Eq. (G98) by the sampling densities shows that the factors

1O0,β(x1)exp[-τ(x0→x1)],14πZx1,ω1,ω011,β(x2)exp[-τ(x1→x2)],14πZx2,ω2,ω1I‾11,β(x3)exp[-τ(x2→x3)]

cancel with the corresponding sampling densities. Using the definition of I‾2, the remaining contribution becomes

(G100) g 3 ( x 0 , s 0 , ω 1 , s 1 , ω 2 , s 2 ) p O 0 ( x 0 ) p S 0 ( s 0 ∣ x 0 ) p Ω 1 ( ω 1 ∣ x 1 , 1 ) × p S 1 ( s 1 ∣ x 1 , ω 1 ) p Ω 2 ( ω 2 ∣ x 2 , I ‾ 1 , ω 1 ) × p S 2 ( s 2 ∣ x 2 , ω 2 ) = μ 0 O 0 E 0 μ • O 4 π a ( x 1 ) a ( x 2 ) a ( x 3 ) Z x 3 , ω • , ω 2 I ‾ 2 × exp [ - τ ( x 3 → x • ) ] χ ( x • ) .

For N simulated photons, the third-order scattered radiance Stokes vector averaged over the detector area O is therefore estimated as

(G101) I ( 3 ) ( O , ω • ; ω 0 ) ≈ μ 0 O 0 E 0 μ • O 4 π 1 N ∑ i = 1 N × a ( x 1 , i ) a ( x 2 , i ) a ( x 3 , i ) × Z x 3 , i , ω • , ω 2 , i I ‾ 2 , i × exp [ - τ ( x 3 , i → x i • ) ] χ ( x i • ) ,

where

x1,i=X0,i+S0,iω0,x2,i=x1,i+S1,iΩ1,i,x3,i=x2,i+S2,iΩ2,i,

and where xi• is the corresponding detector-boundary intersection point of the ray from x3,i in direction ω•.

Equation (G101) is the third-order local estimate in the practical forward Monte Carlo form used here. In contrast to the first- and second-order cases, the sampling of the second intermediate direction ω2 is here explicitly polarisation dependent (Eq. G94), because the beam incident on the second scattering event is already polarised.

The pattern that emerges from the third-order case extends directly to all higher scattering orders. Let the normalised Stokes vector, which is initialised as I‾0=1 at injection, after scattering order n be

(G102) I ‾ n = Z x n , ω n , ω n - 1 I ‾ n - 1 Z x n , ω n , ω n - 1 I ‾ n - 1 1 .

Then the Monte Carlo estimator for the nth-order scattered radiance Stokes vector averaged over the detector area O can be written as

(G103) I ( n ) ( O , ω • ; ω 0 ) ≈ μ 0 O 0 E 0 μ • O 4 π 1 N ∑ i = 1 N w n , i × Z x n , i , ω • , ω n - 1 , i I ‾ n - 1 , i × exp [ - τ ( x n , i → x i • ) ] χ ( x i • ) ,

where

(G104) w n , i = ∏ l = 1 n a ( x l , i )

is the weight of photon i at scattering order n.

Finally, the total scattered radiance Stokes vector averaged over the detector area O is obtained by summing over all scattering orders:

(G105) I ( O , ω • ; ω 0 ) = ∑ n = 1 ∞ I ( n ) ( O , ω • ; ω 0 ) ≈ μ 0 O 0 E 0 μ • O 4 π 1 N ∑ i = 1 N ∑ n = 1 M i w n , i × Z x n , i , ω • , ω n - 1 , i I ‾ n - 1 , i × exp [ - τ ( x n , i → x i • ) ] χ ( x i • ) ,

where Mi is the total number of scattering events for photon i. Equation (G105) shows that, in the Monte Carlo simulation, a photon can be recycled to simulate the radiance contributions from all scattering orders: after computing the local estimate for scattering event n, the photon continues its trajectory through the domain to scattering event n+1, and so on, until it leaves the domain or its weight becomes negligible.

G8 Backward Monte Carlo estimators of the scattered radiance

In backward Monte Carlo, photons are launched from the detector and traced upstream through the medium. As in the forward case, backward Monte Carlo simulates the same detector radiance Stokes vector, but the sampling strategy is reversed: photon trajectories are sampled from detector to source instead of from source to detector.

To remain consistent with the notation of the forward Monte Carlo derivation, we label the scattering events in forward order: x1,x2,…,xn, where x1 is the first scattering event encountered by the incoming solar beam and xn the last scattering event before the detector. Likewise, the propagation directions are labelled as ω0,ω1,…,ωn, where ω0 is the incident solar-beam direction before the first scattering event and ωn≡ω• is the detector direction after the last scattering event in the forward trajectory. In backward Monte Carlo, the same physical trajectory is sampled in reverse order, starting with event xn and ending with x1.

As in Appendix G7, the derivation below is written for a medium with one atmospheric scattering constituent type at each location, determining β, a, and Z. The constituent selection used for mixed grid cells is described in Sect. 2.3 and Appendix A.

For polarised radiative transfer, the phase matrix along the reversed trajectory is not identical to the phase matrix in the forward trajectory, because the Stokes-vector orientation is mirrored, as explained in Sect. 2.4. At a scattering event that has forward incident and scattered directions ωn−1 and ωn, respectively, the backward simulation samples the same event in the reversed geometry, with directions −ωn and -ωn-1. The corresponding forward phase matrix is obtained from the phase matrix in the reversed scattering geometry through the reciprocity relation of Hovenier et al. (2004):

(G106) Z ( x n , ω n , ω n - 1 ) = Δ 3 Z ( x n , - ω n - 1 , - ω n ) T Δ 3 , Δ 3 = diag ( 1 , 1 , - 1 , 1 ) .

In the derivation below we continue to write the phase matrices as they appear along the associated forward trajectory, with the understanding that in the actual backward simulation they are evaluated through Eq. (G106).

To retain the full polarisation history during backward sampling, we introduce a normalised 4×4 matrix M‾m, which contains the cumulative polarisation-dependent detector response after the m detector-side scattering events closest to the detector have been incorporated. At the detector, this matrix is initialised as

(G107) M ‾ 0 = diag ( 1 , 1 , 1 , 1 ) ,

which is the 4×4 identity matrix.

G8.1 First-order backward estimator

For the first-order contribution, the only scattering point lies on the detector line of sight. The finite-area expression in Eq. (G41) is already written in this detector-side parameterisation: the integration is over detector-boundary points x•∈O and over the distance s1 along the ray opposite to the detector direction. This is precisely the natural parameterisation for backward tracing. We therefore take Eq. (G41) as the starting point, with

(G108) x 1 = x • - s 1 ω • , s 1 > 0 .

Here, x• is the detector-boundary launch point of the backward photon, and x0 is the point where the solar ray through x1 enters the computational domain in direction ω0. Since the integration is performed directly over the detector area O, no transformation to a source-area parameterisation is needed. Consequently, no factor μ0/μ• and no indicator function χ appear in the backward formulation.

Equation (G41) has the form of an integral over the detector launch location x• and the first free-path length s1. In general, an integral of a vector-valued function g1bw(x•,s1),

(G109) J = ∫ O ∫ 0 ∞ g 1 bw ( x • , s 1 ) d s 1 d O ,

can be simulated by sampling the random pair (X•,S1) from the joint PDF pbw(x•,s1) and computing the Monte Carlo estimator

(G110) J ≈ 1 N ∑ i = 1 N g 1 bw ( X i • , S 1 , i ) p bw ( X i • , S 1 , i ) .

In backward mode, photons are launched uniformly over the detector area O, so that

(G111) p O ( x • ) = 1 O , x • ∈ O .

For a given launch point x•, the first free-path length is sampled from the physical Lambert-Beer distribution along the backward trajectory (again, see Appendix B):

(G112) p S 1 bw ( s 1 ∣ x • ) = β ( x 1 ) exp [ - τ ( x 1 → x • ) ] , x 1 = x • - s 1 ω • , s 1 ≥ 0 ,

noting that τ(x•→x1)=τ(x1→x•). The joint sampling density for a photon trajectory with one scattering event is therefore

(G113) p bw ( x • , s 1 ) = p O ( x • ) p S 1 bw ( s 1 ∣ x • ) .

Let g1bw(x•,s1) denote the integrand of Eq. (G41). Explicitly,

(G114) g 1 bw ( x • , s 1 ) = E 0 4 π O a ( x 1 ) β ( x 1 ) Z x 1 , ω • , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] exp [ - τ ( x 1 → x • ) ] .

Dividing by the sampling densities pO(x•)pS1bw(s1∣x•) yields

(G115) g 1 bw ( x • , s 1 ) p O ( x • ) p S 1 bw ( s 1 ∣ x • ) = E 0 4 π a ( x 1 ) Z x 1 , ω • , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] .

Thus, the factors β(x1) and exp[-τ(x1→x•)] cancel with the sampling density and are accounted for implicitly through the stochastic sampling of the backward free path.

For N simulated photons, the singly scattered detector-area-averaged radiance Stokes vector is therefore estimated as

(G116) I ( 1 ) ( O , ω • ; ω 0 ) ≈ E 0 4 π 1 N ∑ i = 1 N a ( x 1 , i ) Z x 1 , i , ω • , ω 0 1 × exp [ - τ ( x 0 , i → x 1 , i ) ] ,

where

(G117) x 1 , i = X i • - S 1 , i ω • .

Here, Xi• is the sampled detector launch position of photon i, and x0,i is the point where the solar ray through x1,i in direction −ω0 enters the computational domain. Compared to the first-order forward estimator (Eq. G74), the detector-side transmittance has been absorbed into the backward free-path sampling, while the remaining explicit transmittance is the direct solar transmittance from x1,i to the source boundary. Equation (G116) is therefore the first-order local estimate in practical backward Monte Carlo form.

G8.2 Second-order backward estimator

For the second-order contribution, the last scattering point of the forward trajectory, x2, lies on the detector line of sight, while the preceding scattering point, x1, lies upstream of x2 in direction −ω1. The finite-area expression in Eq. (G53) is already written in this detector-side parameterisation, with

(G118) x 2 = x • - s 2 ω • , x 1 = x 2 - s 1 ω 1 , s 2 > 0 , s 1 > 0 .

We therefore use Eq. (G53) as the starting point for the second-order backward estimator. Here, x•∈O is the detector-boundary launch point of the backward photon, and x0 is the point where the solar ray through x1 enters the computational domain in direction ω0.

Equation (G53) has the form of an integral over the detector launch location x•, the free-path length s2 from the detector to the last scattering event, the intermediate propagation direction ω1, and the free-path length s1 from x2 to x1. In general, an integral of a vector-valued function g2bw(x•,s2,ω1,s1),

(G119) J = ∫ O ∫ 0 ∞ ∫ 4 π ∫ 0 ∞ g 2 bw ( x • , s 2 , ω 1 , s 1 ) d s 1 d Ω 1 d s 2 d O ,

can be simulated by sampling the random quadruple (X•,S2,Ω1,S1) from the joint PDF pbw(x•,s2,ω1,s1) and computing the Monte Carlo estimator

(G120) J ≈ 1 N ∑ i = 1 N g 2 bw ( X i • , S 2 , i , Ω 1 , i , S 1 , i ) p bw ( X i • , S 2 , i , Ω 1 , i , S 1 , i ) .

As in the first-order case, the detector launch position is sampled uniformly over O, so that

(G121) p O ( x • ) = 1 O , x • ∈ O .

For a given launch point x•, the free-path length to the last scattering point is sampled from (Appendix B)

(G122) p S 2 bw ( s 2 ∣ x • ) = β ( x 2 ) exp [ - τ ( x 2 → x • ) ] , x 2 = x • - s 2 ω • , s 2 ≥ 0 .

At x2, the preceding direction ω1 is sampled from the backward angular probability density (Eq. D11)

(G123) p Ω 1 bw ( ω 1 ∣ x 2 , ω • , M ‾ 0 ) = 1 4 π M ‾ 0 Z x 2 , ω • , ω 1 1 1 = 1 4 π Z x 2 , ω • , ω 1 1 1 ,

and the detector-response matrix is updated according to

(G124) M ‾ 1 = M ‾ 0 Z x 2 , ω • , ω 1 M ‾ 0 Z x 2 , ω • , ω 1 1 1 .

Given (x2,ω1), the free-path length from x2 to x1 is sampled from (Appendix B)

(G125) p S 1 bw ( s 1 ∣ x 2 , ω 1 ) = β ( x 1 ) exp [ - τ ( x 1 → x 2 ) ] , x 1 = x 2 - s 1 ω 1 , s 1 ≥ 0 .

The joint sampling density for a photon trajectory with two scattering events is therefore

(G126) p bw ( x • , s 2 , ω 1 , s 1 ) = p O ( x • ) p S 2 bw ( s 2 ∣ x • ) × p Ω 1 bw ( ω 1 ∣ x 2 , ω • , M ‾ 0 ) × p S 1 bw ( s 1 ∣ x 2 , ω 1 ) .

Let g2bw(x•,s2,ω1,s1) denote the integrand of Eq. (G53). Explicitly,

(G127) g 2 bw ( x • , s 2 , ω 1 , s 1 ) = E 0 O ( 4 π ) 2 a ( x 2 ) × β ( x 2 ) exp [ - τ ( x 2 → x • ) ] ︸ upstream detector path × a ( x 1 ) β ( x 1 ) exp [ - τ ( x 1 → x 2 ) ] ︸ upstream inter-collision path × Z x 2 , ω • , ω 1 Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] .

Dividing Eq. (G127) by the joint sampling density shows that the factors

1O,β(x2)exp[-τ(x2→x•)],14πZx2,ω•,ω111,β(x1)exp[-τ(x1→x2)]

cancel with the chosen sampling densities. The remaining contribution is

(G128) g 2 bw ( x • , s 2 , ω 1 , s 1 ) p O ( x • ) p S 2 bw ( s 2 ∣ x • ) p Ω 1 bw ( ω 1 ∣ x 2 , ω • , M ‾ 0 ) × p S 1 bw ( s 1 ∣ x 2 , ω 1 ) = E 0 4 π a ( x 2 ) a ( x 1 ) M ‾ 1 Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] .

For N simulated photons, the second-order scattered detector-area-averaged radiance Stokes vector is therefore estimated as

(G129) I ( 2 ) ( O , ω • ; ω 0 ) ≈ E 0 4 π 1 N ∑ i = 1 N a ( x 2 , i ) a ( x 1 , i ) M ‾ 1 , i × Z x 1 , i , ω 1 , i , ω 0 1 × exp [ - τ ( x 0 , i → x 1 , i ) ] ,

where

(G130) x 2 , i = X i • - S 2 , i ω • , x 1 , i = x 2 , i - S 1 , i Ω 1 , i .

Here, Xi• is the sampled detector launch position of photon i, and x0,i is the point where the solar ray through x1,i in direction −ω0 enters the computational domain. Equation (G129) is therefore the second-order local estimate in practical backward Monte Carlo form: photons are launched uniformly over the detector area O, the last scattering event is sampled first along the detector line of sight, the preceding direction and preceding scattering point are then sampled upstream, and at the first forward scattering event the contribution from the solar direction is evaluated through the direct transmittance towards the source.

G8.3 Third- and higher-order backward estimators

The advantage of the detector-response matrix formulation becomes particularly clear for the third-order contribution. At this order, the sampling of the upstream direction at the second backward scattering event already depends on the polarisation history accumulated between that event and the detector.

The deterministic starting point is the detector-side finite-area expression in Eq. (G63). This expression is already written in the natural variables for backward tracing: the last scattering point of the forward trajectory lies on the detector line of sight, and the preceding scattering points are reached successively upstream,

(G131) x 3 = x • - s 3 ω • , x 2 = x 3 - s 2 ω 2 , x 1 = x 2 - s 1 ω 1 , s 3 > 0 , s 2 > 0 , s 1 > 0 .

Here, x•∈O is the detector-boundary launch point of the backward photon, and x0 is the point where the solar ray through x1 enters the computational domain in direction ω0. Since Eq. (G63) is kept in this detector-side parameterisation, no transformation to a source-area formulation is needed in backward mode. Consequently, no factor μ0/μ• and no detector-selection function χ appear.

As in the lower-order cases, the detector launch position is sampled uniformly over O according to Eq. (G111). For a given launch point x•, the free-path length to the last scattering point is sampled from (Appendix B)

(G132) p S 3 bw ( s 3 ∣ x • ) = β ( x 3 ) exp [ - τ ( x 3 → x • ) ] , x 3 = x • - s 3 ω • , s 3 ≥ 0 .

At x3, the preceding direction ω2 is sampled from the backward angular probability density (Eq. D11)

(G133) p Ω 2 bw ( ω 2 ∣ x 3 , ω • , M ‾ 0 ) = 1 4 π M ‾ 0 Z x 3 , ω • , ω 2 1 1 = 1 4 π Z x 3 , ω • , ω 2 1 1 ,

and the first detector-response update is again

(G134) M ‾ 1 = M ‾ 0 Z x 3 , ω • , ω 2 M ‾ 0 Z x 3 , ω • , ω 2 1 1 ,

which is identical in form to Eq. (G124).

Given (x3,ω2), the free-path length from x3 to x2 is sampled from (Appendix B)

(G135) p S 2 bw ( s 2 ∣ x 3 , ω 2 ) = β ( x 2 ) exp [ - τ ( x 2 → x 3 ) ] , x 2 = x 3 - s 2 ω 2 , s 2 ≥ 0 .

At x2, the next upstream direction ω1 is sampled from (Eq. D11)

(G136) p Ω 1 bw ( ω 1 ∣ x 2 , ω 2 , M ‾ 1 ) = 1 4 π M ‾ 1 Z x 2 , ω 2 , ω 1 1 1 .

This density depends explicitly on the accumulated detector response through M‾1; this is the first scattering order at which the backward angular sampling itself becomes explicitly polarisation-dependent. The detector-response matrix is then updated to

(G137) M ‾ 2 = M ‾ 1 Z x 2 , ω 2 , ω 1 M ‾ 1 Z x 2 , ω 2 , ω 1 1 1 .

Finally, given (x2,ω1), the free-path length from x2 to x1 is sampled from (Appendix B)

(G138) p S 1 bw ( s 1 ∣ x 2 , ω 1 ) = β ( x 1 ) exp [ - τ ( x 1 → x 2 ) ] , x 1 = x 2 - s 1 ω 1 , s 1 ≥ 0 .

The joint sampling density for a photon trajectory with three scattering events is therefore

(G139) p bw ( x • , s 3 , ω 2 , s 2 , ω 1 , s 1 ) = p O ( x • ) p S 3 bw ( s 3 ∣ x • ) × p Ω 2 bw ( ω 2 ∣ x 3 , ω • , M ‾ 0 ) × p S 2 bw ( s 2 ∣ x 3 , ω 2 ) × p Ω 1 bw ( ω 1 ∣ x 2 , ω 2 , M ‾ 1 ) × p S 1 bw ( s 1 ∣ x 2 , ω 1 ) .

Let g3bw(x•,s3,ω2,s2,ω1,s1) denote the integrand of Eq. (G63). Explicitly,

(G140) g 3 bw ( x • , s 3 , ω 2 , s 2 , ω 1 , s 1 ) = E 0 ( 4 π ) 3 O a ( x 3 ) × β ( x 3 ) exp [ - τ ( x 3 → x • ) ] ︸ upstream detector path × a ( x 2 ) × β ( x 2 ) exp [ - τ ( x 2 → x 3 ) ] ︸ first upstream inter-collision path × a ( x 1 ) × β ( x 1 ) exp [ - τ ( x 1 → x 2 ) ] ︸ second upstream inter-collision path × Z x 3 , ω • , ω 2 × Z x 2 , ω 2 , ω 1 Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] .

Dividing Eq. (G140) by the joint sampling density Eq. (G139) shows that the factors

1O,β(x3)exp[-τ(x3→x•)],14πZx3,ω•,ω211,β(x2)exp[-τ(x2→x3)],14πM‾1Zx2,ω2,ω111,β(x1)exp[-τ(x1→x2)]

cancel with the chosen sampling densities. The remaining contribution is

(G141) g 3 bw ( x • , s 3 , ω 2 , s 2 , ω 1 , s 1 ) p O ( x • ) p S 3 bw ( s 3 ∣ x • ) p Ω 2 bw ( ω 2 ∣ x 3 , ω • , M ‾ 0 ) × p S 2 bw ( s 2 ∣ x 3 , ω 2 ) p Ω 1 bw ( ω 1 ∣ x 2 , ω 2 , M ‾ 1 ) × p S 1 bw ( s 1 ∣ x 2 , ω 1 ) = E 0 4 π a ( x 3 ) a ( x 2 ) a ( x 1 ) M ‾ 2 Z x 1 , ω 1 , ω 0 1 × exp [ - τ ( x 0 → x 1 ) ] .

For N simulated photons, the third-order scattered detector-area-averaged radiance Stokes vector is therefore estimated as

(G142) I ( 3 ) ( O , ω • ; ω 0 ) ≈ E 0 4 π 1 N ∑ i = 1 N a ( x 3 , i ) a ( x 2 , i ) a ( x 1 , i ) × M ‾ 2 , i Z x 1 , i , ω 1 , i , ω 0 1 × exp [ - τ ( x 0 , i → x 1 , i ) ] .

Here,

(G143) x 3 , i = X i • - S 3 , i ω • , x 2 , i = x 3 , i - S 2 , i Ω 2 , i , x 1 , i = x 2 , i - S 1 , i Ω 1 , i ,

where Xi• is the sampled detector launch position of photon i, and x0,i is the point where the solar ray through x1,i in direction −ω0 enters the computational domain.

The pattern of the third-order derivation extends directly to all higher scattering orders. At each detector-side scattering event, the detector-response matrix is updated according to

(G144) M ‾ m = M ‾ m - 1 Z x n - m + 1 , ω n - m + 1 , ω n - m M ‾ m - 1 Z x n - m + 1 , ω n - m + 1 , ω n - m 1 1 , m = 1 , … , n - 1 .

The backward Monte Carlo estimator for the nth-order detector-area-averaged radiance Stokes vector is therefore

(G145) I ( n ) ( O , ω • ; ω 0 ) ≈ E 0 4 π 1 N ∑ i = 1 N w n , i M ‾ n - 1 , i × Z x 1 , i , ω 1 , i , ω 0 1 × exp [ - τ ( x 0 , i → x 1 , i ) ] .

where

(G146) w n , i = ∏ l = 1 n a ( x l , i )

is the photon weight at scattering order n.

In analogy with Eq. (G105), the total scattered detector-area-averaged radiance Stokes vector is

(G147) I ( O , ω • ; ω 0 ) = ∑ n = 1 ∞ I ( n ) ( O , ω • ; ω 0 ) ≈ E 0 4 π 1 N ∑ i = 1 N ∑ n = 1 M i w n , i M ‾ n - 1 , i × Z x 1 , i , ω 1 , i , ω 0 1 × exp [ - τ ( x 0 , i → x 1 , i ) ] ,

where Mi is the total number of scattering events for photon i.

It should be noted that the incident polarisation state along the backward trajectory need not be known a priori, because the propagated matrix M‾ represents the polarisation-dependent detector response rather than a physical radiance Stokes vector. The actual incident solar Stokes vector, E01, enters the estimator only when the backward trajectory reaches the solar-side scattering event x1. Hence, forward and backward Monte Carlo simulate the same detector radiance Stokes vector, while differing only in the way the photon trajectories are sampled.

G9 Classical angular sampling based on unpolarised PDFs

In this section, we discuss an alternative strategy for sampling the scattering direction in Monte Carlo simulations of polarised light, for both forward and backward tracing. The key idea is that the scattering direction can either be sampled from the full polarisation-dependent probability density function (PDF) such as in MONKI, or from a simplified PDF corresponding to unpolarised radiation, combined with an importance-sampling correction (Collins et al., 1972) such as used in MYSTIC (Emde et al., 2010) that we call the classical approach.

In forward Monte Carlo, the scattering direction at a second- or higher-order scattering event depends on the polarisation state of the incident radiation at the scattering particle. For example, at the second scattering event of a photon trajectory that continues to higher order, located at x2, the incident direction ω1 is known, and the outgoing direction ω2 to the next scattering event must be sampled. As shown in Eq. (G94), the physically correct PDF for sampling ω2 is

(G148) p Ω 2 ( ω 2 ∣ x 2 , I ‾ 1 , ω 1 ) = 1 4 π Z x 2 , ω 2 , ω 1 I ‾ 1 1 ,

where I‾1 is the normalised radiance Stokes vector immediately before the scattering event. In the classical approach, the scattering direction is instead sampled from the PDF corresponding to unpolarised incident radiation,

(G149) p Ω 2 ( 0 ) ( ω 2 ∣ x 2 , ω 1 ) = 1 4 π Z x 2 , ω 2 , ω 1 1 1 .

In that case, the photon's weight w must be multiplied with the correction factor:

(G150) C Ω 2 = Z x 2 , ω 2 , ω 1 I ‾ 1 1 Z x 2 , ω 2 , ω 1 1 1 .

In backward Monte Carlo, photons are traced from the detector towards the source. At a scattering event at x2, the direction ω2 towards the detector is known, and the preceding direction ω1 must be sampled. As shown in Eq. (G136), the physically correct sampling PDF is

(G151) p Ω 1 bw ( ω 1 ∣ x 2 , ω 2 , M ‾ 1 ) = 1 4 π M ‾ 1 Z x 2 , ω 2 , ω 1 1 1 ,

where M‾1 is the propagated normalised detector-response matrix. Analogously to the forward case, in the classical approach the unpolarised sampling PDF is used

(G152) p Ω 1 bw , ( 0 ) ( ω 1 ∣ x 2 , ω 2 ) = 1 4 π Z x 2 , ω 2 , ω 1 1 1 .

The corresponding correction factor is then

(G153) C Ω 1 bw = M ‾ 1 Z x 2 , ω 2 , ω 1 1 1 Z x 2 , ω 2 , ω 1 1 1 .

The use of approximate PDFs (Eqs. G149 and G152) yields unbiased estimators only when combined with the corresponding correction factors (Eqs. G150 and G153). However, as demonstrated by García Muñoz and Mills (2015), this classical approach, which neglects the radiation's polarisation state during directional sampling, is not well suited for optically thick and strongly polarising media. In such environments, the scattering direction is strongly influenced by the polarisation state, particularly for Rayleigh scattering at angles near Θ∼90° and for some values of σ1 (see Fig. 3 of García Muñoz and Mills, 2015). In such geometries, the polarised probability density ([ZI‾1]1 in the numerator) can be significantly larger than the unpolarised density ([Z1]1 in the denominator) used for sampling. If a photon trajectory contains multiple collisions in such regions, repeated multiplication by correction factors larger than unity leads to large cumulative weight fluctuations (see Fig. 6). This produces infrequent but disproportionately large photon weights that dominate the Monte Carlo variance and may severely degrade the practical convergence of the simulation. MONKI avoids these variance-producing factors by sampling directly from the full polarisation-dependent distribution.

G10 Multi-column implementation of the scattered-radiance Monte Carlo estimators

In the main text, the simulated detector radiance is written for a horizontally inhomogeneous rectangular domain that is discretised into Nx×Ny horizontal grid columns of equal area O. In this appendix, we connect the general forward and backward estimators derived in Appendices G7–G8 to that practical multi-column implementation, using the notation introduced in Sect. 2.2.

We consider one selected detector column with horizontal area O at TOA or BOA, and we denote by I(O,ω•;ω0) the radiance Stokes vector averaged over that area. The incident solar radiation is represented by collimated parallel beams in direction ω0, and the detector local estimations are evaluated along collimated parallel beams in direction ω•. Here, x0 denotes a photon injection point at the domain boundary, while x• denotes the point where a local-estimation ray in direction ω• intersects the boundary at TOA or BOA.

As in Appendices G7–G8, we suppress the constituent type index t in the notation below. In the actual implementation, β is the total extinction coefficient of the local mixture, while a and Z at an atmospheric event are the single-scattering albedo and phase matrix of the selected constituent. Thus, in a grid cell containing several constituents, a and Z represent at and Zt.

G10.1 Forward implementation

In the present forward implementation, N photons are injected uniformly into each source column. Since the domain contains NxNy source columns of equal area O, the total illuminated horizontal domain boundary is NxNy O and the total number of injected photons is NxNy N. Applying the general forward finite-area estimator of Eq. (G105) to the full illuminated horizontal domain boundary, the practical forward estimator of the radiance Stokes vector emerging from the specific column with horizontal detector area O is

(G154) I ( O , ω • ; ω 0 ) ≈ μ 0 N x N y O μ • O E 0 N x N y N × ∑ j = 1 N x N y ∑ i = 1 N ∑ n = 1 M i , j W n , i , j χ n , i , j , = μ 0 μ • E 0 N ∑ j = 1 N x N y ∑ i = 1 N ∑ n = 1 M i , j W n , i , j χ n , i , j , where χ n , i , j = 1 , if  x n , i , j • ∈ O , 0 , otherwise.

and

(G155) W n , i , j = w n , i , j 1 4 π Z x n , i , j , ω • , ω n - 1 , i , j × I ‾ n - 1 , i , j exp - ∫ 0 s n , i , j • β x n , i , j + s ′ ω • d s ′ ,

with

(G156) w n , i , j = ∏ l = 1 n a ( x l , i , j ) .

Here, xn,i,j is the location of the nth scattering event of photon i injected in source column j, carrying weight wn,i,j, and xn,i,j• is the intersection point of the local-estimation ray xn,i,j+s′ω• with the detector boundary. The indicator function χn,i,j selects only those local-estimation contributions whose detector-boundary intersection point xn,i,j• lies inside the selected detector column. Thus, photons injected in columns other than the selected detector column may still contribute to the detector signal, provided that their local-estimation ray intersects the considered detector area O. The factor μ0/μ• in Eq. (G154) is the same factor as in the general forward finite-area expressions (Eqs. G52, G61, and G65), which comes from rewriting the scattering-volume integration in terms of the source area and solar beam, instead of detector area and line of sight.

G10.2 Backward implementation

In backward mode, photons are injected uniformly into the selected detector column O in direction -ω•. Therefore, consistent with the general backward estimator of Eq. (G147), the practical backward estimator of the radiance Stokes vector emerging from the selected column with horizontal detector area O is simply

(G157) I ( O , ω • ; ω 0 ) ≈ E 0 N ∑ i = 1 N ∑ n = 1 M i W n , i bw ,

with

(G158) W n , i bw = w n , i 1 4 π M ‾ n - 1 , i Z x 1 , i , ω 1 , i , ω 0 1 × exp - ∫ 0 s 0 , i β x 1 , i - s ′ ω 0 d s ′ ,

where

(G159) w n , i = ∏ l = 1 n a ( x l , i ) ,

and where s0,i is the distance from the first forward scattering event x1,i to the entry point of the incident sunlight x0,i. No factor μ0/μ• appears in Eq. (G157), because in backward mode we directly use the line-of-sight formulation of the radiance expressions (e.g., Eqs. G41, G53, and G63). In those expressions, the integration is performed directly over the detector area O and the backward free-path variables. Hence, no sum over the Nx×Ny source columns and no indicator function are needed.

Appendix H: Derivation of the formal solution of the VRTE using Green's functions

Here, we derive the formal solution of the vector radiative transfer equations (VRTE) as presented in Appendix G2, using the method of Green's functions. We refer to the Supplement of this paper for a brief introduction to Green's functions with an example.

H1 Rearranging the VRTE

To derive a formal expression for the radiance Stokes vector I(x,ω), we start from the steady-state, monochromatic VRTE written as (Eq. G3)

(H1) L I ( x , ω ) = 1 4 π β sca ( x ) β ( x ) ∫ 4 π Z ( x , ω , ω ′ ) × I ( x , ω ′ ) d Ω ′ + S 0 ( x , ω ) β ( x ) ,

where

(H2) L := 1 + 1 β ( x ) ω ⋅ ∇

is a linear differential operator. For notational simplicity, we suppress the λ-dependence throughout this appendix. For convenience, we define the local source term

(H3) q ( x , ω ) = 1 4 π β sca ( x ) β ( x ) ∫ 4 π Z ( x , ω , ω ′ ) I ( x , ω ′ ) d Ω ′ + S 0 ( x , ω ) β ( x ) ,

so that Eq. (H1) becomes

(H4) L I ( x , ω ) = q ( x , ω ) .

Because the extinction coefficient β(x) is a scalar, the operator ℒ acts identically on all four components of the Stokes vector. Thus, the propagation and extinction part of the VRTE does not mix the Stokes components, and all polarisation coupling is contained in the scattering term through the phase matrix Z and is therefore part of the source term q. For this reason, the Green's function associated with ℒ is a scalar function rather than a 4×4 matrix, and it multiplies each component of the Stokes vector in the same way.

In the derivation below, we assume homogeneous inflow boundary conditions along each ray. Physically, this means that no radiation enters the medium from outside through the upstream boundary in the direction ω. External illumination, such as the direct solar beam, is represented by the source term S0 rather than by an inhomogeneous boundary condition.

H2 Reduction to one dimension along a straight path

For a fixed observation point x and propagation direction ω, we parameterise the upstream ray by the distance coordinate s, defined such that points along the ray are given by x−s ω, with

(H5) 0 ≤ s ≤ s b ,

where s denotes the distance measured from the observation point backward along the ray, and sb is the distance from the observation point to the upstream boundary of the medium. Thus, s=0 corresponds to the observation point itself, while larger values of s lie farther upstream. Along this path, we define

(H6) I ( s , ω ) := I ( x - s ω , ω ) , q ( s , ω ) := q ( x - s ω , ω ) .

The directional derivative then becomes

(H7) ω ⋅ ∇ = - d d s ,

because increasing s moves opposite to the propagation direction ω. Hence, the operator ℒ reduces to the one-dimensional form

(H8) L s = 1 - 1 β ( s ) d d s .

Accordingly, Eq. (H4) becomes

(H9) L s I ( s , ω ) = q ( s , ω ) ,

with homogeneous inflow boundary condition

(H10) I ( s b , ω ) = 0 .

Thus, along each fixed ray direction ω, the vector radiative transfer problem reduces to a first-order ordinary differential equation in the upstream distance coordinate s.

H3 Definition of the Green's function

Let an arbitrary evaluation point along the ray be located at s, and let a source point be located at s*, where both s and s* are measured as upstream distances from the observation point (s=0). The corresponding Green's function G(s,s*) satisfies14 (see Supplement)

(H11) L s G ( s , s * ) = δ ( s - s * ) ,

or, after multiplying both sides by β(s),

(H12) - d d s + β ( s ) G ( s , s * ) = β ( s ) δ ( s - s * ) .

Once the Green's function is known, the solution of Eq. (H9) can be written as

(H13) I ( s , ω ) = ∫ 0 s b G ( s , s * ) q ( s * , ω ) d s * .

Because G(s,s*) is scalar, it multiplies each component of the source vector q(s*,ω) in exactly the same way. Equation (H13) therefore expresses the Stokes vector at the evaluation point s as the superposition of contributions from all source points s* along the ray.

H4 Solution for s≠s*

For all s≠s*, the Dirac delta function in Eq. (H12) vanishes, and the Green's function satisfies

(H14) d G d s = β ( s ) G .

Solving this equation separately on the intervals s<s* and s>s* gives

(H15) G ( s , s * ) = C - ( s * ) exp - ∫ s s * β ( s ′ ) d s ′ , s < s * , C + ( s * ) exp ∫ s * s β ( s ′ ) d s ′ , s > s * ,

where C-(s*) and C+(s*) are integration constants that may depend on the source position s*. The two integration constants differ because the point s=s* is singular: the Dirac delta function can introduce a discontinuity there, so the solutions on the two sides of s* must be treated separately.

H5 Jump condition and causality

To determine these constants, we integrate Eq. (H12) across a small interval [s*-ϵ,s*+ϵ] around the source point:

(H16) ∫ s * - ϵ s * + ϵ - d G d s + β ( s ) G ( s , s * ) d s = ∫ s * - ϵ s * + ϵ β ( s ) δ ( s - s * ) d s .

As ϵ→0, the integral of βG over the vanishingly small interval tends to zero, whereas the derivative term yields the jump condition

(H17) G ( s * - , s * ) - G ( s * + , s * ) = β ( s * ) .

Here, s*- denotes a point immediately closer to the observation point than s*, whereas s*+ denotes a point immediately farther upstream. This jump condition reflects the presence of a point source at s=s*, where the Green's function itself is discontinuous.

For a transport equation, radiation propagates from larger values of s toward smaller values, i.e. from upstream towards the observation point. A source located at s* therefore contributes only to evaluation points with s<s*, while points farther upstream (s>s*) remain unaffected. This causality requirement implies

(H18) G ( s , s * ) = 0 for  s > s * ,

so that

(H19) G ( s * + , s * ) = 0 .

Combining the jump condition with the causality condition gives

(H20) G ( s * - , s * ) = β ( s * ) .

Comparing this with Eq. (H15) shows that

(H21) C - ( s * ) = β ( s * ) , C + ( s * ) = 0 .

H6 Formal solution along a ray

The complete one-dimensional Green's function is therefore

(H22) G ( s , s * ) = β ( s * ) H ( s * - s ) exp - ∫ s s * β ( s ′ ) d s ′ ,

where H is the Heaviside step function. The factor H(s*-s) ensures that only source points located upstream of the evaluation point contribute to the solution, while the exponential factor accounts for attenuation along the optical path between s* and s.

Substituting Eq. (H22) into Eq. (H13) yields

(H23) I ( s , ω ) = ∫ 0 s b β ( s * ) H ( s * - s ) exp - ∫ s s * β ( s ′ ) d s ′ × q ( s * , ω ) d s * .

Equation (H23) therefore expresses the Stokes vector at the evaluation point s as the cumulative contribution of all local source vectors along the ray, each exponentially attenuated between its point of origin and that evaluation point. In particular, at the observation point (s=0) we obtain

(H24) I ( 0 , ω ) = ∫ 0 s b β ( s * ) exp - ∫ 0 s * β ( s ′ ) d s ′ q ( s * , ω ) d s * .

where no Heaviside function appears since for s=0 we have H(s*-s)=H(s*)=1 for s*∈[0,sb]. Equation (H24) expresses the Stokes vector at the observation point as the cumulative contribution of all source points along the upstream ray, each exponentially attenuated between its point of origin and the observation point.

H7 Three-dimensional formal solution

We now rewrite Eq. (H24) in 3D spatial coordinates. Because s* is defined as the upstream distance from the observation point, a source point x* along the ray through the observation point x in direction ω is written as

(H25) x * = x - s * ω , s * ≥ 0 .

Hence,

(H26) s * = ‖ x - x * ‖ , r ^ = x - x * ‖ x - x * ‖ ,

where r^ is the unit vector pointing from the source point x* to the observation point x. In spherical coordinates centered at x, the differential volume element is

(H27) d 3 x * = s * 2 d s * d Ω r ^ ,

where dΩr^ is the differential solid-angle element. The factor s*2 arises from the Jacobian of the transformation from Cartesian to spherical coordinates.

To restrict the integration to points lying exactly on the ray in direction ω, we use the Dirac delta distribution on the unit sphere:

(H28) 1 = ∫ 4 π δ ω - r ^ d Ω r ^ .

Multiplying by this identity collapses the angular integration and leaves only contributions from points x* for which r^=ω, i.e. source points that lie on the ray through x with the correct orientation. Hence,

(H29) d s * = δ ω - r ^ 1 s * 2 d 3 x * .

Rewriting r^ and s* in terms of x and x* gives the desired transformation

(H30) d s * = δ ω - x - x * ‖ x - x * ‖ 1 ‖ x - x * ‖ 2 d 3 x * .

The Dirac delta function ensures that only points x* along the ray through x in direction ω contribute to the integral, while the factor 1/‖x-x*‖2 arises from the Jacobian that converts the line integral into a volume integral.

Using Eq. (H30), the one-dimensional formal solution at the observation point can be written in 3D spatial coordinates as

(H31) I ( x , ω ) = ∫ V β ( x * ) exp - ∫ 0 ‖ x - x * ‖ β ( x * + s ′ ω ) d s ′ × q ( x * , ω ) δ ω - x - x * ‖ x - x * ‖ 1 ‖ x - x * ‖ 2 d 3 x * ,

where the integration extends over the spatial domain 𝒱 of the medium. The local source term follows from Eq. (H3):

(H32) q ( x , ω ) = 1 4 π β sca ( x ) β ( x ) ∫ 4 π Z ( x , ω , ω ′ ) × I ( x , ω ′ ) d Ω ′ + S 0 ( x , ω ) β ( x ) .

Equation (H31) shows that the radiance Stokes vector at point x in direction ω is the superposition of contributions from all upstream source points x* lying on the ray through x. Each contribution is weighted by the local source vector q and attenuated exponentially along the optical path between x* and x. Note that in the 1D formulation (Eq. H24), the Heaviside factor no longer appeared because the solution had been specialised to the observation point s=0, for which H(s*-s)=H(s*)=1 over the integration range s*∈[0,sb]. In the final three-dimensional volume formulation of Eq. (H31), the corresponding upstream restriction is already enforced by the Dirac delta function, which selects only source points x* lying on the ray through x with the correct orientation. Therefore, no separate Heaviside function is needed.

Code and data availability

The version of MONKI as described in this paper is available from Zenodo under the MIT licence. The version of the model used to produce the results presented in this paper, as well as the required input data, are archived under DOI (https://doi.org/10.5281/zenodo.22737661, Trees, 2026).

Supplement

The supplement related to this article is available online at https://doi.org/10.5194/gmd-19-9677-2026-supplement.

Author contributions

VT developed MONKI, derived the theoretical framework, performed the simulations unless otherwise stated, and wrote the manuscript. PW was closely involved in the development of MONKI and tested MONKI as a user. JW did the validation of MONKI against the benchmark results of Emde et al. (2018). PS did the simulations with DAK for the comparison with MONKI (Fig. S6). All authors reviewed the manuscript and were involved in the selection of the results presented in this paper.

Competing interests

The contact author has declared that none of the authors has any competing interests.

Disclaimer

Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. The authors bear the ultimate responsibility for providing appropriate place names. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.

Acknowledgements

The authors thank the anonymous reviewers for their constructive feedback.

Financial support

This research has been supported by the Nederlandse Organisatie voor Wetenschappelijk Onderzoek, Exacte en Natuurwetenschappen (grant no. ALWGO.2018.016).

Review statement

This paper was edited by Juan Antonio Añel and reviewed by two anonymous referees.

References

Anderson, G. P., Clough, S. A., Kneizys, F. X., Chetwynd, J. H., and Shettle, E. P.: AFGL Atmospheric Constituent Profiles (0–120 km), AFGL-TR-86-0110, Air Force Geophysics Laboratory, Hanscom Air Force Base, MA, Environmental Research Papers, No. 954, ADA175173, 1986. a

Bagnulo, S., Belskaya, I., Cellino, A., Kwon, Y. G., Muñoz, O., and Stam, D. M.: Polarimetry of Solar System minor bodies and planets: Polarimetry of Solar System minor bodies and planets, Astron. Astrophys. Rev., 32, 7, https://doi.org/10.1007/s00159-024-00157-w, 2024. a

Barker, H. W., Goldstein, R. K., and Stevens, D. E.: Monte Carlo Simulation of Solar Reflectances for Cloudy Atmospheres, J. Atmos. Sci., 60, 1881–1894, https://doi.org/10.1175/1520-0469(2003)060<1881:MCSOSR>2.0.CO;2, 2003. a, b, c

Barlakas, V., Macke, A., and Wendisch, M.: SPARTA – Solver for Polarized Atmospheric Radiative Transfer Applications: Introduction and application to Saharan dust fields, J. Quant. Spectrosc. Ra., 178, 77–92, https://doi.org/10.1016/j.jqsrt.2016.02.019, 2016. a, b

Bartel, S. and Hielscher, A. H.: Monte Carlo Simulations of the Diffuse Backscattering Mueller Matrix for Highly Scattering Media, Appl. Optics, 39, 1580–1588, https://doi.org/10.1364/AO.39.001580, 2000. a

Bass, A. M. and Paur, R. J.: The ultraviolet cross-sections of ozone. I. The measurements. II – Results and temperature dependence, in: Atmospheric ozone; Proceedings of the Quadrennial, edited by: Zerefos, C. S. and Ghazi, A., 606–616, https://doi.org/10.1007/978-94-009-5313-0_120, 1985. a, b

Bates, D. R.: Rayleigh scattering by air, Planet. Space Sci., 32, 785–790, https://doi.org/10.1016/0032-0633(84)90102-8, 1984. a

Bodhaine, B. A., Wood, N. B., Dutton, E. G., and Slusser, J. R.: On Rayleigh Optical Depth Calculations, J. Atmos. Ocean. Tech., 16, 1854, https://doi.org/10.1175/1520-0426(1999)016<1854:ORODC>2.0.CO;2, 1999. a

Breon, F. M. and Doutriaux-Boucher, M.: A Comparison of Cloud Droplet Radii Measured From Space, IEEE T. Geosci. Remote Sens., 43, 1796–1805, https://doi.org/10.1109/TGRS.2005.852838, 2005. a

Buras, R. and Mayer, B.: Efficient unbiased variance reduction techniques for Monte Carlo simulations of radiative transfer in cloudy atmospheres: The solution, J. Quant. Spectrosc. Ra., 112, 434–447, https://doi.org/10.1016/j.jqsrt.2010.10.005, 2011. a

Chandrasekhar, S.: Radiative transfer, Dover Publications, New York, ISBN 978-0-486-60590-6, 1960. a, b, c

Collins, D. G., Blättner, W. G., Wells, M. B., and Horak, H. G.: Backward Monte Carlo Calculations of the Polarization Characteristics of the Radiation Emerging from Spherical-Shell Atmospheres, Appl. Optics, 11, 2684–2696, https://doi.org/10.1364/AO.11.002684, 1972. a, b, c

Cornet, C., C-Labonnote, L., and Szczap, F.: Three-dimensional polarized Monte Carlo atmospheric radiative transfer model (3DMCPOL): 3D effects on polarized visible reflectances of a cirrus cloud, J. Quant. Spectrosc. Ra., 111, 174–186, https://doi.org/10.1016/j.jqsrt.2009.06.013, 2010. a, b

Cornet, C., C.-Labonnote, L., Waquet, F., Szczap, F., Deaconu, L., Parol, F., Vanbauce, C., Thieuleux, F., and Riédi, J.: Cloud heterogeneity on cloud and aerosol above cloud properties retrieved from simulated total and polarized reflectances, Atmos. Meas. Tech., 11, 3627–3643, https://doi.org/10.5194/amt-11-3627-2018, 2018. a

de Haan, J. F., Bosma, P. B., and Hovenier, J. W.: The adding method for multiple scattering calculations of polarized light, Astron. Astrophys., 183, 371–391, 1987. a, b, c, d, e, f, g, h, i, j

de Rooij, W. A. and van der Stap, C. C. A. H.: Expansion of Mie scattering matrices in generalized spherical functions, Astron. Astrophys., 131, 237–248, 1984. a, b

Deirmendjian, D.: Electromagnetic scattering on spherical polydispersions., American Elsevier Publishing Company, ISBN 0-444-00038-0, 1969. a

Dekking, F., Kraaikamp, C., Lopuhaa, H., and Meester, L.: A modern introduction to probability theory and statistics, Springer Londen, ISBN 1-85233-896-2, https://doi.org/10.1007/1-84628-168-7, 2005. a

Deschamps, P. Y., Breon, F. M., Leroy, M., Podaire, A., Bricaud, A., Buriez, J. C., and Seze, G.: The POLDER mission: instrument characteristics and scientific objectives, IEEE T. Geosci. Remote Sens., 32, 598–615, https://doi.org/10.1109/36.297978, 1994. a

Deutschmann, T.: On Modeling Elastic and Inelastic Polarized Radiation Transport in the Earth Atmosphere with Monte Carlo Methods, Dissertation (Dr. Rer. Nat.), Universität Leipzig, Leipzig, Germany, http://www.tim-deutschmann.de/McArtim/documents/Dissertation.pdf (last access: 2 October 2026), 2015. a

Deutschmann, T., Beirle, S., Frieß, U., Grzegorski, M., Kern, C., Kritten, L., Platt, U., Prados-Román, C., Puķı¯te, J., Wagner, T., Werner, B., and Pfeilsticker, K.: The Monte Carlo atmospheric radiative transfer model McArtim: Introduction and validation of Jacobians and 3D features, J. Quant. Spectrosc. Ra., 112, 1119–1137, https://doi.org/10.1016/j.jqsrt.2010.12.009, 2011. a, b

Emde, C. and Mayer, B.: Errors induced by the neglect of polarization in radiance calculations for three-dimensional cloudy atmospheres, J. Quant. Spectrosc. Ra., 218, 151–160, https://doi.org/10.1016/j.jqsrt.2018.07.001, 2018. a

Emde, C., Buras, R., Mayer, B., and Blumthaler, M.: The impact of aerosols on polarized sky radiance: model development, validation, and applications, Atmos. Chem. Phys., 10, 383–396, https://doi.org/10.5194/acp-10-383-2010, 2010. a, b, c, d

Emde, C., Barlakas, V., Cornet, C., Evans, F., Wang, Z., Labonotte, L. C., Macke, A., Mayer, B., and Wendisch, M.: IPRT polarized radiative transfer model intercomparison project – Three-dimensional test cases (phase B), J. Quant. Spectrosc. Ra., 209, 19–44, https://doi.org/10.1016/j.jqsrt.2018.01.024, 2018. a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p

Evans, K. F.: The Spherical Harmonics Discrete Ordinate Method for Three-Dimensional Atmospheric Radiative Transfer, J. Atmos. Sci., 55, 429–446, https://doi.org/10.1175/1520-0469(1998)055<0429:TSHDOM>2.0.CO;2, 1998. a

Fauchez, T., Cornet, C., Szczap, F., Dubuisson, P., and Rosambert, T.: Impact of cirrus clouds heterogeneities on top-of-atmosphere thermal infrared radiation, Atmos. Chem. Phys., 14, 5599–5615, https://doi.org/10.5194/acp-14-5599-2014, 2014. a

García Muñoz, A. and Mills, F. P.: Pre-conditioned backward Monte Carlo solutions to radiative transport in planetary atmospheres. Fundamentals: Sampling of propagation directions in polarising media, Astron. Astrophys., 573, A72, https://doi.org/10.1051/0004-6361/201424042, 2015. a, b, c, d, e

Gay, B., Vaillon, R., and Pınar Mengüç, M.: Polarization imaging of multiply-scattered radiation based on integral-vector Monte Carlo method, J. Quant. Spectrosc. Ra., 111, 287–294, 2010. a

Ghail, R., Ansan, V., Bovolo, F., Breuer, D., Campbell, B., and Kiefer, W.: EnVision assessment study report – Understanding why Earth's closest neighbour is so different (ESA/SCI(2021)1), European Space Agency, https://sci.esa.int/web/cosmic-vision/-/envision-assessment-study-report-yellow-book (last access: 2 October 2026), 2021. a

Hale, G. M. and Querry, M. R.: Optical Constants of Water in the 200-nm to 200 µm Wavelength Region, Appl. Optics, 12, 555–563, https://doi.org/10.1364/AO.12.000555, 1973. a

Hansen, J. E. and Hovenier, J. W.: Interpretation of the polarization of Venus, J. Atmos. Sci., 31, 1137–1160, https://doi.org/10.1175/1520-0469(1974)031<1137:IOTPOV>2.0.CO;2, 1974. a, b

Hansen, J. E. and Travis, L. D.: Light scattering in planetary atmospheres, Space Sci. Rev., 16, 527–610, https://doi.org/10.1007/BF00168069, 1974. a, b, c, d, e, f, g, h, i, j

Hasekamp, O. P.: Capability of multi-viewing-angle photo-polarimetric measurements for the simultaneous retrieval of aerosol and cloud properties, Atmos. Meas. Tech., 3, 839–851, https://doi.org/10.5194/amt-3-839-2010, 2010. a

Hasekamp, O. P., Fu, G., Rusli, S. P., Wu, L., Di Noia, A., Brugh, J. A. D., Landgraf, J., Martijn Smit, J., Rietjens, J., and van Amerongen, A.: Aerosol measurements by SPEXone on the NASA PACE mission: expected retrieval capabilities, J. Quant. Spectrosc. Ra., 227, 170–184, https://doi.org/10.1016/j.jqsrt.2019.02.006, 2019. a

Haus, R., Kappel, D., and Arnold, G.: Radiative heating and cooling in the middle and lower atmosphere of Venus and responses to atmospheric and spectroscopic parameter variations, Planet. Space Sci., 117, 262–294, https://doi.org/10.1016/j.pss.2015.06.024, 2015. a, b

Hovenier, J. W. and van der Mee, C. V. M.: Fundamental relationships relevant to the transfer of polarized light in a scattering atmosphere, Astron. Astrophys., 128, 1–16, 1983. a

Hovenier, J. W., Van Der Mee, C., and Domke, H. (Eds.): Transfer of polarized light in planetary atmospheres: basic concepts and practical methods, Vol. 318, Astrophysics and Space Science Library, https://doi.org/10.1007/978-1-4020-2856-4, 2004. a, b, c, d, e, f, g, h

Karalidi, T., Stam, D. M., and Hovenier, J. W.: Flux and polarisation spectra of water clouds on exoplanets, Astron. Astrophys., 530, A69, https://doi.org/10.1051/0004-6361/201116449, 2011. a

Kemp, J., Henson, G., Steiner, C., Beardsley, I., and Powell, E.: The optical polarization of the Sun, measured at a sensitivity of parts in ten million, Nature, 328, https://doi.org/10.1038/328092a0, 1987. a, b

Kroese, D. P., Taimre, T., and Botev, Z. I.: Handbook of Monte Carlo Methods, Wiley Series in Probability and Statistics, John Wiley & Sons, ISBN 978-0-470-17793-8, https://doi.org/10.1002/9781118014967, 2011. a, b, c, d

Liou, K. N.: An Introduction to Atmospheric Radiation, Academic Press, San Diego, CA, 2nd edn., ISBN 9780124514515, 2002. a

Marbach, T., Riedi, J., Lacan, A., and Schlüssel, P.: The 3MI mission: multi-viewing-channel-polarisation imager of the EUMETSAT polar system: second generation (EPS-SG) dedicated to aerosol and cloud monitoring, in: Polarization Science and Remote Sensing VII, edited by: Shaw, J. A. and LeMaster, D. A., Vol. 9613, Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, 961310, https://doi.org/10.1117/12.2186978, 2015. a

Marchand, R. and Ackerman, T.: Evaluation of radiometric measurements from the NASA Multiangle Imaging Spectroradiometer (MISR): Two- and three-dimensional radiative transfer modeling of an inhomogeneous stratocumulus cloud deck, J. Geophys. Res.-Atmos., 109, D18208, https://doi.org/10.1029/2004JD004710, 2004. a

Marchuk, G. I., Mikhailov, G. A., Nazaraliev, M. A., Darbinjan, R. A., Kargin, B. A., and Elepov, B. S.: The Monte Carlo Methods in Atmospheric Optics, Vol. 12, Springer Series in Optical Sciences, Springer-Verlag, Berlin, Heidelberg, ISBN 978-3-662-13503-7, https://doi.org/10.1007/978-3-540-35237-2, 1980. a, b, c, d, e

Marshak, A. and Davis, A. (Eds.): 3D Radiative Transfer in Cloudy Atmospheres, Physics of Earth and Space Environments, Springer, Berlin, Heidelberg, ISBN 978-3-540-23958-1, https://doi.org/10.1007/3-540-28519-9, 2005. a, b, c, d, e, f, g, h, i

Marshak, A., Platnick, S., Várnai, T., Wen, G., and Cahalan, R. F.: Impact of three-dimensional radiative effects on satellite retrievals of cloud droplet sizes, J. Geophys. Res.-Atmos., 111, D09207, https://doi.org/10.1029/2005JD006686, 2006. a

Mayer, B.: Radiative transfer in the cloudy atmosphere, in: European Physical Journal Web of Conferences, Vol. 1, European Physical Journal Web of Conferences, 75, https://doi.org/10.1140/epjconf/e2009-00912-1, 2009. a, b, c, d, e

McBride, B. A., Sienkiewicz, N., Xu, X., Puthukkudy, A., Fernandez-Borda, R., and Martins, J. V.: In-flight characterization of the Hyper-Angular Rainbow Polarimeter (HARP2) on the NASA PACE mission, in: Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, edited by: Babu, S. R., Hélière, A., and Kimura, T., Vol. 13192, Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, 131920H, https://doi.org/10.1117/12.3033680, 2024. a

Mishchenko, M. I. and Travis, L. D.: Satellite retrieval of aerosol properties over the ocean using polarization as well as intensity of reflected sunlight, J. Geophys. Res., 102, 16989–17013, https://doi.org/10.1029/96JD02425, 1997. a

Mishchenko, M. I., Lacis, A. A., and Travis, L. D.: Errors induced by the neglect of polarization in radiance calculations for Rayleigh-scattering atmospheres, J. Quant. Spectrosc. Ra., 51, 491–510, https://doi.org/10.1016/0022-4073(94)90149-X, 1994. a

Moroz, V. I.: The Atmosphere of Venus, Space Sci. Rev., 29, 3–127, https://doi.org/10.1007/BF00177144, 1981. a

Natraj, V. and Hovenier, J. W.: Polarized Light Reflected and Transmitted by Thick Rayleigh Scattering Atmospheres, Astrophys. J., 748, 28, https://doi.org/10.1088/0004-637X/748/1/28, 2012. a, b, c, d, e, f, g

Natraj, V., Li, K.-F., and Yung, Y. L.: Rayleigh Scattering in Planetary Atmospheres: Corrected Tables Through Accurate Computation of X and Y Functions, Astrophys. J., 691, 1909–1920, https://doi.org/10.1088/0004-637X/691/2/1909, 2009. a

Neefs, E., Vandaele, A. C., De Cock, R., Erwin, J., Robert, S., Thomas, I. R., Berkenbosch, S., Jacobs, L., Bogaert, P., Beeckman, B., Brassine, A., Messios, N., De Donder, E., Bolsée, D., Pereira, N., Tackley, P., Gerya, T., Kögl, S., Kögl, P., Gröbelbauer, H. P., Wirz, F., Székely, G., Eaton, N., Roibás-Millán, E., Torralbo, I., Rubio-Arnaldo, H., Alvarez, J. M., Navajas Ortega, D., De Vos, L., Sørensen, R., Moelans, W., Algoedt, A., Blau, M., Stam, D., Renotte, E., Klinkenberg, P., Borguet, B., Thomas, S., Vervaeke, M., Thienpont, H., Castro, J. M., and Jimenez, J.: VenSpec-H spectrometer on the ESA EnVision mission: Design, modeling, analysis, Acta Astronaut., 226, 178–201, https://doi.org/10.1016/j.actaastro.2024.10.018, 2025. a

Palmer, K. F. and Williams, D.: Optical constants of sulfuric acid; application to the clouds of Venus?, Appl. Optics, 14, 208–219, https://doi.org/10.1364/AO.14.000208, 1975. a

Peck, E. R. and Reeder, K.: Dispersion of Air*, J. Opt. Soc. Am., 62, 958, https://doi.org/10.1364/JOSA.62.000958, 1972. a, b

Ramon, D., Steinmetz, F., Jolivet, D., Compiègne, M., and Frouin, R.: Modeling polarized radiative transfer in the ocean-atmosphere system with the GPU-accelerated SMART-G Monte Carlo code, J. Quant. Spectrosc. Ra., 222, 89–107, https://doi.org/10.1016/j.jqsrt.2018.10.017, 2019. a, b

Rice, J. A.: Mathematical Statistics and Data Analysis, Cengage Learning, Belmont, CA, 3rd Edn., ISBN 978-0-534-39942-9, 2007. a

Rossi, L., Berzosa-Molina, J., Desert, J. M., Fossati, L., García Muñoz, A., Haswell, C., Kabath, P., Kislyakova, K., Stam, D., and Vidotto, A.: Spectropolarimetry as a tool for understanding the diversity of planetary atmospheres, Exp. Astron., 54, 1187–1196, https://doi.org/10.1007/s10686-021-09813-w, 2022. a

Seiff, A., Schofield, J. T., Kliore, A. J., Taylor, F. W., Limaye, S. S., Revercomb, H. E., Sromovsky, L. A., Kerzhanovich, V. V., Moroz, V. I., and Marov, M. Y.: Models of the structure of the atmosphere of Venus from the surface to 100 kilometers altitude, Adv. Space Res., 5, 3–58, https://doi.org/10.1016/0273-1177(85)90197-8, 1985. a

Sneep, M. and Ubachs, W.: Direct measurement of the Rayleigh scattering cross section in various gases, J. Quant. Spectrosc. Ra., 92, 293–310, https://doi.org/10.1016/j.jqsrt.2004.07.025, 2005. a, b, c

Spada, F., Krol, M. C., and Stammes, P.: McSCIA: application of the Equivalence Theorem in a Monte Carlo radiative transfer model for spherical shell atmospheres, Atmos. Chem. Phys., 6, 4823–4842, https://doi.org/10.5194/acp-6-4823-2006, 2006. a

Spilling, D. and Thales, A.: The Multi Angle Polarimeter (MAP) on board ESA's Copernicus Carbon Dioxide Monitoring mission (CO2M), in: International Conference on Space Optics – ICSO 2020, edited by: Cugny, B., Sodnik, Z., and Karafolas, N., Vol. 11852, 118520R, International Society for Optics and Photonics, SPIE, https://doi.org/10.1117/12.2599174, 2021. a

Stam, D. M.: Spectropolarimetric signatures of Earth-like extrasolar planets, Astron. Astrophys., 482, 989–1007, https://doi.org/10.1051/0004-6361:20078358, 2008. a

Stam, D. M. and Hovenier, J. W.: Errors in calculated planetary phase functions and albedos due to neglecting polarization, Astron. Astrophys., 444, 275–286, https://doi.org/10.1051/0004-6361:20053698, 2005. a

Stam, D. M., de Haan, J. F., Hovenier, J. W., and Stammes, P.: A fast method for simulating observations of polarized light emerging from the atmosphere applied to the oxygen-A band, J. Quant. Spectrosc. Ra., 64, 131–149, https://doi.org/10.1016/S0022-4073(99)00009-6, 2000. a

Stammes, P.: Spectral radiance modelling in the UV-visible range, IRS 2000: Current Problems in Atmospheric Radiation, edited by: Smith, W. L. and Timofeyev, Y. M., A. Deepak Publishing, Hampton, Virginia, 385–388, ISBN 978-0-937194-43-0, 2001. a

Stap, F. A., Hasekamp, O. P., Emde, C., and Röckmann, T.: Influence of 3D effects on 1D aerosol retrievals in synthetic, partially clouded scenes, J. Quant. Spectrosc. Ra., 170, 54–68, https://doi.org/10.1016/j.jqsrt.2015.10.008, 2016a. a

Stap, F. A., Hasekamp, O. P., Emde, C., and Röckmann, T.: Multiangle photopolarimetric aerosol retrievals in the vicinity of clouds: Synthetic study based on a large eddy simulation, J. Geophys. Res.-Atmos., 121, 12914–12935, https://doi.org/10.1002/2016JD024787, 2016b. a

Stevens, B., Moeng, C.-H., and Sullivan, P. P.: Large-Eddy Simulations of Radiatively Driven Convection: Sensitivities to the Representation of Small Scales, J. Atmos. Sci., 56, 3963–3984, https://doi.org/10.1175/1520-0469(1999)056<3963:LESORD>2.0.CO;2, 1999. a

Trees, V.: MONKI (Monte Carlo KNMI), Zenodo [code, data set], https://doi.org/10.5281/zenodo.22737661, 2026. a

Trees, V. J. H. and Stam, D. M.: Blue, white, and red ocean planets. Simulations of orbital variations in flux and polarization colors, Astron. Astrophys., 626, A129, https://doi.org/10.1051/0004-6361/201935399, 2019. a

Trees, V. J. H. and Stam, D. M.: Ocean signatures in the total flux and polarization spectra of Earth-like exoplanets, Astron. Astrophys., 664, A172, https://doi.org/10.1051/0004-6361/202243591, 2022. a

Trees, V. J. H., Wang, P., Stammes, P., Tilstra, L. G., Donovan, D. P., and Siebesma, A. P.: DARCLOS: a cloud shadow detection algorithm for TROPOMI, Atmos. Meas. Tech., 15, 3121–3140, https://doi.org/10.5194/amt-15-3121-2022, 2022. a

Trees, V. J. H., Wang, P., Stammes, P., Tilstra, L. G., Donovan, D. P., and Siebesma, A. P.: Cancellation of cloud shadow effects in the absorbing aerosol index retrieval algorithm of TROPOMI, Atmos. Meas. Tech., 18, 73–91, https://doi.org/10.5194/amt-18-73-2025, 2025. a, b

van Amerongen, A., Rietjens, J., Campo, J., Dogan, E., Dingjan, J., Nalla, R., Caron, J., and Hasekamp, O.: SPEXone: a compact multi-angle polarimeter, in: International Conference on Space Optics – ICSO 2018, edited by: Sodnik, Z., Karafolas, N., and Cugny, B., Vol. 11180, Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, 111800L, https://doi.org/10.1117/12.2535940, 2019. a

van de Hulst, H. C.: Light Scattering by Small Particles, Dover Publications, New York, ISBN 978-0486642284, 1981. a

Vanderbilt, V., Grant, L., and Daughtry, C.: Polarization of light scattered by vegetation, P. IEEE, 73, 1012–1024, https://doi.org/10.1109/PROC.1985.13232, 1985. a

Várnai, T., Marshak, A., and Yang, W.: Multi-satellite aerosol observations in the vicinity of clouds, Atmos. Chem. Phys., 13, 3899–3908, https://doi.org/10.5194/acp-13-3899-2013, 2013. a

Vaughan, S. R., Gebhard, T. D., Bott, K., Casewell, S. L., Cowan, N. B., Doelman, D. S., Kenworthy, M., Mazoyer, J., Millar-Blanchaer, M. A., Trees, V. J. H., Stam, D. M., Absil, O., Altinier, L., Baudoz, P., Belikov, R., Bidot, A., Birkby, J. L., Bonse, M. J., Brandl, B., Carlotti, A., Choquet, E., van Dam, D., Desai, N., Fogarty, K., Fowler, J., van Gorkom, K., Gutierrez, Y., Guyon, O., Haffert, S. Y., Herscovici-Schiller, O., Hours, A., Juanola-Parramon, R., Kleisioti, E., König, L., van Kooten, M., Krasteva, M., Laginja, I., Landman, R., Leboulleux, L., Mouillet, D., N'Diaye, M., Por, E. H., Pueyo, L., and Snik, F.: Chasing rainbows and ocean glints: Inner working angle constraints for the Habitable Worlds Observatory, Mon. Not. R. Astron. Soc., 524, 5477–5485, https://doi.org/10.1093/mnras/stad2127, 2023. a

Veefkind, J. P., Aben, I., McMullan, K., Förster, H., de Vries, J., Otter, G., Claas, J., Eskes, H. J., de Haan, J. F., Kleipool, Q., van Weele, M., Hasekamp, O., Hoogeveen, R., Landgraf, J., Snel, R., Tol, P., Ingmann, P., Voors, R., Kruizinga, B., Vink, R., Visser, H., and Levelt, P. F.: TROPOMI on the ESA Sentinel-5 Precursor: A GMES mission for global observations of the atmospheric composition for climate, air quality and ozone layer applications, Remote Sens. Environ., 120, 70–83, https://doi.org/10.1016/j.rse.2011.09.027, 2012. a

Wang, Z., Cui, S., Yang, J., Gao, H., Liu, C., and Zhang, Z.: A novel hybrid scattering order-dependent variance reduction method for Monte Carlo simulations of radiative transfer in cloudy atmosphere, J. Quant. Spectrosc. Ra., 189, 283–302, https://doi.org/10.1016/j.jqsrt.2016.12.002, 2017. a, b

Wang, Z., Cui, S., Zhang, Z., Yang, J., Gao, H., and Zhang, F.: Theoretical extension of universal forward and backward Monte Carlo radiative transfer modeling for passive and active polarization observation simulations, J. Quant. Spectrosc. Ra., 235, 81–94, https://doi.org/10.1016/j.jqsrt.2019.06.025, 2019. a, b, c

Waquet, F., Cornet, C., Deuzé, J.-L., Dubovik, O., Ducos, F., Goloub, P., Herman, M., Lapyonok, T., Labonnote, L. C., Riedi, J., Tanré, D., Thieuleux, F., and Vanbauce, C.: Retrieval of aerosol microphysical and optical properties above liquid clouds from POLDER/PARASOL polarization measurements, Atmos. Meas. Tech., 6, 991–1016, https://doi.org/10.5194/amt-6-991-2013, 2013. a

Wen, G., Marshak, A., Levy, R. C., Remer, L. A., Loeb, N. G., Várnai, T., and Cahalan, R. F.: Improvement of MODIS aerosol retrievals near clouds, J. Geophys. Res.-Atmos., 118, 9168–9181, https://doi.org/10.1002/jgrd.50617, 2013. a

Werdell, P. J., Behrenfeld, M. J., Bontempi, P. S., Boss, E., Cairns, B., Davis, G. T., Franz, B. A., Gliese, U. B., Gorman, E. T., Hasekamp, O., Knobelspiesse, K. D., Mannino, A., Martins, J. V., McClain, C. R., Meister, G., and Remer, L. A.: The Plankton, Aerosol, Cloud, Ocean Ecosystem Mission: Status, Science, Advances, B. Am. Meteorol. Soc., 100, 1775–1794, https://doi.org/10.1175/BAMS-D-18-0056.1, 2019. a

Whitney, B. A.: Monte Carlo radiative transfer, in: Fluid Flows To Black Holes: A Tribute to S Chandrasekhar on His Birth Centenary, edited by: Saikia, D. J. and Trimble, V., 151–176, World Scientific Publishing Co. Pte. Ltd, https://doi.org/10.1142/9789814374774_0011, 2011.  a

Wilmouth, D. M. and Sayres, D. S.: Determination of Rayleigh scattering cross sections and indices of refraction for Ar, CO2, SF6, and CH4 using BBCES in the ultraviolet, J. Quant. Spectrosc. Ra., 255, 107224, https://doi.org/10.1016/j.jqsrt.2020.107224, 2020. a, b

Wiltink, J. I., Trees, V. J. H., van Heerwaarden, C. C., and Meirink, J. F.: Errors in satellite-based global horizontal irradiance retrievals due to three-dimensional cloud-radiation interactions, Atmos. Chem. Phys., 26, 7207–7233, https://doi.org/10.5194/acp-26-7207-2026, 2026. a

1

Hansen and Travis (1974) used the notation πF0 instead of E0 for the solar flux vector.

2

Note that what we refer to as photons in a Monte Carlo radiative transfer simulation are not actual quanta of the electromagnetic field, but rather numerical entities used to simulate the light path in a statistical manner.

3

We set w=10-16 as the minimum weight for a photon to continue in the simulation.

4

The relation of Eq. (16) is only valid for particles (including gaseous molecules) very small compared to the wavelength, or particles accompanied by their mirror particles in equal numbers and in random orientation, or particles with a plane of symmetry (such as spheres, spheroids, ellipsoids, cylinders and cubes) that are randomly oriented (see Hovenier et al., 2004, Sects. 2.4, 2.7 and 3.3).

5

The computation speed increases with the number of cloud-free grid cells and viewing directions. For example, for the cloudy Earth sample signal of Fig. 12, for θ0=φ=φ0=0° and 90 viewing zenith angles, the speed improvement is a factor 1.9.

6

Equation (23) is obtained by first estimating the scatter between the independent round estimates Ir (cf. Eq. 4.46 of Marshak and Davis, 2005), and then dividing by Nr to obtain the standard error of their mean. Since each round contains the same number of photons, averaging over Nr rounds is statistically equivalent to using one simulation with NrN independent photons.

7

Note that for such atmospheres, the radiation that emerges at TOA or BOA will generally have a relatively low degree of polarisation because it comprises light with a broad range of polarisation states.

8

MONKI can also map the reflected light at TOA on the x,y-grid at the surface, making MONKI suitable for air- and spaceborne applications which typically store measurements on ground-based pixel grids.

9

The refractive index of CO2 stated in Sneep and Ubachs (2005) needs to be divided by 103, see Wilmouth and Sayres (2020).

10

As single scattering angle Θ equals 180° minus the reflection angle (cf. Fig. 1).

11

In the appendices of this paper, P denotes the CDF corresponding to a PDF p, and is not the degree of polarisation as in Sect. 2.1.

12

If the incident light is unpolarised, Eq. (D7) simplifies to the well-known result p(cosΘ,σ1)=F11(Θ)/(4π) (see, e.g., Hansen and Travis, 1974).

13

In the finite computational domain, this continuous density is accompanied by the probability that the photon reaches the next domain boundary before an atmospheric event occurs.

14

In this appendix, symbol G denotes a Green's function, and is not the CDF of an arbitrary function g as in Appendix F.

Download
Short summary
We present MONKI (Monte Carlo KNMI), an accurate and efficient Fortran radiative transfer code for simulating total and polarised sunlight in 3D planetary atmospheres. Its novelty is the derivation of Monte Carlo equations for the transfer of polarised light, fully accounting for polarisation-dependent scattering directions. This formulation gives reliable convergence even for optically thick, strongly polarising atmospheres, supporting observations of Earth, Venus, or any other planet.
Share