<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="research-article">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">GMD</journal-id><journal-title-group>
    <journal-title>Geoscientific Model Development</journal-title>
    <abbrev-journal-title abbrev-type="publisher">GMD</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Geosci. Model Dev.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1991-9603</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/gmd-19-4289-2026</article-id><title-group><article-title>Eradiate: an accurate and flexible radiative transfer model for earth observation and atmospheric science</article-title><alt-title>Eradiate radiative transfer model v1.0.0</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Leroy</surname><given-names>Vincent</given-names></name>
          <email>vincent.leroy@rayference.eu</email>
        <ext-link>https://orcid.org/0000-0002-5407-0237</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Marton</surname><given-names>Nicolae</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Emde</surname><given-names>Claudia</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-2537-4466</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Misk</surname><given-names>Nicolas</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Gonzalez Almeida</surname><given-names>Misael</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Schunke</surname><given-names>Sebastian</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Cremer</surname><given-names>Noelle</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff4">
          <name><surname>Gascon</surname><given-names>Ferran</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Govaerts</surname><given-names>Yves</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-9476-9595</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Rayference, Brussels, Belgium</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Formerly Rayference, Brussels, Belgium</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Formerly Serco SpA c/o European Space Agency (ESA), European Space Research Institute (ESRIN), Frascati, Italy</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>European Space Agency (ESA), European Space Research Institute (ESRIN), Frascati, Italy</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Vincent Leroy (vincent.leroy@rayference.eu)</corresp></author-notes><pub-date><day>21</day><month>May</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>10</issue>
      <fpage>4289</fpage><lpage>4318</lpage>
      <history>
        <date date-type="received"><day>2</day><month>October</month><year>2025</year></date>
           <date date-type="rev-request"><day>10</day><month>November</month><year>2025</year></date>
           <date date-type="rev-recd"><day>17</day><month>March</month><year>2026</year></date>
           <date date-type="accepted"><day>22</day><month>April</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Vincent Leroy et al.</copyright-statement>
        <copyright-year>2026</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026.html">This article is available from https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e175">Eradiate is a new open-source 3D radiative transfer model designed to provide highly accurate results for various applications in Earth observation and atmospheric science. Its Monte Carlo ray tracing radiometric kernel is derived from Mitsuba 3, a research-oriented rendering system, and therefore benefits from many technological advances made in the computer graphics community. This foundation unlocks a path to improving radiative transfer simulation accuracy by facilitating the integration of models and numerical techniques developed by scientific communities that are otherwise compartmentalized. Eradiate currently covers the [250 <inline-formula><mml:math id="M1" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula>, 3 <inline-formula><mml:math id="M2" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>] spectral region and offers advanced 3D surface modelling features, as well as a state-of-the-art 1D atmospheric model (plane-parallel and spherical-shell) and polarization support. Designed for modern scientific Python programming workflows, it is intended for use in interactive Python sessions such as Jupyter notebooks. Eradiate is thoroughly tested and validated against various radiative transfer benchmarks, ensuring its suitability for calibration and validation tasks. This paper introduces Eradiate from historical, scientific, and architectural perspectives. It elaborates on its feature set and showcases a variety of applications, with scenes ranging from simple 1D plane-parallel setups to complex, fully resolved 3D vegetated canopies and even large regions on Earth.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>European Space Agency</funding-source>
<award-id>40000127201/19/I-BG</award-id>
</award-group>
<award-group id="gs2">
<funding-source>European Metrology Programme for Innovation and Research</funding-source>
<award-id>16ENV03</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e205">Radiative transfer plays a central role in Earth observation (EO) and related fields: for the interpretation of radiance observations, the simulation of sensor signals for instrument design and mission planning, vicarious calibration and validation of satellite data, and the inversion of radiometric measurements to retrieve key scene properties such as surface reflectance, aerosol and cloud characteristics, or trace gas concentrations. Beyond EO, radiative transfer modelling is also fundamental in numerical weather prediction, climate modelling, solar energy assessment, and the simulation of exoplanetary atmospheres.</p>
      <p id="d2e208">Over the past decades, radiative transfer theory and modelling has developed as an autonomous field in the EO community, extending the classical radiative transfer equation (RTE) with specialized models aimed at better describing the various components of the incredibly complex Earth system. As in many, if not all, other scientific fields, the EO community is structured in subcommunities that focus their efforts on problems with limited scope. In that case, the scope pertains to a specific part of the Earth system, e.g. atmosphere, biosphere, hydrosphere, lithosphere or cryosphere. Each Earth system component poses different radiative transfer modelling challenges, which have been tackled mostly with a compartmentalized approach, each subcommunity addressing its own issues. These decades of research and development were successful and yielded a vast collection of theoretical models, numerical techniques, and simulation tools.</p>
      <p id="d2e211">However, the Earth system itself is made up of many components that interact radiatively. Therefore, the advances made in all the aforementioned subcommunities should, at some point, meet and combine for models and simulation tools to embrace the full complexity of the real world. In practice, this need for convergence remains largely unaddressed and results in a strong community fragmentation, which limits the possibilities to take Earth system radiative transfer modelling to the next level of accuracy.</p>
      <p id="d2e214">The need for more accurate radiative transfer simulations in the context of remote sensing is primarily motivated by the improving radiometric accuracy of modern satellite-borne instruments. Such radiometers can often only be calibrated through the process of <italic>vicarious calibration</italic>, which compares recorded satellite data with a trusted numerical reference obtained by simulating radiative transfer over a well-characterized target. Modern instruments often achieve accuracy levels around 2 %, and sometimes perform even better; some missions specifically targeting calibration applications, such as TRUTHS <xref ref-type="bibr" rid="bib1.bibx23" id="paren.1"/> or CLARREO <xref ref-type="bibr" rid="bib1.bibx87" id="paren.2"/>, are even expected to have a radiometric accuracy better than 1 %. However, the models routinely used for such calibration tasks do not consistently achieve an accuracy better than 1 %. This is mainly attributable to two factors <xref ref-type="bibr" rid="bib1.bibx33" id="paren.3"/>: <list list-type="bullet"><list-item>
      <p id="d2e231">The atmosphere is composed of a mixture of gaseous molecules and suspended particles (aerosols and clouds). The absorption of the molecular component is a complex modelling problem, in which uncertainties can arise at every point: molecular absorption depends on the state of the atmosphere; molecular absorption cross-sections have high-frequency features that are difficult to characterize; those features can only be accurately resolved with costly line-by-line methods; and to meet performance requirements, molecular absorption is usually parametrized (e.g. with the popular correlated-<italic>k</italic> method) to reduce the algorithmic complexity of the problem. Thus, simulating molecular absorption with the accuracy required to achieve the aforementioned requirements is very challenging.</p></list-item><list-item>
      <p id="d2e238">The world is intrinsically three-dimensional, but most radiative transfer models (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS1"/> for examples), for performance reasons, currently represent the scene using a plane-parallel geometry, i.e. with two translational invariances. This means that planetary curvature, surface heterogeneity (topography, vegetated or urban cover, optical properties varying horizontally) and atmospheric 3D structure (clouds) are ignored, although they have a significant impact on the radiative transfer problem.</p></list-item></list></p>
      <p id="d2e244">Separately, both challenges have been tackled using proven techniques developed by many research groups from diverse scientific communities over the past decades; but addressing both issues together requires a modelling framework capable of aggregating the advances of a fragmented scientific community. In that context, we present Eradiate, an open-source radiative transfer model (RTM) born from this need for scientific convergence, as well as a desire to offer the community a high-quality open product through long-term maintenance, thorough documentation, and modern software development practices. Eradiate offers a radiative transfer simulation framework for EO scientists that can model the atmosphere with state-of-the-art techniques and represent the surface with an arbitrary level of detail. Its flexible Python interface makes it ideal for integration in a modern scientific software environment.</p>
      <p id="d2e247">The scientific and technical background underlying this project is reviewed in Sect. <xref ref-type="sec" rid="Ch1.S2"/>. Sections <xref ref-type="sec" rid="Ch1.S3"/>, <xref ref-type="sec" rid="Ch1.S4"/> and <xref ref-type="sec" rid="Ch1.S5"/> provide an overview of the capabilities of the software. Section <xref ref-type="sec" rid="Ch1.S6"/> provides an overview of the architecture of Eradiate v1.0.0. Section <xref ref-type="sec" rid="Ch1.S7"/> elaborates on several activities undertaken to validate Eradiate's output. Finally, Sect. <xref ref-type="sec" rid="Ch1.S8"/> showcases a few applications to 1D and 3D radiative transfer problems.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Background and related work</title>
      <p id="d2e273">Eradiate is built to address the needs of EO scientists, with a strong influence from the computer graphics community. This section outlines the scientific background in the EO community and emphasizes important similarities with the field of computer graphics that are beneficial to radiative transfer modelling for EO applications. The vocabulary occasionally borrows from computer graphics: in case of doubt, the reader is referred to the work of <xref ref-type="bibr" rid="bib1.bibx88" id="text.4"/>, which clarifies some important points.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Radiative transfer simulation for Earth observation</title>
      <p id="d2e286"><italic>One-dimensional radiative transfer models.</italic> As mentioned previously, many RTMs assume that the geometry of the problem is one-dimensional, often with plane-parallel geometry, which greatly simplifies the implementation of many numerical methods. Many of these models share a focus on atmosphere modelling, since 1D surface modelling is fairly simple in comparison. One can cite the 6SV <xref ref-type="bibr" rid="bib1.bibx52" id="paren.5"/>, libRadtran's publicly available version <xref ref-type="bibr" rid="bib1.bibx64 bib1.bibx22" id="paren.6"/>, MODTRAN <xref ref-type="bibr" rid="bib1.bibx4" id="paren.7"/>, SCIATRAN <xref ref-type="bibr" rid="bib1.bibx86" id="paren.8"/>, or ARTDECO <xref ref-type="bibr" rid="bib1.bibx12" id="paren.9"/> models without being exhaustive. Eradiate does not position itself as an equivalent to any of these models, because the requirements underlying its development are different; but it can produce simulation results which can be compared to those of 1D models.</p>
      <p id="d2e306"><italic>Surface modelling.</italic> Natural and artificial land surfaces have a complex geometric structure due to vegetation, buildings, or topography, which cause complex radiative effects such as shadowing-masking or interreflection <xref ref-type="bibr" rid="bib1.bibx78" id="paren.10"/>. In addition, the materials composing the surface have an internal microstructure, making their radiative behaviour equally complex. 3D RTMs can account for that complexity by implementing explicit surface modelling. A few examples are DART <xref ref-type="bibr" rid="bib1.bibx102" id="paren.11"/>, LESS <xref ref-type="bibr" rid="bib1.bibx82" id="paren.12"/>, Librat <xref ref-type="bibr" rid="bib1.bibx59 bib1.bibx8" id="paren.13"/>, FluorWPS <xref ref-type="bibr" rid="bib1.bibx99" id="paren.14"/>, or DIRSIG <xref ref-type="bibr" rid="bib1.bibx28" id="paren.15"/>. Although accounting for all subtle radiative phenomena occurring in natural surfaces requires a 3D model, such a level of detail is not always necessary: complex surfaces are often approximated by equivalent bidirectional reflectance distribution functions (BRDFs), which can be used by both 3D and 1D models. The Lambertian (or diffuse) reflection model is the simplest, but also hardly representative of natural surfaces. A variety of models are used in EO applications, and a review is beyond the scope of this article. We can cite, without being exhaustive, models based on the work of <xref ref-type="bibr" rid="bib1.bibx68" id="text.16"/> or <xref ref-type="bibr" rid="bib1.bibx39" id="text.17"/>, many variants of the RossThick-LiSparse (RTLS) model <xref ref-type="bibr" rid="bib1.bibx61" id="paren.18"/>, the Rahman-Pinty-Verstraete (RPV) BRDFs <xref ref-type="bibr" rid="bib1.bibx83 bib1.bibx79" id="paren.19"/>, or physically based subsurface scattering models <xref ref-type="bibr" rid="bib1.bibx27" id="paren.20"/>. Specialized models are also available for cryosphere- <xref ref-type="bibr" rid="bib1.bibx66" id="paren.21"/> and hydrosphere-related <xref ref-type="bibr" rid="bib1.bibx69 bib1.bibx60" id="paren.22"/> applications.</p>
      <p id="d2e352"><italic>Atmosphere modelling.</italic> The Earth's atmosphere is composed of gases and particles of various sizes (aerosols and clouds). In the visible and infrared spectral regions, the particulate components usually have spectrally smooth absorption and scattering coefficients. The gaseous component, on the other hand, has a fine-structured line absorption spectrum which makes the simulation of radiative transfer with good accuracy and performance a challenging task. The spectral complexity of the gaseous component drives the selection of the numerical method used to handle the spectral dimension of the simulation.</p>
      <p id="d2e357">Spectroscopic databases, such as HITRAN <xref ref-type="bibr" rid="bib1.bibx30" id="paren.23"/> or GEISA <xref ref-type="bibr" rid="bib1.bibx16" id="paren.24"/>, provide absorption line parameters that are used by line-by-line spectroscopic models, such as LBLRTM <xref ref-type="bibr" rid="bib1.bibx9 bib1.bibx10" id="paren.25"/>, ARTS <xref ref-type="bibr" rid="bib1.bibx6" id="paren.26"/> or RADIS <xref ref-type="bibr" rid="bib1.bibx77" id="paren.27"/>, to compute absorption coefficient spectra.</p>
      <p id="d2e376">Radiative transfer solvers can use these absorption coefficients directly to solve the RTE at many wavelengths, with a spectral density sufficient to resolve line spectrum features. This kind of approach, without approximation, can easily become computationally expensive unless carefully optimized. Of notable interest is the ALIS method <xref ref-type="bibr" rid="bib1.bibx20" id="paren.28"/>, which drastically reduces the variance, and thus the computational cost, of such spectrally dense Monte Carlo methods by tracking many wavelengths simultaneously during the ray tracing random walk.</p>
      <p id="d2e382">To reduce the computational cost of molecular absorption modelling, many approaches have been developed. Without being exhaustive, we can cite the correlated-<italic>k</italic> distribution (CKD) family <xref ref-type="bibr" rid="bib1.bibx29 bib1.bibx54" id="paren.29"/>, REPTRAN <xref ref-type="bibr" rid="bib1.bibx26" id="paren.30"/> or the <inline-formula><mml:math id="M3" display="inline"><mml:mi mathvariant="normal">ℓ</mml:mi></mml:math></inline-formula>-distribution method <xref ref-type="bibr" rid="bib1.bibx2 bib1.bibx3" id="paren.31"/>.</p>
      <p id="d2e404"><italic>Aerosol modelling.</italic> Aerosols are major contributors to the planetary radiative budget and are subject to particular modelling attention. Just like other participating media, when solving the RTE, they are characterized by their absorption and scattering coefficients and phase function, varying against spatial and spectral coordinates. RTM input may however be formulated in higher-level terms (e.g. aerosol layer height and optical thickness at a reference wavelength for a 1D geometry) or using microphysical properties, assuming a scattering model (e.g. Mie scattering for spherical particles).</p>
      <p id="d2e409"><italic>Cloud modelling.</italic> In principle, the modelling of radiative transfer in clouds shares many similarities with that in aerosols. However, hydrometeors are much larger than aerosols, which introduces potential complications in scattering modelling due to peaked forward scattering. Methods have been developed to address these difficulties <xref ref-type="bibr" rid="bib1.bibx7" id="paren.32"/>. Clouds also usually feature 3D structures that have a strong impact on the radiative transfer problem. Several RTMs, e.g. 3DMCPOL <xref ref-type="bibr" rid="bib1.bibx13" id="paren.33"/>, MYSTIC <xref ref-type="bibr" rid="bib1.bibx63 bib1.bibx22" id="paren.34"/>, or htrdr <xref ref-type="bibr" rid="bib1.bibx101" id="paren.35"/>, have a strong 3D cloud modelling component.</p>
      <p id="d2e426"><italic>Technological background.</italic> Most RTMs consist of a high-performance core component that implements basic numerical methods, accessible through a higher-level interface that provides more intelligible abstractions for the user. The high-performance core takes low-level input. Configuring it manually is tedious, error-prone, and time-consuming. For example, the DISORT solver <xref ref-type="bibr" rid="bib1.bibx94" id="paren.36"/> uses atmospheric optical properties as its input: these are hard to derive for many RTM users, who usually have access more easily to higher-level quantities (e.g. atmospheric profile of temperature and pressure, aerosol optical thickness (AOT), etc.). For this reason, most RTMs wrap this core component in an interface taking as input quantities that are closer to physical abstractions relevant to the radiative transfer problem being solved. The interface itself may take input from files or through an application programming interface (API). Some RTMs that do not provide an API end up being interfaced by third-party software <xref ref-type="bibr" rid="bib1.bibx107 bib1.bibx14" id="paren.37"/>, which shows community interest for integrating RTMs in a programmatic workflow – especially in Python-based processing pipelines.</p>
      <p id="d2e437">Core components are typically written in Fortran, C, or C++, and interface components may be written in higher-level languages such as Python or Java. Although most RTMs target CPU architectures, it is worth noting that some projects, such as SMART-G <xref ref-type="bibr" rid="bib1.bibx84" id="paren.38"/>, target GPU hardware to take advantage of its exceptional parallel processing capabilities.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Physically based rendering</title>
      <p id="d2e451">Physically based rendering consists in creating images by modelling the propagation of light based on physical laws, i.e. by solving the RTE. Since a realistic scene contains many objects with subtle appearance details, the problem of realistic rendering is complex, and the current standard numerical method to solve it is Monte Carlo ray tracing (MCRT).</p>
      <p id="d2e454">Over the years, the computer graphics community has developed and enhanced MCRT techniques <xref ref-type="bibr" rid="bib1.bibx49 bib1.bibx100 bib1.bibx78" id="paren.39"/> to improve the realism and efficiency of the rendering process. Significant resources were invested in the development of effective theoretical frameworks, efficient Monte Carlo integration algorithms, variance reduction techniques, data representations, and realistic scattering models.</p>
      <p id="d2e460"><italic>Similarities and differences with radiative transfer for Earth observation.</italic> Without looking into details, simulating a satellite image by running an RTM is not very different from generating a synthetic picture of the target scene: both consist in solving the RTE in a scene observed by a sensor, where light is scattered by an arbitrary number of objects with arbitrarily complex scattering properties.</p>
      <p id="d2e465">However, the purposes of computer graphics and remote sensing are different: the former seeks plausible appearance, while the latter aims at quantitative accuracy. Consequently, the focus of model and algorithm development for rendering and remote sensing is different: a biased Monte Carlo integration algorithm may be acceptable for rendering because it produces plausible – although biased, thus inaccurate in a metrological sense – images, but may not be for remote sensing because the bias exceeds quantitative accuracy requirements; on the other hand, a reflectance model may be suitable for remote sensing for its ability to represent certain parts of the Earth system, but may be ruled out for rendering applications because its formulation makes it hard to sample efficiently and therefore degrades performance to an unacceptable point.</p>
      <p id="d2e469">An interesting example is how molecular absorption is modelled. The subtle effects originating from the complex line structure of molecular absorption spectra, although hardly perceptible to a human observer, must be modelled accurately to reach requirements for EO applications. This led to the development of the specific techniques mentioned above, which are not necessarily required for plausible rendering – although recent work has demonstrated interest in more realistic atmospheric models in the context of computer graphics <xref ref-type="bibr" rid="bib1.bibx106" id="paren.40"/>.</p>
      <p id="d2e475">The size of the computer graphics community and the converging interests of numerous scientists and users led to the development of “standard” software architectures suitable for incorporating the complexity of MCRT techniques. Many modern renderers support surface and volumetric scattering, polarization, surface and volume emission, and are built on a modular architecture which makes it easy to implement additional models and algorithms: when it comes to software architecture, the computer graphics community is less fragmented than the remote sensing community.</p>
      <p id="d2e478"><italic>Influence on radiative transfer modelling for remote sensing.</italic> Among the methods and techniques widely adopted in the computer graphics community that are particularly interesting in the context of 3D radiative transfer for EO, we can cite: <list list-type="bullet"><list-item>
      <p id="d2e485">hierarchical data structures, such as bounding volume hierarchies (BVH) or k-d trees <xref ref-type="bibr" rid="bib1.bibx78" id="paren.41"><named-content content-type="post">Chap. 7</named-content></xref>, which significantly reduce the cost of scene geometry traversal and are required to handle scenes with high geometric complexity;</p></list-item><list-item>
      <p id="d2e494">null-collision methods <xref ref-type="bibr" rid="bib1.bibx24 bib1.bibx76 bib1.bibx67" id="paren.42"/>, a family of grid-free unbiased sampling methods for participating media, which decouple medium sampling from the underlying data structures, allowing for flexible volume data storage and lookup;</p></list-item><list-item>
      <p id="d2e501">volumetric hierarchical data structures, such as VBD <xref ref-type="bibr" rid="bib1.bibx71 bib1.bibx72" id="paren.43"/>, useful to store efficiently information about complex heterogeneous participating media such as clouds.</p></list-item></list> Many more examples, ranging from Monte Carlo sampling techniques to software architecture, can motivate a convergence between the two scientific communities.</p>
      <p id="d2e508">Physically based rendering has had an influence on radiative transfer modelling for decades. Many modern RTMs, e.g. htrdr, DART, LESS, or DIRSIG5, are based directly or indirectly on rendering software, either by using a rendering framework such as PBRT <xref ref-type="bibr" rid="bib1.bibx78" id="paren.44"/>, LuxCoreRender <xref ref-type="bibr" rid="bib1.bibx5" id="paren.45"/> or Mitsuba <xref ref-type="bibr" rid="bib1.bibx45 bib1.bibx74 bib1.bibx46" id="paren.46"/> as their radiometric core component, or by drawing architectural or conceptual inspiration from rendering software, modelling, or theory.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Theoretical foundations</title>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Radiative transfer theory</title>
      <p id="d2e536">Like all RTMs, Eradiate solves the RTE. Many variants of it exist, all with a specific set of assumptions relevant to the application targeted by each RTM. A common general expression, neglecting volume emission, writes

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M4" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>L</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>L</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi mathvariant="script">S</mml:mi></mml:munder><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>p</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>L</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M5" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula> is the spectral radiance (typically in <inline-formula><mml:math id="M6" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">W</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">sr</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">nm</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>); <inline-formula><mml:math id="M7" display="inline"><mml:mi mathvariant="bold-italic">ω</mml:mi></mml:math></inline-formula> is an arbitrary direction vector, and <inline-formula><mml:math id="M8" display="inline"><mml:mi mathvariant="bold-italic">p</mml:mi></mml:math></inline-formula> is an arbitrary point in space; <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the extinction and scattering coefficients; and <inline-formula><mml:math id="M11" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> is the scattering phase function. The <inline-formula><mml:math id="M12" display="inline"><mml:mi mathvariant="script">S</mml:mi></mml:math></inline-formula> domain is the entire sphere. The spectral dependency is omitted for brevity. This volumetric transport equation notably neglects the effects of radiative emission, inelastic scattering (or any effect in which radiative energy can be transferred from one frequency to another), and polarization.</p>
      <p id="d2e765">To this volumetric transport equation must be added equally essential boundary conditions. A purely reflective local boundary condition at the surface of an opaque body writes

            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M13" display="block"><mml:mrow><mml:mi>L</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mrow><mml:mi mathvariant="script">H</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:munder><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mtext mathvariant="normal">for </mml:mtext><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the BRDF <xref ref-type="bibr" rid="bib1.bibx73" id="paren.47"/> and <inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:mi mathvariant="script">H</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the hemisphere oriented by the local surface normal vector <inline-formula><mml:math id="M16" display="inline"><mml:mi mathvariant="bold-italic">n</mml:mi></mml:math></inline-formula>. Many BRDFs exist, ranging from diffuse (a.k.a. Lambertian) materials with <inline-formula><mml:math id="M17" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mtext>constant</mml:mtext></mml:mrow></mml:math></inline-formula>, to complex material models that account for all kinds of angular, spatial and spectral behaviours. Other types of boundary conditions are possible, e.g. to account for transmission at the interface. Eradiate can handle all these different types of surfaces.</p>
      <p id="d2e912">Although incident solar radiation is unpolarized, atmospheric and surface scattering polarizes it. Neglecting this effect can lead to errors as large as about 10 % <xref ref-type="bibr" rid="bib1.bibx70 bib1.bibx18" id="paren.48"/>. Eradiate implements a polarized mode that solves the vector radiative transfer equation (VRTE), which describes the behaviour of polarized electromagnetic radiation, and writes

            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M18" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">L</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold">Σ</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">L</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi mathvariant="script">S</mml:mi></mml:munder></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="bold">R</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mtext>out</mml:mtext></mml:msub><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold">P</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold">R</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mtext>in</mml:mtext></mml:msub><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">L</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">ω</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M19" display="inline"><mml:mi mathvariant="bold-italic">L</mml:mi></mml:math></inline-formula> is the Stokes vector, whose components describe light intensity (typically in <inline-formula><mml:math id="M20" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">W</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">sr</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">nm</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>) and polarization state; <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">Σ</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the extinction matrix; <inline-formula><mml:math id="M22" display="inline"><mml:mi mathvariant="bold">P</mml:mi></mml:math></inline-formula> is the scattering phase matrix; <inline-formula><mml:math id="M23" display="inline"><mml:mi mathvariant="bold">R</mml:mi></mml:math></inline-formula> is a matrix that rotates the Stokes vector from a reference frame to another; and <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mtext>in</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (respectively <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mtext>out</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) is the angle between the pre-scattering propagation and scattering (respectively scattering and post-scattering) reference frames. For further detail on the VRTE, we refer interested readers to reference publications <xref ref-type="bibr" rid="bib1.bibx70 bib1.bibx19 bib1.bibx13" id="paren.49"/>. It should be stressed that Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) is valid only for randomly oriented scattering particles: Eradiate does not handle oriented scattering particles.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Problem geometry</title>
      <p id="d2e1192">Eradiate uses as a baseline a 1D background scene, i.e. with two spatial invariances. The scene includes a smooth surface, positioned at an arbitrary altitude, and an atmosphere discretized in a sequence of layers. Two configurations are possible: <list list-type="bullet"><list-item>
      <p id="d2e1197">in <italic>plane-parallel</italic> mode, the scene has two translational invariances, the surface is a horizontal plane and the atmospheric layers are horizontally infinite slabs;</p></list-item><list-item>
      <p id="d2e1204">in <italic>spherical-shell</italic> mode, the scene has two rotational invariances, the surface is a sphere and the atmospheric layers are spherical shells.</p></list-item></list> Spherical-shell geometry support is essential for accurate simulation at grazing viewing or illumination angles. In both cases, the atmospheric layers are assumed to have uniform optical properties. All layers have identical thickness, which allows for constant-complexity lookups. The default layer thickness (100 <inline-formula><mml:math id="M26" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>) should fit most cases, but that number can be adjusted to optimize performance or resolve fine spatial variations of optical properties.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Monte Carlo ray tracing</title>
      <p id="d2e1227">Eradiate uses backward MCRT methods to sample the solution of the radiative transfer equation (see Fig. <xref ref-type="fig" rid="F1"/>). Such methods perform a random walk from the sensor to connect it with light emitters in the scene <xref ref-type="bibr" rid="bib1.bibx63 bib1.bibx78" id="paren.50"/>. The algorithms used in Eradiate include numerical techniques that are commonly found in rendering system and/or atmospheric RTMs <xref ref-type="bibr" rid="bib1.bibx100" id="paren.51"/>: <list list-type="bullet"><list-item>
      <p id="d2e1240">local estimate, also known as next event estimation or direct illumination sampling, which samples the illumination at each node of the path constructed by the random walk rather than waiting to hit an emitter by chance, reducing variance significantly;</p></list-item><list-item>
      <p id="d2e1244">Russian roulette termination, which avoids constructing unnecessarily long paths by triggering path termination with a certain probability (and associated correction to avoid bias);</p></list-item><list-item>
      <p id="d2e1248">multiple importance sampling, used e.g. to combine light- and reflectance-driven samples, also reducing variance.</p></list-item></list> In plane-parallel geometry, the algorithm variant that is used takes advantage of prior knowledge of the 1D geometry to sample distances and transmittance in the atmosphere analytically in an optimized way.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e1254">Eradiate uses a path tracing algorithm which builds light paths by performing random walks from the sensor, bouncing at surfaces and in the 1D atmosphere. At each node, a radiance sample is computed and added to the path contribution (this is the next event estimation method, also known as local estimate). The path is terminated if the ray escapes the medium or by the Russian roulette criterion.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f01.png"/>

        </fig>

      <p id="d2e1263">In spherical-shell geometry, a flexible volumetric path tracing algorithm is used. This algorithm implements null-collision-based distance and transmittance sampling <xref ref-type="bibr" rid="bib1.bibx24 bib1.bibx76 bib1.bibx67" id="paren.52"/>, and trades off performance for flexibility. It uses a rejection technique to sample distances and estimate transmittance: this sets no constraint on scene geometry or on extinction coefficient data spatial variations and the method therefore adapts very well, in principle, to all kinds of atmospheric profiles. In practice, the method becomes less efficient at high optical thicknesses (above 1) due to the use of a global majorant for distance sampling. Several strategies are possible to overcome this issue, such as local majorants <xref ref-type="bibr" rid="bib1.bibx101 bib1.bibx78" id="paren.53"/> or an analytical estimator: these are areas for improvement for a future release.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Earth surface-atmosphere system components</title>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Surface</title>
<sec id="Ch1.S4.SS1.SSS1">
  <label>4.1.1</label><title>Reflection models</title>
      <p id="d2e1295">The surface in the baseline scene (see Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>) can be assigned various bidirectional scattering distribution functions (BSDFs).</p>
      <p id="d2e1300">The simplest reflection model provided by Eradiate is a diffuse (a.k.a. Lambertian) reflectance. The kernel-level implementation is wrapped in a high-level interface that allows specifying spectral variations with an xarray dataset object. This flexible data structure can be loaded from standard formats (e.g. NetCDF) or supplied directly by the user, who can write their own data converter very easily.</p>
      <p id="d2e1303">Several more complex BSDFs are available: implementations of the RPV, RTLS and Hapke models, as well as three different water surface models, are provided and can be assigned to the surface. Table <xref ref-type="table" rid="T1"/> summarizes the intended usage of the main reflection models. Similar to the diffuse model, the kernel-level implementation of all reflection models is wrapped in a high-level interface that simplifies user input.</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e1312">The main surface reflection models implemented by Eradiate.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Model name</oasis:entry>
         <oasis:entry colname="col2">References</oasis:entry>
         <oasis:entry colname="col3">Primary usage</oasis:entry>
         <oasis:entry colname="col4">Polarized</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Diffuse/Lambertian</oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">Fallback</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RPV</oasis:entry>
         <oasis:entry colname="col2">
                      <xref ref-type="bibr" rid="bib1.bibx83 bib1.bibx79" id="text.54"/>
                    </oasis:entry>
         <oasis:entry colname="col3">Terrestrial surfaces<sup>*</sup></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RTLS</oasis:entry>
         <oasis:entry colname="col2">
                      <xref ref-type="bibr" rid="bib1.bibx95" id="text.55"/>
                    </oasis:entry>
         <oasis:entry colname="col3">Terrestrial surfaces</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Hapke</oasis:entry>
         <oasis:entry colname="col2">
                      <xref ref-type="bibr" rid="bib1.bibx37 bib1.bibx38" id="text.56"/>
                    </oasis:entry>
         <oasis:entry colname="col3">Bare soil</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Ocean (Mishchenko)</oasis:entry>
         <oasis:entry colname="col2">
                      <xref ref-type="bibr" rid="bib1.bibx69" id="text.57"/>
                    </oasis:entry>
         <oasis:entry colname="col3">Water (no underlight)</oasis:entry>
         <oasis:entry colname="col4">✓</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Ocean (GRASP)</oasis:entry>
         <oasis:entry colname="col2">
                      <xref ref-type="bibr" rid="bib1.bibx60" id="text.58"/>
                    </oasis:entry>
         <oasis:entry colname="col3">Water (user-defined underlight)</oasis:entry>
         <oasis:entry colname="col4">✓</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Ocean (6SV)</oasis:entry>
         <oasis:entry colname="col2">
                      <xref ref-type="bibr" rid="bib1.bibx52" id="text.59"/>
                    </oasis:entry>
         <oasis:entry colname="col3">Water (modelled underlight, wind direction)</oasis:entry>
         <oasis:entry colname="col4">✓</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e1315"><sup>*</sup> Primarily designed for vegetation.</p></table-wrap-foot></table-wrap>


</sec>
<sec id="Ch1.S4.SS1.SSS2">
  <label>4.1.2</label><title>Complex surface features (vegetation, topography)</title>
      <p id="d2e1497">Building on its radiometric kernel, Eradiate offers the possibility to load arbitrary shapes and assign them any reflection model implemented at the kernel level. In particular, it is possible to load triangulated meshes, which allows representing surface features of arbitrary complexity with relatively low effort and great flexibility.</p>
      <p id="d2e1500">All shapes can also be “cloned” with low memory cost using <italic>instancing</italic>. Instances can be positioned arbitrarily in the scene, in any number, and can be used e.g. to replicate a tree model or a forest patch many times.</p>
      <p id="d2e1506">These features can be used to model topography (Fig. <xref ref-type="fig" rid="F2"/>), as well as explicitly resolved vegetated canopies (Fig. <xref ref-type="fig" rid="F3"/>) and urban environments. Users can also use their own 3D models, and Eradiate provides specific infrastructure to load the 3D canopies defined in the RAMI benchmark series <xref ref-type="bibr" rid="bib1.bibx103 bib1.bibx105" id="paren.60"/> based on PLY meshes.</p>

      <fig id="F2"><label>Figure 2</label><caption><p id="d2e1519">RGB view of the Algeria-5 pseudo-invariant calibration site with a plane-parallel atmosphere. The scene features an aerosol layer with an optical thickness of 0.2 and an exponential density distribution. The surface shape is a triangulation of the Copernicus GLO-30 (30 <inline-formula><mml:math id="M28" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> resolution) digital elevation model (DEM) <xref ref-type="bibr" rid="bib1.bibx96" id="paren.61"/> with a diffuse reflection model. See Sect. <xref ref-type="sec" rid="Ch1.S8.SS2.SSS2"/> for more technical details.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f02.jpg"/>

          </fig>

      <fig id="F3"><label>Figure 3</label><caption><p id="d2e1543">RGB view of the Savanna Pre-fire scene <xref ref-type="bibr" rid="bib1.bibx17" id="paren.62"/> with a plane-parallel atmosphere. The scene features an aerosol layer with an optical thickness of 0.1 and an exponential density distribution. See Sect. <xref ref-type="sec" rid="Ch1.S8.SS2.SSS1"/> for more technical details.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f03.jpg"/>

          </fig>

</sec>
<sec id="Ch1.S4.SS1.SSS3">
  <label>4.1.3</label><title>Surface texturing</title>
      <p id="d2e1565">Most BSDF parameters can be <italic>textured</italic>, i.e. assigned spatial variations in addition to their spectral variations. This allows one to, e.g., vary the reflectance of a diffuse BSDF at a surface. Texturing is done by mapping an object's <italic>texture coordinates</italic> (sometimes referred to <italic>uv coordinates</italic>) to a data source, typically an array with two spatial dimensions and one spectral dimension such as a spatially resolved hyperspectral albedo dataset. Figure <xref ref-type="fig" rid="F4"/> shows an example of diffuse reflectance texturing.</p>

      <fig id="F4"><label>Figure 4</label><caption><p id="d2e1581">Nadir top of atmosphere (TOA) view of the Gobabeb HYPERNETS site in Namibia <xref ref-type="bibr" rid="bib1.bibx15" id="paren.63"/> with a plane-parallel atmosphere (AFGL 1986 US Standard profile, no aerosols). The surface shape is a triangulation of the Copernicus GLO-30 DEM (30 <inline-formula><mml:math id="M29" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> resolution) with a diffuse reflection model textured by a resampling at 1 <inline-formula><mml:math id="M30" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> of the HAMSTER dataset <xref ref-type="bibr" rid="bib1.bibx85" id="paren.64"/>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f04.jpg"/>

          </fig>

      <p id="d2e1612">The Eradiate kernel also ships with a “selector” BSDF plugin, which dispatches calls to multiple nested BSDF plugins, based on an index texture. In practice, this can be used to map land cover categories to associated material models, which do not have to be identical: one can assign, e.g., an RPV model to the land parts of a topographic model, and a water surface model to the water parts. Figure <xref ref-type="fig" rid="F5"/> shows an example of land cover-based material selection, as well as instancing (see Sect. <xref ref-type="sec" rid="Ch1.S4.SS1.SSS2"/>).</p>

      <fig id="F5"><label>Figure 5</label><caption><p id="d2e1622">RGB view of a synthetic scene created after the area of Mbita, on Lake Victoria in Kenya. The surface shape (a triangulation of the Copernicus GLO-30 DEM) is assigned different reflection models (e.g. water, diffuse, RPV) based on land cover information contained in a texture encoded as a PNG image. Where relevant, land areas are also tiled with 3D objects at a reduced memory cost using instancing: a few templates (e.g. village, forest) are cloned many times to create a radiatively plausible reflection pattern. See also Sect. <xref ref-type="sec" rid="Ch1.S8.SS2.SSS3"/> for a similar example.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f05.jpg"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Atmosphere</title>
      <p id="d2e1642">The atmospheric medium is split into “molecular” (mostly gases) and “particulate” (aerosols or clouds) components. Components can be described with different vertical resolutions and are all resampled to the computational vertical grid (see Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>). Only one molecular component is allowed, while any number of particulate components is allowed.</p>
<sec id="Ch1.S4.SS2.SSS1">
  <label>4.2.1</label><title>Molecules</title>
      <p id="d2e1655">The molecular component's optical properties are driven by a thermophysical property vertical profile that maps the temperature, pressure and species concentrations against altitude. Thermophysical profile handling tools are factored in an independent library <xref ref-type="bibr" rid="bib1.bibx75" id="paren.65"/> that can generate standard profiles such as the six <italic>AFGL</italic> profiles <xref ref-type="bibr" rid="bib1.bibx1" id="paren.66"/>, and rescale their total column concentrations to a target value, e.g. to account for the increase in <inline-formula><mml:math id="M31" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> concentration since the 1980 s. Eradiate can also use arbitrary, user-supplied input, allowing for instance to derive thermophysical profiles from data provided by the Copernicus atmosphere monitoring service (CAMS) <xref ref-type="bibr" rid="bib1.bibx44" id="paren.67"/> for improved realism.</p>
      <p id="d2e1681"><italic>Molecular scattering.</italic> Molecular scattering is modelled with a polarized Rayleigh phase function <xref ref-type="bibr" rid="bib1.bibx36" id="paren.68"/> that includes the depolarization factor to account for molecular anisotropy. When polarization is neglected, the <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> element of the phase matrix serves as the scattering phase function.</p>
      <p id="d2e1705"><italic>Molecular absorption.</italic> The thermophysical profile is used to query a molecular absorption database and build an absorption coefficient vertical profile. At the time of writing, Eradiate ships with 6 molecular absorption databases created from the HITRAN 2020 spectroscopic database <xref ref-type="bibr" rid="bib1.bibx30" id="paren.69"/> using the RADIS <xref ref-type="bibr" rid="bib1.bibx77" id="paren.70"/> software package. Additional cross-section data, not found in HITRAN's absorption line database (e.g. ozone photodissociation data published by <xref ref-type="bibr" rid="bib1.bibx31 bib1.bibx91" id="altparen.71"/>) are also incorporated in the shipped cross-section databases. Users can use their own molecular absorption data, provided that it complies with the documented data format. Table <xref ref-type="table" rid="T2"/> lists all shipped databases.</p>

<table-wrap id="T2"><label>Table 2</label><caption><p id="d2e1725">List of Eradiate's shipped molecular absorption databases.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Identifier</oasis:entry>
         <oasis:entry colname="col2">Type</oasis:entry>
         <oasis:entry colname="col3">Resolution</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><italic>komodo</italic></oasis:entry>
         <oasis:entry colname="col2">Monochromatic</oasis:entry>
         <oasis:entry colname="col3">1 <inline-formula><mml:math id="M35" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">cm</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>gecko</italic></oasis:entry>
         <oasis:entry colname="col2">Monochromatic</oasis:entry>
         <oasis:entry colname="col3">0.1 <inline-formula><mml:math id="M36" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">cm</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>mycena</italic></oasis:entry>
         <oasis:entry colname="col2">CKD</oasis:entry>
         <oasis:entry colname="col3">10 <inline-formula><mml:math id="M37" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>panellus</italic></oasis:entry>
         <oasis:entry colname="col2">CKD</oasis:entry>
         <oasis:entry colname="col3">1 <inline-formula><mml:math id="M38" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>tuber</italic><sup>*</sup></oasis:entry>
         <oasis:entry colname="col2">CKD</oasis:entry>
         <oasis:entry colname="col3">0.1 <inline-formula><mml:math id="M39" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>monotropa</italic></oasis:entry>
         <oasis:entry colname="col2">CKD</oasis:entry>
         <oasis:entry colname="col3">100 <inline-formula><mml:math id="M40" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">cm</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e1728">* Only covers the <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:mn mathvariant="normal">250</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2550</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M34" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula> interval.</p></table-wrap-foot></table-wrap>

      <p id="d2e1925">Eradiate can process the spectral dimension using two methods, which are selected upon activation of the operational mode: <list list-type="bullet"><list-item>
      <p id="d2e1930">In <italic>monochromatic</italic> mode, the user inputs the sequence of wavelengths for which the RTE is solved. In that mode, the atmospheric absorption database (either brought by the user or selected from the list of built-in monochromatic databases mentioned in Table <xref ref-type="table" rid="T2"/>) should have a spectral resolution that is fine enough to resolve the complex line structure of the molecular absorption spectrum.</p></list-item><list-item>
      <p id="d2e1939">In <italic>CKD</italic> mode, the spectral dimension is handled using the CKD method. Eradiate mostly follows the terminology of <xref ref-type="bibr" rid="bib1.bibx41" id="text.72"/>. The spectrum is divided into a a set of spectral intervals, known as <italic>bins</italic>. This method alleviates the need to cover very densely the spectral dimension to resolve the high-frequency spectral features of molecular absorption spectra by reordering absorption coefficient values (denoted <inline-formula><mml:math id="M41" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>) in each bin against a pseudo-frequency (denoted <inline-formula><mml:math id="M42" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>) that represents the cumulative probability of the absorption coefficient over that bin. The resulting function <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:mi>g</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is monotonically increasing and smooth, which allows to compute spectral integrals using a low-order quadrature rule (typically Gaussian) with good accuracy. The quadrature points are called <inline-formula><mml:math id="M44" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>-points. In practice, this reduces by several orders of magnitude the number of spectral samples to process to achieve satisfactory accuracy. For further detail on this method, see, e.g., <xref ref-type="bibr" rid="bib1.bibx54" id="text.73"/>. In the CKD mode, the spectral discretization is driven by the selected absorption coefficient database. The bins that will be processed during the simulation are selected either manually by the user, or based on the sensor's spectral response function. When launching the simulation, Eradiate solves the RTE for each <inline-formula><mml:math id="M45" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>-point of each active CKD bin, then aggregates each bin's <inline-formula><mml:math id="M46" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>-points using the specified quadrature rule.</p></list-item></list></p>
      <p id="d2e2004">Monochromatic absorption databases are indexed by wavelength, pressure, temperature and species concentrations. Samples covering the solar reflective region (250 <inline-formula><mml:math id="M47" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula> to 3 <inline-formula><mml:math id="M48" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>) are available through the data management interface. To restrict the amount of data delivered to a reasonable amount, these databases are sparse in all dimensions and are not recommended for quantitative applications. Providing a database with a higher spectral resolution is however possible.</p>
      <p id="d2e2025">CKD absorption databases are provided for the same spectral region with four spectral resolutions (see Table <xref ref-type="table" rid="T2"/>). Like their monochromatic counterparts, the CKD databases feature pressure, temperature and species concentration dimensions. Two spectral dimensions are used: each CKD bin is identified by its central wavelength, and the absorption coefficient is then indexed by the <inline-formula><mml:math id="M49" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula> pseudo-spectral coordinate in the CKD method. This indexing method allows to store a highly resolved <inline-formula><mml:math id="M50" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-distribution, giving flexibility in how <inline-formula><mml:math id="M51" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>-points can be chosen during computation. Eradiate uses a conservative setup with a 16-point Gaussian quadrature, but other quadrature rules or number of <inline-formula><mml:math id="M52" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>-points are supported.</p>
</sec>
<sec id="Ch1.S4.SS2.SSS2">
  <label>4.2.2</label><title>Aerosols</title>
      <p id="d2e2066">The aforementioned molecular component can be combined with an arbitrary number of aerosol (or other particulates) layers parametrized by a vertical extent, a total optical thickness at a reference wavelength, a vertical density distribution and a dataset describing, as a function of the spectral coordinate, the single-scattering properties for that layer (extinction coefficient, single-scattering albedo, and phase matrix). Such single-scattering properties can be computed from microphysical properties, e.g. using Mie theory (for spherical particles) or the T-matrix method (for non-spherical particles).</p>
      <p id="d2e2069">Eradiate ships with a few sample datasets, and notably includes the aerosol classes defined by the 6SV RTM. No tool is included to derive single-scattering properties, but Eradiate can import data in the NetCDF format supported by the libRadtran RTM: Thus, users can provide customized input generated, e.g., using the MOPSMAP online tool <xref ref-type="bibr" rid="bib1.bibx25" id="paren.74"/>, or libRadtran's <monospace>mie</monospace> tool <xref ref-type="bibr" rid="bib1.bibx22" id="paren.75"/>.</p>
</sec>
<sec id="Ch1.S4.SS2.SSS3">
  <label>4.2.3</label><title>Clouds</title>
      <p id="d2e2089">Eradiate also supports cloud modelling, under the 1D assumption, using the same framework as for aerosols. Single-scattering properties therefore have to be supplied to the model, and can be derived from microphysical properties using Mie theory for liquid water clouds. Data for ice clouds based on appropriate parametrizations can also be imported, e.g. from libRadtran. 3D clouds are not supported by this release, but their addition is planned in a future version.</p>
</sec>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Illumination</title>
      <p id="d2e2101"><italic>Top of atmosphere irradiance spectrum.</italic> Several irradiance spectra are provided <xref ref-type="bibr" rid="bib1.bibx98 bib1.bibx108 bib1.bibx35 bib1.bibx65" id="paren.76"/> and normalized to 1 <inline-formula><mml:math id="M53" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">AU</mml:mi></mml:mrow></mml:math></inline-formula>, with the CEOS-endorsed TSIS-1 spectrum <xref ref-type="bibr" rid="bib1.bibx11" id="paren.77"/> as the default. For more accurate radiance simulations, irradiance values can be scaled to account, e.g., for seasonal variations due to the eccentricity of the Earth's orbit around the Sun. The irradiance spectrum class accepts user-defined input in the documented format.</p>
      <p id="d2e2120"><italic>Illumination model.</italic> Eradiate provides two illumination models that describe radiance boundary conditions at the outer boundary of the computational domain, giving the value of the radiance field as a function of direction. The first one, a perfectly directional model, describes the radiance distribution as a delta Dirac distribution. The second one is more realistic and accounts for the fact that solar illumination, at the top of the atmosphere, is not perfectly directional, and implements in practice an <italic>environment map</italic>, also known as <italic>infinite area light</italic> in computer graphics <xref ref-type="bibr" rid="bib1.bibx78" id="paren.78"/>. Both illumination models are parametrized by the local solar zenith and azimuth angles and the selected irradiance spectrum. Figure <xref ref-type="fig" rid="F6"/> illustrate the conceptual difference between the two models.</p>

      <fig id="F6"><label>Figure 6</label><caption><p id="d2e2138">An illustration of Eradiate's illumination models. The first model (left) is perfectly directional and parametrized by the solar zenith (<inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and azimuth angles; the second (right) models the Sun's finite apparent size <inline-formula><mml:math id="M55" display="inline"><mml:mi mathvariant="italic">α</mml:mi></mml:math></inline-formula>, in addition to the solar angles.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f06.png"/>

        </fig>

</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Sensors and measurements</title>
      <p id="d2e2175">Most sensors implemented by Eradiate can be positioned arbitrarily in the scene. It is therefore possible to simulate measurements at the top of the atmosphere (e.g. to model a satellite), at the bottom of the atmosphere (ground level, e.g. to model a camera or a sun photometer), or anywhere in between (e.g. to model an airborne radiometer).</p>
<sec id="Ch1.S5.SS1">
  <label>5.1</label><title>Fundamental radiometric quantities (radiance, fluxes)</title>
      <p id="d2e2185">Eradiate provides several sensors that offer interfaces to sample radiance at the aforementioned locations, varying the pixel count, angular coverage or spatial sampling – depending on what is most appropriate for the targeted application.</p>
      <p id="d2e2188">A simple <italic>radiancemeter</italic> allows to record radiance in a single direction from an arbitrary position in the scene. The interface allows to define several such sensors (positioned at different locations and pointing to different directions) that will be processed in parallel.</p>
      <p id="d2e2194">Another variant targets a specific location in the scene from a distant location. This <italic>distant radiancemeter</italic> also exists in several versions, which have various angular parametrizations (discrete or continuous). The distance between the target location and ray origins can be adjusted, up to infinity, making this sensor family a very flexible tool for computing various kinds of radiance estimates.</p>
      <p id="d2e2200">A special variant of the distant radiancemeter records the directional flux leaving a target location defined by an arbitrary positioned and oriented flat surface. It can, in practice, be used to compute the directional or total flux reflected by a surface.</p>
      <p id="d2e2204">Finally, a perspective camera sensor can be used as a more traditional interface to generate images. It implements a pinhole camera model with a configurable field of view.</p>
      <p id="d2e2207">These fundamental radiometric quantities can be combined to simulate more complex measurements. Section <xref ref-type="sec" rid="Ch1.S8"/> provides a few examples that use one or multiple sensors.</p>
</sec>
<sec id="Ch1.S5.SS2">
  <label>5.2</label><title>Spectral response</title>
      <p id="d2e2220">All sensors can be assigned a spectral response function (SRF). Two main spectral response types are available: <list list-type="bullet"><list-item>
      <p id="d2e2225">The <italic>delta</italic> spectral response selects one or several wavelengths in the spectrum at which Eradiate performs radiometric computations. In monochromatic modes, the exact wavelength is processed; in CKD modes, the CKD bin that includes the selected wavelength is processed. Results obtained with a delta SRF are not applied spectral weighting (a.k.a. <italic>convolution</italic>).</p></list-item><list-item>
      <p id="d2e2235">The <italic>band</italic> spectral response applies an instrument spectral response function. Eradiate performs radiometric computations on the spectral domain covered by the SRF data, and outputs both the raw radiometric output, and the SRF-weighted radiometric quantities.</p></list-item></list> Eradiate ships with a library of band SRF data, and the documented xarray dataset format allows users to easily add their own.</p>
</sec>
</sec>
<sec id="Ch1.S6">
  <label>6</label><title>Architecture and design</title>
      <p id="d2e2251">Eradiate is written in the Python 3 and C++17 languages. It consists of a high-performance radiometric kernel driven by an interface layer. The radiometric kernel uses low-level abstractions to run simulations; the interface layer exposes higher-level abstractions to the user, builds and runs simulations, then collects the results and packages them in a convenient format (see Fig. <xref ref-type="fig" rid="F7"/>).</p>

      <fig id="F7"><label>Figure 7</label><caption><p id="d2e2258">Architectural overview of Eradiate. The user-facing Python interface wraps a modified version of Mitsuba, our radiometric kernel, through its Python interface. The Python interface exposes library components written in C++ through extensive bindings. Mitsuba plugins, written in C++ or Python, implement kernel-level models and algorithms.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f07.png"/>

      </fig>

<sec id="Ch1.S6.SS1">
  <label>6.1</label><title>Radiometric kernel: Mitsuba 3</title>
      <p id="d2e2274">Eradiate's radiometric kernel is a modified version of Mitsuba 3 <xref ref-type="bibr" rid="bib1.bibx46" id="paren.79"/>, a research-oriented rendering system written in C++ and Python. Its architecture shares similarities with that of PBRT <xref ref-type="bibr" rid="bib1.bibx78" id="paren.80"/>, which simplifies the learning curve despite the large number of advanced features it implements. Using an existing open-source renderer as the radiometric kernel, instead of writing a dedicated piece of software, dramatically reduces the amount of work required on foundational infrastructure (e.g. ray-shape intersections with built-in k-d tree or BVH construction, optical property representation, MCRT algorithm implementation). Mitsuba is built by trained computer scientists on the basis of proven architecture and takes advantage of utility libraries that ensure excellent performance. Its community of users and contributors helps to detect and solve issues and provide software usage examples.</p>
      <p id="d2e2283">Mitsuba is a <italic>retargetable</italic> system: its codebase is written with C++ template metaprogramming, which allows performing compile-time code transformation varying  fundamental aspects of the renderer. This notably includes varying colour representation (e.g. monochromatic, RGB or spectral), accounting for polarization and changing floating point number precision. The renderer is built on top of the Dr.Jit just-in-time compilation library <xref ref-type="bibr" rid="bib1.bibx47" id="paren.81"/>, which provides various computational backends targeting CPU or GPU hardware, also selectable through template metaprogramming. Each combination of template parameters is called a <italic>variant</italic>; compiled variants are defined at the beginning of the build process, and the active variant is selected at runtime. Eradiate takes advantage of this aspect of Mitsuba which greatly reduces the amount of code to maintain. For example, our polarized reflection and scattering algorithms are all implemented as variants of an unpolarized baseline in a unified codebase.</p>
      <p id="d2e2295">Mitsuba has a modular architecture: a core library provides basic infrastructure and interfaces, and the implementation of most of the algorithms involved in the MCRT process is contained in <italic>plugins</italic> dynamically loaded at runtime. Core library components and interfaces are generally stable and rarely require deep changes: thus, the API changes made in Eradiate's modified version of Mitsuba are carefully pondered to reduce the overhead when integrating upstream updates, which happen frequently due to Mitsuba's research software status. On the other hand, Eradiate's kernel contains a lot of plugin code that complements Mitsuba's shipped plugins with remote sensing-oriented components that implement specialized algorithms and models.</p>
      <p id="d2e2301">Mitsuba provides a set of fine-grained Python bindings which grant full access to most of the components of the renderer. The completeness of this Python interface was decisive when selecting the renderer to use as our radiometric kernel: the radiometric kernel can be entirely controlled in the language used to implement the interface layer.</p>
</sec>
<sec id="Ch1.S6.SS2">
  <label>6.2</label><title>Basic concepts</title>
      <p id="d2e2313">Mitsuba's variant selection system propagates to Eradiate in the form of <italic>operational modes</italic>. The active operational mode is selected globally and defines how the spectral dimension is handled (monochromatic or CKD), and whether polarization is accounted for. Eradiate currently operates entirely in double-precision to accommodate easily the potentially huge characteristic length scale differences there can be between the largest (a planet and its atmosphere) and smallest (a tree leaf or grass blade) objects in the simulation. Each mode is identified by a single keyword (e.g. <monospace>mono</monospace> or <monospace>ckd_polarized</monospace>).</p>
      <p id="d2e2325">Eradiate defines simulations using objects called <italic>experiments</italic> and formalized by the <monospace>Experiment</monospace> interface. An experiment class automates the assembly of a <italic>scene</italic> which consists of geometric primitives, surface and volume scattering properties, illumination and measure models, and an RTE integration algorithm, referred to as <italic>scene elements</italic> in the following.<fn id="Ch1.Footn1"><p id="d2e2340">The concept of a scene is more general than just physical objects (shapes and their attached optical properties): it includes all the components used for the radiative simulation, including the surface and atmosphere objects, but also the illumination, sensor and Monte Carlo integration. This wording is more similar to the vocabulary used in the computer graphics community.</p></fn> The <monospace>Experiment</monospace> base type is subclassed to provide an interface that has a scope limited to a specific type of problem.</p>
      <p id="d2e2348">Experiment initialization does not trigger the simulation: the experiment object is created by the user and only holds a configuration until the <monospace>eradiate.run()</monospace> function is called. At this point, the scene assembly process is triggered, the experiment is translated into a <italic>kernel dictionary</italic> – the input to the Mitsuba radiometric kernel – depending on the active operational mode, and a Mitsuba scene object is instantiated. Eradiate then takes advantage of Mitsuba's scene update system: a Mitsuba scene object exposes <italic>scene parameters</italic> that can be dynamically updated while maintaining scene state consistency. In particular, the spectral properties of objects can be changed without triggering a full scene reload. Eradiate leverages this to run a sequence of monochromatic simulations in a so-called <italic>spectral loop</italic>. Each iteration of the spectral loop produces monochromatic output data held by a Mitsuba bitmap object. Collected bitmaps are aggregated into an xarray <xref ref-type="bibr" rid="bib1.bibx43" id="paren.82"/> data structure (Fig. <xref ref-type="fig" rid="F8"/>).</p>

      <fig id="F8"><label>Figure 8</label><caption><p id="d2e2372">Eradiate's processing pipeline pre-processes user input, issued as an <monospace>Experiment</monospace> object, and generates a kernel scene dictionary, itself turned into a Mitsuba <monospace>Scene</monospace> object. The Mitsuba renderer is called repeatedly in a sequence where each iteration corresponds to a point in Eradiate's spectral discretization. The resulting raw output is then post-processed and formatted as an xarray dataset.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f08.png"/>

        </fig>

</sec>
<sec id="Ch1.S6.SS3">
  <label>6.3</label><title>Scene assembly</title>
      <p id="d2e2395"><italic>Simple interface.</italic> Eradiate's scene assembly process is centred around scene elements. They can represent geometric primitives, optical properties, illumination conditions, measures or MCRT algorithms. Various interface classes are defined, then implemented by concrete classes. They are generally independent of each other, acting as wrappers around one or several Mitsuba plugins. Coupling between scene elements generally occurs on an <monospace>Experiment</monospace>-dependent basis. For instance, a measure's target area may be constrained by the geometry of the problem: the <monospace>Experiment</monospace> object will then take care of making sure that the geometry and measure definitions are compatible with each other, and either automatically correct the configuration, warn the user or fail (i.e. raise an exception).</p>
      <p id="d2e2406">Scene assembly components are categorized thematically. Each general scene element class is embodied by an interface (see Table <xref ref-type="table" rid="T3"/>), itself implemented by various concrete classes. Although combining scene elements arbitrarily is conceptually possible, their assembly is constrained by their parent <monospace>Experiment</monospace>. For instance, a user will not be allowed to add multiple molecular atmospheric components at the same time.</p>

<table-wrap id="T3"><label>Table 3</label><caption><p id="d2e2417"> List of Eradiate's main <monospace>SceneElement</monospace> interfaces.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="justify" colwidth="150pt"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Name</oasis:entry>
         <oasis:entry colname="col2" align="left">Description</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>Atmosphere</monospace></oasis:entry>
         <oasis:entry colname="col2" align="left">Combined atmosphere geometric primitives and optical properties.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>BSDF</monospace></oasis:entry>
         <oasis:entry colname="col2" align="left">Thin interface to <monospace>BSDF</monospace> plugins.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>Canopy</monospace></oasis:entry>
         <oasis:entry colname="col2" align="left">Combined canopy geometric primitives and optical properties.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>Illumination</monospace></oasis:entry>
         <oasis:entry colname="col2" align="left">Combined illumination spatial, directional and spectral distributions.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>PhaseFunction</monospace></oasis:entry>
         <oasis:entry colname="col2" align="left">Thin interface to <monospace>PhaseFunction</monospace> plugins.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>Shape</monospace></oasis:entry>
         <oasis:entry colname="col2" align="left">Thin interface to <monospace>Shape</monospace> plugins.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>Spectrum</monospace></oasis:entry>
         <oasis:entry colname="col2" align="left">Spectrally dependent quantities.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>Surface</monospace></oasis:entry>
         <oasis:entry colname="col2" align="left">Combined surface geometric primitives and optical properties.</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e2538"><italic>Expert interface.</italic> Simulations of complex scenes are generally out of the scope of the constrained simple interface defined by <monospace>Experiment</monospace> classes. For such situations, Eradiate offers the possibility to users to define their input using low-level Mitsuba primitives directly. When inserting such objects, users must pay attention to scene consistency themselves, but are in exchange free to do anything the radiometric kernel allows. The <italic>expert interface</italic> extends the baseline <monospace>Experiment</monospace> interface with two kinds of input: <list list-type="bullet"><list-item>
      <p id="d2e2554">Mitsuba scene input, either in the form of full or partial kernel dictionaries, or fully initialized Mitsuba objects;</p></list-item><list-item>
      <p id="d2e2558"><italic>scene parameters</italic>, which describe how Mitsuba scene parameters are updated at each iteration of the spectral loop.</p></list-item></list> A scene parameter definition includes: <list list-type="bullet"><list-item>
      <p id="d2e2566">the parameter update protocol in the form of a callable that takes as input spectral loop contextual data;</p></list-item><list-item>
      <p id="d2e2570">additional metadata used to associate the update protocol with a node in the Mitsuba scene parameter tree.</p></list-item></list> This infrastructure is what powers internally the simple interface and allows power users to use all Mitsuba plugins in their customized setup, including those which are not exposed by any Eradiate scene element. User kernel dictionary and scene parameter definitions are merged with the ones generated by the simple interface upon experiment initialization.</p>
      <p id="d2e2574">Appendix <xref ref-type="sec" rid="App1.Ch1.S3"/> elaborates on Eradiate's user interface and provides examples of simple and expert interface scripting.</p>
</sec>
</sec>
<sec id="Ch1.S7">
  <label>7</label><title>Validation and benchmarking</title>
      <p id="d2e2588">As mentioned earlier, Eradiate is intended to provide a highly accurate simulation framework suitable for cal/val applications and is validated against both analytical test cases, community-approved benchmarking results and actual measurements.</p>
<sec id="Ch1.S7.SS1">
  <label>7.1</label><title>Analytical solutions and unit testing</title>
      <p id="d2e2598">The first validation stage consists in checking Eradiate's output against known analytical solutions. While full radiative transfer simulation scenarios are generally too complex to derive an analytical solution, many components in the software package can be validated individually. This notably includes the evaluation and sampling routines of most scattering models, as well as the scene assembly process. These tests are implemented as part of Eradiate's unit testing framework, based on pytest <xref ref-type="bibr" rid="bib1.bibx53" id="paren.83"/>, which is run frequently on the development branch to detect regressions.</p>
</sec>
<sec id="Ch1.S7.SS2">
  <label>7.2</label><title>RAMI benchmark series</title>
      <p id="d2e2612"><italic>RAMI Online Model Checker (ROMC).</italic> Eradiate's canopy simulation features are validated against scenarios defined for the ROMC tool<fn id="Ch1.Footn2"><p id="d2e2617"><uri>https://romc.jrc.ec.europa.eu/</uri> (last access: 18 May 2026).</p></fn> <xref ref-type="bibr" rid="bib1.bibx104" id="paren.84"/>. It provides a framework for autonomous canopy RTM benchmarking based on scenarios developed during the first three phases of the Radiative transfer Model Intercomparison (RAMI) <xref ref-type="bibr" rid="bib1.bibx80 bib1.bibx81 bib1.bibx103" id="paren.85"/>. ROMC scenarios are based on abstract canopies with diverse structures, e.g. homogeneous vegetated covers with different leaf angle distributions, clusters of spherical leaf clouds, or more realistic setups similar to forests. Canopy definitions are general, leaving to users and their RTM the choice of the representation: We chose to represent leaves as disks, but similar performance could be achieved by representing them using triangulated meshes. Readers interested in a complete list and description of the ROMC scenarios are referred to the original RAMI-3 publication <xref ref-type="bibr" rid="bib1.bibx103" id="paren.86"/> and the RAMI website.<fn id="Ch1.Footn3"><p id="d2e2632"><uri>https://rami-benchmark.jrc.ec.europa.eu/_www/phase_descr.php?strPhase=RAMI3</uri> (last access: 18 May 2026).</p></fn></p>
      <p id="d2e2637">ROMC users can submit simulation results for various measurements: top of canopy (TOC) bidirectional reflectance factor (BRF) (full contribution, as well as partial contributions accounting for various orders of scattering or ignoring reflection by specific objects in the scene), fraction of radiation absorbed by foliage, albedo and flux transmitted through the canopy. ROMC submissions can be done in two modes: <list list-type="bullet"><list-item>
      <p id="d2e2642">The DEBUG mode allows repeated submissions on many scenes and reveals to the user a reference against which they can compare and adjust. This mode is designed to help RTM developers debug their code to reach the community consensus.</p></list-item><list-item>
      <p id="d2e2646">The VALIDATE mode allows only one submission on a restricted set of randomly chosen scenes different from those available in DEBUG mode, and exposes no “ground truth” for comparison before submission is completed. This mode is designed as a blind exercise to allow RTM developers and users to get a traceable proof of the performance of their model.</p></list-item></list></p>
      <p id="d2e2649">Eradiate was used to simulate the BRF in the principal and orthogonal planes.<fn id="Ch1.Footn4"><p id="d2e2652">The principal plane is the set of directions in a plane generated by the Sun direction and the local vertical. The orthogonal plane is the plane perpendicular to the principal plane that contains the local vertical.</p></fn> The full, single- and multiple-scattering contributions were computed. Periodic boundary conditions were simulated by padding the unit cell with instances of itself. The number of padding rows required to converge to a quasi-periodic setup depends on the scene. For the tested scenes, a padding value of 20 was appropriate. Various submissions were done in DEBUG mode, presented in Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>. A VALIDATE mode run was also performed, with results shown in Table <xref ref-type="table" rid="T4"/>. The skill score (as defined by <xref ref-type="bibr" rid="bib1.bibx104" id="altparen.87"/>) on the submitted measurements is generally high (99 % or higher). The only exception is the <monospace>brfpp_mlt</monospace> measurement (multiple scattering in the principal plane) which is computed from three combined Monte Carlo estimators and thus accumulates variance: this results in increased noise, particularly visible when the expected value is low (all scenarios except <monospace>HET41_DIS_ERE_NIR_30</monospace>), and degrades the skill score. This measurement is however correct when the expected value takes more significant values (see the <monospace>HET41_DIS_ERE_NIR_30</monospace> scenario). Lower variance could be achieved by implementing an integrator that returns this measurement directly.</p>

<table-wrap id="T4" specific-use="star"><label>Table 4</label><caption><p id="d2e2677">Eradiate ROMC submissions (model name: <monospace>eradiatev100</monospace>) in VALIDATE mode. Visuals are representative of the mentioned scenes, but not accurate renders of the particular simulated variants (e.g. the <monospace>HET01</monospace> and <monospace>HET41</monospace> scenes feature different numbers of spherical leaf clouds).</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="justify" colwidth="2.75cm"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row>

         <oasis:entry colname="col1" align="left">Measurement <inline-formula><mml:math id="M56" display="inline"><mml:mo>→</mml:mo></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col2"/>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

         <oasis:entry colname="col5"/>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1" align="left"><inline-formula><mml:math id="M57" display="inline"><mml:mo>↓</mml:mo></mml:math></inline-formula> Scene</oasis:entry>

         <oasis:entry colname="col2"><monospace>brfpp</monospace></oasis:entry>

         <oasis:entry colname="col3"><monospace>brfpp_uc_sgl</monospace></oasis:entry>

         <oasis:entry colname="col4"><monospace>brfpp_mlt</monospace></oasis:entry>

         <oasis:entry colname="col5"><monospace>brfop</monospace></oasis:entry>

       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>

         <oasis:entry colname="col1" align="left"><monospace>HOM11_DIS_PLA</monospace> <monospace>_RED_00</monospace></oasis:entry>

         <oasis:entry rowsep="1" colname="col2" morerows="2"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g01.png"/></oasis:entry>

         <oasis:entry rowsep="1" colname="col3" morerows="2"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g02.png"/></oasis:entry>

         <oasis:entry rowsep="1" colname="col4" morerows="2"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g03.png"/></oasis:entry>

         <oasis:entry rowsep="1" colname="col5" morerows="2"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g04.png"/></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" align="left"> Homogeneous leaf cloud <inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g09.png"/></oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1" align="left"><monospace>HOM12_DIS_ERE</monospace> <monospace>_RED_60</monospace></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" align="left"><monospace>HET01_DIS_UNI</monospace> <monospace>_RED_60</monospace></oasis:entry>

         <oasis:entry rowsep="1" colname="col2" morerows="2"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g05.png"/></oasis:entry>

         <oasis:entry rowsep="1" colname="col3" morerows="2"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g06.png"/></oasis:entry>

         <oasis:entry rowsep="1" colname="col4" morerows="2"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g07.png"/></oasis:entry>

         <oasis:entry rowsep="1" colname="col5" morerows="2"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g08.png"/></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" align="left"> Spherical leaf clouds <inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g10.png"/></oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1" align="left"><monospace>HET41_DIS_ERE</monospace> <monospace>_NIR_30</monospace></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" align="left">Skill</oasis:entry>

         <oasis:entry colname="col2">99.395</oasis:entry>

         <oasis:entry colname="col3">99.594</oasis:entry>

         <oasis:entry colname="col4">70.721</oasis:entry>

         <oasis:entry colname="col5">99.558</oasis:entry>

       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e2689"><monospace>brfpp</monospace>: BRF in the principal plane. <monospace>brfpp_uc_sgl</monospace>: BRF in the principal plane for single-scattered radiation collided by the soil. <monospace>brfpp_mlt</monospace>: BRF in the principal plane for multiple-scattered (two or more scattering events) radiation. <monospace>brfop</monospace>: BRF in the cross plane (perpendicular to the principal plane).</p></table-wrap-foot></table-wrap>

      <p id="d2e2913">From this, we conclude that Eradiate performs well on a variety of discrete scenes to compute radiance estimates. Remaining issues are attributed to operator mistakes, i.e. incorrect scene or measure setup.</p>
      <p id="d2e2916"><italic>Other RAMI phases.</italic> In addition to the permanently open ROMC, Eradiate was used to contribute to the RAMI-V and RAMI4ATM phases. RAMI-V <xref ref-type="bibr" rid="bib1.bibx55" id="paren.88"/> further increases the complexity of canopy-centric benchmarking scenarios, with multiple scenes derived from actual canopies. At that time, Eradiate's canopy simulation features were in an early development stage and the submission was partial, focusing on a single scene and reflectance measures. The submitted results were within good agreement with other well-established MCRT models such as DART or LESS.</p>
      <p id="d2e2924">The RAMI4ATM phase <xref ref-type="bibr" rid="bib1.bibx48" id="paren.89"/>, in progress at the time of writing, focuses on benchmarking RTMs targeting 1D atmospheric simulation. Eradiate's coverage for that phase is much more extensive.</p>
      <p id="d2e2930"><italic>Relationship with unit testing.</italic> A few scenarios derived from the RAMI scenario pool were turned into regression tests and are executed as part of Eradiate's regular unit test suite using a statistical testing framework, mitigating the risk of regression without the need to run complete benchmarks.</p>
</sec>
<sec id="Ch1.S7.SS3">
  <label>7.3</label><title>IPRT benchmark series</title>
      <p id="d2e2943">In order to validate Eradiate for polarimetric simulations including scattering from molecules, aerosol particles and cloud droplets in the Earth atmosphere, we compared against comprehensive benchmark results established by the International Working Group on Polarized Radiative Transfer IPRT <xref ref-type="bibr" rid="bib1.bibx21" id="paren.90"/>. The first phase of IPRT includes 1D setups for clear atmospheres, for cloud and aerosol scattering, as well as for surface reflection. The benchmark results were established by intercomparison of six participating independently developed radiative transfer codes.</p>
      <p id="d2e2949">Figure <xref ref-type="fig" rid="F9"/> shows the Eradiate results for case B3. The simulation uses the US Standard Atmosphere <xref ref-type="bibr" rid="bib1.bibx1" id="paren.91"/> together with a typical aerosol profile <xref ref-type="bibr" rid="bib1.bibx92" id="paren.92"/>, with a vertical aerosol optical thickness of 0.2. Aerosol optical properties are provided on the IPRT website<fn id="Ch1.Footn5"><p id="d2e2960"><uri>https://www.meteo.physik.uni-muenchen.de/~iprt/</uri> (last access: 18 May 2026).</p></fn> and correspond to prolate spheroids with an aspect ratio of 3. The particle size distribution has a mode radius of 390 nm. The complex refractive index is <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.52</mml:mn><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn><mml:mi>i</mml:mi></mml:mrow></mml:math></inline-formula> and the mass density is 2.6 <inline-formula><mml:math id="M59" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">g</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">cm</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. These properties are representative of the coarse mode of mineral dust aerosols <xref ref-type="bibr" rid="bib1.bibx40" id="paren.93"/>. Simulations are performed at a wavelength of 350 <inline-formula><mml:math id="M60" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula> in the ultraviolet spectral region, where Rayleigh scattering is strong and absorption is dominated by ozone. Radiances are calculated for sensors located at the surface, at 1 <inline-formula><mml:math id="M61" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> altitude, and at the top of the atmosphere (TOA). The figure can be directly compared with Fig. 8 in <xref ref-type="bibr" rid="bib1.bibx21" id="text.94"/>. The upper panels show the radiation field for a sensor at TOA viewing downward, while the lower panels show the radiation field for a surface sensor viewing upward. The solar zenith angle is 30° and the solar azimuth angle is 0°. The solar position is indicated by a yellow star in the polar plots. The subplots display the Stokes vector components: the intensity <inline-formula><mml:math id="M62" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula>, the linear polarization components <inline-formula><mml:math id="M63" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M64" display="inline"><mml:mi>U</mml:mi></mml:math></inline-formula>, and the circular polarization component <inline-formula><mml:math id="M65" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula>. In this case, <inline-formula><mml:math id="M66" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula> is three to four orders of magnitude smaller than the linear polarization components. At the surface, the intensity <inline-formula><mml:math id="M67" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula> exhibits a pronounced forward-scattering peak in the solar direction. The degree of polarization is largely controlled by Rayleigh scattering and reaches its maximum at scattering angles close to 90°.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e3065">Simulated radiance field (Stokes components and degree of polarization <inline-formula><mml:math id="M68" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>) at 350 <inline-formula><mml:math id="M69" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula> for a standard atmosphere and vertically inhomogeneous aerosols with an optical thickness of 0.2. The upper part of the figures represents the radiance field at the top of the atmosphere for down-looking directions, and the bottom part is for up-looking directions at the surface. The <inline-formula><mml:math id="M70" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M71" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M72" display="inline"><mml:mi>U</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M73" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula> fields are normalized by the incident top-of-atmosphere irradiance, which means that all quantities are unitless.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f09.png"/>

        </fig>

      <p id="d2e3119">Table <xref ref-type="table" rid="T5"/> shows the relative root mean square differences between Eradiate and MYSTIC (corresponding to Tables 3 and 4 in <xref ref-type="bibr" rid="bib1.bibx21" id="altparen.95"/>). All cases except A5 were run with <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> samples, for A5 including the cloud layer <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">7</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> samples were used. Overall, we find a very good agreement with relative root mean square differences below 0.1 % for intensity and linear polarization. Larger differences are found for cases including clouds because less samples were run due to the high computational time caused by enhanced multiple scattering in clouds. Moreover, Eradiate does not include sophisticated variance reductions for cloud scattering so far. Nevertheless, for the intensity, the relative root mean square difference is still smaller than 0.5 %, and larger for the polarization because <inline-formula><mml:math id="M76" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M77" display="inline"><mml:mi>U</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M78" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula> are very small for the cloud case. The differences are comparable to those of TROPOS, a Monte Carlo code without specific variance reduction methods for cloud scattering.</p>

<table-wrap id="T5" specific-use="star"><label>Table 5</label><caption><p id="d2e3174">Relative root mean square differences in per cent between Eradiate and MYSTIC for 1D IPRT cases published in <xref ref-type="bibr" rid="bib1.bibx21" id="text.96"/>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="14">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right" colsep="1"/>
     <oasis:colspec colnum="11" colname="col11" align="right"/>
     <oasis:colspec colnum="12" colname="col12" align="right"/>
     <oasis:colspec colnum="13" colname="col13" align="right"/>
     <oasis:colspec colnum="14" colname="col14" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry rowsep="1" namest="col2" nameend="col10" align="center" colsep="1">A – single-layer </oasis:entry>
         <oasis:entry rowsep="1" namest="col11" nameend="col14" align="center">B – multi-layer </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">A1 case 0</oasis:entry>
         <oasis:entry colname="col3">A1 case 1</oasis:entry>
         <oasis:entry colname="col4">A1 case 2</oasis:entry>
         <oasis:entry colname="col5">A2</oasis:entry>
         <oasis:entry colname="col6">A3</oasis:entry>
         <oasis:entry colname="col7">A4</oasis:entry>
         <oasis:entry colname="col8">A5 ap</oasis:entry>
         <oasis:entry colname="col9">A5 pp</oasis:entry>
         <oasis:entry colname="col10">A6</oasis:entry>
         <oasis:entry colname="col11">B1</oasis:entry>
         <oasis:entry colname="col12">B2</oasis:entry>
         <oasis:entry colname="col13">B3</oasis:entry>
         <oasis:entry colname="col14">B4</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M79" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.028</oasis:entry>
         <oasis:entry colname="col3">0.027</oasis:entry>
         <oasis:entry colname="col4">0.027</oasis:entry>
         <oasis:entry colname="col5">0.016</oasis:entry>
         <oasis:entry colname="col6">0.038</oasis:entry>
         <oasis:entry colname="col7">0.025</oasis:entry>
         <oasis:entry colname="col8">0.244</oasis:entry>
         <oasis:entry colname="col9">0.192</oasis:entry>
         <oasis:entry colname="col10">0.073</oasis:entry>
         <oasis:entry colname="col11">0.034</oasis:entry>
         <oasis:entry colname="col12">0.027</oasis:entry>
         <oasis:entry colname="col13">0.030</oasis:entry>
         <oasis:entry colname="col14">0.508</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M80" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.035</oasis:entry>
         <oasis:entry colname="col3">0.045</oasis:entry>
         <oasis:entry colname="col4">0.045</oasis:entry>
         <oasis:entry colname="col5">0.072</oasis:entry>
         <oasis:entry colname="col6">0.053</oasis:entry>
         <oasis:entry colname="col7">0.078</oasis:entry>
         <oasis:entry colname="col8">3.168</oasis:entry>
         <oasis:entry colname="col9">2.459</oasis:entry>
         <oasis:entry colname="col10">0.100</oasis:entry>
         <oasis:entry colname="col11">0.057</oasis:entry>
         <oasis:entry colname="col12">0.065</oasis:entry>
         <oasis:entry colname="col13">0.078</oasis:entry>
         <oasis:entry colname="col14">4.358</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M81" display="inline"><mml:mi>U</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">0.042</oasis:entry>
         <oasis:entry colname="col4">0.041</oasis:entry>
         <oasis:entry colname="col5">0.047</oasis:entry>
         <oasis:entry colname="col6">0.046</oasis:entry>
         <oasis:entry colname="col7">0.092</oasis:entry>
         <oasis:entry colname="col8">4.043</oasis:entry>
         <oasis:entry colname="col9">–</oasis:entry>
         <oasis:entry colname="col10">0.177</oasis:entry>
         <oasis:entry colname="col11">0.041</oasis:entry>
         <oasis:entry colname="col12">0.053</oasis:entry>
         <oasis:entry colname="col13">0.076</oasis:entry>
         <oasis:entry colname="col14">4.218</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M82" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">0.629</oasis:entry>
         <oasis:entry colname="col7">3.055</oasis:entry>
         <oasis:entry colname="col8">120.407</oasis:entry>
         <oasis:entry colname="col9">–</oasis:entry>
         <oasis:entry colname="col10">–</oasis:entry>
         <oasis:entry colname="col11">–</oasis:entry>
         <oasis:entry colname="col12">–</oasis:entry>
         <oasis:entry colname="col13">3.530</oasis:entry>
         <oasis:entry colname="col14">204.452</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S7.SS4">
  <label>7.4</label><title>Comparison against experimental measurements</title>
      <p id="d2e3495">In addition to validation against analytical references and other trusted RTMs, Eradiate was compared to experimental measurements.</p>
      <p id="d2e3499">A validation exercise was conducted against SI-traceable reflectance measurements on an well-characterized artificial target <xref ref-type="bibr" rid="bib1.bibx57" id="paren.97"/>. The target was measured optically with an SI-traceable spectro-goniophotometer, and the experiment was digitally replicated with Eradiate using as much information as possible from the experimental setup. The collected radiometric records, as well as the corresponding simulations, were attached uncertainty that allowed for comparison following metrological guidelines. The simulated reflectance values were found to agree with the experimental records within 2 % in most cases. Given the unbiased nature of Eradiate's MCRT methods, the error is mostly attributable to the accuracy of input data, in a broad sense (e.g. the selected surface scattering model and its parameters, the 3D model's geometric description, or the light source and sensor models). That exercise gave an order of magnitude of the accuracy that can be expected from a simulation in a highly controlled setup without volumetric scattering.</p>
      <p id="d2e3505">Eradiate was also used to produce a hyperspectral radiometric calibration reference for satellite-borne instruments <xref ref-type="bibr" rid="bib1.bibx62" id="paren.98"/>. In that study, volumetric scattering plays an important role and, although the selected calibration targets are very stable desert pseudo-invariant calibration sites (PICS), their optical characterization is very challenging. The simulation setup (notably relying on a spherical-shell geometry and detailed atmospheric molecular profiles sourced from CAMS) allowed to consistently reproduce measurements from various multispectral and hyperspectral instruments with an accuracy of 3 % or better in spectral regions where the atmospheric molecular transmittance is higher than 0.8, showing the suitability of Eradiate for that type of use case.</p>
</sec>
</sec>
<sec id="Ch1.S8">
  <label>8</label><title>Applications and results</title>
      <p id="d2e3520">In this section, we demonstrate some of Eradiate's capabilities with simple examples pertaining to actual 1D and 3D use cases. Most of these examples are available as reproducible Jupyter notebooks shared in a companion repository.<fn id="Ch1.Footn6"><p id="d2e3523"><uri>https://github.com/rayference/paper-eradiate-v100</uri> (last access: 18 May 2026).</p></fn></p>
<sec id="Ch1.S8.SS1">
  <label>8.1</label><title>1D simulation</title>
<sec id="Ch1.S8.SS1.SSS1">
  <label>8.1.1</label><title>Calculation of radiance spectrum at top of atmosphere</title>
      <p id="d2e3542">To simulate hyperspectral satellite observations, we employ the correlated-<italic>k</italic> distribution database <italic>panellus</italic> (1 <inline-formula><mml:math id="M83" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula> resolution, see Table <xref ref-type="table" rid="T2"/>) to generate spectra at a resolution of 1 <inline-formula><mml:math id="M84" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula>. The example notebook<fn id="Ch1.Footn7"><p id="d2e3570"><monospace>hyperspectral_radiance_toa.ipynb</monospace>.</p></fn> illustrates how to set up such a simulation using the US Standard Atmosphere together with representative continental aerosol particles. For the lower boundary condition, we apply a spectrally dependent Lambertian surface albedo representative of a desert environment, extracted from the HAMSTER database <xref ref-type="bibr" rid="bib1.bibx85" id="paren.99"/>.</p>
      <p id="d2e3579">Figure <xref ref-type="fig" rid="F10"/> presents the results. The top panel shows the solar irradiance spectrum measured by TSIS-1 <xref ref-type="bibr" rid="bib1.bibx11" id="paren.100"/>, which was used as input for the simulations. The bottom panel displays the TOA radiance spectra for a viewing geometry defined by a zenith angle of 60° and an azimuth angle of 75°. The corresponding solar zenith and azimuth angles are 30 and 160°, respectively. The blue line represents the TOA radiance for the US Standard Atmosphere <xref ref-type="bibr" rid="bib1.bibx1" id="paren.101"/>. The red line, which shows lower radiance values, includes an additional aerosol layer between 0 and 3 km altitude with an optical thickness of 2, superimposed on the molecular atmosphere. The aerosol optical properties correspond to the “continental” aerosol type in the 6S radiative transfer model <xref ref-type="bibr" rid="bib1.bibx52" id="paren.102"/>. The simulated spectrum clearly reveals the oxygen A and B absorption bands centred near 760 and 686 <inline-formula><mml:math id="M85" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula>, respectively. Absorption features around 580 and 950 nm are associated with water vapour. Eradiate also provides the variance of the simulated radiance, from which the standard deviation can be derived. The shaded region indicates two standard deviations. This uncertainty is clearly non-negligible in the simulation that includes aerosols, whereas it is very small and not visible in the molecular-only case. The standard deviation scales with the square root of the number of samples, which was set to 100 in these calculations.</p>

      <fig id="F10"><label>Figure 10</label><caption><p id="d2e3603">Top: Solar horizontal irradiance spectrum (which factors in the solar zenith angle). Bottom: Reflected radiance spectrum using the <italic>panellus</italic> absorption parametrization with a spectral resolution of 1 <inline-formula><mml:math id="M86" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f10.png"/>

          </fig>

</sec>
<sec id="Ch1.S8.SS1.SSS2">
  <label>8.1.2</label><title>Sun photometer</title>
      <p id="d2e3631">AERONET (AErosol RObotic NETwork) <xref ref-type="bibr" rid="bib1.bibx42" id="paren.103"/> is a global network of ground-based sun photometers designed to measure aerosol optical properties. These instruments record direct solar irradiance and polarized sky radiances at multiple wavelengths across the visible and near-infrared spectral range. The example notebook<fn id="Ch1.Footn8"><p id="d2e3637"><monospace>sunphotometer.ipynb</monospace>.</p></fn> demonstrates how Eradiate can be used to simulate such observations for an atmosphere containing an aerosol layer with an optical thickness of 0.5. The simulation is performed at the centre wavelengths of a typical sun photometer.</p>
      <p id="d2e3643">Figure <xref ref-type="fig" rid="F11"/> shows the results of a simulated almucantar scan. In this example, polarization effects are included, and the figure displays the total intensity <inline-formula><mml:math id="M87" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula>, the Stokes parameters <inline-formula><mml:math id="M88" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M89" display="inline"><mml:mi>U</mml:mi></mml:math></inline-formula>, and the degree of polarization. The intensity peaks near the solar direction due to the strong forward scattering by aerosol particles. The degree of polarization decreases with increasing wavelength, reflecting the decrease of Rayleigh scattering, which is the dominant source of polarization.</p>

      <fig id="F11"><label>Figure 11</label><caption><p id="d2e3671">Simulation of radiance at the ground in the solar almucantar plane. The solar zenith angle is 30°, the surface albedo is 0.05 and the AOT is 0.5. The <inline-formula><mml:math id="M90" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M91" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M92" display="inline"><mml:mi>U</mml:mi></mml:math></inline-formula> fields are normalized by the incident top-of-atmosphere irradiance, which makes results comparable across wavelengths.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f11.png"/>

          </fig>

</sec>
<sec id="Ch1.S8.SS1.SSS3">
  <label>8.1.3</label><title>Spherical geometry</title>
      <p id="d2e3709">Eradiate supports simulations in fully spherical geometry. This implementation has been validated against benchmark results published by <xref ref-type="bibr" rid="bib1.bibx51" id="text.104"/>. While spherical geometry is essential for limb or twilight observations, it is also critical for radiance simulations of polar-orbiting satellites, where neglecting atmospheric sphericity can introduce significant errors.</p>
      <p id="d2e3715">The example notebook<fn id="Ch1.Footn9"><p id="d2e3718"><monospace>spherical_vs_plane_parallel.ipynb</monospace>.</p></fn> demonstrates this effect. We include the US Standard atmosphere and compute TOA radiances for a solar zenith angle of 60° in both plane-parallel and fully spherical geometry. Figure <xref ref-type="fig" rid="F12"/> presents the resulting radiances, normalized to the incident solar irradiance. The comparison shows that plane-parallel geometry substantially underestimates radiances at viewing zenith angles exceeding about 50°.</p>

      <fig id="F12"><label>Figure 12</label><caption><p id="d2e3728">Comparison between spherical and plane-parallel geometry for a sensor at the top of the atmosphere. Line colours map to different viewing azimuth angles (VAAs). The solid lines show the results for spherical geometry, and the dashed lines those for plane-parallel geometry. The solar zenith angle is set to 60°.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f12.png"/>

          </fig>

</sec>
<sec id="Ch1.S8.SS1.SSS4">
  <label>8.1.4</label><title>Reflectance calculations</title>
      <p id="d2e3745">Eradiate can be used to compute reflectance quantities useful for EO applications. We follow the standard nomenclature established by <xref ref-type="bibr" rid="bib1.bibx73" id="text.105"/> in the following. It should be noted that Eradiate computes only radiances, fluxes and powers, which means that reflectance quantities emerge after processing simulation results in a way similar to what would be done with experimental data: accessing some of the terms defined by <xref ref-type="bibr" rid="bib1.bibx73" id="text.106"/> may require a specific simulation setup or an indirect computation.</p>
      <p id="d2e3754">The example notebook<fn id="Ch1.Footn10"><p id="d2e3757"><monospace>reflectance.ipynb</monospace>.</p></fn> provided in the companion repository demonstrates how to compute: <list list-type="bullet"><list-item>
      <p id="d2e3765">the “top of canopy” (TOC) BRF, obtained by computing the reflected radiance over a surface with no atmosphere, at the surface level;</p></list-item><list-item>
      <p id="d2e3769">the “top of atmosphere” (TOA) BRF, obtained by computing the reflected radiance over a surface with an atmosphere, at the TOA level;</p></list-item><list-item>
      <p id="d2e3773">the “bottom of atmosphere” (BOA) hemispherical directional reflectance factor (HDRF), obtained by combining the reflected radiance and incident radiant flux over a surface with an atmosphere, at the surface level.</p></list-item></list> Figure <xref ref-type="fig" rid="F13"/> shows that, even in a clear-sky scenario (i.e. without aerosols), the three quantities differ significantly. This can have significant impact: for instance, drones are now often used to measure the BOA hemispherical conical reflectance factor (HCRF), which is close to the BOA HDRF, and is identified to the TOC BRF. From a radiometric point of view, this is not correct; however, if one can tolerate a certain level of inaccuracy, quantified by <xref ref-type="bibr" rid="bib1.bibx90" id="text.107"/>, the BOA HCRF can be used as a TOC BRF.</p>

      <fig id="F13"><label>Figure 13</label><caption><p id="d2e3784">The TOA BRF (surface and atmosphere, sensor at satellite altitude), BOA HDRF (surface and atmosphere, sensor at top of canopy altitude) and TOC BRF (surface only, sensor at top of canopy altitude) for a retro-reflective RPV surface illuminated with a solar zenith angle of 38°. In the scenarios that include an atmosphere, a clear-sky AFGL 1986 (US Standard) profile is used. The values shown are computed using Eradiate in monochromatic at 550 <inline-formula><mml:math id="M93" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">nm</mml:mi></mml:mrow></mml:math></inline-formula>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f13.png"/>

          </fig>

</sec>
<sec id="Ch1.S8.SS1.SSS5">
  <label>8.1.5</label><title>Irradiance calculation</title>
      <p id="d2e3810">Irradiance is defined as the electromagnetic energy incident on a surface per unit time and per unit area. In Eradiate, irradiance can be computed using the <italic>distant_flux</italic> measure.</p>
      <p id="d2e3816">The example notebook<fn id="Ch1.Footn11"><p id="d2e3819"><monospace>irradiance_aot.ipynb</monospace>.</p></fn> illustrates the simulation of diffuse and direct downwelling irradiances at the surface, as well as the upwelling irradiance reflected by the surface. The setup includes the US Standard atmosphere and a desert aerosol model (<italic>govaerts_2021_desert</italic>) designed to support the RAMI4ATM benchmarking exercise.<fn id="Ch1.Footn12"><p id="d2e3828"><uri>https://rami-benchmark.jrc.ec.europa.eu/_www/RAMI4ATM/phase_RAMI4ATM_p.php?strPhase=RAMI4ATM</uri> (last access: 25 August 2025).</p></fn> Irradiances are evaluated for varying AOTs and surface albedos.</p>
      <p id="d2e3834">Figure <xref ref-type="fig" rid="F14"/> shows the expected behaviour: as the AOT increases, more radiation is scattered within the atmosphere. This enhances the diffuse irradiance while reducing the direct irradiance. Increasing the surface albedo primarily raises the upwelling irradiance and, to some extent, the diffuse downwelling irradiance, since part of the reflected radiation is redirected back towards the surface. The direct irradiance, by contrast, represents unscattered radiation reaching the surface and is therefore unaffected by surface albedo.</p>

      <fig id="F14"><label>Figure 14</label><caption><p id="d2e3842">Simulated surface irradiances as functions of AOT and surface albedo. Shown are (left) diffuse downwelling irradiance <inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mtext>dn</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, (middle) diffuse upwelling irradiance <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mtext>up</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and (right) direct downwelling irradiance <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mtext>dir</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f14.png"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S8.SS2">
  <label>8.2</label><title>3D simulation</title>
      <p id="d2e3893">This series of examples showcase Eradiate's 3D surface simulation features with gradually increasing complexity in terms of required knowledge of Eradiate's expert interface.</p>
<sec id="Ch1.S8.SS2.SSS1">
  <label>8.2.1</label><title>Vegetated canopies from RAMI-V</title>
      <p id="d2e3903">This example shows how to use the automatic RAMI canopy loader, with or without padding the canopy with clones of itself, and with default or customized optical properties. The example notebook<fn id="Ch1.Footn13"><p id="d2e3906"><monospace>canopies.ipynb</monospace>.</p></fn> mainly uses perspective cameras for educational purposes, but the resulting scenes can be used readily to compute other quantities such as the ones defined in Sect. <xref ref-type="sec" rid="Ch1.S8.SS1.SSS4"/> (see Fig. <xref ref-type="fig" rid="F15"/>). This setup is also used to create Fig. <xref ref-type="fig" rid="F3"/>.</p>

      <fig id="F15" specific-use="star"><label>Figure 15</label><caption><p id="d2e3920">An example of output achievable with Eradiate's RAMI canopy loader. The scene is the Wellington Citrus Orchard <xref ref-type="bibr" rid="bib1.bibx97 bib1.bibx93" id="paren.108"/>. Top row: A perspective camera view of the scene (left), and a nadir-looking render of the unit cell (right). Bottom row: TOA (left) and TOC (right) reflectance of the Wellington Citrus Orchard scene. Both in the principal plane (centre). The TOA setup includes a clear-sky atmosphere (AFGL 1986 US Standard profile). Polar plots display the illumination direction with a star marker.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f15.png"/>

          </fig>

      <p id="d2e3932">The highly directional features of the scene shown in Fig. <xref ref-type="fig" rid="F15"/> result in strong anisotropy in the canopy's reflective pattern, first at the TOC, and also at the TOA, showing a typical example where accounting for 3D surface features makes a significant difference when simulating satellite observations.</p>
</sec>
<sec id="Ch1.S8.SS2.SSS2">
  <label>8.2.2</label><title>Algeria-5 pseudo-invariant calibration site</title>
      <p id="d2e3945">This example<fn id="Ch1.Footn14"><p id="d2e3948"><monospace>algeria_5.ipynb</monospace>.</p></fn> demonstrates a relatively simple use case of Eradiate's expert interface. It combines a spherical-shell background atmosphere (AFGL 1986 US Standard molecular atmosphere and an aerosol layer with an exponential vertical density distribution) with a triangulated DEM of the Algeria-5 PICS integrated directly as a Mitsuba primitive. This setup is used to create Fig. <xref ref-type="fig" rid="F2"/>.</p>
      <p id="d2e3956">Topography is part of the complex 3D surface features that can cause  deviations from the usual flat surface assumption mentioned in Sect. <xref ref-type="sec" rid="Ch1.S1"/>, e.g. when simulating satellite images above bright desert PICS, as illustrated by <xref ref-type="bibr" rid="bib1.bibx32" id="text.109"/>.</p>
</sec>
<sec id="Ch1.S8.SS2.SSS3">
  <label>8.2.3</label><title>Sunset on Dakar</title>
      <p id="d2e3972">This last example is derived from a study in which a scene generator was implemented on top of the expert interface to create synthetic scenes derived from actual locations on Earth. In these scenes, a 100 <inline-formula><mml:math id="M97" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>-sized area is divided into 100 <inline-formula><mml:math id="M98" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> tiles populated with 3D geometry. Tiles are categorized based on a land cover map, and each type is assigned a set of 3D shapes and a background reflection model. These scenes exploit two important features: <list list-type="bullet"><list-item>
      <p id="d2e3993">Instancing: The 3D shapes associated to a land cover type are loaded only once, then clone at every location where the land cover type is detected. In practice, this means that the geometry corresponding to the land cover type is loaded only once, which drastically reduces the memory footprint of the scene.</p></list-item><list-item>
      <p id="d2e3997">Land cover-based material dispatching (see also Sect. <xref ref-type="sec" rid="Ch1.S4.SS1.SSS3"/>): The background BRDFs of all land cover types are loaded into an index, which is then mapped spatially by a texture encoding the material with an 8-bit integer. This compact representation allows to map many reflection models with a high spatial resolution at a very low memory cost.</p></list-item></list> The output (see Fig. <xref ref-type="fig" rid="F16"/>) shows an example of a coastal area near the city of Dakar, with both an in situ render and a synthetic satellite image. A similar setup is used to create Fig. <xref ref-type="fig" rid="F5"/>.</p>

      <fig id="F16" specific-use="star"><label>Figure 16</label><caption><p id="d2e4009">This synthetic scene is modelled after 100 <inline-formula><mml:math id="M99" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>-wide area near the city of Dakar and created with a scene generator that leverages land cover information to select materials and clone instances of urban and vegetation 3D tiles. Except for the illumination angle, the RGB render (left) and the nadir-looking ortho-image (right) use identical scene input (land cover, a plane-parallel atmosphere with an AFGL 1986 US Standard profile and an aerosol layer with exponential density). The simulated pixel size of the ortho-image is 1 <inline-formula><mml:math id="M100" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>, and the land cover tile size is 100 <inline-formula><mml:math id="M101" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-f16.png"/>

          </fig>

      <p id="d2e4042">This setup showcases the potential of Eradiate to simulate large scenes sourced from remote sensing data, with sensors at satellite level, and resolving metre-sized geometric features in a 100 <inline-formula><mml:math id="M102" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>-sized area. The size of the scene and number of objects are such that they can be handled only thanks to features offered by the radiometric kernel, which demonstrates some of the many benefits brought by repurposing rendering software.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S9" sec-type="conclusions">
  <label>9</label><title>Conclusions and outlook</title>
      <p id="d2e4063">Eradiate builds on the history of radiative transfer simulation software for EO and incorporates modelling and technical advances made in other scientific fields, in particular computer graphics. The Mitsuba 3 renderer, integrated as our radiometric kernel, drastically simplifies the development of additional components, allows for providing a convenient Python-based interface and provides promising opportunities for future iterations of the model thanks to its retargetable architecture.</p>
      <p id="d2e4066">Eradiate v1.0.0 focuses on providing advanced surface modelling and 1D atmospheric modelling to meet the accuracy requirements for the vicarious calibration of modern instruments. The development roadmap includes the addition of 3D atmospheric scattering, as well as cloud-focused variance reduction techniques and optimizations to improve the efficiency of the MCRT algorithm. Extensions to the thermal infrared and microwave domains are planned. Finally, the simulation of volumetric scattering in aquatic bodies is foreseen. Continued validation, through regression detection against prior validated solutions, as well as benchmark participation, is planned.</p>
      <p id="d2e4069">A topic that was not explored so far by Eradiate is <italic>differentiable rendering</italic>. Mitsuba 3, and its underlying computational core Dr.Jit, have built-in infrastructure to differentiate simulations automatically, allowing to output gradients of a primal Monte Carlo estimator with respect to any variable in the scene <xref ref-type="bibr" rid="bib1.bibx47" id="paren.110"/>. The simulation can then be included in an optimization loop to solve inverse problems. Inverse 3D radiative transfer problems in EO are extremely complex and still require a large amount of research for differentiable rendering techniques to be effective in that context; Eradiate has potential to contribute to that effort.</p>
      <p id="d2e4078">Eradiate is free software, intended to be both an easy entry point for radiative transfer beginners, a powerful tool allowing experts to build simulations with total freedom, and a sandbox for developers willing to experiment with new models, algorithms or scene setups, as illustrated by the examples shown in this paper. It hopefully contributes to making radiative transfer simulation software more comprehensive and accessible.</p>
</sec>

      
      </body>
    <back><app-group>

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>ROMC results examples in DEBUG mode</title>
      <p id="d2e4093">ROMC's DEBUG mode offers a broader scene variety than the VALIDATE mode and is an excellent testing sandbox for RTM development. Although the results submitted in this mode cannot be used to make claims on RTM performance, we show examples in Table <xref ref-type="table" rid="TA1"/> to illustrate the variety of surfaces that can be simulated with Eradiate.</p>

<table-wrap id="TA1"><label>Table A1</label><caption><p id="d2e4102">Examples of ROMC submissions in DEBUG mode.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="justify" colwidth="2.5cm"/>
     <oasis:colspec colnum="2" colname="col2" align="justify" colwidth="4.25cm"/>
     <oasis:colspec colnum="3" colname="col3" align="justify" colwidth="4.25cm"/>
     <oasis:colspec colnum="4" colname="col4" align="justify" colwidth="4.25cm"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Scene name</oasis:entry>
         <oasis:entry colname="col2" align="left">Homogeneous discrete</oasis:entry>
         <oasis:entry colname="col3" align="left">Discrete floating spheres</oasis:entry>
         <oasis:entry colname="col4" align="left">Heterogeneous conifer forest no topography</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1" align="left">Render</oasis:entry>
         <oasis:entry colname="col2" align="left"/>
         <oasis:entry colname="col3" align="left"/>
         <oasis:entry colname="col4" align="left"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"/>
         <oasis:entry colname="col2" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g11.png"/></oasis:entry>
         <oasis:entry colname="col3" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g12.png"/></oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g13.png"/></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1" align="left">Example of BRF in the principal plane</oasis:entry>
         <oasis:entry colname="col2" align="left"/>
         <oasis:entry colname="col3" align="left"/>
         <oasis:entry colname="col4" align="left"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"/>
         <oasis:entry colname="col2" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g14.png"/></oasis:entry>
         <oasis:entry colname="col3" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g15.png"/></oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g16.png"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Scene name</oasis:entry>
         <oasis:entry colname="col2" align="left">Heterogeneous real zoom-in</oasis:entry>
         <oasis:entry colname="col3" align="left">Heterogeneous birchstand</oasis:entry>
         <oasis:entry colname="col4" align="left"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1" align="left">[5pt] Render</oasis:entry>
         <oasis:entry colname="col2" align="left"/>
         <oasis:entry colname="col3" align="left"/>
         <oasis:entry colname="col4" align="left"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"/>
         <oasis:entry colname="col2" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g17.png"/></oasis:entry>
         <oasis:entry colname="col3" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g18.png"/></oasis:entry>
         <oasis:entry colname="col4" align="left"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1" align="left">Example of BRF in the principal plane</oasis:entry>
         <oasis:entry colname="col2" align="left"/>
         <oasis:entry colname="col3" align="left"/>
         <oasis:entry colname="col4" align="left"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1" align="left"/>
         <oasis:entry colname="col2" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g19.png"/></oasis:entry>
         <oasis:entry colname="col3" align="left"><inline-graphic xlink:href="https://gmd.copernicus.org/articles/19/4289/2026/gmd-19-4289-2026-g20.png"/></oasis:entry>
         <oasis:entry colname="col4" align="left"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>General requirements</title>
      <p id="d2e4298">This appendix reviews the broad requirements which drive Eradiate's design. This is not a detailed requirement list, but it motivates some of the architectural and technological choices and numerical method selection decisions mentioned throughout this paper.</p>
      <p id="d2e4301"><italic>High accuracy.</italic> Eradiate primarily targets cal/val applications, with the ambition of eventually simulating satellite images with an accuracy better than 1 %, as mentioned in Sect. <xref ref-type="sec" rid="Ch1.S1"/>. This goal has consequences on the requirements underlying its design: <list list-type="bullet"><list-item>
      <p id="d2e4310"><italic>Accuracy over performance.</italic> Since accuracy is the highest priority, it must not be sacrificed for performance. This means, in particular, that when selecting models and numerical methods, the candidate meeting the best Eradiate's accuracy requirements is prioritized, even if it is not the choice optimizing computational cost. This, however, does not mean that Eradiate's performance should not be optimized.</p></list-item><list-item>
      <p id="d2e4316"><italic>3D geometry support.</italic> High accuracy requires the support of 3D geometry to overcome the fundamental limitations of 1D models (“smooth and flat planet”). Here, 3D geometry is to be understood in a broad sense, and covers planetary curvature, terrain modelling, cloud modelling, non-uniform surface reflective properties and explicit surface geometric representation (detailed trees and buildings).</p></list-item><list-item>
      <p id="d2e4322"><italic>Monte Carlo ray tracing.</italic> The very high scene complexity implied by the handling of 3D geometry features makes MCRT the natural method of choice to solve the RTE. MCRT can indeed deal with arbitrarily complex problems and solve them efficiently if correctly implemented. MCRT also has the big advantage of handling arbitrary length-scale complexity, making it possible, in principle, to include, in a fully coupled simulation, both centimetre- and kilometre-sized objects.</p></list-item><list-item>
      <p id="d2e4328"><italic>State-of-the-art molecular absorption.</italic> We saw that molecular absorption modelling is a source of disagreement between RTMs and is also the cause of inaccuracies in satellite bands where it plays a significant role. Eradiate should implement state-of-the-art molecular absorption models, which starts with the ubiquitous CKD distribution method. It should be noted that the input data is as critical as the numerical method: Eradiate also has to ship high-quality atmospheric data.</p></list-item></list></p>
      <p id="d2e4333"><italic>Traceability and reliability.</italic> Traceability refers to the possibility to know where algorithms and data come from. This is an essential quality for a product meant for cal/val applications, but also for a community-oriented project. Reliability is the possibility to understand how well the software will achieve tasks executed with it. Eradiate covers these topics as follows: <list list-type="bullet"><list-item>
      <p id="d2e4340"><italic>Free and open-source software.</italic> Eradiate is licensed under the GNU Lesser General Public License (LGPLv3) and designed as free software. Its source code is freely available and can be studied and audited.</p></list-item><list-item>
      <p id="d2e4346"><italic>Extensive algorithm and data documentation.</italic> Eradiate ships with extensive documentation, with a user manual, tutorials and complete code reference. Data is self-documented using metadata.</p></list-item><list-item>
      <p id="d2e4352"><italic>Benchmarking.</italic> Regular comparison exercises, based on benchmarks, are conducted. This way, we verify that the results produced by Eradiate are in line with other models in relevant situations.</p></list-item></list></p>
      <p id="d2e4357"><italic>Modern technology.</italic> This project was started with the intention of making radiative transfer modelling more accessible to users and developers. <list list-type="bullet"><list-item>
      <p id="d2e4364"><italic>Modular architecture.</italic> Eradiate is designed in a modular way, using abstractions inspired by the architecture of the rendering software and incorporating EO idioms. This facilitates code maintenance, but also makes it possible to change parts of the model with only partial knowledge of how it works.</p></list-item><list-item>
      <p id="d2e4370"><italic>Robust testing process.</italic> The codebase is systematically tested using pytest <xref ref-type="bibr" rid="bib1.bibx53" id="paren.111"/>. The test suite includes unit tests checking basic functionality, but also larger integration tests verifying that the model always performs consistently. In particular, selected benchmarking cases are used for regression testing.</p></list-item><list-item>
      <p id="d2e4379"><italic>User-friendly Python interface.</italic> A typical scientific workflow often involves using software through an interactive Python console such as a Jupyter notebook <xref ref-type="bibr" rid="bib1.bibx50" id="paren.112"/>. Eradiate is designed to address such use cases well and makes it easy to define and inspect simulations, run computations, and visualize results interactively.</p></list-item></list></p>
</app>

<app id="App1.Ch1.S3">
  <label>Appendix C</label><title>User interface</title>
      <p id="d2e4395">Eradiate's user interface relies entirely on Python programming. Various features are implemented  to make configuration code less error-prone, briefer and more enjoyable to write:</p><boxed-text content-type="algorithm" position="float" id="App1.Ch1.S3.Prog1" specific-use="star"><label>Algorithm C1</label><caption><p id="d2e4399">Basic interface.</p></caption><disp-quote content-type="algorithmic" specific-use="numbering{1}"><list>

    <list-item>

      <p id="d2e4406" specific-use="STATE">import numpy as np</p>
          </list-item>

    <list-item>

      <p id="d2e4412" specific-use="STATE">import eradiate</p>
          </list-item>

    <list-item>

      <p id="d2e4418" specific-use="STATE">from eradiate.experiments import AtmosphereExperiment</p>
          </list-item>

    <list-item>

      <p id="d2e4424" specific-use="STATE">from eradiate.scenes.atmosphere import MolecularAtmosphere</p>
          </list-item>

    <list-item>

      <p id="d2e4430" specific-use="STATE">from eradiate.scenes.bsdfs import LambertianBSDF</p>
          </list-item>

    <list-item>

      <p id="d2e4437" specific-use="STATE">from eradiate.scenes.measure import MultiDistantMeasure</p>
          </list-item>

    <list-item>

      <p id="d2e4443" specific-use="STATE">from eradiate.scenes.illumination import DirectionalIllumination</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4452" specific-use="STATE"># Select mode before doing anything else</p>
          </list-item>

    <list-item>

      <p id="d2e4458" specific-use="STATE">eradiate.set_mode(“ckd”)</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4468" specific-use="STATE"># Configure the experiment</p>
          </list-item>

    <list-item>

      <p id="d2e4474" specific-use="STATE">exp = AtmosphereExperiment(</p>
          </list-item>

    <list-item>

      <p id="d2e4480" specific-use="STATE">atmosphere=MolecularAtmosphere(),</p>
          </list-item>

    <list-item>

      <p id="d2e4487" specific-use="STATE">surface=LambertianBSDF(reflectance=0.5),</p>
          </list-item>

    <list-item>

      <p id="d2e4494" specific-use="STATE">illumination=DirectionalIllumination(azimuth=45.0, zenith=30.0),</p>
          </list-item>

    <list-item>

      <p id="d2e4501" specific-use="STATE">measures=MultiDistantMeasure.hplane(azimuth=45.0, zeniths=np.arange(-75, 76, 5.0)),</p>
          </list-item>

    <list-item>

      <p id="d2e4509" specific-use="STATE">)</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4518" specific-use="STATE"># Run the simulation</p>
          </list-item>

    <list-item>

      <p id="d2e4524" specific-use="STATE"># The `spp' parameter controls the number of Monte Carlo samples at each</p>
          </list-item>

    <list-item>

      <p id="d2e4530" specific-use="STATE"># iteration of the spectral loop</p>
          </list-item>

    <list-item>

      <p id="d2e4536" specific-use="STATE">result = eradiate.run(exp, spp=10000)</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4546" specific-use="STATE"># Display the results using xarray's plotting features</p>
          </list-item>

    <list-item>

      <p id="d2e4552" specific-use="STATE">result[”brf”].plot()</p>
          </list-item>
        </list></disp-quote></boxed-text><boxed-text content-type="algorithm" position="float" id="App1.Ch1.S3.Prog2" specific-use="star"><label>Algorithm C2</label><caption><p id="d2e4558">Basic interface (dictionary-based).</p></caption><disp-quote content-type="algorithmic" specific-use="numbering{1}"><list>

    <list-item>

      <p id="d2e4565" specific-use="STATE">import numpy as np</p>
          </list-item>

    <list-item>

      <p id="d2e4571" specific-use="STATE">import eradiate</p>
          </list-item>

    <list-item>

      <p id="d2e4577" specific-use="STATE">from eradiate.experiments import AtmosphereExperiment</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4586" specific-use="STATE">eradiate.set_mode(”ckd”)</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4596" specific-use="STATE">exp = AtmosphereExperiment(</p>
          </list-item>

    <list-item>

      <p id="d2e4602" specific-use="STATE">atmosphere={”type”: ”molecular”},</p>
          </list-item>

    <list-item>

      <p id="d2e4609" specific-use="STATE">surface={”type”: ”lambertian”},</p>
          </list-item>

    <list-item>

      <p id="d2e4616" specific-use="STATE">illumination={”type”: ”directional”, ”azimuth”: 45.0, ”zenith”: 30.0},</p>
          </list-item>

    <list-item>

      <p id="d2e4623" specific-use="STATE">measures={</p>
          </list-item>

    <list-item>

      <p id="d2e4631" specific-use="STATE">”type”: ”mdistant”,</p>
          </list-item>

    <list-item>

      <p id="d2e4638" specific-use="STATE">”construct”: ”hplane”,</p>
          </list-item>

    <list-item>

      <p id="d2e4645" specific-use="STATE">”azimuth”: 45.0,</p>
          </list-item>

    <list-item>

      <p id="d2e4652" specific-use="STATE">”zeniths”: np.arange(-75, 76, 5.0),</p>
          </list-item>

    <list-item>

      <p id="d2e4659" specific-use="STATE">},</p>
          </list-item>

    <list-item>

      <p id="d2e4666" specific-use="STATE">)</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4676" specific-use="STATE">result = eradiate.run(exp, spp=10000)</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4685" specific-use="STATE">result[”brf”].plot()</p>
          </list-item>
        </list></disp-quote></boxed-text><boxed-text content-type="algorithm" position="float" id="App1.Ch1.S3.Prog3" specific-use="star"><label>Algorithm C3</label><caption><p id="d2e4691">Expert interface.</p></caption><disp-quote content-type="algorithmic" specific-use="numbering{1}"><list>

    <list-item>

      <p id="d2e4698" specific-use="STATE">import mitsuba as mi</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4707" specific-use="STATE">import eradiate</p>
          </list-item>

    <list-item>

      <p id="d2e4713" specific-use="STATE">from eradiate import KernelContext</p>
          </list-item>

    <list-item>

      <p id="d2e4719" specific-use="STATE">from eradiate import unit_registry as ureg</p>
          </list-item>

    <list-item>

      <p id="d2e4726" specific-use="STATE">from eradiate.kernel import scene_parameter</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4735" specific-use="STATE">eradiate.set_mode(”mono”)</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4747" specific-use="STATE"># Define ”yellow” reflectance spectrum</p>
          </list-item>

    <list-item>

      <p id="d2e4754" specific-use="STATE">VALUES = {440.0: 0.1, 550.0: 0.5, 660.0: 0.9}</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4763" specific-use="STATE">def spectrum_lambertian(ctx: KernelContext):</p>
          </list-item>

    <list-item>

      <p id="d2e4769" specific-use="STATE">return VALUES[ctx.si.w.m_as(”nm”)]</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e4783" specific-use="STATE"># Declare an Experiment with custom kernel dictionary and parameters</p>
          </list-item>

    <list-item>

      <p id="d2e4789" specific-use="STATE">exp = eradiate.experiments.AtmosphereExperiment(</p>
          </list-item>

    <list-item>

      <p id="d2e4795" specific-use="STATE">atmosphere={”type”: ”molecular”},</p>
          </list-item>

    <list-item>

      <p id="d2e4802" specific-use="STATE">surface={”type”: ”lambertian”},</p>
          </list-item>

    <list-item>

      <p id="d2e4809" specific-use="STATE">measures={</p>
          </list-item>

    <list-item>

      <p id="d2e4816" specific-use="STATE">”type”: ”perspective”,</p>
          </list-item>

    <list-item>

      <p id="d2e4824" specific-use="STATE">”origin”: [5, 5, 1],</p>
          </list-item>

    <list-item>

      <p id="d2e4831" specific-use="STATE">”target”: [0, 0, 0.5],</p>
          </list-item>

    <list-item>

      <p id="d2e4838" specific-use="STATE">”film_resolution”: (320, 240),</p>
          </list-item>

    <list-item>

      <p id="d2e4845" specific-use="STATE">”srf”: {”type”: ”delta”, ”wavelengths”: [440, 550, 660]},</p>
          </list-item>

    <list-item>

      <p id="d2e4852" specific-use="STATE">},</p>
          </list-item>

    <list-item>

      <p id="d2e4859" specific-use="STATE">kdict={</p>
          </list-item>

    <list-item>

      <p id="d2e4867" specific-use="STATE">”mat_thesphere”: {”type”: ”diffuse”, ”id”: ”mat_thesphere”},</p>
          </list-item>

    <list-item>

      <p id="d2e4874" specific-use="STATE">”mat_thesquare”: {”type”: ”roughplastic”, ”id”: ”mat_thesquare”},</p>
          </list-item>

    <list-item>

      <p id="d2e4881" specific-use="STATE">”sphere”: {</p>
          </list-item>

    <list-item>

      <p id="d2e4888" specific-use="STATE">”type”: ”sphere”,</p>
          </list-item>

    <list-item>

      <p id="d2e4895" specific-use="STATE">”id”: ”thesphere”,</p>
          </list-item>

    <list-item>

      <p id="d2e4902" specific-use="STATE">”bsdf”: {”type”: ”ref”, ”id”: ”mat_thesphere”},</p>
          </list-item>

    <list-item>

      <p id="d2e4910" specific-use="STATE">},</p>
          </list-item>

    <list-item>

      <p id="d2e4917" specific-use="STATE">”square”: {</p>
          </list-item>

    <list-item>

      <p id="d2e4924" specific-use="STATE">”type”: ”rectangle”,</p>
          </list-item>

    <list-item>

      <p id="d2e4931" specific-use="STATE">”to_world”: mi.ScalarTransform4f.translate([0, 0, 0.1])</p>
          </list-item>

    <list-item>

      <p id="d2e4938" specific-use="STATE">@ mi.ScalarTransform4f.scale(2.0),</p>
          </list-item>

    <list-item>

      <p id="d2e4945" specific-use="STATE">”bsdf”: {”type”: ”ref”, ”id”: ”mat_thesquare”},</p>
          </list-item>

    <list-item>

      <p id="d2e4953" specific-use="STATE">},</p>
          </list-item>

    <list-item>

      <p id="d2e4960" specific-use="STATE">},</p>
          </list-item>

    <list-item>

      <p id="d2e4967" specific-use="STATE">kpmap={</p>
          </list-item>

    <list-item>

      <p id="d2e4973" specific-use="STATE">”mat_thesphere.reflectance.value”: scene_parameter(</p>
          </list-item>

    <list-item>

      <p id="d2e4980" specific-use="STATE">spectrum_lambertian,</p>
          </list-item>

    <list-item>

      <p id="d2e4987" specific-use="STATE">node_type=mi.BSDF,</p>
          </list-item>

    <list-item>

      <p id="d2e4995" specific-use="STATE">node_id=”mat_thesphere”,</p>
          </list-item>

    <list-item>

      <p id="d2e5002" specific-use="STATE">parameter_relpath=”reflectance.value”,</p>
          </list-item>

    <list-item>

      <p id="d2e5009" specific-use="STATE">),</p>
          </list-item>

    <list-item>

      <p id="d2e5016" specific-use="STATE">},</p>
          </list-item>

    <list-item>

      <p id="d2e5023" specific-use="STATE">)</p>
          </list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

          <p specific-use="STATE"/></list-item>

    <list-item>

      <p id="d2e5036" specific-use="STATE"># Run simulation</p>
          </list-item>

    <list-item>

      <p id="d2e5042" specific-use="STATE">result = eradiate.run(exp, spp=256)</p>
          </list-item>
        </list></disp-quote></boxed-text>
      <p id="d2e5047"><list list-type="bullet">
          <list-item>

      <p id="d2e5052"><italic>Unit handling.</italic> Whenever relevant, numeric quantities handled by Eradiate are attached physical units using the Pint library <xref ref-type="bibr" rid="bib1.bibx34" id="paren.113"/>. This enforces dimensional consistency and guarantees unit conversion when relevant. This lets users input their data in the set of units they are most familiar with and makes using Eradiate easier for users unfamiliar with domain-specific units. To reduce input verbosity, values provided without units are automatically converted to configurable default units.</p>
          </list-item>
          <list-item>

      <p id="d2e5063"><italic>Data delivery and consumption.</italic> Eradiate comes with various data (e.g. absorption cross-section databases, sensor spectral response, aerosol single-scattering properties) managed by an <italic>asset manager</italic> which, in practice, behaves like a basic package manager with a command-line interface. When consuming data, relative filesystem paths are resolved according to a configurable list of locations, which allows relocating data without modifying any code.</p>
          </list-item>
          <list-item>

      <p id="d2e5074"><italic>Object attribute pre-processing.</italic> Eradiate uses the <italic>attrs</italic> library <xref ref-type="bibr" rid="bib1.bibx89" id="paren.114"/> to implement object initialization sequences. A range of converters and validators can pre-process values used to initialize scene element objects and check if their attributes have correct values. Failed validations raise exceptions which can be tracked to the code that emitted them using the Python traceback.</p>
          </list-item>
        </list></p>
      <p id="d2e5088"><italic>Example: Basic interface.</italic> Algorithm <xref ref-type="other" rid="App1.Ch1.S3.Prog1"/> shows a basic configuration for a 1D atmospheric radiative transfer simulation that outputs the TOA BRF of the scene in the principal plane.</p>
      <p id="d2e5095">All scene elements can also be instantiated from basic Python dictionaries. An <monospace>Experiment</monospace> can therefore be initialized either using Python objects explicitly, or using a dictionary in the style of the Mitsuba dictionary-based scene specification. This input method is preferred for its conciseness. Algorithm <xref ref-type="other" rid="App1.Ch1.S3.Prog2"/> refactors algorithm <xref ref-type="other" rid="App1.Ch1.S3.Prog1"/> with this approach.</p>
      <p id="d2e5105"><italic>Example: Expert interface.</italic> Algorithm <xref ref-type="other" rid="App1.Ch1.S3.Prog3"/> shows an example of complex scene building using the expert interface. Of notable importance is the need to hint Eradiate when searching the Mitsuba scene parameters which will undergo updates during the spectral loop using the keyword arguments of the <monospace>scene_parameter()</monospace> function.</p>
</app>

<app id="App1.Ch1.S4">
  <label>Appendix D</label><title>List of the main acronyms</title>
<table-wrap position="anchor"><oasis:table><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">AOT</oasis:entry>
         <oasis:entry colname="col2">aerosol optical thickness</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">BOA</oasis:entry>
         <oasis:entry colname="col2">bottom of atmosphere</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">BRF</oasis:entry>
         <oasis:entry colname="col2">bidirectional reflectance factor</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">BRDF</oasis:entry>
         <oasis:entry colname="col2">bidirectional reflectance distribution function</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">BSDF</oasis:entry>
         <oasis:entry colname="col2">bidirectional scattering distribution function</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">BVH</oasis:entry>
         <oasis:entry colname="col2">bounding volume hierarchy</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CKD</oasis:entry>
         <oasis:entry colname="col2">correlated-<italic>k</italic> distribution</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CAMS</oasis:entry>
         <oasis:entry colname="col2">Copernicus atmosphere monitoring service</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DEM</oasis:entry>
         <oasis:entry colname="col2">digital elevation model</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">EO</oasis:entry>
         <oasis:entry colname="col2">Earth observation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">HDRF</oasis:entry>
         <oasis:entry colname="col2">hemispherical directional reflectance factor</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">MCRT</oasis:entry>
         <oasis:entry colname="col2">Monte Carlo ray tracing</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PICS</oasis:entry>
         <oasis:entry colname="col2">pseudo-invariant calibration site</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TOA</oasis:entry>
         <oasis:entry colname="col2">top of atmosphere</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TOC</oasis:entry>
         <oasis:entry colname="col2">top of canopy</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RTLS</oasis:entry>
         <oasis:entry colname="col2">RossThick-LiSparse</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RTM</oasis:entry>
         <oasis:entry colname="col2">radiative transfer model</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RTE</oasis:entry>
         <oasis:entry colname="col2">radiative transfer equation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RPV</oasis:entry>
         <oasis:entry colname="col2">Rahman-Pinty-Verstraete</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SRF</oasis:entry>
         <oasis:entry colname="col2">spectral response function</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">VAA</oasis:entry>
         <oasis:entry colname="col2">viewing azimuth angle</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">VZA</oasis:entry>
         <oasis:entry colname="col2">viewing zenith angle</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">VRTE</oasis:entry>
         <oasis:entry colname="col2">vector radiative transfer equation</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>
        
</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e5356">Eradiate is published under the GNU Lesser General Public License (LGPLv3). The version of Eradiate referenced in this paper is archived on Zenodo under <ext-link xlink:href="https://doi.org/10.5281/zenodo.17226380" ext-link-type="DOI">10.5281/zenodo.17226380</ext-link> <xref ref-type="bibr" rid="bib1.bibx58" id="paren.115"/>. An up-to-date version can be found at <uri>https://github.com/eradiate/eradiate</uri> (last access: 18 May 2026). The additional code and data used to run the model and produce the plots for all the simulations presented in this paper are archived on Zenodo under <ext-link xlink:href="https://doi.org/10.5281/zenodo.20274685" ext-link-type="DOI">10.5281/zenodo.20274685</ext-link> <xref ref-type="bibr" rid="bib1.bibx56" id="paren.116"/> and available on GitHub at <uri>https://github.com/rayference/paper-eradiate-v100</uri> (last access: 18 May 2026).</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e5381">VL: Writing process lead. VL, CE, NMa, NMi, MGA, SS: Eradiate development, testing, documentation and example creation. NC, FG, YG: Scientific supervision. All: Manuscript editing.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e5387">The contact author has declared that none of the authors has any competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e5393">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.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e5399">We thank Yvan Nollet and Matthias Kovacic for their valuable contributions to Eradiate development. We express our gratitude to Prof. Wenzel Jakob and the Mitsuba team for their support, especially during the early times of Mitsuba 3. We thank the DART team for making their pre-processed RAMI input data available to the scientific community. We thank Dr Giulia Roccetti for making available the 1 <inline-formula><mml:math id="M103" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> resampled HAMSTER data over Gobabeb.</p><p id="d2e5409">The development and maintenance of Eradiate are funded by the Copernicus programme through a project managed by the European Space Agency (contract no. 40000127201/19/I-BG). The design phase was funded by the MetEOC-3 project (EMPIR grant 16ENV03).</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e5414">This research has been supported by the European Space Agency (grant no. 40000127201/19/I-BG) and the European Metrology Programme for Innovation and Research (grant no. 16ENV03).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e5420">This paper was edited by Chiel van Heerwaarden and reviewed by two anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Anderson et al.(1986)Anderson, Clough, Kneizys, Chetwynd, and Shettle</label><mixed-citation>Anderson, G. P., Clough, S. A., Kneizys, F., Chetwynd, J. H., and Shettle, E. P.: AFGL atmospheric constituent profiles (0.120 km), AFGL-TR-86-0110, <uri>https://apps.dtic.mil/sti/html/tr/ADA175173/</uri> (last access 18 May 2026), 1986.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>André(2016)</label><mixed-citation>André, F.: The <inline-formula><mml:math id="M104" display="inline"><mml:mi mathvariant="normal">ℓ</mml:mi></mml:math></inline-formula>-distribution method for modeling non-gray absorption in uniform and non-uniform gaseous media, J. Quant. Spectrosc. Ra., 179, 19–32, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2016.02.034" ext-link-type="DOI">10.1016/j.jqsrt.2016.02.034</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>André et al.(2021)André, Cornet, Galtier, and Dubuisson</label><mixed-citation>André, F., Cornet, C., Galtier, M., and Dubuisson, P.: Radiative transfer in the <inline-formula><mml:math id="M105" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> A-band – a fast and accurate forward model based on the <inline-formula><mml:math id="M106" display="inline"><mml:mi mathvariant="normal">ℓ</mml:mi></mml:math></inline-formula>-distribution approach, J. Quant. Spectrosc. Ra., 260, 107470, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2020.107470" ext-link-type="DOI">10.1016/j.jqsrt.2020.107470</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Berk et al.(2014)Berk, Conforti, Kennett, Perkins, Hawes, and van den Bosch</label><mixed-citation>Berk, A., Conforti, P., Kennett, R., Perkins, T., Hawes, F., and van den Bosch, J.: MODTRAN6: a major upgrade of the MODTRAN radiative transfer code, Proceedings of SPIE, the International Society for Optical Engineering/Proceedings of SPIE, 9088, 90880H, <ext-link xlink:href="https://doi.org/10.1117/12.2050433" ext-link-type="DOI">10.1117/12.2050433</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Bucciarelli et al.(2025)Bucciarelli, Wendsche, and Klemm</label><mixed-citation>Bucciarelli, D., Wendsche, S., and Klemm, M.: LuxCoreRender/LuxCore: 2.10, <uri>https://luxcorerender.org</uri> (last access: 18 May 2026), 2025.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Buehler et al.(2025)Buehler, Larsson, Lemke, Pfreundschuh, Brath, Adams, Fox, Roemer, Czarnecki, and Eriksson</label><mixed-citation>Buehler, S. A., Larsson, R., Lemke, O., Pfreundschuh, S., Brath, M., Adams, I., Fox, S., Roemer, F. E., Czarnecki, P., and Eriksson, P.: The Atmospheric Radiative Transfer Simulator ARTS, Version 2.6 – Deep Python Integration, J. Quant. Spectrosc. Ra., 341, 109443, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2025.109443" ext-link-type="DOI">10.1016/j.jqsrt.2025.109443</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Buras and Mayer(2011)</label><mixed-citation>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, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2010.10.005" ext-link-type="DOI">10.1016/j.jqsrt.2010.10.005</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Calders et al.(2018)Calders, Origo, Burt, Disney, Nightingale, Raumonen, Åkerblom, Malhi, and Lewis</label><mixed-citation>Calders, K., Origo, N., Burt, A., Disney, M., Nightingale, J., Raumonen, P., Åkerblom, M., Malhi, Y., and Lewis, P.: Realistic Forest Stand Reconstruction from Terrestrial LiDAR for Radiative Transfer Modelling, Remote Sens.-Basel, 10, 933, <ext-link xlink:href="https://doi.org/10.3390/rs10060933" ext-link-type="DOI">10.3390/rs10060933</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Clough(1991)</label><mixed-citation>Clough, S.: Line-By-Line Radiative Transfer Model, <uri>https://github.com/AER-RC/LBLRTM</uri> (last access: 18 May 2026), 1991.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Clough et al.(2005)Clough, Shephard, Mlawer, Delamere, Iacono, Cady-Pereira, Boukabara, and Brown</label><mixed-citation>Clough, S. A., Shephard, M. W., Mlawer, E. J., Delamere, J. S., Iacono, M. J., Cady-Pereira, K., Boukabara, S., and Brown, P. D.: Atmospheric Radiative Transfer Modeling: A Summary of the AER Codes, J. Quant. Spectrosc. Ra., 91, 233–244, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2004.05.058" ext-link-type="DOI">10.1016/j.jqsrt.2004.05.058</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Coddington et al.(2021)Coddington, Richard, Coddington, Harber, Pilewkie, Richard, Pilewskie, Woods, Chance, Liu, and Sun</label><mixed-citation>Coddington, O. M., Richard, E. C., Coddington, O., Harber, D., Pilewkie, P., Richard, E., Pilewskie, P., Woods, T. N., Chance, K., Liu, X., and Sun, K.: The TSIS-1 Hybrid Solar Reference Spectrum, Geophys. Res. Lett., 48, <ext-link xlink:href="https://doi.org/10.1029/2020GL091709" ext-link-type="DOI">10.1029/2020GL091709</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Compiègne et al.(2013)Compiègne, C-Labonnote, and Dubuisson</label><mixed-citation>Compiègne, M., C-Labonnote, L., and Dubuisson, P.: The Phase Matrix Truncation Impact on Polarized Radiance, AIP Conf. Proc., 1531, 95–98, <ext-link xlink:href="https://doi.org/10.1063/1.4804716" ext-link-type="DOI">10.1063/1.4804716</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Cornet et al.(2010)Cornet, Labonnote, and Szczap</label><mixed-citation>Cornet, C., Labonnote, L. C., 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, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2009.06.013" ext-link-type="DOI">10.1016/j.jqsrt.2009.06.013</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>de Boissieu et al.(2019)de Boissieu, Chraibi, Lavalley, and Féret</label><mixed-citation>de Boissieu, F., Chraibi, E., Lavalley, C., and Féret, J.-B.: pytools4dart: Python API to DART Radiative Transfer Simulator, <uri>https://gitlab.com/pytools4dart/pytools4dart</uri> (last access: 18 May 2026), 2019.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>De Vis et al.(2024)De Vis, Howes, Vanhellemont, Bialek, Morris, Sinclair, and Ruddick</label><mixed-citation>De Vis, P., Howes, A., Vanhellemont, Q., Bialek, A., Morris, H., Sinclair, M., and Ruddick, K.: Feasibility of Satellite Vicarious Calibration Using HYPERNETS Surface Reflectances from Gobabeb and Princess Elisabeth Antarctica Sites, Frontiers in Remote Sensing, 5, <ext-link xlink:href="https://doi.org/10.3389/frsen.2024.1323998" ext-link-type="DOI">10.3389/frsen.2024.1323998</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Delahaye et al.(2021)Delahaye, Armante, Scott, Jacquinet-Husson, Chédin, Crépeau, Crevoisier, Douet, Perrin, Barbe, Boudon, Campargue, Coudert, Ebert, Flaud, Gamache, Jacquemart, Jolly, Kwabia Tchana, Kyuberis, Li, Lyulin, Manceron, Mikhailenko, Moazzen-Ahmadi, Müller, Naumenko, Nikitin, Perevalov, Richard, Starikova, Tashkun, Tyuterev, Vander Auwera, Vispoel, Yachmenev, and Yurchenko</label><mixed-citation>Delahaye, T., Armante, R., Scott, N. A., Jacquinet-Husson, N., Chédin, A., Crépeau, L., Crevoisier, C., Douet, V., Perrin, A., Barbe, A., Boudon, V., Campargue, A., Coudert, L. H., Ebert, V., Flaud, J. M., Gamache, R. R., Jacquemart, D., Jolly, A., Kwabia Tchana, F., Kyuberis, A., Li, G., Lyulin, O. M., Manceron, L., Mikhailenko, S., Moazzen-Ahmadi, N., Müller, H. S. P., Naumenko, O. V., Nikitin, A., Perevalov, V. I., Richard, C., Starikova, E., Tashkun, S. A., Tyuterev, Vl. G., Vander Auwera, J., Vispoel, B., Yachmenev, A., and Yurchenko, S.: The 2020 Edition of the GEISA Spectroscopic Database, J. Mol. Spectrosc., 380, 111510, <ext-link xlink:href="https://doi.org/10.1016/j.jms.2021.111510" ext-link-type="DOI">10.1016/j.jms.2021.111510</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Disney et al.(2011)Disney, Lewis, Gomez-Dans, Roy, Wooster, and Lajas</label><mixed-citation>Disney, M. I., Lewis, P., Gomez-Dans, J., Roy, D., Wooster, M. J., and Lajas, D.: 3D Radiative Transfer Modelling of Fire Impacts on a Two-Layer Savanna System, Remote Sens. Environ., 115, 1866–1881, <ext-link xlink:href="https://doi.org/10.1016/j.rse.2011.03.010" ext-link-type="DOI">10.1016/j.rse.2011.03.010</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Emde and Mayer(2018)</label><mixed-citation>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, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2018.07.001" ext-link-type="DOI">10.1016/j.jqsrt.2018.07.001</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Emde et al.(2010)Emde, Buras, Mayer, and Blumthaler</label><mixed-citation>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, <ext-link xlink:href="https://doi.org/10.5194/acp-10-383-2010" ext-link-type="DOI">10.5194/acp-10-383-2010</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Emde et al.(2011)Emde, Buras, and Mayer</label><mixed-citation>Emde, C., Buras, R., and Mayer, B.: ALIS: An efficient method to compute high spectral resolution polarized solar radiances using the Monte Carlo approach, J. Quant. Spectrosc. Ra., 112, 1622–1631, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2011.03.018" ext-link-type="DOI">10.1016/j.jqsrt.2011.03.018</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Emde et al.(2015)Emde, Barlakas, Cornet, Evans, Korkin, Ota, Labonnote, Lyapustin, Macke, Mayer, and Wendisch</label><mixed-citation>Emde, C., Barlakas, V., Cornet, C., Evans, F., Korkin, S., Ota, Y., Labonnote, L. C., Lyapustin, A., Macke, A., Mayer, B., and Wendisch, M.: IPRT polarized radiative transfer model intercomparison project – Phase A, J. Quant. Spectrosc. Ra., 164, 8–36, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2015.05.007" ext-link-type="DOI">10.1016/j.jqsrt.2015.05.007</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Emde et al.(2016)Emde, Buras-Schnell, Kylling, Mayer, Gasteiger, Hamann, Kylling, Richter, Pause, Dowling, and Bugliaro</label><mixed-citation>Emde, C., Buras-Schnell, R., Kylling, A., Mayer, B., Gasteiger, J., Hamann, U., Kylling, J., Richter, B., Pause, C., Dowling, T., and Bugliaro, L.: The libRadtran software package for radiative transfer calculations (version 2.0.1), Geosci. Model Dev., 9, 1647–1672, <ext-link xlink:href="https://doi.org/10.5194/gmd-9-1647-2016" ext-link-type="DOI">10.5194/gmd-9-1647-2016</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Fox and Green(2020)</label><mixed-citation>Fox, N. and Green, P.: Traceable Radiometry Underpinning Terrestrial- and Helio-Studies (TRUTHS): An Element of a Space-Based Climate and Calibration Observatory, Remote Sens.-Basel, 12, 2400, <ext-link xlink:href="https://doi.org/10.3390/rs12152400" ext-link-type="DOI">10.3390/rs12152400</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Galtier et al.(2013)Galtier, Blanco, Caliot, Coustet, Dauchet, El Hafi, Eymet, Fournier, Gautrais, Khuong, Piaud, and Terrée</label><mixed-citation>Galtier, M., Blanco, S., Caliot, C., Coustet, C., Dauchet, J., El Hafi, M., Eymet, V., Fournier, R., Gautrais, J., Khuong, A., Piaud, B., and Terrée, G.: Integral formulation of null-collision Monte Carlo algorithms, J. Quant. Spectrosc. Ra., 125, 57–68, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2013.04.001" ext-link-type="DOI">10.1016/j.jqsrt.2013.04.001</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Gasteiger and Wiegner(2018)</label><mixed-citation>Gasteiger, J. and Wiegner, M.: MOPSMAP v1.0: a versatile tool for the modeling of aerosol optical properties, Geosci. Model Dev., 11, 2739–2762, <ext-link xlink:href="https://doi.org/10.5194/gmd-11-2739-2018" ext-link-type="DOI">10.5194/gmd-11-2739-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Gasteiger et al.(2014)Gasteiger, Emde, Mayer, Buras, Buehler, and Lemke</label><mixed-citation>Gasteiger, J., Emde, C., Mayer, B., Buras, R., Buehler, S., and Lemke, O.: Representative wavelengths absorption parameterization applied to satellite channels and spectral bands, J. Quant. Spectrosc. Ra., <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2014.06.024" ext-link-type="DOI">10.1016/j.jqsrt.2014.06.024</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Gobron et al.(1997)Gobron, Pinty, Verstraete, and Govaerts</label><mixed-citation>Gobron, N., Pinty, B., Verstraete, M. M., and Govaerts, Y.: A semidiscrete model for the scattering of light by vegetation, J. Geophys. Res.-Atmos., 102, 9431–9446, <ext-link xlink:href="https://doi.org/10.1029/96JD04013" ext-link-type="DOI">10.1029/96JD04013</ext-link>, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Goodenough and Brown(2017)</label><mixed-citation>Goodenough, A. A. and Brown, S. D.: DIRSIG5: Next-Generation Remote Sensing Data and Image Simulation Framework, IEEE J. Sel. Top. Appl., 10, 4818–4833, <ext-link xlink:href="https://doi.org/10.1109/JSTARS.2017.2758964" ext-link-type="DOI">10.1109/JSTARS.2017.2758964</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Goody et al.(1989)Goody, West, Chen, and Crisp</label><mixed-citation>Goody, R., West, R., Chen, L., and Crisp, D.: The correlated-k method for radiation calculations in nonhomogeneous atmospheres, J. Quant. Spectrosc. Ra., 42, 539–550, <ext-link xlink:href="https://doi.org/10.1016/0022-4073(89)90044-7" ext-link-type="DOI">10.1016/0022-4073(89)90044-7</ext-link>, 1989.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Gordon et al.(2022)Gordon, Rothman, Hargreaves, Hashemi, Karlovets, Skinner, Conway, Hill, Kochanov, Tan, Wcisło, Finenko, Nelson, Bernath, Birk, Boudon, Campargue, Chance, Coustenis, Drouin, Flaud, Gamache, Hodges, Jacquemart, Mlawer, Nikitin, Perevalov, Rotger, Tennyson, Toon, Tran, Tyuterev, Adkins, Baker, Barbe, Canè, Császár, Dudaryonok, Egorov, Fleisher, Fleurbaey, Foltynowicz, Furtenbacher, Harrison, Hartmann, Horneman, Huang, Karman, Karns, Kassi, Kleiner, Kofman, Kwabia-Tchana, Lavrentieva, Lee, Long, Lukashevskaya, Lyulin, Makhnev, Matt, Massie, Melosso, Mikhailenko, Mondelain, Müller, Naumenko, Perrin, Polyansky, Raddaoui, Raston, Reed, Rey, Richard, Tóbiás, Sadiek, Schwenke, Starikova, Sung, Tamassia, Tashkun, Vander Auwera, Vasilenko, Vigasin, Villanueva, Vispoel, Wagner, Yachmenev, and Yurchenko</label><mixed-citation>Gordon, I., Rothman, L., Hargreaves, R., Hashemi, R., Karlovets, E., Skinner, F., Conway, E., Hill, C., Kochanov, R., Tan, Y., Wcisło, P., Finenko, A., Nelson, K., Bernath, P., Birk, M., Boudon, V., Campargue, A., Chance, K., Coustenis, A., Drouin, B., Flaud, J.-M., Gamache, R., Hodges, J., Jacquemart, D., Mlawer, E., Nikitin, A., Perevalov, V., Rotger, M., Tennyson, J., Toon, G., Tran, H., Tyuterev, V., Adkins, E., Baker, A., Barbe, A., Canè, E., Császár, A., Dudaryonok, A., Egorov, O., Fleisher, A., Fleurbaey, H., Foltynowicz, A., Furtenbacher, T., Harrison, J., Hartmann, J.-M., Horneman, V.-M., Huang, X., Karman, T., Karns, J., Kassi, S., Kleiner, I., Kofman, V., Kwabia-Tchana, F., Lavrentieva, N., Lee, T., Long, D., Lukashevskaya, A., Lyulin, O., Makhnev, V., Matt, W., Massie, S., Melosso, M., Mikhailenko, S., Mondelain, D., Müller, H., Naumenko, O., Perrin, A., Polyansky, O., Raddaoui, E., Raston, P., Reed, Z., Rey, M., Richard, C., Tóbiás, R., Sadiek, I., Schwenke, D., Starikova, E., Sung, K., Tamassia, F., Tashkun, S., Vander Auwera, J., Vasilenko, I., Vigasin, A., Villanueva, G., Vispoel, B., Wagner, G., Yachmenev, A., and Yurchenko, S.: The HITRAN2020 molecular spectroscopic database, J. Quant. Spectrosc. Ra., 277, 107949, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2021.107949" ext-link-type="DOI">10.1016/j.jqsrt.2021.107949</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Gorshelev et al.(2014)Gorshelev, Serdyuchenko, Weber, Chehade, and Burrows</label><mixed-citation>Gorshelev, V., Serdyuchenko, A., Weber, M., Chehade, W., and Burrows, J. P.: High spectral resolution ozone absorption cross-sections – Part 1: Measurements, data analysis and comparison with previous measurements around 293 K, Atmos. Meas. Tech., 7, 609–624, <ext-link xlink:href="https://doi.org/10.5194/amt-7-609-2014" ext-link-type="DOI">10.5194/amt-7-609-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Govaerts(2015)</label><mixed-citation>Govaerts, Y.: Sand Dune Ridge Alignment Effects on Surface BRF over the Libya-4 CEOS Calibration Site, Sensors-Basel, 15, 3453–3470, <ext-link xlink:href="https://doi.org/10.3390/s150203453" ext-link-type="DOI">10.3390/s150203453</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Govaerts et al.(2022)Govaerts, Nollet, and Leroy</label><mixed-citation>Govaerts, Y., Nollet, Y., and Leroy, V.: Radiative Transfer Model Comparison with satellite Observations over CEOS Calibration Site libya-4, Atmosphere-Basel, 13, <ext-link xlink:href="https://doi.org/10.3390/atmos13111759" ext-link-type="DOI">10.3390/atmos13111759</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Grecco(2022)</label><mixed-citation>Grecco, H.: hgrecco/pint: 0.19.2, <uri>https://github.com/hgrecco/pint</uri> (last access: 18 May 2026), 2022.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Haberreiter et al.(2017)Haberreiter, Schöll, Dudok de Wit, Kretzschmar, Misios, Tourpali, and Schmutz</label><mixed-citation>Haberreiter, M., Schöll, M., Dudok de Wit, T., Kretzschmar, M., Misios, S., Tourpali, K., and Schmutz, W.: A New Observational Solar Irradiance Composite, J. Geophys. Res.-Space, 122, 5910–5930, <ext-link xlink:href="https://doi.org/10.1002/2016JA023492" ext-link-type="DOI">10.1002/2016JA023492</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Hansen and Travis(1974)</label><mixed-citation>Hansen, J. E. and Travis, L. D.: Light Scattering in Planetary Atmospheres, Space Sci. Rev., 16, 527–610, <ext-link xlink:href="https://doi.org/10.1007/BF00168069" ext-link-type="DOI">10.1007/BF00168069</ext-link>, 1974.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Hapke(1984)</label><mixed-citation> Hapke, B.: Bidirectional Reflectance Spectroscopy: 3. Correction for Macroscopic Roughness, Icarus, 59, 41–59, 1984.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Hapke(2012)</label><mixed-citation>Hapke, B.: Theory of Reflectance and Emittance Spectroscopy, Cambridge University Press, ISBN 9781139025683, <ext-link xlink:href="https://doi.org/10.1017/CBO9781139025683" ext-link-type="DOI">10.1017/CBO9781139025683</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Hapke(1963)</label><mixed-citation>Hapke, B. W.: A theoretical photometric function for the lunar surface, J. Geophys. Res., 68, 4571–4586, <ext-link xlink:href="https://doi.org/10.1029/JZ068i015p04571" ext-link-type="DOI">10.1029/JZ068i015p04571</ext-link>, 1963.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Hess et al.(1998)Hess, Koepke, and Schult</label><mixed-citation> Hess, M. W., Koepke, P., and Schult, I.: Optical Properties of Aerosols and Clouds: The Software Package OPAC, B. Am. Meteorol. Soc., 79, 831–844, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Hogan and Matricardi(2020)</label><mixed-citation>Hogan, R. J. and Matricardi, M.: Evaluating and improving the treatment of gases in radiation schemes: the Correlated K-Distribution Model Intercomparison Project (CKDMIP), Geosci. Model Dev., 13, 6501–6521, <ext-link xlink:href="https://doi.org/10.5194/gmd-13-6501-2020" ext-link-type="DOI">10.5194/gmd-13-6501-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Holben et al.(1998)Holben, Eck, Slutsker, Tanré, Buis, Setzer, Vermote, Reagan, Kaufman, Nakajima, Lavenu, Jankowiak, and Smirnov</label><mixed-citation>Holben, B. N., Eck, T. F., Slutsker, I., Tanré, D., Buis, J. P., Setzer, A., Vermote, E., Reagan, J. A., Kaufman, Y. J., Nakajima, T., Lavenu, F., Jankowiak, I., and Smirnov, A.: AERONET – A Federated Instrument Network and Data Archive for Aerosol Characterization, Remote Sens. Environ., 66, 1–16, <ext-link xlink:href="https://doi.org/10.1016/S0034-4257(98)00031-5" ext-link-type="DOI">10.1016/S0034-4257(98)00031-5</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Hoyer and Hamman(2017)</label><mixed-citation>Hoyer, S. and Hamman, J.: xarray: N-D labeled arrays and datasets in Python, Journal of Open Research Software, 5, <ext-link xlink:href="https://doi.org/10.5334/jors.148" ext-link-type="DOI">10.5334/jors.148</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Inness et al.(2019)Inness, Ades, Agustí-Panareda, Barré, Benedictow, Blechschmidt, Dominguez, Engelen, Eskes, Flemming, Huijnen, Jones, Kipling, Massart, Parrington, Peuch, Razinger, Remy, Schulz, and Suttie</label><mixed-citation>Inness, A., Ades, M., Agustí-Panareda, A., Barré, J., Benedictow, A., Blechschmidt, A.-M., Dominguez, J. J., Engelen, R., Eskes, H., Flemming, J., Huijnen, V., Jones, L., Kipling, Z., Massart, S., Parrington, M., Peuch, V.-H., Razinger, M., Remy, S., Schulz, M., and Suttie, M.: The CAMS reanalysis of atmospheric composition, Atmos. Chem. Phys., 19, 3515–3556, <ext-link xlink:href="https://doi.org/10.5194/acp-19-3515-2019" ext-link-type="DOI">10.5194/acp-19-3515-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Jakob(2010)</label><mixed-citation>Jakob, W.: Mitsuba renderer, <uri>https://mitsuba-renderer.org/index_old.html</uri> (last access: 18 May 2026), 2010.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Jakob et al.(2022a)Jakob, Speierer, Roussel, Nimier-David, Vicini, Zeltner, Nicolet, Crespo, Leroy, and Zhang</label><mixed-citation>Jakob, W., Speierer, S., Roussel, N., Nimier-David, M., Vicini, D., Zeltner, T., Nicolet, B., Crespo, M., Leroy, V., and Zhang, Z.: Mitsuba 3 renderer, <uri>https://mitsuba-renderer.org</uri> (last access: 18 May 2026), 2022a.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Jakob et al.(2022b)Jakob, Speierer, Roussel, and Vicini</label><mixed-citation>Jakob, W., Speierer, S., Roussel, N., and Vicini, D.: Dr.Jit: A Just-In-Time Compiler for Differentiable Rendering, Transactions on Graphics (Proceedings of SIGGRAPH), 41, <ext-link xlink:href="https://doi.org/10.1145/3528223.3530099" ext-link-type="DOI">10.1145/3528223.3530099</ext-link>, 2022b.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Joint Research Centre(2025)</label><mixed-citation>Joint Research Centre: The new RAMI4ATM, <uri>https://rami-benchmark.jrc.ec.europa.eu/_www/phase_descr.php?strPhase=RAMI4ATM</uri>, last access: 25 August 2025.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Kajiya(1986)</label><mixed-citation>Kajiya, J. T.: The Rendering Equation, in: ACM SIGGRAPH Computer Graphics, vol. 20, ACM, 143–150, <ext-link xlink:href="https://doi.org/10.1145/15886.15902" ext-link-type="DOI">10.1145/15886.15902</ext-link>, 1986.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Kluyver et al.(2016)Kluyver, Ragan-Kelley, Pérez, Granger, Bussonnier, Frederic, Kelley, Hamrick, Grout, Corlay, Ivanov, Avila, Abdalla, Willing, and development team</label><mixed-citation>Kluyver, T., Ragan-Kelley, B., Pérez, F., Granger, B., Bussonnier, M., Frederic, J., Kelley, K., Hamrick, J., Grout, J., Corlay, S., Ivanov, P., Avila, D., Abdalla, S., Willing, C., and Jupyter development team: Jupyter Notebooks – a publishing format for reproducible computational workflows, in: Positioning and Power in Academic Publishing: Players, Agents and Agendas, edited by: Loizides, F. and Scmidt, B., IOS Press, the Netherlands, 87–90, <ext-link xlink:href="https://doi.org/10.3233/978-1-61499-649-1-87" ext-link-type="DOI">10.3233/978-1-61499-649-1-87</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Korkin et al.(2022)Korkin, Yang, Spurr, Emde, Zhai, Krotkov, Vasilkov, and Lyapustin</label><mixed-citation>Korkin, S., Yang, E.-S., Spurr, R., Emde, C., Zhai, P., Krotkov, N., Vasilkov, A., and Lyapustin, A.: Numerical results for polarized light scattering in a spherical atmosphere, J. Quant. Spectrosc. Ra., 287, 108194, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2022.108194" ext-link-type="DOI">10.1016/j.jqsrt.2022.108194</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx52"><label>Kotchenova et al.(2006)Kotchenova, Vermote, Matarrese, and Klemm</label><mixed-citation>Kotchenova, S. Y., Vermote, E. F., Matarrese, R., and Klemm Jr., F. J.: Validation of a vector version of the 6S radiative transfer code for atmospheric correction of satellite data. Part I: Path radiance, Appl. Optics, 45, 6762, <ext-link xlink:href="https://doi.org/10.1364/AO.45.006762" ext-link-type="DOI">10.1364/AO.45.006762</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx53"><label>Krekel et al.(2004)Krekel, Oliveira, Pfannschmidt, Bruynooghe, Laugher, and Bruhin</label><mixed-citation>Krekel, H., Oliveira, B., Pfannschmidt, R., Bruynooghe, F., Laugher, B., and Bruhin, F.: pytest, <uri>https://github.com/pytest-dev/pytest</uri> (last access: 18 May 2026), 2004.</mixed-citation></ref>
      <ref id="bib1.bibx54"><label>Lacis and Oinas(1991)</label><mixed-citation>Lacis, A. A. and Oinas, V.: A description of the correlated <inline-formula><mml:math id="M107" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> distribution method for modeling nongray gaseous absorption, thermal emission, and multiple scattering in vertically inhomogeneous atmospheres, J. Geophys. Res., 96, 9027, <ext-link xlink:href="https://doi.org/10.1029/90JD01945" ext-link-type="DOI">10.1029/90JD01945</ext-link>, 1991.</mixed-citation></ref>
      <ref id="bib1.bibx55"><label>Lanconelli et al.(2025)Lanconelli, Gobron, Robustelli, Adams, Calders, Disney, Gastellu-Etchegorry, Goodenough, Govaerts, Hogan, Huang, Kobayashi, Kuusk, Leroy, Origo, Qi, Schunke, Leeuwen, Wang, Xie, Zeng, and Zhao</label><mixed-citation>Lanconelli, C., Gobron, N., Robustelli, M., Adams, J. S., Calders, K., Disney, M., Gastellu-Etchegorry, J.-P., Goodenough, A., Govaerts, Y., Hogan, R. J., Huang, H., Kobayashi, H., Kuusk, A., Leroy, V., Origo, N., Qi, J., Schunke, S., Leeuwen, M., Wang, Y., Xie, D., Zeng, Y., and Zhao, F.: The Fifth Phase of the Radiation Transfer Model Intercomparison Exercise (RAMI-V): Experiment Description and Results on Actual Canopy Scenarios, Journal of Remote Sensing, 5, 0663, <ext-link xlink:href="https://doi.org/10.34133/remotesensing.0663" ext-link-type="DOI">10.34133/remotesensing.0663</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx56"><label>Leroy(2026)</label><mixed-citation>Leroy, V.: rayference/paper-eradiate-v100: Paper release, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.20274685" ext-link-type="DOI">10.5281/zenodo.20274685</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx57"><label>Leroy et al.(2025a)Leroy, Aschan, Woolliams, Schunke, Manoocheri, and Govaerts</label><mixed-citation>Leroy, V., Aschan, R., Woolliams, P., Schunke, S., Manoocheri, F., and Govaerts, Y.: An SI-Traceable Protocol for the Validation of Radiative Transfer Model-Based Reflectance Simulation, IEEE T. Geosci. Remote, 63, 1–22, <ext-link xlink:href="https://doi.org/10.1109/TGRS.2025.3547305" ext-link-type="DOI">10.1109/TGRS.2025.3547305</ext-link>, 2025a.</mixed-citation></ref>
      <ref id="bib1.bibx58"><label>Leroy et al.(2025b)Leroy, Nollet, Schunke, Misk, Marton, Emde, and Govaerts</label><mixed-citation>Leroy, V., Nollet, Y., Schunke, S., Misk, N., Marton, N., Emde, C., and Govaerts, Y.: Eradiate radiative transfer model, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.17226380" ext-link-type="DOI">10.5281/zenodo.17226380</ext-link>, 2025b.</mixed-citation></ref>
      <ref id="bib1.bibx59"><label>Lewis(1999)</label><mixed-citation>Lewis, P.: Three-dimensional plant modelling for remote sensing simulation studies using the Botanical Plant Modelling System, Agronomie, 19, 185–210, <ext-link xlink:href="https://doi.org/10.1051/agro:19990302" ext-link-type="DOI">10.1051/agro:19990302</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx60"><label>Litvinov et al.(2024)Litvinov, Chen, Dubovik, Bindreiter, Matar, Fuertes, Lopatin, Lapyonok, Lanzinger, Hangler, Aspetsberger, de Graaf, Tilstra, Stammes, Dandocsi, Gasbarra, Fluck, Zehner, and Retscher</label><mixed-citation>Litvinov, P., Chen, C., Dubovik, O., Bindreiter, L., Matar, C., Fuertes, D., Lopatin, A., Lapyonok, T., Lanzinger, V., Hangler, A., Aspetsberger, M., de Graaf, M., Tilstra, L. G., Stammes, P., Dandocsi, A., Gasbarra, D., Fluck, E., Zehner, C., and Retscher, C.: Extended aerosol and surface characterization from S5P/TROPOMI with GRASP algorithm. Part I: Conditions, approaches, performance and new possibilities, Remote Sens. Environ., 313, 114355, <ext-link xlink:href="https://doi.org/10.1016/j.rse.2024.114355" ext-link-type="DOI">10.1016/j.rse.2024.114355</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx61"><label>Lucht et al.(2000)Lucht, Schaaf, and Strahler</label><mixed-citation>Lucht, W., Schaaf, C., and Strahler, A.: An algorithm for the retrieval of albedo from space using semiempirical BRDF models, IEEE T. Geosci. Remote, 38, 977–998, <ext-link xlink:href="https://doi.org/10.1109/36.841980" ext-link-type="DOI">10.1109/36.841980</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx62"><label>Luffarelli et al.(2025)Luffarelli, Misk, Leroy, and Govaerts</label><mixed-citation>Luffarelli, M., Misk, N., Leroy, V., and Govaerts, Y.: Elaboration of Simulated Hyperspectral Calibration Reference over Pseudo-Invariant Calibration Reference, Atmosphere-Basel, 16, 583, <ext-link xlink:href="https://doi.org/10.3390/atmos16050583" ext-link-type="DOI">10.3390/atmos16050583</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx63"><label>Mayer(2009)</label><mixed-citation>Mayer, B.: Radiative Transfer in the Cloudy Atmosphere, in: European Physical Journal Conferences, vol. 1, EDP Sciences, 75–99, <ext-link xlink:href="https://doi.org/10.1140/epjconf/e2009-00912-1" ext-link-type="DOI">10.1140/epjconf/e2009-00912-1</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx64"><label>Mayer and Kylling(2005)</label><mixed-citation>Mayer, B. and Kylling, A.: Technical note: The libRadtran software package for radiative transfer calculations – description and examples of use, Atmos. Chem. Phys., 5, 1855–1877, <ext-link xlink:href="https://doi.org/10.5194/acp-5-1855-2005" ext-link-type="DOI">10.5194/acp-5-1855-2005</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx65"><label>Meftah et al.(2018)Meftah, Damé, Bolsée, Hauchecorne, Pereira, Sluse, Cessateur, Irbah, Bureau, Weber, Bramstedt, Hilbig, Thiéblemont, Marchand, Lefèvre, Sarkissian, and Bekki</label><mixed-citation>Meftah, M., Damé, L., Bolsée, D., Hauchecorne, A., Pereira, N., Sluse, D., Cessateur, G., Irbah, A., Bureau, J., Weber, M., Bramstedt, K., Hilbig, T., Thiéblemont, R., Marchand, M., Lefèvre, F., Sarkissian, A., and Bekki, S.: SOLAR-ISS: A New Reference Spectrum Based on SOLAR/SOLSPEC Observations, Astron. Astrophys., 611, A1, <ext-link xlink:href="https://doi.org/10.1051/0004-6361/201731316" ext-link-type="DOI">10.1051/0004-6361/201731316</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx66"><label>Mei et al.(2022)Mei, Rozanov, Jiao, and Burrows</label><mixed-citation>Mei, L., Rozanov, V., Jiao, Z., and Burrows, J. P.: A new snow bidirectional reflectance distribution function model in spectral regions from UV to SWIR: Model development and application to ground-based, aircraft and satellite observations, ISPRS J. Photogramm., 188, 269–285, <ext-link xlink:href="https://doi.org/10.1016/j.isprsjprs.2022.04.010" ext-link-type="DOI">10.1016/j.isprsjprs.2022.04.010</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx67"><label>Miller et al.(2019)Miller, Georgiev, and Jarosz</label><mixed-citation>Miller, B., Georgiev, I., and Jarosz, W.: A null-scattering path integral formulation of light transport, ACM T. Graphic., 38, 1–13, <ext-link xlink:href="https://doi.org/10.1145/3306346.3323025" ext-link-type="DOI">10.1145/3306346.3323025</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx68"><label>Minnaert(1941)</label><mixed-citation>Minnaert, M.: The Reciprocity Principle in Lunar Photometry, Astrophys. J., 403–410, <ext-link xlink:href="https://doi.org/10.1086/144279" ext-link-type="DOI">10.1086/144279</ext-link>, 1941.</mixed-citation></ref>
      <ref id="bib1.bibx69"><label>Mishchenko and Travis(1997)</label><mixed-citation>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.-Atmos., 102, 16989–17013, <ext-link xlink:href="https://doi.org/10.1029/96JD02425" ext-link-type="DOI">10.1029/96JD02425</ext-link>, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx70"><label>Mishchenko et al.(1994)Mishchenko, Lacis, and Travis</label><mixed-citation>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, <ext-link xlink:href="https://doi.org/10.1016/0022-4073(94)90149-X" ext-link-type="DOI">10.1016/0022-4073(94)90149-X</ext-link>, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx71"><label>Museth(2013)</label><mixed-citation>Museth, K.: VDB, ACM T. Graphic., 32, 1–22, <ext-link xlink:href="https://doi.org/10.1145/2487228.2487235" ext-link-type="DOI">10.1145/2487228.2487235</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx72"><label>Museth(2021)</label><mixed-citation>Museth, K.: NanoVDB: A GPU-Friendly and Portable VDB Data Structure For Real-Time Rendering And Simulation, in: ACM SIGGRAPH 2021 Talks, ACM, 1–2, <ext-link xlink:href="https://doi.org/10.1145/3450623.3464653" ext-link-type="DOI">10.1145/3450623.3464653</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx73"><label>Nicodemus et al.(1977)Nicodemus, Richmond, Hsia, Ginsberg, and Limperis</label><mixed-citation>Nicodemus, F. E., Richmond, J. C., Hsia, J. J., Ginsberg, I. W., and Limperis, T.: Geometrical Considerations and Nomenclature for Reflectance, vol. 160, US Department of Commerce, National Bureau of Standards, <ext-link xlink:href="https://doi.org/10.6028/NBS.MONO.160" ext-link-type="DOI">10.6028/NBS.MONO.160</ext-link>, 1977.</mixed-citation></ref>
      <ref id="bib1.bibx74"><label>Nimier-David et al.(2019)Nimier-David, Vicini, Zeltner, and Jakob</label><mixed-citation>Nimier-David, M., Vicini, D., Zeltner, T., and Jakob, W.: Mitsuba 2, ACM T. Graphic., 38, 1–17, <ext-link xlink:href="https://doi.org/10.1145/3355089.3356498" ext-link-type="DOI">10.1145/3355089.3356498</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx75"><label>Nollet and Leroy(2024)</label><mixed-citation>Nollet, Y. and Leroy, V.: Joseki, <uri>https://github.com/rayference/joseki</uri> (last access: 18 May 2026), 2024.</mixed-citation></ref>
      <ref id="bib1.bibx76"><label>Novák et al.(2018)Novák, Georgiev, Hanika, and Jarosz</label><mixed-citation>Novák, J., Georgiev, I., Hanika, J., and Jarosz, W.: Monte Carlo Methods for Volumetric Light Transport Simulation, Comput. Graph. Forum, 37, 551–576, <ext-link xlink:href="https://doi.org/10.1111/cgf.13383" ext-link-type="DOI">10.1111/cgf.13383</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx77"><label>Pannier and Laux(2019)</label><mixed-citation>Pannier, E. and Laux, C. O.: RADIS: A nonequilibrium line-by-line radiative code for <inline-formula><mml:math id="M108" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">CO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and HITRAN-like database species, J. Quant. Spectrosc. Ra., 222–223, 12–25, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2018.09.027" ext-link-type="DOI">10.1016/j.jqsrt.2018.09.027</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx78"><label>Pharr et al.(2023)Pharr, Jakob, and Humphreys</label><mixed-citation>Pharr, M., Jakob, W., and Humphreys, G.: Physically Based Rendering: From Theory to Implementation, 4th edn., MIT Press, <uri>https://pbr-book.org/</uri> (last access: 18 May 2026), 2023.</mixed-citation></ref>
      <ref id="bib1.bibx79"><label>Pinty et al.(2000)Pinty, Roveda, Verstraete, Gobron, Govaerts, Martonchik, Diner, and Kahn</label><mixed-citation>Pinty, B., Roveda, F., Verstraete, M. M., Gobron, N., Govaerts, Y., Martonchik, J. V., Diner, D. J., and Kahn, R. A.: Surface albedo retrieval from Meteosat: 1. Theory, J. Geophys. Res.-Atmos., 105, 18099–18112, <ext-link xlink:href="https://doi.org/10.1029/2000JD900113" ext-link-type="DOI">10.1029/2000JD900113</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx80"><label>Pinty et al.(2001)Pinty, Gobron, Widlowski, Gerstl, Verstraete, Antunes, Bacour, Gascon, Gastellu, Goel, Jacquemoud, North, Qin, and Thompson</label><mixed-citation>Pinty, B., Gobron, N., Widlowski, J.-L., Gerstl, S. A. W., Verstraete, M. M., Antunes, M., Bacour, C., Gascon, F., Gastellu, J.-P., Goel, N., Jacquemoud, S., North, P., Qin, W., and Thompson, R.: Radiation transfer model intercomparison (RAMI) exercise, J. Geophys. Res.-Atmos., 106, 11937–11956, <ext-link xlink:href="https://doi.org/10.1029/2000JD900493" ext-link-type="DOI">10.1029/2000JD900493</ext-link>, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx81"><label>Pinty et al.(2004)Pinty, Widlowski, Taberner, Gobron, Verstraete, Disney, Gascon, Gastellu, Jiang, Kuusk, Lewis, Li, Ni-Meister, Nilson, North, Qin, Su, Tang, Thompson, Verhoef, Wang, Wang, Yan, and Zang</label><mixed-citation>Pinty, B., Widlowski, J.-L., Taberner, M., Gobron, N., Verstraete, M. M., Disney, M., Gascon, F., Gastellu, J.-P., Jiang, L., Kuusk, A., Lewis, P., Li, X., Ni-Meister, W., Nilson, T., North, P., Qin, W., Su, L., Tang, S., Thompson, R., Verhoef, W., Wang, H., Wang, J., Yan, G., and Zang, H.: Radiation Transfer Model Intercomparison (RAMI) exercise: Results from the second phase, J. Geophys. Res.-Atmos., 109, <ext-link xlink:href="https://doi.org/10.1029/2003JD004252" ext-link-type="DOI">10.1029/2003JD004252</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx82"><label>Qi et al.(2019)Qi, Xie, Yin, Yan, Gastellu-Etchegorry, Li, Zhang, Mu, and Norford</label><mixed-citation>Qi, J., Xie, D., Yin, T., Yan, G., Gastellu-Etchegorry, J.-P., Li, L., Zhang, W., Mu, X., and Norford, L. K.: LESS: LargE-Scale remote sensing data and image simulation framework over heterogeneous 3D scenes, Remote Sens. Environ., 221, 695–706, <ext-link xlink:href="https://doi.org/10.1016/j.rse.2018.11.036" ext-link-type="DOI">10.1016/j.rse.2018.11.036</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx83"><label>Rahman et al.(1993)Rahman, Pinty, and Verstraete</label><mixed-citation>Rahman, H., Pinty, B., and Verstraete, M. M.: Coupled surface-atmosphere reflectance (CSAR) model: 2. Semiempirical surface model usable with NOAA advanced very high resolution radiometer data, J. Geophys. Res., 98, 20791, <ext-link xlink:href="https://doi.org/10.1029/93JD02072" ext-link-type="DOI">10.1029/93JD02072</ext-link>, 1993.</mixed-citation></ref>
      <ref id="bib1.bibx84"><label>Ramon et al.(2019)Ramon, Steinmetz, Jolivet, Compiègne, and Frouin</label><mixed-citation>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–223, 89–107, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2018.10.017" ext-link-type="DOI">10.1016/j.jqsrt.2018.10.017</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx85"><label>Roccetti et al.(2024)Roccetti, Bugliaro, Gödde, Emde, Hamann, Manev, Sterzik, and Wehrum</label><mixed-citation>Roccetti, G., Bugliaro, L., Gödde, F., Emde, C., Hamann, U., Manev, M., Sterzik, M. F., and Wehrum, C.: HAMSTER: Hyperspectral Albedo Maps dataset with high Spatial and TEmporal Resolution, Atmos. Meas. Tech., 17, 6025–6046, <ext-link xlink:href="https://doi.org/10.5194/amt-17-6025-2024" ext-link-type="DOI">10.5194/amt-17-6025-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx86"><label>Rozanov et al.(2014)Rozanov, Rozanov, Kokhanovsky, and Burrows</label><mixed-citation>Rozanov, V., Rozanov, A., Kokhanovsky, A., and Burrows, J.: Radiative transfer through terrestrial atmosphere and ocean: Software package SCIATRAN, J. Quant. Spectrosc. Ra., 133, 13–71, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2013.07.004" ext-link-type="DOI">10.1016/j.jqsrt.2013.07.004</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx87"><label>Salehi et al.(2022)Salehi, Thome, Wenny, Lockwood, and Wang</label><mixed-citation>Salehi, F., Thome, K., Wenny, B. N., Lockwood, R., and Wang, Z.: Band-Averaged Response Sensitivity Study of an Imaging Spectrometer for the CLARREO Pathfinder Mission, Remote Sens.-Basel, 14, 2302, <ext-link xlink:href="https://doi.org/10.3390/rs14102302" ext-link-type="DOI">10.3390/rs14102302</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx88"><label>Salesin et al.(2024)Salesin, Knobelspiesse, Chowdhary, Zhai, and Jarosz</label><mixed-citation>Salesin, K., Knobelspiesse, K. D., Chowdhary, J., Zhai, P.-W., and Jarosz, W.: Unifying Radiative Transfer Models in Computer Graphics and Remote Sensing, Part I: A Survey, J. Quant. Spectrosc. Ra., 314, 108847, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2023.108847" ext-link-type="DOI">10.1016/j.jqsrt.2023.108847</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx89"><label>Schlawack(2024)</label><mixed-citation>Schlawack, H.: attrs, <uri>https://github.com/python-attrs/attrs</uri> (last access: 18 May 2026), 2024.</mixed-citation></ref>
      <ref id="bib1.bibx90"><label>Schunke et al.(2023)Schunke, Leroy, and Govaerts</label><mixed-citation>Schunke, S., Leroy, V., and Govaerts, Y.: Retrieving BRDFs from UAV-based Radiometers for Fiducial Reference Measurements: Caveats and Recommendations, Frontiers in Remote Sensing, 4, <ext-link xlink:href="https://doi.org/10.3389/frsen.2023.1285800" ext-link-type="DOI">10.3389/frsen.2023.1285800</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx91"><label>Serdyuchenko et al.(2014)Serdyuchenko, Gorshelev, Weber, Chehade, and Burrows</label><mixed-citation>Serdyuchenko, A., Gorshelev, V., Weber, M., Chehade, W., and Burrows, J. P.: High spectral resolution ozone absorption cross-sections – Part 2: Temperature dependence, Atmos. Meas. Tech., 7, 625–636, <ext-link xlink:href="https://doi.org/10.5194/amt-7-625-2014" ext-link-type="DOI">10.5194/amt-7-625-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx92"><label>Shettle(1986)</label><mixed-citation>Shettle, E. P.: Optical and radiative properties of a desert aerosol model, Tech. Rep. AFGL-TR-86-0003, Air Force Geophysics Lab Hanscom AFB MA, <uri>https://apps.dtic.mil/sti/html/tr/ADA163181/</uri> (last access 18 May 2026), 1986.</mixed-citation></ref>
      <ref id="bib1.bibx93"><label>Somers et al.(2009)Somers, Delalieux, Verstraeten, and Coppin</label><mixed-citation> Somers, B., Delalieux, S., Verstraeten, W. W., and Coppin, P.: A Conceptual Framework for the Simultaneous Extraction of Sub-Pixel Spatial Extent and Spectral Characteristics of Crops, Photogramm. Eng. Rem. S., 75, 57–68, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx94"><label>Stamnes et al.(2000)Stamnes, Tsay, Wiscombe, and Laszlo</label><mixed-citation>Stamnes, K., Tsay, S.-C., Wiscombe, W., and Laszlo, I.: DISORT, a general-purpose Fortran program for discrete-ordinate-method radiative transfer in scattering and emitting layered media: documentation of methodology, <uri>http://www.rtatmocn.com/disort/docs/DISORTReport1.1.pdf</uri> (last access: 18 May 2026), 2000.</mixed-citation></ref>
      <ref id="bib1.bibx95"><label>Strahler et al.(1999)Strahler, Muller, Lucht, Barker Schaaf, Trevor, Gao, Li, Muller, Lewis, and Barnsley</label><mixed-citation>Strahler, A. H., Muller, J.-P., Lucht, W., Barker Schaaf, C., Trevor, T., Gao, F., Li, X., Muller, J.-P., Lewis, P., and Barnsley, M. J.: MODIS BRDF/Albedo Product: Algorithm Theoretical Basis Document Version 5.0, <uri>https://modis.gsfc.nasa.gov/data/atbd/atbd_mod09.pdf</uri> (last access: 18 May 2026), 1999.</mixed-citation></ref>
      <ref id="bib1.bibx96"><label>Strobl(2020)</label><mixed-citation>Strobl, P.: The new Copernicus digital elevation model, in: GSICS Quarterly, vol. 14, edited by: Szantoi, Z., Boccia, V., and Quang, C., <ext-link xlink:href="https://doi.org/10.25923/enp8-6w06" ext-link-type="DOI">10.25923/enp8-6w06</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx97"><label>Stuckens et al.(2009)Stuckens, Somers, Delalieux, Verstraeten, and Coppin</label><mixed-citation>Stuckens, J., Somers, B., Delalieux, S., Verstraeten, W. W., and Coppin, P.: The Impact of Common Assumptions on Canopy Radiative Transfer Simulations: A Case Study in Citrus Orchards, J. Quant. Spectrosc. Ra., 110, 1–21, <ext-link xlink:href="https://doi.org/10.1016/j.jqsrt.2008.09.001" ext-link-type="DOI">10.1016/j.jqsrt.2008.09.001</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx98"><label>Thuillier et al.(2003)Thuillier, Hersé, Labs, Foujols, Peetermans, Gillotay, Simon, and Mandel</label><mixed-citation>Thuillier, G., Hersé, M., Labs, D., Foujols, T., Peetermans, W., Gillotay, D., Simon, P., and Mandel, H.: The Solar Spectral Irradiance from 200 to 2400 Nm as Measured by the SOLSPEC Spectrometer from the Atlas and Eureca Missions, Sol. Phys., 214, 1–22, <ext-link xlink:href="https://doi.org/10.1023/A:1024048429145" ext-link-type="DOI">10.1023/A:1024048429145</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx99"><label>Tong et al.(2021)Tong, Bao, Zhao, Fan, Li, and Huang</label><mixed-citation>Tong, C., Bao, Y., Zhao, F., Fan, C., Li, Z., and Huang, Q.: Evaluation of the FluorWPS Model and Study of the Parameter Sensitivity for Simulating Solar-Induced Chlorophyll Fluorescence, Remote Sens.-Basel, 13, 1091, <ext-link xlink:href="https://doi.org/10.3390/rs13061091" ext-link-type="DOI">10.3390/rs13061091</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx100"><label>Veach(1997)</label><mixed-citation> Veach, E.: Robust Monte Carlo Methods For Light Transport Simulation, PhD thesis, Stanford University, Stanford, California, ISBN 978-0-591-90780-3, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx101"><label>Villefranque et al.(2019)Villefranque, Fournier, Couvreux, Blanco, Cornet, Eymet, Forest, and Tregan</label><mixed-citation>Villefranque, N., Fournier, R., Couvreux, F., Blanco, S., Cornet, C., Eymet, V., Forest, V., and Tregan, J.-M.: A Path Tracing Monte Carlo Library for 3D Radiative Transfer in Highly Resolved Cloudy Atmospheres, J. Adv. Model. Earth Sy., 11, 2449–2473, <ext-link xlink:href="https://doi.org/10.1029/2018MS001602" ext-link-type="DOI">10.1029/2018MS001602</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx102"><label>Wang et al.(2022)Wang, Kallel, Yang, Regaieg, Lauret, Guilleux, Chavanon, and Gastellu-Etchegorry</label><mixed-citation>Wang, Y., Kallel, A., Yang, X., Regaieg, O., Lauret, N., Guilleux, J., Chavanon, E., and Gastellu-Etchegorry, J.-P.: DART-Lux: An unbiased and rapid Monte Carlo radiative transfer method for simulating remote sensing images, Remote Sens. Environ., 274, 112973, <ext-link xlink:href="https://doi.org/10.1016/j.rse.2022.112973" ext-link-type="DOI">10.1016/j.rse.2022.112973</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx103"><label>Widlowski et al.(2007)Widlowski, Taberner, Pinty, Bruniquel-Pinel, Disney, Fernandes, Gastellu-Etchegorry, Gobron, Kuusk, Lavergne, Leblanc, Lewis, Martin, Mõttus, North, Qin, Robustelli, Rochdi, Ruiloba, Soler, Thompson, Verhoef, Verstraete, and Xie</label><mixed-citation>Widlowski, J.-L., Taberner, M., Pinty, B., Bruniquel-Pinel, V., Disney, M., Fernandes, R., Gastellu-Etchegorry, J.-P., Gobron, N., Kuusk, A., Lavergne, T., Leblanc, S., Lewis, P. E., Martin, E., Mõttus, M., North, P. R. J., Qin, W., Robustelli, M., Rochdi, N., Ruiloba, R., Soler, C., Thompson, R., Verhoef, W., Verstraete, M. M., and Xie, D.: Third Radiation Transfer Model Intercomparison (RAMI) exercise: Documenting progress in canopy reflectance models, J. Geophys. Res., 112, <ext-link xlink:href="https://doi.org/10.1029/2006JD007821" ext-link-type="DOI">10.1029/2006JD007821</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx104"><label>Widlowski et al.(2008)Widlowski, Robustelli, Disney, Gastellu-Etchegorry, Lavergne, Lewis, North, Pinty, Thompson, and Verstraete</label><mixed-citation>Widlowski, J.-L., Robustelli, M., Disney, M., Gastellu-Etchegorry, J.-P., Lavergne, T., Lewis, P., North, P., Pinty, B., Thompson, R., and Verstraete, M.: The RAMI On-line Model Checker (ROMC): A web-based benchmarking facility for canopy reflectance models, Remote Sens. Environ., 112, 1144–1150, <ext-link xlink:href="https://doi.org/10.1016/j.rse.2007.07.016" ext-link-type="DOI">10.1016/j.rse.2007.07.016</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx105"><label>Widlowski et al.(2015)Widlowski, Mio, Disney, Adams, Andredakis, Atzberger, Brennan, Busetto, Chelle, Ceccherini, Colombo, Côté, Eenmäe, Essery, Gastellu-Etchegorry, Gobron, Grau, Haverd, Homolová, Huang, Hunt, Kobayashi, Koetz, Kuusk, Kuusk, Lang, Lewis, Lovell, Malenovský, Meroni, Morsdorf, Mõttus, Ni-Meister, Pinty, Rautiainen, Schlerf, Somers, Stuckens, Verstraete, Yang, Zhao, and Zenone</label><mixed-citation>Widlowski, J.-L., Mio, C., Disney, M., Adams, J., Andredakis, I., Atzberger, C., Brennan, J., Busetto, L., Chelle, M., Ceccherini, G., Colombo, R., Côté, J.-F., Eenmäe, A., Essery, R., Gastellu-Etchegorry, J.-P., Gobron, N., Grau, E., Haverd, V., Homolová, L., Huang, H., Hunt, L., Kobayashi, H., Koetz, B., Kuusk, A., Kuusk, J., Lang, M., Lewis, P. E., Lovell, J. L., Malenovský, Z., Meroni, M., Morsdorf, F., Mõttus, M., Ni-Meister, W., Pinty, B., Rautiainen, M., Schlerf, M., Somers, B., Stuckens, J., Verstraete, M. M., Yang, W., Zhao, F., and Zenone, T.: The fourth phase of the radiative transfer model intercomparison (RAMI) exercise: Actual canopy scenarios and conformity testing, Remote Sens. Environ., 169, 418–437, <ext-link xlink:href="https://doi.org/10.1016/j.rse.2015.08.016" ext-link-type="DOI">10.1016/j.rse.2015.08.016</ext-link>, 2015. </mixed-citation></ref>
      <ref id="bib1.bibx106"><label>Wilkie et al.(2021)Wilkie, Vevoda, Bashford-Rogers, Hošek, Iser, Kolářová, Rittig, and Křivánek</label><mixed-citation>Wilkie, A., Vevoda, P., Bashford-Rogers, T., Hošek, L., Iser, T., Kolářová, M., Rittig, T., and Křivánek, J.: A fitted radiance and attenuation model for realistic atmospheres, ACM T. Graphic., 40, 1–14, <ext-link xlink:href="https://doi.org/10.1145/3450626.3459758" ext-link-type="DOI">10.1145/3450626.3459758</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx107"><label>Wilson(2013)</label><mixed-citation>Wilson, R. T.: Py6S: A Python interface to the 6S radiative transfer model, Comput. Geosci., 51, 166–171, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2012.08.002" ext-link-type="DOI">10.1016/j.cageo.2012.08.002</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx108"><label>Woods et al.(2009)Woods, Chamberlin, Harder, Hock, Snow, Eparvier, Fontenla, McClintock, and Richard</label><mixed-citation>Woods, T. N., Chamberlin, P. C., Harder, J. W., Hock, R. A., Snow, M., Eparvier, F. G., Fontenla, J., McClintock, W. E., and Richard, E. C.: Solar Irradiance Reference Spectra (SIRS) for the 2008 Whole Heliosphere Interval (WHI), Geophys. Res. Lett., 36, <ext-link xlink:href="https://doi.org/10.1029/2008GL036373" ext-link-type="DOI">10.1029/2008GL036373</ext-link>, 2009.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Eradiate: an accurate and flexible radiative transfer model for earth observation and atmospheric science</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Anderson et al.(1986)Anderson, Clough, Kneizys, Chetwynd, and Shettle</label><mixed-citation>
      
Anderson, G. P., Clough, S. A., Kneizys, F., Chetwynd, J. H., and Shettle, E. P.:
AFGL atmospheric constituent profiles (0.120&thinsp;km), AFGL-TR-86-0110, <a href="https://apps.dtic.mil/sti/html/tr/ADA175173/" target="_blank"/> (last access 18 May 2026), 1986.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>André(2016)</label><mixed-citation>
      
André, F.:
The ℓ-distribution method for modeling non-gray absorption in uniform and non-uniform gaseous media, J. Quant. Spectrosc. Ra., 179, 19–32, <a href="https://doi.org/10.1016/j.jqsrt.2016.02.034" target="_blank">https://doi.org/10.1016/j.jqsrt.2016.02.034</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>André et al.(2021)André, Cornet, Galtier, and Dubuisson</label><mixed-citation>
      
André, F., Cornet, C., Galtier, M., and Dubuisson, P.:
Radiative transfer in the O<sub>2</sub>
A-band – a fast and accurate forward model based on the ℓ-distribution approach, J. Quant. Spectrosc. Ra., 260, 107470, <a href="https://doi.org/10.1016/j.jqsrt.2020.107470" target="_blank">https://doi.org/10.1016/j.jqsrt.2020.107470</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Berk et al.(2014)Berk, Conforti, Kennett, Perkins, Hawes, and van den Bosch</label><mixed-citation>
      
Berk, A., Conforti, P., Kennett, R., Perkins, T., Hawes, F., and van den Bosch, J.:
MODTRAN6: a major upgrade of the MODTRAN radiative transfer code, Proceedings of SPIE, the International Society for Optical Engineering/Proceedings of SPIE, 9088, 90880H, <a href="https://doi.org/10.1117/12.2050433" target="_blank">https://doi.org/10.1117/12.2050433</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Bucciarelli et al.(2025)Bucciarelli, Wendsche, and Klemm</label><mixed-citation>
      
Bucciarelli, D., Wendsche, S., and Klemm, M.:
LuxCoreRender/LuxCore: 2.10, <a href="https://luxcorerender.org" target="_blank"/> (last access: 18 May 2026), 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Buehler et al.(2025)Buehler, Larsson, Lemke, Pfreundschuh, Brath, Adams, Fox, Roemer, Czarnecki, and Eriksson</label><mixed-citation>
      
Buehler, S. A., Larsson, R., Lemke, O., Pfreundschuh, S., Brath, M., Adams, I., Fox, S., Roemer, F. E., Czarnecki, P., and Eriksson, P.:
The Atmospheric Radiative Transfer Simulator ARTS, Version 2.6 – Deep Python Integration, J. Quant. Spectrosc. Ra., 341, 109443, <a href="https://doi.org/10.1016/j.jqsrt.2025.109443" target="_blank">https://doi.org/10.1016/j.jqsrt.2025.109443</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Buras and Mayer(2011)</label><mixed-citation>
      
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, <a href="https://doi.org/10.1016/j.jqsrt.2010.10.005" target="_blank">https://doi.org/10.1016/j.jqsrt.2010.10.005</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Calders et al.(2018)Calders, Origo, Burt, Disney, Nightingale, Raumonen, Åkerblom, Malhi, and Lewis</label><mixed-citation>
      
Calders, K., Origo, N., Burt, A., Disney, M., Nightingale, J., Raumonen, P., Åkerblom, M., Malhi, Y., and Lewis, P.:
Realistic Forest Stand Reconstruction from Terrestrial LiDAR for Radiative Transfer Modelling, Remote Sens.-Basel, 10, 933, <a href="https://doi.org/10.3390/rs10060933" target="_blank">https://doi.org/10.3390/rs10060933</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Clough(1991)</label><mixed-citation>
      
Clough, S.:
Line-By-Line Radiative Transfer Model, <a href="https://github.com/AER-RC/LBLRTM" target="_blank"/> (last access: 18 May 2026), 1991.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Clough et al.(2005)Clough, Shephard, Mlawer, Delamere, Iacono, Cady-Pereira, Boukabara, and Brown</label><mixed-citation>
      
Clough, S. A., Shephard, M. W., Mlawer, E. J., Delamere, J. S., Iacono, M. J., Cady-Pereira, K., Boukabara, S., and Brown, P. D.:
Atmospheric Radiative Transfer Modeling: A Summary of the AER Codes, J. Quant. Spectrosc. Ra., 91, 233–244, <a href="https://doi.org/10.1016/j.jqsrt.2004.05.058" target="_blank">https://doi.org/10.1016/j.jqsrt.2004.05.058</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Coddington et al.(2021)Coddington, Richard, Coddington, Harber, Pilewkie, Richard, Pilewskie, Woods, Chance, Liu, and Sun</label><mixed-citation>
      
Coddington, O. M., Richard, E. C., Coddington, O., Harber, D., Pilewkie, P., Richard, E., Pilewskie, P., Woods, T. N., Chance, K., Liu, X., and Sun, K.:
The TSIS-1 Hybrid Solar Reference Spectrum, Geophys. Res. Lett., 48, <a href="https://doi.org/10.1029/2020GL091709" target="_blank">https://doi.org/10.1029/2020GL091709</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Compiègne et al.(2013)Compiègne, C-Labonnote, and Dubuisson</label><mixed-citation>
      
Compiègne, M., C-Labonnote, L., and Dubuisson, P.:
The Phase Matrix Truncation Impact on Polarized Radiance, AIP Conf. Proc., 1531, 95–98, <a href="https://doi.org/10.1063/1.4804716" target="_blank">https://doi.org/10.1063/1.4804716</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Cornet et al.(2010)Cornet, Labonnote, and Szczap</label><mixed-citation>
      
Cornet, C., Labonnote, L. C., 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, <a href="https://doi.org/10.1016/j.jqsrt.2009.06.013" target="_blank">https://doi.org/10.1016/j.jqsrt.2009.06.013</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>de Boissieu et al.(2019)de Boissieu, Chraibi, Lavalley, and Féret</label><mixed-citation>
      
de Boissieu, F., Chraibi, E., Lavalley, C., and Féret, J.-B.:
pytools4dart: Python API to DART Radiative Transfer Simulator, <a href="https://gitlab.com/pytools4dart/pytools4dart" target="_blank"/> (last access: 18 May 2026), 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>De Vis et al.(2024)De Vis, Howes, Vanhellemont, Bialek, Morris, Sinclair, and Ruddick</label><mixed-citation>
      
De Vis, P., Howes, A., Vanhellemont, Q., Bialek, A., Morris, H., Sinclair, M., and Ruddick, K.:
Feasibility of Satellite Vicarious Calibration Using HYPERNETS Surface Reflectances from Gobabeb and Princess Elisabeth Antarctica Sites, Frontiers in Remote Sensing, 5, <a href="https://doi.org/10.3389/frsen.2024.1323998" target="_blank">https://doi.org/10.3389/frsen.2024.1323998</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Delahaye et al.(2021)Delahaye, Armante, Scott, Jacquinet-Husson, Chédin, Crépeau, Crevoisier, Douet, Perrin, Barbe, Boudon, Campargue, Coudert, Ebert, Flaud, Gamache, Jacquemart, Jolly, Kwabia Tchana, Kyuberis, Li, Lyulin, Manceron, Mikhailenko, Moazzen-Ahmadi, Müller, Naumenko, Nikitin, Perevalov, Richard, Starikova, Tashkun, Tyuterev, Vander Auwera, Vispoel, Yachmenev, and Yurchenko</label><mixed-citation>
      
Delahaye, T., Armante, R., Scott, N. A., Jacquinet-Husson, N., Chédin, A., Crépeau, L., Crevoisier, C., Douet, V., Perrin, A., Barbe, A., Boudon, V., Campargue, A., Coudert, L. H., Ebert, V., Flaud, J. M., Gamache, R. R., Jacquemart, D., Jolly, A., Kwabia Tchana, F., Kyuberis, A., Li, G., Lyulin, O. M., Manceron, L., Mikhailenko, S., Moazzen-Ahmadi, N., Müller, H. S. P., Naumenko, O. V., Nikitin, A., Perevalov, V. I., Richard, C., Starikova, E., Tashkun, S. A., Tyuterev, Vl. G., Vander Auwera, J., Vispoel, B., Yachmenev, A., and Yurchenko, S.:
The 2020 Edition of the GEISA Spectroscopic Database, J. Mol. Spectrosc., 380, 111510, <a href="https://doi.org/10.1016/j.jms.2021.111510" target="_blank">https://doi.org/10.1016/j.jms.2021.111510</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Disney et al.(2011)Disney, Lewis, Gomez-Dans, Roy, Wooster, and Lajas</label><mixed-citation>
      
Disney, M. I., Lewis, P., Gomez-Dans, J., Roy, D., Wooster, M. J., and Lajas, D.:
3D Radiative Transfer Modelling of Fire Impacts on a Two-Layer Savanna System, Remote Sens. Environ., 115, 1866–1881, <a href="https://doi.org/10.1016/j.rse.2011.03.010" target="_blank">https://doi.org/10.1016/j.rse.2011.03.010</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Emde and Mayer(2018)</label><mixed-citation>
      
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, <a href="https://doi.org/10.1016/j.jqsrt.2018.07.001" target="_blank">https://doi.org/10.1016/j.jqsrt.2018.07.001</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Emde et al.(2010)Emde, Buras, Mayer, and Blumthaler</label><mixed-citation>
      
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, <a href="https://doi.org/10.5194/acp-10-383-2010" target="_blank">https://doi.org/10.5194/acp-10-383-2010</a>, 2010. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Emde et al.(2011)Emde, Buras, and Mayer</label><mixed-citation>
      
Emde, C., Buras, R., and Mayer, B.:
ALIS: An efficient method to compute high spectral resolution polarized solar radiances using the Monte Carlo approach, J. Quant. Spectrosc. Ra., 112, 1622–1631, <a href="https://doi.org/10.1016/j.jqsrt.2011.03.018" target="_blank">https://doi.org/10.1016/j.jqsrt.2011.03.018</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Emde et al.(2015)Emde, Barlakas, Cornet, Evans, Korkin, Ota, Labonnote, Lyapustin, Macke, Mayer, and Wendisch</label><mixed-citation>
      
Emde, C., Barlakas, V., Cornet, C., Evans, F., Korkin, S., Ota, Y., Labonnote, L. C., Lyapustin, A., Macke, A., Mayer, B., and Wendisch, M.:
IPRT polarized radiative transfer model intercomparison project – Phase A, J. Quant. Spectrosc. Ra., 164, 8–36, <a href="https://doi.org/10.1016/j.jqsrt.2015.05.007" target="_blank">https://doi.org/10.1016/j.jqsrt.2015.05.007</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Emde et al.(2016)Emde, Buras-Schnell, Kylling, Mayer, Gasteiger, Hamann, Kylling, Richter, Pause, Dowling, and Bugliaro</label><mixed-citation>
      
Emde, C., Buras-Schnell, R., Kylling, A., Mayer, B., Gasteiger, J., Hamann, U., Kylling, J., Richter, B., Pause, C., Dowling, T., and Bugliaro, L.:
The libRadtran software package for radiative transfer calculations (version 2.0.1), Geosci. Model Dev., 9, 1647–1672, <a href="https://doi.org/10.5194/gmd-9-1647-2016" target="_blank">https://doi.org/10.5194/gmd-9-1647-2016</a>, 2016. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Fox and Green(2020)</label><mixed-citation>
      
Fox, N. and Green, P.:
Traceable Radiometry Underpinning Terrestrial- and Helio-Studies (TRUTHS): An Element of a Space-Based Climate and Calibration Observatory, Remote Sens.-Basel, 12, 2400, <a href="https://doi.org/10.3390/rs12152400" target="_blank">https://doi.org/10.3390/rs12152400</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Galtier et al.(2013)Galtier, Blanco, Caliot, Coustet, Dauchet, El Hafi, Eymet, Fournier, Gautrais, Khuong, Piaud, and Terrée</label><mixed-citation>
      
Galtier, M., Blanco, S., Caliot, C., Coustet, C., Dauchet, J., El Hafi, M., Eymet, V., Fournier, R., Gautrais, J., Khuong, A., Piaud, B., and Terrée, G.:
Integral formulation of null-collision Monte Carlo algorithms, J. Quant. Spectrosc. Ra., 125, 57–68, <a href="https://doi.org/10.1016/j.jqsrt.2013.04.001" target="_blank">https://doi.org/10.1016/j.jqsrt.2013.04.001</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Gasteiger and Wiegner(2018)</label><mixed-citation>
      
Gasteiger, J. and Wiegner, M.:
MOPSMAP v1.0: a versatile tool for the modeling of aerosol optical properties, Geosci. Model Dev., 11, 2739–2762, <a href="https://doi.org/10.5194/gmd-11-2739-2018" target="_blank">https://doi.org/10.5194/gmd-11-2739-2018</a>, 2018. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Gasteiger et al.(2014)Gasteiger, Emde, Mayer, Buras, Buehler, and Lemke</label><mixed-citation>
      
Gasteiger, J., Emde, C., Mayer, B., Buras, R., Buehler, S., and Lemke, O.:
Representative wavelengths absorption parameterization applied to satellite channels and spectral bands, J. Quant. Spectrosc. Ra., <a href="https://doi.org/10.1016/j.jqsrt.2014.06.024" target="_blank">https://doi.org/10.1016/j.jqsrt.2014.06.024</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Gobron et al.(1997)Gobron, Pinty, Verstraete, and Govaerts</label><mixed-citation>
      
Gobron, N., Pinty, B., Verstraete, M. M., and Govaerts, Y.:
A semidiscrete model for the scattering of light by vegetation, J. Geophys. Res.-Atmos., 102, 9431–9446, <a href="https://doi.org/10.1029/96JD04013" target="_blank">https://doi.org/10.1029/96JD04013</a>, 1997.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Goodenough and Brown(2017)</label><mixed-citation>
      
Goodenough, A. A. and Brown, S. D.:
DIRSIG5: Next-Generation Remote Sensing Data and Image Simulation Framework, IEEE J. Sel. Top. Appl., 10, 4818–4833, <a href="https://doi.org/10.1109/JSTARS.2017.2758964" target="_blank">https://doi.org/10.1109/JSTARS.2017.2758964</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Goody et al.(1989)Goody, West, Chen, and Crisp</label><mixed-citation>
      
Goody, R., West, R., Chen, L., and Crisp, D.:
The correlated-k method for radiation calculations in nonhomogeneous atmospheres, J. Quant. Spectrosc. Ra., 42, 539–550, <a href="https://doi.org/10.1016/0022-4073(89)90044-7" target="_blank">https://doi.org/10.1016/0022-4073(89)90044-7</a>, 1989.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Gordon et al.(2022)Gordon, Rothman, Hargreaves, Hashemi, Karlovets, Skinner, Conway, Hill, Kochanov, Tan, Wcisło, Finenko, Nelson, Bernath, Birk, Boudon, Campargue, Chance, Coustenis, Drouin, Flaud, Gamache, Hodges, Jacquemart, Mlawer, Nikitin, Perevalov, Rotger, Tennyson, Toon, Tran, Tyuterev, Adkins, Baker, Barbe, Canè, Császár, Dudaryonok, Egorov, Fleisher, Fleurbaey, Foltynowicz, Furtenbacher, Harrison, Hartmann, Horneman, Huang, Karman, Karns, Kassi, Kleiner, Kofman, Kwabia-Tchana, Lavrentieva, Lee, Long, Lukashevskaya, Lyulin, Makhnev, Matt, Massie, Melosso, Mikhailenko, Mondelain, Müller, Naumenko, Perrin, Polyansky, Raddaoui, Raston, Reed, Rey, Richard, Tóbiás, Sadiek, Schwenke, Starikova, Sung, Tamassia, Tashkun, Vander Auwera, Vasilenko, Vigasin, Villanueva, Vispoel, Wagner, Yachmenev, and Yurchenko</label><mixed-citation>
      
Gordon, I., Rothman, L., Hargreaves, R., Hashemi, R., Karlovets, E., Skinner, F., Conway, E., Hill, C., Kochanov, R., Tan, Y., Wcisło, P., Finenko, A., Nelson, K., Bernath, P., Birk, M., Boudon, V., Campargue, A., Chance, K., Coustenis, A., Drouin, B., Flaud, J.-M., Gamache, R., Hodges, J., Jacquemart, D., Mlawer, E., Nikitin, A., Perevalov, V., Rotger, M., Tennyson, J., Toon, G., Tran, H., Tyuterev, V., Adkins, E., Baker, A., Barbe, A., Canè, E., Császár, A., Dudaryonok, A., Egorov, O., Fleisher, A., Fleurbaey, H., Foltynowicz, A., Furtenbacher, T., Harrison, J., Hartmann, J.-M., Horneman, V.-M., Huang, X., Karman, T., Karns, J., Kassi, S., Kleiner, I., Kofman, V., Kwabia-Tchana, F., Lavrentieva, N., Lee, T., Long, D., Lukashevskaya, A., Lyulin, O., Makhnev, V., Matt, W., Massie, S., Melosso, M., Mikhailenko, S., Mondelain, D., Müller, H., Naumenko, O., Perrin, A., Polyansky, O., Raddaoui, E., Raston, P., Reed, Z., Rey, M., Richard, C., Tóbiás, R., Sadiek, I., Schwenke, D., Starikova, E., Sung, K., Tamassia, F., Tashkun, S., Vander Auwera, J., Vasilenko, I., Vigasin, A., Villanueva, G., Vispoel, B., Wagner, G., Yachmenev, A., and Yurchenko, S.:
The HITRAN2020 molecular spectroscopic database, J. Quant. Spectrosc. Ra., 277, 107949, <a href="https://doi.org/10.1016/j.jqsrt.2021.107949" target="_blank">https://doi.org/10.1016/j.jqsrt.2021.107949</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Gorshelev et al.(2014)Gorshelev, Serdyuchenko, Weber, Chehade, and Burrows</label><mixed-citation>
      
Gorshelev, V., Serdyuchenko, A., Weber, M., Chehade, W., and Burrows, J. P.:
High spectral resolution ozone absorption cross-sections – Part 1: Measurements, data analysis and comparison with previous measurements around 293&thinsp;K, Atmos. Meas. Tech., 7, 609–624, <a href="https://doi.org/10.5194/amt-7-609-2014" target="_blank">https://doi.org/10.5194/amt-7-609-2014</a>, 2014. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Govaerts(2015)</label><mixed-citation>
      
Govaerts, Y.:
Sand Dune Ridge Alignment Effects on Surface BRF over the Libya-4 CEOS Calibration Site, Sensors-Basel, 15, 3453–3470, <a href="https://doi.org/10.3390/s150203453" target="_blank">https://doi.org/10.3390/s150203453</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Govaerts et al.(2022)Govaerts, Nollet, and Leroy</label><mixed-citation>
      
Govaerts, Y., Nollet, Y., and Leroy, V.:
Radiative Transfer Model Comparison with satellite Observations over CEOS Calibration Site libya-4, Atmosphere-Basel, 13, <a href="https://doi.org/10.3390/atmos13111759" target="_blank">https://doi.org/10.3390/atmos13111759</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Grecco(2022)</label><mixed-citation>
      
Grecco, H.:
hgrecco/pint: 0.19.2, <a href="https://github.com/hgrecco/pint" target="_blank"/> (last access: 18 May 2026), 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Haberreiter et al.(2017)Haberreiter, Schöll, Dudok de Wit, Kretzschmar, Misios, Tourpali, and Schmutz</label><mixed-citation>
      
Haberreiter, M., Schöll, M., Dudok de Wit, T., Kretzschmar, M., Misios, S., Tourpali, K., and Schmutz, W.:
A New Observational Solar Irradiance Composite, J. Geophys. Res.-Space, 122, 5910–5930, <a href="https://doi.org/10.1002/2016JA023492" target="_blank">https://doi.org/10.1002/2016JA023492</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Hansen and Travis(1974)</label><mixed-citation>
      
Hansen, J. E. and Travis, L. D.:
Light Scattering in Planetary Atmospheres, Space Sci. Rev., 16, 527–610, <a href="https://doi.org/10.1007/BF00168069" target="_blank">https://doi.org/10.1007/BF00168069</a>, 1974.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Hapke(1984)</label><mixed-citation>
      
Hapke, B.:
Bidirectional Reflectance Spectroscopy: 3. Correction for Macroscopic Roughness, Icarus, 59, 41–59, 1984.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Hapke(2012)</label><mixed-citation>
      
Hapke, B.:
Theory of Reflectance and Emittance Spectroscopy, Cambridge University Press, ISBN 9781139025683, <a href="https://doi.org/10.1017/CBO9781139025683" target="_blank">https://doi.org/10.1017/CBO9781139025683</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Hapke(1963)</label><mixed-citation>
      
Hapke, B. W.:
A theoretical photometric function for the lunar surface, J. Geophys. Res., 68, 4571–4586, <a href="https://doi.org/10.1029/JZ068i015p04571" target="_blank">https://doi.org/10.1029/JZ068i015p04571</a>, 1963.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Hess et al.(1998)Hess, Koepke, and Schult</label><mixed-citation>
      
Hess, M. W., Koepke, P., and Schult, I.:
Optical Properties of Aerosols and Clouds: The Software Package OPAC, B. Am. Meteorol. Soc., 79, 831–844, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Hogan and Matricardi(2020)</label><mixed-citation>
      
Hogan, R. J. and Matricardi, M.:
Evaluating and improving the treatment of gases in radiation schemes: the Correlated K-Distribution Model Intercomparison Project (CKDMIP), Geosci. Model Dev., 13, 6501–6521, <a href="https://doi.org/10.5194/gmd-13-6501-2020" target="_blank">https://doi.org/10.5194/gmd-13-6501-2020</a>, 2020. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Holben et al.(1998)Holben, Eck, Slutsker, Tanré, Buis, Setzer, Vermote, Reagan, Kaufman, Nakajima, Lavenu, Jankowiak, and Smirnov</label><mixed-citation>
      
Holben, B. N., Eck, T. F., Slutsker, I., Tanré, D., Buis, J. P., Setzer, A., Vermote, E., Reagan, J. A., Kaufman, Y. J., Nakajima, T., Lavenu, F., Jankowiak, I., and Smirnov, A.:
AERONET – A Federated Instrument Network and Data Archive for Aerosol Characterization, Remote Sens. Environ., 66, 1–16, <a href="https://doi.org/10.1016/S0034-4257(98)00031-5" target="_blank">https://doi.org/10.1016/S0034-4257(98)00031-5</a>, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Hoyer and Hamman(2017)</label><mixed-citation>
      
Hoyer, S. and Hamman, J.:
xarray: N-D labeled arrays and datasets in Python, Journal of Open Research Software, 5, <a href="https://doi.org/10.5334/jors.148" target="_blank">https://doi.org/10.5334/jors.148</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Inness et al.(2019)Inness, Ades, Agustí-Panareda, Barré, Benedictow, Blechschmidt, Dominguez, Engelen, Eskes, Flemming, Huijnen, Jones, Kipling, Massart, Parrington, Peuch, Razinger, Remy, Schulz, and Suttie</label><mixed-citation>
      
Inness, A., Ades, M., Agustí-Panareda, A., Barré, J., Benedictow, A., Blechschmidt, A.-M., Dominguez, J. J., Engelen, R., Eskes, H., Flemming, J., Huijnen, V., Jones, L., Kipling, Z., Massart, S., Parrington, M., Peuch, V.-H., Razinger, M., Remy, S., Schulz, M., and Suttie, M.:
The CAMS reanalysis of atmospheric composition, Atmos. Chem. Phys., 19, 3515–3556, <a href="https://doi.org/10.5194/acp-19-3515-2019" target="_blank">https://doi.org/10.5194/acp-19-3515-2019</a>, 2019. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Jakob(2010)</label><mixed-citation>
      
Jakob, W.:
Mitsuba renderer, <a href="https://mitsuba-renderer.org/index_old.html" target="_blank"/> (last access: 18 May 2026), 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Jakob et al.(2022a)Jakob, Speierer, Roussel, Nimier-David, Vicini, Zeltner, Nicolet, Crespo, Leroy, and Zhang</label><mixed-citation>
      
Jakob, W., Speierer, S., Roussel, N., Nimier-David, M., Vicini, D., Zeltner, T., Nicolet, B., Crespo, M., Leroy, V., and Zhang, Z.:
Mitsuba 3 renderer, <a href="https://mitsuba-renderer.org" target="_blank"/> (last access: 18 May 2026), 2022a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Jakob et al.(2022b)Jakob, Speierer, Roussel, and Vicini</label><mixed-citation>
      
Jakob, W., Speierer, S., Roussel, N., and Vicini, D.:
Dr.Jit: A Just-In-Time Compiler for Differentiable Rendering, Transactions on Graphics (Proceedings of SIGGRAPH), 41, <a href="https://doi.org/10.1145/3528223.3530099" target="_blank">https://doi.org/10.1145/3528223.3530099</a>, 2022b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Joint Research Centre(2025)</label><mixed-citation>
      
Joint Research Centre:
The new RAMI4ATM, <a href="https://rami-benchmark.jrc.ec.europa.eu/_www/phase_descr.php?strPhase=RAMI4ATM" target="_blank"/>, last access: 25 August 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Kajiya(1986)</label><mixed-citation>
      
Kajiya, J. T.:
The Rendering Equation, in: ACM SIGGRAPH Computer Graphics, vol. 20, ACM, 143–150, <a href="https://doi.org/10.1145/15886.15902" target="_blank">https://doi.org/10.1145/15886.15902</a>, 1986.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Kluyver et al.(2016)Kluyver, Ragan-Kelley, Pérez, Granger, Bussonnier, Frederic, Kelley, Hamrick, Grout, Corlay, Ivanov, Avila, Abdalla, Willing, and development team</label><mixed-citation>
      
Kluyver, T., Ragan-Kelley, B., Pérez, F., Granger, B., Bussonnier, M., Frederic, J., Kelley, K., Hamrick, J., Grout, J., Corlay, S., Ivanov, P., Avila, D., Abdalla, S., Willing, C., and Jupyter development team:
Jupyter Notebooks – a publishing format for reproducible computational workflows, in: Positioning and Power in Academic Publishing: Players, Agents and Agendas, edited by: Loizides, F. and Scmidt, B., IOS Press, the Netherlands, 87–90, <a href="https://doi.org/10.3233/978-1-61499-649-1-87" target="_blank">https://doi.org/10.3233/978-1-61499-649-1-87</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Korkin et al.(2022)Korkin, Yang, Spurr, Emde, Zhai, Krotkov, Vasilkov, and Lyapustin</label><mixed-citation>
      
Korkin, S., Yang, E.-S., Spurr, R., Emde, C., Zhai, P., Krotkov, N., Vasilkov, A., and Lyapustin, A.:
Numerical results for polarized light scattering in a spherical atmosphere, J. Quant. Spectrosc. Ra., 287, 108194, <a href="https://doi.org/10.1016/j.jqsrt.2022.108194" target="_blank">https://doi.org/10.1016/j.jqsrt.2022.108194</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>Kotchenova et al.(2006)Kotchenova, Vermote, Matarrese, and Klemm</label><mixed-citation>
      
Kotchenova, S. Y., Vermote, E. F., Matarrese, R., and Klemm Jr., F. J.:
Validation of a vector version of the 6S radiative transfer code for atmospheric correction of satellite data. Part I: Path radiance, Appl. Optics, 45, 6762, <a href="https://doi.org/10.1364/AO.45.006762" target="_blank">https://doi.org/10.1364/AO.45.006762</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>Krekel et al.(2004)Krekel, Oliveira, Pfannschmidt, Bruynooghe, Laugher, and Bruhin</label><mixed-citation>
      
Krekel, H., Oliveira, B., Pfannschmidt, R., Bruynooghe, F., Laugher, B., and Bruhin, F.:
pytest, <a href="https://github.com/pytest-dev/pytest" target="_blank"/> (last access: 18 May 2026), 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>Lacis and Oinas(1991)</label><mixed-citation>
      
Lacis, A. A. and Oinas, V.:
A description of the correlated <i>k</i> distribution method for modeling nongray gaseous absorption, thermal emission, and multiple scattering in vertically inhomogeneous atmospheres, J. Geophys. Res., 96, 9027, <a href="https://doi.org/10.1029/90JD01945" target="_blank">https://doi.org/10.1029/90JD01945</a>, 1991.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>Lanconelli et al.(2025)Lanconelli, Gobron, Robustelli, Adams, Calders, Disney, Gastellu-Etchegorry, Goodenough, Govaerts, Hogan, Huang, Kobayashi, Kuusk, Leroy, Origo, Qi, Schunke, Leeuwen, Wang, Xie, Zeng, and Zhao</label><mixed-citation>
      
Lanconelli, C., Gobron, N., Robustelli, M., Adams, J. S., Calders, K., Disney, M., Gastellu-Etchegorry, J.-P., Goodenough, A., Govaerts, Y., Hogan, R. J., Huang, H., Kobayashi, H., Kuusk, A., Leroy, V., Origo, N., Qi, J., Schunke, S., Leeuwen, M., Wang, Y., Xie, D., Zeng, Y., and Zhao, F.:
The Fifth Phase of the Radiation Transfer Model Intercomparison Exercise (RAMI-V): Experiment Description and Results on Actual Canopy Scenarios, Journal of Remote Sensing, 5, 0663, <a href="https://doi.org/10.34133/remotesensing.0663" target="_blank">https://doi.org/10.34133/remotesensing.0663</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>Leroy(2026)</label><mixed-citation>
      
Leroy, V.: rayference/paper-eradiate-v100: Paper release, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.20274685" target="_blank">https://doi.org/10.5281/zenodo.20274685</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>Leroy et al.(2025a)Leroy, Aschan, Woolliams, Schunke, Manoocheri, and Govaerts</label><mixed-citation>
      
Leroy, V., Aschan, R., Woolliams, P., Schunke, S., Manoocheri, F., and Govaerts, Y.:
An SI-Traceable Protocol for the Validation of Radiative Transfer Model-Based Reflectance Simulation, IEEE T. Geosci. Remote, 63, 1–22, <a href="https://doi.org/10.1109/TGRS.2025.3547305" target="_blank">https://doi.org/10.1109/TGRS.2025.3547305</a>, 2025a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>Leroy et al.(2025b)Leroy, Nollet, Schunke, Misk, Marton, Emde, and Govaerts</label><mixed-citation>
      
Leroy, V., Nollet, Y., Schunke, S., Misk, N., Marton, N., Emde, C., and Govaerts, Y.:
Eradiate radiative transfer model, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.17226380" target="_blank">https://doi.org/10.5281/zenodo.17226380</a>, 2025b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib59"><label>Lewis(1999)</label><mixed-citation>
      
Lewis, P.:
Three-dimensional plant modelling for remote sensing simulation studies using the Botanical Plant Modelling System, Agronomie, 19, 185–210, <a href="https://doi.org/10.1051/agro:19990302" target="_blank">https://doi.org/10.1051/agro:19990302</a>, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib60"><label>Litvinov et al.(2024)Litvinov, Chen, Dubovik, Bindreiter, Matar, Fuertes, Lopatin, Lapyonok, Lanzinger, Hangler, Aspetsberger, de Graaf, Tilstra, Stammes, Dandocsi, Gasbarra, Fluck, Zehner, and Retscher</label><mixed-citation>
      
Litvinov, P., Chen, C., Dubovik, O., Bindreiter, L., Matar, C., Fuertes, D., Lopatin, A., Lapyonok, T., Lanzinger, V., Hangler, A., Aspetsberger, M., de Graaf, M., Tilstra, L. G., Stammes, P., Dandocsi, A., Gasbarra, D., Fluck, E., Zehner, C., and Retscher, C.:
Extended aerosol and surface characterization from S5P/TROPOMI with GRASP algorithm. Part I: Conditions, approaches, performance and new possibilities, Remote Sens. Environ., 313, 114355, <a href="https://doi.org/10.1016/j.rse.2024.114355" target="_blank">https://doi.org/10.1016/j.rse.2024.114355</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib61"><label>Lucht et al.(2000)Lucht, Schaaf, and Strahler</label><mixed-citation>
      
Lucht, W., Schaaf, C., and Strahler, A.:
An algorithm for the retrieval of albedo from space using semiempirical BRDF models, IEEE T. Geosci. Remote, 38, 977–998, <a href="https://doi.org/10.1109/36.841980" target="_blank">https://doi.org/10.1109/36.841980</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib62"><label>Luffarelli et al.(2025)Luffarelli, Misk, Leroy, and Govaerts</label><mixed-citation>
      
Luffarelli, M., Misk, N., Leroy, V., and Govaerts, Y.:
Elaboration of Simulated Hyperspectral Calibration Reference over Pseudo-Invariant Calibration Reference, Atmosphere-Basel, 16, 583, <a href="https://doi.org/10.3390/atmos16050583" target="_blank">https://doi.org/10.3390/atmos16050583</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib63"><label>Mayer(2009)</label><mixed-citation>
      
Mayer, B.:
Radiative Transfer in the Cloudy Atmosphere, in: European Physical Journal Conferences, vol. 1, EDP Sciences, 75–99, <a href="https://doi.org/10.1140/epjconf/e2009-00912-1" target="_blank">https://doi.org/10.1140/epjconf/e2009-00912-1</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib64"><label>Mayer and Kylling(2005)</label><mixed-citation>
      
Mayer, B. and Kylling, A.:
Technical note: The libRadtran software package for radiative transfer calculations – description and examples of use, Atmos. Chem. Phys., 5, 1855–1877, <a href="https://doi.org/10.5194/acp-5-1855-2005" target="_blank">https://doi.org/10.5194/acp-5-1855-2005</a>, 2005. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib65"><label>Meftah et al.(2018)Meftah, Damé, Bolsée, Hauchecorne, Pereira, Sluse, Cessateur, Irbah, Bureau, Weber, Bramstedt, Hilbig, Thiéblemont, Marchand, Lefèvre, Sarkissian, and Bekki</label><mixed-citation>
      
Meftah, M., Damé, L., Bolsée, D., Hauchecorne, A., Pereira, N., Sluse, D., Cessateur, G., Irbah, A., Bureau, J., Weber, M., Bramstedt, K., Hilbig, T., Thiéblemont, R., Marchand, M., Lefèvre, F., Sarkissian, A., and Bekki, S.:
SOLAR-ISS: A New Reference Spectrum Based on SOLAR/SOLSPEC Observations, Astron. Astrophys., 611, A1, <a href="https://doi.org/10.1051/0004-6361/201731316" target="_blank">https://doi.org/10.1051/0004-6361/201731316</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib66"><label>Mei et al.(2022)Mei, Rozanov, Jiao, and Burrows</label><mixed-citation>
      
Mei, L., Rozanov, V., Jiao, Z., and Burrows, J. P.:
A new snow bidirectional reflectance distribution function model in spectral regions from UV to SWIR: Model development and application to ground-based, aircraft and satellite observations, ISPRS J. Photogramm., 188, 269–285, <a href="https://doi.org/10.1016/j.isprsjprs.2022.04.010" target="_blank">https://doi.org/10.1016/j.isprsjprs.2022.04.010</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib67"><label>Miller et al.(2019)Miller, Georgiev, and Jarosz</label><mixed-citation>
      
Miller, B., Georgiev, I., and Jarosz, W.:
A null-scattering path integral formulation of light transport, ACM T. Graphic., 38, 1–13, <a href="https://doi.org/10.1145/3306346.3323025" target="_blank">https://doi.org/10.1145/3306346.3323025</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib68"><label>Minnaert(1941)</label><mixed-citation>
      
Minnaert, M.:
The Reciprocity Principle in Lunar Photometry, Astrophys. J., 403–410, <a href="https://doi.org/10.1086/144279" target="_blank">https://doi.org/10.1086/144279</a>, 1941.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib69"><label>Mishchenko and Travis(1997)</label><mixed-citation>
      
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.-Atmos., 102, 16989–17013, <a href="https://doi.org/10.1029/96JD02425" target="_blank">https://doi.org/10.1029/96JD02425</a>, 1997.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib70"><label>Mishchenko et al.(1994)Mishchenko, Lacis, and Travis</label><mixed-citation>
      
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, <a href="https://doi.org/10.1016/0022-4073(94)90149-X" target="_blank">https://doi.org/10.1016/0022-4073(94)90149-X</a>, 1994.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib71"><label>Museth(2013)</label><mixed-citation>
      
Museth, K.:
VDB, ACM T. Graphic., 32, 1–22, <a href="https://doi.org/10.1145/2487228.2487235" target="_blank">https://doi.org/10.1145/2487228.2487235</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib72"><label>Museth(2021)</label><mixed-citation>
      
Museth, K.:
NanoVDB: A GPU-Friendly and Portable VDB Data Structure For Real-Time Rendering And Simulation, in: ACM SIGGRAPH 2021 Talks, ACM, 1–2, <a href="https://doi.org/10.1145/3450623.3464653" target="_blank">https://doi.org/10.1145/3450623.3464653</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib73"><label>Nicodemus et al.(1977)Nicodemus, Richmond, Hsia, Ginsberg, and Limperis</label><mixed-citation>
      
Nicodemus, F. E., Richmond, J. C., Hsia, J. J., Ginsberg, I. W., and Limperis, T.:
Geometrical Considerations and Nomenclature for Reflectance, vol. 160, US Department of Commerce, National Bureau of Standards, <a href="https://doi.org/10.6028/NBS.MONO.160" target="_blank">https://doi.org/10.6028/NBS.MONO.160</a>, 1977.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib74"><label>Nimier-David et al.(2019)Nimier-David, Vicini, Zeltner, and Jakob</label><mixed-citation>
      
Nimier-David, M., Vicini, D., Zeltner, T., and Jakob, W.:
Mitsuba 2, ACM T. Graphic., 38, 1–17, <a href="https://doi.org/10.1145/3355089.3356498" target="_blank">https://doi.org/10.1145/3355089.3356498</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib75"><label>Nollet and Leroy(2024)</label><mixed-citation>
      
Nollet, Y. and Leroy, V.:
Joseki, <a href="https://github.com/rayference/joseki" target="_blank"/> (last access: 18 May 2026), 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib76"><label>Novák et al.(2018)Novák, Georgiev, Hanika, and Jarosz</label><mixed-citation>
      
Novák, J., Georgiev, I., Hanika, J., and Jarosz, W.:
Monte Carlo Methods for Volumetric Light Transport Simulation, Comput. Graph. Forum, 37, 551–576, <a href="https://doi.org/10.1111/cgf.13383" target="_blank">https://doi.org/10.1111/cgf.13383</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib77"><label>Pannier and Laux(2019)</label><mixed-citation>
      
Pannier, E. and Laux, C. O.:
RADIS: A nonequilibrium line-by-line radiative code for CO<sub>2</sub> and HITRAN-like database species, J. Quant. Spectrosc. Ra., 222–223, 12–25, <a href="https://doi.org/10.1016/j.jqsrt.2018.09.027" target="_blank">https://doi.org/10.1016/j.jqsrt.2018.09.027</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib78"><label>Pharr et al.(2023)Pharr, Jakob, and Humphreys</label><mixed-citation>
      
Pharr, M., Jakob, W., and Humphreys, G.:
Physically Based Rendering: From Theory to Implementation, 4th edn., MIT Press, <a href="https://pbr-book.org/" target="_blank"/> (last access: 18 May 2026), 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib79"><label>Pinty et al.(2000)Pinty, Roveda, Verstraete, Gobron, Govaerts, Martonchik, Diner, and Kahn</label><mixed-citation>
      
Pinty, B., Roveda, F., Verstraete, M. M., Gobron, N., Govaerts, Y., Martonchik, J. V., Diner, D. J., and Kahn, R. A.:
Surface albedo retrieval from Meteosat: 1. Theory, J. Geophys. Res.-Atmos., 105, 18099–18112, <a href="https://doi.org/10.1029/2000JD900113" target="_blank">https://doi.org/10.1029/2000JD900113</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib80"><label>Pinty et al.(2001)Pinty, Gobron, Widlowski, Gerstl, Verstraete, Antunes, Bacour, Gascon, Gastellu, Goel, Jacquemoud, North, Qin, and Thompson</label><mixed-citation>
      
Pinty, B., Gobron, N., Widlowski, J.-L., Gerstl, S. A. W., Verstraete, M. M., Antunes, M., Bacour, C., Gascon, F., Gastellu, J.-P., Goel, N., Jacquemoud, S., North, P., Qin, W., and Thompson, R.:
Radiation transfer model intercomparison (RAMI) exercise, J. Geophys. Res.-Atmos., 106, 11937–11956, <a href="https://doi.org/10.1029/2000JD900493" target="_blank">https://doi.org/10.1029/2000JD900493</a>, 2001.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib81"><label>Pinty et al.(2004)Pinty, Widlowski, Taberner, Gobron, Verstraete, Disney, Gascon, Gastellu, Jiang, Kuusk, Lewis, Li, Ni-Meister, Nilson, North, Qin, Su, Tang, Thompson, Verhoef, Wang, Wang, Yan, and Zang</label><mixed-citation>
      
Pinty, B., Widlowski, J.-L., Taberner, M., Gobron, N., Verstraete, M. M., Disney, M., Gascon, F., Gastellu, J.-P., Jiang, L., Kuusk, A., Lewis, P., Li, X., Ni-Meister, W., Nilson, T., North, P., Qin, W., Su, L., Tang, S., Thompson, R., Verhoef, W., Wang, H., Wang, J., Yan, G., and Zang, H.:
Radiation Transfer Model Intercomparison (RAMI) exercise: Results from the second phase, J. Geophys. Res.-Atmos., 109, <a href="https://doi.org/10.1029/2003JD004252" target="_blank">https://doi.org/10.1029/2003JD004252</a>, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib82"><label>Qi et al.(2019)Qi, Xie, Yin, Yan, Gastellu-Etchegorry, Li, Zhang, Mu, and Norford</label><mixed-citation>
      
Qi, J., Xie, D., Yin, T., Yan, G., Gastellu-Etchegorry, J.-P., Li, L., Zhang, W., Mu, X., and Norford, L. K.:
LESS: LargE-Scale remote sensing data and image simulation framework over heterogeneous 3D scenes, Remote Sens. Environ., 221, 695–706, <a href="https://doi.org/10.1016/j.rse.2018.11.036" target="_blank">https://doi.org/10.1016/j.rse.2018.11.036</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib83"><label>Rahman et al.(1993)Rahman, Pinty, and Verstraete</label><mixed-citation>
      
Rahman, H., Pinty, B., and Verstraete, M. M.:
Coupled surface-atmosphere reflectance (CSAR) model: 2. Semiempirical surface model usable with NOAA advanced very high resolution radiometer data, J. Geophys. Res., 98, 20791, <a href="https://doi.org/10.1029/93JD02072" target="_blank">https://doi.org/10.1029/93JD02072</a>, 1993.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib84"><label>Ramon et al.(2019)Ramon, Steinmetz, Jolivet, Compiègne, and Frouin</label><mixed-citation>
      
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–223, 89–107, <a href="https://doi.org/10.1016/j.jqsrt.2018.10.017" target="_blank">https://doi.org/10.1016/j.jqsrt.2018.10.017</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib85"><label>Roccetti et al.(2024)Roccetti, Bugliaro, Gödde, Emde, Hamann, Manev, Sterzik, and Wehrum</label><mixed-citation>
      
Roccetti, G., Bugliaro, L., Gödde, F., Emde, C., Hamann, U., Manev, M., Sterzik, M. F., and Wehrum, C.:
HAMSTER: Hyperspectral Albedo Maps dataset with high Spatial and TEmporal Resolution, Atmos. Meas. Tech., 17, 6025–6046, <a href="https://doi.org/10.5194/amt-17-6025-2024" target="_blank">https://doi.org/10.5194/amt-17-6025-2024</a>, 2024. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib86"><label>Rozanov et al.(2014)Rozanov, Rozanov, Kokhanovsky, and Burrows</label><mixed-citation>
      
Rozanov, V., Rozanov, A., Kokhanovsky, A., and Burrows, J.:
Radiative transfer through terrestrial atmosphere and ocean: Software package SCIATRAN, J. Quant. Spectrosc. Ra., 133, 13–71, <a href="https://doi.org/10.1016/j.jqsrt.2013.07.004" target="_blank">https://doi.org/10.1016/j.jqsrt.2013.07.004</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib87"><label>Salehi et al.(2022)Salehi, Thome, Wenny, Lockwood, and Wang</label><mixed-citation>
      
Salehi, F., Thome, K., Wenny, B. N., Lockwood, R., and Wang, Z.:
Band-Averaged Response Sensitivity Study of an Imaging Spectrometer for the CLARREO Pathfinder Mission, Remote Sens.-Basel, 14, 2302, <a href="https://doi.org/10.3390/rs14102302" target="_blank">https://doi.org/10.3390/rs14102302</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib88"><label>Salesin et al.(2024)Salesin, Knobelspiesse, Chowdhary, Zhai, and Jarosz</label><mixed-citation>
      
Salesin, K., Knobelspiesse, K. D., Chowdhary, J., Zhai, P.-W., and Jarosz, W.:
Unifying Radiative Transfer Models in Computer Graphics and Remote Sensing, Part I: A Survey, J. Quant. Spectrosc. Ra., 314, 108847, <a href="https://doi.org/10.1016/j.jqsrt.2023.108847" target="_blank">https://doi.org/10.1016/j.jqsrt.2023.108847</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib89"><label>Schlawack(2024)</label><mixed-citation>
      
Schlawack, H.:
attrs, <a href="https://github.com/python-attrs/attrs" target="_blank"/> (last access: 18 May 2026), 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib90"><label>Schunke et al.(2023)Schunke, Leroy, and Govaerts</label><mixed-citation>
      
Schunke, S., Leroy, V., and Govaerts, Y.:
Retrieving BRDFs from UAV-based Radiometers for Fiducial Reference Measurements: Caveats and Recommendations, Frontiers in Remote Sensing, 4, <a href="https://doi.org/10.3389/frsen.2023.1285800" target="_blank">https://doi.org/10.3389/frsen.2023.1285800</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib91"><label>Serdyuchenko et al.(2014)Serdyuchenko, Gorshelev, Weber, Chehade, and Burrows</label><mixed-citation>
      
Serdyuchenko, A., Gorshelev, V., Weber, M., Chehade, W., and Burrows, J. P.:
High spectral resolution ozone absorption cross-sections – Part 2: Temperature dependence, Atmos. Meas. Tech., 7, 625–636, <a href="https://doi.org/10.5194/amt-7-625-2014" target="_blank">https://doi.org/10.5194/amt-7-625-2014</a>, 2014. 
    </mixed-citation></ref-html>
<ref-html id="bib1.bib92"><label>Shettle(1986)</label><mixed-citation>
      
Shettle, E. P.:
Optical and radiative properties of a desert aerosol model, Tech. Rep. AFGL-TR-86-0003, Air Force Geophysics Lab Hanscom AFB MA, <a href="https://apps.dtic.mil/sti/html/tr/ADA163181/" target="_blank"/> (last access 18 May 2026), 1986.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib93"><label>Somers et al.(2009)Somers, Delalieux, Verstraeten, and Coppin</label><mixed-citation>
      
Somers, B., Delalieux, S., Verstraeten, W. W., and Coppin, P.:
A Conceptual Framework for the Simultaneous Extraction of Sub-Pixel Spatial Extent and Spectral Characteristics of Crops, Photogramm. Eng. Rem. S., 75, 57–68, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib94"><label>Stamnes et al.(2000)Stamnes, Tsay, Wiscombe, and Laszlo</label><mixed-citation>
      
Stamnes, K., Tsay, S.-C., Wiscombe, W., and Laszlo, I.:
DISORT, a general-purpose Fortran program for discrete-ordinate-method radiative transfer in scattering and emitting layered media: documentation of methodology, <a href="http://www.rtatmocn.com/disort/docs/DISORTReport1.1.pdf" target="_blank"/> (last access: 18 May 2026), 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib95"><label>Strahler et al.(1999)Strahler, Muller, Lucht, Barker Schaaf, Trevor, Gao, Li, Muller, Lewis, and Barnsley</label><mixed-citation>
      
Strahler, A. H., Muller, J.-P., Lucht, W., Barker Schaaf, C., Trevor, T., Gao, F., Li, X., Muller, J.-P., Lewis, P., and Barnsley, M. J.:
MODIS BRDF/Albedo Product: Algorithm Theoretical Basis Document Version 5.0, <a href="https://modis.gsfc.nasa.gov/data/atbd/atbd_mod09.pdf" target="_blank"/> (last access: 18 May 2026), 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib96"><label>Strobl(2020)</label><mixed-citation>
      
Strobl, P.:
The new Copernicus digital elevation model, in: GSICS Quarterly, vol. 14, edited by: Szantoi, Z., Boccia, V., and Quang, C., <a href="https://doi.org/10.25923/enp8-6w06" target="_blank">https://doi.org/10.25923/enp8-6w06</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib97"><label>Stuckens et al.(2009)Stuckens, Somers, Delalieux, Verstraeten, and Coppin</label><mixed-citation>
      
Stuckens, J., Somers, B., Delalieux, S., Verstraeten, W. W., and Coppin, P.:
The Impact of Common Assumptions on Canopy Radiative Transfer Simulations: A Case Study in Citrus Orchards, J. Quant. Spectrosc. Ra., 110, 1–21, <a href="https://doi.org/10.1016/j.jqsrt.2008.09.001" target="_blank">https://doi.org/10.1016/j.jqsrt.2008.09.001</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib98"><label>Thuillier et al.(2003)Thuillier, Hersé, Labs, Foujols, Peetermans, Gillotay, Simon, and Mandel</label><mixed-citation>
      
Thuillier, G., Hersé, M., Labs, D., Foujols, T., Peetermans, W., Gillotay, D., Simon, P., and Mandel, H.:
The Solar Spectral Irradiance from 200 to 2400&thinsp;Nm as Measured by the SOLSPEC Spectrometer from the Atlas and Eureca Missions, Sol. Phys., 214, 1–22, <a href="https://doi.org/10.1023/A:1024048429145" target="_blank">https://doi.org/10.1023/A:1024048429145</a>, 2003.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib99"><label>Tong et al.(2021)Tong, Bao, Zhao, Fan, Li, and Huang</label><mixed-citation>
      
Tong, C., Bao, Y., Zhao, F., Fan, C., Li, Z., and Huang, Q.:
Evaluation of the FluorWPS Model and Study of the Parameter Sensitivity for Simulating Solar-Induced Chlorophyll Fluorescence, Remote Sens.-Basel, 13, 1091, <a href="https://doi.org/10.3390/rs13061091" target="_blank">https://doi.org/10.3390/rs13061091</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib100"><label>Veach(1997)</label><mixed-citation>
      
Veach, E.:
Robust Monte Carlo Methods For Light Transport Simulation, PhD thesis, Stanford University, Stanford, California, ISBN 978-0-591-90780-3, 1997.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib101"><label>Villefranque et al.(2019)Villefranque, Fournier, Couvreux, Blanco, Cornet, Eymet, Forest, and Tregan</label><mixed-citation>
      
Villefranque, N., Fournier, R., Couvreux, F., Blanco, S., Cornet, C., Eymet, V., Forest, V., and Tregan, J.-M.:
A Path Tracing Monte Carlo Library for 3D Radiative Transfer in Highly Resolved Cloudy Atmospheres, J. Adv. Model. Earth Sy., 11, 2449–2473, <a href="https://doi.org/10.1029/2018MS001602" target="_blank">https://doi.org/10.1029/2018MS001602</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib102"><label>Wang et al.(2022)Wang, Kallel, Yang, Regaieg, Lauret, Guilleux, Chavanon, and Gastellu-Etchegorry</label><mixed-citation>
      
Wang, Y., Kallel, A., Yang, X., Regaieg, O., Lauret, N., Guilleux, J., Chavanon, E., and Gastellu-Etchegorry, J.-P.:
DART-Lux: An unbiased and rapid Monte Carlo radiative transfer method for simulating remote sensing images, Remote Sens. Environ., 274, 112973, <a href="https://doi.org/10.1016/j.rse.2022.112973" target="_blank">https://doi.org/10.1016/j.rse.2022.112973</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib103"><label>Widlowski et al.(2007)Widlowski, Taberner, Pinty, Bruniquel-Pinel, Disney, Fernandes, Gastellu-Etchegorry, Gobron, Kuusk, Lavergne, Leblanc, Lewis, Martin, Mõttus, North, Qin, Robustelli, Rochdi, Ruiloba, Soler, Thompson, Verhoef, Verstraete, and Xie</label><mixed-citation>
      
Widlowski, J.-L., Taberner, M., Pinty, B., Bruniquel-Pinel, V., Disney, M., Fernandes, R., Gastellu-Etchegorry, J.-P., Gobron, N., Kuusk, A., Lavergne, T., Leblanc, S., Lewis, P. E., Martin, E., Mõttus, M., North, P. R. J., Qin, W., Robustelli, M., Rochdi, N., Ruiloba, R., Soler, C., Thompson, R., Verhoef, W., Verstraete, M. M., and Xie, D.:
Third Radiation Transfer Model Intercomparison (RAMI) exercise: Documenting progress in canopy reflectance models, J. Geophys. Res., 112, <a href="https://doi.org/10.1029/2006JD007821" target="_blank">https://doi.org/10.1029/2006JD007821</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib104"><label>Widlowski et al.(2008)Widlowski, Robustelli, Disney, Gastellu-Etchegorry, Lavergne, Lewis, North, Pinty, Thompson, and Verstraete</label><mixed-citation>
      
Widlowski, J.-L., Robustelli, M., Disney, M., Gastellu-Etchegorry, J.-P., Lavergne, T., Lewis, P., North, P., Pinty, B., Thompson, R., and Verstraete, M.:
The RAMI On-line Model Checker (ROMC): A web-based benchmarking facility for canopy reflectance models, Remote Sens. Environ., 112, 1144–1150, <a href="https://doi.org/10.1016/j.rse.2007.07.016" target="_blank">https://doi.org/10.1016/j.rse.2007.07.016</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib105"><label>Widlowski et al.(2015)Widlowski, Mio, Disney, Adams, Andredakis, Atzberger, Brennan, Busetto, Chelle, Ceccherini, Colombo, Côté, Eenmäe, Essery, Gastellu-Etchegorry, Gobron, Grau, Haverd, Homolová, Huang, Hunt, Kobayashi, Koetz, Kuusk, Kuusk, Lang, Lewis, Lovell, Malenovský, Meroni, Morsdorf, Mõttus, Ni-Meister, Pinty, Rautiainen, Schlerf, Somers, Stuckens, Verstraete, Yang, Zhao, and Zenone</label><mixed-citation>
      
Widlowski, J.-L., Mio, C., Disney, M., Adams, J., Andredakis, I., Atzberger, C., Brennan, J., Busetto, L., Chelle, M., Ceccherini, G., Colombo, R., Côté, J.-F., Eenmäe, A., Essery, R., Gastellu-Etchegorry, J.-P., Gobron, N., Grau, E., Haverd, V., Homolová, L., Huang, H., Hunt, L., Kobayashi, H., Koetz, B., Kuusk, A., Kuusk, J., Lang, M., Lewis, P. E., Lovell, J. L., Malenovský, Z., Meroni, M., Morsdorf, F., Mõttus, M., Ni-Meister, W., Pinty, B., Rautiainen, M., Schlerf, M., Somers, B., Stuckens, J., Verstraete, M. M., Yang, W., Zhao, F., and Zenone, T.:
The fourth phase of the radiative transfer model intercomparison (RAMI) exercise: Actual canopy scenarios and conformity testing, Remote Sens. Environ., 169, 418–437, <a href="https://doi.org/10.1016/j.rse.2015.08.016" target="_blank">https://doi.org/10.1016/j.rse.2015.08.016</a>, 2015.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib106"><label>Wilkie et al.(2021)Wilkie, Vevoda, Bashford-Rogers, Hošek, Iser, Kolářová, Rittig, and Křivánek</label><mixed-citation>
      
Wilkie, A., Vevoda, P., Bashford-Rogers, T., Hošek, L., Iser, T., Kolářová, M., Rittig, T., and Křivánek, J.:
A fitted radiance and attenuation model for realistic atmospheres, ACM T. Graphic., 40, 1–14, <a href="https://doi.org/10.1145/3450626.3459758" target="_blank">https://doi.org/10.1145/3450626.3459758</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib107"><label>Wilson(2013)</label><mixed-citation>
      
Wilson, R. T.:
Py6S: A Python interface to the 6S radiative transfer model, Comput. Geosci., 51, 166–171, <a href="https://doi.org/10.1016/j.cageo.2012.08.002" target="_blank">https://doi.org/10.1016/j.cageo.2012.08.002</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib108"><label>Woods et al.(2009)Woods, Chamberlin, Harder, Hock, Snow, Eparvier, Fontenla, McClintock, and Richard</label><mixed-citation>
      
Woods, T. N., Chamberlin, P. C., Harder, J. W., Hock, R. A., Snow, M., Eparvier, F. G., Fontenla, J., McClintock, W. E., and Richard, E. C.:
Solar Irradiance Reference Spectra (SIRS) for the 2008 Whole Heliosphere Interval (WHI), Geophys. Res. Lett., 36, <a href="https://doi.org/10.1029/2008GL036373" target="_blank">https://doi.org/10.1029/2008GL036373</a>, 2009.

    </mixed-citation></ref-html>--></article>
